/* 01 Tokens & reset */
:root{--ink:#172033;--navy:#17263b;--navy-soft:#243650;--paper:#f3f1eb;--surface:#fbfaf7;--mist:#e4e8e9;--line:#c8cfd2;--muted:#69747c;--steel:#718a99;--brass:#a57d48;--ice:#dce7ea;--white:#fff;--sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif;--step--1:clamp(.76rem,.73rem + .12vw,.84rem);--step-0:clamp(.95rem,.9rem + .22vw,1.08rem);--step-1:clamp(1.15rem,1.04rem + .48vw,1.42rem);--step-2:clamp(1.45rem,1.22rem + .9vw,2rem);--step-3:clamp(2rem,1.55rem + 1.8vw,3.1rem);--step-4:clamp(2.7rem,1.9rem + 3.2vw,5rem);--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2.5rem;--space-5:4rem;--space-6:clamp(5rem,9vw,8rem);--container:min(1180px,calc(100% - 3rem));--border:1px solid var(--line);--radius:2px;--shadow:0 18px 60px rgba(23,38,59,.09);--transition:220ms ease}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;color:var(--ink);background:var(--surface);font-family:var(--sans);font-size:var(--step-0);line-height:1.65}img{display:block;max-width:100%}a{color:inherit}button,input{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08}ul,ol{margin:0;padding:0}
/* 02 Base */
h1{max-width:12ch;margin-bottom:1.5rem;font-family:var(--serif);font-size:var(--step-4);font-weight:400;letter-spacing:-.04em}h2{margin-bottom:1rem;font-family:var(--serif);font-size:var(--step-3);font-weight:400;letter-spacing:-.025em}h3{font-size:var(--step-1)}p{color:#46525b}.container{width:var(--container);margin-inline:auto}.section{padding-block:var(--space-6)}.section-head{display:grid;grid-template-columns:minmax(180px,.55fr) 1fr 1fr;gap:var(--space-3);align-items:start;margin-bottom:var(--space-5)}.section-head h2{grid-column:2}.section-head>p:last-child{grid-column:3}.section-number,.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:var(--step--1);font-weight:750;color:var(--steel)}.lead{max-width:55ch;font-size:var(--step-1);line-height:1.55}.lead-small{font-size:var(--step-1);line-height:1.5}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:.72rem 1.2rem;border:1px solid var(--navy);text-decoration:none;font-size:.9rem;font-weight:700;transition:background var(--transition),color var(--transition),transform var(--transition)}.button:hover{transform:translateY(-2px)}.button.primary{color:var(--white);background:var(--navy)}.button.primary:hover{background:var(--navy-soft)}.button.secondary{background:transparent}.actions{display:flex;gap:.75rem;flex-wrap:wrap}
/* 03 Accessibility */
.skip-link{position:fixed;z-index:1000;top:0;left:1rem;padding:.7rem 1rem;color:var(--white);background:var(--navy);transform:translateY(-120%)}.skip-link:focus{transform:none}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--brass);outline-offset:3px}.clipboard-helper{position:fixed;left:-9999px}
/* 04 Layout */
.hero{padding:clamp(4rem,8vw,7rem) 0;background:linear-gradient(90deg,var(--surface) 0 45%,var(--paper) 45%)}.hero-grid{display:grid;grid-template-columns:.82fr 1fr;gap:clamp(3rem,7vw,7rem);align-items:center}.context-line{margin:1.5rem 0 0;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.context-line span{color:var(--brass);padding-inline:.4rem}
/* 05 Header */
.site-header{position:sticky;z-index:50;top:0;border-bottom:var(--border);background:rgba(251,250,247,.96);backdrop-filter:blur(14px)}.header-inner{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:2rem}.brand{width:min(330px,38vw)}.brand img{width:100%}#primary-navigation{display:flex;align-items:center;gap:clamp(.8rem,1.7vw,1.6rem)}#primary-navigation a{position:relative;text-decoration:none;font-size:.8rem;font-weight:700;color:#46525b}#primary-navigation a::after{position:absolute;right:0;bottom:-.55rem;left:0;height:2px;background:var(--brass);content:"";transform:scaleX(0);transition:transform var(--transition)}#primary-navigation a:hover::after{transform:scaleX(1)}.menu-toggle{display:none;width:46px;height:46px;border:var(--border);background:transparent}.menu-toggle span{display:block;width:20px;height:2px;margin:5px auto;background:var(--navy)}
/* 06 Hero */
.assurance-window{padding:1.1rem;border:1px solid var(--steel);background:var(--navy);box-shadow:22px 22px 0 var(--ice)}.assurance-window>header,.assurance-window>footer{display:flex;justify-content:space-between;gap:1rem;color:#bdc8cf;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em}.window-frame{position:relative;margin:1.2rem 0;padding:2.7rem 0;border:1px solid #6f8194;background:repeating-linear-gradient(90deg,transparent 0 59px,rgba(255,255,255,.055) 60px)}.window-frame::before,.window-frame::after{position:absolute;top:-7px;width:1px;height:14px;background:var(--brass);content:""}.window-frame::before{left:18%}.window-frame::after{right:18%}.vertical-gate{position:absolute;z-index:2;top:1.1rem;bottom:1.1rem;left:67%;width:8px;border-inline:2px solid var(--brass)}.band{display:grid;grid-template-columns:44px 1fr 18px;align-items:center;min-height:48px;margin-block:8px;padding:0 1rem;color:var(--white);background:rgba(220,231,234,.08);border-block:1px solid rgba(220,231,234,.18)}.band b{color:var(--brass);font-size:.72rem}.band span{letter-spacing:.08em}.band i{width:8px;height:8px;background:var(--steel)}.band:nth-child(3){margin-right:8%}.band:nth-child(4){margin-left:7%}.band:nth-child(5){margin-right:13%}.assurance-window>footer{justify-content:flex-start;flex-wrap:wrap}.key{display:inline-block;width:8px;height:8px;margin-right:6px}.key.review{border:1px solid var(--ice)}.key.owner{background:var(--steel)}.key.exception{background:var(--brass)}
/* 07 Assurance strip */
.examined{border-block:var(--border);background:var(--paper)}.examined-grid{display:grid;grid-template-columns:1.2fr repeat(4,1fr)}.examined h2{padding:1.7rem 1.5rem 1.5rem 0;font-family:var(--sans);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em}.examined article{padding:1.5rem;border-left:var(--border)}.examined h3{margin-bottom:.4rem;font-size:.9rem}.examined p{margin:0;font-size:.77rem;line-height:1.5}
/* 08 Assurance fields */
.fields-grid{display:grid;grid-template-columns:1.35fr .82fr;gap:1rem}.field{position:relative;padding:2rem;border:var(--border);background:var(--paper)}.field::after{position:absolute;top:-1px;right:1.7rem;width:9px;height:9px;background:var(--steel);content:""}.field>span{display:block;margin-bottom:2rem;color:var(--brass);font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.field h3{font-size:var(--step-2)}.field strong{display:block;margin-bottom:1rem;font-weight:600}.field ul{display:flex;gap:.5rem;flex-wrap:wrap;list-style:none}.field li{padding:.3rem .55rem;border:var(--border);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.field-primary{grid-row:span 2;padding:clamp(2rem,5vw,4rem);background:var(--navy);color:var(--white)}.field-primary p{color:#cbd3d7}.field-primary li{border-color:#607083}.field-wide{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:3rem;background:var(--ice)}.field-wide>span{position:absolute;top:2rem;left:2rem}.field-wide>div:first-of-type{padding-top:2.5rem}
/* 09 Control boundary */
.boundary{color:var(--white);background:var(--navy)}.boundary p{color:#c7d0d5}.boundary-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:5rem}.gate-line{position:relative;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;list-style:none}.gate-line::before{position:absolute;right:5%;left:5%;height:1px;background:#718394;content:""}.gate-line li{position:relative;z-index:1;padding:.8rem .6rem;background:var(--navy);text-align:center}.gate-line li::before{display:block;width:8px;height:28px;margin:0 auto 1rem;border-inline:2px solid var(--brass);content:""}.gate-line b,.gate-line span{display:block}.gate-line b{font-size:.78rem}.gate-line span{color:#aebac1;font-size:.65rem}
/* 10 Integrity Rail */
.rail-section{background:var(--paper)}.rail{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:0;list-style:none;border-block:1px solid var(--steel)}.rail::before{position:absolute;top:50%;right:0;left:0;height:1px;background:var(--steel);content:""}.rail li{position:relative;z-index:1;min-height:220px;padding:2rem;background:var(--paper);border-right:var(--border)}.rail li:nth-child(n+4){border-top:var(--border)}.rail li::after{position:absolute;right:-5px;bottom:-5px;width:9px;height:9px;background:var(--brass);content:""}.rail span{color:var(--brass);font-size:.72rem;font-weight:800}.rail h3{margin-top:2rem}.rail p{font-size:.85rem}
/* 11 Reference Panel */
.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.profile{padding:1.7rem;border:var(--border);background:var(--white)}.profile header{display:flex;align-items:center;gap:.8rem;margin-bottom:1.5rem}.profile header p{margin:0;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em}.avatar{display:grid;width:42px;height:42px;place-items:center;color:var(--white);background:var(--brass);font-size:.72rem;font-weight:800}.profile p{font-size:.85rem}.profile small{display:block;min-height:3rem;margin-bottom:1rem;color:var(--steel);line-height:1.45}.email-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:1rem;border-top:var(--border)}.email-row a{min-width:0;overflow-wrap:anywhere;font-size:.76rem}.email-row button{flex:none;padding:.45rem .6rem;border:1px solid var(--navy);background:transparent;font-size:.7rem;font-weight:700}.research{background:var(--paper)}.research .avatar{background:var(--steel)}.contact-note{grid-column:1/-1;padding:1.2rem 1.5rem;border-left:4px solid var(--brass);background:var(--ice);font-size:.78rem;color:#46525b}
/* 12 Independence */
.scope{background:var(--navy);color:var(--white)}.scope-grid{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:3rem}.scope p{color:#c7d0d5}.scope article{padding-left:1.5rem;border-left:1px solid #56687b}.scope article p{font-size:.9rem}
/* 13 Field Notes */
.notes{background:var(--paper)}.notes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.field-note{border:var(--border);background:var(--surface)}.field-note summary{position:relative;min-height:195px;padding:1.5rem 3rem 1.5rem 1.5rem;cursor:pointer;list-style:none}.field-note summary::-webkit-details-marker{display:none}.field-note summary::after{position:absolute;top:1.5rem;right:1.5rem;content:"+";font-size:1.4rem;color:var(--brass)}.field-note details[open] summary::after{content:"−"}.field-note summary span{color:var(--steel);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.field-note h3{margin:1rem 0 .7rem}.field-note summary p{margin:0;font-size:.82rem}.field-note details>div{padding:1.5rem;border-top:var(--border);background:var(--white)}.field-note details>div p,.field-note details>div li{font-size:.85rem}.field-note details ul{padding-left:1.2rem}.tags{margin-bottom:0;color:var(--steel);font-size:.72rem!important;text-transform:uppercase;letter-spacing:.07em}.no-results,.disclaimer{padding:1.5rem;border:var(--border);text-align:center}.disclaimer{margin:2rem 0 0;font-size:.75rem;background:var(--ice)}
/* 14 Search */
.search-panel{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;margin-bottom:1.5rem;padding:1.5rem;background:var(--navy);color:var(--white)}.search-panel label{font-weight:700}.search-panel p{grid-column:2;grid-row:1;margin:0;color:#ccd5d9}.search-row{grid-column:1/-1;display:flex}.search-row input{width:100%;min-height:50px;padding:.8rem 1rem;border:0;background:var(--surface)}.search-row button{padding:.5rem 1rem;border:0;border-left:var(--border);background:var(--ice);font-weight:700}
/* 15 About */
.about-grid{display:grid;grid-template-columns:.72fr 1.1fr 1fr;gap:4rem}.about article:last-child{padding-left:2rem;border-left:4px solid var(--ice)}
/* 16 Practice Signals */
.signals{padding-top:0}.signals ol{list-style:none;border-top:2px solid var(--navy)}.signals li{display:grid;grid-template-columns:70px 1fr;gap:1rem;padding:1.2rem 0;border-bottom:var(--border)}.signals li>span{color:var(--brass);font-family:var(--serif);font-size:1.4rem}.signals h3,.signals p{margin:0}.signals p{font-size:.85rem}
/* 17 CTA */
.final-cta{padding-top:0}.final-cta article{position:relative;padding:clamp(2rem,6vw,5rem);border-top:8px solid var(--navy);background:var(--ice)}.final-cta article::before{position:absolute;top:-8px;right:10%;width:10px;height:34px;background:var(--brass);content:""}.final-cta h2{max-width:20ch}.final-cta p:not(.eyebrow){max-width:65ch}
/* 18 Footer */
.site-footer{padding:3rem 0 1.5rem;color:var(--white);background:var(--ink)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr auto;gap:3rem}.footer-grid section{display:flex;gap:1rem}.footer-grid img{width:50px;filter:brightness(0) invert(1)}.footer-grid strong{font-family:var(--serif);font-size:1.2rem}.footer-grid p,.footer-grid small{margin:0;color:#aeb9c0;font-size:.75rem}.footer-grid nav{display:grid;grid-template-columns:1fr 1fr;gap:.3rem 1.5rem}.footer-grid a{font-size:.78rem;text-decoration:none}.copyright{margin-top:2rem;padding-top:1rem;border-top:1px solid #3b4655;color:#89969e;font-size:.7rem}
/* 19 Reveal */
.js-enabled .reveal{opacity:0;transform:translateY(18px);transition:opacity 650ms ease,transform 650ms ease}.js-enabled .reveal.is-visible{opacity:1;transform:none}
/* 20 Responsive */
@media(max-width:1000px){.section-head{grid-template-columns:1fr 1fr}.section-head h2{grid-column:1}.section-head>p:last-child{grid-column:2}.hero-grid{grid-template-columns:1fr 1.1fr;gap:2rem}.reference-grid{grid-template-columns:repeat(2,1fr)}.boundary-grid,.about-grid{grid-template-columns:1fr 1fr}.boundary-grid>article,.about-grid>header{grid-column:1/-1}.scope-grid{grid-template-columns:1fr 1fr}.scope-grid header{grid-column:1/-1}.examined-grid{grid-template-columns:1fr repeat(2,1fr)}.examined h2{grid-row:span 2}.rail{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){:root{--container:min(100% - 2rem,1180px)}.site-header{position:relative}.brand{width:min(285px,70vw)}.menu-toggle{display:block}#primary-navigation{position:absolute;top:100%;right:0;left:0;display:none;padding:1rem;background:var(--surface);border-bottom:var(--border);box-shadow:var(--shadow)}#primary-navigation.is-open{display:grid}#primary-navigation a{padding:.7rem calc((100% - var(--container))/2)}.hero{background:var(--surface)}.hero-grid{grid-template-columns:1fr}.assurance-window{box-shadow:10px 10px 0 var(--ice)}.examined-grid{grid-template-columns:1fr 1fr}.examined h2{grid-column:1/-1;grid-row:auto}.fields-grid,.notes-grid{grid-template-columns:1fr}.field-primary{grid-row:auto}.field-wide{grid-column:auto;grid-template-columns:1fr;gap:0}.boundary-grid,.about-grid,.scope-grid{grid-template-columns:1fr;gap:2rem}.scope-grid header,.boundary-grid>article,.about-grid>header{grid-column:auto}.scope article{padding:1.2rem 0 0;border-top:1px solid #56687b;border-left:0}.gate-line{grid-template-columns:1fr}.gate-line::before{top:5%;bottom:5%;left:50%;width:1px;height:auto}.gate-line li::before{height:16px}.rail{grid-template-columns:1fr;border-block:0;border-left:1px solid var(--steel)}.rail::before{display:none}.rail li{min-height:auto;border:0;border-bottom:var(--border);border-left:7px solid var(--paper)}.rail li::after{right:auto;bottom:-5px;left:-8px}.reference-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.back-top{justify-self:start}}
@media(max-width:480px){.section-head{display:block}.section-head h2,.section-head>p:last-child{grid-column:auto}.section-head .section-number{margin-bottom:2rem}.examined-grid{grid-template-columns:1fr}.examined article{border-top:var(--border);border-left:0}.field,.field-primary{padding:1.5rem}.field-wide>span{position:static}.field-wide>div:first-of-type{padding-top:0}.assurance-window{padding:.75rem}.band{grid-template-columns:34px 1fr 12px;padding:0 .6rem}.assurance-window>footer{display:grid}.reference-grid{display:block}.profile,.contact-note{margin-bottom:1rem}.search-panel{display:block}.search-panel p{margin:.4rem 0}.search-row{display:block}.search-row button{width:100%;border-top:var(--border);border-left:0}.footer-grid nav{grid-template-columns:1fr}.actions{display:grid}.button{width:100%}}
/* 21 Reduced motion */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-enabled .reveal{opacity:1;transform:none}}
