:root {
    --indigo: #171495;
    --indigo-bright: #302cc2;
    --midnight: #090e2b;
    --ink: #11152e;
    --ivory: #fbfaf6;
    --cream: #f3efe5;
    --gold: #795916;
    --gold-light: #d5b675;
    --lavender: #e8e7f7;
    --slate: #4f586d;
    --line: rgba(17, 21, 46, .14);
    --white-line: rgba(255, 255, 255, .14);
    --shadow: 0 30px 80px rgba(9, 14, 43, .12);
    --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
    --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --shell: 1240px;
    --radius: 22px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; background: var(--ivory); color: var(--ink); }
body { margin: 0; min-width: 320px; background: var(--ivory); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.65; overflow-x: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: inherit; }
h1, h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; line-height: .98; }
h3 { line-height: 1.2; }
p { color: var(--slate); }
.shell { width: min(var(--shell), calc(100% - 48px)); margin-inline: auto; }
.narrow { width: min(810px, 100%); }
.section-pad { padding: clamp(84px, 10vw, 150px) 0; }
.section-ivory { background: var(--cream); }
.section-dark { --gold: var(--gold-light); background: var(--midnight); color: var(--ivory); }
.section-dark p { color: rgba(251, 250, 246, .68); }
.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: fixed; z-index: 1000; left: 16px; top: 16px; transform: translateY(-160%); background: var(--ivory); color: var(--midnight); padding: 12px 18px; border-radius: 6px; box-shadow: var(--shadow); }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }

.eyebrow, .step-kicker { display: inline-block; margin-bottom: 20px; color: var(--gold); font-size: .72rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.section-heading { max-width: 830px; margin-bottom: clamp(44px, 6vw, 78px); }
.section-heading h2 { margin-bottom: 24px; font-size: clamp(2.45rem, 5vw, 5rem); }
.section-heading p { max-width: 720px; margin: 0; font-size: clamp(1rem, 1.6vw, 1.2rem); }
.button-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 13px 22px; border: 1px solid transparent; border-radius: 999px; font-size: .82rem; font-weight: 750; letter-spacing: .02em; text-decoration: none; transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--indigo); color: white; box-shadow: 0 12px 32px rgba(23, 20, 149, .22); }
.button-primary:hover { background: var(--indigo-bright); }
.button-quiet { border-color: var(--line); background: rgba(255,255,255,.35); color: var(--ink); }
.button-outline { background: transparent; border-color: rgba(255,255,255,.32); color: white; }
.button-light { background: var(--ivory); color: var(--midnight); }
.button-outline-light { border-color: rgba(255,255,255,.35); color: white; }
.text-link { display: inline-block; color: var(--gold); font-weight: 750; text-decoration: none; border-bottom: 1px solid rgba(199,166,106,.45); padding-bottom: 4px; }

.site-header { position: sticky; z-index: 100; top: 0; background: rgba(251,250,246,.88); border-bottom: 1px solid var(--line); backdrop-filter: blur(20px); }
.header-inner { display: flex; min-height: 86px; align-items: center; justify-content: space-between; gap: 26px; }
.brand { display: inline-flex; align-items: center; gap: 14px; color: var(--ink); text-decoration: none; flex-shrink: 0; }
.brand img { width: 62px; height: 52px; object-fit: contain; }
.brand span { display: grid; gap: 1px; border-left: 1px solid var(--line); padding-left: 14px; }
.brand strong { font-family: var(--serif); font-size: 1.1rem; font-weight: 500; letter-spacing: .02em; }
.brand small { color: var(--slate); font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.primary-nav { display: flex; align-items: center; gap: clamp(16px, 2vw, 30px); }
.primary-nav a { color: #35394d; font-size: .79rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.primary-nav a[aria-current="page"] { color: var(--indigo); }
.primary-nav .nav-assessment { padding: 11px 16px; border: 1px solid var(--indigo); border-radius: 999px; color: var(--indigo); }
.nav-toggle { display: none; width: 48px; height: 48px; padding: 11px; border: 1px solid var(--line); border-radius: 50%; background: transparent; }
.nav-toggle > span:not(.sr-only) { display: block; width: 100%; height: 1px; margin: 5px 0; background: var(--ink); }

.hero { position: relative; isolation: isolate; min-height: calc(100vh - 86px); overflow: hidden; background: linear-gradient(135deg, var(--ivory) 0%, #f2f0fa 52%, #e6e4f6 100%); }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .25; background-image: linear-gradient(rgba(23,20,149,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(23,20,149,.08) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(90deg, black, transparent 72%); }
.hero-grid { display: grid; min-height: calc(100vh - 150px); grid-template-columns: minmax(0, .98fr) minmax(460px, .86fr); align-items: center; gap: clamp(44px, 7vw, 100px); padding: 84px 0 70px; }
.hero-copy { position: relative; z-index: 2; }
.hero-descriptor { margin-bottom: 12px; color: var(--indigo); font-family: var(--serif); font-size: clamp(1.5rem, 2.4vw, 2.2rem); }
.hero h1 { max-width: 780px; margin-bottom: 28px; font-size: clamp(4rem, 7.2vw, 7.3rem); color: var(--midnight); }
.hero-lede { max-width: 700px; margin-bottom: 34px; font-size: clamp(1.06rem, 1.7vw, 1.28rem); color: #4e5267; }
.trust-line { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 34px; color: #575b6e; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.trust-line span::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 9px; border-radius: 50%; background: var(--gold); vertical-align: 1px; }
.hero-orb { position: absolute; z-index: -2; border-radius: 50%; filter: blur(2px); }
.hero-orb-one { width: 520px; height: 520px; right: -180px; top: -150px; background: rgba(23,20,149,.15); }
.hero-orb-two { width: 360px; height: 360px; left: 36%; bottom: -250px; background: rgba(199,166,106,.18); }
.office-system { position: relative; min-height: 590px; border: 1px solid rgba(23,20,149,.16); border-radius: 50%; background: radial-gradient(circle at center, rgba(23,20,149,.97) 0 19%, rgba(23,20,149,.08) 20%, transparent 48%); box-shadow: inset 0 0 100px rgba(255,255,255,.8), 0 50px 100px rgba(9,14,43,.12); }
.orbit { position: absolute; inset: 10%; border: 1px solid rgba(23,20,149,.18); border-radius: 50%; animation: orbitPulse 6s ease-in-out infinite; }
.orbit-two { inset: 22%; animation-delay: -2s; }
.orbit-three { inset: 35%; animation-delay: -4s; }
.system-core { position: absolute; left: 50%; top: 50%; display: grid; width: 190px; height: 190px; place-items: center; transform: translate(-50%,-50%); text-align: center; }
.system-core img { width: 130px; height: 92px; object-fit: contain; }
.system-core span { color: rgba(255,255,255,.7); font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.system-node { position: absolute; width: 210px; padding: 18px 18px 17px; border: 1px solid rgba(23,20,149,.15); border-radius: 16px; background: rgba(251,250,246,.9); box-shadow: 0 18px 45px rgba(9,14,43,.12); backdrop-filter: blur(12px); }
.system-node span { display: block; color: var(--gold); font-size: .68rem; font-weight: 800; }
.system-node strong, .system-node small { display: block; }
.system-node strong { margin: 5px 0; color: var(--ink); font-family: var(--serif); font-size: 1.05rem; font-weight: 500; }
.system-node small { color: var(--slate); font-size: .7rem; }
.node-one { left: -5%; top: 12%; }
.node-two { right: -5%; top: 38%; }
.node-three { left: 5%; bottom: 5%; }
.hero-index { display: flex; justify-content: flex-end; gap: 24px; padding-bottom: 22px; color: rgba(9,14,43,.48); font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.principle-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.principle-card { min-height: 280px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.principle-card > span { color: var(--gold); font-size: .72rem; font-weight: 800; }
.principle-card h3 { margin: 70px 0 14px; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.principle-card p { margin-bottom: 0; font-size: .94rem; }

.calculator-section { --gold: var(--gold-light); position: relative; background: var(--midnight); color: white; overflow: hidden; }
.calculator-section::after { content: ""; position: absolute; width: 680px; height: 680px; right: -280px; bottom: -320px; border-radius: 50%; background: rgba(48,44,194,.24); filter: blur(10px); }
.calculator-section .section-heading p { color: rgba(255,255,255,.65); }
.split-heading { display: flex; justify-content: space-between; gap: 40px; align-items: flex-start; }
.diagnostic-tag { color: rgba(255,255,255,.45); font-size: .68rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; white-space: nowrap; }
.calculator-shell { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,.92fr) minmax(420px,1.08fr); border: 1px solid var(--white-line); border-radius: var(--radius); overflow: hidden; background: rgba(255,255,255,.035); box-shadow: 0 40px 100px rgba(0,0,0,.25); }
.calculator-controls { display: grid; gap: 28px; padding: clamp(28px, 5vw, 58px); }
.calculator-controls label, .assessment-form label { display: grid; gap: 9px; color: inherit; font-size: .82rem; font-weight: 750; }
.calculator-controls output { float: right; color: var(--gold); }
input, select, textarea { width: 100%; min-height: 48px; border: 1px solid rgba(17,21,46,.2); border-radius: 10px; background: rgba(255,255,255,.84); color: var(--ink); padding: 12px 14px; }
textarea { resize: vertical; }
.calculator-controls select { border-color: rgba(255,255,255,.24); background-color: rgba(255,255,255,.08); color: white; }
.calculator-controls option { color: var(--ink); }
input[type="range"] { min-height: 24px; padding: 0; border: 0; accent-color: var(--gold); background: transparent; }
.input-pair { display: grid; grid-template-columns: .7fr 1.3fr; gap: 18px; }
.input-pair input[type="number"] { border-color: rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: white; }
.calculator-results { display: grid; align-content: center; gap: 26px; padding: clamp(30px, 5vw, 64px); background: linear-gradient(145deg, rgba(23,20,149,.97), rgba(9,14,43,.96)); }
.result-kicker span { display: block; margin-bottom: 12px; color: rgba(255,255,255,.63); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.result-kicker strong { font-family: var(--serif); font-size: clamp(3rem, 6vw, 5.8rem); font-weight: 400; line-height: 1; }
.result-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid rgba(255,255,255,.18); }
.result-grid span { padding: 18px 12px; color: rgba(255,255,255,.6); font-size: .7rem; text-transform: uppercase; }
.result-grid strong { display: block; margin-top: 5px; color: white; font-size: 1rem; }
.formula { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.formula span { color: var(--gold); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.formula code { color: rgba(255,255,255,.75); }
.calculator-results > p { margin: 0; color: rgba(255,255,255,.67); }
.calculator-results .fine-print { font-size: .72rem; }

.readiness-callout { background: var(--cream); }
.readiness-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(380px,.7fr); gap: clamp(50px,8vw,110px); align-items: center; }
.readiness-grid h2 { font-size: clamp(2.5rem,5vw,5rem); }
.readiness-grid > div:first-child p { max-width: 650px; font-size: 1.08rem; }
.readiness-meter { position: relative; min-height: 450px; padding: 42px; border: 1px solid var(--line); background: rgba(251,250,246,.7); }
.readiness-meter > span { color: var(--slate); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.meter-ring { display: grid; width: 220px; height: 220px; margin: 34px auto; place-content: center; border: 1px solid var(--gold); border-radius: 50%; box-shadow: 0 0 0 18px rgba(199,166,106,.08), 0 0 0 36px rgba(23,20,149,.04); text-align: center; }
.meter-ring strong { color: var(--indigo); font-family: var(--serif); font-size: 4.5rem; font-weight: 400; line-height: .9; }
.meter-ring small { color: var(--slate); font-size: .68rem; text-transform: uppercase; }
.readiness-meter ul { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0; list-style: none; }
.readiness-meter li { color: var(--slate); font-size: .75rem; }
.readiness-meter li::before { content: "◆"; margin-right: 8px; color: var(--gold); font-size: .5rem; }

.model-section { background: var(--ivory); }
.flow-visual { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: 34px; }
.flow-input, .flow-output { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 30px; border: 1px solid var(--line); background: white; }
.flow-input > span, .flow-output > span { grid-column: 1/-1; color: var(--gold); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.flow-visual em { padding: 14px; background: var(--cream); color: var(--ink); font-size: .78rem; font-style: normal; }
.flow-core { display: grid; gap: 10px; align-content: center; }
.flow-core span { display: grid; width: 116px; height: 56px; place-items: center; background: var(--indigo); color: white; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.flow-core span:nth-child(even) { background: var(--midnight); }

.risks-section .section-heading { margin-bottom: 50px; }
.risk-list { border-top: 1px solid var(--white-line); }
.risk-list article { display: grid; grid-template-columns: 80px 1fr 100px; align-items: center; gap: 20px; min-height: 108px; border-bottom: 1px solid var(--white-line); }
.risk-list article > span { color: var(--gold); font-size: .72rem; font-weight: 800; }
.risk-list h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.35rem,2.6vw,2.2rem); font-weight: 400; }
.risk-list i { display: block; height: 1px; background: linear-gradient(90deg,var(--gold),transparent); }

.comparison-table { border: 1px solid var(--line); }
.comparison-head, .comparison-row { display: grid; grid-template-columns: 1fr 1fr; }
.comparison-head span { padding: 18px 24px; background: var(--midnight); color: white; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.comparison-head span + span { background: var(--indigo); }
.comparison-row span { padding: 22px 24px; border-top: 1px solid var(--line); color: var(--slate); }
.comparison-row span + span { border-left: 1px solid var(--line); color: var(--ink); font-weight: 700; }
.capability-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.capability-card { display: flex; min-height: 370px; flex-direction: column; padding: 30px; border: 1px solid var(--line); background: var(--ivory); color: var(--ink); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.capability-card:hover { transform: translateY(-7px); background: white; box-shadow: var(--shadow); }
.capability-card > span { color: var(--gold); font-size: .72rem; font-weight: 800; }
.capability-card h3 { margin: 70px 0 18px; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.capability-card p { font-size: .9rem; }
.capability-card em { margin-top: auto; color: var(--indigo); font-size: .75rem; font-style: normal; font-weight: 800; }

.layer-stack { display: grid; gap: 10px; perspective: 900px; }
.layer-stack article { display: grid; grid-template-columns: 90px .8fr 1.4fr; align-items: center; gap: 24px; padding: 28px 34px; border: 1px solid var(--line); background: white; box-shadow: 0 16px 50px rgba(9,14,43,.06); }
.layer-stack article:nth-child(1) { margin-inline: 9%; border-color: rgba(199,166,106,.55); }
.layer-stack article:nth-child(2) { margin-inline: 5%; background: var(--lavender); }
.layer-stack article:nth-child(3) { background: var(--midnight); color: white; }
.layer-stack article:nth-child(3) > span { color: var(--gold-light); }
.layer-stack span { color: var(--gold); font-weight: 800; }
.layer-stack h3, .layer-stack p { margin: 0; }
.layer-stack h3 { font-family: var(--serif); font-size: 1.6rem; font-weight: 400; }
.layer-stack p { font-size: .88rem; }
.layer-stack article:nth-child(3) p { color: rgba(255,255,255,.62); }

.entity-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(500px,1fr); align-items: center; gap: 80px; }
.entity-map { position: relative; min-height: 580px; border: 1px solid var(--white-line); border-radius: 50%; background: radial-gradient(circle, rgba(48,44,194,.35), transparent 55%); }
.entity-map::before, .entity-map::after { content: ""; position: absolute; inset: 18%; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; }
.entity-map::after { inset: 35%; }
.entity-hub { position: absolute; left: 50%; top: 50%; z-index: 3; display: grid; width: 156px; height: 156px; place-content: center; transform: translate(-50%,-50%); border-radius: 50%; background: var(--ivory); color: var(--indigo); font-family: var(--serif); font-size: 1.4rem; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.entity-hub small { display: block; color: var(--slate); font-family: var(--sans); font-size: .62rem; text-transform: uppercase; }
.entity { position: absolute; z-index: 2; min-width: 130px; padding: 13px 15px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.07); color: white; font-size: .72rem; text-align: center; backdrop-filter: blur(12px); }
.e1 { left: 8%; top: 17%; } .e2 { right: 4%; top: 24%; } .e3 { left: 1%; bottom: 24%; } .e4 { right: 8%; bottom: 13%; } .e5 { left: 42%; top: 3%; }

.client-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.client-grid article { min-height: 160px; padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.client-grid span { color: var(--gold); font-size: .67rem; font-weight: 800; }
.client-grid h3 { max-width: 280px; margin: 28px 0 0; font-family: var(--serif); font-size: 1.45rem; font-weight: 400; }

.leadership-grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.78fr); align-items: center; gap: clamp(50px,8vw,110px); }
.leadership-image { margin: 0; }
.leadership-image img { width: 100%; aspect-ratio: 3/2; object-fit: cover; object-position: center 38%; box-shadow: var(--shadow); }
.leadership-image figcaption { margin-top: 10px; color: var(--slate); font-size: .68rem; }
.leadership-copy .role { margin-bottom: 5px; color: var(--indigo); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.leadership-copy h2 { margin-bottom: 28px; font-size: clamp(3.5rem,6vw,6rem); }
.leadership-copy > p:not(.role) { font-size: 1.12rem; }
.leadership-mandate { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 32px 0; }
.leadership-mandate span { padding: 12px; border: 1px solid var(--line); color: var(--slate); font-size: .75rem; }
.evidence-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.evidence-grid article { padding: 30px; border-top: 2px solid var(--gold); background: var(--cream); }
.evidence-grid strong { font-family: var(--serif); font-size: 1.6rem; font-weight: 400; }
.evidence-grid p { margin: 18px 0 0; }

.final-cta { --gold: var(--gold-light); background: linear-gradient(135deg,var(--indigo),var(--midnight)); color: white; }
.final-cta-inner { max-width: 1000px; }
.final-cta h2 { margin-bottom: 36px; font-size: clamp(2.8rem,6vw,6rem); }

.site-footer { --gold: var(--gold-light); padding: 80px 0 22px; background: #06091d; color: white; }
.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3,.7fr); gap: 56px; }
.footer-grid h2 { margin-bottom: 22px; color: rgba(255,255,255,.58); font-family: var(--sans); font-size: .67rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.footer-grid a, .footer-grid > div > span { display: block; margin: 11px 0; color: rgba(255,255,255,.7); font-size: .8rem; text-decoration: none; }
.footer-grid a:hover { color: var(--gold); }
.footer-brand img { width: 160px; height: 110px; object-fit: contain; margin-bottom: 24px; }
.footer-brand p { max-width: 360px; color: rgba(255,255,255,.58); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 64px; padding-top: 20px; border-top: 1px solid var(--white-line); color: rgba(255,255,255,.62); font-size: .68rem; }

.page-hero, .service-hero { padding: clamp(100px,14vw,190px) 0 clamp(85px,12vw,150px); }
.page-hero h1 { margin-bottom: 28px; font-size: clamp(4rem,8vw,8rem); }
.page-hero p { max-width: 760px; font-size: 1.15rem; }
.service-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) 320px; align-items: end; gap: 70px; }
.breadcrumbs { display: flex; gap: 9px; margin-bottom: 60px; color: rgba(255,255,255,.46); font-size: .7rem; }
.breadcrumbs a { color: rgba(255,255,255,.65); }
.service-hero h1 { margin-bottom: 30px; font-size: clamp(3.5rem,7vw,7.2rem); }
.service-hero-grid > div:first-child > p { max-width: 760px; margin-bottom: 32px; font-size: 1.12rem; }
.service-mark { display: grid; min-height: 320px; align-content: space-between; padding: 30px; border: 1px solid var(--white-line); background: rgba(255,255,255,.04); }
.service-mark span { color: var(--gold); font-family: var(--serif); font-size: 6rem; line-height: 1; }
.service-mark strong { font-family: var(--serif); font-size: 1.6rem; font-weight: 400; }
.service-intro { display: grid; grid-template-columns: .65fr 1.35fr; gap: 80px; }
.outcome-list { border-top: 1px solid var(--line); }
.outcome-list article { display: grid; grid-template-columns: 80px 1fr; gap: 15px; align-items: center; min-height: 90px; border-bottom: 1px solid var(--line); }
.outcome-list span { color: var(--gold); font-size: .68rem; font-weight: 800; }
.outcome-list h3 { margin: 0; font-family: var(--serif); font-size: 1.5rem; font-weight: 400; }
.process-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.process-grid article { min-height: 300px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.process-grid span { color: var(--gold); font-size: .68rem; font-weight: 800; }
.process-grid h3 { margin: 70px 0 16px; font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }
.boundary { background: var(--lavender); }
.boundary-grid, .story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.boundary-grid h2 { font-size: clamp(2.4rem,4vw,4rem); }
.boundary-grid > p { font-size: 1.1rem; }
.prose { font-size: 1.06rem; }
.prose h2 { margin: 55px 0 18px; font-size: clamp(2rem,4vw,3.4rem); }
.prose h2:first-child { margin-top: 0; }
.legal-content .prose { max-width: 820px; }

.assessment-hero { background: linear-gradient(135deg,var(--cream),var(--lavender)); }
.assessment-hero h1, .assessment-hero p { color: var(--ink); }
.assessment-layout { display: grid; grid-template-columns: minmax(280px,.58fr) minmax(0,1fr); gap: clamp(50px,8vw,110px); align-items: start; }
.assessment-aside { position: sticky; top: 120px; }
.assessment-aside h2 { font-size: clamp(2.2rem,4vw,3.7rem); }
.sensitive-warning { margin-top: 32px; padding: 22px; border-left: 3px solid var(--gold); background: var(--cream); }
.sensitive-warning strong { color: var(--ink); }
.sensitive-warning p { margin: 7px 0 0; font-size: .78rem; }
.assessment-form { padding: clamp(24px,5vw,54px); border: 1px solid var(--line); background: white; box-shadow: var(--shadow); }
.progress-wrap { margin-bottom: 46px; }
.progress-meta { display: flex; justify-content: space-between; color: var(--slate); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.progress-track { height: 4px; margin-top: 12px; background: var(--lavender); }
.progress-track span { display: block; width: 20%; height: 100%; background: var(--indigo); transition: width .3s ease; }
.form-step h2 { margin-bottom: 34px; font-size: clamp(2.1rem,4vw,3.8rem); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.form-stack { display: grid; gap: 24px; }
.assessment-form label { color: #363a50; }
.assessment-form label small { color: var(--slate); font-weight: 500; }
.assessment-form input, .assessment-form select, .assessment-form textarea { border-radius: 5px; background: var(--ivory); }
.assessment-form input:focus, .assessment-form select:focus, .assessment-form textarea:focus { border-color: var(--indigo); box-shadow: 0 0 0 3px rgba(23,20,149,.1); outline: 0; }
.field-error { min-height: 18px; color: #a12a34; font-size: .72rem; font-weight: 600; }
[aria-invalid="true"] { border-color: #a12a34 !important; }
.form-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 42px; padding-top: 24px; border-top: 1px solid var(--line); }
.form-status { display: none; margin-bottom: 24px; padding: 16px; border-left: 3px solid var(--indigo); background: var(--lavender); color: var(--ink); }
.form-status.is-visible { display: block; }
.form-status.is-error { border-color: #a12a34; background: #fff0f1; }
fieldset { margin: 24px 0; padding: 0; border: 0; }
legend { margin-bottom: 14px; font-size: .82rem; font-weight: 750; }
.checkbox-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.check-card { display: flex !important; min-height: 62px; grid-template-columns: 20px 1fr; align-items: center; padding: 12px; border: 1px solid var(--line); }
.check-card input, .consent input { width: 19px; min-height: 19px; margin: 0; accent-color: var(--indigo); }
.consent { display: grid !important; grid-template-columns: 24px 1fr; align-items: start; gap: 12px !important; margin-top: 28px; }
.honeypot { position: absolute !important; left: -9999px; opacity: 0; }
.contact-form { display: grid; gap: 24px; }

.not-found { display: grid; min-height: 70vh; place-items: center; padding: 100px 0; }
.not-found h1 { font-size: clamp(3.4rem,8vw,7rem); }
.error-code { display: block; margin-bottom: 20px; color: rgba(255,255,255,.42); font-family: var(--serif); font-size: clamp(7rem,20vw,18rem); line-height: .6; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@keyframes orbitPulse { 0%,100% { transform: scale(1); opacity: .55; } 50% { transform: scale(1.025); opacity: 1; } }

@media (max-width: 1080px) {
    .primary-nav { gap: 14px; }
    .primary-nav a { font-size: .72rem; }
    .hero-grid { grid-template-columns: 1fr; }
    .office-system { width: min(660px,100%); min-height: 620px; margin-inline: auto; }
    .principle-grid, .process-grid { grid-template-columns: repeat(2,1fr); }
    .capability-grid, .client-grid { grid-template-columns: repeat(2,1fr); }
    .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
    .footer-grid > div:last-child { grid-column: 2; }
    .entity-layout { grid-template-columns: 1fr; }
    .entity-map { width: min(650px,100%); margin-inline: auto; }
}

@media (max-width: 860px) {
    .shell { width: min(100% - 32px,var(--shell)); }
    .nav-toggle { display: block; }
    .primary-nav { position: fixed; left: 16px; right: 16px; top: 78px; display: none; max-height: calc(100vh - 98px); overflow-y: auto; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--ivory); box-shadow: var(--shadow); }
    .primary-nav.is-open { display: grid; gap: 4px; }
    .primary-nav a { padding: 13px 10px; font-size: .86rem; }
    .hero-grid { padding-top: 70px; }
    .hero h1 { font-size: clamp(3.8rem,13vw,6.5rem); }
    .calculator-shell, .readiness-grid, .leadership-grid, .service-hero-grid, .service-intro, .assessment-layout, .story-grid, .boundary-grid { grid-template-columns: 1fr; }
    .calculator-results { min-height: 530px; }
    .assessment-aside { position: static; }
    .service-mark { min-height: 230px; }
    .flow-visual { grid-template-columns: 1fr; }
    .flow-core { grid-template-columns: repeat(4,1fr); }
    .flow-core span { width: auto; }
    .layer-stack article { grid-template-columns: 60px 1fr; }
    .layer-stack article p { grid-column: 2; }
    .layer-stack article:nth-child(n) { margin-inline: 0; }
}

@media (max-width: 620px) {
    .section-pad { padding: 78px 0; }
    .header-inner { min-height: 76px; }
    .brand img { width: 52px; height: 45px; }
    .brand strong { font-size: 1rem; }
    .brand small { font-size: .55rem; }
    .hero-grid { min-height: auto; gap: 55px; padding-bottom: 55px; }
    .hero h1 { font-size: clamp(3.2rem,17vw,5.2rem); }
    .office-system { min-height: 450px; }
    .system-core { width: 145px; height: 145px; }
    .system-core img { width: 104px; }
    .system-node { width: 150px; padding: 12px; }
    .system-node strong { font-size: .8rem; }
    .system-node small { display: none; }
    .node-one { left: -2%; top: 7%; } .node-two { right: -2%; } .node-three { bottom: 1%; }
    .hero-index { display: none; }
    .principle-grid, .capability-grid, .client-grid, .process-grid, .evidence-grid, .footer-grid, .form-grid, .checkbox-grid { grid-template-columns: 1fr; }
    .principle-card { min-height: 230px; }
    .principle-card h3, .capability-card h3 { margin-top: 45px; }
    .split-heading { display: block; }
    .diagnostic-tag { display: block; margin-bottom: 28px; }
    .input-pair, .result-grid { grid-template-columns: 1fr; }
    .result-grid span { border-bottom: 1px solid rgba(255,255,255,.12); }
    .result-kicker strong { font-size: 3.2rem; }
    .readiness-meter { min-height: 400px; padding: 24px; }
    .meter-ring { width: 180px; height: 180px; }
    .flow-input, .flow-output { grid-template-columns: 1fr; }
    .flow-core { grid-template-columns: 1fr 1fr; }
    .risk-list article { grid-template-columns: 45px 1fr; }
    .risk-list i { display: none; }
    .comparison-head { display: none; }
    .comparison-row { grid-template-columns: 1fr; }
    .comparison-row span { padding: 18px; }
    .comparison-row span:first-child::before { content: "Without coordination"; display: block; margin-bottom: 6px; color: var(--slate); font-size: .6rem; font-weight: 800; text-transform: uppercase; }
    .comparison-row span + span { border-left: 0; background: var(--lavender); }
    .comparison-row span + span::before { content: "Hadara operating model"; display: block; margin-bottom: 6px; color: var(--indigo); font-size: .6rem; font-weight: 800; text-transform: uppercase; }
    .capability-card { min-height: 320px; }
    .layer-stack article { grid-template-columns: 40px 1fr; padding: 22px 18px; }
    .entity-map { min-height: 430px; }
    .entity { min-width: 110px; padding: 10px 7px; font-size: .61rem; }
    .entity-hub { width: 126px; height: 126px; font-size: 1.1rem; }
    .e1 { left: 0; } .e2 { right: 0; } .e3 { left: 0; } .e4 { right: 0; } .e5 { left: 35%; }
    .leadership-mandate { grid-template-columns: 1fr; }
    .footer-grid > div:last-child { grid-column: auto; }
    .footer-bottom { display: grid; }
    .page-hero h1 { font-size: clamp(3.2rem,15vw,5.5rem); }
    .service-hero h1 { font-size: clamp(3rem,14vw,5rem); }
    .breadcrumbs { margin-bottom: 40px; }
    .assessment-form { padding: 24px 18px; }
    .form-actions { flex-wrap: wrap; }
}

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

@media print {
    body * { visibility: hidden; }
    [data-calculator], [data-calculator] * { visibility: visible; }
    [data-calculator] { position: absolute; inset: 0; display: block; border: 0; color: #000; }
    .calculator-controls { display: none; }
    .calculator-results { min-height: 100vh; background: #fff; color: #000; }
    .calculator-results * { color: #000 !important; }
    [data-print-calculator] { display: none; }
}

/* Cinematic private-office system · v2 */
:root {
    --shell: 1280px;
    --radius: 24px;
    --radius-sm: 14px;
    --ease-out: cubic-bezier(.16, 1, .3, 1);
    --ease-in-out: cubic-bezier(.65, 0, .35, 1);
    --shadow-deep: 0 40px 100px rgba(6, 9, 29, .18);
    --surface: rgba(255, 255, 255, .68);
}

html { scroll-padding-top: 92px; }
body { background: #f9f8f4; font-size: clamp(1rem, .18vw + .96rem, 1.1rem); -webkit-font-smoothing: antialiased; }
h1, h2 { text-wrap: balance; }
p { text-wrap: pretty; }
.shell { width: min(var(--shell), calc(100% - clamp(32px, 6vw, 88px))); }
.section-pad { padding: clamp(76px, 8vw, 128px) 0; }
.section-heading { max-width: 780px; margin-bottom: clamp(38px, 5vw, 64px); }
.section-heading h2 { max-width: 760px; margin-bottom: 20px; font-size: clamp(2.35rem, 4vw, 3.5rem); line-height: 1.02; }
.section-heading p { max-width: 680px; font-size: clamp(1rem, .45vw + .9rem, 1.14rem); line-height: 1.72; }
.eyebrow, .step-kicker { margin-bottom: 16px; font-size: .68rem; letter-spacing: .19em; }

.scroll-progress { position: fixed; z-index: 1001; inset: 0 0 auto; height: 2px; pointer-events: none; }
.scroll-progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, var(--gold-light), var(--indigo-bright)); transform: scaleX(0); transform-origin: left; will-change: transform; }

.site-header { transition: min-height .45s var(--ease-out), background .45s ease, border-color .45s ease, box-shadow .45s ease; }
.header-inner { min-height: 82px; transition: min-height .45s var(--ease-out); }
.site-header.is-scrolled { background: rgba(251, 250, 246, .94); border-color: rgba(17, 21, 46, .1); box-shadow: 0 10px 42px rgba(9, 14, 43, .07); }
.site-header.is-scrolled .header-inner { min-height: 70px; }
.brand { gap: 12px; }
.brand img { width: 58px; height: 46px; transition: width .45s var(--ease-out), height .45s var(--ease-out); }
.site-header.is-scrolled .brand img { width: 50px; height: 40px; }
.brand span { padding-left: 12px; }
.brand strong { font-size: 1.05rem; }
.brand small { font-size: .56rem; }
.primary-nav { gap: clamp(13px, 1.45vw, 24px); }
.primary-nav a { position: relative; padding: 10px 0; font-size: .74rem; letter-spacing: .01em; }
.primary-nav > a:not(.nav-assessment)::after { content: ""; position: absolute; inset: auto 0 4px; height: 1px; background: var(--indigo); transform: scaleX(0); transform-origin: right; transition: transform .4s var(--ease-out); }
.primary-nav > a:hover::after, .primary-nav > a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.primary-nav .nav-assessment { padding: 10px 16px; transition: color .3s ease, background .3s ease, transform .3s var(--ease-out), box-shadow .3s ease; }
.primary-nav .nav-assessment:hover { background: var(--indigo); color: white; box-shadow: 0 10px 26px rgba(23, 20, 149, .18); transform: translateY(-1px); }

.button { position: relative; overflow: hidden; min-height: 52px; padding: 13px 22px; transition: transform .45s var(--ease-out), background .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease; }
.button::after { content: ""; position: absolute; inset: -100% -45%; background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.38) 50%, transparent 65%); transform: translateX(-65%) rotate(8deg); transition: transform .75s var(--ease-out); }
.button:hover::after { transform: translateX(65%) rotate(8deg); }
.button:hover { transform: translate3d(var(--magnetic-x, 0), calc(var(--magnetic-y, 0) - 2px), 0); }
.button-primary { box-shadow: 0 15px 36px rgba(23, 20, 149, .24); }

.home-hero { min-height: min(900px, calc(100svh - 70px)); background: linear-gradient(135deg, #fbfaf6 2%, #f2f0fa 50%, #e5e3f6 100%); }
.home-hero::before { opacity: .42; background-size: 72px 72px; mask-image: linear-gradient(105deg, black 0%, rgba(0,0,0,.8) 46%, transparent 84%); }
.home-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(115deg, rgba(255,255,255,.7), transparent 44%, rgba(23,20,149,.05)); }
.hero-grid { min-height: min(810px, calc(100svh - 116px)); grid-template-columns: minmax(0, 1.04fr) minmax(430px, .82fr); gap: clamp(34px, 5vw, 78px); padding: clamp(64px, 7vw, 96px) 0 66px; }
.hero-copy { max-width: 770px; }
.hero-descriptor { margin-bottom: 10px; font-size: clamp(1.35rem, 1.7vw, 1.8rem); }
.hero h1 { max-width: 760px; margin-bottom: 24px; font-size: clamp(3.9rem, 5.8vw, 5.5rem); line-height: .96; }
.hero-lede { max-width: 650px; margin-bottom: 30px; font-size: clamp(1.02rem, .52vw + .9rem, 1.18rem); line-height: 1.68; }
.trust-line { margin-top: 30px; gap: 16px 22px; }
.hero-atmosphere { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.hero-atmosphere span { position: absolute; border-radius: 50%; mix-blend-mode: multiply; filter: blur(1px); }
.hero-atmosphere span:nth-child(1) { width: 38vw; aspect-ratio: 1; right: 1%; top: 4%; border: 1px solid rgba(23,20,149,.13); box-shadow: inset 0 0 70px rgba(48,44,194,.09); animation: atmosphereFloat 11s ease-in-out infinite; }
.hero-atmosphere span:nth-child(2) { width: 22vw; aspect-ratio: 1; right: 14%; top: 21%; border: 1px solid rgba(199,166,106,.25); animation: atmosphereFloat 8s ease-in-out -3s infinite reverse; }
.hero-atmosphere span:nth-child(3) { width: 9px; height: 9px; right: 38%; top: 18%; background: var(--gold); box-shadow: 0 0 36px 14px rgba(199,166,106,.24); animation: beaconPulse 4s ease-in-out infinite; }
.hero-paths { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.hero-paths path { fill: none; stroke: rgba(23,20,149,.16); stroke-width: 1.2; stroke-dasharray: 8 18; animation: pathTravel 22s linear infinite; }
.hero-paths path + path { stroke: rgba(199,166,106,.27); stroke-dasharray: 3 14; animation-duration: 28s; animation-direction: reverse; }
.hero-orb-one { width: 460px; height: 460px; background: rgba(23,20,149,.1); filter: blur(32px); }
.hero-orb-two { background: rgba(199,166,106,.13); filter: blur(24px); }
.office-system { min-height: 520px; border-color: rgba(23,20,149,.14); background: radial-gradient(circle at 50% 48%, rgba(31,27,165,.98) 0 17%, rgba(23,20,149,.1) 18%, transparent 48%), linear-gradient(145deg, rgba(255,255,255,.6), rgba(255,255,255,.12)); box-shadow: inset 0 0 110px rgba(255,255,255,.86), 0 55px 100px rgba(9,14,43,.14); transform: perspective(1100px) rotateX(var(--depth-y, 0deg)) rotateY(var(--depth-x, 0deg)); transition: transform .6s var(--ease-out); }
.office-system::before, .office-system::after, .system-halo { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.office-system::before { inset: 4%; border: 1px solid rgba(255,255,255,.76); }
.office-system::after { inset: 28%; border: 1px dashed rgba(199,166,106,.5); animation: slowSpin 32s linear infinite; }
.system-halo { inset: 41%; background: var(--indigo); box-shadow: 0 0 80px 26px rgba(48,44,194,.25); }
.orbit { border-color: rgba(23,20,149,.2); animation: orbitPulse 6s ease-in-out infinite; }
.orbit-one { animation-name: slowSpin; animation-duration: 40s; }
.orbit-two { border-style: dashed; animation: slowSpin 30s linear infinite reverse; }
.orbit-three { animation: orbitPulse 5s ease-in-out -2s infinite; }
.system-core { z-index: 3; width: 164px; height: 164px; }
.system-core img { width: 116px; }
.system-node { width: 190px; border-color: rgba(23,20,149,.13); border-radius: 13px; background: rgba(251,250,246,.8); box-shadow: 0 22px 50px rgba(9,14,43,.14); transition: transform .55s var(--ease-out), box-shadow .45s ease; }
.system-node:hover { transform: translateY(-6px); box-shadow: 0 28px 58px rgba(9,14,43,.2); }
.node-one { left: -3%; top: 12%; animation: cardFloat 7s ease-in-out infinite; }
.node-two { right: -3%; top: 39%; animation: cardFloat 8s ease-in-out -3s infinite; }
.node-three { left: 7%; bottom: 5%; animation: cardFloat 7.5s ease-in-out -5s infinite; }
.hero-index { padding-bottom: 18px; }
.scroll-cue { position: absolute; z-index: 4; left: 50%; bottom: 18px; display: grid; justify-items: center; gap: 6px; color: rgba(9,14,43,.55); font-size: .58rem; font-weight: 800; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; transform: translateX(-50%); }
.scroll-cue span { width: 1px; height: 26px; background: linear-gradient(var(--gold), transparent); animation: scrollCue 2s ease-in-out infinite; }

.principles { position: relative; overflow: hidden; }
.principles::before { content: ""; position: absolute; width: 480px; height: 480px; right: -220px; top: 18%; border: 1px solid rgba(23,20,149,.08); border-radius: 50%; }
.principle-grid { border: 0; gap: 14px; }
.principle-card { position: relative; overflow: hidden; min-height: 250px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.55); box-shadow: 0 12px 38px rgba(9,14,43,.04); transform-style: preserve-3d; transition: border-color .4s ease, box-shadow .4s ease, transform .25s ease; }
.principle-card::after { content: ""; position: absolute; inset: auto -20% -55%; height: 70%; border-radius: 50%; background: radial-gradient(circle, rgba(48,44,194,.14), transparent 68%); transition: transform .6s var(--ease-out); }
.principle-card:hover { border-color: rgba(23,20,149,.28); box-shadow: 0 26px 60px rgba(9,14,43,.09); }
.principle-card:hover::after { transform: translateY(-18%); }
.principle-card h3 { margin: 58px 0 12px; font-size: 1.85rem; }

.calculator-section { background: radial-gradient(circle at 86% 15%, rgba(48,44,194,.32), transparent 34%), linear-gradient(145deg, #080d2a, #06091d); }
.calculator-section::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(90deg, transparent, black); }
.calculator-shell { border-radius: 20px; box-shadow: 0 45px 110px rgba(0,0,0,.32); }
.calculator-controls { gap: 24px; padding: clamp(28px, 4vw, 50px); }
.calculator-controls label { letter-spacing: .01em; }
.calculator-controls input[type="range"] { cursor: ew-resize; }
.calculator-results { gap: 22px; padding: clamp(30px, 4vw, 52px); background: linear-gradient(145deg, rgba(35,31,176,.96), rgba(8,13,43,.98)); }
.result-kicker strong { display: inline-block; font-size: clamp(2.8rem, 4.5vw, 4.6rem); font-variant-numeric: tabular-nums; transition: filter .25s ease, transform .25s var(--ease-out); }
.result-kicker strong.is-updating { filter: blur(2px); transform: translateY(-3px); }
.cost-visual { display: grid; height: 94px; grid-template-columns: repeat(3,1fr); align-items: end; gap: 9px; padding: 10px 0 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.cost-visual span { display: grid; height: 100%; grid-template-rows: 1fr auto; align-items: end; gap: 6px; }
.cost-weekly { --bar: 18%; } .cost-monthly { --bar: 52%; } .cost-annual { --bar: 100%; }
.cost-visual i { display: block; height: var(--bar); min-height: 6px; border-radius: 3px 3px 0 0; background: linear-gradient(180deg, var(--gold-light), rgba(213,182,117,.22)); box-shadow: 0 0 18px rgba(213,182,117,.16); transition: height .75s var(--ease-out); }
.cost-visual small { color: rgba(255,255,255,.46); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.result-grid strong { font-variant-numeric: tabular-nums; }

.readiness-callout { position: relative; overflow: hidden; background: linear-gradient(145deg, #f3efe5, #f7f5ee); }
.readiness-meter { overflow: hidden; border-radius: var(--radius); background: rgba(255,255,255,.52); box-shadow: 0 24px 70px rgba(9,14,43,.07); }
.readiness-meter::after { content: ""; position: absolute; width: 220px; height: 220px; right: -100px; top: -110px; border-radius: 50%; background: rgba(48,44,194,.1); filter: blur(12px); }
.readiness-grid h2 { max-width: 690px; font-size: clamp(2.4rem, 4.2vw, 3.7rem); }
.meter-ring { position: relative; animation: ringBreathe 6s ease-in-out infinite; }
.meter-ring::before { content: ""; position: absolute; inset: -20px; border: 1px dashed rgba(23,20,149,.18); border-radius: 50%; animation: slowSpin 24s linear infinite; }

.flow-visual { position: relative; gap: 24px; }
.flow-visual::before { content: ""; position: absolute; z-index: 0; left: 22%; right: 22%; top: 50%; height: 1px; background: linear-gradient(90deg, transparent, var(--gold), var(--indigo), transparent); }
.flow-input, .flow-output, .flow-core { position: relative; z-index: 1; }
.flow-input, .flow-output { border-radius: var(--radius-sm); box-shadow: 0 18px 48px rgba(9,14,43,.06); }
.flow-visual em { border-radius: 8px; }
.flow-core span { border-radius: 7px; box-shadow: 0 8px 25px rgba(23,20,149,.15); transition: transform .35s var(--ease-out); }
.flow-core span:hover { transform: translateX(5px); }

.risk-list article { transition: background .35s ease, padding .35s var(--ease-out); }
.risk-list article:hover { padding-inline: 18px; background: rgba(255,255,255,.035); }
.risk-list i { transform-origin: left; transition: transform .55s var(--ease-out); }
.risk-list article:hover i { transform: scaleX(1.35); }
.comparison-table { overflow: hidden; border-radius: var(--radius-sm); box-shadow: 0 22px 64px rgba(9,14,43,.07); }
.comparison-row { transition: background .3s ease; }
.comparison-row:hover { background: rgba(232,231,247,.5); }

.capability-grid { gap: 14px; }
.capability-card { position: relative; overflow: hidden; min-height: 330px; border-radius: var(--radius-sm); transform-style: preserve-3d; }
.capability-card::before { content: ""; position: absolute; inset: 0; opacity: 0; background: radial-gradient(circle at var(--card-x, 50%) var(--card-y, 50%), rgba(48,44,194,.14), transparent 42%); transition: opacity .35s ease; }
.capability-card:hover::before { opacity: 1; }
.capability-card > * { position: relative; z-index: 1; transform: translateZ(18px); }
.capability-card h3 { margin: 55px 0 16px; font-size: 1.8rem; }

.layer-stack { gap: 12px; perspective: 1200px; }
.layer-stack article { border-radius: 12px; transform: rotateX(0) translateZ(0); transition: transform .65s var(--ease-out), box-shadow .5s ease; }
.layer-stack article:nth-child(1) { transform: rotateX(-2deg) translateZ(40px); }
.layer-stack article:nth-child(2) { transform: rotateX(-1deg) translateZ(20px); }
.layer-stack:hover article:nth-child(1) { transform: rotateX(-1deg) translateY(-6px) translateZ(65px); }
.layer-stack:hover article:nth-child(2) { transform: translateY(-2px) translateZ(32px); }

.entity-map { overflow: hidden; min-height: 540px; background: radial-gradient(circle, rgba(48,44,194,.4), transparent 52%), repeating-radial-gradient(circle, transparent 0 70px, rgba(255,255,255,.05) 71px 72px); box-shadow: inset 0 0 100px rgba(0,0,0,.2); }
.entity-map::before { animation: slowSpin 35s linear infinite; }
.entity-map::after { animation: slowSpin 24s linear infinite reverse; }
.entity { border-radius: 8px; animation: cardFloat 7s ease-in-out infinite; }
.entity:nth-of-type(even) { animation-delay: -3s; }
.entity-hub { box-shadow: 0 20px 60px rgba(0,0,0,.3), 0 0 70px rgba(48,44,194,.35); }

.leadership-image { position: relative; }
.leadership-image::before { content: ""; position: absolute; z-index: -1; inset: 18px -18px -18px 18px; border: 1px solid rgba(23,20,149,.22); }
.leadership-image img { border-radius: 2px; }
.leadership-copy h2 { font-size: clamp(2.8rem, 4.5vw, 4.3rem); }
.final-cta { position: relative; overflow: hidden; background: radial-gradient(circle at 80% 20%, rgba(48,44,194,.8), transparent 32%), linear-gradient(135deg,var(--indigo),var(--midnight)); }
.final-cta::before { content: ""; position: absolute; width: 460px; height: 460px; right: -120px; bottom: -300px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 40px rgba(255,255,255,.025), 0 0 0 80px rgba(255,255,255,.02); }
.final-cta h2 { max-width: 920px; font-size: clamp(2.5rem, 4.5vw, 4.2rem); }

.page-hero, .service-hero { padding: clamp(82px, 9vw, 128px) 0 clamp(76px, 8vw, 116px); }
.page-hero h1 { max-width: 900px; margin-bottom: 24px; font-size: clamp(3.1rem, 5.1vw, 4.35rem); line-height: 1; }
.page-hero p { max-width: 710px; font-size: clamp(1rem, .4vw + .92rem, 1.14rem); }
.service-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 700px; background: radial-gradient(circle at 78% 35%, rgba(48,44,194,.34), transparent 28%), linear-gradient(135deg, #080d2a, #05081b); }
.service-ambient { position: absolute; z-index: -1; width: 50vw; height: 50vw; right: -12vw; top: -18vw; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.012), 0 0 0 140px rgba(255,255,255,.01); }
.service-hero-grid { grid-template-columns: minmax(0, 1.06fr) minmax(390px, .78fr); align-items: center; gap: clamp(50px, 7vw, 100px); }
.breadcrumbs { margin-bottom: 46px; }
.service-hero h1 { max-width: 790px; margin-bottom: 26px; font-size: clamp(3rem, 4.75vw, 4.15rem); line-height: 1; }
.service-hero-grid > div:first-child > p { max-width: 690px; font-size: 1.05rem; line-height: 1.7; }
.service-intro { grid-template-columns: minmax(260px,.62fr) minmax(0,1.38fr); gap: clamp(50px,7vw,90px); }
.outcome-list article { min-height: 82px; transition: padding .35s var(--ease-out), background .3s ease; }
.outcome-list article:hover { padding-inline: 14px; background: rgba(232,231,247,.38); }
.process-grid { border: 0; gap: 12px; }
.process-grid article { min-height: 270px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.54); transition: transform .45s var(--ease-out), box-shadow .4s ease, border-color .4s ease; }
.process-grid article:hover { transform: translateY(-7px); border-color: rgba(23,20,149,.25); box-shadow: 0 22px 54px rgba(9,14,43,.08); }
.process-grid h3 { margin-top: 54px; }

.service-visual { position: relative; min-height: 500px; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025)); box-shadow: inset 0 1px rgba(255,255,255,.12), 0 42px 90px rgba(0,0,0,.3); backdrop-filter: blur(12px); transform: perspective(1000px) rotateX(var(--depth-y, 0deg)) rotateY(var(--depth-x, 0deg)); transition: transform .6s var(--ease-out); }
.service-visual::before { content: ""; position: absolute; inset: 0; opacity: .24; background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px); background-size: 44px 44px; mask-image: radial-gradient(circle, black, transparent 76%); }
.visual-index { position: absolute; z-index: 5; left: 24px; right: 24px; top: 22px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--gold-light); }
.visual-index span { font-family: var(--serif); font-size: 2.3rem; }
.visual-index small { max-width: 180px; color: rgba(255,255,255,.5); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-align: right; text-transform: uppercase; }
.service-visual > svg { position: absolute; inset: 38px 0 0; width: 100%; height: calc(100% - 38px); }
.visual-links path, .transaction-path path { fill: none; stroke: rgba(213,182,117,.55); stroke-width: 1.3; stroke-dasharray: 5 10; animation: pathTravel 16s linear infinite; }
.visual-core { position: absolute; z-index: 3; left: 50%; top: 52%; display: grid; width: 148px; height: 148px; place-content: center; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.36); border-radius: 50%; background: rgba(23,20,149,.74); box-shadow: 0 0 64px rgba(48,44,194,.45); font-family: var(--serif); font-size: 1.2rem; text-align: center; }
.visual-core::after { content: ""; position: absolute; inset: -24px; border: 1px dashed rgba(255,255,255,.18); border-radius: 50%; animation: slowSpin 24s linear infinite; }
.visual-core small { display: block; margin-top: 4px; color: rgba(255,255,255,.54); font-family: var(--sans); font-size: .55rem; letter-spacing: .08em; text-transform: uppercase; }
.visual-node { position: absolute; z-index: 3; min-width: 94px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; background: rgba(8,13,43,.62); box-shadow: 0 14px 34px rgba(0,0,0,.18); color: rgba(255,255,255,.82); font-size: .64rem; letter-spacing: .05em; text-align: center; text-transform: uppercase; animation: cardFloat 7s ease-in-out infinite; }
.vn-1 { left: 9%; top: 17%; } .vn-2 { right: 8%; top: 18%; animation-delay: -2s; } .vn-3 { left: 5%; bottom: 18%; animation-delay: -4s; } .vn-4 { right: 5%; bottom: 18%; animation-delay: -5s; } .vn-5 { left: 50%; top: 9%; transform: translateX(-50%); animation-delay: -3s; }

.vault-shell { position: absolute; inset: 92px 42px 36px; perspective: 1000px; }
.vault-door { position: absolute; z-index: 4; left: 50%; top: 50%; display: grid; width: 210px; height: 210px; place-items: center; transform: translate(-50%,-50%); border: 1px solid rgba(213,182,117,.5); border-radius: 50%; background: radial-gradient(circle, #2521a8, #0b1034 68%); box-shadow: 0 0 0 20px rgba(255,255,255,.035), 0 0 70px rgba(48,44,194,.34); }
.vault-door::before, .vault-door::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.23); border-radius: 50%; }
.vault-door::before { inset: 25px; } .vault-door::after { inset: 52px; }
.vault-door span { color: rgba(255,255,255,.83); font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.vault-door i { position: absolute; width: 1px; height: 78%; background: rgba(213,182,117,.55); animation: slowSpin 18s linear infinite; }
.vault-layer { position: absolute; width: 145px; padding: 13px; border: 1px solid rgba(255,255,255,.17); border-radius: 7px; background: rgba(255,255,255,.06); color: rgba(255,255,255,.7); font-size: .62rem; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.vl-1 { left: 0; top: 13%; } .vl-2 { right: 0; top: 38%; } .vl-3 { left: 4%; bottom: 6%; }

.operations-pipeline { position: absolute; inset: 105px 34px 42px; display: grid; align-content: center; gap: 16px; }
.operations-pipeline::after { content: ""; position: absolute; left: 29px; top: 18%; bottom: 18%; width: 1px; background: rgba(213,182,117,.35); }
.operations-pipeline > span { position: relative; z-index: 2; display: grid; min-height: 54px; grid-template-columns: 45px 1fr; align-items: center; gap: 13px; padding: 8px 16px 8px 8px; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; background: linear-gradient(90deg, rgba(48,44,194,.24), rgba(255,255,255,.04)); color: rgba(255,255,255,.78); font-size: .7rem; animation: pipelineIn 8s var(--ease-out) infinite; animation-delay: calc(var(--i) * -.9s); }
.pipeline-step-1 { --i: 0; } .pipeline-step-2 { --i: 1; } .pipeline-step-3 { --i: 2; } .pipeline-step-4 { --i: 3; } .pipeline-step-5 { --i: 4; }
.operations-pipeline b { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--indigo); color: var(--gold-light); font-size: .61rem; }

.decision-stack { position: absolute; inset: 122px 56px 58px; perspective: 900px; }
.decision-stack article { position: absolute; left: 4%; right: 4%; display: grid; min-height: 96px; align-content: center; padding: 20px 26px; border: 1px solid rgba(255,255,255,.17); border-radius: 11px; background: rgba(255,255,255,.07); box-shadow: 0 20px 45px rgba(0,0,0,.16); transform: perspective(800px) rotateX(56deg) rotateZ(-3deg); }
.decision-stack article:nth-child(1) { top: 0; opacity: .55; } .decision-stack article:nth-child(2) { top: 78px; left: 9%; right: 0; opacity: .76; } .decision-stack article:nth-child(3) { top: 156px; left: 15%; right: -3%; background: rgba(48,44,194,.34); }
.decision-stack small { color: var(--gold-light); font-size: .56rem; letter-spacing: .12em; text-transform: uppercase; }
.decision-stack strong { font-family: var(--serif); font-size: 1.1rem; font-weight: 400; }
.decision-axis { position: absolute; z-index: 4; right: -20px; top: 45%; padding: 10px 14px; border-radius: 999px; background: var(--gold-light); color: var(--midnight); font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

.transaction-path { position: absolute; inset: 122px 28px 36px; }
.transaction-path svg { width: 100%; height: 76%; }
.transaction-path > span { position: absolute; display: grid; min-width: 90px; gap: 4px; padding: 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: rgba(8,13,43,.75); color: rgba(255,255,255,.78); font-size: .62rem; text-align: center; }
.transaction-path b { color: var(--gold-light); font-size: .55rem; }
.tp-1 { left: 0; bottom: 10%; } .tp-2 { left: 29%; top: 0; } .tp-3 { right: 25%; bottom: 15%; } .tp-4 { right: 0; top: 15%; }
.transaction-path > small { position: absolute; left: 0; bottom: 0; color: rgba(255,255,255,.38); font-size: .56rem; letter-spacing: .1em; text-transform: uppercase; }

.assessment-hero { position: relative; isolation: isolate; overflow: hidden; padding: clamp(70px, 7vw, 104px) 0; background: radial-gradient(circle at 80% 20%, rgba(48,44,194,.14), transparent 30%), linear-gradient(135deg,var(--cream),var(--lavender)); }
.assessment-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .45; background-image: linear-gradient(rgba(23,20,149,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(23,20,149,.07) 1px, transparent 1px); background-size: 68px 68px; mask-image: linear-gradient(90deg, transparent 35%, black); }
.assessment-orbit { position: absolute; z-index: -1; width: min(44vw, 660px); aspect-ratio: 1; right: -10%; top: -48%; border: 1px solid rgba(23,20,149,.12); border-radius: 50%; box-shadow: 0 0 0 50px rgba(23,20,149,.025), 0 0 0 100px rgba(23,20,149,.018); }
.assessment-hero-grid { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(310px, .58fr); align-items: center; gap: clamp(48px, 7vw, 96px); }
.assessment-hero h1 { max-width: 820px; margin-bottom: 22px; font-size: clamp(3.25rem, 4.65vw, 4.05rem); line-height: .99; }
.assessment-hero p { max-width: 650px; margin-bottom: 28px; font-size: 1.05rem; }
.hero-reassurance { display: inline-flex; align-items: center; gap: 9px; color: var(--slate); font-size: .72rem; font-weight: 700; }
.hero-reassurance i { display: block; width: 9px; height: 9px; border: 2px solid var(--indigo); border-radius: 50%; box-shadow: 0 0 0 4px rgba(23,20,149,.08); }
.intake-brief { padding: 28px; border: 1px solid rgba(23,20,149,.16); border-radius: var(--radius-sm); background: rgba(255,255,255,.52); box-shadow: 0 25px 70px rgba(9,14,43,.09); backdrop-filter: blur(14px); }
.intake-brief > span { color: var(--gold); font-size: .61rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.intake-brief strong { display: block; margin: 34px 0 10px; font-family: var(--serif); font-size: 1.65rem; font-weight: 400; }
.intake-brief p { margin-bottom: 26px; font-size: .82rem; line-height: 1.65; }
.intake-brief div { display: grid; gap: 7px; }
.intake-brief small { padding-top: 7px; border-top: 1px solid var(--line); color: var(--slate); font-size: .64rem; }
.assessment-section { background: linear-gradient(180deg, #fbfaf6, #f5f3ed); }
.assessment-layout { grid-template-columns: minmax(280px,.56fr) minmax(0,1fr); gap: clamp(46px, 6vw, 88px); }
.assessment-aside h2 { max-width: 390px; font-size: clamp(2.15rem, 3vw, 3rem); }
.assessment-form { min-height: 640px; padding: clamp(26px,4vw,48px); border-radius: var(--radius-sm); box-shadow: 0 32px 90px rgba(9,14,43,.12); }
.progress-wrap { margin-bottom: 38px; }
.progress-track { height: 5px; overflow: hidden; border-radius: 999px; }
.progress-track span { border-radius: inherit; background: linear-gradient(90deg, var(--indigo), var(--indigo-bright), var(--gold-light)); transition: width .65s var(--ease-out); }
.form-step { min-height: 400px; }
.form-step.is-entering { animation: stepEnter .55s var(--ease-out) both; }
.form-step h2 { max-width: 620px; margin-bottom: 30px; font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1.02; }
.assessment-form input, .assessment-form select, .assessment-form textarea { border-radius: 8px; transition: border-color .25s ease, background .25s ease, box-shadow .25s ease, transform .25s var(--ease-out); }
.assessment-form input:hover, .assessment-form select:hover, .assessment-form textarea:hover { border-color: rgba(23,20,149,.34); background: white; }
.assessment-form input:focus, .assessment-form select:focus, .assessment-form textarea:focus { background: white; box-shadow: 0 0 0 4px rgba(23,20,149,.09), 0 10px 25px rgba(9,14,43,.06); transform: translateY(-1px); }
.field-error:not(:empty) { animation: errorIn .35s var(--ease-out); }
.check-card { border-radius: 8px; transition: border-color .25s ease, background .25s ease, transform .25s var(--ease-out); }
.check-card:hover { border-color: rgba(23,20,149,.32); background: var(--lavender); transform: translateY(-1px); }
.check-card:has(input:checked) { border-color: var(--indigo); background: var(--lavender); box-shadow: inset 3px 0 var(--indigo); }
.form-actions { min-height: 77px; align-items: flex-end; }
.form-status.is-visible { border-radius: 8px; animation: statusIn .5s var(--ease-out); }
.form-status.is-success { min-height: 220px; display: grid; align-content: center; padding: 34px 34px 34px 86px; border-color: var(--indigo); background: linear-gradient(135deg, var(--lavender), white); font-family: var(--serif); font-size: 1.45rem; }
.form-status.is-success::before { content: "✓"; position: absolute; margin-left: -54px; display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--indigo); color: white; font-family: var(--sans); font-size: 1rem; }
.assessment-form.is-complete { min-height: 340px; display: grid; align-content: center; }

.site-footer { padding-top: 72px; background: radial-gradient(circle at 15% 0, rgba(48,44,194,.15), transparent 24%), #05081a; }
.footer-grid { gap: clamp(30px, 4vw, 56px); }

.reveal { opacity: 1; transform: none; }
.motion-ready .reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--ease-out), transform .8s var(--ease-out), clip-path .9s var(--ease-out); }
.motion-ready .section-heading.reveal { clip-path: inset(0 0 100% 0); transform: none; }
.motion-ready .section-heading.reveal.is-visible { clip-path: inset(0); }
.motion-ready .risk-list .reveal, .motion-ready .outcome-list .reveal { transform: translateX(-28px); }
.motion-ready .leadership-image.reveal { clip-path: inset(0 100% 0 0); transform: none; }
.motion-ready .leadership-image.reveal.is-visible { clip-path: inset(0); }
.motion-ready .service-visual.reveal { opacity: 0; transform: perspective(1000px) rotateY(-8deg) scale(.96); }
.motion-ready .service-visual.reveal.is-visible { opacity: 1; transform: perspective(1000px) rotateY(var(--depth-x, 0deg)) rotateX(var(--depth-y, 0deg)) scale(1); }
.motion-ready .reveal.is-visible { opacity: 1; transform: none; }
.motion-ready .stagger-parent > .reveal { transition-delay: calc(var(--stagger, 0) * 75ms); }

@keyframes slowSpin { to { transform: rotate(360deg); } }
@keyframes pathTravel { to { stroke-dashoffset: -240; } }
@keyframes atmosphereFloat { 0%,100% { transform: translate3d(0,0,0) scale(1); } 50% { transform: translate3d(-18px,14px,0) scale(1.03); } }
@keyframes cardFloat { 0%,100% { translate: 0 0; } 50% { translate: 0 -7px; } }
@keyframes beaconPulse { 0%,100% { opacity: .45; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.1); } }
@keyframes scrollCue { 0%,100% { transform: scaleY(.5); transform-origin: top; opacity: .45; } 50% { transform: scaleY(1); opacity: 1; } }
@keyframes ringBreathe { 0%,100% { box-shadow: 0 0 0 18px rgba(199,166,106,.08),0 0 0 36px rgba(23,20,149,.04); } 50% { box-shadow: 0 0 0 24px rgba(199,166,106,.05),0 0 0 45px rgba(23,20,149,.025); } }
@keyframes pipelineIn { 0%,100% { transform: translateX(0); border-color: rgba(255,255,255,.12); } 45% { transform: translateX(6px); border-color: rgba(213,182,117,.38); } }
@keyframes stepEnter { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
@keyframes errorIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@keyframes statusIn { from { opacity: 0; transform: scale(.98); } to { opacity: 1; transform: none; } }

@media (max-width: 1180px) {
    .primary-nav { gap: 12px; }
    .primary-nav a { font-size: .68rem; }
    .hero-grid { grid-template-columns: minmax(0,1fr) minmax(380px,.76fr); }
    .office-system { min-height: 470px; }
    .system-node { width: 168px; }
    .service-hero-grid { grid-template-columns: minmax(0,1fr) minmax(360px,.72fr); gap: 46px; }
}

@media (max-width: 1024px) {
    body.nav-open { overflow: hidden; }
    .nav-toggle { display: block; position: relative; z-index: 103; }
    .nav-toggle > span:not(.sr-only) { transition: transform .35s var(--ease-out), opacity .25s ease; }
    .nav-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .nav-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
    .nav-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
    .primary-nav { position: fixed; z-index: 102; left: 20px; right: 20px; top: 76px; display: grid; max-height: calc(100svh - 96px); overflow-y: auto; gap: 2px; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: rgba(251,250,246,.97); box-shadow: var(--shadow-deep); opacity: 0; visibility: hidden; transform: translateY(-12px) scale(.985); transform-origin: top; transition: opacity .3s ease, visibility .3s ease, transform .4s var(--ease-out); }
    .primary-nav.is-open { display: grid; opacity: 1; visibility: visible; transform: none; }
    .primary-nav a { padding: 12px 10px; font-size: .82rem; }
    .primary-nav .nav-assessment { margin-top: 7px; text-align: center; }
    .hero-grid { grid-template-columns: 1fr; min-height: auto; padding-block: 72px 90px; }
    .hero-copy { max-width: 820px; }
    .hero h1 { max-width: 820px; font-size: clamp(3.65rem, 8.4vw, 5.2rem); }
    .office-system { width: min(620px,100%); min-height: 570px; margin-inline: auto; }
    .scroll-cue { display: none; }
    .assessment-hero-grid { grid-template-columns: 1fr .55fr; gap: 34px; }
    .assessment-hero h1 { font-size: clamp(3rem, 6vw, 3.7rem); }
    .service-hero { min-height: auto; }
    .service-hero-grid { grid-template-columns: 1fr; }
    .service-visual { width: min(650px,100%); min-height: 500px; margin-inline: auto; }
    .service-intro { grid-template-columns: 1fr; }
    .process-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 768px) {
    .shell { width: min(var(--shell), calc(100% - 36px)); }
    .section-pad { padding: 72px 0; }
    .section-heading h2 { font-size: clamp(2.2rem, 7.5vw, 3.15rem); }
    .home-hero { min-height: auto; }
    .hero-grid { gap: 54px; padding-top: 58px; }
    .hero h1 { max-width: 680px; font-size: clamp(3.1rem, 9.5vw, 4.35rem); }
    .office-system { min-height: 540px; }
    .hero-index { display: none; }
    .principle-grid, .capability-grid, .client-grid, .evidence-grid { grid-template-columns: repeat(2,1fr); }
    .calculator-shell, .readiness-grid, .leadership-grid, .entity-layout, .assessment-layout, .story-grid, .boundary-grid { grid-template-columns: 1fr; }
    .assessment-hero-grid { grid-template-columns: 1fr; }
    .assessment-hero h1 { max-width: 680px; }
    .intake-brief { max-width: 620px; }
    .assessment-aside { position: static; }
    .flow-visual { grid-template-columns: 1fr; }
    .flow-visual::before { left: 50%; top: 20%; bottom: 20%; width: 1px; height: auto; }
    .flow-core { grid-template-columns: repeat(4,1fr); }
    .flow-core span { width: auto; }
    .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
}

@media (max-width: 620px) {
    html { scroll-padding-top: 78px; }
    body { font-size: 1rem; }
    .shell { width: min(var(--shell), calc(100% - 32px)); }
    .section-pad { padding: 64px 0; }
    .header-inner { min-height: 72px; }
    .site-header.is-scrolled .header-inner { min-height: 64px; }
    .brand img { width: 48px; height: 39px; }
    .brand span { padding-left: 10px; }
    .brand strong { font-size: .96rem; }
    .brand small { font-size: .49rem; letter-spacing: .11em; }
    .primary-nav { left: 12px; right: 12px; top: 68px; }
    .section-heading { margin-bottom: 36px; }
    .section-heading h2 { font-size: clamp(2.1rem, 10.5vw, 2.85rem); }
    .hero-grid { padding: 50px 0 64px; }
    .hero-descriptor { font-size: 1.25rem; }
    .hero h1 { font-size: clamp(2.65rem, 12.2vw, 3.55rem); line-height: .98; }
    .hero-lede { font-size: 1rem; }
    .button-row { align-items: stretch; }
    .button-row .button { width: 100%; }
    .trust-line { display: grid; gap: 8px; }
    .office-system { min-height: 430px; border-radius: 24px; }
    .office-system::before { border-radius: 20px; }
    .system-core { width: 132px; height: 132px; }
    .system-core img { width: 91px; }
    .system-node { width: 140px; padding: 11px; }
    .system-node strong { font-size: .77rem; }
    .system-node small { display: none; }
    .node-one { left: 1%; top: 7%; } .node-two { right: 1%; top: 41%; } .node-three { left: 3%; bottom: 3%; }
    .principle-grid, .capability-grid, .client-grid, .process-grid, .evidence-grid, .footer-grid, .form-grid, .checkbox-grid { grid-template-columns: 1fr; }
    .principle-card { min-height: 218px; }
    .calculator-results { min-height: auto; }
    .result-kicker strong { font-size: clamp(2.45rem, 13vw, 3.35rem); }
    .cost-visual { height: 80px; }
    .input-pair, .result-grid { grid-template-columns: 1fr; }
    .readiness-meter { min-height: auto; padding: 24px; }
    .meter-ring { width: 170px; height: 170px; }
    .flow-core { grid-template-columns: 1fr 1fr; }
    .layer-stack article:nth-child(n) { margin-inline: 0; transform: none; }
    .entity-map { min-height: 420px; border-radius: 24px; }
    .leadership-image::before { inset: 10px -10px -10px 10px; }
    .final-cta h2 { font-size: clamp(2.25rem, 10vw, 3rem); }
    .page-hero, .service-hero { padding: 66px 0 72px; }
    .page-hero h1 { font-size: clamp(2.55rem, 11.2vw, 3.35rem); line-height: 1; }
    .service-hero h1 { font-size: clamp(2.45rem, 10.8vw, 3.25rem); }
    .breadcrumbs { margin-bottom: 34px; overflow: hidden; }
    .breadcrumbs span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .service-visual { min-height: 410px; border-radius: 20px; }
    .visual-core { width: 120px; height: 120px; font-size: 1rem; }
    .visual-node { min-width: 78px; padding: 8px; font-size: .54rem; }
    .vn-1 { left: 4%; } .vn-2 { right: 4%; } .vn-3 { left: 2%; } .vn-4 { right: 2%; }
    .vn-5 { top: 22%; }
    .vault-shell { inset-inline: 18px; }
    .vault-door { width: 170px; height: 170px; }
    .vault-layer { width: 112px; padding: 10px 6px; font-size: .52rem; }
    .decision-stack { inset-inline: 24px; }
    .decision-axis { right: -8px; }
    .transaction-path > span { min-width: 74px; padding: 7px; font-size: .54rem; }
    .assessment-hero { padding: 54px 0 62px; }
    .assessment-hero h1 { font-size: clamp(2.5rem, 10.8vw, 3.15rem); }
    .assessment-hero .button-row { align-items: flex-start; }
    .assessment-hero .button { width: auto; }
    .intake-brief { padding: 22px; }
    .intake-brief strong { margin-top: 26px; }
    .assessment-form { min-height: 650px; padding: 24px 18px; }
    .form-step { min-height: 420px; }
    .form-step h2 { font-size: clamp(2rem, 9vw, 2.55rem); }
    .form-actions { flex-wrap: nowrap; }
    .footer-grid > div:last-child { grid-column: auto; }
    .footer-bottom { display: grid; }
}

@media (max-width: 390px) {
    .brand small { display: none; }
    .hero h1 { font-size: clamp(2.45rem, 12vw, 2.9rem); }
    .office-system { min-height: 390px; }
    .system-node { width: 126px; }
    .system-core { width: 114px; height: 114px; }
    .page-hero h1, .assessment-hero h1 { font-size: clamp(2.3rem, 11.7vw, 2.75rem); }
    .service-hero h1 { font-size: clamp(2.25rem, 11.4vw, 2.7rem); }
    .service-visual { min-height: 380px; }
    .visual-index { left: 18px; right: 18px; }
    .operations-pipeline { inset-inline: 18px; }
    .form-actions .button { padding-inline: 16px; }
}

@media (hover: none) {
    .button:hover, .principle-card:hover, .capability-card:hover, .process-grid article:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important; }
    .motion-ready .reveal, .motion-ready .section-heading.reveal, .motion-ready .leadership-image.reveal, .motion-ready .service-visual.reveal { opacity: 1; clip-path: none; transform: none; }
    .office-system, .service-visual { transform: none !important; }
    .scroll-progress { display: none; }
}
