:root{
--ink:#102f3b;
--ink-deep:#071d26;
--paper:#eef4ef;
--paper-bright:#fbfdf8;
--line:#52727a;
--line-soft:#afc1bc;
--accent:#d75432;
--accent-dark:#a92f18;
--signal:#f2b544;
--muted:#49636a;
--dark-muted:#b8ccd0;
--focus:#9b260f;
--focus-light:#ffe58b;
--s1:4px;
--s2:8px;
--s3:12px;
--s4:16px;
--s5:24px;
--s6:40px;
--s7:64px;
--max:1180px;
--header:64px;
--mono:"Courier New",Courier,monospace;
--sans:Arial,Helvetica,sans-serif
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background-color:var(--paper);background-image:linear-gradient(rgba(82,114,122,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(82,114,122,.12) 1px,transparent 1px),linear-gradient(rgba(82,114,122,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(82,114,122,.06) 1px,transparent 1px);background-size:40px 40px,40px 40px,8px 8px,8px 8px;color:var(--ink);font-family:var(--sans);line-height:1.65}
body.menu-open{position:fixed;width:100%}
img{display:block;max-width:100%;height:auto}
a{color:var(--accent-dark);text-decoration-thickness:1px;text-underline-offset:var(--s1)}
a:hover{text-decoration-thickness:2px}
button,input,textarea,select{font:inherit}
h1,h2,h3,p,li,address,dd,dt{overflow-wrap:anywhere}
h1,h2,h3{font-family:var(--mono);line-height:1.12;margin-top:0;color:var(--ink-deep)}
h1{font-size:clamp(2.35rem,7vw,5.5rem);letter-spacing:-.07em;max-width:14ch}
h2{font-size:clamp(1.65rem,4vw,2.7rem);letter-spacing:-.04em}
h3{font-size:1.25rem}
p{margin-top:0}
ul,ol{padding-left:var(--s5)}
address{font-style:normal}
.skip-link{position:absolute;left:var(--s4);top:var(--s4);z-index:1000;background-color:var(--ink-deep);color:var(--paper-bright);padding:var(--s2) var(--s4);transform:translateY(calc((var(--s7) + var(--s6)) * -1))}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:var(--s1)}
.container{width:min(calc(100% - (var(--s4) * 2)),var(--max));margin-inline:auto}
.site-header{height:52px;background-color:var(--paper-bright);color:var(--ink);border-bottom:1px solid var(--ink);position:relative;z-index:60}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}
.brand{display:inline-flex;align-items:center;gap:var(--s2);color:var(--ink-deep);font-family:var(--mono);font-weight:700;text-decoration:none;font-size:.9rem}
.brand-mark{width:28px;height:28px;flex:0 0 auto}
.desktop-nav,.header-cta{display:none}
.menu-toggle{width:40px;height:40px;border:1px solid var(--ink);background-color:var(--paper-bright);color:var(--ink-deep);padding:var(--s2);cursor:pointer}
.menu-toggle span{display:block;height:2px;background-color:currentColor;color:var(--ink-deep);margin:var(--s1) 0}
.mobile-menu{display:none;position:fixed;inset:52px 0 0;background-color:var(--ink-deep);color:var(--paper-bright);padding:var(--s5) var(--s4);overflow-y:auto;z-index:55}
.mobile-menu.is-open{display:flex;flex-direction:column}
.mobile-menu ul{list-style:none;padding:0;margin-block:auto;display:flex;flex-direction:column;gap:var(--s2);width:min(100%,480px);margin-inline:auto}
.mobile-menu a{display:block;color:var(--paper-bright);padding:var(--s4);border-bottom:1px solid var(--line);font-family:var(--mono);font-size:1rem;text-decoration:none}
.mobile-menu .mobile-cta{background-color:var(--signal);color:var(--ink-deep);border:1px solid var(--paper-bright);margin-top:var(--s4);text-align:center;font-weight:700}
main{min-height:60vh}
.hero{padding:var(--s7) 0;position:relative}
.hero-grid{display:grid;gap:var(--s6);align-items:center}
.eyebrow,.draft-label,.section-code{display:inline-flex;align-items:center;gap:var(--s2);font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.eyebrow::before,.draft-label::before,.section-code::before{content:"";width:24px;height:1px;background-color:var(--accent);color:var(--ink)}
.hero-copy p{font-size:1.12rem;max-width:62ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s5)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--s2) var(--s4);border:1px solid var(--ink-deep);background-color:var(--accent);color:var(--paper-bright);font-family:var(--mono);font-weight:700;text-decoration:none}
.button.secondary{background-color:var(--paper-bright);color:var(--ink-deep)}
.lead-frame{position:relative;padding:var(--s4);border:1px solid var(--ink);background-color:rgba(251,253,248,.88);color:var(--ink)}
.lead-frame::before,.lead-frame::after{content:"";position:absolute;background-color:var(--accent);color:var(--paper-bright)}
.lead-frame::before{width:40px;height:1px;top:var(--s2);left:calc(var(--s5) * -1)}
.lead-frame::after{width:1px;height:40px;right:var(--s2);bottom:calc(var(--s5) * -1)}
.lead-image{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}
.figure-note{display:flex;justify-content:space-between;gap:var(--s4);margin-top:var(--s3);font-family:var(--mono);font-size:.78rem;color:var(--muted)}
.section{padding:var(--s7) 0}
.section-head{display:grid;gap:var(--s4);margin-bottom:var(--s6);border-top:1px solid var(--ink);padding-top:var(--s4)}
.section-head p{max-width:66ch}
.timeline{position:relative;display:grid;gap:var(--s6)}
.timeline::before{content:"";position:absolute;left:11px;top:0;bottom:0;width:1px;background-color:var(--ink);color:var(--ink)}
.timeline-entry{position:relative;padding-left:var(--s6);min-width:0}
.timeline-marker{position:absolute;left:0;top:0;width:24px;height:24px;border:1px solid var(--ink-deep);background-color:var(--signal);color:var(--ink-deep);font:700 .72rem/22px var(--mono);text-align:center}
.timeline-content{padding:var(--s5);border-top:1px solid var(--ink);border-bottom:1px solid var(--line-soft);background-color:rgba(251,253,248,.9);color:var(--ink)}
.timeline-content h3{margin-bottom:var(--s3)}
.timeline-content p{max-width:66ch}
.text-link{display:inline-flex;align-items:center;gap:var(--s2);font-family:var(--mono);font-weight:700}
.text-link::after{content:"→"}
.support-grid{display:grid;gap:var(--s5)}
.support-panel{padding:var(--s5);border:1px solid var(--ink);background-color:var(--paper-bright);color:var(--ink);position:relative}
.support-panel::before{content:attr(data-code);position:absolute;right:var(--s4);top:var(--s2);font:700 .72rem var(--mono);color:var(--accent-dark)}
.support-panel ul{margin-bottom:0}
.page-hero{padding:var(--s7) 0 var(--s6)}
.page-hero-grid{display:grid;gap:var(--s6);align-items:center}
.page-hero h1{font-size:clamp(2.2rem,6vw,4.8rem)}
.page-hero p{max-width:66ch;font-size:1.08rem}
.article-layout{display:grid;gap:var(--s6);padding-bottom:var(--s7)}
.article-nav{border-left:4px solid var(--accent);padding-left:var(--s4);align-self:start}
.article-nav strong{font-family:var(--mono)}
.article-nav ol{margin-bottom:0}
.prose{max-width:780px}
.prose section{padding-top:var(--s6);border-top:1px solid var(--line);margin-top:var(--s6)}
.prose section:first-child{margin-top:0}
.prose h2{font-size:clamp(1.55rem,3vw,2.2rem)}
.prose .question{font-weight:700;font-family:var(--mono);font-size:1.1rem;color:var(--accent-dark)}
.fact-grid{display:grid;gap:var(--s4);margin:var(--s5) 0}
.fact{padding:var(--s5);border-left:4px solid var(--signal);background-color:var(--paper-bright);color:var(--ink)}
.fact dt{font:700 .8rem var(--mono);text-transform:uppercase;color:var(--muted)}
.fact dd{margin:var(--s3) 0 0}
.table-wrap{overflow-x:auto;margin:var(--s5) 0}
table{width:100%;border-collapse:collapse;background-color:var(--paper-bright);color:var(--ink);min-width:640px}
th,td{text-align:left;vertical-align:top;border:1px solid var(--line);padding:var(--s4)}
th{background-color:var(--ink-deep);color:var(--paper-bright);font-family:var(--mono)}
.callout{padding:var(--s5);border:1px solid var(--ink);border-left:8px solid var(--accent);background-color:var(--paper-bright);color:var(--ink);margin:var(--s5) 0}
.contact-grid{display:grid;gap:var(--s6);padding-bottom:var(--s7)}
.contact-form{padding:var(--s5);border:1px solid var(--ink);background-color:var(--paper-bright);color:var(--ink)}
.field{margin-bottom:var(--s5)}
.field label{display:block;font-family:var(--mono);font-weight:700;margin-bottom:var(--s2)}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background-color:#fff;color:var(--ink-deep);padding:var(--s3)}
.field textarea{min-height:160px;resize:vertical}
.field .error{display:none;color:#8b1e0c;font-size:.9rem;margin:var(--s2) 0 0}
.field.is-invalid input,.field.is-invalid textarea,.field.is-invalid select{border:2px solid #8b1e0c}
.field.is-invalid .error{display:block}
.form-status{font-weight:700;margin-top:var(--s4)}
.contact-details{align-self:start;padding:var(--s5);border-top:4px solid var(--signal);background-color:var(--ink-deep);color:var(--paper-bright)}
.contact-details h2,.contact-details a{color:var(--paper-bright)}
.legal{max-width:860px;padding-bottom:var(--s7)}
.legal section{padding-top:var(--s6);margin-top:var(--s6);border-top:1px solid var(--line)}
.legal h2{font-size:1.75rem}
.site-footer{background-color:var(--ink-deep);color:var(--paper-bright);padding:var(--s7) 0}
.footer-grid{display:grid;gap:var(--s6)}
.footer-brand{font-family:var(--mono);font-weight:700;font-size:1.1rem}
.site-footer h2{font-size:1rem;color:var(--paper-bright);letter-spacing:.04em}
.site-footer a{color:var(--paper-bright)}
.site-footer p,.site-footer li,.site-footer address{color:var(--dark-muted)}
.site-footer ul{list-style:none;padding:0;margin:0}
.footer-meta{padding-top:var(--s5);margin-top:var(--s6);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s4)}
.cookie-banner{position:fixed;left:var(--s4);right:var(--s4);bottom:var(--s4);z-index:90;background-color:var(--ink-deep);color:var(--paper-bright);border:1px solid var(--signal);padding:var(--s4)}
.cookie-main{display:grid;gap:var(--s4)}
.cookie-copy p{margin:0;color:var(--dark-muted)}
.cookie-copy a{color:var(--paper-bright)}
.cookie-actions{display:flex;flex-wrap:wrap;gap:var(--s2)}
.cookie-actions button{flex:1 1 auto;border:1px solid var(--paper-bright);padding:var(--s2) var(--s4);background-color:var(--paper-bright);color:var(--ink-deep);font-family:var(--mono);font-weight:700;cursor:pointer}
.cookie-actions button:first-child{background-color:var(--signal);color:var(--ink-deep)}
.cookie-preferences{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--line)}
.cookie-preferences h2{color:var(--paper-bright);font-size:1rem}
.cookie-options{display:grid;gap:var(--s3)}
.cookie-option{display:flex;align-items:flex-start;gap:var(--s2)}
.cookie-option input{margin-top:var(--s1)}
.cookie-option span{color:var(--dark-muted)}
[hidden]{display:none!important}
.site-footer :focus-visible,.mobile-menu :focus-visible,.cookie-banner :focus-visible,.contact-details :focus-visible{outline-color:var(--focus-light)}
@media (max-width:479px){
.cookie-actions{flex-direction:column}
.cookie-actions button{width:100%}
.hero-actions{flex-direction:column}
.hero-actions .button{width:100%}
}
@media (min-width:480px){
.container{width:min(calc(100% - (var(--s5) * 2)),var(--max))}
.fact-grid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width:768px){
.hero-grid,.page-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)}
.section-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.support-grid{grid-template-columns:repeat(3,1fr)}
.footer-grid{grid-template-columns:1.2fr 1fr 1fr}
.contact-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr)}
.article-layout{grid-template-columns:220px minmax(0,1fr)}
.article-nav{position:sticky;top:var(--s5)}
.cookie-main{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.cookie-actions{justify-content:flex-end}
}
@media (min-width:1024px){
.site-header{height:64px}
.brand{flex-shrink:0;white-space:nowrap}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:var(--s3);min-width:0}
.desktop-nav a{white-space:nowrap;color:var(--ink-deep);font-size:.875rem;font-family:var(--mono);text-decoration:none;padding:var(--s2) var(--s1)}
.header-cta{display:inline-flex;white-space:nowrap;padding:var(--s2) var(--s3);border:1px solid var(--ink);background-color:var(--accent);color:var(--paper-bright);font-family:var(--mono);font-weight:700;text-decoration:none}
.menu-toggle,.mobile-menu{display:none!important}
.timeline{grid-template-columns:1fr 1fr;column-gap:var(--s7)}
.timeline::before{left:50%}
.timeline-entry{padding-left:0;padding-right:var(--s6)}
.timeline-entry:nth-child(even){grid-column:2;padding-right:0;padding-left:var(--s6)}
.timeline-entry:nth-child(odd){grid-column:1}
.timeline-entry:nth-child(even) .timeline-marker{left:calc(var(--s3) * -1)}
.timeline-entry:nth-child(odd) .timeline-marker{left:auto;right:calc(var(--s3) * -1)}
.timeline-entry:nth-child(even){margin-top:var(--s7)}
.timeline-entry:nth-child(3){grid-row:2}
.timeline-entry:nth-child(4){grid-row:2}
.timeline-entry:nth-child(5){grid-row:3}
}
@media (prefers-reduced-motion:reduce){
*{transition-duration:.01ms!important;animation-duration:.01ms!important}
html{scroll-behavior:auto}
}