:root{--black:#090909;--ink:#151515;--gold:#d8ad55;--gold2:#f2cc73;--cream:#f8f4ec;--white:#fff;--muted:#a9a9a9;--line:rgba(216,173,85,.28);--radius:22px;--shadow:0 24px 70px rgba(0,0,0,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;background:var(--black);color:#fff;line-height:1.55}body.modal-open{overflow:hidden}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 40px));margin:auto}.section{padding:92px 0}.section-dark{background:#090909;color:#fff}.light-section{background:var(--cream);color:var(--ink)}.skip-link{position:fixed;top:8px;left:8px;z-index:9999;background:#fff;color:#000;padding:10px 14px;transform:translateY(-150%);border-radius:8px}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:sticky;top:0;z-index:1000;background:rgba(6,6,6,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-family:'Playfair Display';font-weight:700}.brand-logo{width:48px;height:48px;object-fit:cover;border-radius:50%;border:1px solid var(--gold)}.nav{display:flex;align-items:center;gap:24px}.nav a{font-size:.88rem;color:#e9e9e9}.nav a:hover,.nav a:focus-visible{color:var(--gold2)}.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.55rem}.btn{border:0;border-radius:999px;padding:13px 20px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s ease}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #fff;outline-offset:3px}.btn-gold{background:linear-gradient(135deg,var(--gold2),#b98220);color:#111}.btn-gold:hover{transform:translateY(-2px);filter:brightness(1.04)}.btn-outline{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff}.dark-outline{border-color:#bbb;color:#222}.small{padding:10px 16px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.eyebrow.dark{color:#946b1f}h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.05;margin-top:0}h1{font-size:clamp(3.1rem,7vw,6.7rem);margin-bottom:20px}h1 span{color:var(--gold)}h2{font-size:clamp(2.2rem,4vw,4rem);margin:7px 0 12px}h3{font-size:1.45rem}.hero{padding:72px 0 64px}.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}.hero-copy>p{font-size:1.08rem;color:#c7c7c7;max-width:610px}.hero-actions{display:flex;gap:12px;margin:28px 0}.hero-meta{display:flex;gap:36px;margin-top:34px}.hero-meta div{display:flex;flex-direction:column}.hero-meta strong{color:var(--gold);font-size:1.2rem}.hero-meta span{font-size:.75rem;color:#aaa}.hero-photo{position:relative;min-height:500px;border-radius:36px;overflow:hidden;border:1px solid rgba(217,173,85,.45);box-shadow:var(--shadow)}.hero-photo>img{width:100%;height:500px;object-fit:cover}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.88))}.hero-photo-caption{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;display:flex;flex-direction:column}.hero-photo-caption strong{font-family:'Playfair Display';font-size:1.7rem}.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0e0e0e}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding:17px 0;color:#d8d8d8;font-size:.85rem}.section-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:34px}.section-head p{max-width:460px;color:#747474}.section-dark .section-head p,.gallery-section .section-head p{color:#aaa}.service-toolbar{display:flex;justify-content:space-between;gap:14px;margin-bottom:24px;align-items:center}.search-box{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #d8cebc;border-radius:999px;padding:0 14px;min-width:min(100%,390px)}.search-box input{width:100%;padding:13px 6px;border:0;outline:0;background:transparent}.filter-chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid #cfc3ad;background:transparent;padding:9px 15px;border-radius:999px;cursor:pointer}.chip.active{background:#151515;color:#fff;border-color:#151515}.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{background:#fff;border:1px solid #e0d6c6;border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 30px rgba(49,37,17,.06)}.service-image{width:100%;height:210px;object-fit:cover}.service-body{padding:22px}.service-category{text-transform:uppercase;font-size:.68rem;letter-spacing:.13em;color:#9a742d}.service-card p{color:#727272;min-height:74px}.service-meta{display:flex;justify-content:space-between;gap:10px;align-items:end}.service-card-actions{display:flex;gap:8px}.book-text{background:none;border:0;color:#7d5818;font-weight:700;cursor:pointer;padding:0}.prototype-note{font-size:.78rem;color:#7b7369;margin-top:18px}.empty-state{grid-column:1/-1;background:#fff;border:1px dashed #c8b99c;padding:36px;border-radius:18px;text-align:center;color:#777}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.about-image img{width:100%;height:520px;object-fit:cover;border-radius:30px}.about-copy>p{color:#bbb}.feature-list{display:grid;gap:16px;margin-top:28px}.feature-list div{padding:16px 0;border-top:1px solid var(--line);display:flex;flex-direction:column}.feature-list span{color:#aaa}.branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.branch-card{border:1px solid #ded4c4;border-radius:var(--radius);padding:34px;background:#fff}.branch-number{font-family:'Playfair Display';font-size:3rem;color:#d7bd8e}.branch-info{display:flex;justify-content:space-between;border-top:1px solid #eee2d1;padding-top:18px;margin:24px 0}.branch-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.text-link{font-weight:700;color:#7f5a17}.team-grid.four{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.team-card{border-radius:var(--radius);overflow:hidden;padding:0 0 20px}.dark-card{background:#111;border:1px solid var(--line)}.team-card>img{width:100%;height:280px;object-fit:cover;object-position:top}.team-card h3{margin:18px 18px 2px}.team-card p{margin:0 18px;color:#aaa}.status-dot{display:inline-flex;align-items:center;gap:7px;margin:12px 18px 0;color:#c8c8c8;font-size:.78rem}.status-dot:before{content:'';width:8px;height:8px;background:#71c67a;border-radius:50%;box-shadow:0 0 0 3px rgba(113,198,122,.13)}.gallery-section{background:#0d0d0d}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-item{position:relative;height:230px;overflow:hidden;border-radius:18px;margin:0;border:1px solid var(--line)}.gallery-item.wide{grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.8))}.gallery-item figcaption{position:absolute;left:18px;bottom:14px;z-index:3;font-family:'Playfair Display';font-size:1.25rem}.before-after{margin-top:38px;padding:28px;border:1px solid var(--line);border-radius:24px;display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;align-items:center}.before-after p{color:#aaa}.ba-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.ba-pair figure{margin:0}.ba-pair img{height:180px;width:100%;object-fit:cover;border-radius:15px}.ba-pair figcaption{font-size:.78rem;color:#aaa;margin-top:6px}.ba-arrow{font-size:2rem;color:var(--gold)}.reviews-section{background:#efe9de}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{background:#fff;border:1px solid #e0d6c6;border-radius:var(--radius);padding:28px}.stars{color:#b88627;letter-spacing:.12em}.review-card>p{font-family:'Playfair Display';font-size:1.12rem;line-height:1.55}.reviewer{display:flex;align-items:center;gap:12px;margin-top:20px}.reviewer img,.avatar-text>span{width:46px;height:46px;border-radius:50%;object-fit:cover}.avatar-text>span{display:grid;place-items:center;background:#171717;color:var(--gold);font-weight:700}.reviewer div{display:flex;flex-direction:column}.reviewer span{font-size:.8rem;color:#777}.faq-list{display:grid;gap:10px}.faq-list details{background:#fff;border:1px solid #dfd5c4;border-radius:16px;padding:0 20px}.faq-list summary{padding:18px 4px;font-weight:700;cursor:pointer}.faq-list p{margin:0 4px 20px;color:#727272}.policy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.policy-grid article{padding:22px;border:1px solid var(--line);border-radius:18px}.policy-grid strong{color:var(--gold)}.policy-grid p{color:#aaa;font-size:.9rem}.cta-card{background:#fff;border:1px solid #ded3c0;border-radius:28px;padding:42px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-card p{color:#777}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact-list{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.contact-list a{color:var(--gold2);font-weight:700}.footer-wrap{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#aaa}.footer-wrap>div:first-child{display:flex;flex-direction:column}.footer-wrap strong{color:#fff}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a:hover{color:var(--gold)}.mobile-actions{display:none}.toast{position:fixed;right:20px;bottom:20px;z-index:3000;background:#fff;color:#111;border-radius:14px;padding:14px 18px;box-shadow:var(--shadow);transform:translateY(130%);opacity:0;transition:.25s}.toast.show{transform:none;opacity:1}.modal{position:fixed;inset:0;z-index:2000;display:none}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.booking-panel{position:absolute;right:0;top:0;bottom:0;width:min(650px,100%);background:#fbf8f2;color:#1b1b1b;padding:34px;overflow-y:auto}.booking-header{display:flex;justify-content:space-between;gap:20px}.booking-header h2{font-size:2.6rem}.close-btn{border:0;background:#ece5d9;border-radius:50%;width:42px;height:42px;font-size:1.6rem;cursor:pointer}.progress{height:5px;background:#e3dbce;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;width:20%;background:var(--gold);transition:.25s}.step-label{margin:9px 0 30px;color:#777;font-size:.8rem}.booking-step{display:none}.booking-step.active{display:block}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice span{display:flex;flex-direction:column;border:2px solid #ded5c7;border-radius:18px;padding:22px;cursor:pointer}.choice input:checked+span{border-color:#b9862f;background:#fff8e8}.choice small{color:#777}.form-grid{display:grid;gap:16px}.two-col{grid-template-columns:1fr 1fr}.form-grid label{font-weight:700;font-size:.84rem}.form-grid input,.form-grid select,.form-grid textarea,.booking-step>select{width:100%;margin-top:7px;padding:13px;border:1px solid #cfc7bb;border-radius:12px;background:#fff}.form-grid textarea{resize:vertical}.availability-note{font-size:.78rem;color:#746d64;background:#eee8dd;border-radius:12px;padding:11px;margin-top:12px}.summary-box{background:#fff;border:1px solid #ddd3c4;border-radius:16px;padding:18px}.summary-row{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid #eee}.summary-row:last-child{border:0}.muted{font-size:.8rem;color:#777}.policy-check{display:flex;align-items:flex-start;gap:10px;margin-top:16px;font-size:.8rem}.policy-check input{margin-top:3px}.policy-check a{text-decoration:underline}.booking-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.hidden{display:none!important}.booking-loading{margin-top:16px;display:flex;align-items:center;gap:10px;color:#6c6459}.spinner{width:18px;height:18px;border:2px solid #d6c9b6;border-top-color:#8a611a;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.success-box{margin-top:18px;padding:18px;border-radius:16px;background:#e9f7ea;color:#17351b;display:grid;gap:10px}.success-box .btn{width:max-content}.service-modal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(780px,calc(100% - 30px));max-height:90vh;overflow:auto;background:var(--cream);color:#171717;border-radius:26px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr}.service-modal-card>img{width:100%;height:100%;min-height:430px;object-fit:cover}.service-modal-content{padding:42px}.service-close{position:absolute;right:16px;top:16px;z-index:2}.service-modal-meta{display:flex;gap:20px;margin:26px 0;font-weight:700;color:#8b641f}.reveal{opacity:0;transform:translateY(18px);transition:.6s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}
@media(max-width:1050px){.cards-grid{grid-template-columns:repeat(2,1fr)}.nav{gap:14px}.nav a{font-size:.8rem}.policy-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.nav-toggle{display:block}.nav{position:absolute;top:78px;left:0;right:0;background:#0b0b0b;display:none;flex-direction:column;align-items:stretch;padding:20px}.nav.open{display:flex}.nav .btn{width:100%}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-photo{min-height:420px}.hero-photo>img{height:420px}.team-grid.four{grid-template-columns:1fr 1fr}.reviews-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr}.before-after{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}.trust-grid{grid-template-columns:1fr 1fr;gap:12px}.service-toolbar{align-items:stretch;flex-direction:column}}
@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.section{padding:68px 0}.hero{padding-top:42px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-meta{gap:16px;justify-content:space-between}.hero-photo,.hero-photo>img{height:340px;min-height:340px}.cards-grid,.branch-grid,.team-grid.four,.gallery-grid,.policy-grid{grid-template-columns:1fr}.gallery-item.wide{grid-column:auto}.service-image{height:230px}.team-card>img{height:360px}.choice-grid,.two-col{grid-template-columns:1fr}.branch-actions,.cta-card{align-items:flex-start;flex-direction:column}.cta-card{padding:28px}.ba-pair{grid-template-columns:1fr}.ba-arrow{transform:rotate(90deg);justify-self:center}.footer-wrap{flex-direction:column;align-items:flex-start;padding:28px 0 100px}.footer-links{flex-direction:column;gap:10px}.mobile-actions{position:fixed;display:grid;grid-template-columns:.8fr 1.2fr;gap:8px;left:12px;right:12px;bottom:10px;z-index:1200;background:rgba(10,10,10,.92);backdrop-filter:blur(12px);padding:8px;border-radius:999px;border:1px solid var(--line)}.mobile-actions .btn,.mobile-whatsapp{padding:12px 14px;border-radius:999px;text-align:center}.mobile-whatsapp{color:#fff;border:1px solid rgba(255,255,255,.22)}.service-modal-card{grid-template-columns:1fr}.service-modal-card>img{min-height:230px;height:230px}.service-modal-content{padding:26px}.booking-panel{padding:24px 18px 110px}.booking-header h2{font-size:2rem}.booking-actions{position:sticky;bottom:0;background:linear-gradient(transparent,#fbf8f2 28%);padding-top:28px}.booking-actions .btn{flex:1}.toast{left:12px;right:12px;bottom:90px}.success-box .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* === UX / RESPONSIVENESS UPGRADE v3 === */
html{scroll-padding-top:92px;-webkit-text-size-adjust:100%}
body{overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
section[id]{scroll-margin-top:92px}
img{height:auto}
.section{content-visibility:auto;contain-intrinsic-size:800px}
.site-header{transition:background .3s ease,box-shadow .3s ease,border-color .3s ease}
.site-header.scrolled{background:rgba(6,6,6,.96);box-shadow:0 12px 34px rgba(0,0,0,.24);border-bottom-color:rgba(216,173,85,.38)}
.nav a{position:relative;transition:color .2s ease}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--gold);transition:right .25s ease}
.nav a:hover::after,.nav a.active::after{right:0}
.nav a.active{color:var(--gold2)}
.btn{min-height:46px;will-change:transform;transition:transform .22s ease,filter .22s ease,background .22s ease,border-color .22s ease}
.btn:active{transform:translateY(0) scale(.98)}
.service-card,.team-card,.branch-card,.review-card,.gallery-item{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
@media(hover:hover) and (pointer:fine){
  .service-card:hover,.branch-card:hover,.review-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(49,37,17,.12)}
  .team-card:hover,.gallery-item:hover{transform:translateY(-5px);border-color:rgba(242,204,115,.55)}
}
.service-image,.team-card>img,.gallery-item img,.hero-photo>img,.about-image img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover) and (pointer:fine){.service-card:hover .service-image,.team-card:hover>img{transform:scale(1.025)}}
.modal.open .modal-backdrop{animation:fadeBackdrop .22s ease both}
.modal.open .booking-panel{animation:slidePanel .32s cubic-bezier(.2,.75,.25,1) both}
.modal.open .service-modal-card{animation:popModal .28s cubic-bezier(.2,.75,.25,1) both}
@keyframes fadeBackdrop{from{opacity:0}to{opacity:1}}
@keyframes slidePanel{from{transform:translateX(35px);opacity:.65}to{transform:none;opacity:1}}
@keyframes popModal{from{transform:translate(-50%,-48%) scale(.975);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
.booking-step.active{animation:stepIn .2s ease both}
@keyframes stepIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
.form-grid input,.form-grid select,.form-grid textarea,.booking-step>select,.search-box,.chip,.choice span{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.booking-step>select:focus{border-color:#b9862f;box-shadow:0 0 0 4px rgba(185,134,47,.12)}
.choice span:active,.chip:active{transform:scale(.985)}

@media(max-width:1180px){
  .container{width:min(100% - 36px,1120px)}
  .nav{gap:16px}.nav a{font-size:.8rem}
  .hero-grid{gap:38px}.hero-photo,.hero-photo>img{height:460px;min-height:460px}
}
@media(max-width:900px){
  .nav{display:flex;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-8px);max-height:calc(100vh - 78px);overflow:auto;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
  .nav.open{visibility:visible;opacity:1;pointer-events:auto;transform:none}
  .nav a{font-size:.95rem;padding:10px 6px}
  .nav a:not(.btn)::after{display:none}
  body.menu-open{overflow:hidden}
  .hero{padding-top:54px}
  .hero-grid{gap:34px}
  .about-image img{height:min(58vw,520px)}
  .branch-info{gap:20px}
}
@media(max-width:768px){
  h1{font-size:clamp(2.75rem,12vw,4.6rem)}
  h2{font-size:clamp(2rem,8vw,3rem)}
  .section{padding:72px 0}
  .hero-copy>p{font-size:1rem}
  .hero-meta{display:grid;grid-template-columns:repeat(3,1fr);width:100%}
  .hero-meta div{min-width:0}
  .service-card p{min-height:0}
  .branch-info{flex-direction:column;gap:4px}
  .before-after{padding:22px}
  .booking-panel{width:100%;border-radius:0}
}
@media(max-width:640px){
  .container{width:calc(100% - 24px)}
  .nav-wrap{height:70px}.nav{top:70px;max-height:calc(100dvh - 70px);padding:14px 18px 22px}
  .brand-logo{width:42px;height:42px}.brand{font-size:.95rem}
  .hero{padding:34px 0 48px}
  .hero-grid{gap:28px}
  .hero-photo,.hero-photo>img{height:clamp(300px,82vw,390px);min-height:0}
  .hero-photo{border-radius:24px}
  .hero-photo-caption{left:20px;right:20px;bottom:18px}.hero-photo-caption strong{font-size:1.3rem}
  .trust-grid{font-size:.78rem;padding:14px 0}
  .service-toolbar{gap:12px}.filter-chips{flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}.filter-chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto}
  .service-image{height:62vw;max-height:300px;min-height:210px}
  .service-body{padding:18px}
  .service-meta{align-items:flex-start;flex-direction:column}.service-card-actions{width:100%;justify-content:space-between}
  .team-card>img{height:min(105vw,420px)}
  .gallery-item{height:68vw;max-height:340px}.gallery-item.wide{height:68vw}
  .review-card{padding:22px}.review-card>p{font-size:1.05rem}
  .branch-card{padding:26px 22px}.branch-actions{width:100%}.branch-actions .btn{width:100%}
  .cta-card{border-radius:22px}.cta-card .btn{width:100%}
  .mobile-actions{bottom:max(8px,env(safe-area-inset-bottom));left:10px;right:10px;padding:7px}
  .booking-panel{padding:22px 16px calc(100px + env(safe-area-inset-bottom))}
  .booking-actions{bottom:calc(-1 * env(safe-area-inset-bottom));padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .summary-row{align-items:flex-start}.summary-row strong{text-align:right;overflow-wrap:anywhere}
  .toast{bottom:calc(88px + env(safe-area-inset-bottom))}
}
@media(max-width:430px){
  .container{width:calc(100% - 20px)}
  .section{padding:58px 0}
  .eyebrow{font-size:.68rem}
  h1{font-size:clamp(2.45rem,14vw,3.6rem)}
  h2{font-size:clamp(1.85rem,10vw,2.7rem)}
  h3{font-size:1.25rem}
  .hero-actions{margin:22px 0}.hero-meta{gap:8px}.hero-meta strong{font-size:1rem}.hero-meta span{font-size:.66rem}
  .trust-grid{grid-template-columns:1fr 1fr;gap:8px 10px;text-align:left}
  .search-box{min-width:0;width:100%}
  .section-head{gap:12px;margin-bottom:25px}
  .gallery-item{border-radius:14px}
  .policy-grid article{padding:18px}
  .footer-wrap{padding-bottom:105px}
  .mobile-actions{grid-template-columns:1fr 1.25fr;border-radius:22px}.mobile-actions .btn,.mobile-whatsapp{font-size:.84rem;padding:11px 10px}
  .booking-header h2{font-size:1.8rem}.booking-panel{padding-left:14px;padding-right:14px}.choice span{padding:18px}
  .service-modal-card{width:calc(100% - 18px);border-radius:20px}.service-modal-content{padding:22px}.service-modal-meta{flex-direction:column;gap:6px;margin:18px 0}
}
@media(max-width:360px){
  .brand span{display:none}
  .hero-meta{grid-template-columns:1fr 1fr}.hero-meta div:last-child{grid-column:1/-1}
  .trust-grid{grid-template-columns:1fr}
  .mobile-actions{left:6px;right:6px}
  .mobile-actions .btn,.mobile-whatsapp{font-size:.78rem}
  .booking-actions{gap:8px}.booking-actions .btn{padding-left:12px;padding-right:12px}
}
@media(max-height:560px) and (orientation:landscape){
  .hero-grid{grid-template-columns:1fr 1fr}.hero-photo,.hero-photo>img{height:330px}.hero{padding-top:32px}
  .booking-panel{padding-top:18px}.booking-header h2{font-size:1.8rem}.step-label{margin-bottom:16px}
}
@media(prefers-reduced-motion:reduce){
  .modal.open .modal-backdrop,.modal.open .booking-panel,.modal.open .service-modal-card,.booking-step.active{animation:none!important}
}

/* Homepage WhatsApp, V4 team, and combined about/location refinement */
.btn-whatsapp{background:#1f8f4d;color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 34px rgba(31,143,77,.22)}
.btn-whatsapp:hover{transform:translateY(-2px);filter:brightness(1.05)}
.nav-whatsapp{padding:10px 16px;font-size:.82rem}
.about-section{padding-top:110px;padding-bottom:110px}
.about-editorial{margin-bottom:82px}
.about-grid.about-editorial{align-items:flex-start}
.about-editorial .about-copy{align-self:flex-start;padding-top:32px}
.about-editorial .about-copy .eyebrow{display:inline-block;margin-bottom:7px}
.about-editorial .about-image img{border-radius:28px;border:1px solid rgba(216,173,85,.28);box-shadow:0 26px 80px rgba(0,0,0,.24)}
.about-copy p+p{margin-top:14px}
.about-location{border-top:1px solid rgba(216,173,85,.23);padding-top:70px}
.about-branches-head{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:end;margin-bottom:30px}
.about-branches-head p{color:#aaa;max-width:560px;margin:0;line-height:1.75}
.combined-branch-grid .branch-card-dark{background:linear-gradient(145deg,#101010,#0b0b0b);border-color:rgba(216,173,85,.28);color:#fff;box-shadow:none}
.branch-card-dark p{color:#aaa;line-height:1.7}
.branch-card-dark .branch-number{color:#d8ad55;font-size:2.35rem}
.branch-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.branch-pill{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#f0cf72;border:1px solid rgba(216,173,85,.28);border-radius:999px;padding:6px 10px}
.branch-card-dark .branch-info{border-top-color:rgba(216,173,85,.2);margin:14px 0 0;padding-top:12px}
.branch-card-dark .text-link{color:#f0cf72}
.branch-card-dark .branch-actions{margin-top:24px}
.professional-team-section{background:#090909}
.team-intro{display:grid;grid-template-columns:1fr .9fr;gap:40px;align-items:end;margin-bottom:34px}
.team-intro p{color:#aaa;margin:0 0 18px;line-height:1.75}
.professional-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.professional-card{position:relative;min-height:390px;border-radius:22px;overflow:hidden;background:#111;border:1px solid rgba(216,173,85,.24);transition:transform .28s ease,border-color .28s ease}
.professional-card-feature{grid-row:span 2;min-height:798px}
.professional-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.professional-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.9) 100%)}
.professional-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;color:#fff}
.professional-copy span{display:block;color:#f0cf72;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;margin-bottom:7px}
.professional-copy h3{font-size:clamp(1.45rem,2.2vw,2.05rem);margin:0 0 8px}
.professional-copy p{color:#e1d9cd;margin:0 0 14px;font-size:.9rem;line-height:1.55}
.professional-copy .book-text{color:#f2cc73}
@media(hover:hover) and (pointer:fine){.professional-card:hover{transform:translateY(-5px);border-color:rgba(242,204,115,.58)}.professional-card:hover img{transform:scale(1.035)}}
@media(max-width:1050px){.professional-team-grid{grid-template-columns:repeat(2,1fr)}.professional-card-feature{grid-row:auto;min-height:460px}.team-intro,.about-branches-head{grid-template-columns:1fr}}
@media(max-width:640px){.nav-whatsapp{display:none}.about-section{padding-top:72px;padding-bottom:72px}.about-editorial{margin-bottom:56px}.about-location{padding-top:48px}.combined-branch-grid{grid-template-columns:1fr}.branch-card-dark{padding:26px 22px}.branch-card-dark .branch-actions{align-items:stretch}.professional-team-grid{grid-template-columns:1fr}.professional-card,.professional-card-feature{min-height:410px}.team-intro{grid-template-columns:1fr;gap:18px}.hero-actions{display:grid}.hero-actions .btn{width:100%}}

/* Compact location links inside About */
.compact-location{max-width:920px;margin:0 auto;border-top:1px solid rgba(216,173,85,.24);padding-top:34px}
.compact-location>p{color:#aaa;line-height:1.75;margin:10px 0 20px;max-width:720px}
.location-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.location-link-card{display:grid;gap:4px;padding:22px;border:1px solid rgba(216,173,85,.28);border-radius:18px;background:linear-gradient(145deg,#111,#0b0b0b);color:#fff;transition:transform .25s ease,border-color .25s ease}
.location-link-card strong{font-family:'Playfair Display',serif;font-size:1.55rem;color:#fff}
.location-link-card span{color:#aaa}.location-link-card small{color:#f2cc73;font-weight:800;margin-top:8px}
.location-link-card:hover{transform:translateY(-4px);border-color:rgba(242,204,115,.65)}
@media(max-width:640px){.compact-location{padding-top:26px}.location-link-grid{grid-template-columns:1fr}.location-link-card{padding:20px}}

/* About image + location grouping */
.about-media{display:grid;gap:22px}
.about-media .about-image img{width:100%;height:520px;object-fit:cover;border-radius:28px;border:1px solid rgba(216,173,85,.28);box-shadow:0 26px 80px rgba(0,0,0,.24)}
.about-video-card{position:relative;overflow:hidden;height:520px;border-radius:28px;border:1px solid rgba(216,173,85,.28);box-shadow:0 26px 80px rgba(0,0,0,.24);background:#050505;isolation:isolate}
.about-video-card img{position:absolute;inset:0;z-index:0;width:100%!important;height:100%!important;object-fit:cover;border:0!important;box-shadow:none!important;border-radius:0!important}
.about-video-card iframe{position:absolute;top:50%;left:50%;z-index:1;width:177.78%;height:100%;min-width:100%;min-height:177.78%;border:0;opacity:.88;transform:translate(-50%,-50%) scale(1.02);pointer-events:none}
.about-video-card:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.06) 32%,rgba(0,0,0,.82) 100%);pointer-events:none}
.about-video-caption{position:absolute;left:22px;right:22px;bottom:22px;z-index:3;display:grid;gap:4px;color:#fff}
.about-video-caption span{color:#f2cc73;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.about-video-caption strong{font-family:'Playfair Display',serif;font-size:clamp(1.35rem,2.2vw,1.9rem);line-height:1.05}
.about-media .compact-location{margin:0;max-width:none;padding-top:22px}
.about-media .compact-location>p{font-size:.9rem;margin-bottom:16px}
.about-media .location-link-grid{gap:10px}
.about-media .location-link-card{padding:18px;border-radius:16px}
.about-media .location-link-card strong{font-size:1.25rem}
@media(max-width:900px){.about-media .about-image img{height:min(58vw,520px)}.about-video-card{height:min(58vw,520px)}}
@media(max-width:640px){.about-media{gap:18px}.about-media .about-image img{height:min(82vw,420px)}.about-video-card{height:min(82vw,420px)}.about-video-card iframe{opacity:.78;transform:translate(-50%,-50%) scale(1.04)}.about-video-caption{left:18px;right:18px;bottom:18px}.about-media .compact-location{padding-top:18px}}

/* Editorial footer redesign */
.site-footer-v2{background:#030303;color:#fff;border-top:1px solid rgba(216,173,85,.18);padding:58px 0 24px;position:relative;overflow:hidden}
.site-footer-v2:before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(242,204,115,.5),transparent)}
.footer-v2-inner{position:relative;z-index:1}
.footer-v2-top{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:start;min-height:300px}
.footer-v2-brand h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(4.5rem,9vw,8rem);line-height:.9;margin:22px 0 18px;letter-spacing:0;color:#fff}
.footer-v2-brand p{max-width:430px;color:#888;line-height:1.75;margin:0 0 26px}
.footer-v2-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.footer-whatsapp{display:inline-flex;align-items:center;gap:12px;background:#24d366;color:#05130a;border-radius:999px;padding:14px 22px;font-weight:900;box-shadow:0 18px 40px rgba(36,211,102,.18)}
.footer-whatsapp:after{content:"->";font-weight:900}
.footer-call{font-weight:900;color:#fff;border-bottom:1px solid rgba(242,204,115,.35);padding-bottom:4px}
.footer-v2-logo{justify-self:end;display:grid;place-items:center;width:170px;height:170px;border-radius:50%;border:1px solid rgba(242,204,115,.38);background:#050505;box-shadow:0 0 60px rgba(242,204,115,.08)}
.footer-v2-logo img{width:150px;height:150px;object-fit:cover;border-radius:50%}
.footer-v2-bottom{display:grid;grid-template-columns:1.1fr .9fr .9fr .9fr;gap:34px;padding:34px 0 24px;border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09)}
.footer-v2-bottom>div{display:grid;gap:10px;align-content:start}
.footer-v2-bottom small{color:#6f6f6f;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;margin-bottom:6px}
.footer-v2-bottom a,.footer-v2-bottom strong{color:#fff;font-size:.92rem;font-weight:700;line-height:1.4}
.footer-v2-bottom a:hover{color:#f2cc73}
.footer-v2-legal{display:flex;justify-content:space-between;gap:20px;color:#777;font-size:.82rem;padding-top:20px}
.footer-v2-legal a:hover{color:#f2cc73}
@media(max-width:900px){.footer-v2-top{grid-template-columns:1fr;min-height:auto}.footer-v2-logo{justify-self:start;order:-1;width:110px;height:110px}.footer-v2-logo img{width:94px;height:94px}.footer-v2-bottom{grid-template-columns:1fr 1fr}.footer-v2-brand h2{font-size:clamp(4rem,16vw,6rem)}}
@media(max-width:640px){.site-footer-v2{padding:42px 0 118px}.footer-v2-bottom{grid-template-columns:1fr;gap:24px}.footer-v2-legal{flex-direction:column}.footer-whatsapp{width:100%;justify-content:center}.footer-v2-brand p{max-width:none}}

/* Footer as contact section refinement */
.site-footer-v2{padding-top:78px}
.footer-v2-top{grid-template-columns:minmax(0,1fr) 260px;align-items:center;min-height:360px}
.footer-v2-brand h2{font-size:clamp(4.8rem,9vw,9.2rem);line-height:.92;white-space:nowrap;margin-top:18px;margin-bottom:18px}
.footer-v2-logo{width:240px;height:240px;align-self:center}
.footer-v2-logo img{width:210px;height:210px}
.footer-v2-bottom{margin-top:30px}
.footer-v2-bottom>div:nth-child(2) small{font-size:0;color:transparent}
.footer-v2-bottom>div:nth-child(2) small:after{content:"Fred Saloon";font-size:.68rem;color:#6f6f6f;text-transform:uppercase;letter-spacing:.14em}
.footer-v2-bottom>div:nth-child(2) a:first-of-type:before{content:"Call: ";color:#f2cc73}
.footer-v2-bottom>div:nth-child(2) a:nth-of-type(2):before{content:"WhatsApp: ";color:#f2cc73}
@media(max-width:900px){.footer-v2-top{grid-template-columns:1fr;gap:28px}.footer-v2-logo{justify-self:start;width:150px;height:150px}.footer-v2-logo img{width:128px;height:128px}.footer-v2-brand h2{font-size:clamp(3.4rem,14vw,6.2rem);white-space:normal}}
@media(max-width:430px){.footer-v2-brand h2{font-size:clamp(3.1rem,16vw,4.4rem)}}

/* Reliable top anchor */
.page-top-anchor{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none}

/* Enhanced Beauty Gallery */
.beauty-gallery-section .section-head h2{max-width:760px}
.gallery-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:-10px 0 26px}
.gallery-filter{border:1px solid rgba(216,173,85,.35);background:transparent;color:#fff;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.gallery-filter.active,.gallery-filter:hover{background:#f2cc73;color:#111;border-color:#f2cc73}
.enhanced-gallery .gallery-item button{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;text-align:left}
.enhanced-gallery .gallery-item figcaption{display:grid;gap:3px;right:18px}
.enhanced-gallery .gallery-item figcaption small{color:#f2cc73;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;font-family:'DM Sans',sans-serif;font-weight:900}
.enhanced-gallery .gallery-item figcaption strong{font-size:1.24rem;line-height:1.1}
.enhanced-gallery .gallery-item figcaption span{font-family:'DM Sans',sans-serif;font-size:.82rem;color:#ded6c9}
.gallery-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;padding:26px;border:1px solid rgba(216,173,85,.28);border-radius:22px;background:linear-gradient(145deg,#111,#070707)}
.gallery-cta p{display:grid;gap:4px;margin:0;color:#fff}.gallery-cta span{color:#aaa}.gallery-cta>div{display:flex;gap:10px;flex-wrap:wrap}.gallery-permission{font-size:.8rem;color:#999;margin:16px 0 0}
.gallery-modal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(920px,calc(100% - 30px));max-height:90vh;overflow:auto;background:var(--cream);color:#171717;border-radius:26px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.2fr .8fr}
.gallery-modal-card>img{width:100%;height:100%;min-height:480px;object-fit:cover}.gallery-close{position:absolute;right:16px;top:16px;z-index:2}.gallery-modal-content{padding:42px;align-self:center}.gallery-modal-content h2{font-size:clamp(2.2rem,4vw,3.8rem)}.gallery-modal-content p{color:#70685d;line-height:1.7;margin-bottom:24px}
.modal.open .gallery-modal-card{animation:popModal .28s cubic-bezier(.2,.75,.25,1) both}
@media(max-width:760px){.gallery-cta{align-items:flex-start;flex-direction:column}.gallery-cta>div,.gallery-cta .btn{width:100%}.gallery-modal-card{grid-template-columns:1fr}.gallery-modal-card>img{min-height:250px;height:280px}.gallery-modal-content{padding:26px}.gallery-toolbar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.gallery-filter{flex:0 0 auto}}
@media(prefers-reduced-motion:reduce){.modal.open .gallery-modal-card{animation:none!important}}

/* Featured Looks */
.featured-looks-section{border-top:1px solid #e4d8c6;border-bottom:1px solid #e4d8c6}
.featured-look-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.featured-look-card{background:#fff;border:1px solid #e1d6c5;border-radius:22px;overflow:hidden;box-shadow:0 14px 35px rgba(48,35,15,.07);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.featured-look-card img{width:100%;height:230px;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.featured-look-card>div{padding:22px;display:grid;gap:10px}
.look-badge{width:max-content;background:#151515;color:#f2cc73;border-radius:999px;padding:6px 10px;font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.featured-look-card h3{margin:0;font-size:1.55rem}.featured-look-card p{margin:0;color:#6f675e;line-height:1.6}.featured-look-card strong{color:#8a611a;font-size:.9rem}.featured-look-card .btn{width:max-content;margin-top:4px}
@media(hover:hover) and (pointer:fine){.featured-look-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(48,35,15,.12);border-color:#d8ad55}.featured-look-card:hover img{transform:scale(1.035)}}
@media(max-width:980px){.featured-look-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.featured-look-grid{grid-template-columns:1fr}.featured-look-card img{height:62vw;min-height:220px;max-height:330px}.featured-look-card .btn{width:100%}}

/* Lookbook version of Featured Looks */
.lookbook-section{border-top:1px solid rgba(216,173,85,.2);border-bottom:1px solid rgba(216,173,85,.2)}
.lookbook-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.lookbook-media{position:relative;min-height:620px;border-radius:30px;overflow:hidden;border:1px solid rgba(216,173,85,.32);box-shadow:0 28px 80px rgba(0,0,0,.32)}
.lookbook-media img{width:100%;height:620px;object-fit:cover}
.lookbook-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.86))}
.lookbook-badge{position:absolute;z-index:2;left:26px;right:26px;bottom:24px;display:grid;gap:3px}.lookbook-badge span{color:#f2cc73;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:900}.lookbook-badge strong{font-family:'Playfair Display',Georgia,serif;font-size:2rem;color:#fff}
.lookbook-copy h2{font-size:clamp(3rem,5vw,5.2rem);margin:10px 0 18px}.lookbook-copy>p{color:#aaa;line-height:1.8;max-width:590px}
.lookbook-list{display:grid;margin:30px 0;border-top:1px solid rgba(216,173,85,.22)}
.lookbook-list button{display:grid;grid-template-columns:42px 1fr;column-gap:16px;align-items:center;text-align:left;background:transparent;border:0;border-bottom:1px solid rgba(216,173,85,.22);color:#fff;padding:18px 0;cursor:pointer}
.lookbook-list button span{grid-row:span 2;color:#f2cc73;font-weight:900;font-size:.78rem}.lookbook-list button strong{font-size:1.05rem}.lookbook-list button small{color:#8f8f8f;margin-top:4px}.lookbook-list button:hover strong{color:#f2cc73}
.lookbook-actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:900px){.lookbook-grid{grid-template-columns:1fr;gap:34px}.lookbook-media,.lookbook-media img{min-height:0;height:min(70vw,520px)}}
@media(max-width:560px){.lookbook-media,.lookbook-media img{height:78vw}.lookbook-actions{display:grid}.lookbook-actions .btn{width:100%}.lookbook-copy h2{font-size:clamp(2.7rem,13vw,4rem)}}



/* Featured Looks removed */
#featured-looks{display:none!important}

/* Beauty Packages */
.beauty-packages-section{background:linear-gradient(180deg,#090909,#050505);border-top:1px solid rgba(216,173,85,.18);border-bottom:1px solid rgba(216,173,85,.18)}
.package-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.package-card{background:linear-gradient(145deg,#111,#090909);border:1px solid rgba(216,173,85,.24);border-radius:22px;padding:26px;min-height:390px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.package-card:before{content:"";position:absolute;right:-70px;top:-70px;width:160px;height:160px;border-radius:50%;border:1px solid rgba(242,204,115,.18)}
.featured-package{border-color:rgba(242,204,115,.62);box-shadow:0 24px 70px rgba(216,173,85,.1)}
.package-kicker{color:#f2cc73;text-transform:uppercase;letter-spacing:.14em;font-size:.67rem;font-weight:900}.package-card h3{font-size:1.75rem;margin:18px 0 10px}.package-card p{color:#aaa;line-height:1.65;margin:0 0 18px}.package-card ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.package-card li{color:#eee;border-top:1px solid rgba(255,255,255,.09);padding-top:10px;font-size:.92rem}.package-footer{margin-top:auto;padding-top:24px;display:grid;gap:14px}.package-footer strong{font-size:1rem;color:#fff}.package-footer .btn{width:max-content}.package-note{color:#8d887d;font-size:.82rem;line-height:1.7;margin:18px 0 0;max-width:760px}
@media(hover:hover) and (pointer:fine){.package-card:hover{transform:translateY(-6px);border-color:rgba(242,204,115,.62);box-shadow:0 20px 55px rgba(0,0,0,.28)}}
@media(max-width:1100px){.package-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.package-grid{grid-template-columns:1fr}.package-card{min-height:0}.package-footer .btn{width:100%}}

/* VIP package highlight */
.vip-package{grid-column:span 2;background:linear-gradient(135deg,#16130a,#050505 68%);border-color:rgba(242,204,115,.72);box-shadow:0 28px 80px rgba(216,173,85,.12)}
.vip-package .package-kicker{color:#fff168}.vip-package h3{font-size:2.15rem}.vip-package:after{content:"VIP";position:absolute;right:20px;top:18px;font-family:'Playfair Display',Georgia,serif;font-size:4.5rem;line-height:1;color:rgba(242,204,115,.08);pointer-events:none}
@media(max-width:1100px){.vip-package{grid-column:span 2}}
@media(max-width:640px){.vip-package{grid-column:auto}.vip-package h3{font-size:1.8rem}}

/* Beauty Packages four-card row */
.package-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.vip-package{grid-column:auto}
@media(max-width:1100px){.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vip-package{grid-column:auto}}
@media(max-width:640px){.package-grid{grid-template-columns:1fr}}

/* Special Offers */
.special-offers-section{background:#f8f4ec;border-top:1px solid #e3d7c5;border-bottom:1px solid #e3d7c5}
.offers-banner{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:22px;padding:30px;border:1px solid #dfd3c0;border-radius:26px;background:#fff}
.offers-banner h2{font-size:clamp(2.4rem,4vw,4rem);margin:8px 0 10px}.offers-banner p{max-width:650px;color:#6f675e;margin:0;line-height:1.65}
.offers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.offer-card{position:relative;overflow:hidden;min-height:260px;padding:26px;border-radius:22px;background:#fff;border:1px solid #e0d5c4;display:flex;flex-direction:column;align-items:flex-start;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}.offer-card:after{content:"";position:absolute;right:-42px;top:-42px;width:120px;height:120px;border-radius:50%;background:rgba(216,173,85,.16)}.offer-card span{position:relative;z-index:1;color:#946b1f;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:900}.offer-card h3{position:relative;z-index:1;font-size:1.8rem;margin:20px 0 10px}.offer-card p{position:relative;z-index:1;color:#6f675e;line-height:1.65;margin:0 0 22px}.offer-card .btn{position:relative;z-index:1;margin-top:auto}.offer-dark{background:#090909;border-color:rgba(216,173,85,.4);color:#fff}.offer-dark p{color:#aaa}.offer-dark span{color:#f2cc73}.offers-note{color:#7b7369;font-size:.82rem;margin:16px 0 0}
@media(hover:hover) and (pointer:fine){.offer-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(48,35,15,.12);border-color:#d8ad55}}
@media(max-width:900px){.offers-banner{align-items:flex-start;flex-direction:column}.offers-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.offers-banner{padding:24px}.offers-grid{grid-template-columns:1fr}.offers-banner .btn,.offer-card .btn{width:100%}}

/* Expanded Special Offers */
.expanded-offers-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.expanded-offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.expanded-offers-grid{grid-template-columns:1fr}}

/* Why Choose Fred Saloon */
.why-choose-section{background:#f8f4ec;border-top:1px solid #e3d7c5;border-bottom:1px solid #e3d7c5}
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.why-card{background:#fff;border:1px solid #e0d5c4;border-radius:20px;padding:26px;min-height:230px;display:flex;flex-direction:column;transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}
.why-card span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#111;color:#f2cc73;font-weight:900;margin-bottom:22px}
.why-card h3{font-size:1.45rem;margin:0 0 10px}.why-card p{color:#6f675e;line-height:1.65;margin:0}
@media(hover:hover) and (pointer:fine){.why-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(48,35,15,.1);border-color:#d8ad55}}
@media(max-width:900px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.why-grid{grid-template-columns:1fr}.why-card{min-height:0}}

/* Special Offers four-card row */
.special-offers-section .offers-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.special-offers-section .offer-card{min-height:285px;padding:22px}
.special-offers-section .offer-card h3{font-size:1.55rem}
@media(max-width:1100px){.special-offers-section .offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.special-offers-section .offers-grid{grid-template-columns:1fr}}

/* Booking Steps */
.booking-steps-section{background:#050505;border-top:1px solid rgba(216,173,85,.18);border-bottom:1px solid rgba(216,173,85,.18)}
.booking-steps-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:center}
.booking-steps-copy h2{font-size:clamp(2.8rem,5vw,5rem);margin:10px 0 18px}.booking-steps-copy p{color:#aaa;line-height:1.8;max-width:560px;margin:0 0 26px}
.booking-step-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-step-card{min-height:220px;border:1px solid rgba(216,173,85,.24);border-radius:22px;background:linear-gradient(145deg,#111,#090909);padding:26px;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .26s ease,border-color .26s ease}.booking-step-card span{color:#f2cc73;font-weight:900;letter-spacing:.14em;font-size:.75rem;margin-bottom:auto}.booking-step-card h3{font-size:1.55rem;margin:28px 0 8px}.booking-step-card p{color:#aaa;line-height:1.6;margin:0}
@media(hover:hover) and (pointer:fine){.booking-step-card:hover{transform:translateY(-5px);border-color:rgba(242,204,115,.58)}}
@media(max-width:900px){.booking-steps-grid{grid-template-columns:1fr}.booking-step-cards{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.booking-step-cards{grid-template-columns:1fr}.booking-step-card{min-height:0}.booking-steps-copy .btn{width:100%}}



/* Booking Steps removed */
#booking-steps{display:none!important}

/* Premium booking redesign */
.booking-shell{width:min(1080px,calc(100% - 32px));height:min(92vh,820px);right:50%;top:50%;bottom:auto;transform:translate(50%,-50%);padding:0;background:#f8f4ec;border-radius:30px;overflow:hidden;display:grid;grid-template-columns:360px 1fr;border:1px solid rgba(242,204,115,.32);box-shadow:0 34px 100px rgba(0,0,0,.48)}
.modal.open .booking-shell{animation:popBooking .28s cubic-bezier(.2,.75,.25,1) both}
.booking-aside{position:relative;background:radial-gradient(circle at 20% 10%,rgba(242,204,115,.24),transparent 28%),linear-gradient(160deg,#050505,#111 64%,#060606);color:#fff;padding:32px;display:flex;flex-direction:column;justify-content:space-between;gap:26px;overflow:hidden}
.booking-aside:after{content:"";position:absolute;inset:auto -80px -90px auto;width:230px;height:230px;border:1px solid rgba(242,204,115,.22);border-radius:50%}
.booking-brand-card{position:relative;z-index:1}.booking-logo{width:94px;height:94px;border-radius:50%;object-fit:cover;border:1px solid rgba(242,204,115,.72);box-shadow:0 18px 52px rgba(216,173,85,.18);margin-bottom:26px}.booking-brand-card h2{font-size:clamp(2.25rem,3vw,3.6rem);margin:8px 0 16px}.booking-brand-card p,.booking-trust-list span{color:#bdb8ad;line-height:1.7}.booking-trust-list{position:relative;z-index:1;display:grid;gap:12px}.booking-trust-list div{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:center;padding:14px;border:1px solid rgba(216,173,85,.2);border-radius:16px;background:rgba(255,255,255,.035)}.booking-trust-list strong{color:var(--gold2);font-family:'Playfair Display',serif;font-size:1.2rem}.booking-whatsapp-mini{position:relative;z-index:1;display:inline-flex;justify-content:center;padding:13px 16px;border-radius:999px;background:#21d366;color:#07140b;font-weight:900}.booking-main{padding:34px;overflow-y:auto;color:#151515;background:linear-gradient(180deg,#fffaf0,#f8f4ec)}.booking-title-row{align-items:flex-start;margin-bottom:18px}.booking-title-row h2{font-size:clamp(2rem,3vw,3.4rem);margin-bottom:8px}.booking-title-row p{margin:0;color:#70685d;max-width:560px}.booking-mobile-close{display:none;position:absolute;right:18px;top:18px;z-index:2;background:rgba(255,255,255,.14);color:#fff}.booking-progress-wrap{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-bottom:18px}.booking-progress-wrap .step-label{margin:0;color:#7b6d58;font-weight:800;white-space:nowrap}.booking-stepper{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:28px}.booking-step-pill{border:1px solid #dccfb9;border-radius:999px;padding:9px 8px;text-align:center;font-size:.76rem;font-weight:900;color:#8b7d66;background:#fff}.booking-step-pill.active{background:#111;color:#f2cc73;border-color:#111}.booking-step-pill.done{background:#fff8e6;border-color:#c89537;color:#775315}.booking-step{background:#fff;border:1px solid #e4d8c5;border-radius:24px;padding:26px;box-shadow:0 14px 44px rgba(70,45,9,.07)}.booking-step-count{display:inline-flex;color:#9b6d1e;font-size:.74rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}.booking-step h3{font-size:clamp(1.65rem,2.2vw,2.4rem);margin-bottom:8px}.booking-help{color:#756c60;margin-top:0;margin-bottom:22px}.booking-branch-grid{grid-template-columns:1fr 1fr}.booking-choice-card span{min-height:154px;background:linear-gradient(180deg,#fff,#fbf7ef);border-color:#e2d7c6}.booking-choice-card b{font-family:'Playfair Display',serif;font-size:1.45rem}.booking-choice-card small{margin-top:8px;line-height:1.45}.booking-choice-card em{margin-top:auto;padding-top:16px;color:#9b6d1e;font-style:normal;font-weight:900}.booking-choice-card input:checked+span{border-color:#d8ad55;background:linear-gradient(180deg,#fff9e8,#fff);box-shadow:0 0 0 4px rgba(216,173,85,.13)}.booking-field-large{display:block;font-weight:900}.booking-field-large select,.booking-form-grid input,.booking-form-grid select,.booking-form-grid textarea{min-height:52px;border-radius:16px;border:1px solid #d5cab8;background:#fff;padding:14px 15px}.booking-field-large select{width:100%;margin-top:9px}.booking-form-grid{gap:18px}.premium-note{background:#f3eadb;border:1px solid #e1d2bb;color:#706658}.booking-summary-card{background:#111;color:#fff;border-color:rgba(216,173,85,.34)}.booking-summary-card .summary-row{border-bottom-color:rgba(255,255,255,.1)}.booking-summary-card .summary-row span:first-child{color:#bdb8ad}.booking-summary-card .summary-row strong,.booking-summary-card .summary-row span:last-child{color:#f2cc73}.premium-policy{padding:14px;border:1px solid #e0d3be;border-radius:16px;background:#fffaf0}.premium-booking-actions{position:sticky;bottom:-34px;background:linear-gradient(transparent,#f8f4ec 22%);padding:30px 0 6px;margin-top:8px}.premium-booking-actions .btn{min-height:50px;min-width:138px}.booking-loading{background:#fff;border:1px solid #e0d3be;border-radius:16px;padding:14px 16px}.success-box{border:1px solid rgba(33,126,49,.22)}
@keyframes popBooking{from{opacity:0;transform:translate(50%,-48%) scale(.98)}to{opacity:1;transform:translate(50%,-50%) scale(1)}}
@media(max-width:900px){.booking-shell{grid-template-columns:1fr;height:calc(100dvh - 18px);width:calc(100% - 18px);border-radius:24px}.booking-aside{padding:24px;min-height:245px}.booking-desktop-close{display:none}.booking-mobile-close{display:grid;place-items:center}.booking-logo{width:72px;height:72px;margin-bottom:12px}.booking-brand-card h2{font-size:2.2rem}.booking-brand-card p{max-width:620px}.booking-trust-list{grid-template-columns:1fr 1fr 1fr}.booking-trust-list div{grid-template-columns:1fr;padding:12px}.booking-main{padding:24px}.booking-stepper{overflow-x:auto;grid-template-columns:repeat(5,minmax(104px,1fr));padding-bottom:4px}.booking-progress-wrap{grid-template-columns:1fr}.booking-progress-wrap .step-label{white-space:normal}.premium-booking-actions{bottom:-24px}}
@media(max-width:640px){.booking-shell{width:100%;height:100dvh;border-radius:0}.booking-aside{min-height:auto;padding:22px 18px}.booking-brand-card h2{font-size:1.9rem}.booking-brand-card p{font-size:.92rem}.booking-trust-list{display:none}.booking-whatsapp-mini{width:100%}.booking-main{padding:22px 16px calc(100px + env(safe-area-inset-bottom))}.booking-title-row h2{font-size:2rem}.booking-branch-grid,.choice-grid,.two-col{grid-template-columns:1fr}.booking-step{padding:20px;border-radius:20px}.booking-choice-card span{min-height:0}.premium-booking-actions{bottom:calc(-1 * env(safe-area-inset-bottom));padding:26px 0 max(8px,env(safe-area-inset-bottom));gap:8px}.premium-booking-actions .btn{flex:1;min-width:0;padding-left:12px;padding-right:12px}.booking-stepper{margin-bottom:20px}.booking-step-pill{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.modal.open .booking-shell{animation:none!important}}


/* Subtle slow hero background video - layout unchanged */
.hero-with-bg-video{position:relative;overflow:hidden;isolation:isolate;background:#050505}.hero-with-bg-video:before{display:none}.hero-with-bg-video:after{content:"";position:absolute;inset:auto 0 0;height:130px;z-index:-1;background:linear-gradient(transparent,#090909)}.hero-bg-video-layer{position:absolute;inset:0;z-index:-2;background:#050505;pointer-events:none;overflow:hidden}.hero-bg-video-layer iframe{position:absolute;top:50%;left:50%;width:177.78vh;min-width:100%;height:56.25vw;min-height:100%;transform:translate(-50%,-50%) scale(1.08);opacity:.28;filter:saturate(.78) contrast(1.05) blur(.2px);animation:heroVideoDrift 28s ease-in-out infinite alternate}.hero-with-bg-video .container{position:relative;z-index:1}.hero-with-bg-video .hero-photo{background:rgba(0,0,0,.2);backdrop-filter:blur(2px)}@keyframes heroVideoDrift{from{transform:translate(-51%,-50%) scale(1.08)}to{transform:translate(-49%,-50%) scale(1.13)}}@media(max-width:900px){.hero-bg-video-layer iframe{opacity:.22;width:220vh;height:70vw}.hero-with-bg-video:before{display:none}}@media(prefers-reduced-motion:reduce){.hero-bg-video-layer iframe{animation:none}}



/* Hero video replay and above-fold fit refinement */
.hero-with-bg-video{min-height:calc(100svh - 78px);padding:clamp(34px,5.2vh,64px) 0 clamp(24px,4.6vh,46px)}.hero-with-bg-video .hero-grid{min-height:min(560px,calc(100svh - 150px));align-items:center}.hero-with-bg-video .hero-photo{min-height:min(440px,52svh)}.hero-with-bg-video .hero-photo>img{height:min(440px,52svh)}.hero-with-bg-video h1{font-size:clamp(3rem,6.2vw,5.9rem)}.hero-with-bg-video .hero-actions{margin:22px 0}.hero-with-bg-video .hero-meta{margin-top:24px}.hero-bg-video-layer iframe{opacity:.34}@media(max-width:900px){.hero-with-bg-video{padding:42px 0 46px}.hero-with-bg-video .hero-grid{min-height:auto}.hero-with-bg-video .hero-photo,.hero-with-bg-video .hero-photo>img{height:360px;min-height:360px}.hero-with-bg-video h1{font-size:clamp(2.8rem,10vw,4.8rem)}}@media(max-width:640px){.hero-with-bg-video{padding:34px 0 42px}.hero-with-bg-video .hero-photo,.hero-with-bg-video .hero-photo>img{height:clamp(260px,62vw,340px);min-height:0}.hero-with-bg-video .hero-meta{margin-top:20px}}

/* Lift trust strip closer to hero */
.trust-strip{position:relative;z-index:3;margin-top:-34px;background:rgba(10,10,10,.92);backdrop-filter:blur(10px)}.trust-grid{padding:14px 0}@media(max-width:640px){.trust-strip{margin-top:-18px}.trust-grid{padding:12px 0}}

/* Phase 3 review submission */
.review-submit-card{margin-top:34px;display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;align-items:start;background:#111;color:#fff;border:1px solid rgba(216,173,85,.28);border-radius:28px;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.16)}.review-submit-card h3{font-size:clamp(1.8rem,3vw,2.8rem);margin:8px 0 12px}.review-submit-card p{color:#bdb8ad}.review-form{display:grid;gap:16px}.review-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-form label{display:grid;gap:7px;font-weight:800;font-size:.84rem}.review-form input,.review-form select,.review-form textarea{width:100%;border:1px solid rgba(216,173,85,.24);border-radius:14px;background:#070707;color:#fff;padding:13px 14px}.review-form textarea{resize:vertical}.review-form input:focus,.review-form select:focus,.review-form textarea:focus{border-color:#f2cc73;box-shadow:0 0 0 4px rgba(242,204,115,.12);outline:0}.review-form-status{min-height:22px;margin:0;color:#f2cc73}.review-form-status.error{color:#ffb4a8}@media(max-width:820px){.review-submit-card{grid-template-columns:1fr}.review-form-grid{grid-template-columns:1fr}}@media(max-width:640px){.review-submit-card{padding:24px 18px;border-radius:22px}}

/* Contact + review footer redesign */
.contact-review-footer{padding-top:82px}.contact-review-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,520px);gap:clamp(34px,6vw,82px);align-items:center;min-height:520px}.contact-review-copy h2{font-size:clamp(4.2rem,8vw,8.4rem);line-height:.92;white-space:normal;margin:22px 0 18px}.contact-review-copy p{max-width:560px;color:#a8a197;font-size:1.02rem}.footer-review-card{margin-top:0;grid-template-columns:1fr;gap:24px;padding:34px;border-radius:30px;background:linear-gradient(145deg,rgba(20,20,20,.98),rgba(8,8,8,.98));box-shadow:0 24px 80px rgba(0,0,0,.28);max-width:100%;width:100%}.footer-review-card .eyebrow.dark{color:#d8ad55}.review-card-heading h3{font-size:clamp(2rem,3vw,3.3rem);line-height:1.02;margin:10px 0 12px}.footer-review-card .review-card-heading p{max-width:420px;color:#bdb6aa;margin:0}.footer-review-card .review-form-grid{grid-template-columns:1fr 1fr;gap:16px}.footer-review-card .review-form input,.footer-review-card .review-form select,.footer-review-card .review-form textarea{min-height:54px;border-radius:16px;background:#060606;border-color:rgba(216,173,85,.32);color:#fff}.footer-review-card .review-form textarea{min-height:132px}.review-submit-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.review-submit-row .btn{min-width:160px}.review-submit-row .review-form-status{flex:1;min-width:220px}.contact-review-footer .footer-v2-bottom{margin-top:54px}.contact-review-footer .footer-v2-bottom>div:nth-child(2) a:first-of-type:before{content:"Call: ";color:#f2cc73}.contact-review-footer .footer-v2-bottom>div:nth-child(2) a:nth-of-type(2):before{content:"WhatsApp: ";color:#f2cc73}@media(max-width:1024px){.contact-review-hero{grid-template-columns:1fr;min-height:auto}.footer-review-card{max-width:760px}.contact-review-copy h2{font-size:clamp(4rem,13vw,7rem)}}@media(max-width:640px){.contact-review-footer{padding-top:54px}.contact-review-hero{gap:34px}.contact-review-copy h2{font-size:clamp(3.2rem,18vw,5.2rem)}.footer-review-card{padding:24px 18px;border-radius:24px}.footer-review-card .review-form-grid{grid-template-columns:1fr}.review-submit-row{display:grid}.review-submit-row .btn,.review-submit-row .review-form-status{width:100%;min-width:0}.contact-review-footer .footer-v2-bottom{margin-top:38px}}

/* Keep footer Fred Saloon heading on one clean line */
.contact-review-copy h2{white-space:nowrap;font-size:clamp(3.6rem,7vw,7.4rem);letter-spacing:-.04em;max-width:100%;line-height:.95}@media(max-width:720px){.contact-review-copy h2{font-size:clamp(3rem,13vw,5.2rem)}}@media(max-width:430px){.contact-review-copy h2{font-size:clamp(2.45rem,12.5vw,3.35rem);letter-spacing:-.055em}}

/* English / Swahili Google Translate switcher */
.language-switcher{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.05)}
.lang-btn{border:0;border-radius:999px;padding:8px 10px;background:transparent;color:#ddd;font-weight:800;font-size:.78rem;cursor:pointer;line-height:1}
.lang-btn.active{background:linear-gradient(135deg,var(--gold2),#b98220);color:#111}
#google_translate_element{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.goog-te-banner-frame.skiptranslate,.goog-te-gadget-icon{display:none!important}
body{top:0!important}
body>.skiptranslate{display:none!important}
.goog-te-gadget{font-size:0!important}
.goog-tooltip,.goog-tooltip:hover{display:none!important}
.goog-text-highlight{background:transparent!important;box-shadow:none!important}
@media(max-width:900px){.language-switcher{width:100%;justify-content:center;margin:6px 0}.lang-btn{flex:1;padding:11px 12px}.nav-book{width:100%}}

.booking-confirmation-card{display:grid;gap:12px}.booking-confirmation-card>strong{font-family:'Playfair Display',serif;font-size:1.8rem;line-height:1.05;color:#102816}.booking-confirmation-card p{margin:0;color:#38513d}.confirmation-ref{display:inline-flex;width:max-content;max-width:100%;padding:10px 14px;border-radius:999px;background:#102816;color:#f2cc73;font-weight:900;letter-spacing:.08em}.confirmation-details{display:grid;gap:0;background:#fff;border:1px solid rgba(16,40,22,.12);border-radius:14px;padding:8px 14px}.confirmation-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.payment-state{display:grid;gap:4px;border-radius:14px;padding:12px 14px;border:1px solid rgba(16,40,22,.12);background:#fff;color:#172015}.payment-state strong{font-weight:900}.payment-state span{font-size:.92rem;color:#526056}.payment-state-pending{border-color:rgba(201,145,36,.3);background:#fff8e8}.payment-state-success{border-color:rgba(31,138,85,.28);background:#ecfff5}.payment-state-failed{border-color:rgba(180,58,58,.28);background:#fff0f0}.payment-state-failed strong{color:#9f2f2f}.payment-state-success strong{color:#176a42}
.booking-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:440px;overflow:auto;padding-right:4px}.booking-service-card span{min-height:230px;gap:8px;background:linear-gradient(180deg,#fff,#fbf7ef);border-color:#e2d7c6}.booking-service-card img{width:100%;height:112px;object-fit:cover;border-radius:14px;margin-bottom:4px}.booking-service-card b{font-family:'Playfair Display',serif;font-size:1.22rem;line-height:1.05}.booking-service-card small{color:#6f675c;font-weight:800}.booking-service-card em{margin-top:auto;color:#9b6d1e;font-style:normal;font-weight:900}.booking-service-card input:checked+span{border-color:#d8ad55;background:linear-gradient(180deg,#fff9e8,#fff);box-shadow:0 0 0 4px rgba(216,173,85,.13)}
.booking-image-dropdown{margin-top:16px;padding:14px;border:1px solid rgba(216,173,85,.34);border-radius:18px;background:linear-gradient(180deg,#fffaf0,#fff);box-shadow:0 12px 34px rgba(70,45,9,.07)}.booking-image-dropdown label{display:block;margin:0 0 8px;color:#6f4d13;font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.booking-select-shell{position:relative}.booking-select-shell:after{content:'⌄';position:absolute;right:16px;top:50%;transform:translateY(-54%);color:#9b6d1e;font-size:1.35rem;font-weight:900;pointer-events:none}.booking-select-shell select{width:100%;min-height:54px;appearance:none;border:1px solid #d7c7ab;border-radius:15px;background:#fff;color:#151515;font-weight:900;padding:0 48px 0 16px}.booking-select-shell select:focus{border-color:#b9862f;box-shadow:0 0 0 4px rgba(185,134,47,.14);outline:0}
.booking-stepper{grid-template-columns:repeat(6,1fr)}.booking-staff-block{margin-top:18px}.booking-mini-title{display:block;margin:0 0 10px;color:#6f4d13;font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.booking-staff-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:260px;overflow:auto}.booking-staff-card span{min-height:170px;gap:7px;background:#fff;border-color:#e2d7c6}.booking-staff-card img{width:68px;height:68px;border-radius:50%;object-fit:cover;border:1px solid rgba(216,173,85,.45);margin-bottom:4px}.booking-staff-card b{font-weight:900}.booking-staff-card small{color:#6f675c}.booking-staff-card em{margin-top:auto;color:#9b6d1e;font-style:normal;font-weight:900}.any-staff-card span{justify-content:center;background:#fff8e8}.booking-calendar-card,.booking-payment-review{border:1px solid rgba(216,173,85,.28);border-radius:20px;background:#fffaf0;padding:16px}.booking-calendar-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.booking-calendar-head strong{font-family:'Playfair Display',serif;font-size:1.35rem}.booking-calendar-head span{font-size:.82rem;color:#756c60}.booking-date-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.booking-date-chip,.booking-time-chip{border:1px solid #d8c9ad;background:#fff;border-radius:14px;color:#151515;cursor:pointer;font-weight:900}.booking-date-chip{min-height:82px;display:grid;place-items:center;padding:8px}.booking-date-chip span,.booking-date-chip em{font-size:.72rem;color:#7b6d58;font-style:normal}.booking-date-chip strong{font-size:1.35rem}.booking-date-chip.active,.booking-time-chip.active{border-color:#111;background:#111;color:#f2cc73}.booking-date-chip.active span,.booking-date-chip.active em{color:#f2cc73}.booking-time-groups{display:grid;gap:12px;margin-top:16px}.booking-time-group>strong{display:block;margin-bottom:8px;color:#6f4d13}.booking-time-list{display:flex;flex-wrap:wrap;gap:8px}.booking-time-chip{min-height:44px;padding:0 14px}.booking-payment-review{display:grid;gap:0;margin-bottom:16px;background:#111;color:#fff}.booking-payment-review .summary-row{border-bottom-color:rgba(255,255,255,.12)}.booking-payment-review .summary-row span{color:#bdb8ad}.booking-payment-review .summary-row strong{color:#f2cc73}

/* Clean public mobile menu */
.nav-toggle{width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,rgba(216,173,85,.18),rgba(216,173,85,.05));color:var(--gold2);place-items:center;padding:0}
.nav-toggle:before{content:'☰';font-size:1.45rem;font-weight:900;line-height:1}
.nav-toggle[aria-expanded="true"]:before{content:'×';font-size:1.8rem}
@media(max-width:900px){.nav-wrap{position:relative}.nav-toggle{display:grid;flex:none}.nav{top:calc(100% + 10px);left:20px;right:20px;border:1px solid var(--line);border-radius:18px;background:rgba(7,7,7,.98);box-shadow:0 24px 70px rgba(0,0,0,.36);padding:12px}.nav.open{display:grid;grid-template-columns:1fr}.nav a{min-height:46px;display:flex;align-items:center;border-radius:12px;padding:10px 12px}.nav a:hover,.nav a.active{background:rgba(216,173,85,.12)}.nav .language-switcher{margin:4px 0;width:100%}.nav .nav-book{width:100%;min-height:48px}.site-header{z-index:1600}}
@media(max-width:430px){.nav{left:14px;right:14px}.brand span{font-size:1rem}.brand-logo{width:42px;height:42px}.nav-wrap{height:68px}.nav-toggle{width:42px;height:42px}}
@media(max-width:900px){.site-header{background:#070707;border-bottom:1px solid var(--line)}.nav-wrap{height:58px;width:100%;padding:0 10px}.brand{gap:9px}.brand-logo{width:38px;height:38px}.brand span{font-family:'DM Sans',sans-serif;font-size:.86rem;font-weight:900;color:var(--gold2);text-transform:uppercase;line-height:1}.nav-toggle{width:42px;height:42px;border-color:rgba(216,173,85,.46);border-radius:10px;background:linear-gradient(145deg,rgba(216,173,85,.28),rgba(216,173,85,.08));box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}}

/* Mobile booking fit fixes */
@media(max-width:640px){
  body.modal-open .mobile-actions{display:none}
  .mobile-actions{
    grid-template-columns:1fr 1fr;
    align-items:center;
    bottom:max(10px,env(safe-area-inset-bottom));
    border-radius:20px;
    padding:7px;
  }
  .mobile-actions .btn,.mobile-whatsapp{
    width:100%;
    min-width:0;
    min-height:44px;
    padding:11px 10px;
    font-size:.86rem;
    line-height:1.1;
    white-space:nowrap;
  }
  .booking-shell{
    display:flex;
    flex-direction:column;
    max-width:100vw;
    height:100dvh;
    overflow:hidden;
  }
  .booking-aside{
    flex:0 0 auto;
    min-height:0;
    padding:14px 54px 14px 14px;
    gap:0;
  }
  .booking-aside:after{
    width:150px;
    height:150px;
    right:-58px;
    bottom:-72px;
  }
  .booking-logo{
    width:54px;
    height:54px;
    margin-bottom:9px;
  }
  .booking-brand-card .eyebrow{
    font-size:.68rem;
    letter-spacing:.14em;
  }
  .booking-brand-card h2,.booking-brand-card h3{
    font-size:1.34rem;
    line-height:1.08;
    margin:5px 0 8px;
  }
  .booking-brand-card p{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin:0;
    font-size:.84rem;
    line-height:1.45;
  }
  .booking-whatsapp-mini{display:none}
  .booking-mobile-close{
    right:14px;
    top:18px;
    width:42px;
    height:42px;
  }
  .booking-main{
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    padding-top:18px;
  }
  .booking-title-row{gap:12px}
  .booking-title-row h2{
    font-size:1.72rem;
    line-height:1.08;
  }
  .booking-title-row p{
    font-size:.92rem;
    line-height:1.45;
  }
  .booking-progress-wrap{
    gap:10px;
    margin-bottom:12px;
  }
  .booking-progress-wrap .step-label{
    font-size:.78rem;
  }
  .booking-stepper{
    display:flex;
    gap:7px;
    overflow-x:auto;
    padding-bottom:6px;
    scrollbar-width:none;
  }
  .booking-stepper::-webkit-scrollbar{display:none}
  .booking-step-pill{
    flex:0 0 auto;
    max-width:118px;
    padding:8px 10px;
    white-space:nowrap;
  }
  .booking-field-large select,.booking-form-grid input,.booking-form-grid select,.booking-form-grid textarea{
    max-width:100%;
  }
  .booking-step h3{
    font-size:1.45rem;
  }
  .booking-help{
    font-size:.9rem;
    line-height:1.45;
    margin-bottom:16px;
  }
  .booking-choice-card b{font-size:1.18rem}
  .summary-row{
    display:grid;
    grid-template-columns:1fr;
    gap:2px;
  }
  .premium-booking-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:stretch;
    margin-left:-16px;
    margin-right:-16px;
    padding:22px 16px max(10px,env(safe-area-inset-bottom));
    background:linear-gradient(transparent,#f8f4ec 24%);
  }
  .premium-booking-actions .btn{
    width:100%;
    min-width:0;
    min-height:48px;
    padding:12px 10px;
    font-size:.9rem;
    white-space:nowrap;
  }
  .premium-booking-actions #submitBtn:not(.hidden){
    grid-column:1/-1;
  }
}

@media(max-width:380px){
  .booking-main{padding-left:12px;padding-right:12px}
  .booking-step{padding:16px}
  .premium-booking-actions{
    grid-template-columns:1fr;
    margin-left:-12px;
    margin-right:-12px;
    padding-left:12px;
    padding-right:12px;
  }
  .mobile-actions{
    left:8px;
    right:8px;
    grid-template-columns:1fr;
    border-radius:18px;
  }
  .footer-wrap{padding-bottom:150px}
}

/* Stronger small-screen booking typography */
@media(max-width:520px){
  #bookingModal,.booking-shell,.booking-shell *{
    overflow-wrap:anywhere;
  }
  .booking-aside{
    display:block;
    max-height:132px;
    padding:12px 52px 12px 12px;
  }
  .booking-brand-card{
    display:grid;
    grid-template-columns:46px 1fr;
    column-gap:11px;
    align-items:center;
  }
  .booking-logo{
    grid-row:1/4;
    width:46px;
    height:46px;
    margin:0;
  }
  .booking-brand-card .eyebrow{
    font-size:.6rem;
    letter-spacing:.12em;
  }
  .booking-brand-card h2,.booking-brand-card h3{
    display:-webkit-box;
    -webkit-line-clamp:1;
    -webkit-box-orient:vertical;
    overflow:hidden;
    font-size:1.08rem;
    line-height:1.1;
    margin:2px 0 3px;
  }
  .booking-brand-card p{
    -webkit-line-clamp:1;
    font-size:.76rem;
    line-height:1.25;
  }
  .booking-mobile-close{
    top:12px;
    right:10px;
    width:38px;
    height:38px;
    font-size:1.35rem;
  }
  .booking-main{
    padding:14px 12px calc(84px + env(safe-area-inset-bottom));
  }
  .booking-title-row{
    margin-bottom:12px;
  }
  .booking-title-row .eyebrow{
    font-size:.64rem;
    letter-spacing:.13em;
  }
  .booking-title-row h2{
    font-size:1.48rem;
    line-height:1.05;
    margin:4px 0 5px;
  }
  .booking-title-row p{
    font-size:.82rem;
    line-height:1.35;
  }
  .booking-progress-wrap{
    margin-bottom:10px;
  }
  .booking-stepper{
    margin-bottom:12px;
  }
  .booking-step-pill{
    max-width:none;
    padding:7px 9px;
    font-size:.68rem;
    line-height:1;
  }
  .booking-step{
    padding:14px;
    border-radius:16px;
  }
  .booking-step-count{
    font-size:.62rem;
    letter-spacing:.12em;
    margin-bottom:6px;
  }
  .booking-step h3{
    font-size:1.22rem;
    line-height:1.08;
    margin-bottom:6px;
  }
  .booking-help{
    font-size:.8rem;
    line-height:1.35;
    margin-bottom:12px;
  }
  .choice span{
    padding:14px;
    border-radius:14px;
  }
  .booking-choice-card b{
    font-size:1rem;
    line-height:1.12;
  }
  .booking-choice-card small,.booking-choice-card em{
    font-size:.78rem;
    line-height:1.3;
  }
  .booking-choice-card em{
    padding-top:10px;
  }
  .booking-field-large,.form-grid label{
    font-size:.78rem;
  }
  .booking-field-large select,.booking-form-grid input,.booking-form-grid select,.booking-form-grid textarea{
    min-height:46px;
    padding:11px 12px;
    border-radius:13px;
    font-size:.9rem;
  }
  .premium-note,.muted,.policy-check{
    font-size:.76rem;
    line-height:1.35;
  }
  .premium-booking-actions{
    padding-top:18px;
  }
  .premium-booking-actions .btn{
    min-height:44px;
    font-size:.82rem;
  }
}

@media(max-width:340px){
  .booking-brand-card p{display:none}
  .booking-aside{max-height:94px}
  .booking-title-row p{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .booking-step-pill{font-size:.64rem}
}

/* Booking action buttons: prevent mobile overflow */
@media(max-width:640px){
  #bookingModal .premium-booking-actions{
    position:sticky;
    left:0;
    right:0;
    bottom:0;
    display:flex;
    flex-wrap:wrap;
    justify-content:stretch;
    gap:8px;
    width:auto;
    margin:10px -12px 0;
    padding:18px 12px max(12px,env(safe-area-inset-bottom));
    border-top:1px solid rgba(216,173,85,.18);
    background:#f8f4ec;
  }
  #bookingModal .premium-booking-actions .btn{
    flex:1 1 0;
    width:auto;
    min-width:0;
    max-width:100%;
    min-height:46px;
    padding:11px 10px;
    font-size:.86rem;
    line-height:1;
    text-align:center;
    white-space:normal;
  }
  #bookingModal #nextBtn{
    flex-basis:52%;
  }
  #bookingModal #submitBtn:not(.hidden){
    flex:1 1 100%;
  }
}

@media(max-width:420px){
  #bookingModal .premium-booking-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  #bookingModal .premium-booking-actions .btn{
    width:100%;
  }
}

/* Tablet and compact laptop booking modal refinement */
@media(min-width:901px) and (max-width:1500px){
  #bookingModal .booking-shell{
    width:min(820px,calc(100vw - 48px));
    height:min(96vh,590px);
    grid-template-columns:270px minmax(0,1fr);
    border-radius:26px;
  }
  #bookingModal .booking-aside{
    justify-content:flex-start;
    padding:28px 25px 24px;
    gap:16px;
    overflow:hidden;
    scrollbar-width:thin;
  }
  #bookingModal .booking-aside:after{display:none}
  #bookingModal .booking-logo{
    width:64px;
    height:64px;
    margin-bottom:18px;
  }
  #bookingModal .booking-brand-card h2,
  #bookingModal .booking-brand-card h3{
    font-size:1.28rem;
    line-height:1.02;
    margin-bottom:14px;
  }
  #bookingModal .booking-brand-card p{
    font-size:.82rem;
    line-height:1.52;
  }
  #bookingModal .booking-trust-list{
    gap:10px;
  }
  #bookingModal .booking-trust-list div{
    grid-template-columns:34px 1fr;
    min-height:64px;
    padding:10px 12px;
    border-radius:12px;
  }
  #bookingModal .booking-trust-list strong{
    font-size:.94rem;
  }
  #bookingModal .booking-trust-list span{
    font-size:.8rem;
    line-height:1.35;
  }
  #bookingModal .booking-whatsapp-mini{
    margin-top:auto;
    min-height:38px;
    padding:10px 12px;
    font-size:.78rem;
  }
  #bookingModal .booking-main{
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:28px 28px 0;
    overflow:hidden;
  }
  #bookingModal .booking-title-row{
    display:flex;
    flex:0 0 auto;
    margin-bottom:16px;
  }
  #bookingModal .booking-title-row h2{font-size:2.85rem;margin:6px 0 8px}
  #bookingModal .booking-title-row p{font-size:.82rem;line-height:1.45;max-width:430px}
  #bookingModal .booking-progress-wrap{
    flex:0 0 auto;
    margin-bottom:14px;
  }
  #bookingModal .booking-stepper{
    flex:0 0 auto;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin-bottom:22px;
  }
  #bookingModal .booking-step-pill{
    min-width:0;
    padding:10px 8px;
    font-size:.72rem;
    line-height:1;
    white-space:nowrap;
  }
  #bookingModal #bookingForm{
    display:flex;
    flex:1 1 auto;
    min-height:0;
    flex-direction:column;
  }
  #bookingModal .booking-step.active{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
  }
  #bookingModal .booking-step{
    padding:24px 20px 20px;
    border-radius:18px;
  }
  #bookingModal .booking-step h3{
    font-size:2rem;
  }
  #bookingModal .booking-step-count{font-size:.62rem;margin-bottom:8px}
  #bookingModal .booking-help{font-size:.78rem;line-height:1.4;margin-bottom:18px}
  #bookingModal .booking-help{
    max-width:620px;
  }
  #bookingModal .booking-branch-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
  #bookingModal .booking-choice-card span{
    min-height:116px;
    padding:18px 16px;
  }
  #bookingModal .booking-choice-card b{font-size:1.18rem}
  #bookingModal .booking-choice-card small,
  #bookingModal .booking-choice-card em{font-size:.76rem;line-height:1.35}
  #bookingModal .booking-choice-card em{padding-top:12px}
  #bookingModal .premium-booking-actions{
    flex:0 0 auto;
    position:static;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:12px;
    margin:0 -28px;
    padding:18px 28px 30px;
    border-top:0;
    background:#f8f4ec;
  }
  #bookingModal .premium-booking-actions .btn{
    min-width:112px;
    min-height:42px;
    padding:10px 18px;
    font-size:.82rem;
  }
  #bookingModal #nextBtn,
  #bookingModal #submitBtn{
    min-width:104px;
  }
}

@media(min-width:901px) and (max-width:1080px){
  #bookingModal .booking-shell{
    width:calc(100vw - 28px);
    grid-template-columns:260px minmax(0,1fr);
  }
  #bookingModal .booking-aside{
    padding:20px 18px;
  }
  #bookingModal .booking-logo{
    width:56px;
    height:56px;
    margin-bottom:10px;
  }
  #bookingModal .booking-brand-card h2,
  #bookingModal .booking-brand-card h3{
    font-size:1.32rem;
  }
  #bookingModal .booking-brand-card p{
    font-size:.84rem;
    line-height:1.45;
  }
  #bookingModal .booking-trust-list div{
    grid-template-columns:1fr;
    gap:5px;
    padding:8px 10px;
  }
  #bookingModal .booking-trust-list span{
    font-size:.76rem;
  }
  #bookingModal .booking-main{
    padding-left:24px;
    padding-right:24px;
  }
  #bookingModal .booking-step{
    padding:24px;
  }
  #bookingModal .premium-booking-actions{
    margin-left:-24px;
    margin-right:-24px;
    padding-left:36px;
    padding-right:36px;
  }
}

@media(min-width:901px) and (max-width:1500px) and (max-height:720px){
  #bookingModal .booking-shell{
    height:calc(100vh - 16px);
  }
  #bookingModal .booking-aside{
    padding:16px 18px;
    gap:9px;
  }
  #bookingModal .booking-logo{
    width:52px;
    height:52px;
    margin-bottom:8px;
  }
  #bookingModal .booking-brand-card h2,
  #bookingModal .booking-brand-card h3{
    font-size:1.18rem;
    margin-bottom:7px;
  }
  #bookingModal .booking-brand-card p{
    font-size:.76rem;
    line-height:1.32;
  }
  #bookingModal .booking-trust-list{
    gap:7px;
  }
  #bookingModal .booking-trust-list div{
    padding:8px 9px;
  }
  #bookingModal .booking-trust-list span{
    font-size:.74rem;
    line-height:1.25;
  }
  #bookingModal .booking-whatsapp-mini{
    display:inline-flex;
    min-height:34px;
    padding:8px 10px;
    font-size:.72rem;
  }
}

/* Final mobile quick action polish */
@media(max-width:640px){
  body:not(.modal-open){
    padding-bottom:calc(74px + env(safe-area-inset-bottom));
  }
  .mobile-actions{
    left:12px;
    right:12px;
    bottom:max(8px,env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    z-index:1400;
    max-width:420px;
    margin:0 auto;
    padding:6px;
    border-radius:18px;
    background:rgba(8,8,8,.9);
    border:1px solid rgba(216,173,85,.32);
    box-shadow:0 14px 36px rgba(0,0,0,.34);
  }
  .mobile-actions .btn,.mobile-actions .mobile-whatsapp{
    min-height:42px;
    width:100%;
    min-width:0;
    padding:9px 10px;
    border-radius:13px;
    font-size:.82rem;
    line-height:1;
    white-space:nowrap;
  }
  .mobile-actions .mobile-whatsapp{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:#128c46;
    border:1px solid rgba(255,255,255,.12);
    font-weight:800;
  }
  body.modal-open .mobile-actions{
    display:none!important;
  }
}

@media(max-width:360px){
  body:not(.modal-open){
    padding-bottom:calc(112px + env(safe-area-inset-bottom));
  }
  .mobile-actions{
    grid-template-columns:1fr;
    left:10px;
    right:10px;
    max-width:none;
  }
}

/* Right-side mobile quick action icons */
@media(max-width:640px){
  body:not(.modal-open){
    padding-bottom:0;
  }
  .mobile-actions{
    left:auto;
    right:12px;
    bottom:max(18px,env(safe-area-inset-bottom));
    display:flex;
    flex-direction:column;
    gap:10px;
    width:auto;
    max-width:none;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }
  .mobile-actions .btn,.mobile-actions .mobile-whatsapp{
    width:52px;
    height:52px;
    min-width:52px;
    min-height:52px;
    padding:0;
    border-radius:50%;
    font-size:.7rem;
    line-height:1;
    box-shadow:0 12px 28px rgba(0,0,0,.3);
  }
  .mobile-actions .mobile-whatsapp{
    background:#18b45b;
    color:#fff;
    border:1px solid rgba(255,255,255,.16);
  }
  .mobile-actions .btn-gold{
    color:#111;
    border:1px solid rgba(255,255,255,.18);
  }
}

@media(max-width:360px){
  body:not(.modal-open){
    padding-bottom:0;
  }
  .mobile-actions{
    right:10px;
    bottom:max(14px,env(safe-area-inset-bottom));
  }
  .mobile-actions .btn,.mobile-actions .mobile-whatsapp{
    width:48px;
    height:48px;
    min-width:48px;
    min-height:48px;
    font-size:.66rem;
  }
}

/* Show quick action icons on all device sizes */
.mobile-actions{
  position:fixed;
  left:auto;
  right:18px;
  bottom:22px;
  z-index:1400;
  display:flex;
  flex-direction:column;
  gap:12px;
  width:auto;
  max-width:none;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}
.mobile-actions .btn,.mobile-actions .mobile-whatsapp{
  width:54px;
  height:54px;
  min-width:54px;
  min-height:54px;
  padding:0;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.72rem;
  line-height:1;
  font-weight:900;
  box-shadow:0 14px 34px rgba(0,0,0,.28);
}
.mobile-actions .mobile-whatsapp{
  background:#18b45b;
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
}
.mobile-actions .btn-gold{
  color:#111;
  border:1px solid rgba(255,255,255,.18);
}
body.modal-open .mobile-actions{
  display:none!important;
}

@media(min-width:641px){
  .mobile-actions .btn:hover,.mobile-actions .mobile-whatsapp:hover{
    transform:translateY(-2px);
  }
}

/* Keep hero responsive on small devices while still showing video */
.hero-mobile-motion{display:none}
@media(max-width:900px){
  .hero-bg-video-layer{
    display:block;
  }
  .hero-bg-video-layer iframe{
    opacity:.24;
    width:220vh;
    height:70vw;
  }
  .hero-with-bg-video{
    background:#050505;
  }
  .hero-mobile-motion{
    position:absolute;
    inset:0;
    z-index:-3;
    display:block;
    background:
      linear-gradient(180deg,rgba(5,5,5,.56),#090909 94%),
      var(--hero-mobile-image, url('assets/hero-beauty.jpg')) center top/cover no-repeat;
    transform:scale(1.04);
    animation:heroMobileImageDrift 16s ease-in-out infinite alternate;
  }
}
@keyframes heroMobileImageDrift{
  from{transform:scale(1.04) translate3d(-1.5%,0,0)}
  to{transform:scale(1.09) translate3d(1.5%,-1%,0)}
}
@media(max-width:640px){
  .hero-bg-video-layer iframe{
    opacity:.28;
    width:260vh;
    height:82vw;
  }
  .hero-mobile-motion{
    background:
      linear-gradient(180deg,rgba(5,5,5,.5),#090909 92%),
      var(--hero-mobile-image, url('assets/hero-beauty.jpg')) center top/cover no-repeat;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-mobile-motion{animation:none}
}

/* Service includes tags from database */
.service-includes,.service-modal-includes{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:14px 0 18px;
}
.service-includes span,.service-modal-includes span{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(185,134,47,.24);
  background:#fff8e8;
  color:#765116;
  border-radius:999px;
  padding:6px 10px;
  font-size:.74rem;
  font-weight:800;
  line-height:1;
}
.service-modal-includes{margin-top:20px}
.service-modal-includes span{font-size:.8rem}
.hero-meta a.hero-meta-link{
  display:flex;
  flex-direction:column;
  min-width:0;
  border-radius:16px;
  padding:8px 10px;
  margin:-8px -10px;
  transition:background .2s ease,transform .2s ease;
}
.hero-meta a.hero-meta-link:hover{
  background:rgba(216,173,85,.12);
  transform:translateY(-2px);
}
.hero-meta a.hero-meta-link:focus-visible{
  outline:3px solid #fff;
  outline-offset:4px;
}
.branch-card-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.about-media .location-link-card{
  cursor:default;
}
.branch-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.branch-card-actions a,.branch-card-actions button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(216,173,85,.32);
  background:rgba(255,255,255,.04);
  color:#f2cc73;
  font-weight:900;
  font-size:.78rem;
  cursor:pointer;
}
.branch-card-actions button{
  background:linear-gradient(135deg,var(--gold2),#b98220);
  color:#111;
}
.branch-card-actions a:hover,.branch-card-actions button:hover{
  transform:translateY(-1px);
  border-color:rgba(242,204,115,.7);
}
.service-price-breakdown{
  margin:18px 0 8px;
  padding:16px;
  border:1px solid #e0d6c6;
  border-radius:18px;
  background:#fff;
}
.service-price-breakdown>strong{
  display:block;
  margin-bottom:10px;
  color:#151515;
}
.service-price-breakdown div div{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:9px 0;
  border-top:1px solid #eee2d1;
}
.service-price-breakdown span{color:#6f675d}
.service-price-breakdown div div strong{
  color:#8b641f;
  text-align:right;
}
.vip-service-callout{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  margin-top:22px;
  padding:26px;
  border:1px solid rgba(185,134,47,.34);
  border-radius:var(--radius);
  background:linear-gradient(135deg,#fff,#fff8e8);
  box-shadow:0 14px 36px rgba(49,37,17,.08);
}
.vip-service-callout h3{margin:8px 0}
.vip-service-callout p{margin:0;color:#6f675d;max-width:760px}
.vip-service-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.vip-service-actions strong{
  flex-basis:100%;
  color:#7d5818;
  text-align:right;
}
@media(max-width:640px){
  .service-includes{gap:6px;margin:12px 0 16px}
  .service-includes span{font-size:.7rem;padding:6px 9px}
  .vip-service-callout{
    grid-template-columns:1fr;
    padding:20px;
  }
  .vip-service-actions{
    justify-content:stretch;
  }
  .vip-service-actions strong{
    text-align:left;
  }
  .vip-service-actions .btn{
    width:100%;
  }
}

/* Mobile booking buttons should not cover form content */
@media(max-width:640px){
  #bookingModal .booking-main{
    padding-bottom:24px;
  }
  #bookingModal #bookingForm{
    padding-bottom:0;
  }
  #bookingModal .premium-booking-actions{
    position:static!important;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin:18px 0 0;
    padding:0;
    border-top:0;
    background:transparent;
  }
  #bookingModal .premium-booking-actions .btn{
    width:100%;
    min-height:46px;
    border-radius:14px;
  }
#bookingModal #submitBtn:not(.hidden){
    grid-column:1/-1;
  }
}

/* Visual-first beauty gallery */
.beauty-gallery-section{
  position:relative;
  overflow:hidden;
}
.beauty-gallery-section:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 10%,rgba(216,173,85,.16),transparent 34%),
    radial-gradient(circle at 88% 24%,rgba(242,204,115,.08),transparent 30%);
  pointer-events:none;
}
.beauty-gallery-section .container{
  position:relative;
  z-index:1;
}
.beauty-gallery-section .section-head h2{
  max-width:none;
  white-space:nowrap;
}
.gallery-head{
  margin-bottom:18px;
}
.gallery-proof{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:-4px 0 24px;
}
.gallery-proof span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 13px;
  border:1px solid rgba(216,173,85,.24);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:#d8d1c4;
  font-size:.82rem;
  font-weight:800;
}
.gallery-proof span:before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#f2cc73;
  box-shadow:0 0 0 4px rgba(242,204,115,.12);
}
.gallery-toolbar{
  position:sticky;
  top:78px;
  z-index:4;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:18px;
  padding:10px 0;
  background:transparent;
}
.gallery-filter{
  background:rgba(255,255,255,.04);
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.gallery-filter:hover{
  transform:translateY(-1px);
}
.enhanced-gallery{
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-flow:dense;
  gap:14px;
}
.enhanced-gallery .gallery-item{
  grid-column:span 2;
  height:260px;
  border-radius:24px;
  background:#111;
  box-shadow:0 18px 60px rgba(0,0,0,.22);
}
.enhanced-gallery .gallery-item.hero-look{
  grid-column:span 3;
  grid-row:span 2;
  height:534px;
}
.enhanced-gallery .gallery-item.tall{
  grid-row:span 2;
  height:534px;
}
.enhanced-gallery .gallery-item.wide{
  grid-column:span 3;
  height:260px;
}
.enhanced-gallery .gallery-item img{
  transform:scale(1.01);
  filter:saturate(1.04) contrast(1.02);
}
.enhanced-gallery .gallery-item:hover img{
  transform:scale(1.07);
}
.enhanced-gallery .gallery-item figcaption strong{
  font-size:clamp(1.18rem,1.8vw,1.72rem);
  line-height:1.08;
}
@media(max-width:980px){
  .enhanced-gallery{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .enhanced-gallery .gallery-item,
  .enhanced-gallery .gallery-item.wide{
    grid-column:span 2;
  }
  .enhanced-gallery .gallery-item.hero-look{
    grid-column:span 4;
    height:480px;
  }
  .enhanced-gallery .gallery-item.tall{
    height:390px;
  }
}
@media(max-width:760px){
  .gallery-toolbar{
    top:58px;
    flex-wrap:nowrap;
    overflow-x:auto;
    margin-left:-20px;
    margin-right:-20px;
    padding:10px 20px;
    scrollbar-width:none;
  }
  .gallery-toolbar::-webkit-scrollbar{
    display:none;
  }
  .gallery-filter{
    flex:0 0 auto;
  }
  .gallery-proof{
    display:grid;
    grid-template-columns:1fr;
  }
  .enhanced-gallery{
    grid-template-columns:1fr;
    gap:14px;
  }
  .enhanced-gallery .gallery-item,
  .enhanced-gallery .gallery-item.hero-look,
  .enhanced-gallery .gallery-item.tall,
  .enhanced-gallery .gallery-item.wide{
    grid-column:auto;
    grid-row:auto;
    height:clamp(260px,76vw,390px);
  }
  .enhanced-gallery .gallery-item figcaption{
    left:16px;
    right:16px;
    bottom:16px;
  }
.enhanced-gallery .gallery-item figcaption span{
    font-size:.8rem;
  }
}

.booking-option-field{margin-top:16px}
.booking-option-field.hidden{display:none}

/* Gallery UX polish across desktop, tablet, and small devices */
.beauty-gallery-section{
  padding-top:clamp(46px,5vw,70px);
  padding-bottom:clamp(72px,8vw,116px);
}
.beauty-gallery-section .container{
  width:min(1240px,calc(100% - 40px));
}
.gallery-head{
  align-items:flex-end;
}
.gallery-head p{
  font-size:1rem;
  line-height:1.75;
}
.gallery-toolbar{
  border:1px solid rgba(216,173,85,.14);
  border-left:0;
  border-right:0;
  backdrop-filter:none;
}
.gallery-filter{
  min-height:42px;
  white-space:nowrap;
}
.gallery-filter.active{
  box-shadow:0 10px 24px rgba(242,204,115,.16);
}
.enhanced-gallery .gallery-item{
  overflow:hidden;
  border-color:rgba(216,173,85,.24);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.enhanced-gallery .gallery-item:after{
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02) 28%,rgba(0,0,0,.86) 100%),
    linear-gradient(90deg,rgba(0,0,0,.28),transparent 48%);
}
.enhanced-gallery .gallery-item:hover{
  transform:translateY(-4px);
  border-color:rgba(242,204,115,.62);
  box-shadow:0 24px 80px rgba(0,0,0,.3);
}
.enhanced-gallery .gallery-item button:after{
  content:"View look";
  position:absolute;
  right:16px;
  top:16px;
  z-index:4;
  padding:8px 11px;
  border-radius:999px;
  background:rgba(0,0,0,.62);
  border:1px solid rgba(242,204,115,.34);
  color:#f2cc73;
  font-size:.72rem;
  font-weight:900;
  opacity:0;
  transform:translateY(-4px);
  transition:.2s ease;
}
.enhanced-gallery .gallery-item:hover button:after,
.enhanced-gallery .gallery-item button:focus-visible:after{
  opacity:1;
  transform:none;
}
.enhanced-gallery .gallery-item figcaption{
  z-index:4;
  max-width:min(86%,360px);
}
.enhanced-gallery .gallery-item figcaption span{
  max-width:290px;
}
.before-after{
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
  backdrop-filter:blur(8px);
}
.ba-pair img{
  border:1px solid rgba(216,173,85,.22);
}
.gallery-modal-card{
  border:1px solid rgba(216,173,85,.28);
}
@media(max-width:1100px){
  .beauty-gallery-section .container{
    width:min(100% - 32px,1040px);
  }
  .enhanced-gallery{
    gap:12px;
  }
  .enhanced-gallery .gallery-item{
    height:240px;
  }
  .enhanced-gallery .gallery-item.hero-look,
  .enhanced-gallery .gallery-item.tall{
    height:492px;
  }
  .enhanced-gallery .gallery-item.wide{
    height:240px;
  }
}
@media(max-width:760px){
  .beauty-gallery-section .container{
    width:calc(100% - 28px);
  }
  .gallery-head{
    gap:12px;
    margin-bottom:16px;
  }
  .beauty-gallery-section .section-head h2{
    white-space:normal;
  }
  .gallery-head p{
    font-size:.94rem;
  }
  .gallery-proof{
    gap:8px;
    margin-bottom:18px;
  }
  .gallery-proof span{
    min-height:42px;
    font-size:.78rem;
  }
  .gallery-toolbar{
    border-radius:0;
    border-left:0;
    border-right:0;
    box-shadow:0 14px 30px rgba(0,0,0,.22);
  }
  .enhanced-gallery .gallery-item{
    border-radius:20px;
  }
  .enhanced-gallery .gallery-item button:after{
    opacity:1;
    transform:none;
    top:14px;
    right:14px;
    font-size:.68rem;
  }
  .enhanced-gallery .gallery-item figcaption strong{
    font-size:1.35rem;
  }
  .before-after{
    margin-top:26px;
    padding:20px;
  }
  .ba-pair{
    grid-template-columns:1fr;
  }
  .ba-arrow{
    transform:rotate(90deg);
    justify-self:center;
    line-height:1;
  }
  .gallery-modal-card{
    width:calc(100% - 18px);
    max-height:calc(100dvh - 18px);
    border-radius:22px;
  }
  .gallery-modal-card>img{
    height:42dvh;
    min-height:240px;
  }
}
@media(max-width:420px){
  .beauty-gallery-section .container{
    width:calc(100% - 22px);
  }
  .enhanced-gallery .gallery-item,
  .enhanced-gallery .gallery-item.hero-look,
  .enhanced-gallery .gallery-item.tall,
  .enhanced-gallery .gallery-item.wide{
    height:clamp(250px,78vw,330px);
    border-radius:18px;
  }
  .enhanced-gallery .gallery-item figcaption{
    left:14px;
    right:14px;
    bottom:14px;
    max-width:calc(100% - 28px);
  }
  .enhanced-gallery .gallery-item figcaption strong{
    font-size:1.18rem;
  }
  .enhanced-gallery .gallery-item figcaption span{
    display:none;
  }
  .gallery-cta{
    padding:20px;
    border-radius:18px;
  }
}

/* Tighter gallery grid with stable shapes.
   Card sizes are assigned by semantic classes in Blade, not database order. */
.enhanced-gallery{
  gap:8px;
  grid-auto-rows:238px;
}
.enhanced-gallery .gallery-item{
  height:auto;
  border-radius:18px;
}
.enhanced-gallery .gallery-item.hero-look{
  grid-column:span 4;
  grid-row:span 2;
  height:auto;
}
.enhanced-gallery .gallery-item.featured-service-look{
  grid-column:span 4;
  grid-row:span 2;
  height:auto;
}
.enhanced-gallery .gallery-item.hair-style-side-look{
  grid-column:span 2;
  grid-row:span 1;
  height:auto;
}
.enhanced-gallery .gallery-item.tall{
  grid-row:span 2;
  height:auto;
}
.enhanced-gallery .gallery-item.wide{
  grid-column:span 4;
  height:auto;
}
.enhanced-gallery .gallery-item.hair-bleach-look{
  grid-column:span 2;
  height:auto;
}
@media(max-width:1100px){
  .enhanced-gallery{
    gap:8px;
    grid-auto-rows:220px;
  }
  .enhanced-gallery .gallery-item{
    height:auto;
  }
}
@media(max-width:980px){
  .enhanced-gallery .gallery-item.hero-look{
    grid-column:span 4;
    grid-row:span 2;
    height:auto;
  }
  .enhanced-gallery .gallery-item.featured-service-look{
    grid-column:span 4;
    grid-row:span 2;
    height:auto;
  }
  .enhanced-gallery .gallery-item.hair-style-side-look{
    grid-column:span 2;
  }
  .enhanced-gallery .gallery-item.wide{
    grid-column:span 4;
  }
  .enhanced-gallery .gallery-item.hair-bleach-look{
    grid-column:span 2;
  }
}
@media(max-width:760px){
  .enhanced-gallery{
    gap:10px;
    grid-auto-rows:auto;
  }
  .enhanced-gallery .gallery-item,
  .enhanced-gallery .gallery-item.hero-look,
  .enhanced-gallery .gallery-item.featured-service-look,
  .enhanced-gallery .gallery-item.hair-style-side-look,
  .enhanced-gallery .gallery-item.tall,
  .enhanced-gallery .gallery-item.wide{
    grid-row:auto;
    height:clamp(240px,72vw,350px);
    border-radius:18px;
  }
  .enhanced-gallery .gallery-item.hair-bleach-look{
    grid-column:auto;
    height:clamp(240px,72vw,350px);
  }
}

/* Reliable in-page anchor landing below sticky header */
:where(section, footer, [id]){
  scroll-margin-top:96px;
}
@media(max-width:900px){
  :where(section, footer, [id]){
    scroll-margin-top:76px;
  }
}

/* About editorial copy alignment */
.about-copy>p{
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}
@media(max-width:640px){
  .about-copy>p{
    text-align:left;
    hyphens:none;
  }
}

/* Booking payment clarity */
.payment-methods{margin:22px 0 0;padding:0;border:0}.payment-methods legend{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:800}.payment-methods>p{margin:4px 0 14px;color:#766b5d;font-size:.88rem}.payment-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.payment-method-card{position:relative;display:grid;grid-template-columns:1fr auto;align-items:start;gap:12px;min-height:150px;padding:16px;border:2px solid #ded3c1;border-radius:18px;background:linear-gradient(180deg,#fff,#fbf7ef);cursor:pointer;transition:.2s ease}.payment-method-card input{position:absolute;opacity:0}.payment-method-card>span:nth-of-type(2){display:grid;gap:5px;grid-column:1/-1}.payment-method-card strong{font-size:.92rem;color:#241d14}.payment-method-card small{color:#756b60;line-height:1.4}.payment-method-icon{display:inline-flex;width:max-content;padding:5px 8px;border-radius:999px;background:#eee6d8;color:#76531d;font-size:.66rem;font-weight:900;letter-spacing:.08em}.payment-method-card i{position:absolute;right:14px;top:14px;width:20px;height:20px;border:2px solid #c9bda9;border-radius:50%}.payment-method-card input:checked~i{border-color:#a6731e;background:#d8ad55;box-shadow:inset 0 0 0 4px #fff}.payment-method-card:has(input:checked){border-color:#b9862f;background:linear-gradient(145deg,#fff9e7,#fff);box-shadow:0 0 0 4px rgba(216,173,85,.13)}.payment-method-card:focus-within{outline:3px solid #111;outline-offset:3px}
.payment-method-grid.two-methods{grid-template-columns:repeat(2,1fr)}.mobile-money-input{display:block;margin-top:14px;padding:16px;border:1px solid #d8c9af;border-radius:16px;background:#fffaf0;font-weight:800}.mobile-money-input small{display:block;margin-top:7px;color:#756b60;font-weight:500;line-height:1.45}
.booking-payment-note{
  margin:14px 0 12px;
  padding:14px 16px;
  border:1px solid rgba(216,173,85,.26);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(216,173,85,.15),rgba(255,255,255,.72));
  display:grid;
  gap:4px;
  color:#3f3528;
}
.booking-payment-note strong{color:#8d611b;font-weight:900}
.booking-payment-note span{color:#6f6358;font-size:.92rem;line-height:1.55}
.booking-date-strip{
  display:flex;
  gap:8px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  padding:2px 2px 8px;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
}
.booking-date-strip::-webkit-scrollbar{height:6px}
.booking-date-strip::-webkit-scrollbar-thumb{background:rgba(216,173,85,.55);border-radius:999px}
.booking-date-chip{
  flex:0 0 92px;
  scroll-snap-align:start;
}
@media(max-width:560px){
  .payment-method-grid{grid-template-columns:1fr}.payment-method-card{min-height:auto;grid-template-columns:auto 1fr;padding:14px 46px 14px 14px}.payment-method-card>span:nth-of-type(2){grid-column:2}.payment-method-icon{grid-column:1}
  .booking-payment-note{padding:12px 13px;margin:10px 0}
  .booking-payment-note span{font-size:.88rem}
}

/* Bootstrap-inspired booking form controls, scoped to the booking modal */
#bookingModal .booking-control,
#bookingModal .form-control,
#bookingModal .form-select{
  appearance:none;
  width:100%;
  min-height:54px;
  margin-top:8px;
  padding:14px 16px;
  border:1px solid #d6c8b4;
  border-radius:14px;
  background-color:#fff;
  color:#171717;
  font:inherit;
  font-weight:700;
  line-height:1.35;
  box-shadow:0 1px 2px rgba(17,17,17,.04);
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
#bookingModal .form-select{
  padding-right:44px;
  background-image:
    linear-gradient(45deg,transparent 50%,#8d611b 50%),
    linear-gradient(135deg,#8d611b 50%,transparent 50%);
  background-position:
    calc(100% - 22px) calc(50% - 3px),
    calc(100% - 16px) calc(50% - 3px);
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
}
#bookingModal .form-control::placeholder{
  color:#9c9286;
  font-weight:600;
}
#bookingModal .booking-control:hover,
#bookingModal .form-control:hover,
#bookingModal .form-select:hover{
  border-color:#c49a45;
}
#bookingModal .booking-control:focus,
#bookingModal .form-control:focus,
#bookingModal .form-select:focus{
  border-color:#b98220;
  background-color:#fffdf8;
  box-shadow:0 0 0 4px rgba(216,173,85,.18);
  outline:0;
}
#bookingModal .booking-control:disabled,
#bookingModal .form-control:disabled,
#bookingModal .form-select:disabled{
  background-color:#eee8dd;
  color:#8d857c;
  cursor:not-allowed;
}
#bookingModal input[type="date"].form-control{
  color-scheme:light;
}
#bookingModal textarea.form-control{
  min-height:104px;
  resize:vertical;
}
#bookingModal .booking-form-grid label,
#bookingModal .booking-field-large{
  color:#3b342d;
  letter-spacing:.01em;
}
@media(max-width:560px){
  #bookingModal .booking-control,
  #bookingModal .form-control,
  #bookingModal .form-select{
    min-height:50px;
    padding:12px 14px;
    border-radius:13px;
    font-size:.92rem;
  }
  #bookingModal textarea.form-control{
    min-height:92px;
  }
}
