/* GLOW DETAIL V5.16 — responsive polish, finder and compact booking. */
/* Desktop rhythm: keep tiles readable and stable on 1280–2560px wide viewports. */
@media(min-width:1201px){
 .gd-section .wrap{max-width:1340px}
 .gd-featured-grid{gap:22px}
 .gd-featured-card{min-width:0}
 .gd-featured-caption{padding:22px 24px 24px}
 .works-grid{gap:22px}
 .works-card{min-width:0}
 .home-contact-grid{align-items:stretch}
}
@media(min-width:1800px){
 .gd-section{padding-block:96px}
 .works-area .wrap{max-width:1360px}
 .gd-section h2{font-size:clamp(36px,3vw,55px)}
}
/* The desktop navigation no longer collides with the wordmark between laptop and tablet widths. */
@media(min-width:951px) and (max-width:1120px){
 .site-header{position:relative}
 .menu{position:absolute;display:none;top:100%;left:0;right:0;z-index:30;flex-direction:column;align-items:stretch;gap:0!important;border-radius:0 0 18px 18px;padding:10px 30px 18px!important;background:#faf8f5;box-shadow:0 18px 30px #17100a18}
 .menu.open{display:flex}
 .menu a{padding:13px 8px;width:100%;font-size:14px}
 .menu-button{display:inline-flex}
 .header-inner{gap:12px}
}
/* Find a service without changing the approved homepage visual language. */
.gd-service-finder{background:#fbf9f6}
.gd-finder-layout{display:grid;grid-template-columns:minmax(290px,.85fr) minmax(0,1.15fr);gap:clamp(35px,5vw,92px);align-items:center}
.gd-finder-copy h2{max-width:560px}
.gd-finder-copy p{max-width:510px}
.gd-finder-note{display:inline-block;margin-top:17px;padding:10px 13px;border-radius:999px;border:1px solid #e7ddd2;background:#fff;color:#77706a;font-size:11px;font-weight:650;line-height:1.45}
.gd-finder-interaction{padding:28px;border:1px solid #e8ded2;border-radius:24px;background:#fff;box-shadow:0 18px 42px rgba(57,42,22,.055);min-width:0}
.gd-finder-question{font-size:15px;font-weight:800;color:#292522;margin-bottom:16px}
.gd-finder-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.gd-finder-option{display:flex;align-items:center;text-align:left;min-width:0;padding:13px 14px;border:1px solid #ebe3d9;border-radius:13px;background:#fbfaf8;color:#3b3733;line-height:1.28;font:650 12px/1.3 Montserrat,Inter,Arial,sans-serif;transition:background .22s,border-color .22s,transform .22s;cursor:pointer}
.gd-finder-option.is-active{border-color:#bc9563;background:#f8f0e4;color:#6b4b27;box-shadow:inset 0 0 0 1px #bc956330}
@media(hover:hover){.gd-finder-option:hover{border-color:#caa875;transform:translateY(-2px)}}
.gd-finder-option:focus-visible,.gd-finder-detail:focus-visible,.gd-finder-contact:focus-visible{outline:3px solid #b88b43;outline-offset:3px}
.gd-finder-result{background:linear-gradient(130deg,#f5f0e8,#fcfaf6);border:1px solid #e9dfd0;border-radius:17px;padding:22px 22px 21px;margin-top:17px}
.gd-finder-result-top{display:flex;align-items:center;gap:8px;color:#9a7444;font-size:10px;letter-spacing:.13em;font-weight:800}
.gd-finder-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#c19b63}
.gd-finder-result h3{font-size:clamp(18px,2vw,24px);line-height:1.25;margin:10px 0 7px;letter-spacing:-.035em}
.gd-finder-result p{font-size:13px;line-height:1.6;margin:0;min-height:42px;color:#66615c}
.gd-finder-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}
.gd-finder-detail{display:inline-flex;align-items:center;gap:7px;color:#8a6333;font-size:13px;font-weight:800;min-height:38px}
.gd-finder-contact{min-height:42px;font-size:12px;padding-inline:17px}
/* Stop the booking pill from sitting across photographs on small phones. */
.gd-floating-booking.gd-is-dialog-open{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media(max-width:670px){
 .gd-floating-booking{right:max(14px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));width:48px;height:48px;min-height:48px;padding:0;gap:0;border-radius:50%;box-shadow:0 7px 22px rgba(68,47,20,.2)}
 .gd-floating-booking>svg{width:20px;height:20px}
 .gd-floating-booking>span{display:none!important}
 .gd-finder-layout{grid-template-columns:1fr;gap:22px}
 .gd-finder-interaction{padding:17px;border-radius:18px}
 .gd-finder-options{gap:7px}
 .gd-finder-option{padding:12px 11px;font-size:11px;border-radius:11px;min-height:46px}
 .gd-finder-result{padding:18px 16px}
 .gd-finder-result p{min-height:0}
 .gd-finder-actions{align-items:stretch}
 .gd-finder-contact{min-width:0;padding-inline:13px}
 .gd-finder-note{margin-top:9px;font-size:10px}
}
@media(min-width:671px) and (max-width:1050px){
 .gd-finder-layout{grid-template-columns:1fr;gap:25px}
 .gd-finder-copy h2{max-width:700px}
 .gd-finder-interaction{max-width:850px}
}
@media(max-width:360px){
 .gd-finder-options{grid-template-columns:1fr 1fr}
 .gd-finder-option{font-size:10px;padding:11px 8px}
 .gd-finder-actions{gap:7px}
 .gd-finder-detail{font-size:12px}
 .gd-finder-contact{font-size:11px;padding-inline:12px}
}
@media(prefers-reduced-motion:reduce){.gd-finder-option{transition:none!important}}

/* Ensure the car fills the stage on tablets and smaller laptops.
   The desktop source image reserves its left half for text, so a stacked layout
   must use the original approved mobile crop (same BMW, not an invented image). */
@media(min-width:671px) and (max-width:1100px){
 .home-stage{height:auto!important;min-height:0!important}
 .home-hero{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;padding:33px 0 0!important}
 .home-hero .hero-copy{width:100%!important;max-width:740px;text-align:center;margin:0 auto}
 .home-hero .hero-actions{justify-content:center}
 .hero-photo{position:relative!important;left:50%!important;top:auto!important;bottom:auto!important;transform:translateX(-50%)!important;width:100vw!important;height:clamp(300px,43vw,445px)!important;margin:15px 0 0!important;align-self:center;overflow:hidden!important}
 .hero-photo picture{display:block;width:100%;height:100%}
 .hero-photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;mask-image:linear-gradient(180deg,transparent 0%,#000 13%,#000 91%,transparent 100%)!important;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 13%,#000 91%,transparent 100%)!important}
 .hero-photo::after{display:none!important}
}
