/* Photographic content and restrained motion, extending the original identity. */
:root{--stone:#596760}
.progress{width:100%;transform:scaleX(0)}
.reveal{opacity:1;transform:none;transition:none}
.reveal.will-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s var(--ease),transform .65s var(--ease);transition-delay:var(--reveal-delay,0s)}
.reveal.in{opacity:1;transform:none}.delay-1{--reveal-delay:.06s}.delay-2{--reveal-delay:.12s}.delay-3{--reveal-delay:.18s}
.hero-copy>*{animation:editorial-enter .85s var(--ease) both}.hero-copy h1{animation-delay:.08s}.hero-copy .lead{animation-delay:.16s}.hero-copy .actions{animation-delay:.24s}.hero-copy .hero-micro{animation-delay:.3s}
@keyframes editorial-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.hero{padding-bottom:36px}.hero h1{font-size:clamp(3rem,5.6vw,5.5rem)}
.hero-line-wrap{min-width:0}.hero-micro{flex-wrap:wrap;font-size:.875rem}
.hero-photo{margin:0;position:relative;border-radius:140px 140px 28px 28px;overflow:hidden;background:var(--mist);aspect-ratio:4/5;animation:editorial-enter 1s .15s var(--ease) both}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-photo figcaption{position:absolute;inset:auto 0 0;padding:65px 28px 26px;color:white;background:linear-gradient(transparent,rgba(10,31,27,.83));font-size:1.05rem}
.hero-photo figcaption strong{display:block;font-family:'EB Garamond',Georgia,serif;font-style:italic;font-weight:500;font-size:2.2rem;line-height:1.2}
.hero-photo-steps{display:flex;justify-content:space-between;gap:10px;margin-top:20px;border-top:1px solid var(--line);padding-top:14px;font-size:.875rem;color:var(--stone)}
.hero-photo-steps span{animation:editorial-enter .7s var(--ease) both}.hero-photo-steps span:nth-child(2){animation-delay:.15s}.hero-photo-steps span:nth-child(3){animation-delay:.3s}.hero-photo-steps b{display:block;color:var(--copper2);font-size:.75rem;margin-bottom:3px}
.journey-card.with-photo{padding:0 26px 27px;display:flex;flex-direction:column;min-height:430px;border:1px solid var(--line)}
.card-photo{overflow:hidden;display:block;background:var(--mist);margin:0 -26px 22px;aspect-ratio:16/10;flex-shrink:0}
.card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.with-photo h3{margin-top:13px}.journey-card.with-photo p{padding-right:28px;margin-bottom:26px}.journey-card.with-photo .num{font-size:.875rem}
.service-item.with-photo{overflow:hidden}.service-item .card-photo{margin:-24px -24px 22px;aspect-ratio:16/9}.service-item .card-photo img{display:block}.service-item span.card-photo{letter-spacing:normal}
.content-visual.has-photo{height:185px}.content-visual.has-photo:after{display:none}.content-visual img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.page-hero.has-photo>.container{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center;position:relative;z-index:1}.page-hero.has-photo h1{font-size:clamp(2.6rem,4.3vw,4.7rem);overflow-wrap:break-word}.benefit-photo{margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;animation:editorial-enter .9s var(--ease) both}.benefit-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:100px 20px 20px 20px}.benefit-photo figcaption{font-size:.75rem;color:var(--stone);margin-top:10px}.page-hero.has-photo .facts{grid-template-columns:repeat(3,minmax(0,1fr))}.fact{min-width:0;overflow-wrap:break-word}
[hidden]{display:none!important}.contact-unavailable{padding:34px;border:1px solid var(--line);border-radius:28px;background:var(--porcelain)}.contact-unavailable h3{margin-top:20px}.contact-unavailable p{color:var(--stone)}
.eyebrow,.field label,.filter,.checkbox,.cookie-box p,.cookie button,.service-item>span,.content-card .tag,.content-card .link,.side-nav a,.fact span{font-size:.875rem}
.cookie-box p a{text-decoration:underline;text-underline-offset:3px}.footer .small{color:#afbeb6}
:focus-visible{outline:3px solid var(--copper2);outline-offset:5px}.modal:not(.open){visibility:hidden}.modal.open{visibility:visible}.mobile-panel:not(.open){visibility:hidden}.mobile-panel.open{visibility:visible}.menu-btn[aria-expanded=true] span{background:transparent}.menu-btn[aria-expanded=true] span:before{top:0;transform:rotate(45deg)}.menu-btn[aria-expanded=true] span:after{top:0;transform:rotate(-45deg)}
.page-transition{background:var(--porcelain);transform:none;opacity:0;transition:opacity .18s ease}.page-transition.leave{opacity:1;animation:none}.page-transition.enter{animation:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.with-photo:hover .card-photo img,.content-card:hover .content-visual img{transform:scale(1.045)}.step:hover .n{color:var(--ink)}.btn:active{transform:translateY(0) scale(.98)}}
@media(max-width:980px){.hero-grid{grid-template-columns:1.1fr .9fr;gap:30px}.hero-line-wrap{min-height:0}.hero h1{font-size:clamp(2.8rem,5.6vw,4.7rem)}.page-hero.has-photo>.container{gap:28px;grid-template-columns:1fr 1fr}.page-hero.has-photo .facts{grid-template-columns:1fr}.benefit-photo img{aspect-ratio:3/4}.hero-photo-steps{font-size:.8rem}.two-col .journey-grid{margin-top:0}}
@media(max-width:640px){.hero-grid,.page-hero.has-photo>.container{grid-template-columns:1fr}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(2.8rem,12vw,4rem)}.hero-photo{aspect-ratio:5/4;border-radius:90px 90px 20px 20px}.hero-photo img{object-position:center 40%}.hero-photo-steps{font-size:.875rem}.hero-micro{gap:10px 16px}.page-hero.has-photo .facts{grid-template-columns:1fr}.benefit-photo img{aspect-ratio:4/3;border-radius:65px 18px 18px 18px}.two-col .journey-grid{grid-template-columns:1fr!important}.journey-card.with-photo{min-height:0}.card-photo{aspect-ratio:16/9}.hero{padding-bottom:48px}.modal-box{padding:22px}.modal-close{flex-shrink:0}.cookie{left:12px;right:12px;bottom:12px}.cookie-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal.will-reveal{opacity:1;transform:none}.hero-copy>*,.hero-photo,.hero-photo-steps span,.benefit-photo{animation:none}.page-transition{display:none}*,*:before,*:after{transition:none!important;animation:none!important}.hero-card,.continuity-dot{opacity:1}}
.benefit-photo img{height:auto}
/* Movement follows the existing copper continuity motif. */
.hero-line-wrap{isolation:isolate;position:relative}.hero-photo,.hero-photo-steps{position:relative;z-index:1}
.graphic-orbit{position:absolute;inset:-34px -24px 42px;border:1px solid rgba(185,111,82,.3);border-radius:48%;pointer-events:none;z-index:0;transform:rotate(-12deg)}
.graphic-orbit:before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid rgba(157,175,164,.5);border-radius:48%;transform:rotate(20deg)}
.graphic-orbit i{position:absolute;width:16px;height:16px;left:9%;top:13%;border-radius:50%;background:var(--copper);box-shadow:0 0 0 9px rgba(185,111,82,.09)}
.graphic-orbit i:nth-child(2){left:auto;right:-7px;top:54%;width:12px;height:12px;background:var(--sage)}
.graphic-orbit i:nth-child(3){left:24%;top:auto;bottom:-8px;width:13px;height:13px;border-radius:3px;background:var(--ink);box-shadow:none}
.benefit-photo{position:relative;isolation:isolate}.benefit-photo img{position:relative;z-index:1}.benefit-photo figcaption{position:relative;z-index:1}.photo-orbit{position:absolute;width:110px;height:110px;border:1px solid rgba(185,111,82,.45);border-radius:50%;right:-22px;top:3%;z-index:0;pointer-events:none}.photo-orbit:before{content:"";width:12px;height:12px;border-radius:50%;background:var(--copper);position:absolute;top:0;left:50%}
.animated-number{font-variant-numeric:tabular-nums;min-height:2.56rem}.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--copper),#dfb8a7);transform:scaleX(0);transform-origin:left}
.steps{position:relative}.steps:before{content:"";position:absolute;left:0;top:-1px;height:2px;width:100%;background:var(--copper);transform:scaleX(0);transform-origin:left}.step .n{display:inline-block}
.motion-toggle{position:fixed;bottom:16px;right:16px;z-index:65;display:flex;align-items:center;gap:8px;padding:9px 13px;color:var(--ink);background:rgba(252,251,248,.95);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-sm);font-size:.875rem;min-height:44px}.motion-icon{font-size:1rem;width:16px;text-align:center}.motion-toggle:hover{border-color:var(--copper)}
@keyframes orbit-drift{from{transform:rotate(-12deg) translateY(-5px)}to{transform:rotate(3deg) translateY(7px)}}
@keyframes photo-breathe{from{transform:scale(1.035) translateY(-3px)}to{transform:scale(1.06) translateY(3px)}}
@keyframes ring-turn{to{transform:rotate(360deg)}}
@keyframes dot-lift{from{transform:translateY(-4px)}to{transform:translateY(8px)}}
@keyframes stage-in{from{transform:translateY(7px);opacity:.35}to{transform:none;opacity:1}}
@keyframes line-progress{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:no-preference){.graphic-orbit{animation:orbit-drift 9s ease-in-out infinite alternate}.graphic-orbit i{animation:dot-lift 4.5s ease-in-out infinite alternate}.graphic-orbit i:nth-child(2){animation-delay:-2s}.graphic-orbit i:nth-child(3){animation-delay:-3s}.hero-photo img{animation:photo-breathe 10s ease-in-out infinite alternate}.photo-orbit{animation:ring-turn 24s linear infinite}.count-complete:after{animation:line-progress 1.45s var(--ease) forwards}.steps-active:before{animation:line-progress 1.8s var(--ease) forwards}.steps-active .n{animation:stage-in .6s calc(var(--step-index,0)*.2s) both}}
.motion-paused *, .motion-paused *:before, .motion-paused *:after{animation-play-state:paused!important}.motion-paused .hero-copy>*,.motion-paused .hero-photo,.motion-paused .hero-photo-steps span,.motion-paused .benefit-photo{animation:none!important;opacity:1;transform:none}.motion-paused .will-reveal{opacity:1;transform:none;transition:none}.motion-paused .hero-photo img{animation:none}.motion-paused .steps:before,.motion-paused .stat:after{transform:scaleX(1)}

/* Home: the first screen starts the guided intake immediately. */
.hero-guided{min-height:max(100svh,760px);padding-bottom:68px}.hero-guided .hero-grid{grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:54px}.hero-guided .hero-copy{padding-bottom:0}.hero-guided .hero-copy h1{font-size:clamp(3rem,5.2vw,5.15rem);max-width:760px}.hero-guided .hero-copy .lead{max-width:690px}.hero-assurance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:30px}.hero-assurance span{border-top:1px solid var(--line);padding-top:13px;color:var(--stone);font-size:.78rem;line-height:1.45}.hero-assurance strong{display:block;color:var(--ink);font-size:.88rem}.hero-guidance{max-width:630px;margin:22px 0 0;color:var(--stone);font-size:.78rem;line-height:1.55}
.hero-onboarding{position:relative;isolation:isolate;background:rgba(252,251,248,.94);border:1px solid rgba(185,111,82,.25);border-radius:30px;padding:30px;box-shadow:0 28px 80px rgba(16,40,39,.14);animation:editorial-enter .9s .12s var(--ease) both}.hero-onboarding:before{content:"";position:absolute;z-index:-1;inset:-12px 18px auto;height:26px;border:1px solid rgba(157,175,164,.45);border-bottom:0;border-radius:28px 28px 0 0}.hero-onboarding-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.hero-onboarding-kicker{color:var(--copper2);font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.hero-onboarding-step{border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--stone);font-size:.72rem;font-weight:800}.hero-onboarding h2{font-size:clamp(1.65rem,2.4vw,2.25rem);line-height:1.08;letter-spacing:-.035em;max-width:520px}.hero-onboarding>p{margin:12px 0 20px;color:var(--stone);font-size:.9rem;line-height:1.5}.home-wizard-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.home-wizard-options a{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--porcelain);font-size:.83rem;font-weight:850;line-height:1.28;transition:border-color .2s,background .2s,transform .2s}.home-wizard-options a:hover{background:white;border-color:var(--copper);transform:translateY(-2px)}.home-wizard-options a b{color:var(--copper2);font-size:1.05rem;transition:transform .2s}.home-wizard-options a:hover b{transform:translateX(3px)}.home-wizard-unsure{display:inline-flex;margin-top:17px;color:var(--copper2);font-size:.82rem;font-weight:800;text-decoration:underline;text-underline-offset:4px}.hero-onboarding .home-wizard-note{margin:15px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:.72rem}
@media(max-width:980px){.hero-guided{padding-top:120px}.hero-guided .hero-grid{grid-template-columns:1fr;gap:34px}.hero-guided .hero-copy{max-width:820px}.hero-guided .hero-copy h1{font-size:clamp(3rem,7vw,5rem)}.hero-onboarding{width:min(100%,820px)}}
@media(max-width:640px){.hero-guided{min-height:auto;padding:94px 0 42px}.hero-guided .hero-grid{gap:17px}.hero-guided .hero-copy h1{font-size:clamp(2.15rem,10.2vw,2.8rem);line-height:1}.hero-guided .hero-copy h1 br{display:none}.hero-guided .hero-copy .lead{font-size:.96rem;line-height:1.45;margin-top:17px!important}.hero-assurance,.hero-guidance{display:none}.hero-onboarding{padding:20px 16px;border-radius:22px}.hero-onboarding:before{inset:-8px 14px auto;height:18px}.hero-onboarding-head{align-items:flex-start;margin-bottom:10px}.hero-onboarding h2{font-size:1.48rem;line-height:1.08}.hero-onboarding>p{margin:8px 0 14px;font-size:.83rem}.home-wizard-options{grid-template-columns:1fr;gap:7px}.home-wizard-options a{min-height:49px;padding:11px 13px;font-size:.86rem}.home-wizard-unsure{margin-top:14px;font-size:.84rem}.hero-onboarding .home-wizard-note{margin-top:12px;padding-top:12px;font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.hero-onboarding{animation:none}.home-wizard-options a,.home-wizard-options a b{transition:none}}
@media(max-width:640px){.graphic-orbit{inset:-18px -6px 40px}.graphic-orbit:before{inset:14px 0 -14px}.photo-orbit{right:-5px}.motion-toggle{top:15px;bottom:auto;right:64px;z-index:81;width:44px;height:44px;justify-content:center;padding:0}.motion-toggle .motion-icon{width:auto}.motion-toggle .motion-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.footer{padding-bottom:76px}.steps:before{display:none}}
.stat .animated-number{font-size:clamp(2.8rem,4.2vw,4rem);line-height:1.15;margin-bottom:12px;font-weight:600;letter-spacing:-.035em}.stat .animated-number>span{font:inherit;color:inherit;letter-spacing:inherit}.stat>span{font-size:.875rem}
/* Restricted office entry uses the same navigation on desktop and mobile. */
.nav-links .staff-entry{font-size:.85rem;white-space:nowrap;color:var(--copper2)}
@media(min-width:981px) and (max-width:1160px){.nav-links{gap:15px;font-size:.84rem}.nav .brand img{width:245px}.nav-links .btn{padding-left:16px;padding-right:16px}}
