/* 01 Design tokens */
:root {
  --midnight: #17242B; --teal: #285C61; --harbor: #466978; --copper: #A7754F;
  --brass: #A28A5D; --plum: #6A5969; --sage: #6E7B6B; --graphite: #30383D;
  --slate: #68747A; --mist: #E5EBEA; --teal-wash: #E0E9E8; --copper-wash: #F0E5DB;
  --sage-wash: #E6E9E2; --stone: #EFECE5; --paper: #F7F4EE; --white: #FFFFFF;
  --font-editorial: Georgia, Cambria, "Times New Roman", Times, serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  --space-1: .5rem; --space-2: .75rem; --space-3: 1rem; --space-4: 1.5rem; --space-5: 2rem;
  --space-6: 3rem; --space-7: 4.5rem; --space-8: 7rem;
  --text-xs: .72rem; --text-sm: .86rem; --text-base: 1rem; --text-lg: 1.17rem;
  --text-xl: clamp(1.55rem, 2.5vw, 2.25rem); --text-2xl: clamp(2.1rem, 4.7vw, 4.55rem);
  --container: 1200px; --border: 1px solid rgba(23,36,43,.16); --radius: 2px;
  --shadow: 0 20px 55px rgba(23,36,43,.09); --transition: 220ms ease;
}

/* 02 Reset */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body, h1, h2, h3, p, ul, ol { margin: 0; }
ul, ol { padding: 0; }
img { display: block; max-width: 100%; }
button, input { font: inherit; }
button { color: inherit; }

/* 03 Base */
body { background: var(--paper); color: var(--graphite); font-family: var(--font-sans); font-size: var(--text-base); line-height: 1.65; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
.container { width: min(var(--container), calc(100% - 3rem)); margin-inline: auto; }
.section { padding: var(--space-8) 0; }

/* 04 Accessibility */
.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 1000; padding: .75rem 1rem; background: var(--white); color: var(--midnight); transform: translateY(-200%); box-shadow: var(--shadow); }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--copper); outline-offset: 4px; }
.visually-hidden { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
[hidden] { display: none!important; }

/* 05 Typography */
h1, h2, h3 { color: var(--midnight); font-family: var(--font-editorial); font-weight: 400; line-height: 1.08; }
h2 { font-size: var(--text-xl); }
h3 { font-size: 1.35rem; }
.eyebrow, small, .domain-number { color: var(--teal); font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: .13em; line-height: 1.3; }
.eyebrow { margin-bottom: var(--space-3); }
.eyebrow-light { color: #b9cfcc; }

/* 06 Layout */
.section-heading { display: grid; grid-template-columns: 1.35fr .65fr; align-items: end; gap: var(--space-7); margin-bottom: var(--space-6); }
.section-heading h2 { max-width: 780px; }
.section-heading > p { color: var(--slate); font-size: .95rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .75rem 1.2rem; border: 1px solid transparent; font-size: .82rem; font-weight: 650; letter-spacing: .025em; transition: color var(--transition), background var(--transition), border var(--transition), transform var(--transition); }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--midnight); color: var(--white); }
.button-primary:hover { background: var(--teal); }
.button-secondary { border-color: rgba(23,36,43,.32); color: var(--midnight); }
.button-secondary:hover { border-color: var(--midnight); background: var(--white); }
.button-copper { background: var(--copper); color: var(--white)!important; }
.button-small { min-height: 38px; padding: .55rem .8rem!important; }
.button-light { background: var(--paper); color: var(--midnight); }
.button-outline-light { border-color: rgba(255,255,255,.4); color: var(--white); }

/* 07 Header */
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(247,244,238,.96); border-bottom: var(--border); backdrop-filter: blur(10px); }
.header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand img { width: 220px; height: auto; }
.primary-nav { display: flex; align-items: center; gap: clamp(.6rem, 1.2vw, 1.25rem); }
.primary-nav > a:not(.button) { color: var(--graphite); font-size: .73rem; font-weight: 600; white-space: nowrap; }
.primary-nav > a:not(.button):hover { color: var(--teal); }
.menu-toggle { display: none; width: 44px; height: 42px; padding: 10px; border: 1px solid rgba(23,36,43,.25); background: transparent; }
.menu-toggle span { display: block; width: 100%; height: 1px; margin: 5px 0; background: var(--midnight); transition: var(--transition); }

/* 08 Hero */
.hero { min-height: 730px; display: flex; align-items: center; padding: clamp(5rem, 9vw, 8.5rem) 0; background: linear-gradient(90deg, transparent 0 65%, rgba(224,233,232,.35) 65% 100%); }
.hero-grid { display: grid; grid-template-columns: 52fr 48fr; align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.hero-copy h1 { max-width: 700px; font-size: var(--text-2xl); letter-spacing: -.035em; }
.hero-copy h1 span { color: var(--teal); font-style: italic; }
.hero-lede { max-width: 650px; margin: var(--space-5) 0; color: var(--slate); font-size: var(--text-lg); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.micro-status { display: flex; align-items: center; gap: .6rem; margin-top: var(--space-5); color: var(--slate); font-family: var(--font-mono); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.micro-status span { width: 7px; height: 7px; border-radius: 50%; background: var(--sage); box-shadow: 0 0 0 4px var(--sage-wash); }
.hero-system { position: relative; min-height: 510px; padding: 2.4rem 1.3rem; border-left: 1px solid rgba(23,36,43,.2); }
.system-grid { position: absolute; inset: 0; opacity: .38; background-image: linear-gradient(rgba(40,92,97,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(40,92,97,.08) 1px, transparent 1px); background-size: 34px 34px; }
.system-note { position: absolute; right: 0; bottom: 0; width: 72%; padding-top: 1rem; border-top: 1px solid var(--copper); color: var(--slate); font-size: .78rem; }

/* 09 Flow Keys */
.flow-key { position: relative; z-index: 1; width: 86%; margin-bottom: 1.4rem; }
.flow-key:nth-of-type(even) { margin-left: 14%; }
.flow-key p { display: flex; justify-content: space-between; gap: .6rem; padding: .35rem .4rem 0; font-family: var(--font-mono); }
.flow-key b { color: var(--midnight); font-size: .67rem; letter-spacing: .08em; }
.flow-key span { color: var(--slate); font-size: .59rem; }
.flow-visual { position: relative; height: 42px; }
.flow-visual i { position: absolute; display: block; }
.flow-visual .rail { left: 0; top: 20px; width: 56%; height: 2px; background: currentColor; }
.flow-visual .gate { left: 27%; top: 8px; width: 2px; height: 26px; background: currentColor; }
.flow-visual .node { left: 56%; top: 14px; width: 14px; height: 14px; border: 2px solid currentColor; border-radius: 50%; transform: translateX(-50%); background: var(--paper); }
.flow-visual .block { left: 69%; top: 11px; width: 34px; height: 22px; background: currentColor; opacity: .7; }
.flow-visual .rail-small { right: 4%; top: 20px; width: 14%; height: 1px; background: currentColor; }
.flow-visual .terminal { right: 0; top: 17px; width: 7px; height: 7px; background: var(--midnight); }
.flow-wealth { color: var(--copper); }.flow-cross { color: var(--harbor); }.flow-digital { color: var(--teal); }.flow-governance { color: var(--sage); }

/* 10 Route Notches */
.route-notch { width: 50px; height: 18px; position: relative; margin-bottom: 1.2rem; color: var(--teal); }
.route-notch i { position: absolute; left: 0; width: 21px; height: 1px; background: currentColor; }.route-notch i:first-child { top: 4px; }.route-notch i:nth-child(2) { top: 12px; }
.route-notch b { position: absolute; left: 24px; top: 2px; width: 10px; height: 10px; background: var(--copper); }.route-notch em { position: absolute; right: 1px; top: 7px; width: 6px; height: 6px; border: 1px solid currentColor; border-radius: 50%; }
.route-notch-light { color: var(--mist); }

/* 11 Executive Strip */
.executive-strip { padding: var(--space-6) 0; background: var(--midnight); color: var(--mist); }
.strip-intro { display: grid; grid-template-columns: .4fr 1.6fr; gap: 2rem; align-items: start; padding-bottom: var(--space-5); border-bottom: 1px solid rgba(255,255,255,.15); }
.strip-intro h2 { color: var(--white); font-size: clamp(1.35rem, 2.3vw, 2.15rem); max-width: 900px; }
.statement-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.statement-grid p { padding: 1.4rem 1rem 0; border-left: 1px solid rgba(255,255,255,.14); color: var(--white); font-family: var(--font-editorial); font-size: 1.08rem; }
.statement-grid p:first-child { border-left: 0; padding-left: 0; }.statement-grid span { display: block; margin-bottom: .5rem; color: var(--brass); font-family: var(--font-mono); font-size: .65rem; }

/* 12 Financial Domains */
.domain-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--midnight); border-bottom: 1px solid rgba(23,36,43,.18); }
.domain { position: relative; min-height: 485px; padding: 1.7rem 1.35rem 1.5rem; border-right: var(--border); transition: background var(--transition), transform var(--transition); }
.domain:last-child { border-right: 0; }.domain:hover { transform: translateY(-5px); background: var(--white); box-shadow: var(--shadow); }
.domain-number { display: block; margin-bottom: 3rem; }.domain h3 { min-height: 3.2rem; margin-bottom: 1.25rem; }.domain p { color: var(--slate); font-size: .88rem; }
.domain ul { position: absolute; left: 1.35rem; right: 1.35rem; bottom: 1.5rem; display: flex; flex-wrap: wrap; gap: .45rem; list-style: none; }
.domain li, .tags li { padding: .22rem .48rem; background: var(--stone); color: var(--graphite); font-family: var(--font-mono); font-size: .61rem; }
.mini-key { position: absolute; top: 1.9rem; right: 1.3rem; width: 44px; height: 10px; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; }
.mini-key::before { content:""; position:absolute; left: 21px; top:-4px; width:7px; height:7px; border:1px solid currentColor; border-radius:50%; background:var(--paper); }
.domain-wealth { color: var(--copper); }.domain-international { color: var(--harbor); }.domain-consumer { color: var(--teal); }.domain-infrastructure { color: var(--sage); }

/* 13 Operating Routes */
.routes { background: var(--stone); }
.route { display: grid; grid-template-columns: 1.05fr .95fr 1fr; gap: 2rem; padding: 2.2rem 0 1.3rem; border-top: 1px solid rgba(23,36,43,.28); }
.route:last-child { border-bottom: 1px solid rgba(23,36,43,.28); }.route-index span { font-family: var(--font-mono); color: var(--copper); font-size: .68rem; letter-spacing: .1em; }.route-index h3 { margin-top: .7rem; font-size: 1.55rem; }.route-index i { color: var(--copper); font-style: normal; }
.route small { display: block; margin-bottom: .65rem; color: var(--slate); }.route-question p { font-family: var(--font-editorial); color: var(--midnight); font-size: 1.08rem; }.route-consider ul { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; }.route-consider li { padding: .2rem .5rem; border: 1px solid rgba(23,36,43,.16); color: var(--slate); font-size: .7rem; }
.boundary { grid-column: 2 / -1; padding-top: 1rem; border-top: 1px dashed rgba(23,36,43,.2); color: var(--slate); font-size: .72rem; }

/* 14 Financial Route Check */
.framework { background: var(--teal); color: var(--mist); }
.framework-heading { display: grid; grid-template-columns: 1fr 1.5fr .55fr; gap: 3rem; align-items: end; margin-bottom: 3.5rem; }.framework-heading h2 { color: var(--white); }.framework-heading > p:last-child { color: #b9cfcc; font-size: .82rem; }
.framework-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(255,255,255,.22); }
.framework-step { position: relative; min-height: 250px; padding: 1.6rem; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }.framework-step:nth-child(3n) { border-right: 0; }.framework-step:nth-child(n+4) { border-bottom: 0; }
.framework-step span { font: 700 .65rem var(--font-mono); color: #b9cfcc; }.framework-step h3 { margin: 3rem 0 1rem; color: var(--white); font-size: 1.35rem; }.framework-step p { color: #d6e3e1; font-size: .86rem; }.framework-step::after { content:""; position:absolute; top:1.7rem; right:1.5rem; width:45px; height:8px; border-top:1px solid var(--brass); border-bottom:1px solid var(--brass); }

/* 15 Professional Checklist */
.checklist { padding: var(--space-7) 0; background: var(--plum); color: var(--white); }
.checklist-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 4rem; }.checklist-heading h2 { color: var(--white); font-size: 2.1rem; }.checklist-heading > p:last-child { margin-top: 1rem; color: #ded6dd; }.checklist-items { display: grid; grid-template-columns: 1fr 1fr; gap: .2rem 2rem; list-style: none; counter-reset: checklist; }.checklist-items li { position: relative; padding: .55rem 0 .55rem 2.2rem; border-bottom: 1px solid rgba(255,255,255,.12); font-size: .78rem; counter-increment: checklist; }.checklist-items li::before { content: counter(checklist, decimal-leading-zero); position:absolute; left:0; color:#c9b7c7; font: .62rem var(--font-mono); }

/* 16 Reference Profiles */
.profile-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.2rem; }.reference-disclaimer { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; margin: -1rem 0 2rem; padding: 1.2rem; border-left: 3px solid var(--copper); background: var(--copper-wash); }.reference-disclaimer p { font-size: .7rem; color: var(--slate); }
.profile { position: relative; min-height: 530px; padding: 1.55rem; border: var(--border); background: rgba(255,255,255,.38); }.profile:nth-child(2),.profile:nth-child(5) { transform: translateY(1.2rem); }.profile:nth-child(3n) { border-top: 3px solid var(--teal); }.profile:nth-child(3n+1) { border-top: 3px solid var(--copper); }.profile:nth-child(3n+2) { border-top: 3px solid var(--harbor); }
.profile-top { min-height: 62px; display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1.4rem; }.profile-top > div { display:flex; flex-direction:column; gap:.4rem; }.profile-top small { color: var(--slate); }.profile-status { color: var(--teal); font: 600 .64rem var(--font-mono); }.avatar { flex:0 0 54px; height:54px; display:grid; place-items:center; border:1px solid currentColor; color:var(--copper); font: 700 .76rem var(--font-mono); }
.profile h3 { font-size:1.55rem; }.role { margin-top:.65rem; color:var(--midnight); font-weight:650; font-size:.82rem; }.institution { margin-bottom:1.2rem; color:var(--slate); font-size:.76rem; }.profile > p:not(.role,.institution,.contact-note) { color:var(--slate); font-size:.82rem; }.tags { display:flex; flex-wrap:wrap; gap:.35rem; margin:1.2rem 0; list-style:none; }.contact-row { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding-top:1rem; border-top:var(--border); }.contact-row a { color:var(--teal); font-size:.7rem; text-decoration:underline; }.copy-email { flex:0 0 auto; padding:.4rem .55rem; border:1px solid var(--teal); background:transparent; color:var(--teal); font-size:.65rem; cursor:pointer; }.contact-note { margin-top:.8rem; color:var(--slate); font-size:.62rem; line-height:1.45; }

/* 17 Independence Note */
.independence-note { padding: var(--space-6) 0; background: var(--teal-wash); border-block: var(--border); }.independence-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:4rem; }.independence-grid h2 { font-size:1.8rem; }.independence-grid > div:last-child { columns:2; column-gap:2.5rem; }.independence-grid > div:last-child p { break-inside:avoid; margin-bottom:1rem; color:var(--slate); font-size:.74rem; }

/* 18 Market Briefs */
.briefs { background: var(--white); }.brief-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.brief { border:var(--border); background:var(--paper); }.brief[hidden] { display:none; }.brief details { height:100%; }.brief summary { min-height:270px; display:flex; flex-direction:column; padding:1.5rem; cursor:pointer; list-style:none; }.brief summary::-webkit-details-marker { display:none; }.brief summary span { color:var(--teal); font:700 .65rem var(--font-mono); letter-spacing:.1em; text-transform:uppercase; }.brief summary h3 { margin:1.5rem 0 .8rem; max-width:480px; font-size:1.45rem; }.brief summary p { color:var(--slate); font-size:.82rem; }.brief summary b { margin-top:auto; padding-top:1rem; color:var(--midnight); font-size:.7rem; border-top:var(--border); }.brief summary b i { float:right; font-style:normal; font-size:1.1rem; transition:transform var(--transition); }.brief details[open] summary b i { transform:rotate(45deg); }.brief-content { padding:0 1.5rem 1.5rem; }.brief-content > p { padding-top:1.2rem; border-top:1px solid var(--copper); color:var(--slate); font-size:.84rem; }

/* 19 Search */
.search-panel { display:grid; grid-template-columns:180px 1fr 80px; align-items:center; gap:1rem; margin-bottom:2rem; padding:1.1rem; background:var(--midnight); color:var(--white); }.search-panel label { font-size:.76rem; font-weight:650; }.search-control { display:flex; background:var(--white); }.search-control input { width:100%; min-width:0; height:44px; padding:0 .9rem; border:0; background:transparent; color:var(--midnight); }.search-control button { border:0; border-left:1px solid var(--mist); background:var(--white); color:var(--teal); font-size:.7rem; cursor:pointer; }.search-panel > p { text-align:right; color:var(--mist); font: .7rem var(--font-mono); }.no-results { padding:3rem; border:1px solid var(--copper); color:var(--slate); text-align:center; }

/* 20 About */
.about { background:var(--stone); }.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(3rem,8vw,8rem); }.about-heading { position:relative; padding-bottom:8rem; }.about-heading h2 { font-size:clamp(2rem,3.4vw,3.3rem); }.about-mark { position:absolute; bottom:0; right:10%; opacity:.85; }.about-copy { padding-top:2.5rem; }.about-copy p { margin-bottom:1.4rem; color:var(--slate); font-size:1.02rem; }.about-copy p:first-child { color:var(--midnight); font-family:var(--font-editorial); font-size:1.35rem; }

/* 21 Principles */
.principles { padding:var(--space-7) 0; background:var(--paper); }.principle-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--midnight); }.principle-grid article { padding:1.5rem 1.2rem; border-right:var(--border); }.principle-grid article:last-child { border-right:0; }.principle-grid span { color:var(--copper); font:.65rem var(--font-mono); }.principle-grid h3 { margin:2.5rem 0 .8rem; font-size:1.25rem; }.principle-grid p { color:var(--slate); font-size:.8rem; }

/* 22 Final CTA */
.final-cta { padding:var(--space-8) 0; background:var(--midnight); color:var(--mist); }.final-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:6rem; }.final-copy h2 { color:var(--white); font-size:clamp(2rem,3.3vw,3.5rem); }.final-copy > p:not(.eyebrow) { margin:1.5rem 0 2rem; color:#b9c5c8; }.decision-map { position:relative; min-height:390px; }.decision-center { position:absolute; left:50%; top:50%; width:125px; height:125px; display:grid; place-items:center; border:1px solid var(--copper); border-radius:50%; transform:translate(-50%,-50%); color:var(--white); font:700 .75rem var(--font-mono); letter-spacing:.12em; }.map-key { position:absolute; padding:.65rem 1rem; border:1px solid rgba(255,255,255,.3); color:var(--mist); font:.62rem var(--font-mono); letter-spacing:.1em; }.key-1{left:0;top:12%}.key-2{right:0;top:21%}.key-3{left:4%;bottom:14%}.key-4{right:5%;bottom:7%}.decision-map i { position:absolute; height:1px; background:rgba(167,117,79,.7); transform-origin:left; }.decision-map i:nth-of-type(1){left:18%;top:26%;width:34%;transform:rotate(23deg)}.decision-map i:nth-of-type(2){left:50%;top:50%;width:35%;transform:rotate(-36deg)}.decision-map i:nth-of-type(3){left:19%;bottom:24%;width:34%;transform:rotate(-25deg)}.decision-map i:nth-of-type(4){left:52%;top:53%;width:36%;transform:rotate(42deg)}

/* 23 Footer */
.site-footer { padding:var(--space-6) 0 1.5rem; background:#101a1f; color:#b9c5c8; }.footer-main { display:grid; grid-template-columns:1fr 1fr; gap:4rem; padding-bottom:2.5rem; }.footer-brand { display:flex; gap:1rem; align-items:flex-start; }.footer-brand img { width:48px; }.footer-brand strong { color:var(--white); font-family:var(--font-editorial); font-size:1.35rem; font-weight:400; }.footer-brand p { font-size:.72rem; }.footer-brand small { color:#79898f; font: .59rem var(--font-mono); }.footer-nav { display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem 2rem; }.footer-nav a { padding:.35rem 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:.72rem; }.footer-nav a:hover { color:var(--white); }.footer-bottom { display:flex; justify-content:space-between; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.12); font-size:.66rem; }.footer-bottom a { color:var(--white); }

/* 24 Reveal */
.js-enabled .reveal { opacity:0; transform:translateY(22px); transition:opacity 650ms ease, transform 650ms ease; }.js-enabled .reveal.is-visible { opacity:1; transform:none; }

/* 25 Responsive */
@media (max-width: 1080px) {
  .menu-toggle { display:block; }.primary-nav { position:absolute; top:78px; left:0; right:0; display:none; flex-direction:column; align-items:stretch; padding:1rem 1.5rem 1.5rem; background:var(--paper); border-bottom:1px solid var(--midnight); box-shadow:var(--shadow); }.primary-nav.is-open { display:flex; }.primary-nav > a { padding:.55rem 0; }.primary-nav .button { margin-top:.4rem; }
  .domain-grid { grid-template-columns:repeat(2,1fr); }.domain:nth-child(2) { border-right:0; }.domain:nth-child(-n+2) { border-bottom:var(--border); }
  .profile-grid { grid-template-columns:repeat(2,1fr); }.profile:nth-child(2),.profile:nth-child(5) { transform:none; }.framework-heading { grid-template-columns:.6fr 1.4fr; }.framework-heading > p:last-child { grid-column:2; }.principle-grid { grid-template-columns:repeat(2,1fr); }.principle-grid article:nth-child(-n+2) { border-bottom:var(--border); }.principle-grid article:nth-child(2) { border-right:0; }
}
@media (max-width: 800px) {
  :root { --space-8:5rem; }.container { width:min(var(--container),calc(100% - 2rem)); }.hero { min-height:auto; background:var(--paper); }.hero-grid,.about-grid,.final-grid,.checklist-grid { grid-template-columns:1fr; }.hero-system { min-height:480px; margin-top:1rem; }.section-heading { grid-template-columns:1fr; gap:1.2rem; }.statement-grid { grid-template-columns:1fr 1fr; }.statement-grid p:nth-child(3) { border-left:0; padding-left:0; }.route { grid-template-columns:1fr 1fr; }.route-consider { grid-column:2; }.boundary { grid-column:2; }.framework-grid { grid-template-columns:repeat(2,1fr); }.framework-step:nth-child(3n) { border-right:1px solid rgba(255,255,255,.18); }.framework-step:nth-child(2n) { border-right:0; }.framework-step:nth-child(n+4) { border-bottom:1px solid rgba(255,255,255,.18); }.framework-step:nth-child(n+5) { border-bottom:0; }.reference-disclaimer { grid-template-columns:1fr; gap:.7rem; }.independence-grid { grid-template-columns:1fr; gap:2rem; }.brief-grid { grid-template-columns:1fr 1fr; }.search-panel { grid-template-columns:150px 1fr; }.search-panel > p { grid-column:2; text-align:left; }.final-grid { gap:2rem; }.decision-map { min-height:340px; order:2; }
}
@media (max-width: 580px) {
  .brand img { width:190px; }.header-inner { min-height:70px; }.primary-nav { top:70px; }.hero { padding:4.5rem 0; }.hero-copy h1 { font-size:clamp(2.25rem,12vw,3.4rem); }.hero-actions,.hero-actions .button { width:100%; }.hero-system { min-height:430px; padding-inline:.3rem; border-left:0; }.flow-key { width:100%; }.flow-key:nth-of-type(even) { margin-left:0; }.flow-key p { flex-direction:column; }.system-note { width:100%; }.strip-intro { grid-template-columns:1fr; gap:.5rem; }.statement-grid { grid-template-columns:1fr; }.statement-grid p { border-left:0; border-top:1px solid rgba(255,255,255,.12); padding:1rem 0; }
  .domain-grid,.profile-grid,.brief-grid,.framework-grid,.principle-grid { grid-template-columns:1fr; }.domain { min-height:430px; border-right:0; border-bottom:var(--border); }.domain:nth-child(3) { border-bottom:var(--border); }.profile { min-height:auto; }.route { grid-template-columns:1fr; gap:1.2rem; }.route-consider,.boundary { grid-column:1; }.framework-heading { grid-template-columns:1fr; gap:1rem; }.framework-heading > p:last-child { grid-column:1; }.framework-step,.framework-step:nth-child(n) { min-height:220px; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }.framework-step:last-child { border-bottom:0; }.checklist-items { grid-template-columns:1fr; }.independence-grid > div:last-child { columns:1; }.search-panel { grid-template-columns:1fr; }.search-panel > p { grid-column:1; }.search-control { flex-direction:column; }.search-control button { min-height:38px; border-left:0; border-top:1px solid var(--mist); }.brief summary { min-height:300px; }.about-heading { padding-bottom:7rem; }.principle-grid article { border-right:0; border-bottom:var(--border); }.principle-grid article:last-child { border-bottom:0; }.decision-map { min-height:300px; }.decision-center { width:100px;height:100px }.map-key { padding:.45rem .55rem; font-size:.55rem; }.footer-main { grid-template-columns:1fr; gap:2rem; }.footer-nav { grid-template-columns:1fr; }.footer-bottom { gap:1rem; flex-direction:column; }.contact-row { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 350px) { .container { width:calc(100% - 1.5rem); }.brand img { width:168px; }.hero-system { min-height:450px; }.flow-key span { font-size:.54rem; }.map-key { font-size:.5rem; }.key-1{left:0}.key-2{right:0}.key-3{left:0}.key-4{right:0} }

/* 26 Reduced Motion */
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }.js-enabled .reveal { opacity:1; transform:none; } }
