:root{--s4:4px;--s8:8px;--s12:12px;--s16:16px;--s24:24px;--s32:32px;--s40:40px;--s64:64px;--max:1200px;--bg:#0b1e2c;--surface:#102839;--surface2:#173347;--line:#2c4a5e;--grid:rgba(255,255,255,.06);--ink:#eef3f6;--muted:#b7c6d1;--muted2:#c9d7e0;--accent:#ff8a3d;--accent2:#5fd4ff;--font-mono:'Courier New',ui-monospace,SFMono-Regular,monospace;--font-body:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background-color:var(--bg);background-image:repeating-linear-gradient(0deg,var(--grid) 0 1px,transparent 1px 48px),repeating-linear-gradient(90deg,var(--grid) 0 1px,transparent 1px 48px);color:var(--ink);font-family:var(--font-body);line-height:1.55}
h1,h2,h3,p,ul,ol,dl{overflow-wrap:anywhere}
img{max-width:100%}
a{color:var(--accent2)}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.site-footer :focus-visible,.mobile-menu :focus-visible,.cookie-banner :focus-visible{outline-color:var(--accent2)}
.container{width:min(100% - var(--s32),var(--max));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent2);color:var(--bg);padding:var(--s8) var(--s16);z-index:100;text-decoration:none;font-family:var(--font-mono)}
.skip-link:focus{left:var(--s16);top:var(--s16)}
.label{display:inline-flex;align-items:center;gap:var(--s8);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--muted)}
.label::before{content:"";width:20px;height:1px;background:var(--accent2);display:inline-block;flex-shrink:0}
.blueprint-panel{border:1px solid var(--line);background:var(--surface);padding:var(--s24);position:relative}
.blueprint-panel::before,.blueprint-panel::after{content:"";position:absolute;width:14px;height:14px;border-color:var(--accent2);border-style:solid}
.blueprint-panel::before{top:-1px;left:-1px;border-width:1px 0 0 1px}
.blueprint-panel::after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}
.blueprint-frame{position:relative;border:1px solid var(--line);padding:var(--s8)}
.blueprint-frame::before,.blueprint-frame::after{content:"";position:absolute;width:16px;height:16px;border-color:var(--accent2);border-style:solid}
.blueprint-frame::before{top:-1px;left:-1px;border-width:1px 0 0 1px}
.blueprint-frame::after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}
.blueprint-frame img{width:100%;height:auto;display:block}
.ruler{height:18px;background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 20px);margin-bottom:var(--s16)}
.site-header{background:var(--surface);border-bottom:1px solid var(--line)}
.header-row{display:flex;align-items:center;gap:var(--s16);height:60px}
@media(max-width:1023px){.header-row{height:52px}}
.brand{display:flex;align-items:center;gap:var(--s8);color:var(--ink);text-decoration:none;flex-shrink:0;white-space:nowrap;font-family:var(--font-mono);font-size:1rem}
.brand svg{width:26px;height:26px;color:var(--accent2)}
.nav-desktop{display:none}
@media(min-width:1024px){.nav-desktop{display:flex;flex:1;justify-content:center;min-width:0}
.nav-desktop ul{display:flex;gap:var(--s24);list-style:none;margin:0;padding:0;flex-wrap:nowrap}
.nav-desktop a{color:var(--ink);text-decoration:none;font-size:.9rem;white-space:nowrap}
.nav-desktop a:hover{color:var(--accent2)}}
.cta{display:none}
@media(min-width:1024px){.cta{display:inline-flex;border:1px solid var(--accent2);color:var(--accent2);padding:var(--s8) var(--s16);font-family:var(--font-mono);font-size:.85rem;text-decoration:none;white-space:nowrap;flex-shrink:0}
.cta:hover{background:var(--accent2);color:var(--bg)}}
.hamburger{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:transparent;border:1px solid var(--line);margin-left:auto;cursor:pointer;flex-shrink:0}
@media(min-width:1024px){.hamburger{display:none}}
.hamburger span{width:20px;height:2px;background:var(--ink)}
.mobile-menu[hidden]{display:none}
.mobile-menu{position:fixed;inset:0;background:var(--bg);z-index:50;overflow-y:auto;display:flex;flex-direction:column;padding:var(--s24)}
.mobile-menu-top{display:flex;justify-content:flex-end}
.mobile-menu-close{background:transparent;border:1px solid var(--line);color:var(--ink);width:40px;height:40px;cursor:pointer}
.mobile-menu nav{display:flex;flex-direction:column;margin-block:auto}
.mobile-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s16)}
.mobile-menu a{color:var(--ink);text-decoration:none;font-size:1.1rem;white-space:nowrap}
.mobile-menu .cta{display:inline-flex;margin-top:var(--s16)}
.hero{padding-block:var(--s64) var(--s40)}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--s32);align-items:center}
.hero-grid>*{min-width:0}
@media(max-width:767px){.hero-grid{grid-template-columns:1fr}}
.hero h1{font-family:var(--font-mono);font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.15;margin:var(--s16) 0}
.hero p{color:var(--muted2);font-size:1.05rem;max-width:60ch}
.section{padding-block:var(--s64)}
.section h2{font-family:var(--font-mono);font-size:1.5rem;margin:var(--s12) 0 var(--s16)}
.split-index{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:var(--s32);margin-top:var(--s24)}
.split-index>*{min-width:0}
@media(max-width:767px){.split-index{grid-template-columns:1fr}}
.split-list{border-right:1px solid var(--line);padding-right:var(--s24)}
@media(max-width:767px){.split-list{border-right:none;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:var(--s16);margin-bottom:var(--s16)}}
.split-list ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s8)}
.split-list a{display:flex;gap:var(--s12);align-items:baseline;padding:var(--s12);border:1px solid transparent;text-decoration:none;color:var(--ink)}
.split-list a:hover,.split-list a:focus-visible{border-color:var(--line);background:var(--surface2)}
.split-num{font-family:var(--font-mono);color:var(--accent2);font-size:.85rem}
.split-details{display:flex;flex-direction:column;gap:var(--s24)}
.split-entry{margin-top:var(--s8)}
.split-entry::before{content:"GUIDE " attr(data-index);position:absolute;top:-12px;left:var(--s16);background:var(--bg);padding-inline:var(--s8);font-family:var(--font-mono);color:var(--accent2);font-size:.75rem}
.split-entry h3{margin:0 0 var(--s8);font-family:var(--font-mono)}
.split-entry p{margin:0 0 var(--s12);color:var(--ink)}
.text-link{color:var(--accent2);text-decoration:none;font-family:var(--font-mono);font-size:.85rem}
.text-link:hover{text-decoration:underline}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s24);margin-top:var(--s24)}
.principle-grid>*{min-width:0}
@media(max-width:767px){.principle-grid{grid-template-columns:1fr}}
.principle-grid h3{margin:0 0 var(--s8);font-family:var(--font-mono);font-size:1rem}
.principle-grid p{margin:0;color:var(--muted2);font-size:.95rem}
.prose h2{font-family:var(--font-mono);font-size:1.3rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line);padding-bottom:var(--s8);margin:var(--s40) 0 var(--s16)}
.prose p{margin:0 0 var(--s16);color:var(--ink);max-width:70ch}
.prose ul{margin:0 0 var(--s16);padding-left:var(--s24);color:var(--ink);max-width:70ch}
.prose li{margin-bottom:var(--s8)}
.spec-list{display:grid;grid-template-columns:auto 1fr;gap:var(--s8) var(--s16);margin:var(--s16) 0 var(--s24);max-width:70ch}
.spec-list>*{min-width:0}
.spec-list dt{font-family:var(--font-mono);color:var(--accent2);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.spec-list dd{margin:0;color:var(--ink);padding-bottom:var(--s8);border-bottom:1px solid var(--line)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);margin:var(--s16) 0 var(--s24)}
table{width:100%;border-collapse:collapse;min-width:420px}
th,td{padding:var(--s12);border-bottom:1px solid var(--line);text-align:left;font-size:.9rem;color:var(--ink)}
th{font-family:var(--font-mono);text-transform:uppercase;font-size:.75rem;color:var(--accent2);letter-spacing:.05em}
.contact-form{display:flex;flex-direction:column;gap:var(--s16);max-width:640px}
.field{display:flex;flex-direction:column;gap:var(--s8)}
.field label{font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.field input,.field textarea,.field select{background:var(--surface);border:1px solid var(--line);color:var(--ink);padding:var(--s12);font-family:var(--font-body);font-size:1rem}
.field.is-invalid input,.field.is-invalid textarea{border-color:var(--accent)}
.field-error{color:var(--accent);font-size:.85rem;display:none;margin:0}
.field.is-invalid .field-error{display:block}
.btn{align-self:flex-start;border:1px solid var(--accent2);background:transparent;color:var(--accent2);padding:var(--s12) var(--s24);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;font-size:.9rem}
.btn:hover{background:var(--accent2);color:var(--bg)}
.form-status{padding:var(--s12);border:1px solid var(--line);color:var(--ink)}
.form-status[hidden]{display:none}
.contact-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s32);margin-top:var(--s40)}
.contact-meta>*{min-width:0}
@media(max-width:767px){.contact-meta{grid-template-columns:1fr}}
.site-footer{background:var(--surface);border-top:1px solid var(--line);padding-block:var(--s64) var(--s32)}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s32)}
.footer-grid>*{min-width:0}
.site-footer h3{font-family:var(--font-mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent2);margin:0 0 var(--s12)}
.site-footer p,.site-footer address{color:var(--muted2);font-size:.9rem;margin:0 0 var(--s8);font-style:normal}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s8)}
.site-footer a{color:var(--muted2);text-decoration:none}
.site-footer a:hover{color:var(--accent2)}
.footer-bottom{margin-top:var(--s32);padding-top:var(--s24);border-top:1px solid var(--line);color:var(--muted2);font-size:.8rem;display:flex;flex-wrap:wrap;gap:var(--s12);justify-content:space-between}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:var(--s16);z-index:60;display:flex;flex-wrap:wrap;gap:var(--s16);align-items:center;justify-content:space-between}
.cookie-banner[hidden]{display:none}
.cookie-text{color:var(--ink);font-size:.9rem;flex:1 1 260px;min-width:0;margin:0}
.cookie-actions{display:flex;gap:var(--s12);flex-wrap:wrap}
@media(max-width:479px){.cookie-actions{width:100%}.cookie-actions button{flex:1 1 100%}}
@media(min-width:480px) and (max-width:767px){.cookie-actions button{flex:1 1 auto}}
@media(min-width:768px){.cookie-actions{flex-wrap:nowrap}}
.cookie-actions button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:var(--s8) var(--s16);font-family:var(--font-mono);font-size:.85rem;cursor:pointer}
.cookie-actions button:hover{border-color:var(--accent2);color:var(--accent2)}
.cookie-prefs[hidden]{display:none}
.cookie-prefs{flex-basis:100%;border-top:1px solid var(--line);margin-top:var(--s12);padding-top:var(--s12);color:var(--muted2);font-size:.85rem}
.legal-body h2{font-family:var(--font-mono);font-size:1.2rem;border-bottom:1px solid var(--line);padding-bottom:var(--s8);margin:var(--s40) 0 var(--s16)}
.legal-body p,.legal-body li{color:var(--ink);max-width:75ch}
.legal-body ul{padding-left:var(--s24)}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}html{scroll-behavior:auto}}