/* One shared motion language: deliberate travel, soft landings, no layout shifts. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-fast:180ms;--motion-normal:420ms}
h1,h2,h3{text-wrap:balance}p,li{text-wrap:pretty}
.eyebrow{font-size:.75rem;letter-spacing:.13em;line-height:1.65;color:#bca16e}
.section-head h2{font-weight:550;line-height:1.08;letter-spacing:-.045em}
.section-head>p,.page-intro{max-width:52ch}.editorial-main{max-width:68ch}
.copy-block p:not(.eyebrow){font-size:1.0625rem;line-height:1.85}
.section-head{position:relative}.section-head:after{content:'';position:absolute;bottom:-20px;left:0;width:48px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--motion-ease)}
.section.is-in-view .section-head:after{transform:scaleX(1)}
.section-head{margin-bottom:56px}.services-grid{gap:40px 28px}
.service-card{border-color:#ffffff12}.service-card p{font-size:1rem;line-height:1.7}
.service-card,.image-card,.media-story-tile{transition:transform .5s var(--motion-ease),border-color .35s,box-shadow .5s var(--motion-ease)}
.service-card h3,.card-copy h3{transition:color .3s}.service-card:hover h3,.image-card:hover h3{color:var(--gold)}
.image-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 32px}.card-copy{padding-top:20px}.card-copy>.eyebrow{display:none}
.card-copy>p:not(.eyebrow){font-size:1rem;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-action{font-size:.875rem;color:#c6aa73}
.button{position:relative;isolation:isolate;overflow:hidden;transition:transform .35s var(--motion-ease),box-shadow .35s,border-color .3s,background .3s}
.button:before{content:'';position:absolute;z-index:-1;inset:-50%;background:linear-gradient(110deg,transparent 35%,#fff4 49%,transparent 63%);transform:translateX(-90%);transition:transform .7s var(--motion-ease);pointer-events:none}
.button:hover:before,.button:focus-visible:before{transform:translateX(90%)}
.button:active{transform:translateY(1px) scale(.975)!important;box-shadow:none!important}
.button>span[aria-hidden]{transition:transform .35s var(--motion-ease)}.button:hover>span[aria-hidden]{transform:rotate(90deg)}
.text-link,.mega-overview,.card-action,.mega-preview-action{position:relative;border-bottom:0!important;background-image:linear-gradient(currentColor,currentColor);background-size:25% 1px;background-position:0 100%;background-repeat:no-repeat;padding-bottom:5px;transition:color .25s,background-size .4s var(--motion-ease)}
.text-link:hover,.mega-overview:hover,.image-card:hover .card-action,.mega-service-preview:hover .mega-preview-action{background-size:100% 1px}
.site-header{transition:top .35s var(--motion-ease),background .35s,box-shadow .35s,border-radius .25s}
.site-header.is-scrolled{top:12px;background:#101112ed;box-shadow:0 10px 35px #0004}.site-header.is-scrolled .header-inner{padding-block:8px}
.header-inner{transition:padding .35s var(--motion-ease)}
.page-context,.page-jump{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;padding-top:26px;padding-bottom:26px;border-bottom:1px solid #ffffff12}
.page-context>span,.page-jump>span{color:#999;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;flex-basis:155px}
.page-context a{font-size:.875rem;border:1px solid #ffffff20;border-radius:999px;padding:8px 14px;transition:background .25s,border-color .25s,color .25s}
.page-context a:hover{background:#e1b7620a;border-color:#c6aa7380;color:var(--gold)}
.page-jump{gap:8px 22px;padding-block:20px}.page-jump a{font-size:.875rem;color:#b4b4b4;padding-block:5px;transition:color .25s}.page-jump a:hover{color:var(--gold)}
.copy-block{scroll-margin-top:120px}.editorial-media{overflow:hidden;border-radius:8px}.editorial-media img{display:block}
.hero-media img,.page-hero-media img{will-change:transform}.page-hero{min-height:76svh}
.mega-panel,.mega-backdrop,.mobile-section-content{animation:none}
.mega-panel-content{padding:25px 32px 28px}.mega-heading{margin-bottom:22px}.mega-heading h2{font-size:1.65rem}
.mega-panel-foot{padding:12px 32px;justify-content:flex-end}.mega-panel-foot:empty{display:none}
.mega-services-layout{grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:36px}
.mega-category-tabs{display:none;gap:6px;padding-bottom:20px}.categories-ready .mega-category-tabs{display:flex}
.mega-category-button{border:1px solid transparent;background:transparent;color:#999;border-radius:999px;padding:9px 16px;font-size:.875rem;min-height:42px;transition:color .25s,background .25s,border-color .25s}
.mega-category-button[aria-selected=true]{background:#ffffff08;border-color:#ffffff25;color:#ebc984}.mega-category-button:hover{color:#fff;background:#ffffff05}
.category-short{display:none}.mega-category-panel{margin-bottom:24px}.categories-ready .mega-category-panel{margin-bottom:0}
.mega-category-photos{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px}
.mega-service-tile{display:block;min-width:0}.mega-service-tile>div{height:136px;border-radius:7px;overflow:hidden;background:#222}.mega-service-tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--motion-ease)}
.mega-service-tile h3{font-size:1.125rem;font-weight:550;line-height:1.3;letter-spacing:-.025em;margin:12px 0 0;transition:color .25s}
.mega-service-tile:hover img{transform:scale(1.055)}.mega-service-tile:hover h3{color:var(--gold)}
.mega-category-links{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-left:-10px}.mega-category-links .mega-link{border-radius:0;border-bottom:1px solid #ffffff09}
.mega-service-preview{padding-left:30px}.mega-preview-image{height:226px}.mega-preview-copy{padding-top:17px}.mega-preview-copy h3{font-size:1.5rem}.mega-preview-copy .mega-kicker{font-size:.75rem}
.mega-advice-topics>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:0 14px}
.mega-region-cover img{height:126px}.mega-about-photo>span{display:none}
.mega-local-note{margin-top:18px}
.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{transition:transform .45s var(--motion-ease),opacity .2s,background .2s}
@media(hover:hover) and (pointer:fine){.service-card:hover,.image-card:hover{transform:translateY(-6px)}.media-story-tile:hover{transform:translateY(-4px)}.button:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0003}}
@media(max-width:1100px) and (min-width:981px){.mega-category-button{padding-inline:10px}.mega-services-layout{grid-template-columns:1.7fr 1fr;gap:24px}.mega-preview-image{height:225px}.mega-category-photos{gap:14px}.mega-service-tile>div{height:125px}.mega-service-preview{padding-left:20px}}
@media(max-width:980px){
 .nav-ready .mobile-menu{display:block;visibility:hidden;pointer-events:none;position:fixed;inset:0;z-index:90;background:#101112;overflow:auto;padding:110px 30px 36px;overscroll-behavior:contain}
 .nav-ready .mobile-menu.is-open{visibility:visible;pointer-events:auto;background:#101112;padding:110px 30px 36px}
 .mobile-menu.is-closing{visibility:visible;pointer-events:none}
 .mobile-menu-intro{display:flex;justify-content:space-between;align-items:center;padding:0 0 22px}.mobile-menu-intro .mega-kicker{max-width:130px;margin:0}
 .mobile-menu-intro>a{font-size:.875rem;padding:10px 16px;border:1px solid #bca16e70;border-radius:999px}
 .mobile-nav-section>summary{font-size:2rem;padding:22px 0;position:static;background:transparent;transition:color .25s}
 .mobile-nav-section[open]>summary{color:var(--gold)}.mobile-section-content{padding-bottom:26px}
 .mobile-section-content .mega-heading{display:flex;margin-bottom:18px;gap:16px}.mobile-section-content .mega-heading>div{display:none}.mobile-section-content .mega-overview{font-size:.875rem}
 .mobile-section-content .mega-services-layout{display:block}.mobile-section-content .mega-service-preview{display:none}
 .mobile-section-content .mega-category-tabs{gap:4px;padding-bottom:18px}.category-full{display:none}.category-short{display:inline}
 .mega-category-button{min-height:44px;padding:9px 16px;flex:1;font-size:.875rem}
 .mobile-section-content .mega-category-photos{gap:14px}.mobile-section-content .mega-service-tile>div{height:118px}.mobile-section-content .mega-service-tile h3{font-size:1rem;margin-top:10px}
 .mobile-section-content .mega-category-links{grid-template-columns:1fr 1fr;gap:0 14px;margin:0}.mobile-section-content .mega-link{padding-inline:0;min-height:48px;font-size:.875rem}
 .mobile-menu-bottom{padding-top:24px;border-top:0;gap:24px}.mobile-menu-bottom a{font-size:.875rem}
 .image-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 /* Stable opaque layers avoid mobile GPU re-rasterisation and scroll resize jumps. */
 .site-header,.site-header.is-scrolled{top:12px;background:#101112;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .18s}
 .header-inner,.site-header.is-scrolled .header-inner{padding-block:8px;transition:none}
 .mobile-menu,.mobile-menu.is-open,.mobile-bar{backdrop-filter:none;-webkit-backdrop-filter:none;background:#101112}
 .hero-media img,.page-hero-media img{will-change:auto;transition:none;transform:none!important}
 .has-js .hero-media:not(.is-loaded):not(.is-error) img{opacity:1;transform:none}
 .hero-media:before{animation:none!important;background:#242923!important}
 .intro-ready .hero-line{animation:none}
 .section-head:after{transform:scaleX(1);transition:none}
 .scroll-progress{display:none}
}
@media(hover:none),(pointer:coarse){
 .service-card,.image-card,.media-story-tile,.button,.card-media img,.media-story-tile img,.mega-service-tile img{transition:color .18s,border-color .18s,background .18s}
 .service-card:hover,.image-card:hover,.media-story-tile:hover,.button:hover,.button:active,.image-card:hover img,.media-story-tile:hover img,.mega-service-tile:hover img{transform:none!important;filter:none!important}
 .button:before{display:none}.hero-media img,.page-hero-media img{will-change:auto}
}
@media(max-width:700px){
 .section{padding-block:64px}.section-head{margin-bottom:40px;gap:18px}.section-head h2{font-size:clamp(36px,10vw,52px)}
 .services-grid{gap:30px 18px}.service-card p{font-size:.875rem}.image-card-grid{grid-template-columns:1fr;gap:36px}
 .page-context,.page-jump{gap:10px 12px;padding-block:20px}.page-context>span,.page-jump>span{flex-basis:100%;margin-bottom:4px}.page-context a{font-size:.875rem;padding:7px 12px}
 .page-jump a{font-size:.875rem}.copy-block p:not(.eyebrow){font-size:1rem}.page-hero{padding-bottom:64px;min-height:74svh}
 .hero{padding-bottom:110px}.hero-bottom{bottom:30px}.hero-proof{font-size:.875rem!important;line-height:1.8}.hero-bottom{font-size:.875rem}
 .nav-ready .mobile-menu,.nav-ready .mobile-menu.is-open{padding:100px 24px 32px}.mobile-section-content .mega-article h3{font-size:1.125rem}
 .footer-bottom{justify-content:flex-start}.trust-grid{gap:22px}.trust-item span{font-size:.875rem}
}
@media(max-width:360px){.mobile-menu-intro .mega-kicker{display:none}.mobile-menu-intro{justify-content:flex-end}.nav-ready .mobile-menu,.nav-ready .mobile-menu.is-open{padding-inline:20px}.mega-category-button{padding-inline:8px}.mobile-section-content .mega-category-photos{gap:12px}.mobile-section-content .mega-service-tile>div{height:100px}.mobile-section-content .mega-category-links{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.button:hover,.service-card:hover,.image-card:hover,.media-story-tile:hover{transform:none}.hero-media img,.page-hero-media img{will-change:auto}}
