:root{--bg:#0b0c10;--panel:#151821;--cyan:#29e0d5;--pink:#ff4db6;--muted:#aab1be;--line:#292d37}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:#f5f5f6;font:17px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--cyan)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}img{max-width:100%;display:block}p{margin:0 0 20px}h1,h2,h3{line-height:1.05;letter-spacing:-.045em;margin:0 0 24px}h1{font-size:clamp(52px,7.6vw,110px);font-weight:900}h2{font-size:clamp(34px,4.4vw,62px)}h3{font-size:25px;letter-spacing:-.025em}.draft{padding:8px 16px;text-align:center;background:#23232c;font-size:11px;letter-spacing:.08em;color:#d4d4df}header{height:82px;padding:0 max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:#0b0c10ed;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);gap:16px}.brand{font-size:22px;font-weight:900;white-space:nowrap;letter-spacing:-.04em;color:var(--cyan)}.brand-image{display:flex;align-items:center;flex:0 0 auto}.brand-image img{width:146px;height:64px;object-fit:contain;mix-blend-mode:screen}.brand>span{color:white}nav{display:flex;gap:30px;align-items:center;font-size:14px}.small-btn{border:1px solid #484e5a;padding:10px 16px;border-radius:6px}.hero{min-height:680px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-photo{object-position:65% 50%}.hero-shade{background:linear-gradient(90deg,#06090ef5 4%,#07090fc2 48%,#08091030),linear-gradient(0deg,#0b0c10,transparent 55%)}.hero-content{position:relative;max-width:1208px;width:100%;margin:auto;padding:82px 24px 64px}.eyebrow{color:var(--cyan);font-size:11px;letter-spacing:.18em;font-weight:700;margin-bottom:28px}.subline{display:block;font-size:clamp(21px,2.7vw,34px);letter-spacing:-.025em;color:var(--pink);margin:14px 0 34px}.hero-kicker{font-size:clamp(24px,3vw,36px);font-weight:700;letter-spacing:-.04em}.hero-copy{max-width:420px;color:#d2d4d9}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin:30px 0 44px}.btn{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;background:var(--cyan);color:#052323;border-radius:6px;padding:15px 24px;font-size:16px;font-weight:700;cursor:pointer;min-height:54px;line-height:1.3}.btn:hover{background:#95f7eb;color:#052323}.text-link{font-size:14px;border-bottom:1px solid #888;padding:12px 0}.hero-meta{display:flex;gap:30px;flex-wrap:wrap;font-size:13px;color:#d3d5dc}.hero-meta small{font-size:12px;color:var(--muted)}.marquee{padding:18px;text-align:center;font-size:clamp(17px,2.2vw,28px);font-weight:900;letter-spacing:-.03em;border-block:1px solid var(--line)}.marquee span{color:var(--pink);margin:0 16px}.wrap{max-width:1208px;margin:auto;padding:94px 24px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split>div>p{max-width:500px}.split figure{margin:0}.split figure img{border-radius:12px;aspect-ratio:1/1.08;width:100%;object-fit:cover}.split figcaption{color:var(--muted);font-size:12px;margin-top:12px}.cyan{color:var(--cyan)}.pink{color:var(--pink)}.standout{font-size:24px;font-weight:700;margin-top:28px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:26px}.section-head>p{max-width:320px;color:var(--muted)}.vibe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.vibe-grid figure{margin:0;background:var(--panel);border-radius:10px;overflow:hidden}.vibe-grid .media-zoom{width:100%;height:310px;object-fit:cover}.vibe-grid figcaption{font-size:19px;font-weight:700;padding:17px 20px}.vibe-grid figure:nth-child(3) .media-zoom img{object-position:50% 25%}.placeholder{border:1px dashed #4e5261;background:#171921;border-radius:8px;padding:23px;margin-top:26px}.placeholder h3{margin:15px 0 12px}.placeholder p{color:#bac0cb;font-size:14px;margin-bottom:10px}.placeholder a{font-size:14px;color:var(--cyan);display:inline-block;padding:8px 0}.pill{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;background:#292c39;padding:5px 10px;border-radius:4px;color:#d9dbea}.events-section,.contact-section{background:#11131a;border-block:1px solid var(--line)}.intro{color:var(--muted);max-width:550px}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:38px 0}.event-grid article{border-top:1px solid #535767;padding:28px 0 12px}.number{color:var(--pink);font-size:14px}.event-grid h3{margin:22px 0 16px}.event-grid p{font-size:16px;color:#c4c9d1}.event-grid a{font-size:14px;color:var(--cyan);display:inline-block;padding:12px 0}.package-draft{background:#191c25;padding:30px;border-radius:10px}.package-draft>h3{margin:22px 0}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:24px}.package-grid strong{display:block;font-size:19px}.package-grid p,.package-grid b{font-size:13px;color:var(--muted);margin:10px 0}.muted{color:var(--muted);font-size:14px}.review-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:80px}.review-grid blockquote{margin:0;background:var(--panel);border-radius:14px;padding:38px}.quote-mark{color:var(--cyan);font-size:70px;line-height:1}.review-grid blockquote>p{font-size:22px;line-height:1.5;letter-spacing:-.02em}.review-grid blockquote footer{display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:23px;margin-top:28px}.review-grid blockquote footer .media-zoom{width:62px;height:62px;object-fit:cover;border-radius:50%}.review-grid blockquote footer span{display:block;font-size:11px;color:var(--muted)}.why{padding-top:20px}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:40px}.why-grid h3{font-size:21px}.why-grid p{font-size:15px;color:#b3b9c4}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery>.media-zoom{width:100%;height:260px;object-fit:cover;border-radius:8px}.gallery>.media-zoom:nth-child(3){object-position:50% 25%}.area{border-block:1px solid var(--line)}.review-note{font-size:12px;color:#bbb6d4}.faq{max-width:900px}details{border-bottom:1px solid var(--line);padding:18px 0}summary{font-size:18px;font-weight:700;cursor:pointer;min-height:44px;padding:10px 35px 10px 0;line-height:1.4}details p{font-size:15px;max-width:640px;color:#c0c5cf;margin:8px 0 18px}.price{font-size:28px;font-weight:700;color:var(--pink)}form{border:1px solid #333949;padding:28px;border-radius:12px;background:#171a23}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:12px;font-weight:700;color:#c8cdda}input,select,textarea{display:block;width:100%;background:#0d1017;border:1px solid #414654;color:white;border-radius:5px;min-height:46px;padding:12px;font:14px Arial;margin-top:7px;min-width:0}input::placeholder,textarea::placeholder{color:#969eaf}input[type=date]{color-scheme:dark}label.full{grid-column:1/-1}form .btn{margin-top:24px;width:100%}output{display:block;white-space:pre-wrap;font-size:13px;color:#d5dce7;margin-top:18px;overflow-wrap:anywhere}.review-checklist{padding-block:45px}.review-checklist h3{margin:18px 0}.review-checklist ul{padding-left:22px;font-size:14px;color:#bec4ce}.review-checklist p{font-size:13px;color:var(--muted)}.site-footer{border-top:1px solid var(--line);background:#07080c}.site-footer .wrap{padding-block:48px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 30px;margin:22px 0;font-size:14px}.site-footer p{font-size:12px;color:var(--muted)}
@media(max-width:800px){header{padding:0 20px;height:74px}nav{gap:14px}nav>a:not(.small-btn){display:none}.brand{font-size:19px}.brand-image img{width:126px;height:60px}.small-btn{font-size:12px;padding:10px}.hero{min-height:610px}.hero-content{padding:66px 22px 45px}.hero-photo{object-position:58% 50%}.hero-shade{background:linear-gradient(90deg,#080b10e5,#080b1080),linear-gradient(0deg,#0b0c10,transparent)}.hero-content .eyebrow{font-size:9px;max-width:270px}.hero-copy{max-width:300px}.hero-meta{gap:10px;flex-direction:column}.wrap{padding:64px 22px}.split,.review-grid{grid-template-columns:1fr;gap:34px}.split figure img{aspect-ratio:1/1}.section-head{display:block}.section-head>p{max-width:100%}.vibe-grid{grid-template-columns:1fr}.vibe-grid figure{display:grid;grid-template-columns:1.2fr 1fr;align-items:center}.vibe-grid .media-zoom{height:190px}.vibe-grid figcaption{padding:16px}.event-grid,.package-grid{grid-template-columns:1fr;gap:10px}.event-grid article{padding-top:22px}.package-grid>div{padding:14px 0;border-bottom:1px solid #303646}.package-draft{padding:24px}.why-grid{grid-template-columns:1fr 1fr;gap:18px}.why-grid h3{font-size:19px}.gallery{grid-template-columns:1fr 1fr;gap:10px}.gallery>.media-zoom{height:190px}.review-grid blockquote{padding:26px}.review-grid blockquote>p{font-size:19px}.contact-section .split{gap:35px}form{padding:22px}.form-grid{grid-template-columns:1fr}label.full{grid-column:auto}.marquee{font-size:15px}.marquee span{margin:0 8px}.hero h1{font-size:60px}.subline{font-size:23px}.actions{gap:12px;margin-block:24px 35px}.review-checklist{padding-block:38px}h2{font-size:39px}}@media(max-width:360px){.hero h1{font-size:49px}.brand{font-size:17px}.brand-image img{width:110px;height:56px}header{padding-inline:16px;gap:8px}.small-btn{font-size:11px;padding-inline:9px}.wrap{padding-inline:18px}.hero-content{padding-inline:18px}.gallery>.media-zoom{height:155px}.why-grid{grid-template-columns:1fr}h2{font-size:34px}.subline{font-size:20px}.vibe-grid .media-zoom{height:160px}.vibe-grid figcaption{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[hidden]{display:none!important}.clips{margin-top:48px}.clip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.clip{position:relative;border-radius:10px;overflow:hidden;background:var(--panel);display:block}.clip img{width:100%;height:380px;object-fit:cover}.play{position:absolute;top:38%;left:calc(50% - 25px);width:50px;height:50px;border-radius:50%;background:#0b0c10c9;color:white;display:grid;place-items:center;font-size:20px}.clip-caption{display:block;padding:18px 20px;font-weight:700}.clip-caption small{display:block;color:var(--cyan);font-size:12px;font-weight:400;margin-top:4px}.review-grid .short-review{padding:24px;margin-top:30px}.review-grid .short-review>p{font-size:17px}.review-source{color:var(--cyan);font-size:12px;display:block;padding:10px 0}@media(max-width:800px){.clip-grid{grid-template-columns:1fr}.clip{display:grid;grid-template-columns:1fr 1fr;align-items:center}.clip img{height:240px}.play{top:calc(50% - 25px);left:calc(25% - 25px)}.clip-caption{padding:16px}.clip-caption small{font-size:11px}}@media(max-width:360px){.clip img{height:205px}.clip-caption{font-size:15px;padding:12px}}
/* Hero review update: real event photos, one-time typing and soft entrances. */
.hero-background{position:absolute;inset:0;overflow:hidden;background:#0b0c10}.hero-photo{opacity:0;transition:opacity 1.8s ease;object-position:65% 50%}.hero-photo.is-active{opacity:1}.hero-photo:nth-child(2){object-position:60% 45%}.hero-photo:nth-child(3){object-position:65% 45%}.subline{min-height:1.15em}.typewriter.is-typing::after{content:'';display:inline-block;width:2px;height:.85em;margin-left:5px;vertical-align:-.03em;background:currentColor;animation:cursor-pulse .65s step-end infinite}.hero-copy{width:340px;max-width:100%;text-align:center;line-height:1.6}.hero-you{display:block;color:var(--cyan);font-size:22px;letter-spacing:.09em;line-height:1.3;margin-top:6px}.marquee{display:flex;align-items:center;justify-content:center;gap:24px}.marquee span{margin:0}.marquee .marquee-side{color:var(--cyan)}.marquee .marquee-center{color:var(--pink)}.marquee-side.is-waiting{opacity:0}.marquee-side.is-entering{animation:gentle-fade 1.4s ease both}.marquee-side.is-entering:last-child{animation-delay:.2s}@keyframes cursor-pulse{50%{opacity:0}}@keyframes gentle-fade{from{opacity:0}to{opacity:1}}.hero-motion-toggle{position:absolute;right:24px;bottom:22px;z-index:2;border:1px solid #ffffff55;border-radius:30px;background:#0b0c10b8;color:#f5f5f6;padding:9px 14px;min-height:44px;font:12px Arial;cursor:pointer}.hero-motion-toggle:hover{background:#0b0c10}.hero-motion-toggle:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}@media(max-width:800px){.hero-photo{object-position:58% 50%}.hero-copy{width:300px}.hero-you{font-size:20px}.marquee{gap:14px;flex-wrap:wrap;padding:22px 12px}.marquee-side{font-size:14px}.marquee .marquee-center{order:3;flex-basis:100%;font-size:16px}.hero-content{padding-bottom:82px}.hero-motion-toggle{right:20px;bottom:18px}.hero-shade{background:linear-gradient(90deg,#080b10eb,#080b1099),linear-gradient(0deg,#0b0c10,transparent)}}@media(max-width:360px){.marquee{gap:10px}.marquee-side{font-size:12px}.hero-copy{width:280px}.hero-you{font-size:18px}}@media(prefers-reduced-motion:reduce){.hero-photo{transition:none}.hero-photo:not(:first-child){display:none}.hero-photo:first-child{opacity:1}.typewriter::after{display:none!important}.marquee-side{animation:none!important;opacity:1!important}.hero-motion-toggle{display:none}}

.inline-link{color:var(--cyan);border-bottom:1px solid var(--cyan)}
.motion-clips{align-items:start}.vclip{margin:0;border-radius:10px;overflow:hidden;background:var(--panel)}.vclip .media-zoom{width:100%;height:420px;object-fit:cover;display:block;background:#000}.vclip figcaption{padding:14px 18px;font-weight:700}
.clip-toggle{margin-top:16px;min-height:44px;border:1px solid #ffffff55;border-radius:30px;background:transparent;color:#f5f5f6;padding:10px 18px;font:13px Arial;cursor:pointer}
.more-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.more-reviews blockquote{margin:0;background:var(--panel);border-radius:14px;padding:26px;display:flex;flex-direction:column;justify-content:space-between}
.more-reviews blockquote p{font-size:16px;line-height:1.55}
.more-reviews footer{display:flex;align-items:center;gap:14px;border-top:1px solid var(--line);padding-top:16px;margin-top:10px}
.more-reviews footer .media-zoom{width:50px;height:50px;border-radius:50%;object-fit:cover}
.more-reviews footer span{display:block;font-size:12px;color:var(--muted)}
.gallery{grid-template-columns:repeat(3,1fr)}
.break-shoes{font-size:26px;font-weight:900;letter-spacing:-.03em;color:var(--pink);margin-top:26px}
#enquiry{background:var(--panel);border-radius:14px;padding:32px}
#enquiry h3{margin-bottom:18px}
#enquiry fieldset{border:0;padding:0;margin:0 0 6px}
#enquiry legend,#enquiry .field{display:block;font-size:17px;font-weight:700;margin:20px 0 10px;padding:0}
#enquiry .field small{font-weight:400;color:var(--muted)}
.chips{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chip{position:relative;display:block;margin:0}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip span{display:flex;align-items:center;justify-content:center;min-height:56px;border:2px solid #484e5a;border-radius:10px;font-size:18px;font-weight:700;background:#0b0c10}
.chip input:checked+span{background:var(--cyan);color:#052323;border-color:var(--cyan)}
.chip input:focus-visible+span{outline:3px solid #fff;outline-offset:3px}
#enquiry input[type=date],#enquiry input[type=text],#enquiry input:not([type]){width:100%;min-height:56px;font-size:18px;padding:12px 14px;border-radius:10px;border:2px solid #484e5a;background:#0b0c10;color:#fff;font-family:inherit}
#enquiry .wa-btn{background:#25d366;color:#052313;width:100%;min-height:64px;font-size:19px;margin-top:28px;justify-content:center;border-radius:10px}
#enquiry .wa-btn:hover{background:#5ae88f;color:#052313}
.alt-send{display:block;text-align:center;padding:16px;margin-top:6px;min-height:48px;border-bottom:0;text-decoration:underline;font-size:16px}
.float-bar{position:fixed;right:16px;bottom:16px;z-index:20;display:flex;gap:10px;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .3s,transform .3s}
.float-bar.show{opacity:1;pointer-events:auto;transform:none}
.float-wa,.float-top{min-height:52px;display:flex;align-items:center;justify-content:center;border-radius:30px;font-weight:700;box-shadow:0 4px 18px #000a}
.float-wa{background:#25d366;color:#052313;padding:0 22px;font-size:16px}.float-wa:hover{color:#052313;background:#5ae88f}
.float-top{background:#151821;border:1px solid #484e5a;width:52px;font-size:22px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:800px){.vclip .media-zoom{height:360px}.motion-clips{grid-template-columns:1fr 1fr}.motion-clips .vclip:first-child{grid-column:1/-1}.motion-clips .vclip:first-child .media-zoom{height:240px}.more-reviews{grid-template-columns:1fr}#enquiry{padding:22px}.gallery{grid-template-columns:1fr 1fr}}
@media(max-width:360px){.motion-clips{grid-template-columns:1fr}.chips{gap:8px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.float-bar{transition:none}}
@media(max-width:800px){.gallery>.media-zoom:last-child{grid-column:1/-1;height:220px}}

.packages{margin-top:56px}.packages h3{margin:0 0 28px}.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pkg{background:#191c25;border:1px solid #2b303d;border-radius:12px;padding:30px;display:flex;flex-direction:column}.pkg.featured{border-color:var(--cyan)}.pkg h4{font-size:24px;letter-spacing:-.03em;margin:18px 0 12px;line-height:1.1}.pkg-price{font-size:34px;font-weight:900;color:var(--pink);letter-spacing:-.04em;margin:0 0 4px;line-height:1.1}.pkg-price small{font-size:13px;font-weight:400;color:var(--muted);letter-spacing:0}.pkg-hours{font-size:14px;font-weight:700;color:var(--cyan);margin-bottom:16px}.pkg p:not(.pkg-price):not(.pkg-hours){font-size:15px;color:#c4c9d1;flex:1}.pkg-cta{display:flex;justify-content:space-between;align-items:center;min-height:48px;margin-top:10px;padding:12px 18px;border:1px solid var(--cyan);border-radius:6px;color:var(--cyan);font-size:15px;font-weight:700}.pkg.featured .pkg-cta{background:var(--cyan);color:#052323}.pkg-cta:hover{background:#95f7eb;color:#052323}.pkg-note{margin-top:22px;font-size:14px;color:var(--muted)}
@media(max-width:820px){.pkg-grid{grid-template-columns:1fr;gap:14px}.pkg{padding:24px}.packages{margin-top:40px}}

.more-reviews blockquote:first-child footer .media-zoom{width:62px;height:56px;object-fit:cover;object-position:center;border-radius:10px;flex:0 0 auto}

/* Small, clipped image zoom: no movement of the surrounding layout. */
.media-zoom{display:block;overflow:hidden;isolation:isolate;flex-shrink:0}
.media-zoom>img,.media-zoom>video{display:block;width:100%;height:100%;max-width:none;object-fit:cover;transform:scale(1);transition:transform 850ms cubic-bezier(.2,.65,.3,1);transform-origin:center}
.vibe-grid .media-zoom img{object-position:center}
.vibe-grid figure:nth-child(3) .media-zoom img,.gallery>.media-zoom:nth-child(3) img{object-position:50% 25%}
@media(hover:hover) and (pointer:fine){.media-zoom:hover>img,.media-zoom:hover>video{transform:scale(1.05)}}
@media(hover:none),(pointer:coarse),(max-width:800px){.media-zoom.is-visible>img,.media-zoom.is-visible>video{transform:scale(1.05)}}
@media(prefers-reduced-motion:reduce){.media-zoom>img,.media-zoom>video,.media-zoom:hover>img,.media-zoom:hover>video,.media-zoom.is-visible>img,.media-zoom.is-visible>video{transform:none!important;transition:none!important}}

/* Keep Mixcloud visible alongside the date button on mobile. */
nav>a.nav-mixcloud{display:inline-flex;white-space:nowrap}
@media(max-width:800px){nav{gap:12px}nav>a.nav-mixcloud{font-size:12px}}

@media(max-width:360px){nav{gap:8px}nav>a.nav-mixcloud{font-size:11px}}
.cc-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;max-width:760px;margin:0 auto;background:#151821;border:1px solid #292d37;border-radius:14px;padding:16px 18px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;box-shadow:0 10px 40px rgba(0,0,0,.55);color:#f2f4f8;font-size:14px;line-height:1.5}
.cc-banner p{margin:0;flex:1 1 280px}.cc-note{color:#aab1be}
.cc-btns{display:flex;gap:10px;flex:0 0 auto}
.cc-btns button{font:inherit;font-weight:600;cursor:pointer;border-radius:999px;padding:10px 20px;border:1px solid #29e0d5;background:transparent;color:#29e0d5}
.cc-btns .cc-accept{background:#29e0d5;color:#0b0c10}
.cc-btns button:focus-visible{outline:2px solid #ff4db6;outline-offset:2px}
.cc-link{background:none;border:0;padding:0;margin-left:12px;font:inherit;color:#aab1be;text-decoration:underline;cursor:pointer}
@media(max-width:520px){.cc-banner{left:10px;right:10px;bottom:84px}.cc-btns{width:100%}.cc-btns button{flex:1}}
