.hero-photo{background:#07060a}
.hero-photo:before{z-index:2;right:34%;top:34%;width:22vw;height:22vw;border-color:rgba(255,255,255,.1);box-shadow:0 0 0 7vw rgba(157,78,221,.025)}
.hero-photo:after{z-index:1;background:linear-gradient(90deg,#07060a 0%,rgba(7,6,10,.96) 31%,rgba(7,6,10,.55) 57%,rgba(7,6,10,.08) 82%),linear-gradient(0deg,#08070b 0%,transparent 25%)}
.hero-banner-media{position:absolute;z-index:0;inset:0 0 0 38%;overflow:hidden}
.hero-banner-media img{width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:saturate(.88) contrast(1.08)}
.hero-photo .hero-copy,.hero-photo .scroll-cue{z-index:3}
.overlap-top{position:relative;z-index:4;margin-top:-6vh;padding-top:150px;background:linear-gradient(180deg,rgba(8,7,11,.2),#08070b 14%);clip-path:polygon(0 5%,100% 0,100% 100%,0 100%)}
.portrait-card{position:relative;margin:0;transform:rotate(2deg);box-shadow:0 30px 90px rgba(0,0,0,.48)}
.portrait-card img{display:block;width:100%;height:610px;object-fit:cover;filter:saturate(.85) contrast(1.08)}
.portrait-card figcaption{position:absolute;left:-18px;bottom:28px;background:#fff;color:#09070b;padding:10px 18px;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.text-link,.mail-address{display:inline-block;margin-top:20px;color:#ff8ac2;font-weight:700;border-bottom:1px solid currentColor}
.photo-flow{position:relative;padding:130px 0 260px;background:linear-gradient(155deg,#09070c,#23112d 55%,#09070c);overflow:hidden}
.photo-flow:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 50%,rgba(255,79,163,.16),transparent 35%)}
.flow-heading{position:relative}.flow-heading h2{font:700 clamp(48px,7vw,92px)/.9 'Space Grotesk';letter-spacing:-.07em;margin:15px 0 60px}
.photo-stack{position:relative;min-height:700px}.photo{position:absolute;margin:0;box-shadow:0 35px 100px rgba(0,0,0,.6);overflow:hidden}.photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.photo:hover img{transform:scale(1.035)}.photo-a{left:0;top:70px;width:43%;height:610px;transform:rotate(-2.5deg)}.photo-b{left:36%;top:0;width:30%;height:620px;z-index:2;transform:rotate(2deg)}.photo-c{right:0;top:100px;width:31%;height:570px;transform:rotate(-1deg)}
.overlap-section{position:relative;z-index:5;margin-top:-120px;padding-top:180px;clip-path:polygon(0 7%,100% 0,100% 100%,0 100%)}
.sound-section{position:relative;padding-top:160px;background:linear-gradient(180deg,#08070b,#100b14)}.sound-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.sound-copy{color:#aaa4b2;font-size:18px}.wide-photo{margin:0;transform:translateY(70px) rotate(1.5deg);box-shadow:0 35px 90px rgba(0,0,0,.55)}.wide-photo img{display:block;width:100%;height:610px;object-fit:cover}
.booking{position:relative;z-index:3;clip-path:polygon(0 10%,100% 0,100% 100%,0 100%);padding-top:170px}.mail-address{color:#fff;font-size:20px}
.reveal{opacity:0;transform:translateY(45px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.25,1)}.reveal.in-view{opacity:1;transform:translateY(0)}
@media(max-width:800px){.overlap-top{clip-path:polygon(0 2%,100% 0,100% 100%,0 100%)}.portrait-card img{height:480px}.photo-flow{padding-bottom:100px}.photo-stack{display:grid;gap:14px;min-height:0}.photo{position:relative!important;inset:auto!important;width:100%!important;height:480px!important;transform:none!important}.overlap-section{margin-top:-35px;padding-top:130px;clip-path:polygon(0 2%,100% 0,100% 100%,0 100%)}.sound-layout{grid-template-columns:1fr}.wide-photo{transform:none}.wide-photo img{height:440px}.booking{clip-path:polygon(0 4%,100% 0,100% 100%,0 100%);padding-top:120px}}
@media(max-width:800px){.hero-banner-media{inset:0}.hero-banner-media img{object-position:58% center}.hero-photo:after{background:linear-gradient(90deg,rgba(7,6,10,.94),rgba(7,6,10,.62)),linear-gradient(0deg,#08070b,transparent 40%)}.hero-photo:before{display:none}}
.price-section{position:relative;z-index:4;padding:150px 0 180px;background:radial-gradient(circle at 80% 30%,rgba(157,78,221,.17),transparent 32%),#0b0910;clip-path:polygon(0 5%,100% 0,100% 100%,0 96%)}
.price-heading{max-width:760px;margin-bottom:55px}.price-heading h2{font:700 clamp(48px,7vw,90px)/.9 'Space Grotesk';letter-spacing:-.07em;margin:15px 0}.price-heading p{color:var(--muted);font-size:18px}
.price-calculator{display:grid;grid-template-columns:.9fr 1.2fr .9fr;border:1px solid var(--line);background:rgba(17,16,23,.86);box-shadow:0 35px 100px rgba(0,0,0,.45)}.dial-panel,.options-panel,.total-panel{padding:46px}.dial-panel,.options-panel{border-right:1px solid var(--line)}
.dial-wrap{display:grid;place-items:center}.dial{--angle:0deg;position:relative;width:220px;height:220px;border-radius:50%;border:1px solid #37313f;background:radial-gradient(circle at 40% 32%,#2b2632,#0c0b0f 68%);box-shadow:inset 0 0 0 11px #141218,0 22px 50px rgba(0,0,0,.5);cursor:grab;transform:rotate(var(--angle));touch-action:none}.dial:active{cursor:grabbing}.dial:focus-visible{outline:3px solid var(--pink);outline-offset:5px}.dial-marker{position:absolute;left:50%;top:17px;width:4px;height:37px;border-radius:3px;background:linear-gradient(var(--amber),var(--pink));box-shadow:0 0 16px var(--pink);transform:translateX(-50%)}.dial-center{position:absolute;inset:0;display:grid;place-content:center;transform:rotate(calc(-1 * var(--angle)));text-align:center}.dial-center strong{font:700 58px/1 'Space Grotesk'}.dial-center small{color:var(--muted);text-transform:uppercase;letter-spacing:.15em}.dial-buttons{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:27px;color:var(--muted);font-size:12px}.dial-buttons button{width:38px;height:38px;padding:0!important;border:1px solid var(--line)!important;background:#17141c!important;font-size:21px!important}
.base-price{display:flex;justify-content:space-between;align-items:center;padding:0 0 20px;margin-bottom:5px;border-bottom:1px solid var(--line)}.base-price span{color:var(--muted)}.base-price strong{font:700 26px 'Space Grotesk'}.price-option{display:flex;align-items:center;gap:15px;padding:19px 0;border-bottom:1px solid var(--line);cursor:pointer}.price-option input{position:absolute;opacity:0}.option-switch{width:48px;height:27px;padding:3px;border-radius:20px;background:#302b37;transition:.2s}.option-switch:after{content:'';display:block;width:21px;height:21px;border-radius:50%;background:#fff;transition:.2s}.price-option input:checked+.option-switch{background:linear-gradient(90deg,var(--purple),var(--pink))}.price-option input:checked+.option-switch:after{transform:translateX(21px)}.price-option input:focus-visible+.option-switch{outline:2px solid #fff}.option-copy{display:grid}.option-copy strong{font-size:14px}.option-copy small{color:var(--muted)}.distance-row{padding-top:18px}.distance-row>label{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.distance-row div{display:flex;align-items:center;gap:8px}.distance-row input{width:110px;background:#0c0a0f;color:#fff;border:1px solid #3b3542;padding:12px;font:600 16px Inter}.total-panel{display:flex;flex-direction:column;justify-content:center}.total-panel>span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.14em}.total-panel>strong{font:700 64px/1 'Space Grotesk';margin:12px 0;color:#fff}.total-panel>small{min-height:70px;color:#bbb}.total-panel .button{margin-top:23px;text-align:center}.total-panel p{color:#777;font-size:11px;text-align:center}
@media(max-width:960px){.price-calculator{grid-template-columns:1fr 1fr}.total-panel{grid-column:1/-1;border-top:1px solid var(--line)}.options-panel{border-right:0}}
@media(max-width:650px){.price-section{padding:120px 0;clip-path:polygon(0 2%,100% 0,100% 100%,0 98%)}.price-calculator{grid-template-columns:1fr}.dial-panel,.options-panel,.total-panel{padding:32px 24px;border-right:0}.options-panel,.total-panel{border-top:1px solid var(--line)}.total-panel{grid-column:auto}.dial{width:190px;height:190px}}
