/* Native scrolling and visible content work before JavaScript loads. */
html:root .cinematic-home .category-cards.featured-categories{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 50px)/3);gap:25px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative;padding:5px 0 10px;align-items:stretch}
.featured-categories::-webkit-scrollbar{display:none}
html:root .cinematic-home .featured-categories .visual-service{min-width:0;scroll-snap-align:start;scroll-margin:0;transition:border-color .25s,box-shadow .25s}
html:root .cinematic-home .featured-categories .service-visual-link{display:flex;flex-direction:column;grid-template-columns:none;height:100%}
html:root .cinematic-home .featured-categories .service-visual{width:100%;height:auto;min-height:0;aspect-ratio:1.75;transition:filter .4s,transform .7s cubic-bezier(.2,.7,.2,1)}
.service-carousel-shell{min-width:0}
.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:12px}
.carousel-controls[hidden],.carousel-buttons button[hidden]{display:none}
.carousel-count{display:flex;gap:8px;align-items:center;font-size:11px;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:#75806b}
.carousel-count [data-carousel-current]{color:#294b3a}
.carousel-buttons{display:flex;gap:8px}
.carousel-buttons button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #ccd8bf;border-radius:50%;background:#eff3e8;color:#294b3a;cursor:pointer;font-size:19px;transition:background .2s,border-color .2s}
.carousel-buttons button:hover{background:#D6F56B;border-color:#b6cf70}
.carousel-buttons button:disabled{opacity:.35;cursor:default;background:transparent}
.carousel-buttons svg{width:16px;height:16px}
.carousel-play .play-icon,.carousel-play[data-paused=true] .pause-icon{display:none}
.carousel-play[data-paused=true] .play-icon{display:block}
.carousel-buttons button:focus-visible,#service-carousel:focus-visible{outline:2px solid #294b3a;outline-offset:3px}
html:root .cinematic-home .phase-one-hero .hero-img{animation:ibiza-drift 16s ease-out both}
html:root .cinematic-home .phase-one-hero .hero-copy>.eyebrow,html:root .cinematic-home .phase-one-hero .hero-title,html:root .cinematic-home .phase-one-hero .hero-service-title,html:root .cinematic-home .phase-one-hero .hero-copy>p,html:root .cinematic-home .phase-one-hero .hero-actions{animation:ibiza-arrive .7s cubic-bezier(.2,.7,.2,1) both}
html:root .cinematic-home .phase-one-hero .hero-title{animation-delay:.08s}
html:root .cinematic-home .phase-one-hero .hero-service-title{animation-delay:.16s}
html:root .cinematic-home .phase-one-hero .hero-copy>p{animation-delay:.22s}
html:root .cinematic-home .phase-one-hero .hero-actions{animation-delay:.28s}
@keyframes ibiza-drift{from{transform:scale(1.07)}to{transform:scale(1.01)}}
@keyframes ibiza-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.reading-progress{position:fixed;top:78px;left:0;width:100%;height:2px;background:#294b3a;transform-origin:left;transform:scaleX(0);z-index:40;pointer-events:none}
@media(hover:hover) and (pointer:fine){
 html:root .cinematic-home .featured-categories .service-visual-link:hover .service-visual{transform:scale(1.035);filter:brightness(1.04)}
 html:root .cinematic-home .featured-categories .tile-arrow{transition:transform .25s,background .25s}
 html:root .cinematic-home .featured-categories .service-visual-link:hover .tile-arrow{transform:translate(2px,-2px);background:#D6F56B}
}
@media(max-width:1100px){.reading-progress{top:calc(76px + env(safe-area-inset-top))}html:root .cinematic-home .category-cards.featured-categories{grid-auto-columns:calc((100% - 22px)/2);gap:22px}}
@media(max-width:699px){
 html:root .cinematic-home .category-cards.featured-categories{grid-auto-columns:88%;gap:16px}
 .carousel-controls{padding-top:9px}
 .reading-progress{top:calc(68px + env(safe-area-inset-top))}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 html:root .cinematic-home .phase-one-hero .hero-img,html:root .cinematic-home .phase-one-hero .hero-copy>*{animation:none!important}
 html:root .cinematic-home .featured-categories .service-visual,html:root .cinematic-home .featured-categories .tile-arrow,.carousel-buttons button{transition:none!important;transform:none!important}
}
