/* Applied Cybersecurity Library — v5.0 design system module. */
/* This file is generated from the validated v4.x styles to preserve visual behavior while reducing stylesheet requests. */

/* Source preserved: style.css */
:root{--bg:#050910;--panel:#091722;--cyan:#38d6ff;--gold:#e7bd6e;--ink:#eef5fa;--muted:#9bb1bc;--line:rgba(143,194,216,.19)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Space Grotesk",sans-serif}.grid-ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(56,214,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(56,214,255,.03) 1px,transparent 1px);background-size:68px 68px;mask-image:linear-gradient(#000,transparent 88%)}a{color:inherit}.topbar{max-width:1420px;margin:auto;padding:23px 42px;display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;letter-spacing:.12em}.brand strong{display:block;font-size:11px}.brand em{display:block;color:#83a1b2;font-family:"IBM Plex Mono",monospace;font-size:8px;font-style:normal}.brand-mark{width:35px;height:35px;position:relative;display:inline-block;transform:rotate(30deg)}.brand-mark:before,.brand-mark:after,.brand-mark i{position:absolute;content:"";border:1px solid var(--cyan)}.brand-mark:before{inset:5px}.brand-mark:after{inset:10px;border-color:var(--gold)}.brand-mark i:nth-child(1){top:0;bottom:0;left:17px}.brand-mark i:nth-child(2){top:17px;left:0;right:0}.brand-mark i:nth-child(3){inset:2px;border-color:rgba(56,214,255,.35)}nav{margin-left:auto;display:flex;gap:27px}nav a{color:#9fb2bd;font-size:12px;text-decoration:none}nav a:hover{color:var(--cyan)}.language-menu{padding:4px;display:flex;align-items:center;gap:3px;border:1px solid var(--line);background:#07111a}.language-menu span{margin:0 5px;color:#6f8e9f}.language-menu button{width:27px;height:26px;color:#89a2af;border:0;background:transparent;font:9px "IBM Plex Mono",monospace;cursor:pointer}.language-menu button.is-active{color:#051017;background:var(--cyan)}.hero,.editorial-lines,.catalogue,.distribution,footer{max-width:1420px;margin:auto;padding-left:42px;padding-right:42px}.hero{min-height:655px;padding-top:94px;padding-bottom:75px;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:24px}.eyebrow{margin:0 0 19px;color:#86a3b3;font:10px "IBM Plex Mono",monospace;letter-spacing:.16em}.eyebrow span{display:inline-block;width:26px;height:1px;margin:0 9px 3px 0;background:var(--cyan)}h1,h2{margin:0;line-height:.95;letter-spacing:-.065em}h1{max-width:700px;font-size:clamp(47px,5.2vw,82px)}h1 i,h2 i{color:var(--cyan);font-family:"Source Serif 4",serif;font-weight:500}.hero-lede{max-width:530px;margin:26px 0 31px;color:#a8bbc5;font:21px/1.42 "Source Serif 4",serif}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{min-height:45px;padding:0 17px;display:inline-flex;align-items:center;gap:10px;border:1px solid transparent;font-size:12px;font-weight:600;text-decoration:none;transition:.18s}.button-primary{color:#061018;background:var(--cyan)}.button-primary:hover{background:#84e8ff}.button-ghost{border-color:rgba(148,196,217,.3);color:#d5e7ef}.button-ghost:hover{color:var(--cyan);border-color:var(--cyan)}.metrics{display:flex;gap:30px;margin-top:58px;padding-top:17px;border-top:1px solid var(--line)}.metrics div{display:grid;gap:3px}.metrics strong{font-size:25px}.metrics span{color:#7e96a4;font:8px "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase}.hero-architecture{min-height:480px;position:relative;display:grid;place-items:center;border:1px solid rgba(56,214,255,.14);background:radial-gradient(circle at 50% 50%,rgba(19,114,150,.18),transparent 53%);overflow:hidden}.arch-stack{width:265px;height:290px;position:relative;transform:perspective(700px) rotateX(55deg) rotateZ(45deg)}.arch-stack i{position:absolute;left:50%;width:180px;height:105px;border:1px solid rgba(56,214,255,.7);background:linear-gradient(135deg,rgba(56,214,255,.16),transparent);box-shadow:0 0 22px rgba(56,214,255,.1);transform:translateX(-50%)}.arch-stack i:nth-child(1){top:0}.arch-stack i:nth-child(2){top:38px}.arch-stack i:nth-child(3){top:76px}.arch-stack i:nth-child(4){top:114px}.arch-stack i:nth-child(5){top:152px}.arch-stack i:nth-child(6){top:190px;border-color:rgba(231,189,110,.7)}.arch-stack i:nth-child(7){top:228px;border-color:rgba(231,189,110,.45)}.arch-rail{position:absolute;inset:13%;border:1px solid rgba(56,214,255,.13);transform:skewY(-5deg)}.hero-architecture p{position:absolute;bottom:19px;left:20px;margin:0;padding:10px 13px;border:1px solid rgba(105,184,217,.25);background:rgba(4,12,20,.78);font:9px "IBM Plex Mono",monospace;letter-spacing:.1em}.status{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:99px;background:#68f7d0;box-shadow:0 0 9px #68f7d0}.editorial-lines,.catalogue{padding-top:92px}.section-code{margin:0 0 24px;color:#6f8998;font:10px "IBM Plex Mono",monospace;letter-spacing:.15em}.line-grid{display:grid;grid-template-columns:1.05fr 1.2fr .9fr;border:1px solid var(--line)}.line-grid article{min-height:320px;padding:32px;border-right:1px solid var(--line);background:rgba(9,22,33,.58)}.line-grid article:last-child{border-right:0}.line-grid article>span{color:var(--cyan);font:9px "IBM Plex Mono",monospace;letter-spacing:.14em}.line-grid h2{margin:27px 0 14px;font-size:28px}.line-grid p{margin:0;color:#91a9b7;font:17px/1.38 "Source Serif 4",serif}.line-grid i{display:block;width:42px;height:2px;margin:31px 0 18px;background:var(--cyan)}.line-grid small{color:#8198a5;font:8px "IBM Plex Mono",monospace;letter-spacing:.11em}.premium-line{background:linear-gradient(145deg,rgba(37,29,17,.62),rgba(13,20,26,.68))!important}.premium-line>span{color:var(--gold)!important}.premium-line i{background:var(--gold)!important}.catalogue{padding-top:110px}.catalogue-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:42px}.catalogue h2{font-size:clamp(39px,4.3vw,64px)}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{padding:9px 12px;color:#879fac;border:1px solid var(--line);background:rgba(11,24,35,.58);font:9px "IBM Plex Mono",monospace;letter-spacing:.1em;cursor:pointer}.filters button.is-active,.filters button:hover{color:#061018;background:var(--cyan);border-color:var(--cyan)}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.book-card{display:flex;min-height:100%;flex-direction:column;border:1px solid var(--line);background:rgba(7,18,28,.72);transition:transform .22s,border-color .22s,box-shadow .22s}.book-card:hover{border-color:rgba(56,214,255,.78);box-shadow:0 22px 50px rgba(0,0,0,.3);transform:translateY(-7px)}.book-card.premium{border-color:rgba(231,189,110,.26);background:linear-gradient(165deg,rgba(31,24,15,.78),rgba(7,18,28,.78))}.book-card.premium:hover{border-color:rgba(231,189,110,.8)}.cover-wrap{position:relative;overflow:hidden;padding:14px 14px 0;background:linear-gradient(140deg,rgba(31,54,67,.8),rgba(4,11,17,.8));isolation:isolate}.cover-wrap img{position:relative;z-index:1;width:100%;aspect-ratio:2/3;display:block;object-fit:cover;box-shadow:0 15px 32px rgba(0,0,0,.44);filter:saturate(.77) contrast(.96);transition:transform .36s,filter .36s,box-shadow .36s}.book-card.premium .cover-wrap img{filter:saturate(.83) sepia(.08)}.book-card:hover .cover-wrap img{filter:brightness(1.07) saturate(1.08);box-shadow:0 22px 38px rgba(0,0,0,.56),0 0 25px rgba(56,214,255,.18);transform:perspective(800px) rotateX(2deg) rotateY(-3deg) scale(1.035)}.book-card.premium:hover .cover-wrap img{box-shadow:0 22px 38px rgba(0,0,0,.56),0 0 25px rgba(231,189,110,.18)}.cover-wrap:before{position:absolute;z-index:2;inset:-20%;content:"";pointer-events:none;background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.18) 47%,transparent 58%);transform:translateX(-125%);transition:transform .7s}.book-card:hover .cover-wrap:before{transform:translateX(125%)}.cover-wrap:after{position:absolute;z-index:3;right:14px;bottom:0;left:14px;height:2px;content:"";opacity:0;background:var(--cyan);box-shadow:0 0 18px var(--cyan);transition:opacity .2s,bottom .55s}.book-card:hover .cover-wrap:after{bottom:calc(100% - 15px);opacity:.9}.book-card.premium .cover-wrap:after{background:var(--gold);box-shadow:0 0 18px var(--gold)}.card-meta{display:flex;flex:1;flex-direction:column;padding:18px 16px 16px}.signals{display:flex;justify-content:space-between;gap:9px;margin-bottom:14px;color:#6e8b9b;font:8px "IBM Plex Mono",monospace;letter-spacing:.09em}.line-tag{padding:4px 6px;color:#54dbff;border:1px solid rgba(56,214,255,.26);font-size:7px}.premium .line-tag{color:var(--gold);border-color:rgba(231,189,110,.35)}.card-meta h3{margin:0;font-size:19px;line-height:1.04;letter-spacing:-.045em}.card-meta p{margin:11px 0 22px;color:#8ea6b3;font:15px/1.34 "Source Serif 4",serif}.card-footer{display:grid;gap:9px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(132,183,205,.16)}.card-footer>span{color:#6d8998;font:8px "IBM Plex Mono",monospace;letter-spacing:.09em;text-transform:uppercase}.card-footer button{padding:0;display:flex;align-items:center;justify-content:space-between;color:var(--cyan);border:0;background:none;font-size:11px;font-weight:600;text-align:left;cursor:pointer}.premium .card-footer button{color:var(--gold)}.distribution{margin-top:100px;margin-bottom:74px;padding-top:54px;padding-bottom:0;display:grid;grid-template-columns:1fr 300px;align-items:center;gap:60px;border:1px solid rgba(56,214,255,.3);background:linear-gradient(130deg,rgba(6,24,35,.91),rgba(8,13,21,.95));box-shadow:inset 0 0 90px rgba(28,176,222,.045)}.distribution h2{font-size:clamp(38px,4.1vw,61px)}.distribution-copy{max-width:650px;margin:24px 0 54px;color:#9bb2be;font:18px/1.44 "Source Serif 4",serif}.distribution aside{margin:0 40px 54px 0;padding:24px;border:1px solid rgba(121,185,211,.27);background:rgba(5,13,21,.75)}.distribution aside>span{display:grid;width:44px;height:44px;place-items:center;margin-bottom:22px;color:#061018;background:var(--cyan)}.distribution aside p{margin:0 0 9px;color:#728b99;font:8px "IBM Plex Mono",monospace;letter-spacing:.13em}.distribution code{display:block;margin-bottom:19px;color:var(--gold);font:11px "IBM Plex Mono",monospace;overflow-wrap:anywhere}.distribution aside button{width:100%;min-height:38px;color:#d1e8f2;border:1px solid rgba(126,194,220,.35);background:transparent;font-size:11px;cursor:pointer}.distribution aside button:hover{background:rgba(56,214,255,.12)}footer{padding-top:26px;padding-bottom:34px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#748b98;border-top:1px solid var(--line);font:8px "IBM Plex Mono",monospace;letter-spacing:.08em}.footer-brand{display:flex;align-items:center;gap:8px;color:#aec2cc}.footer-brand .brand-mark{width:20px;height:20px}@media(max-width:1050px){.hero{grid-template-columns:1fr}.hero-architecture{min-height:340px}.line-grid{grid-template-columns:1fr}.line-grid article{border-right:0;border-bottom:1px solid var(--line)}.book-grid{grid-template-columns:repeat(3,1fr)}.distribution{grid-template-columns:1fr}.distribution aside{margin:0 40px 54px}.distribution>div{padding-left:42px;padding-right:42px}}@media(max-width:720px){.topbar,.hero,.editorial-lines,.catalogue,.distribution,footer{padding-left:20px;padding-right:20px}.topbar{gap:12px}.topbar nav{display:none}.brand strong{font-size:9px}.language-menu{margin-left:auto}.hero{min-height:auto;padding-top:62px;padding-bottom:52px}.hero h1{font-size:clamp(43px,13vw,62px)}.hero-architecture{min-height:260px;margin-top:12px}.arch-stack{transform:perspective(700px) rotateX(55deg) rotateZ(45deg) scale(.72)}.metrics{gap:17px}.metrics strong{font-size:22px}.line-grid article{padding:26px}.catalogue-head{display:grid;align-items:start}.book-grid{grid-template-columns:repeat(2,1fr);gap:12px}.cover-wrap{padding:8px 8px 0}.card-meta{padding:13px 11px}.card-meta h3{font-size:16px}.card-meta p{font-size:14px}.signals{display:grid}.distribution{padding-top:38px}.distribution>div{padding-left:0;padding-right:0}.distribution aside{margin:0 0 38px}footer{align-items:start;flex-direction:column}.footer-brand .brand-mark{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* Source preserved: ddg.css */
/* Extensão editorial: Coleção Defesa Digital Global e pacote completo */
.line-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.defense-line { background: linear-gradient(145deg, rgba(7,37,34,.72), rgba(9,20,27,.78)) !important; }
.defense-line > span { color: #64e1b2 !important; }
.defense-line i { background: #64e1b2 !important; }
.button-bundle { color: #171006; border-color: var(--gold); background: var(--gold); box-shadow: 0 11px 30px rgba(231,189,110,.12); }
.button-bundle:hover { background: #f4d490; }
.book-card.Defesa { border-color: rgba(100,225,178,.3); background: linear-gradient(165deg,rgba(7,35,33,.7),rgba(7,18,28,.78)); }
.book-card.Defesa:hover { border-color: #64e1b2; }
.book-card.Defesa:hover .cover-wrap img { box-shadow: 0 22px 38px rgba(0,0,0,.56),0 0 25px rgba(100,225,178,.18); }
.book-card.Defesa .line-tag, .book-card.Defesa .card-footer button { color: #64e1b2; border-color: rgba(100,225,178,.35); }
@media(max-width:1050px) { .line-grid { grid-template-columns: 1fr; } }

/* v5.0 semantics and keyboard navigation: preserves the editorial dark-petroleum, cyan and restrained-gold identity. */
.skip-link{position:fixed;z-index:1000;top:.75rem;left:.75rem;transform:translateY(-180%);padding:.75rem 1rem;background:#38d6ff;color:#06111a;font:700 .82rem/1.1 'Space Grotesk',sans-serif;text-decoration:none;box-shadow:0 0 0 2px #06111a;transition:transform .16s cubic-bezier(.23,1,.32,1)}
.skip-link:focus{transform:translateY(0)}
.nav-toggle{display:none;align-items:center;justify-content:center;width:2.65rem;height:2.35rem;padding:0;border:1px solid rgba(104,205,228,.36);background:rgba(7,18,29,.78);color:#ccebf2;font:700 1rem/1 'IBM Plex Mono',monospace;cursor:pointer}
.nav-toggle:hover,.nav-toggle[aria-expanded='true']{border-color:#38d6ff;color:#38d6ff;background:rgba(17,70,87,.42)}
:where(a,button,select,summary):focus-visible{outline:3px solid #38d6ff;outline-offset:3px}
:where(a,button,select,summary){-webkit-tap-highlight-color:rgba(56,214,255,.24)}
@media (pointer:coarse){.topbar a,.topbar button,.topbar select,.edition-buy,.edition-cover,.button,.filters button,.video-caption-controls button,.legal-language button{min-height:2.75rem}}
.not-found{display:grid;min-height:100svh;place-items:center;padding:1.5rem;background:#050910;color:#e8f1f4}
.not-found__panel{width:min(100%,46rem);padding:clamp(2rem,6vw,5rem);border:1px solid rgba(68,210,242,.32);background:linear-gradient(135deg,rgba(7,25,38,.95),rgba(4,10,18,.98));box-shadow:0 1.5rem 5rem rgba(0,0,0,.42)}
.not-found__brand{display:flex;align-items:center;gap:.75rem;margin-bottom:clamp(2rem,8vw,5rem);color:#a9cad3;font:500 .72rem/1.2 'IBM Plex Mono',monospace;letter-spacing:.16em;text-decoration:none}
.not-found__brand img{width:2.5rem;height:2.5rem;object-fit:contain}
.not-found__code{margin:0;color:#38d6ff;font:500 .78rem/1 'IBM Plex Mono',monospace;letter-spacing:.16em}
.not-found h1{max-width:12ch;margin:.8rem 0 1rem;font:500 clamp(2.25rem,8vw,5.5rem)/.96 'Source Serif 4',serif;letter-spacing:-.045em}
.not-found h1 i{color:#38d6ff;font-style:italic}
.not-found__copy{max-width:44rem;color:#b9c9ce;font:400 clamp(1rem,2vw,1.18rem)/1.65 'Space Grotesk',sans-serif}
.not-found__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
