/* Touch-first layout enhancements; desktop composition is preserved. */
.menu-toggle,.mobile-quick-actions{display:none}
main section[id]{scroll-margin-top:24px}
.cards>*{min-width:0}
:focus-visible{outline:2px solid #90617e;outline-offset:4px}
@media(min-width:761px) and (max-width:1050px){
 header{padding-inline:4%;gap:18px}header nav{gap:10px}header nav a{font-size:11px}header nav .btn{padding:14px}
 .hero{min-height:540px}.hero-copy{padding:50px 8%}h1{font-size:64px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.booking{gap:32px}.form{padding:24px}
}
@media(max-width:760px){
 html{scroll-padding-top:90px}body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 header{position:sticky;top:0;z-index:30;min-height:72px;padding:12px 5%;gap:12px;background:#f7f3ecf5;backdrop-filter:blur(14px)}
 header .brand{font-size:10px;letter-spacing:1.4px;max-width:65%;line-height:1.7}header .brand small{font-size:9px;letter-spacing:2px}
 .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:74px;min-height:44px;border:1px solid #cbbcc3;border-radius:4px;background:transparent;color:var(--ink);font-size:13px;cursor:pointer}
 header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 5% 18px;background:var(--cream);box-shadow:0 12px 20px #372b331a;border-bottom:1px solid #d4c6cc;gap:3px;max-height:calc(100dvh - 160px);overflow-y:auto}
 header nav[data-open="true"]{display:grid}header nav a:not(.btn){display:flex;align-items:center;min-height:46px;font-size:15px;padding:10px 8px;border-bottom:1px solid #e2d7dd}header nav .btn{font-size:13px;padding:14px;min-height:48px;margin-top:8px}
 .section{padding:40px 5%}.section-head{margin-bottom:24px}.section-head p{max-width:none;font-size:14px}h2{font-size:36px;letter-spacing:-.5px}
 .eyebrow{line-height:1.7;letter-spacing:2px}.hero-copy{padding:36px 5% 28px}.hero-copy h1{font-size:clamp(42px,12vw,60px);letter-spacing:-1.8px;margin:18px 0}.hero p{font-size:15px;line-height:1.7}.hero-copy .actions{width:100%;gap:10px;margin-top:18px}.hero-copy .actions .btn{flex:1 1 145px;padding:15px 10px;min-height:48px;font-size:12px;letter-spacing:.4px}
 .hero-photo{height:clamp(280px,95vw,410px);margin:0 5% 28px}.photo-label{left:14px;right:14px;bottom:18px;padding:14px;gap:12px;font-size:17px}.photo-label small{flex-shrink:0;font-size:8px}.ribbon{padding:16px 5%;line-height:1.6;gap:8px 13px}
 .filters{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:22px 0;padding:4px 1px 12px;scrollbar-width:thin}.filter{flex:none;min-height:44px;padding:12px 17px;font-size:13px;white-space:nowrap}
 .cards{gap:14px}.card{min-height:0;padding:22px}.card h3{font-size:27px;margin:15px 0 8px}.card p{font-size:14px;line-height:1.7;margin:5px 0 12px}.card .text-btn{min-height:44px;font-size:12px;letter-spacing:.6px}.step p{font-size:14px}.text-btn{display:inline-flex;align-items:center;min-height:44px}
 .booking{gap:16px}.booking aside{padding-top:0}.booking h2{font-size:36px}.contact{margin:20px 0}.contact p{font-size:14px}.contact a{display:flex;align-items:center;min-height:44px;font-size:26px}.contact .contact-email{font-size:15px}
 .form{padding:22px 18px;min-width:0}.form-grid{gap:20px;min-width:0}.form label{font-size:13px;letter-spacing:.2px;min-width:0}.form input:not([type="checkbox"]),.form select,.form textarea{font-size:16px;min-height:48px;width:100%;min-width:0;max-width:100%;padding:12px 4px;line-height:1.5}.form input[type="date"]{appearance:none;-webkit-appearance:none;min-height:48px}.form textarea{min-height:100px;resize:vertical}.consent{align-items:center;min-height:44px;padding-block:5px;gap:12px}.consent input{width:22px;height:22px;min-width:22px;accent-color:var(--plum)}.form .btn{min-height:52px;font-size:13px;letter-spacing:.4px;white-space:normal;line-height:1.5}.note{font-size:12px}.form #result .actions{display:grid}.form #result .actions .btn{margin-top:0}#request-text{overflow-wrap:anywhere;white-space:pre-wrap}
 .compact-gallery{padding:28px 5% 8px}.gallery-track{grid-auto-columns:76%;gap:12px}.gallery-slide img{height:190px}.compact-gallery-head{gap:10px}.compact-gallery h2{font-size:28px}.gallery-controls button{width:44px;height:44px;flex-shrink:0}.gallery-controls{gap:6px}.gallery-slide figcaption{font-size:18px}.gallery-hint{font-size:11px;line-height:1.6}
 .customer-video-track{grid-auto-columns:88%;gap:14px}.customer-video-card video{height:300px}.customer-video-card figcaption{padding:16px}.customer-video-card h3{font-size:22px}.customer-video-intro{margin-top:18px}.customer-video-intro p{font-size:13px;line-height:1.6}.customer-videos .section-head{margin-bottom:20px}
 
 .faq{padding-top:12px}.faq summary{font-size:20px;line-height:1.4;padding-right:8px}.faq p{font-size:14px}footer{padding:32px 5%}footer a{display:inline-flex;align-items:center;min-height:44px}footer p{font-size:12px;overflow-wrap:anywhere}dialog{width:calc(100% - 32px);max-height:80dvh;overflow:auto;padding:22px}dialog h2{font-size:30px}dialog p{font-size:14px}
 .float{display:none}.mobile-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;z-index:40;bottom:0;left:0;right:0;padding:10px 5% calc(10px + env(safe-area-inset-bottom,0px));background:#f7f3ecfa;border-top:1px solid #d4c6cc;box-shadow:0 -4px 20px #372b3314}.mobile-quick-actions .btn{padding:13px 8px;font-size:13px;letter-spacing:.2px;min-height:48px}.mobile-quick-actions .whatsapp{background:#225b44;border-color:#225b44}.mobile-form-focus .mobile-quick-actions{display:none}
 main section[id]{scroll-margin-top:88px}
}
@media(max-width:360px){.compact-gallery h2{font-size:25px}.form{padding:18px 14px}}
