/* FortifyIT PCB
   Layout: the site is one circuit board. Every section is a component labelled with silkscreen
   reference designators (U = chips/modules, D = status LEDs, J = connectors, P = parts, Q/R = lists and text)
   and joined by a signal bus that fills as you scroll. The power-button icon is the board's live node. */
:root{
  --board:#06111E;      /* solder mask, deepest */
  --board-2:#0A1B2E;    /* raised panels */
  --mask:#0F2742;       /* chip bodies */
  --slate:#1E2A36;      /* logo slate */
  --trace:#1C4068;      /* copper under blue mask */
  --copper:#D9A85B;     /* ENIG gold pads */
  --signal:#4FB0FF;     /* live signal (logo "IT" on dark) */
  --power:#2F7BF2;      /* power-button glow */
  --brand:#005FAF;      /* FortifyIT blue */
  --silk:#EAF1F8;       /* silkscreen white */
  --muted:#93A8C1;
  --ok:#3CCB7F;
  --line:rgba(147,168,193,.16);
  --display:"Archivo","Arial Narrow",system-ui,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --gut:max(16px,4vw);
  --topbar:72px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--board);color:var(--silk);font:16px/1.65 var(--body);margin:0;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
::selection{background:var(--signal);color:var(--board)}
.wrap{max-width:1200px;margin-inline:auto;padding-inline:var(--gut)}
h1,h2,h3,h4{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.05;color:var(--silk)}
p{margin:0}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--signal);color:var(--board);padding:10px 14px;font:600 13px var(--mono)}
.skip:focus{left:8px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* silkscreen label */
.ref{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--copper);display:flex;align-items:center;gap:12px;min-width:0}
.ref b{font-weight:600;color:var(--silk);border:1px solid var(--line);padding:5px 7px;border-radius:2px;background:var(--board-2);white-space:nowrap}
.ref i{flex:0 0 48px;height:1px;background:linear-gradient(90deg,var(--copper),transparent)}

/* prose from the editor */
.prose{display:grid;gap:1em;color:var(--muted);font-size:17px;max-width:65ch;min-width:0}
.prose>*{margin:0}
.prose strong,.prose b{color:var(--silk);font-weight:500}
.prose a{color:var(--signal);text-underline-offset:3px}
.prose h2,.prose h3,.prose h4{color:var(--silk);margin-top:.6em}
.prose h2{font-size:clamp(24px,2.6vw,32px);font-stretch:110%}
.prose h3{font-size:21px}
.prose h4{font:600 13px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--copper)}
.prose ul,.prose ol{padding-left:1.2em;display:grid;gap:.4em}
.prose li::marker{color:var(--signal)}
.prose blockquote{border-left:2px solid var(--copper);padding-left:16px;color:var(--silk)}
.prose code{font-family:var(--mono);font-size:.9em;color:var(--copper)}

/* buttons */
.btn,.prose .btn{--c:var(--signal);position:relative;display:inline-flex;align-items:center;gap:12px;font:600 13px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:16px 22px 16px 20px;color:var(--board);background:var(--c);border:1px solid var(--c);border-radius:2px;transition:background .2s,color .2s,box-shadow .2s;cursor:pointer}
.btn::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 25%,transparent)}
.btn:hover{box-shadow:0 0 0 1px var(--c),0 0 28px -4px var(--c)}
.btn.ghost{background:transparent;color:var(--silk);--c:var(--copper)}
.btn.ghost::before{background:var(--copper)}
.btn.ghost:hover{color:var(--board);background:var(--copper)}

/* info bar + header */
.infobar{background:#040B14;border-bottom:1px solid var(--line);font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.infobar .wrap{display:flex;align-items:center;gap:10px;min-height:36px}
.infobar a{color:var(--silk);text-decoration:none}
.infobar-led{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}
.infobar p{margin:0}
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--board) 84%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.admin-bar .top{top:32px}
@media (max-width:782px){.admin-bar .top{top:46px}}
@media (max-width:600px){.admin-bar .top{top:0}.infobar{display:none}}
.top-row{display:flex;align-items:center;gap:24px;height:var(--topbar)}
.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}
.logo-icon{width:44px;height:auto;display:block;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--power) 45%,transparent));transition:filter .3s}
.logo:hover .logo-icon{filter:drop-shadow(0 0 16px var(--power))}
.logo-word{height:22px;width:auto;display:block}
.nav{display:flex;align-items:center;margin-left:auto}
.nav .menu{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.nav .menu>li{position:relative}
.nav .menu a{display:block;font:500 14px/1 var(--body);text-decoration:none;color:var(--muted);padding:12px 12px;border-radius:2px;position:relative;white-space:nowrap}
.nav .menu a:hover,.nav .menu .current-menu-item>a,.nav .menu .current-menu-ancestor>a{color:var(--silk)}
.nav .menu>li>a::after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:1px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav .menu>li>a:hover::after,.nav .menu>.current-menu-item>a::after,.nav .menu>.current-menu-ancestor>a::after{transform:scaleX(1)}
.nav .menu-item-has-children>a{padding-right:24px}
.nav .menu-item-has-children>a::before{content:"";position:absolute;right:10px;top:50%;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg)}
.nav .sub-menu{list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:0;min-width:200px;background:var(--board-2);border:1px solid var(--line);border-radius:3px;box-shadow:0 18px 40px -10px rgba(0,0,0,.6);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s}
.nav li:hover>.sub-menu,.nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.nav .sub-menu a{padding:10px 12px}
.nav .sub-menu a:hover{background:color-mix(in srgb,var(--signal) 12%,transparent)}
.portal{font:600 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--signal);border:1px solid color-mix(in srgb,var(--signal) 45%,transparent);padding:11px 14px;border-radius:2px;white-space:nowrap}
.portal:hover{background:color-mix(in srgb,var(--signal) 14%,transparent)}
.portal--menu{display:none}
.menu-btn{display:none;margin-left:auto;align-items:center;gap:10px;background:none;border:1px solid var(--line);color:var(--silk);font:600 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:11px 12px;border-radius:2px;cursor:pointer}
.menu-btn span{width:14px;height:10px;border-block:1.5px solid currentColor;position:relative}
.menu-btn span::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:currentColor}
@media (max-width:980px){
  .menu-btn{display:inline-flex}
  .top-row>.portal{display:none}
  .nav{position:fixed;left:0;right:0;top:calc(var(--topbar) + var(--nav-offset,0px));bottom:0;display:none;flex-direction:column;align-items:stretch;gap:24px;padding:20px var(--gut) 40px;background:var(--board);overflow-y:auto;border-top:1px solid var(--line)}
  .nav.open{display:flex}
  .nav .menu{flex-direction:column}
  .nav .menu a{font-size:18px;padding:16px 0;border-bottom:1px solid var(--line)}
  .nav .menu>li>a::after,.nav .menu-item-has-children>a::before{display:none}
  .nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;background:none;border:0;box-shadow:none;padding:0 0 0 16px}
  .portal--menu{display:block;text-align:center;padding:16px}
}

/* heroes */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(120% 90% at 75% 50%,#0B2340 0%,var(--board) 62%)}
.hero .board{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:crosshair}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--board) 0%,color-mix(in srgb,var(--board) 72%,transparent) 36%,transparent 60%)}
.hero>.wrap{position:relative;z-index:2;pointer-events:none}
.hero-copy{display:grid;gap:26px;pointer-events:auto;align-content:center;min-width:0}
.hero h1{font-weight:800;font-stretch:125%;letter-spacing:-.02em}
.hero--home>.wrap{padding-block:clamp(64px,11vw,140px)}
.hero--home .hero-copy{max-width:640px}
.hero--home h1{font-size:clamp(42px,7.2vw,92px);min-height:2.04em}
.hero--home h1.long{font-size:clamp(34px,5vw,62px);min-height:3.06em}
.words{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;font:600 clamp(13px,1.4vw,15px)/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--copper);margin:0;padding:0;list-style:none}
.words li{display:flex;align-items:center;gap:18px}
.words li+li::before{content:"";width:7px;height:7px;border-radius:50%;border:1.5px solid var(--signal);box-shadow:0 0 10px var(--signal)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.channels{display:flex;gap:8px;align-items:center}
.channels button{width:44px;height:22px;padding:0;background:none;border:0;cursor:pointer;display:flex;align-items:center}
.channels button span{display:block;height:3px;width:100%;background:var(--trace);border-radius:2px;overflow:hidden;position:relative}
.channels button span::after{content:"";position:absolute;inset:0;background:var(--signal);transform:scaleX(0);transform-origin:left}
.channels button[aria-selected="true"] span::after{animation:fill var(--cycle,7s) linear forwards}
.channels.paused button[aria-selected="true"] span::after{animation-play-state:paused}
@keyframes fill{to{transform:scaleX(1)}}
.hint{position:absolute;right:var(--gut);bottom:20px;z-index:2;font:500 11px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);pointer-events:none}
@media (max-width:700px){
  .hero--home::after{background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--board) 70%,transparent) 38%,var(--board) 70%)}
  .hero--home>.wrap{padding-top:300px}
  .hint{display:none}
}
/* inner page hero */
.hero--page::after{background:linear-gradient(90deg,var(--board) 0%,color-mix(in srgb,var(--board) 80%,transparent) 42%,transparent 70%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:center;padding-block:clamp(56px,8vw,104px)}
.hero--noimg .hero-grid{grid-template-columns:minmax(0,1fr)}
.hero--page h1{font-size:clamp(40px,6vw,80px)}
.subhead{color:var(--muted);font-size:clamp(17px,1.6vw,20px);max-width:52ch}
.subhead p{margin:0}
.hero-media{margin:0;position:relative;pointer-events:auto;aspect-ratio:4/3;border-radius:6px;overflow:hidden;border:1px solid color-mix(in srgb,var(--signal) 35%,transparent);box-shadow:0 0 0 6px color-mix(in srgb,var(--board) 70%,transparent),0 30px 80px -30px color-mix(in srgb,var(--power) 60%,transparent);transform-style:preserve-3d;transition:transform .3s ease-out;background:var(--board-2)}
.hero-media img,.bay img,.strip img,.cta-rack img{width:100%;height:100%;object-fit:cover;display:block}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:500 12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.crumbs a{text-decoration:none;color:var(--muted)}
.crumbs a:hover{color:var(--signal)}
.crumbs [aria-current]{color:var(--silk)}
.crumb-sep{color:var(--trace)}
@media (max-width:860px){
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero--page::after{background:linear-gradient(180deg,color-mix(in srgb,var(--board) 70%,transparent),color-mix(in srgb,var(--board) 40%,transparent))}
}
/* scan line over framed photos */
.media-scan{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,transparent 45%,color-mix(in srgb,var(--signal) 22%,transparent) 50%,transparent 55%,transparent 100%) 0 -100%/100% 200% no-repeat;mix-blend-mode:screen;animation:scanY 5.5s ease-in-out infinite}
.media-scan::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(6,17,30,.18) 0 1px,transparent 1px 3px)}
@keyframes scanY{0%{background-position:0 -100%}60%,100%{background-position:0 200%}}

/* scroll bus (wide screens) */
.board-main{position:relative}
.bus-rail{position:absolute;left:24px;top:0;bottom:0;width:2px;background:var(--trace);z-index:3;display:none;pointer-events:none}
.bus-fill{position:absolute;left:0;top:0;width:100%;height:0;background:linear-gradient(180deg,var(--copper),var(--signal));box-shadow:0 0 12px var(--signal)}
.bus-via{position:absolute;left:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--board);border:2px solid var(--trace);transition:border-color .3s,box-shadow .3s}
.bus-via.on{border-color:var(--signal);box-shadow:0 0 12px var(--signal)}
@media (min-width:1320px){.bus-rail{display:block}}

/* sections */
.sec{position:relative;padding-block:clamp(72px,10vw,128px)}
.sec+.sec{border-top:1px solid var(--line)}
.sec-head{display:grid;gap:20px;margin-bottom:clamp(32px,5vw,52px);justify-items:start}
.sec-head h2,.h2,.form-intro h2,.cta h2{font-size:clamp(32px,4.6vw,56px);font-weight:800;font-stretch:118%;letter-spacing:-.015em}
.sec-more{margin-top:52px;display:flex;justify-content:center}

/* intro */
.intro .lead{font:600 clamp(24px,3vw,38px)/1.22 var(--display);letter-spacing:-.01em;max-width:24ch;margin:0}
.intro .lead em{font-style:normal;color:var(--signal)}
.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,6vw,88px);align-items:start}
.intro-body{display:grid;gap:22px}
.strip{position:relative;margin:clamp(48px,7vw,80px) 0 0;aspect-ratio:21/8;border-radius:6px;overflow:hidden;border:1px solid var(--line)}
@media (max-width:860px){.intro-grid{grid-template-columns:1fr}.strip{aspect-ratio:16/10}}

/* split: image beside text */
.split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:center}
.split--left .bay{order:-1}
.split-copy{display:grid;gap:22px;align-content:start;min-width:0}
.split--panel .split-grid{background:linear-gradient(160deg,#0D2238,var(--board-2));border:1px solid var(--line);border-radius:6px;padding:clamp(24px,4vw,48px)}
.bay{position:relative;margin:0;aspect-ratio:4/3;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:var(--board-2);transition:transform .3s ease-out,border-color .3s}
.bay::before,.bay::after{content:"";position:absolute;z-index:2;width:22px;height:22px;border:2px solid var(--copper);pointer-events:none}
.bay::before{top:10px;left:10px;border-right:0;border-bottom:0}
.bay::after{bottom:10px;right:10px;border-left:0;border-top:0}
.bay:hover{border-color:color-mix(in srgb,var(--signal) 50%,transparent)}
.bay img{filter:saturate(.85) contrast(1.05)}
.bay-tag{position:absolute;z-index:2;left:12px;bottom:12px;font:600 11px/1 var(--mono);letter-spacing:.14em;color:var(--silk);background:color-mix(in srgb,var(--board) 80%,transparent);border:1px solid var(--line);padding:6px 8px;border-radius:2px}
@media (max-width:860px){.split-grid{grid-template-columns:1fr}.split--left .bay,.bay{order:-1}}

/* chips */
.chips-sec{background:linear-gradient(180deg,var(--board) 0%,var(--board-2) 100%)}
.svc-intro{margin-bottom:56px}
.chips{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.chips--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.chips--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.chips--1{grid-template-columns:minmax(0,520px)}
.chips .bus{position:absolute;left:-2%;right:-2%;top:50%;height:2px;background:repeating-linear-gradient(90deg,var(--signal) 0 18px,transparent 18px 60px);background-size:60px 2px;opacity:.55;animation:flow 1.6s linear infinite}
@keyframes flow{to{background-position:60px 0}}
@media (max-width:1040px){.chips,.chips--3{grid-template-columns:repeat(2,minmax(0,1fr))}.chips .bus{display:none}}
@media (max-width:600px){.chips,.chips--3,.chips--2{grid-template-columns:1fr}}
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.chip{--pin:#3A5677;position:relative;padding-block:14px;min-width:0}
.chip .pins{position:absolute;left:18px;right:18px;height:14px;background:repeating-linear-gradient(90deg,var(--pin) 0 8px,transparent 8px 22px)}
.chip .pins.t{top:0}.chip .pins.b{bottom:0}
.chip:hover,.chip:focus-within{--pin:var(--copper)}
.chip-body{position:relative;height:100%;display:flex;flex-direction:column;gap:14px;padding:26px 24px 24px;background:linear-gradient(160deg,#122C4A 0%,var(--mask) 55%,#0B1F36 100%);border-radius:6px;isolation:isolate}
.chip-body::before{content:"";position:absolute;inset:0;border-radius:6px;padding:1px;background:conic-gradient(from var(--ang),transparent 0 70%,var(--signal) 85%,var(--copper) 92%,transparent 100%),linear-gradient(var(--line),var(--line));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:-1;opacity:.45;transition:opacity .3s}
.chip:hover .chip-body::before,.chip:focus-within .chip-body::before{opacity:1;animation:spin 2.4s linear infinite}
@keyframes spin{to{--ang:360deg}}
.chip-body::after{content:"";position:absolute;top:14px;left:14px;width:7px;height:7px;border-radius:50%;background:var(--board);box-shadow:inset 0 0 0 1px var(--line)}
.chip .des{position:absolute;top:12px;right:14px;font:500 11px/1 var(--mono);letter-spacing:.14em;color:var(--muted)}
.chip svg{width:40px;height:40px;color:var(--signal);margin-top:14px;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--signal) 50%,transparent))}
.chip h3{font-size:21px;font-weight:700;font-stretch:108%;line-height:1.15}
.chip p{color:var(--muted);font-size:15px;line-height:1.6;flex:1}
.chip a{font:600 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--copper);text-decoration:none;display:inline-flex;gap:8px;align-items:center;align-self:flex-start;padding-block:6px}
.chip a span{transition:transform .2s}
.chip a:hover span{transform:translateX(4px)}

/* security: LEDs + radar */
.sec-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,80px);align-items:start}
@media (max-width:960px){.sec-grid{grid-template-columns:1fr}}
.sec-left{display:grid;gap:28px;position:sticky;top:calc(var(--topbar) + 40px)}
@media (max-width:960px){.sec-left{position:static}}
.scope{position:relative;aspect-ratio:1/1;max-width:420px;width:100%;border:1px solid var(--line);border-radius:50%;background:radial-gradient(circle,#0C2440 0%,var(--board) 70%)}
.radar{position:absolute;inset:0;width:100%;height:100%;display:block}
.leds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media (max-width:640px){.leds{grid-template-columns:1fr}}
.led{position:relative;padding:28px 24px 26px;background:var(--board-2);border:1px solid var(--line);border-radius:3px;display:grid;gap:12px;align-content:start;overflow:hidden;transition:border-color .25s,background .25s;min-width:0}
.led::before{content:"";position:absolute;left:0;right:0;top:-40%;height:40%;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--signal) 16%,transparent));opacity:0;pointer-events:none}
.led:hover,.led.active{border-color:color-mix(in srgb,var(--signal) 55%,transparent);background:#0D2238}
.led:hover::before,.led.active::before{opacity:1;animation:scan 1.4s ease-in-out infinite}
@keyframes scan{from{top:-40%}to{top:100%}}
.led-top{display:flex;align-items:center;justify-content:space-between}
.led-top .dot{display:flex;align-items:center;gap:8px;font:500 11px/1 var(--mono);letter-spacing:.14em;color:var(--muted)}
.led-top .dot::before{content:"";width:8px;height:8px;border-radius:50%;background:#2E8B57;box-shadow:0 0 8px var(--ok)}
.led svg{width:30px;height:30px;color:var(--copper)}
.led h3{font-size:19px;font-weight:700;font-stretch:105%;line-height:1.2}
.led p{color:var(--muted);font-size:15px;line-height:1.6}

/* partners */
.partners{overflow:hidden}
.marquee{display:grid;gap:18px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mrow{display:flex;gap:22px;width:max-content;animation:slide 48s linear infinite}
.mrow.rev{animation-direction:reverse;animation-duration:56s}
.marquee:hover .mrow{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.part{position:relative;flex:0 0 auto;width:188px;height:84px;background:#F2F6FB;border-radius:3px;display:grid;place-items:center;padding:14px 30px;text-decoration:none}
.part::before,.part::after{content:"";position:absolute;top:0;bottom:0;width:14px;background:linear-gradient(90deg,#B98A43,var(--copper),#B98A43)}
.part::before{left:0;border-radius:3px 0 0 3px}.part::after{right:0;border-radius:0 3px 3px 0}
.part img{max-height:46px;max-width:100%;object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.85;transition:filter .25s,opacity .25s}
.part:hover img{filter:none;opacity:1}

/* call to action */
.cta{background:radial-gradient(color-mix(in srgb,var(--copper) 26%,transparent) 1.4px,transparent 1.6px) 0 0/22px 22px,linear-gradient(180deg,var(--board-2),var(--board))}
.cta-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,6vw,72px);align-items:center}
.cta-copy{display:grid;gap:24px;min-width:0}
.cta h2{font-stretch:125%}
.jack{position:relative;display:flex;align-items:center;max-width:520px}
.jack .wire{flex:1;min-width:40px;height:2px;background:var(--trace);position:relative;overflow:hidden}
.jack .wire::after{content:"";position:absolute;top:0;height:100%;width:30%;background:linear-gradient(90deg,transparent,var(--signal));animation:run 1.8s ease-in infinite}
@keyframes run{from{left:-30%}to{left:100%}}
.jack .pad{width:14px;height:14px;border-radius:50%;border:2px solid var(--copper);background:var(--board);flex:0 0 auto}
.jack .btn{flex:0 0 auto}
.cta-rack{position:relative;margin:0;aspect-ratio:4/3;border-radius:6px;overflow:hidden;border:1px solid color-mix(in srgb,var(--signal) 30%,transparent);box-shadow:0 30px 80px -30px color-mix(in srgb,var(--power) 70%,transparent);transition:transform .3s ease-out}
.biz{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.biz-card{border:1px solid var(--line);border-radius:3px;padding:18px;background:var(--board-2);color:var(--muted);font-size:15px;display:grid;gap:.5em}
.biz-card>*{margin:0}
.biz-card h1,.biz-card h2,.biz-card h3,.biz-card h4,.biz-card strong{font:600 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--copper)}
.biz-card a{color:var(--signal)}
@media (max-width:860px){.cta-grid{grid-template-columns:1fr}}

/* long text */
.prose-wrap{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start}
.prose-side{position:sticky;top:calc(var(--topbar) + 40px);display:grid;gap:20px}
.read-meter{height:160px;width:2px;background:var(--trace);position:relative;margin-left:16px}
.read-meter span{position:absolute;left:0;top:0;width:100%;height:var(--read,0%);background:linear-gradient(180deg,var(--copper),var(--signal));box-shadow:0 0 10px var(--signal)}
.prose--long{max-width:72ch}
.prose--long p,.prose--long li{line-height:1.75}
@media (max-width:860px){.prose-wrap{grid-template-columns:1fr}.prose-side{position:static}.read-meter{display:none}}

/* forms */
.form-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,80px);align-items:start}
.form-intro{display:grid;gap:22px;position:sticky;top:calc(var(--topbar) + 40px);min-width:0}
@media (max-width:900px){.form-grid{grid-template-columns:1fr}.form-intro{position:static}}
.terminal{border:1px solid color-mix(in srgb,var(--signal) 30%,transparent);border-radius:6px;background:var(--board-2);overflow:hidden;box-shadow:0 30px 80px -40px color-mix(in srgb,var(--power) 60%,transparent);min-width:0}
.terminal-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid var(--line);background:#081627;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.terminal-bar i{width:9px;height:9px;border-radius:50%;background:var(--trace)}
.terminal-bar i:first-child{background:var(--ok);box-shadow:0 0 6px var(--ok)}
.terminal-bar span{margin-left:10px}
.terminal-body{padding:clamp(20px,3vw,32px)}
.terminal-body form,.prose form{display:grid;gap:18px}
.terminal-body label,.terminal-body legend,.terminal-body .gfield_label,.terminal-body .wpforms-field-label,.terminal-body .frm_primary_label{display:block;font:600 12px/1.3 var(--mono)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--copper)!important;margin-bottom:8px}
.terminal-body input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]),.terminal-body select,.terminal-body textarea,.search-form input[type=search]{width:100%;max-width:100%;background:#071425!important;color:var(--silk)!important;border:1px solid var(--line)!important;border-radius:3px!important;padding:13px 14px!important;font:16px/1.4 var(--body)!important;box-shadow:none!important;transition:border-color .2s,box-shadow .2s}
.terminal-body input:focus,.terminal-body select:focus,.terminal-body textarea:focus,.search-form input[type=search]:focus{outline:none;border-color:var(--signal)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 25%,transparent)!important}
.terminal-body textarea{min-height:140px}
.terminal-body ::placeholder{color:#5F7894}
.terminal-body input[type=submit],.terminal-body button[type=submit],.terminal-body .gform_button,.terminal-body .wpforms-submit,.terminal-body .frm_button_submit,.search-form button,.search-form input[type=submit]{font:600 13px/1 var(--mono)!important;letter-spacing:.16em;text-transform:uppercase;color:var(--board)!important;background:var(--signal)!important;border:1px solid var(--signal)!important;border-radius:2px!important;padding:16px 24px!important;cursor:pointer;width:auto!important;box-shadow:none!important}
.terminal-body input[type=submit]:hover,.terminal-body button[type=submit]:hover{box-shadow:0 0 28px -4px var(--signal)!important}
.terminal-body .gfield_required,.terminal-body .wpforms-required-label{color:var(--copper)!important}
.terminal-body .gfield_description,.terminal-body .wpforms-field-description,.terminal-body .instruction{color:var(--muted)!important;font-size:14px}
.terminal-body .validation_message,.terminal-body .wpforms-error,.terminal-body .gform_validation_errors{color:#FF8A8A!important;background:none!important;border-color:#FF8A8A!important}
.terminal-body ul.gform_fields,.terminal-body .gform_fields{display:grid;gap:18px;list-style:none;padding:0;margin:0}
.terminal-body p{color:var(--muted)}
.search-form{display:flex;gap:10px;max-width:520px}
.search-form label{flex:1}

/* rows: careers, archives */
.rows{display:grid;gap:14px}
.row-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.6fr) auto;gap:20px;align-items:center;padding:22px 24px;background:var(--board-2);border:1px solid var(--line);border-radius:3px;text-decoration:none;transition:border-color .25s,background .25s,transform .25s}
.row-card:hover{border-color:color-mix(in srgb,var(--signal) 55%,transparent);background:#0D2238;transform:translateX(4px)}
.row-card h2,.row-card h3{font-size:20px;font-weight:700;font-stretch:108%}
.row-card p{color:var(--muted);font-size:15px}
.row-led{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok)}
.row-go{font:600 18px var(--mono);color:var(--copper);transition:transform .2s}
.row-card:hover .row-go{transform:translateX(4px);color:var(--signal)}
.index-rows .row-card,.rows>.row-card:not(:has(.row-led)){grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto}
@media (max-width:760px){.row-card,.rows>.row-card:not(:has(.row-led)){grid-template-columns:auto minmax(0,1fr) auto}.row-card p{grid-column:2/-1}}

/* accordion */
.acc{display:grid;gap:12px}
.acc-item{border:1px solid var(--line);border-radius:3px;background:var(--board-2);transition:border-color .25s}
.acc-item[open]{border-color:color-mix(in srgb,var(--signal) 45%,transparent)}
.acc-item summary{list-style:none;cursor:pointer;display:flex;gap:16px;align-items:center;padding:20px 22px;font:600 18px/1.3 var(--display);font-stretch:105%}
.acc-item summary::-webkit-details-marker{display:none}
.acc-item summary::after{content:"+";margin-left:auto;font:500 20px var(--mono);color:var(--copper);transition:transform .25s}
.acc-item[open] summary::after{transform:rotate(45deg);color:var(--signal)}
.acc-n{font:600 11px/1 var(--mono);letter-spacing:.14em;color:var(--muted);border:1px solid var(--line);padding:5px 6px;border-radius:2px}
.acc-body{padding:0 22px 22px}

/* 404 */
.lost{display:grid;gap:32px}
.lost-actions{display:flex;flex-wrap:wrap;gap:16px}

/* sections the child theme does not redraw keep the parent markup; give it the board look */
.stack{position:relative;padding-block:clamp(56px,8vw,100px);border-top:1px solid var(--line)}
.stack .container{max-width:1200px;margin-inline:auto;padding-inline:var(--gut)}
.stack .row{display:flex;flex-wrap:wrap;gap:24px}
.stack .col{flex:1 1 280px;min-width:0}
.stack h2,.stack h4{margin-bottom:16px}
.stack p{color:var(--muted)}
.stack .card,.stack .brick-card{background:var(--board-2);border:1px solid var(--line);border-radius:3px;padding:28px}
.stack .bg-img{background-size:cover;background-position:center}
.stack .image-overlay{display:none}
.stack .spacer,.stack .unq-fitline,.stack .amp-burst{display:none}
.stack .btn{margin-top:16px}

/* footer */
.foot{position:relative;border-top:1px solid var(--line);padding-block:64px 32px;background:#040B14;overflow:hidden}
.foot-trace{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--signal),var(--copper),transparent);opacity:.6}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:40px}
@media (max-width:960px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr}}
.foot-brand{display:grid;gap:18px;align-content:start}
.logo--foot .logo-icon{width:56px}
.logo--foot .logo-word{height:28px}
.foot-brand p{color:var(--muted);max-width:36ch}
.foot-col{display:grid;gap:18px;align-content:start;padding-top:14px;border-top:1px solid var(--line)}
.foot-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot-col ul a{text-decoration:none;color:var(--muted)}
.foot-col ul a:hover{color:var(--silk)}
.foot-cta{font:600 12px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal);text-decoration:none}
.foot-cta a{color:inherit;text-decoration:none}
.foot-cta p{margin:0}
.socials{display:flex;flex-wrap:wrap;gap:14px}
.socials a{font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.socials a:hover{color:var(--silk)}
.legal{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font:500 12px/1.4 var(--mono);letter-spacing:.08em;color:var(--muted)}
.legal a{color:var(--muted);text-decoration:none}
.legal a:hover{color:var(--signal)}

/* cursor-revealed trace layer */
.reveal{position:fixed;inset:0;pointer-events:none;z-index:40;opacity:0;transition:opacity .4s;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' fill='none' stroke='%234FB0FF' stroke-width='1.4'%3E%3Cpath d='M0 24h40l16 16h48l16-16h40M136 0v24M136 24v24l-16 16v40l16 16v40M24 160v-32l24-24h32M0 80h24l16 16M80 64V40M104 160v-24l16-16'/%3E%3Ccircle cx='136' cy='24' r='3.5'/%3E%3Ccircle cx='80' cy='64' r='3.5'/%3E%3Ccircle cx='80' cy='104' r='3.5'/%3E%3Ccircle cx='40' cy='96' r='3.5'/%3E%3Ccircle cx='120' cy='120' r='3.5'/%3E%3C/svg%3E");
  -webkit-mask-image:radial-gradient(200px circle at var(--mx,-999px) var(--my,-999px),#000 0%,rgba(0,0,0,.4) 45%,transparent 75%);
  mask-image:radial-gradient(200px circle at var(--mx,-999px) var(--my,-999px),#000 0%,rgba(0,0,0,.4) 45%,transparent 75%)}
.reveal.on{opacity:.2}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .mrow{flex-wrap:wrap;width:auto;justify-content:center}
  .mrow [aria-hidden="true"]{display:none}
  .marquee{mask-image:none;-webkit-mask-image:none}
  html{scroll-behavior:auto}
}
.picked-rows{margin-top:28px}

.split h2{font-size:clamp(28px,3.4vw,44px);font-weight:800;font-stretch:112%;letter-spacing:-.01em}

/* a backdrop-filter would trap the fixed menu panel inside the header */
.top.menu-open{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--board)}
