:root{--accent:#e9422b;--ink:#111111;--bone:#ede9e1;--paper:#f0ede6;--muted:#a9a7a2;--display:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;--body:'DM Sans',Arial,sans-serif;--script:'Italianno',cursive}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--bone);font-family:var(--body);font-size:15px;overflow-x:hidden}a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}img{display:block;max-width:100%}::selection{color:white;background:var(--accent)}.preloader{position:fixed;z-index:100;inset:0;background:#0c0c0c;display:grid;place-items:center;transition:opacity .65s ease,visibility .65s ease}.preloader.done{opacity:0;visibility:hidden;pointer-events:none}.preloader-inner{text-align:center;font-family:var(--display);font-size:70px;font-weight:900;letter-spacing:-.04em;display:grid;justify-items:center;gap:4px}.preloader-inner span:last-child{font-family:var(--body);font-size:10px;letter-spacing:.35em}.preloader-line{width:155px;height:3px;background:linear-gradient(to right,var(--accent) 65%,#555 65%)}.demo-ribbon{height:27px;background:var(--accent);color:#fff;font-size:9px;letter-spacing:.17em;text-align:center;display:flex;gap:9px;align-items:center;justify-content:center;font-weight:700}.demo-ribbon span{opacity:.7}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,100px);background:#121212;position:relative;z-index:20;border-bottom:1px solid #343434}.wordmark{display:flex;flex-direction:column;line-height:.8;align-items:flex-start}.wordmark strong{font-family:var(--display);font-weight:900;font-size:42px;letter-spacing:-.055em}.wordmark small{font-size:8px;letter-spacing:.3em;margin-top:9px}.nav-main{display:flex;gap:36px}.nav-main a,.nav-cta{font-size:10px;font-weight:700;letter-spacing:.15em;transition:color .2s}.nav-main a:hover,.nav-cta:hover{color:var(--accent)}.nav-cta{border:1px solid #777;padding:15px 20px;display:flex;gap:24px}.nav-cta span{font-size:17px}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle i{width:26px;height:2px;background:white;display:block;margin:6px}.hero{height:min(810px,calc(100svh - 109px));min-height:630px;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:32px clamp(24px,6vw,100px) 50px;overflow:hidden;background:#24211f}.hero-photo{position:absolute;inset:0;background:#3c3b36 center 30%/cover no-repeat;filter:saturate(.5) contrast(1.15)}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.25) 60%,rgba(0,0,0,.6) 100%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 37%,rgba(0,0,0,.12))}.hero-noise{position:absolute;inset:0;opacity:.15;pointer-events:none;background-image:url(assets/grain.svg);mix-blend-mode:overlay}.hero-topline,.hero-center,.hero-bottom{position:relative;z-index:2}.hero-topline{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.2em;font-weight:700}.small-square{width:10px;height:10px;background:var(--accent)}.hero-index{margin-left:auto;font-size:11px}.hero-center{margin-top:15px}.hero-kicker{font-weight:800;font-size:12px;letter-spacing:.22em;border-left:4px solid var(--accent);padding-left:14px;margin:0 0 20px}.hero h1{font-family:var(--display);font-size:clamp(118px,15.7vw,262px);font-weight:900;line-height:.73;letter-spacing:-.053em;margin:0;text-transform:uppercase;max-width:1100px}.hero h1 em{color:transparent;-webkit-text-stroke:2px #f1eee9;font-style:normal}.hero h1 .dot{color:var(--accent)}.script-overlap{font-family:var(--script);font-size:clamp(75px,9vw,165px);color:#f5f1e8;position:absolute;left:38%;bottom:-45px;white-space:nowrap;transform:rotate(-8deg);opacity:.92;margin:0;pointer-events:none}.hero-bottom{display:flex;align-items:end;gap:28px}.hero-bottom-copy{display:flex;align-items:flex-start;gap:14px;max-width:380px;font-size:13px;line-height:1.65}.red-star{font-size:24px;color:var(--accent);line-height:1}.block-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:20px 25px;min-height:60px;text-transform:uppercase;font-size:11px;letter-spacing:.09em;font-weight:800;transition:transform .2s,background .2s,color .2s;border:0}.block-button:hover{transform:translateY(-3px)}.block-button span{font-size:20px;line-height:1}.block-button.light{background:var(--bone);color:var(--ink)}.block-button.light:hover{background:#fff}.block-button.red{background:var(--accent);color:#fff}.block-button.red:hover{background:#d8331d}.block-button.wide{width:100%}.vertical-label{margin-left:auto;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;font-weight:700}.ticker{background:var(--accent);height:67px;overflow:hidden;display:flex;align-items:center;border-top:1px solid rgba(0,0,0,.2)}.ticker-track{white-space:nowrap;font-family:var(--display);font-size:44px;font-weight:900;line-height:1;letter-spacing:.04em;animation:ticker 18s linear infinite}.ticker b{font-weight:900;margin:0 32px;color:var(--ink)}@keyframes ticker{to{transform:translateX(-50%)}}.section-dark{background:#111}.section-bone{background:var(--bone);color:var(--ink)}.intro,.services,.team,.gallery,.booking{padding:clamp(70px,9vw,135px) clamp(24px,6vw,100px)}.section-top{display:flex;justify-content:space-between;align-items:center;color:#a6a29d;margin-bottom:65px}.section-top.dark{color:#6a665f}.section-number{font-size:11px;font-weight:800;letter-spacing:.16em;display:inline-flex;align-items:center;gap:12px}.section-number i{width:10px;height:10px;background:var(--accent);display:block}.top-caption{font-size:10px;letter-spacing:.14em}.intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw}.intro-main h2,.split-heading h2,.team-heading h2,.gallery h2,.booking-intro h2,.visit h2{font-family:var(--display);font-weight:900;font-size:clamp(72px,8vw,145px);line-height:.85;letter-spacing:-.025em;margin:0;text-transform:uppercase}.outline{-webkit-text-stroke:1.8px var(--bone);color:transparent}.outline-dark{-webkit-text-stroke:1.6px var(--ink);color:transparent}.intro-main p{max-width:390px;margin:38px 0;line-height:1.8;color:#a9a9a6;font-size:16px}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:10px;letter-spacing:.12em;font-weight:800;border-bottom:1px solid currentColor;padding:0 0 12px}.text-link span{font-size:18px}.intro-side{position:relative}.intro-image{height:530px;background:#302c2a center/cover no-repeat;filter:grayscale(.8)}.intro-note{background:var(--accent);color:#fff;position:absolute;left:-38px;bottom:35px;padding:20px 30px;display:flex;gap:24px;align-items:start;font-family:var(--display);font-weight:800;font-size:23px;line-height:1.02;letter-spacing:.02em}.intro-note span{font-size:13px}.intro-note p{margin:0}.mono-line{font-size:10px;letter-spacing:.2em;color:#6a6764;border-top:1px solid #303030;padding-top:25px;margin-top:115px}.mono-line span{color:var(--accent);padding:0 12px}.split-heading,.team-heading,.booking-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:70px}.split-heading p,.team-heading p,.booking-intro p{max-width:285px;line-height:1.75;color:#615c57}.split-heading p small{display:block;margin-top:15px;font-size:11px;color:#89817b}.service-list{border-top:1px solid #9f9c96}.service{display:grid;grid-template-columns:70px minmax(240px,1.2fr) 1fr 85px 38px;align-items:center;gap:18px;padding:27px 12px;border-bottom:1px solid #b6afa8;transition:background .25s,color .25s,padding .25s;cursor:pointer;min-height:120px}.service:hover,.service.active{background:var(--accent);color:#fff;padding-left:25px}.service-num{font-family:var(--display);font-size:17px;font-weight:700}.service-name{font-family:var(--display);font-size:clamp(36px,4.7vw,70px);font-weight:900;line-height:1}.service-desc{display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.5;color:#605f59}.service-desc b{font-size:10px;letter-spacing:.14em;color:var(--accent)}.service-price{font-family:var(--display);font-size:33px;font-weight:800;white-space:nowrap}.service-arrow{font-size:25px}.service:hover .service-desc,.service:hover .service-desc b,.service.active .service-desc,.service.active .service-desc b{color:white}.service-footer{display:flex;justify-content:space-between;align-items:center;margin-top:30px}.service-footer>span{font-size:10px;letter-spacing:.13em}.team-heading{align-items:end}.team-heading p{color:#999}.red-text{color:var(--accent)}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.team-card{background:#1a1a1a;position:relative;overflow:hidden}.team-photo{height:450px;position:relative;background:#333 center 35%/cover no-repeat;filter:grayscale(1);transition:filter .3s,transform .5s}.team-card:hover .team-photo{filter:grayscale(.25);transform:scale(1.04)}.team-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 45%)}.team-counter{position:absolute;top:18px;left:18px;background:var(--accent);font-family:var(--display);font-size:17px;font-weight:700;padding:6px 9px;z-index:2}.team-info{padding:25px;display:flex;align-items:center;justify-content:space-between;gap:12px}.team-info h3{font-family:var(--display);font-size:39px;margin:0;line-height:1}.team-info p{font-size:10px;letter-spacing:.13em;color:#999;margin:7px 0 0}.team-card button{width:48px;height:48px;border:1px solid #666;border-radius:0;background:none;color:var(--bone);font-size:22px;transition:background .2s}.team-card button:hover{background:var(--accent);border-color:var(--accent)}.team-disclaimer{margin-top:24px;color:#777;font-size:11px}.gallery{padding-top:65px}.gallery-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.gallery-head h2{margin-top:42px}.gallery-head p{font-size:14px;line-height:1.8;color:#999}.gallery-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery-track::-webkit-scrollbar{display:none}.gallery-card{height:465px;flex:0 0 min(28vw,330px);min-width:260px;position:relative;overflow:hidden;scroll-snap-align:start;background:#252525}.gallery-img{position:absolute;inset:0;background:#333 center/cover no-repeat;filter:grayscale(.6);transition:filter .3s,transform .4s}.gallery-card:hover .gallery-img{filter:grayscale(0);transform:scale(1.04)}.gallery-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 40%);pointer-events:none}.gallery-label{position:absolute;z-index:1;bottom:22px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:end}.gallery-label b{font-family:var(--display);font-size:34px}.gallery-label span{font-size:11px;letter-spacing:.17em}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:25px;font-size:10px;letter-spacing:.17em;color:#999}.gallery-arrows{display:flex;gap:8px}.gallery-arrows button{width:47px;height:45px;border:1px solid #444;background:transparent;color:#fff;font-size:22px}.gallery-arrows button:hover{background:var(--accent)}.manifesto{background:var(--accent);text-align:center;padding:95px 15px 90px;position:relative;overflow:hidden}.manifesto:before,.manifesto:after{content:'✳';position:absolute;font-size:260px;color:rgba(255,255,255,.05);left:-80px;top:-80px}.manifesto:after{left:auto;right:-90px;top:auto;bottom:-100px}.manifesto>span{font-size:11px;letter-spacing:.27em;font-weight:800}.manifesto strong{display:block;font-family:var(--display);font-weight:900;font-size:clamp(92px,17vw,270px);line-height:.76;letter-spacing:-.06em;margin:35px auto}.manifesto em{font-style:normal;color:transparent;-webkit-text-stroke:2px white}.manifesto p{font-size:11px;letter-spacing:.22em}.booking-intro p{font-size:15px}.booking-shell{display:grid;grid-template-columns:.85fr 1fr;background:#171717;color:white;min-height:620px}.booking-left{position:relative;overflow:hidden;background:#222}.booking-photo{position:absolute;inset:0;background:#222 center/cover no-repeat;filter:grayscale(.8)}.booking-left:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111,transparent 65%);z-index:1}.booking-mark{position:absolute;z-index:2;left:35px;top:35px;font-family:var(--display);font-size:70px;font-weight:900;letter-spacing:-.04em}.booking-mark i{color:var(--accent);font-size:22px;font-style:normal;vertical-align:top;margin-left:5px}.booking-foot{position:absolute;z-index:2;left:35px;bottom:36px;font-size:11px;font-weight:800;letter-spacing:.13em}.booking-right{padding:clamp(30px,5vw,70px);display:flex;flex-direction:column;justify-content:center}.booking-tag,.modal-eyebrow{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.14em}.booking-right h3{font-family:var(--display);font-size:clamp(50px,5vw,84px);line-height:.9;margin:20px 0 45px}.booking-right h3 em,.booking-dialog h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #f2eee8}.booking-field{margin-bottom:24px}.booking-field label{display:block;color:#aaa;font-size:10px;letter-spacing:.16em;font-weight:700;margin-bottom:10px}.booking-field select{width:100%;padding:16px;background:#242424;border:1px solid #494949;border-radius:0;color:white;outline:0;appearance:none;background-image:url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"%3E%3Cpath d="m4 7 6 6 6-6" stroke="white" fill="none"/%3E%3C/svg%3E');background-position:right 15px center;background-repeat:no-repeat}.booking-status{border:1px dashed #777;padding:16px;color:#aaa;display:flex;align-items:center;gap:10px}.status-dot{width:7px;height:7px;background:var(--accent);border-radius:100%}.booking-help{font-size:11px;color:#888;line-height:1.7;margin:17px 0 0}.visit{display:grid;grid-template-columns:1fr 1fr;min-height:660px}.visit-image{background:#282828 center/cover no-repeat;min-height:560px;filter:grayscale(.85)}.visit-content{padding:clamp(55px,6vw,95px);display:flex;flex-direction:column;justify-content:center}.visit-content h2{font-size:clamp(64px,6vw,105px);margin-top:50px}.visit-content>p{line-height:1.75;color:#9a9a9a;max-width:330px;margin:24px 0 40px}.visit-info{border-top:1px solid #414141;padding:18px 0;display:flex;gap:20px;align-items:center;justify-content:space-between}.visit-info span{font-size:10px;color:var(--accent);letter-spacing:.15em}.visit-info strong{font-size:13px;font-weight:500;text-align:right;max-width:230px}.visit-content .block-button{margin-top:34px;max-width:270px}.footer{background:#0b0b0b;padding:65px clamp(24px,6vw,100px) 28px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:70px}.footer-brand{display:flex;flex-direction:column}.footer-brand b{font-family:var(--display);font-size:clamp(130px,20vw,320px);font-weight:900;letter-spacing:-.065em;line-height:.75}.footer-brand span{font-size:11px;letter-spacing:.3em;margin-top:28px}.footer-contact{display:flex;gap:25px;align-items:center}.footer-contact a{font-size:11px;letter-spacing:.1em}.footer-bottom{border-top:1px solid #333;padding-top:22px;display:flex;justify-content:space-between;gap:25px;color:#888;font-size:10px;letter-spacing:.13em}.footer-bottom a{color:var(--bone)}.booking-dialog{border:1px solid #666;background:#171717;color:#fff;width:min(520px,calc(100% - 30px));padding:42px;box-shadow:0 35px 120px rgba(0,0,0,.75)}.booking-dialog::backdrop{background:rgba(0,0,0,.83);backdrop-filter:blur(6px)}.booking-dialog h2{font-family:var(--display);font-size:70px;line-height:.87;margin:20px 0}.booking-dialog>p{color:#bbb;line-height:1.7}.modal-summary{padding:22px;background:#242424;border-left:3px solid var(--accent);font-size:13px;line-height:1.9;margin:25px 0}.modal-notice{font-size:12px}.close-dialog{position:absolute;top:15px;right:15px;color:white;border:0;background:none;font-size:20px}.reveal{opacity:0;transform:translateY(30px);filter:blur(5px);transition:opacity .8s ease,transform .8s ease,filter .8s ease}.reveal.visible{opacity:1;transform:none;filter:none}@media(max-width:1100px){.nav-main{gap:18px}.hero h1{font-size:clamp(108px,16.5vw,190px)}.service{grid-template-columns:40px 1.3fr 1fr 70px 25px;gap:11px}.service-name{font-size:46px}.team-photo{height:370px}.booking-left{min-height:540px}}
@media(max-width:760px){.demo-ribbon{font-size:8px;height:25px;letter-spacing:.07em}.site-header{height:72px;padding:0 20px}.wordmark strong{font-size:36px}.wordmark small{font-size:7px}.menu-toggle{display:block;margin-left:5px}.nav-cta{margin-left:auto;padding:12px 14px;font-size:9px;gap:8px}.nav-cta span{font-size:16px}.nav-main{position:absolute;top:72px;left:0;right:0;background:#111;border-top:1px solid #333;display:none;flex-direction:column;gap:0;padding:12px 24px 25px;box-shadow:0 12px 35px rgba(0,0,0,.5)}.nav-main.open{display:flex}.nav-main a{padding:18px 0;border-bottom:1px solid #353535}.hero{height:calc(100svh - 97px);min-height:630px;max-height:850px;padding:25px 22px 33px}.hero-photo{background-position:58% center}.hero-topline{font-size:8px}.hero-center{margin-top:15px}.hero-kicker{font-size:10px}.hero h1{font-size:clamp(85px,19vw,145px)}.script-overlap{left:19%;bottom:-55px;font-size:86px}.hero-bottom{flex-direction:column;align-items:start;gap:18px}.hero-bottom-copy{font-size:11px;max-width:260px}.hero-bottom .block-button{width:100%;justify-content:space-between}.vertical-label{display:none}.ticker{height:55px}.ticker-track{font-size:35px}.intro,.services,.team,.gallery,.booking{padding:70px 22px}.section-top{margin-bottom:48px}.top-caption{display:none}.intro-grid,.booking-shell,.visit{grid-template-columns:1fr}.intro-main h2,.split-heading h2,.team-heading h2,.gallery h2,.booking-intro h2,.visit h2{font-size:clamp(60px,15vw,100px)}.intro-main p{font-size:14px}.intro-side{margin-top:25px}.intro-image{height:390px}.intro-note{left:0;bottom:16px}.mono-line{margin-top:65px;font-size:9px;line-height:2}.split-heading,.team-heading,.booking-intro{display:block;margin-bottom:42px}.split-heading p,.team-heading p,.booking-intro p{margin-top:25px;font-size:13px}.service{grid-template-columns:28px 1fr 66px 20px;gap:8px;min-height:90px;padding:20px 5px}.service-name{font-size:clamp(31px,8vw,55px)}.service-desc{grid-column:2/-1;display:none}.service-num{font-size:13px}.service-price{font-size:23px}.service-arrow{font-size:20px}.service:hover{padding-left:7px}.service-footer>span{font-size:8px}.team-grid{grid-template-columns:1fr;gap:20px}.team-photo{height:380px;background-position:center 30%}.gallery{padding-top:30px}.gallery-head{display:block}.gallery-head p{font-size:13px;margin-top:24px}.gallery-card{flex-basis:72vw;min-width:220px;height:390px}.manifesto{padding:75px 10px}.manifesto strong{font-size:clamp(90px,22vw,145px)}.booking-left{min-height:320px}.booking-right{padding:38px 24px}.booking-right h3{font-size:64px}.visit-image{min-height:375px}.visit-content{padding:65px 24px}.visit-content h2{margin-top:35px}.footer{padding:55px 22px 25px}.footer-top{align-items:start;flex-direction:column;gap:45px}.footer-brand b{font-size:clamp(135px,31vw,230px)}.footer-contact{flex-wrap:wrap;gap:20px}.footer-bottom{flex-direction:column;gap:14px;font-size:9px}.booking-dialog{padding:30px 22px}.booking-dialog h2{font-size:55px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none;filter:none}.preloader{display:none}}


/* NAVA V2 — seleção múltipla, combos e acabamento da experiência premium */
.demo-ribbon[hidden]{display:none!important}
.service-list .service{width:100%;font-family:inherit;text-align:left;background:transparent;border-left:0;border-right:0;border-top:0;color:inherit;border-radius:0}
.service-list .service:hover,.service-list .service.active{background:var(--accent);color:#fff}
.service-list .service:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.combos-block{margin-top:55px;border-top:1px solid #b5aea6;padding-top:35px}
.combos-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}
.combos-heading span{font-size:11px;font-weight:800;letter-spacing:.16em}
.combos-heading p{color:#6d6860;font-size:13px;max-width:320px;line-height:1.6}
.combo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.combo-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #c0bab3;background:#e3ded6;color:#171717;min-height:182px;padding:25px;gap:17px;transition:background .2s,color .2s,transform .2s}
.combo-option:hover,.combo-option.active{background:var(--ink);color:white;transform:translateY(-3px)}
.combo-option small{letter-spacing:.16em;color:var(--accent);font-size:9px;font-weight:800}
.combo-option b{font-family:var(--display);font-size:clamp(26px,2.4vw,37px);line-height:.95;letter-spacing:-.025em}
.combo-option span{font-size:11px;color:inherit;opacity:.82;line-height:1.5;display:flex;justify-content:space-between;align-items:flex-end;gap:8px;width:100%}
.combo-option em{font-size:16px;font-weight:800;font-style:normal;white-space:nowrap}
.combo-option i{position:absolute;top:19px;right:20px;font-size:20px;font-style:normal}
.booking-service-field{border:0;padding:0;margin:0 0 22px;min-width:0}
.booking-service-field legend{display:block;width:100%;padding:0;color:#aaa;font-size:10px;letter-spacing:.16em;font-weight:700;margin-bottom:12px}
.booking-services{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.service-check{border:1px solid #45413f;background:#222;display:flex;align-items:center;gap:10px;min-height:64px;padding:10px;position:relative;cursor:pointer;transition:border .18s,background .18s}
.service-check.active{background:#312521;border-color:var(--accent)}
.service-check input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}
.service-check:focus-within{outline:2px solid var(--accent);outline-offset:3px}
.check-icon{display:grid;place-items:center;border:1px solid #69635f;width:23px;height:23px;flex:0 0 23px;font-size:19px;line-height:1;font-weight:500}
.service-check.active .check-icon{background:var(--accent);border-color:var(--accent);color:#fff}
.service-check.active .check-icon:after{content:'✓';font-size:14px;position:absolute;background:var(--accent);width:22px;text-align:center}
.check-title{font-family:var(--display);font-size:19px;line-height:.94;font-weight:800;max-width:135px;position:relative;pointer-events:none}
.check-title small{display:block;color:#8c8682;font-family:var(--body);font-size:10px;font-weight:500;margin-top:7px}
.service-check strong{font-size:10px;white-space:nowrap;margin-left:auto;position:relative;pointer-events:none}
.field-note{display:block;color:#777;font-size:10px;line-height:1.5;margin-top:9px}
.booking-cart{border:1px solid #4c4640;background:#1c1b1a;padding:21px 23px;margin:12px 0 22px}
.cart-top{display:flex;justify-content:space-between;gap:10px;color:#aaa;font-size:10px;letter-spacing:.13em;font-weight:700}
#selectedCount{color:var(--accent)}
.cart-items{font-family:var(--display);font-size:27px;font-weight:800;text-transform:uppercase;margin-top:18px;line-height:1.05}
.cart-total{margin-top:17px;padding-top:17px;border-top:1px solid #373330;display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.cart-total>span{display:flex;flex-direction:column;gap:7px}
.cart-total b{font-family:var(--display);font-size:33px;line-height:1}
.cart-total small{font-size:9px;letter-spacing:.1em;color:#777}
.cart-price{text-align:right}
.cart-price b{color:var(--bone)}
.combo-offer{margin:14px 0 0;border-top:1px dashed #514640;padding-top:11px;color:#e1a794;font-size:10px;letter-spacing:.05em;font-weight:700}
.combo-offer[hidden]{display:none}
.booking-status.connected{border-color:#587a60;color:#c7d9c4}
.booking-status.connected .status-dot{background:#7bb68a}
.booking-availability{margin-bottom:18px}
.booking-right h3{margin-bottom:29px}
.booking-right{justify-content:flex-start}
.booking-shell{min-height:800px}
.booking-field select{color:#fff}
.booking-dialog .modal-summary strong{color:var(--bone)}
#bookingLaunch:disabled{opacity:.45;cursor:not-allowed;transform:none}
@media(max-width:1100px){.combo-grid{grid-template-columns:1fr 1fr}.booking-services{grid-template-columns:1fr}.booking-shell{grid-template-columns:.7fr 1fr}}
@media(max-width:760px){.combo-grid{grid-template-columns:1fr}.combo-option{min-height:145px;padding:19px}.combo-option b{font-size:32px}.combos-heading{align-items:flex-start;flex-direction:column}.combos-heading p{margin:0}.booking-services{grid-template-columns:1fr 1fr}.service-check{min-height:72px}.check-title{font-size:16px}.service-check strong{font-size:9px}.booking-cart{padding:17px}.booking-right h3{font-size:clamp(45px,12vw,64px)}.cart-items{font-size:25px}}
@media(max-width:400px){.booking-services{grid-template-columns:1fr}.check-title{font-size:20px}.service-check{min-height:60px}.booking-right{padding:26px 20px}.service-check strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.combo-option,.service-check{transition:none}.combo-option:hover{transform:none}}
/* Real checkbox hit area: avoid a full-label invisible input causing double toggles */
.service-check input{inset:auto;top:50%;left:10px;transform:translateY(-50%);width:23px;height:23px;opacity:0;z-index:1}
@media(max-width:760px){
  .booking-shell{grid-template-columns:minmax(0,1fr);min-width:0;width:100%;}
  .booking-right,.booking-left{min-width:0;width:100%;}
  .booking-right h3{font-size:clamp(39px,10.4vw,60px);overflow-wrap:anywhere;}
  .service-list .service{grid-template-columns:22px minmax(0,1fr) 61px 19px;gap:6px;min-width:0;}
  .service-list .service-name{min-width:0;overflow-wrap:anywhere;font-size:clamp(27px,7.6vw,46px);letter-spacing:-.035em;}
  .service-list .service-price{font-size:21px;}
}

/* White-label: demo copy and optional links must disappear when not configured. */
[data-demo][hidden],.demo-ribbon[hidden],#instagramLink[hidden],#whatsLink[hidden],#mapLink[hidden]{display:none!important}
.visit-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:10px}
.map-cta{font-size:11px;letter-spacing:.1em;font-weight:800;border-bottom:1px solid var(--bone);padding:9px 0}
.footer-contact [hidden]{display:none!important}

/* Inline Cal.com live booking dialog — only shown for configured real links. */
.cal-dialog{border:1px solid #554a43;background:#151515;color:var(--bone);padding:28px;width:min(920px,calc(100vw - 28px));max-height:calc(100dvh - 30px);box-shadow:0 22px 95px rgba(0,0,0,.72)}
.cal-dialog::backdrop{background:rgba(0,0,0,.86);backdrop-filter:blur(4px)}
.cal-dialog-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.cal-dialog-top h2{font-family:var(--display);font-size:clamp(38px,5.7vw,68px);line-height:1;letter-spacing:-.025em;margin:14px 0 0}
.cal-close{align-self:start;border:1px solid #4e4944;background:transparent;color:white;padding:12px 16px;font-size:16px}
.cal-dialog-summary{color:#bcb6af;font-size:13px;line-height:1.6;padding:14px 0 20px;border-bottom:1px solid #3e3935}
.cal-embed-mount{background:#fff;color:#282828;min-height:510px;border-radius:2px;overflow:hidden}
.cal-embed-mount>p{padding:25px;color:#6c6c6c;font-size:14px}
.cal-dialog-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;padding-top:18px;font-size:11px;color:#9f9993}
.cal-dialog-bottom a{font-weight:800;color:var(--bone);text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.cal-dialog{padding:17px;width:calc(100vw - 16px);max-height:calc(100dvh - 12px)}.cal-embed-mount{min-height:520px}.cal-dialog-summary{font-size:11px}}
