/* Shared hero dimensions and compact mobile layout. */
.service-collection:before{content:none;display:none}
.inner-page main>.page-hero,.about-page main>.page-hero,.faq-page main>.page-hero,main>.gallery-hero,main>.legal-hero{height:460px;min-height:460px;max-height:none;padding:0;display:flex;align-items:center}
.inner-page main>.page-hero>.hero-content,.about-page main>.page-hero>.hero-content,.faq-page main>.page-hero>.hero-content{padding-top:0;padding-bottom:0}
.inner-page main>.page-hero h1,.about-page main>.page-hero h1,.faq-page main>.page-hero h1,main>.gallery-hero h1,main>.legal-hero h1{font-size:clamp(44px,4.7vw,68px)}
.page-hero .hero-content>.eyebrow,.gallery-hero .eyebrow,.legal-hero .eyebrow{margin-bottom:20px}
@media(max-width:960px){
 .inner-page main>.page-hero,.about-page main>.page-hero,.faq-page main>.page-hero,main>.gallery-hero,main>.legal-hero{height:400px;min-height:400px}
 .nav{position:static}
 .nav.mobile-open nav{left:0;right:0;translate:none;width:100%;max-width:none;padding:12px 0 18px;box-sizing:border-box;border-radius:0;scrollbar-width:none}
 .nav.mobile-open nav::-webkit-scrollbar{display:none}
 .nav nav>a{padding-inline:6%}
 .nav nav>a[aria-current=page]:after{left:6%;right:6%}
 .nav nav .dropdown{margin-inline:0;width:100%}
 .nav nav #services-toggle{padding-inline:6%;width:100%;min-height:48px}
 .nav nav .mega{position:static;width:100%;max-width:100%;margin:0;padding:10px 6% 16px;border-inline:0;border-radius:0;box-shadow:none;background:linear-gradient(135deg,#1d1d1d,#272125)}
 .nav nav .mega-links{grid-template-columns:1fr 1fr;gap:0 22px}
 .nav nav .mega-links a{font-size:12px;padding-block:14px;line-height:1.55}
 .nav nav .mega-links small{font-size:7px;letter-spacing:.07em;line-height:1.7;margin-bottom:3px}
}
@media(max-width:640px){
 :root{--mobile-contact-height:calc(71px + env(safe-area-inset-bottom));--mobile-header-height:109px}
 body{padding-bottom:0}
 .nav{height:76px}.nav nav{top:76px}.nav.mobile-open nav{max-height:calc(100svh - 76px - var(--mobile-contact-height));overflow-y:auto}
 .nav nav>a{font-size:13px;padding-block:13px}
 .nav nav .mega-links{grid-template-columns:1fr 1fr;gap:0 16px}
 .nav nav .mega-links a{font-size:11px;padding-block:12px;min-height:67px}
 .nav nav .mega-links small{font-size:6px;letter-spacing:.04em}
 .home-page .slider{height:calc(100svh - var(--mobile-header-height) - var(--mobile-contact-height));min-height:0;max-height:800px}
 .home-page .slider .hero-content{padding-top:clamp(27px,5.5svh,50px);padding-bottom:0}
 .home-page .slider .hero-content>.eyebrow{font-size:7px;letter-spacing:.08em;gap:9px;line-height:1.5;margin-bottom:18px}
 .home-page .slider .hero-content h1{font-size:clamp(30px,8.5vw,42px);line-height:1.14;letter-spacing:-.055em}
 .home-page .slider .hero-content p{font-size:11px;line-height:1.75;margin:17px 0 0;max-width:360px}
 .home-page .slider .hero-content .actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-width:none;margin-top:22px}
 .home-page .slider .hero-content .btn{font-size:9px;line-height:1.5;min-height:47px;padding:12px 13px;gap:9px;min-width:0}
 .home-page .slider .hero-content .btn>span{font-size:16px;flex-shrink:0}
 .home-page .slider-bottom{bottom:21px;gap:17px;width:88%}
 .home-page .slide-tabs{gap:9px}
 .home-page .slide-tabs button{padding-bottom:11px;min-width:0}
 .home-page .slide-tabs small{font-size:7px;margin-bottom:5px}
 .home-page .slide-tabs span{font-size:7px;line-height:1.5;min-height:22px}
 .home-page .slider-controls{padding:4px!important;gap:9px}
 .home-page .slider-controls button{width:31px;height:31px}
 .home-page .slider-controls button svg{width:16px;height:16px}
 .quick-strip a,.quick-strip a:first-child,.quick-strip a:last-child{min-height:90px;padding-top:17px;padding-bottom:19px;font-size:10px}
 .quick-strip small{font-size:6px;margin-bottom:7px}
 .section{padding-top:48px;padding-bottom:48px}
 .section-head{margin-bottom:26px}.eyebrow{margin-bottom:16px}
 .service-collection .section{padding-top:48px;padding-bottom:48px}
 .card-photo{height:235px}.service-grid.unified-services{gap:21px}
 .card-copy{padding:17px 14px 15px}.card-copy h3{font-size:21px}
 .about-band{padding-block:48px}.showcase-section{padding-block:48px}
 .split{gap:30px}.image-composition,.about-band .image-composition{height:315px}
 .inner-page main>.page-hero,.about-page main>.page-hero,.faq-page main>.page-hero,main>.gallery-hero,main>.legal-hero{height:320px;min-height:320px}
 .inner-page main>.page-hero>.hero-content,.about-page main>.page-hero>.hero-content,.faq-page main>.page-hero>.hero-content{padding-block:0}
 .inner-page main>.page-hero h1,.about-page main>.page-hero h1,.faq-page main>.page-hero h1,main>.gallery-hero h1,main>.legal-hero h1{font-size:clamp(30px,8.5vw,38px);line-height:1.15;letter-spacing:-.05em}
 .page-hero .hero-content>.eyebrow,.gallery-hero .eyebrow,.legal-hero .eyebrow{font-size:7px;line-height:1.5;letter-spacing:.13em;margin-bottom:14px}
 .page-hero .hero-content p{font-size:11px;line-height:1.7;margin-top:15px;margin-bottom:0;max-width:400px}
 .page-hero .hero-content .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:19px}
 .page-hero .hero-content .actions .btn{padding:12px;font-size:9px;min-height:43px;gap:9px;min-width:0;line-height:1.5}
 .legal-main .legal-hero p{font-size:12px;margin-block:15px}
 .legal-updated{font-size:8px}
 .premium-story{padding-block:48px}.about-method h2{font-size:32px}.about-values{padding-block:48px}
 .service-body{gap:28px}.service-body article>h3{margin-top:30px}
 .faq-layout{padding-block:48px;gap:28px}.faq-intro h2{font-size:32px}
 .cinematic-closing{min-height:440px;padding-block:65px}
 .closing h2{font-size:32px}.closing-signature{margin-top:30px}
 .footer-invitation{padding:35px 0 28px;margin-bottom:28px}
 .footer-invitation h2{font-size:32px}
 .footer-invitation>a{display:grid;grid-template-columns:22px minmax(0,1fr) 14px;align-items:center;gap:10px;padding:15px 14px;width:100%;box-sizing:border-box}
 .footer-invitation>a>.phone-icon{width:22px;height:22px}
 .footer-invitation>a>span{min-width:0;font-size:8px}
 .footer-invitation strong{font-size:clamp(17px,5.15vw,22px);line-height:1.35;white-space:nowrap;letter-spacing:-.035em;margin-top:5px}
 .footer-grid{gap:25px 20px;padding-bottom:25px}.legal-links{padding-block:17px;font-size:8px;gap:10px 15px}
 footer .bottom{padding-top:16px;padding-bottom:calc(18px + var(--mobile-contact-height));margin-bottom:0}
}
@media(max-width:640px) and (max-height:740px){
 .home-page .slider .hero-content{padding-top:25px}
 .home-page .slider .hero-content>.eyebrow{margin-bottom:13px;font-size:6px}
 .home-page .slider .hero-content h1{font-size:clamp(28px,8.1vw,36px)}
 .home-page .slider .hero-content p{font-size:10px;line-height:1.65;margin-top:13px}
 .home-page .slider .hero-content .actions{margin-top:16px}
 .home-page .slider .hero-content .btn{min-height:43px;padding:10px 11px;font-size:8px}
 .home-page .slider-bottom{bottom:16px;gap:12px}
}
@media(max-width:640px) and (max-height:610px){
 .home-page .slider .hero-content{padding-top:19px}
 .home-page .slider .hero-content>.eyebrow{margin-bottom:10px}
 .home-page .slider .hero-content h1{font-size:27px}
 .home-page .slider .hero-content p{font-size:10px;line-height:1.55;margin-top:10px}
 .home-page .slider .hero-content .actions{margin-top:12px}
 .home-page .slider .hero-content .btn{font-size:8.5px;min-height:40px;padding:8px}
 .home-page .slider-bottom{bottom:12px;gap:10px}
 .home-page .slide-tabs small{font-size:6.5px}.home-page .slide-tabs span{font-size:6.5px}
}
@media(max-width:640px) and (orientation:landscape){.home-page .slider{height:440px;max-height:none}}

/* Content-sized mobile carousel: every scene shares the same grid track. */
.gallery-hero{position:relative;isolation:isolate;overflow:hidden}
.gallery-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2}
.gallery-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080808e8,#08080880),linear-gradient(0deg,#111b,transparent);z-index:-1}
.gallery-hero>.wrap{position:relative;padding-block:0}
@media(max-width:960px){
 .mobile-toggle{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:10px;line-height:1;font-size:0;border-radius:7px;background:linear-gradient(135deg,#222,#0a0a0a);border:1px solid #ffffff30}
 .mobile-toggle svg{display:block;width:22px;height:22px}
}
@media(max-width:640px){
 .brand{gap:8px;font-size:17px;letter-spacing:.12em}
 .brand small{font-size:7px;letter-spacing:.29em}
 .brand .logocrop{width:80px;height:72px;flex-shrink:0;background:transparent}
 .brand .logocrop img{width:140px;left:-30px;top:-71px}
 .home-page .slider{display:grid;grid-template-columns:minmax(0,1fr);height:auto;min-height:0;max-height:none}
 .home-page .slider .slide{grid-area:1/1;position:relative;inset:auto;min-width:0}
 .home-page .slider .hero-content{padding:32px 0 157px;width:88%}
 .home-page .slider .hero-content>.eyebrow{font-size:7px;margin-bottom:16px}
 .home-page .slider .hero-content h1{font-size:clamp(30px,8.5vw,42px);line-height:1.14}
 .home-page .slider .hero-content p{font-size:11px;line-height:1.75;margin-top:17px}
 .home-page .slider .hero-content .actions{margin-top:20px}
 .home-page .slider .hero-content .btn{font-size:9px;min-height:47px;padding:12px 11px}
 .home-page .slider-bottom{grid-area:1/1;position:relative;align-self:end;left:auto;right:auto;bottom:auto;margin:0 auto;padding:0 0 22px;width:88%;gap:16px;transform:none}
 .home-page .slide-tabs small,.home-page .slide-tabs span{font-size:7px}
 .home-page .slide-tabs button{padding-bottom:10px}
 .home-page .slider-controls{margin:0 auto}
 .gallery-hero-photo{object-position:62% center}
 .media-collection{padding-block:35px 48px;gap:12px}
}
