
:root{--navy:#084A82;--ink:#06304F;--deep:#052539;--brass:#9C7C3A;--brasslt:#B9975A;--tint:#F4EEE0;
--body:#22303A;--slate:#5E6E7A;--slatelt:#7C8A94;--line:#DBE3E9;--mist:#F5F7F9;--sky:#EEF4F9;--sky2:#E4EEF6;--paper:#fff;
--ok:#2C7A52;--okbg:#E4F1EA;--warn:#8A6D1F;--warnbg:#FFF6D8;--bad:#B4453A;--badbg:#FBE9E7;
--disp:'Spectral',Georgia,serif;--ui:'Inter',system-ui,sans-serif;--lab:'Archivo',system-ui,sans-serif;--mono:'IBM Plex Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--ui);color:var(--body);background:var(--paper);font-size:15px;line-height:1.62;-webkit-font-smoothing:antialiased}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
a{color:var(--navy);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--disp);color:var(--navy);font-weight:600;letter-spacing:-.012em;margin:0 0 10px}
h1{font-size:38px;line-height:1.14}h2{font-size:27px;line-height:1.2}h3{font-size:20px}h4{font-size:16.5px}
p{margin:0 0 13px}strong,b{color:var(--ink)}
.eyebrow{font-family:var(--lab);font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--brass);display:block;margin-bottom:7px}
.eyebrow.q{color:var(--slatelt)}
.lede{font-size:17px;line-height:1.6;color:var(--body)}
.muted{color:var(--slate)}.fine{font-size:12px;color:var(--slatelt);line-height:1.55}
.fig{font-family:var(--mono);color:var(--brass);font-weight:500}
/* nav */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:6px;padding:11px 0;flex-wrap:wrap}
.nav img{height:26px;width:auto}
.nav .sp{flex:1}
.nav a.n{font-family:var(--lab);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);padding:7px 10px;border-radius:6px}
.nav a.n:hover{background:var(--mist);text-decoration:none}
.nav a.n.on{color:var(--navy);background:var(--sky)}
.btn{display:inline-block;font-family:var(--lab);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
padding:10px 17px;border-radius:8px;background:var(--navy);color:#fff!important;border:1px solid var(--navy)}
.btn:hover{background:var(--ink);text-decoration:none}
.btn.brass{background:var(--brass);border-color:var(--brass)}.btn.brass:hover{background:#87692D}
.btn.ghost{background:transparent;color:var(--navy)!important;border:1px solid var(--line)}
.btn.ghost:hover{background:var(--mist)}
.btn.sm{font-size:10px;padding:7px 12px}
/* page */
.page{display:none;padding:34px 0 10px}.page.on{display:block}
section{padding:8px 0 26px}
.sechead{margin:26px 0 14px;padding-bottom:9px;position:relative}
.sechead:after{content:"";position:absolute;left:0;bottom:0;width:54px;height:2px;background:var(--brass)}
/* grids + cards */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.card{border:1px solid var(--line);border-radius:11px;padding:17px 19px;background:var(--paper)}
.card.mist{background:var(--mist)}
.card h4{margin-bottom:6px}
.card .ct{font-family:var(--lab);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);display:block;margin-bottom:5px}
.card p{font-size:13.5px;color:var(--slate);margin-bottom:8px}
.card .gf{border-top:1px solid var(--line);margin-top:10px;padding-top:8px;font-size:12px;color:var(--slate)}
.card .gf b{font-family:var(--lab);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);display:block;margin-bottom:2px}
/* spec blocks — the engineering device */
.spec{border:1px solid var(--line);border-radius:11px;overflow:hidden;margin:14px 0;background:var(--paper)}
.spec .sh{background:var(--ink);color:#fff;padding:11px 16px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.spec .sh .code{font-family:var(--mono);font-size:11px;color:var(--brasslt);letter-spacing:.04em}
.spec .sh h4{color:#fff;margin:0;font-size:17px}
.spec .sh .tag{margin-left:auto;font-family:var(--lab);font-size:8.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#9FB6C9}
.spec .sb{padding:14px 16px}
.spec .sb p{font-size:13.5px;color:var(--slate)}
.spec table{margin:0}.spec td{font-size:12.5px;padding:6px 0;border-bottom:1px solid var(--line)}
.spec td:first-child{color:var(--slate);width:44%}.spec td:last-child{font-family:var(--mono);font-size:12px;color:var(--ink);text-align:right}
.spec tr:last-child td{border-bottom:0}.spec tr:nth-child(even) td{background:transparent}
.creds{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}
.creds span{font-family:var(--lab);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
padding:5px 11px;border-radius:20px;background:var(--sky);color:var(--navy);border:1px solid #CFDEEA}
.hero{background:linear-gradient(160deg,var(--deep) 0%,var(--ink) 62%,#0A3F68 100%);color:#fff;padding:44px 0 40px;margin-bottom:6px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-120px;top:-140px;width:460px;height:460px;border-radius:50%;background:rgba(185,151,90,.10)}
.hero .wrap{position:relative}
.hero h1{color:#fff;font-size:41px;max-width:760px;margin-bottom:14px}
.hero .eyebrow{color:var(--brasslt)}
.hero p{color:#C8D7E3;font-size:16.5px;max-width:660px}
.hero b{color:#fff}
.hero .btn.ghost{color:#fff!important;border-color:rgba(255,255,255,.32)}
.hero .btn.ghost:hover{background:rgba(255,255,255,.09)}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.16);margin-top:26px;padding-top:18px}
.metrics div{padding-right:16px}
.metrics .v{font-family:var(--mono);font-size:21px;color:var(--brasslt);display:block;letter-spacing:-.02em}
.metrics .l{font-size:11px;color:#9FB6C9;line-height:1.4;display:block;margin-top:3px}
/* door cards — the entry device */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:22px 0}
.door{border:1px solid var(--line);border-radius:13px;padding:20px;background:var(--paper);display:flex;flex-direction:column;
transition:border-color .15s,box-shadow .15s}
.door:hover{border-color:var(--brasslt);box-shadow:0 3px 18px rgba(8,74,130,.07);text-decoration:none}
.door .who{font-family:var(--lab);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}
.door h3{margin:7px 0 3px;font-size:21px}
.door .price{font-family:var(--disp);font-size:18px;color:var(--navy);font-weight:600;margin:9px 0 2px;letter-spacing:-.01em}
.door .per{font-size:11.5px;color:var(--slatelt);margin-bottom:10px}
.door p{font-size:13px;color:var(--slate);flex:1;margin-bottom:11px}
.door .go{font-family:var(--lab);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--navy)}
/* panels */
.pull{border-left:3px solid var(--navy);background:var(--sky);border-radius:0 10px 10px 0;padding:14px 17px;margin:16px 0}
.pull.brass{border-left-color:var(--brass);background:var(--tint)}
.pull .pk{font-family:var(--lab);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);display:block;margin-bottom:4px}
.pull.brass .pk{color:var(--brass)}
.pull p:last-child{margin-bottom:0}
.zs{background:linear-gradient(100deg,var(--deep),var(--ink));color:#fff;border-radius:13px;padding:22px 26px;margin:22px 0;position:relative;overflow:hidden}
.zs:after{content:"";position:absolute;right:-70px;top:-70px;width:230px;height:230px;border-radius:50%;background:rgba(185,151,90,.15)}
.zs .eyebrow{color:var(--brasslt)}.zs h3{color:#fff;font-size:24px;margin-bottom:6px}
.zs p{color:#CFDCE6;font-size:14px;max-width:640px}
.zs .btn{background:var(--brass);border-color:var(--brass)}
/* tables */
table{width:100%;border-collapse:collapse;font-size:13.5px;margin:12px 0}
th{background:var(--navy);color:#fff;font-family:var(--lab);font-size:9.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;padding:8px 10px;text-align:left}
td{border-bottom:1px solid var(--line);padding:8px 10px;vertical-align:top}
tr:nth-child(even) td{background:var(--mist)}
td.n{font-family:var(--mono);text-align:right;white-space:nowrap}
td.k{font-weight:600;color:var(--ink)}
.tot td{background:var(--tint)!important;font-weight:700;color:var(--navy)}
/* lists */
ul.pts{list-style:none;padding:0;margin:10px 0}
ul.pts li{position:relative;padding-left:17px;margin-bottom:7px;font-size:14px;color:var(--slate)}
ul.pts li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;background:var(--brasslt);border-radius:1px}
ul.pts li b{color:var(--ink)}
/* record device */
.tx{background:var(--ink);border-radius:9px;padding:12px 15px;margin:14px 0;overflow-x:auto}
.tx code{font-family:var(--mono);font-size:12px;color:#D7E3EC;white-space:nowrap}
.tx code b{color:var(--brasslt)}
/* kpi */
.kpi{border:1px dashed var(--brasslt);background:var(--tint);border-radius:11px;padding:14px 17px;margin:14px 0}
.kpi .kh{font-family:var(--lab);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--brass);margin-bottom:9px}
.kslots{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}
.kslot{text-align:center}.kslot .v{font-family:var(--mono);font-size:23px;color:var(--brass);display:block}
.kslot .l{font-size:10.5px;color:var(--slate);line-height:1.3;display:block;margin-top:2px}
/* disqualify */
.dis{border:1px solid var(--line);border-radius:11px;padding:15px 18px;background:var(--mist);margin:15px 0}
.dis .dh{font-family:var(--lab);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--slate);margin-bottom:8px}
.dis li{list-style:none;padding-left:19px;position:relative;font-size:13.5px;color:var(--slate);margin-bottom:5px}
.dis li:before{content:"\2715";position:absolute;left:0;color:var(--bad);font-size:11px;top:1px}
.dis ul{padding:0;margin:0}
/* cta */
.cta{background:var(--ink);border-radius:13px;padding:26px 30px;margin:30px 0 8px;position:relative;overflow:hidden}
.cta:after{content:"";position:absolute;right:-60px;bottom:-90px;width:250px;height:250px;border-radius:50%;background:rgba(185,151,90,.13)}
.cta .kick{font-family:var(--lab);font-size:9.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--brasslt);display:block;margin-bottom:6px}
.cta h3{color:#fff;font-size:23px;margin-bottom:7px}.cta p{color:#CFDCE6;font-size:14px;max-width:600px}
.lines{display:flex;gap:32px;margin-top:14px;flex-wrap:wrap;position:relative}
.lines .lbl{font-family:var(--lab);font-size:8.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--brasslt);display:block}
.lines .val{font-family:var(--mono);font-size:14px;color:#fff}
/* footer */
footer{border-top:1px solid var(--line);margin-top:34px;padding:22px 0 30px;background:var(--mist)}
.fnav{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:12px}
.fnav a{font-size:12.5px;color:var(--slate)}
.pill{display:inline-block;font-family:var(--lab);font-size:8.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
padding:2px 8px;border-radius:20px;background:var(--sky2);color:var(--navy);margin-left:6px}
.pill.ok{background:var(--okbg);color:var(--ok)}.pill.br{background:var(--tint);color:var(--brass)}
.band{background:var(--mist);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:24px 0}
@media(max-width:880px){.metrics{grid-template-columns:1fr 1fr;gap:14px}.hero h1{font-size:33px}
.g3,.g4,.doors{grid-template-columns:1fr 1fr}.kslots{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.metrics{grid-template-columns:1fr}.hero{padding:30px 0 26px}.hero h1{font-size:27px}.hero p{font-size:15px}
.spec .sh{padding:10px 13px}.spec .sb{padding:12px 13px}
.g2,.g3,.g4,.doors{grid-template-columns:1fr}h1{font-size:29px}h2{font-size:23px}
.nav a.n{padding:6px 7px;font-size:9.5px}.wrap{padding:0 15px}.cta,.zs{padding:19px 18px}
table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;font-size:12.5px}
table td,table th{padding:6px 8px}
.card table{white-space:normal}
/* the record line scrolls on a desktop, where the single-line metaphor reads.
   On a phone a hidden overflow is worse than a wrapped line, so it wraps. */
.tx{padding:10px 12px}
.tx code{font-size:10.5px;white-space:normal;overflow-wrap:anywhere;line-height:1.65}
div[style*="grid-template-columns:1.35fr"]{grid-template-columns:1fr!important;gap:18px!important}}

/* ── V1 signature devices, restored ── */
.proofh,.limith{border-radius:10px;padding:12px 15px;margin:12px 0}
.proofh{background:var(--sky);border-left:3px solid var(--navy)}
.limith{background:var(--tint);border-left:3px solid var(--brass)}
.proofh .h,.limith .h{font-family:var(--lab);font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;display:block;margin-bottom:5px}
.proofh .h{color:var(--navy)}.limith .h{color:var(--brass)}
.proofh p,.limith p{margin:0;font-size:13.5px;line-height:1.6}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.floor{border-left:3px solid var(--brasslt);background:var(--mist);border-radius:0 10px 10px 0;padding:14px 18px;margin:16px 0}
.floor .fh{font-family:var(--lab);font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--brass);display:block;margin-bottom:6px}
.floor .fh .dl{font-family:var(--mono);font-size:9.5px;color:var(--slatelt);letter-spacing:.02em;margin-left:9px;text-transform:none;font-weight:400}
.floor p{font-family:var(--disp);font-style:italic;font-size:15.5px;line-height:1.62;color:var(--body);margin:0}
.floor p b{font-style:normal;color:var(--navy)}
.fields{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;overflow:hidden;margin:14px 0}
.field{background:var(--paper);padding:9px 11px}
.field .fl{font-family:var(--lab);font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--brass);display:block}
.field .fv{font-family:var(--mono);font-size:12px;color:var(--ink);display:block;margin-top:3px}
.chip{display:inline-block;font-family:var(--mono);font-size:11px;background:var(--sky);color:var(--navy);border:1px solid #CFDEEA;border-radius:5px;padding:2px 9px;margin:3px 4px 0 0}
.sd{border:1px solid var(--line);border-radius:11px;overflow:hidden;margin:14px 0}
.sd .sdh{background:var(--mist);border-bottom:1px solid var(--line);padding:10px 15px;font-family:var(--lab);font-size:9.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--navy)}
.sd .sdb{padding:14px 15px}
@media(max-width:700px){.duo{grid-template-columns:1fr}.fields{grid-template-columns:1fr 1fr}}

/* page hero — interior pages (light, inside the wrap) */
.phero{padding:30px 0 20px;border-bottom:1px solid var(--line);margin:0 0 14px}
.phero h1{font-size:34px;max-width:840px;margin:2px 0 11px}
.phero p{max-width:760px;color:var(--slate)}
.phero .lede{color:var(--body)}
/* full-bleed break-out for the dark hero and the mist band */
.page .hero,.page .band{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw}
html,body{overflow-x:hidden}
@media(max-width:600px){.phero h1{font-size:26px}.phero{padding:22px 0 16px}.duo{grid-template-columns:1fr}
.fields{grid-template-columns:1fr 1fr}}
@media(max-width:880px){.duo{grid-template-columns:1fr}.fields{grid-template-columns:repeat(2,1fr)}}

.page > .wrap > .wrap{max-width:none;padding-left:0;padding-right:0}

/* ── questionnaire gate ── */
.gform .gg{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin:14px 0}
.gform label{display:block;font-family:var(--lab);font-size:9.5px;font-weight:800;letter-spacing:.13em;
text-transform:uppercase;color:var(--brass)}
.gform input{display:block;width:100%;margin-top:5px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;
font-family:var(--ui);font-size:14px;color:var(--body);background:var(--paper);letter-spacing:normal;text-transform:none;font-weight:400}
.gform input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(8,74,130,.10)}
.gform input[aria-invalid="true"]{border-color:var(--bad);background:var(--badbg)}
.gform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.gform .gact{display:flex;align-items:center;gap:14px;margin:4px 0 12px}
.gform .gmsg{font-size:13px;color:var(--bad)}
.gform .gmsg.ok{color:var(--ok)}
.gform button[disabled]{opacity:.55;cursor:default}
@media(max-width:600px){.gform .gg{grid-template-columns:1fr}}
