/* 01 Tokens & Reset */
:root{--color-ink:#171d24;--color-deep:#26384a;--color-indigo:#4d6285;--color-sea:#789c98;--color-ochre:#b58958;--color-linen:#ece7de;--color-paper:#f7f4ee;--color-surface:#fcfbf8;--color-line:#cdd2d1;--color-muted:#6a7379;--color-fog:#dfe7e5;--color-white:#fff;--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-editorial:Georgia,"Times New Roman",serif;--text-xs:.74rem;--text-sm:.875rem;--text-base:1rem;--text-lg:clamp(1.08rem,1.3vw,1.22rem);--text-xl:clamp(1.55rem,2.3vw,2.25rem);--text-2xl:clamp(2.15rem,4vw,4.15rem);--space-1:.375rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:clamp(4rem,8vw,7.5rem);--container:1240px;--narrow:790px;--border:1px solid var(--color-line);--radius:2px;--shadow:0 16px 50px rgba(23,29,36,.07);--transition:180ms ease}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p{margin:0}body{min-width:0;background:var(--color-surface);color:var(--color-ink);font-family:var(--font-sans);line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}button,input{font:inherit}a{color:inherit}button{color:inherit}
/* 02 Base */
h1,h2,h3{line-height:1.06;letter-spacing:-.035em}h1{max-width:960px;font-size:clamp(3rem,6.35vw,6.2rem);font-weight:560}h2{font-size:var(--text-2xl);font-weight:560}h3{font-size:var(--text-xl);font-weight:580}.eyebrow,.section-kicker,.field-number,.index{font-size:var(--text-xs);font-weight:750;letter-spacing:.14em;text-transform:uppercase}.section-kicker{color:var(--color-indigo);margin-bottom:var(--space-3)}.tag-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:auto;padding-top:var(--space-4)}.tag-row span{border:1px solid currentColor;padding:.2rem .55rem;color:var(--color-muted);font-size:var(--text-xs)}
/* 03 Accessibility */
.skip-link{position:fixed;left:1rem;top:1rem;z-index:1000;background:var(--color-white);padding:.75rem 1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}a,button,input,summary{outline-offset:4px}:focus-visible{outline:2px solid var(--color-ochre)}[hidden]{display:none!important}
/* 04 Layout */
.container{width:min(calc(100% - 3rem),var(--container));margin-inline:auto}.section{padding:var(--space-7) 0}section[id]{scroll-margin-top:6.5rem}.section-heading{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(18rem,.75fr);gap:var(--space-5);align-items:end;margin-bottom:var(--space-6)}.section-heading .section-kicker{grid-column:1/-1;margin-bottom:-.75rem}.section-heading>p:last-child{color:var(--color-muted);font-size:var(--text-lg);max-width:650px}
/* 05 Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(252,251,248,.96);border-bottom:var(--border);backdrop-filter:blur(12px)}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{flex:0 1 292px}.primary-nav{display:flex;align-items:center;gap:clamp(.75rem,1.5vw,1.5rem)}.primary-nav a{font-size:.8rem;text-decoration:none;white-space:nowrap}.primary-nav a:hover{color:var(--color-indigo)}.menu-toggle{display:none;background:none;border:0;padding:.75rem}
/* 06 Hero */
.hero{height:auto;padding:clamp(4rem,9vw,8rem) 0 var(--space-7);background:linear-gradient(90deg,var(--color-paper) 0 70%,var(--color-fog) 70%)}.hero-copy{max-width:1050px}.hero .eyebrow{display:flex;align-items:center;gap:.75rem;color:var(--color-indigo);margin-bottom:var(--space-5)}.terminal{width:8px;height:8px;background:var(--color-ochre)}.hero-lede{max-width:720px;margin-top:var(--space-5);font-size:var(--text-lg);color:#4e5961}.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:var(--space-5)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.72rem 1.1rem;border:1px solid;text-decoration:none;font-size:.88rem;font-weight:700}.button-primary{background:var(--color-deep);border-color:var(--color-deep);color:white}.button-secondary{background:transparent;border-color:var(--color-deep)}.button:hover{box-shadow:inset 0 -3px 0 var(--color-ochre)}.scope-marker{margin-top:var(--space-5);font-family:var(--font-editorial);font-size:.92rem;color:var(--color-muted)}.scope-marker span{color:var(--color-ochre);padding:0 .3rem}
/* 07 Institutional Span */
.institutional-span{margin-top:clamp(4rem,8vw,7rem);border-top:2px solid var(--color-deep)}.visual-heading{display:flex;align-items:center;gap:.85rem;padding:1rem 0}.visual-heading h2{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}.visual-heading p{margin-left:auto;color:var(--color-muted);font-size:.78rem}.span-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;border:var(--border);background:var(--color-surface)}.span-frame{position:relative;min-width:0;height:auto;padding:1.4rem 1.35rem;border-right:var(--border);border-top:4px solid var(--color-sea)}.span-frame:last-child{border-right:0}.span-frame:nth-child(2n){border-top-color:var(--color-indigo)}.span-frame .index{color:var(--color-muted)}.span-frame h3{font-size:clamp(1.25rem,2vw,1.75rem);margin:2.5rem 0 1.25rem;text-transform:uppercase}.micro{display:flex;flex-wrap:wrap;gap:.4rem}.micro span{font-family:var(--font-editorial);font-size:.78rem}.edge-key{margin-top:1.5rem;border-left:3px solid var(--color-ochre);padding-left:.5rem;color:var(--color-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
/* 08 Client System View */
.system-view{background:var(--color-deep);color:white;padding:2.25rem 0}.strip-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:1rem}.strip-title .section-kicker{color:var(--color-fog);margin:0}.strip-title h2{font-size:1rem;text-transform:uppercase;letter-spacing:.13em}.system-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.system-grid article{min-width:0;padding:1.5rem 1.3rem 0;border-right:1px solid rgba(255,255,255,.2)}.system-grid article:first-child{padding-left:0}.system-grid article:last-child{border:0}.system-grid span{color:var(--color-sea);font-size:.72rem}.system-grid h3{font-size:1.05rem;margin:.75rem 0}.system-grid p{color:var(--color-linen);font-size:.86rem}
/* 09 Financial Fields */
.fields-section{background:var(--color-surface)}.financial-fields-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:auto;gap:clamp(1rem,2vw,2rem);align-items:start}.field{height:auto;min-width:0;padding:clamp(1.5rem,3vw,2.75rem);border:var(--border);border-top:5px solid var(--color-indigo);background:var(--color-paper);display:flex;flex-direction:column}.field-one{grid-column:1/7}.field-two{grid-column:7/13;background:var(--color-white);border-top-color:var(--color-sea)}.field-three{grid-column:1/6;background:var(--color-white);border-top-color:var(--color-sea)}.field-four{grid-column:6/13}.field-number{color:var(--color-muted);margin-bottom:clamp(3rem,6vw,6rem)}.field h3{max-width:580px;margin-bottom:1.4rem}.field>p:not(.field-number){color:#505a61;margin-bottom:1rem}
/* 10 Client Systems Meet */
.meeting-section{background:var(--color-linen)}.meeting-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--space-6)}.meeting-layout .section-heading{display:block;margin:0}.meeting-layout .section-heading h2{margin-bottom:1.25rem}.meeting-spans{border-top:2px solid var(--color-deep)}.meeting-spans article{display:grid;grid-template-columns:3rem 1fr;gap:1rem;border-bottom:var(--border);padding:1.15rem 0}.meeting-spans span{color:var(--color-indigo);font-weight:800}.boundary-note{grid-column:1/-1;border-left:4px solid var(--color-ochre);padding:1.25rem 1.5rem;background:var(--color-surface);font-family:var(--font-editorial);font-size:var(--text-lg)}
/* 11 Reach Review */
.review-section{background:var(--color-deep);color:white}.section-heading.light .section-kicker,.section-heading.light>p:last-child{color:var(--color-fog)}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;border-top:1px solid rgba(255,255,255,.3);border-left:1px solid rgba(255,255,255,.3)}.review-step{height:auto;min-width:0;padding:2rem;border-right:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3)}.review-step>p{color:var(--color-sea);font-weight:800}.review-step h3{font-size:1.35rem;margin:3.5rem 0 1rem}.review-step span{display:block;color:var(--color-linen);font-size:.92rem}
/* 12 Reference Set */
.reference-section{background:var(--color-paper)}.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:1.25rem}.profile{min-width:0;height:auto;border:var(--border);background:var(--color-surface);padding:1.5rem;display:flex;flex-direction:column}.profile.contact{border-top:5px solid var(--color-ochre)}.profile.research{border-top:5px solid var(--color-sea);background:#f2f5f3}.profile:nth-child(2),.profile:nth-child(5){padding-top:2.25rem}.profile-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2.25rem}.avatar{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--color-deep);font-weight:800;font-size:.8rem}.profile-head p{color:var(--color-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;text-align:right}.profile h3{font-size:1.75rem;margin-bottom:.75rem}.profile .role{min-height:4.7rem;color:var(--color-indigo);font-family:var(--font-editorial);font-size:.91rem}.profile>p:not(.role):not(.context){margin-top:1.25rem;color:#4d575e;font-size:.9rem}.profile .context{margin-top:1rem;padding-top:1rem;border-top:var(--border);color:var(--color-muted);font-size:.8rem}.email-actions{margin-top:auto;padding-top:1.5rem}.email-actions a{display:block;overflow-wrap:anywhere;font-size:.85rem;color:var(--color-deep)}.copy-email{margin-top:.75rem;border:1px solid var(--color-deep);background:transparent;padding:.5rem .75rem;cursor:pointer;font-size:.78rem;font-weight:700}.copy-status{margin-left:.5rem;font-size:.75rem;color:var(--color-indigo)}.contact-clarification{margin-top:1.5rem;border-left:5px solid var(--color-ochre);background:var(--color-white);padding:1.5rem}.contact-clarification strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.contact-clarification p{margin-top:.5rem;color:var(--color-muted)}
/* 13 Independence */
.independence-section{background:var(--color-fog)}.independence-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-6)}.independence-layout .section-heading{display:block;margin:0}.independence-layout .section-heading h2{margin-bottom:1.5rem}.scope-content{border-top:2px solid var(--color-deep)}.scope-content p{padding:1.1rem 0;border-bottom:1px solid #bcc9c6}
/* 14 Service Notes */
.notes-section{background:var(--color-surface)}.notes-list{border-top:2px solid var(--color-deep)}.service-note{height:auto;min-width:0;border-bottom:var(--border)}.service-note details{height:auto}.service-note summary{display:grid;grid-template-columns:12rem 1fr 6rem;gap:1.5rem;align-items:center;padding:1.4rem .5rem;cursor:pointer;list-style:none}.service-note summary::-webkit-details-marker{display:none}.note-meta{display:flex;gap:1.25rem;align-items:center}.note-meta b{color:var(--color-indigo)}.note-meta em{font-family:var(--font-editorial);color:var(--color-muted);font-size:.82rem}.service-note summary>strong{font-size:clamp(1rem,1.6vw,1.25rem)}.expand-label{text-align:right;color:var(--color-indigo);font-size:.75rem}.service-note details[open] .expand-label{font-size:0}.service-note details[open] .expand-label::after{content:"Close note";font-size:.75rem}.note-body{height:auto;padding:0 7rem 1.8rem 13.75rem;color:#505a61}.note-body p+p{margin-top:.75rem}
/* 15 Search */
.search-panel{margin-bottom:2.5rem;border:var(--border);padding:1.25rem;background:var(--color-paper)}.search-panel label{display:block;font-weight:750;margin-bottom:.6rem}.search-row{display:flex;gap:.75rem}.search-row input{min-width:0;flex:1;border:1px solid var(--color-muted);background:white;padding:.85rem 1rem}.search-row button{border:1px solid var(--color-deep);background:transparent;padding:.65rem 1rem;cursor:pointer}.search-panel>p{margin-top:.6rem;color:var(--color-muted);font-size:.8rem}.no-results{border-left:4px solid var(--color-ochre);padding:1.25rem;background:var(--color-paper)}
/* 16 About */
.about-section{background:var(--color-linen)}.about-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-6)}.about-layout .section-heading{display:block;margin:0}.about-copy{font-size:var(--text-lg)}.about-copy p{padding:0 0 1.2rem;margin-bottom:1.2rem;border-bottom:1px solid #d1c8bb}
/* 17 Service Principles */
.principles-list{border-top:2px solid var(--color-deep)}.principles-list article{display:grid;grid-template-columns:4rem minmax(15rem,.75fr) 1fr;gap:2rem;align-items:start;padding:1.4rem 0;border-bottom:var(--border)}.principles-list span{color:var(--color-indigo);font-weight:800}.principles-list h3{font-size:1.25rem}.principles-list p{color:var(--color-muted)}
/* 18 Final CTA */
.final-cta{padding:var(--space-7) 0;background:var(--color-deep)}.cta-inset{position:relative;display:grid;grid-template-columns:1.4fr .6fr;gap:var(--space-5);align-items:end;background:var(--color-linen);padding:clamp(2rem,5vw,5rem);border-left:8px solid var(--color-sea)}.cta-inset::before,.cta-inset::after{content:"";position:absolute;width:7px;height:7px;background:var(--color-ochre);right:1.25rem}.cta-inset::before{top:1.25rem}.cta-inset::after{bottom:1.25rem}.cta-inset h2{max-width:750px;margin:1rem 0}.cta-inset p:not(.eyebrow){max-width:680px;color:#535d64}.cta-inset .button-row{justify-content:flex-end}.button-light{background:var(--color-deep);border-color:var(--color-deep);color:white}.button-outline{border-color:var(--color-deep)}
/* 19 Footer */
.site-footer{background:var(--color-ink);color:white;padding:3rem 0}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr auto;gap:2rem;align-items:start}.footer-brand{display:flex;gap:1rem}.footer-brand strong{font-size:1.15rem}.footer-brand p{margin-top:.35rem;color:var(--color-linen);font-size:.82rem}.footer-brand span{display:block;margin-top:.35rem;color:#9eaaa9;font-size:.72rem}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem}.site-footer a{font-size:.78rem;text-decoration:none;color:var(--color-linen)}.footer-end{text-align:right}.footer-end button{border:1px solid #73807f;background:transparent;color:white;padding:.55rem .8rem;cursor:pointer}.footer-end p{margin-top:1rem;color:#9eaaa9;font-size:.72rem}
/* 20 Reveal */
.js-enabled .reveal{opacity:0;transform:translateY(18px);transition:opacity 600ms ease,transform 600ms ease}.js-enabled .reveal.is-visible{opacity:1;transform:none}
/* 21 Responsive */
@media(max-width:1279px){.header-inner{min-height:72px}.primary-nav{gap:.85rem}.primary-nav a{font-size:.74rem}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile .role{min-height:0}.footer-grid{grid-template-columns:1fr 1fr}.footer-end{grid-column:1/-1;text-align:left}}
@media(max-width:1023px){.primary-nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;background:var(--color-surface);border-bottom:var(--border);padding:1rem 1.5rem;box-shadow:var(--shadow)}.primary-nav.is-open{display:flex}.primary-nav a{padding:.7rem 0;font-size:.9rem}.menu-toggle{display:flex;align-items:center;gap:.6rem;cursor:pointer}.menu-toggle i,.menu-toggle i::before,.menu-toggle i::after{display:block;width:20px;height:1px;background:currentColor}.menu-toggle i{position:relative}.menu-toggle i::before,.menu-toggle i::after{content:"";position:absolute;left:0}.menu-toggle i::before{top:-6px}.menu-toggle i::after{top:6px}.span-grid,.system-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-frame:nth-child(2){border-right:0}.span-frame:nth-child(-n+2){border-bottom:var(--border)}.system-grid article:nth-child(2){border-right:0}.system-grid article:nth-child(-n+2){padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.2)}.system-grid article:nth-child(3){padding-left:0}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{grid-template-columns:1fr}.section-heading .section-kicker{grid-column:auto;margin-bottom:-.5rem}.meeting-layout,.independence-layout,.about-layout{grid-template-columns:1fr}.cta-inset{grid-template-columns:1fr}.cta-inset .button-row{justify-content:flex-start}.note-body{padding-left:2rem}.service-note summary{grid-template-columns:10rem 1fr 5rem}}
@media(max-width:767px){.container{width:min(calc(100% - 2rem),var(--container))}.brand{flex-basis:230px}.hero{padding-top:3.5rem;background:var(--color-paper)}h1{font-size:clamp(2.7rem,14vw,4.6rem)}.button-row{align-items:stretch}.button{width:100%}.visual-heading{align-items:flex-start;flex-wrap:wrap}.visual-heading p{width:100%;margin:0}.span-grid,.system-grid,.review-grid,.profile-grid{grid-template-columns:1fr}.span-frame{border-right:0;border-bottom:var(--border)}.span-frame:last-child{border-bottom:0}.system-grid article,.system-grid article:first-child,.system-grid article:nth-child(3){border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding:1.25rem 0}.system-grid article:last-child{border-bottom:0}.financial-fields-grid{grid-template-columns:1fr}.field-one,.field-two,.field-three,.field-four{grid-column:auto}.field-number{margin-bottom:2.5rem}.review-step h3{margin-top:2rem}.service-note summary{grid-template-columns:1fr auto;gap:.75rem}.note-meta{grid-column:1/-1}.note-body{padding:0 .5rem 1.5rem}.expand-label{align-self:center}.principles-list article{grid-template-columns:2.5rem 1fr;gap:1rem}.principles-list p{grid-column:2}.footer-grid{grid-template-columns:1fr}.footer-end{grid-column:auto}.site-footer nav{grid-template-columns:1fr}.search-row{flex-direction:column}.profile:nth-child(2),.profile:nth-child(5){padding-top:1.5rem}}
@media(max-width:374px){.container{width:min(calc(100% - 1.5rem),var(--container))}.brand{flex-basis:205px}.menu-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.profile,.field,.review-step{padding:1.2rem}.email-actions a{font-size:.78rem}.hero h1{font-size:2.65rem}}
/* 22 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}.js-enabled .reveal{opacity:1;transform:none}}
