/* Each destination is a separate screen. Scrolling stays available within long forms. */
[hidden]{display:none!important}
html{scroll-behavior:auto}
body{background:var(--green-950)}
main>section{min-height:calc(100svh - 220px)}
main>section.entering{animation:enter-room .55s cubic-bezier(.2,.7,.2,1) both;transform-origin:50% 40%}
@keyframes enter-room{from{opacity:0;transform:perspective(1400px) translateZ(-70px) translateY(14px)}to{opacity:1;transform:none}}
.site-header{height:84px}
.main-nav a[aria-current=page]{color:var(--gold-light);text-decoration:underline;text-underline-offset:8px}
.journey-nav{display:flex;align-items:center;gap:14px;padding:18px clamp(24px,6vw,90px);color:var(--gold-light);font-size:.875rem;border-bottom:1px solid #d8b35d22;flex-wrap:wrap}
.journey-nav a:hover{text-decoration:underline}
.hero{min-height:calc(100svh - 185px);grid-template-columns:1.25fr .75fr;align-items:center}
.hero-copy{padding:55px clamp(28px,6vw,90px)}
.hero-copy::before{display:none}
h1{font-size:clamp(2.6rem,4.6vw,4.7rem);max-width:15ch;line-height:1.14}
.hero-lead{font-size:1rem;max-width:620px;margin:24px 0 28px}
.hero-actions .button{font-size:.92rem;gap:18px}
.trust-line{margin-top:30px;font-size:.8rem}
.hero-visual{padding:40px 40px 40px 0}
.hero-card{width:100%;max-width:345px;min-height:350px;padding:40px 30px}
.hero-card strong{font-size:clamp(1.5rem,2.4vw,2.1rem)}
.hero-card .card-label{font-size:.8rem;letter-spacing:.1em}
.eyebrow,.section-kicker{font-size:.8rem}
.expertises{padding:42px clamp(24px,6vw,90px) 36px}
.section-heading{margin-bottom:30px;gap:30px}
h2{font-size:clamp(2rem,3.3vw,3.1rem)}
.expertise-grid{gap:16px;border:0}
.expertise-card{min-height:305px;padding:25px 23px;border:1px solid var(--line);position:relative;background:var(--paper)}
.expertise-card h3{margin:30px 0 12px;font-size:1.45rem}
.expertise-card a{font-size:.9rem}
.expertise-card:focus-within{outline:2px solid var(--gold);outline-offset:3px}
.expertise-card a::after{content:'';position:absolute;inset:0}
.other-project{display:flex;justify-content:space-between;gap:20px;max-width:1400px;margin:22px auto 0;padding:15px 0;border-bottom:1px solid var(--line);font-size:1rem}
.other-project span{font-weight:600;color:var(--green-800)}
.method{padding:50px clamp(24px,7vw,100px);gap:28px 70px;grid-template-columns:1fr 1fr;align-content:center}
.method-copy{grid-column:1;grid-row:1}
.philosophy{grid-column:1;grid-row:2;font-size:1rem;color:var(--muted)}
.philosophy summary{cursor:pointer;color:var(--ink);font-weight:600}
.philosophy .section-kicker{margin-top:20px}
.philosophy h2{font-size:1.5rem}
.steps{grid-column:2;grid-row:1 / span 3}
.method-next{justify-self:start;grid-column:1}
.cabinet{padding:55px clamp(24px,9vw,130px);gap:70px}
.cabinet-mark{max-width:320px}
.contact{padding:45px clamp(24px,7vw,100px);gap:60px}
.contact-copy{position:sticky;top:32px}
.contact-form{padding:28px 32px}
.back-projects{display:inline-block;color:var(--gold-light);margin-top:10px;font-size:.9rem}
footer{padding:22px clamp(24px,6vw,90px);gap:12px 30px;font-size:.875rem}
.footer-brand span{display:none}
.footer-details{grid-column:1/-1;font-size:.8rem}
.footer-details summary{cursor:pointer;color:#ffffff99;width:fit-content}
.footer-details .legal{margin-top:14px;padding-top:12px}
.footer-details .disclaimer{margin-top:14px;font-size:.8rem}
@media(max-width:980px){.hero{grid-template-columns:1fr .65fr}.hero-visual{min-height:unset;padding-right:24px}.hero-card{min-height:300px;padding:28px 22px}.hero-card strong{font-size:1.5rem}.hero-card .card-label{font-size:.75rem}.main-nav{top:84px}.expertise-grid{grid-template-columns:repeat(2,1fr)}.method{grid-template-columns:1fr}.method-copy,.philosophy,.steps,.method-next{grid-column:1;grid-row:auto}.contact{grid-template-columns:1fr;gap:25px}.contact-copy{position:static}.direct-contact{margin-top:20px}}
@media(max-width:640px){.site-header{height:78px}.main-nav{top:78px}.hero{grid-template-columns:1fr;min-height:calc(100svh - 195px)}.hero-copy{padding:38px 24px}.hero-visual{display:none}.hero-actions{gap:12px}.hero-lead{font-size:1rem}.trust-line{font-size:.75rem}.expertise-grid{grid-template-columns:1fr}.expertise-card{min-height:230px}.expertise-card h3{margin-top:20px}.section-heading{grid-template-columns:1fr;gap:8px}.section-heading>p{margin-top:0}.cabinet{grid-template-columns:1fr;gap:35px}.cabinet-mark{max-width:180px;font-size:3.5rem;box-shadow:10px 10px 0 #d8b35d25}.other-project{flex-direction:column;gap:6px}.contact-form{padding:22px 18px}.journey-nav{gap:10px;font-size:.85rem}footer{grid-template-columns:1fr}.footer-links{flex-direction:row;flex-wrap:wrap;gap:8px 22px}main>section{min-height:calc(100svh - 245px)}}
@media(prefers-reduced-motion:reduce){main>section.entering{animation:none}}

/* A visible forward movement across the threshold between screens. */
body{overflow-x:clip}
#main-content{overflow-x:clip}
main>section.entering{animation:none}
.passage-frame{position:fixed;inset:12vh 12vw;border:1px solid rgba(216,179,93,.8);box-shadow:0 0 0 22px rgba(216,179,93,.035),0 0 70px rgba(216,179,93,.12);pointer-events:none;z-index:30;opacity:0;transform-origin:50% 45%}
@media(max-width:640px){.passage-frame{inset:16vh 8vw}}
@media(prefers-reduced-motion:reduce){.passage-frame{display:none}}
/* CSS timelines work without the Web Animations API. */
main>section.depth-exit{animation:depth-forward-out 650ms cubic-bezier(.5,0,.75,.5) both!important}
main>section.depth-enter{animation:depth-forward-in 1000ms cubic-bezier(.16,1,.3,1) both!important}
.passage-frame.passing{animation:depth-threshold 1600ms cubic-bezier(.3,0,.55,1) both}
@keyframes depth-forward-out{0%{transform:scale(1);opacity:1;filter:blur(0)}55%{transform:scale(1.18);opacity:.8;filter:blur(2px)}100%{transform:scale(1.7);opacity:0;filter:blur(8px)}}
@keyframes depth-forward-in{0%{transform:scale(.64);opacity:0;filter:blur(7px)}55%{opacity:1;filter:blur(0)}100%{transform:scale(1);opacity:1;filter:blur(0)}}
@keyframes depth-threshold{0%{transform:scale(.65);opacity:0}25%{transform:scale(.9);opacity:.8}100%{transform:scale(2);opacity:0}}
main>section.fade-exit{animation:page-fade-out 150ms linear both!important}
main>section.fade-enter{animation:page-fade-in 180ms linear both!important}
@keyframes page-fade-out{to{opacity:0}}
@keyframes page-fade-in{from{opacity:0}to{opacity:1}}
.motion-toggle{color:var(--gold-light);background:none;border:0;padding:8px 0;font:inherit;font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-align:left;justify-self:start}
/* A visitor can explicitly enable depth through the visible control. */
.passage-frame.passing{display:block}
.changing-screen main{pointer-events:none}

.sole-advisor{font-size:1rem;color:var(--gold-light);max-width:540px;margin:0 0 26px;padding-left:16px;border-left:2px solid var(--gold)}
.cabinet{grid-template-columns:.55fr 1.45fr;align-items:start}
.cabinet-mark{position:sticky;top:65px;margin-top:35px}
.cabinet-copy p:not(.section-kicker):not(.signature){max-width:760px;margin:22px 0;line-height:1.75}
.cabinet-copy .advisor-promise{padding:20px 24px;border-left:3px solid var(--gold);background:var(--green-100);color:var(--ink)!important}
.advisor-promise strong{display:block;margin-bottom:8px}
@media(max-width:640px){.cabinet{grid-template-columns:1fr}.cabinet-mark{position:static;margin-top:0;max-width:150px}.sole-advisor{font-size:.95rem}}
