/* Full-width brand scenes. Native scrolling keeps long sections accessible. */
html.scenes-home{scroll-padding-top:82px;scroll-snap-type:y proximity}
.home #Main,.home #expertise,.home #team,.home #visit{scroll-snap-align:start;scroll-margin-top:82px}
.home #Main{scroll-margin-top:0;min-height:800px;min-height:100svh}
.home .hero-composition{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:30px;width:min(1240px,calc(100% - 100px));min-height:100svh;padding:145px 0 145px;text-align:center}
.home .hero-brand{align-self:center;display:flex;flex-direction:row;align-items:center;gap:20px;padding:0;margin:0;text-align:left}
.home .hero-brand .brand-mark-clean{width:83px;height:auto}
.home .hero-brand>span{font-size:29px;font-weight:500;letter-spacing:-.04em}
.home .hero-brand small{font-size:12px;letter-spacing:.18em;margin-top:10px}
.home .hero-copy{width:100%;max-width:1200px;text-align:center}
.home .hero-copy h1{font-size:clamp(56px,6.3vw,90px);font-weight:600;letter-spacing:-.05em;line-height:1.35;text-wrap:balance}
.home .hero-copy h1 br{display:none}
.home .hero-copy h1 em{display:inline;margin:0 0 0 .15em;font-weight:600;color:#e4c88f}
.home .hero-copy .hero-description{max-width:none;margin:28px auto 0;font-size:20px;line-height:1.85;color:#fff;text-wrap:balance}
.home .hero-copy .hero-actions{justify-content:center;align-items:center;flex-direction:row;gap:30px;margin-top:35px}
.home .hero-copy .button{min-width:174px}.home .hero-copy .text-link{color:white}
.home .hero-image{object-position:center;filter:brightness(1.2)}
.home .hero-shade{background:linear-gradient(180deg,#041a185e 0%,#041a187d 45%,#041a18a3 100%)}
.home .hero-bottom{left:50px;right:50px;bottom:28px}
.home .hero-bottom>span:nth-child(2){display:none}
.home .hero-phone{font-size:22px}.home .hero-phone span{font-size:14px}
.home .section-dots{display:flex;position:fixed;left:auto;right:18px;top:50%;bottom:auto;transform:translateY(-50%);flex-direction:column;gap:8px;z-index:50;padding:12px 5px;border-radius:24px;background:#072d25b8;backdrop-filter:blur(10px)}
.home .section-dots a{display:flex;justify-content:center;align-items:center;width:28px;height:28px;border:0;border-radius:0;background:transparent;margin:0}
.home .section-dots a:before{content:"";display:block;width:5px;height:5px;background:#fff8;border-radius:50%;transition:transform .3s,background .3s}
.home .section-dots a.active{background:transparent}.home .section-dots a.active:before{background:#e4c88f;transform:scale(1.7)}
.home .section-dots a:after{content:attr(aria-label);position:absolute;right:45px;padding:8px 12px;white-space:nowrap;background:#072d25;color:#fff;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s}
.home .section-dots a:hover:after,.home .section-dots a:focus-visible:after{opacity:1}
.home .expertise{position:relative;isolation:isolate;overflow:hidden;min-height:calc(100svh - 82px);display:flex;align-items:center;padding:85px 0;background:#082b24;color:#fff}
.home .expertise-background{position:absolute;inset:0;z-index:-2;background:#082b24;pointer-events:none}
.home .expertise-background img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;opacity:0;transform:scale(1.04);transition:opacity 1s var(--studio-ease),transform 1.8s var(--studio-ease)}
.home .expertise-background img.is-active{opacity:1;transform:scale(1)}
.home .expertise:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#031f19df,#031f19b8 50%,#031f19d9);z-index:-1}
.home .expertise .wrap{width:min(1180px,calc(100% - 120px))}
.home .section-heading{display:block;text-align:center;margin-bottom:40px}
.home .section-heading .eyebrow{color:#dfc58f;font-size:13px;letter-spacing:.18em;margin-bottom:18px}
.home .section-heading h2{font-size:clamp(36px,3.7vw,52px);color:#fff;font-weight:550}
.home .section-heading>p{margin-top:22px;color:#e1e8e1;font-size:17px}.home .section-heading>p br{display:none}
.home .service-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 35px;border:0}
.home .service-tabs button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:148px;padding:25px 15px;background:#041f1938;border:1px solid #ffffff50;color:white;font-size:19px;font-weight:500;line-height:1.5;text-align:center;transition:background .35s,border-color .35s}
.home .service-tabs .tab-order{font-size:13px;color:#dfc58f;letter-spacing:.12em}
.home .service-tabs button:after{display:none}
.home .service-tabs button:hover{background:#ffffff15;border-color:#e4c88f}
.home .service-tabs button[aria-selected="true"]{background:#ecdfbf;color:#17372b;border-color:#ecdfbf}
.home .service-tabs button[aria-selected="true"] .tab-order{color:#67542e}
.home .service-panel{display:block;min-height:0;background:transparent;border:0}.home .service-panel[hidden]{display:none!important}
.home .service-photo{display:none}
.home .service-summary{background:transparent;padding:0 25px;min-height:245px;display:flex;align-items:center;text-align:center;justify-content:flex-start;color:#fff}
.home .service-summary>.eyebrow{display:none}
.home .service-summary h3{font-size:29px;color:#fff;font-weight:500;margin:0 0 14px}
.home .service-summary>p{font-size:17px;color:#e3ebe3;margin:0;max-width:none}
.home .home-scope{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 32px;border-top:0;margin-top:19px;padding-top:0;font-size:16px;color:#e3ebe3;text-align:left}
.home .home-scope li{line-height:1.7}
.home .service-summary .text-link{align-self:center;margin-top:21px;color:#e8d5aa;border-color:#b49a67;font-size:15px}
.home .all-fields{display:table;margin:17px auto 0;color:white;border-color:#ffffff70;font-size:15px}
.home .team-preview{min-height:calc(100svh - 82px);display:flex;align-items:center;background:#f7f8f5;padding:90px 0}
.home .team-preview>.wrap{width:min(1180px,calc(100% - 120px))}
.home .team-preview__head{display:flex;align-items:center;flex-direction:column;gap:23px;text-align:center;margin-bottom:58px}
.home .team-preview__head .eyebrow{font-size:13px;letter-spacing:.18em;color:#816b42;margin-bottom:18px}
.home .team-preview__head h2{font-size:clamp(36px,3.7vw,52px);font-weight:550}
.home .team-preview__head>.text-link{font-size:15px}
.home .team-grid{grid-template-columns:1fr 1fr;gap:55px}
.home .team-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;border:0;padding:0;align-items:center;background:transparent}
.home .team-card img{width:100%;height:330px;object-fit:contain;object-position:center;background:#fff;border:0}
.home .team-card h3{font-size:34px;line-height:1.4}.home .team-card h3 small{display:block;font-size:16px;margin-top:7px;color:#63766a;font-weight:400}
.home .team-card__copy p:not(.eyebrow){font-size:16px;line-height:1.85}.home .team-card__copy .team-career{font-size:15px!important}
.home .home-location{min-height:calc(100svh - 82px);grid-template-columns:1.1fr 1fr}
.home .location-intro{padding:80px clamp(35px,5vw,85px)}
.home .location-image{min-height:100%;object-fit:cover}
@media(min-width:1500px){.home .hero-composition{width:min(1400px,calc(100% - 140px))}}
@media(max-width:1150px){.home .hero-copy h1{font-size:clamp(54px,6.4vw,75px)}.home .team-grid{gap:32px}.home .team-card{gap:22px}.home .team-card img{height:280px}.home .team-card h3{font-size:29px}.home .service-tabs button{font-size:17px;padding:22px 12px}.home .team-card__copy .team-career{font-size:14px!important}}
@media(max-width:900px){html.scenes-home{scroll-snap-type:none}.home .section-dots{display:none}.home .hero-composition{width:calc(100% - 64px);padding:135px 0 145px;gap:28px}.home .hero-brand .brand-mark-clean{width:75px}.home .hero-copy h1{font-size:60px}.home .hero-copy h1 br{display:block}.home .hero-copy h1 em{margin-left:0}.home .hero-copy .hero-description{font-size:18px}.home .hero-bottom{left:32px;right:32px}.home .expertise .wrap,.home .team-preview>.wrap{width:calc(100% - 64px)}.home .service-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home .service-tabs button{min-height:118px;gap:12px;font-size:18px}.home .team-grid{grid-template-columns:1fr;max-width:640px;margin:auto;gap:40px}.home .team-card{grid-template-columns:230px minmax(0,1fr);gap:35px}.home .team-card img{height:290px}.home .home-location{grid-template-columns:1fr 1fr}.home .expertise,.home .team-preview{padding:75px 0;min-height:0}}
@media(max-width:600px){html.scenes-home{scroll-padding-top:76px}.home #Main,.home #expertise,.home #team,.home #visit{scroll-margin-top:76px}.home #Main{scroll-margin-top:0;min-height:760px;min-height:max(760px,100svh)}.home .hero-composition{width:calc(100% - 44px);min-height:max(760px,100svh);padding:120px 0 145px;gap:29px}.home .hero-brand{margin:0;gap:15px}.home .hero-brand .brand-mark-clean{width:60px}.home .hero-brand>span{font-size:27px}.home .hero-brand small{font-size:12px;margin-top:7px}.home .hero-copy h1{font-size:clamp(39px,10vw,56px);line-height:1.4}.home .hero-copy .hero-description{font-size:16px;line-height:1.85;margin-top:25px}.home .hero-copy .hero-actions{gap:20px;margin-top:30px;flex-direction:column}.home .hero-copy .button{font-size:16px;min-height:52px;padding:14px 25px}.home .hero-copy .text-link{font-size:15px}.home .hero-image{object-position:60% center}.home .hero-shade{background:linear-gradient(180deg,#041a1859,#041a18b0)}.home .hero-bottom{left:22px;right:22px;bottom:24px;gap:15px}.home .hero-phone{font-size:17px}.home .hero-phone span{font-size:13px}.home .hero-bottom .scroll-cue{font-size:11px;letter-spacing:.03em}.home .expertise,.home .team-preview{padding:65px 0}.home .expertise .wrap,.home .team-preview>.wrap{width:calc(100% - 44px)}.home .section-heading{margin-bottom:30px}.home .section-heading h2,.home .team-preview__head h2{font-size:35px}.home .section-heading>p{font-size:16px;margin-top:18px}.home .section-heading>p br{display:block}.home .service-tabs{gap:10px;margin-bottom:32px}.home .service-tabs button{min-height:118px;font-size:16px;padding:18px 10px;gap:10px;word-break:keep-all;overflow-wrap:anywhere}.home .service-summary{padding:0;min-height:270px}.home .service-summary h3{font-size:25px;line-height:1.5}.home .service-summary>p{font-size:16px;line-height:1.85}.home .home-scope{display:block;font-size:15px;line-height:1.85;margin-top:16px}.home .service-summary .text-link{font-size:15px}.home .team-preview__head{margin-bottom:35px;gap:20px}.home .team-card{grid-template-columns:125px minmax(0,1fr);gap:23px}.home .team-card img{height:190px}.home .team-card h3{font-size:27px}.home .team-card h3 small{font-size:15px;margin-top:5px}.home .team-card__copy p:not(.eyebrow){font-size:15px}.home .team-card__copy .team-career{font-size:14px!important}.home .team-grid{gap:35px}.home .home-location{grid-template-columns:1fr;min-height:0}.home .location-image{min-height:0;height:310px}.home .location-intro{padding:48px 24px 60px}}
@media(max-width:359px){.home .hero-copy h1{font-size:37px}.home .team-card{grid-template-columns:1fr}.home .team-card img{width:200px;height:240px;margin:0 auto}.home .team-card__copy{text-align:center}.home .team-card .text-link{justify-content:center}}
@media(prefers-reduced-motion:reduce){html.scenes-home{scroll-snap-type:none;scroll-behavior:auto}.home .expertise-background img{transition:none;transform:none}.home .section-dots a:before,.home .section-dots a:after{transition:none}}
