/* QA round 3: bounded visual corrections; existing brand tokens and typefaces. */
.signature .tray-placeholder,.pedi-grid .tray-placeholder,.gallery-item .tray-placeholder{position:relative;aspect-ratio:4/5;width:100%;height:auto;min-height:0;flex:none;padding:0;overflow:hidden;background:var(--cream-light);border-radius:0}
.tray-placeholder.tray-real>img{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;max-height:none;margin:0;border-radius:0;object-position:center}
.tray-placeholder.tray-portrait>.tray-main{object-fit:cover}
.tray-placeholder.tray-landscape>.tray-main{object-fit:contain;z-index:1}
.gallery-grid .gallery-item{position:relative;aspect-ratio:4/5;min-width:0;margin:0 0 44px;background:var(--cream-light);border:3px solid var(--gold);border-radius:0;overflow:visible}
.gallery-grid.preview .gallery-item{margin-bottom:0;overflow:hidden}
.gallery-grid .gallery-item>.tray-placeholder,.gallery-grid .gallery-item>.lightbox-open{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:var(--cream-light)}
.gallery-grid .gallery-item>img,.gallery-grid .lightbox-open>img{position:absolute;inset:0;width:100%;height:100%;border-radius:0;object-fit:cover}
.gallery-grid .gallery-item figcaption{position:absolute;top:100%;left:0;right:0;margin:10px 0 0;line-height:1.4}
.gallery-grid .lightbox-open:hover,.gallery-grid .lightbox-open:active{transform:none}
.gallery-grid.preview .tray-portrait:hover>.tray-main{transform:none}
.hero-controls .hero-arrow{position:static;inset:auto;transform:none;flex:0 0 44px;width:44px;height:44px;font-size:32px}
.hero-controls .hero-arrow:hover{transform:scale(1.05)}
.hero-controls .hero-arrow:active{transform:scale(.98)}
.hero-controls .hero-prev{order:0}.hero-controls .slide-dot{order:1}.hero-controls .hero-pause{order:2}.hero-controls .hero-next{order:3}
.policy-content{min-width:0}.policy-row{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:baseline;gap:24px;border-bottom:0}
.policy-row>div{min-width:0;max-width:100%}.policy-row>span{font:400 30px/1.25 'Old Standard TT',serif}
.policy-row h3{font:400 30px/1.25 'Old Standard TT',serif;margin:0 0 16px;letter-spacing:0;text-transform:none;overflow-wrap:anywhere}
.policy-row p{max-width:100%;overflow-wrap:anywhere}
.about-lumina .about-photos{align-self:center;min-width:0}
.booking-grid .photo-frame{padding:0;border:0;overflow:hidden;isolation:isolate;height:620px}
.booking-grid .photo-frame:after{content:'';position:absolute;inset:0;border:1px solid var(--gold);border-radius:inherit;pointer-events:none;z-index:3}
.booking-grid .arch-window{height:100%;border-radius:inherit;clip-path:none;overflow:hidden}
.booking-grid .arch-parallax{height:calc(100% + 40px);margin-top:-20px}
.booking-grid .photo-frame img{width:100%;height:100%;border-radius:0;object-fit:cover}
.booking-copy>.booking-subtitle{font:italic clamp(24px,2.2vw,30px)/1.5 'Lora',serif;margin:0 0 24px;text-wrap:balance}
.service-grid>.service-tile{background:var(--cream-light)}
.service-grid>.service-tile>img{display:block;border-radius:20px 20px 0 0;aspect-ratio:1;height:auto}
.service-grid>.service-tile>div{height:168px;min-height:168px;max-height:168px;padding:0;position:relative}
.service-grid>.service-tile h3{position:absolute;top:28px;left:18px;right:18px;margin:0;white-space:nowrap;font-size:clamp(20px,1.9vw,28px);line-height:1.3;letter-spacing:.02em;transition:transform .3s ease;transform:none}
.service-grid>.service-tile p{position:absolute;top:80px;left:20px;right:20px;margin:0 auto;opacity:1;transform:none;font-size:17px;line-height:1.65}
@media(hover:hover) and (pointer:fine) and (min-width:1024px){
 .service-grid>.service-tile h3{transform:translateY(39px)}
 .service-grid>.service-tile p{opacity:0;transform:translateY(12px)}
 .service-grid>.service-tile:hover h3,.service-grid>.service-tile:focus-visible h3{transform:none}
 .service-grid>.service-tile:hover p,.service-grid>.service-tile:focus-visible p{opacity:1;transform:none}
}
.social-icons{display:flex;gap:12px}.social-icons a{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;padding:0}
.social-icons a:hover{background:color-mix(in srgb,var(--gold) 15%,transparent)}
.footer-brand .brand,.footer-brand .brand-picture{align-items:flex-start;text-align:left}.footer-brand .brand-logo{object-position:left center}
.footer-brand>.brand+p{max-width:none}
.welcome-copy .section-heading .ornament{justify-content:flex-start;margin-inline:0}
@media(min-width:1024px){.footer-brand>.brand+p{white-space:nowrap}}
@media(max-width:1023px){.service-grid>.service-tile h3{font-size:clamp(20px,3vw,28px)}}
@media(max-width:768px){
 .hero-inner{justify-content:flex-end}.hero-content{max-width:100%;padding:0 0 88px}
 .hero-images{height:58%;bottom:auto}
 .hero-slide,.hero-slide:nth-child(2),.hero-slide:nth-child(3){object-position:78% center}
 .hero-shade{top:auto;bottom:0;height:60%;background:linear-gradient(0deg,var(--cream-light) 0%,var(--cream-light) 60%,color-mix(in srgb,var(--cream-light) 0%,transparent) 100%)}
 .hero .eyebrow{margin-bottom:16px}.hero h1{white-space:nowrap;font-size:clamp(28px,9.2vw,43px);letter-spacing:.01em}
 .hero-subline{margin-bottom:24px}.hero-controls{gap:6px}.hero-bottom{bottom:20px}
 .policy-row{grid-template-columns:24px minmax(0,1fr);gap:16px}.policy-row h3,.policy-row>span{font-size:24px}
 .booking-grid .photo-frame{height:340px}
 .service-grid>.service-tile>div{height:180px;min-height:180px;max-height:180px}
 .gallery-grid .gallery-item figcaption{font-size:14px}
}
@media(max-width:599px){.service-grid>.service-tile h3{font-size:clamp(22px,6.8vw,30px)}}
@media(prefers-reduced-motion:reduce){
 .service-grid>.service-tile h3,.service-grid>.service-tile p{opacity:1;transform:none;transition:none}
 .hero-controls .hero-arrow:hover,.hero-controls .hero-arrow:active{transform:none}
}
