/* DJostik / After Dark — a compact entrance, then a full-screen instrument. */
.night-portal{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px 44px;max-width:1120px;margin-block:34px 38px;padding:30px 38px 18px;background:radial-gradient(ellipse at 78% 80%,#b9fa4820,transparent 43%),#151714;border:1px solid #a1be6e40;border-radius:10px;overflow:hidden}
.night-portal h2{font-size:clamp(2.4rem,4.8vw,4.3rem);margin:12px 0 12px;line-height:.98;letter-spacing:-.06em}
.night-portal .eyebrow{font-size:.75rem;color:#b0b5a7}
.night-portal-copy>p{font-size:1.0625rem;color:#e9ecd9}
.night-entry{display:flex;gap:18px;align-items:center;margin-top:20px}.night-entry>span{font-size:.875rem;color:#aab59d}.night-entry .button{min-height:50px;padding:13px 22px}
.night-door{position:relative;align-self:stretch;min-height:245px;background:linear-gradient(100deg,#141613,#22251f);border:1px solid #424839;border-bottom:3px solid #c4fa73;box-shadow:0 10px 25px -10px #c3ff6aaa;color:#eeeede;text-align:left;padding:26px;transform:perspective(900px) rotateY(-8deg);transition:transform .65s,border-color .4s}
.night-door::after{content:'';position:absolute;right:25px;top:54%;width:5px;height:32px;background:#aaa990;border-radius:2px;box-shadow:0 2px 5px #000}
.night-door:hover{transform:perspective(900px) rotateY(-17deg);border-color:#dcfa6b}
.night-door-number{display:block;font-size:2.8rem;line-height:.95;letter-spacing:-.06em;color:#c4c7b5}.night-door-caption{position:absolute;bottom:22px;font-size:.75rem;letter-spacing:.12em;color:#a5ad96}
.night-door-slit{position:absolute;bottom:-5px;height:2px;left:0;right:0;background:#dcfa6b;box-shadow:0 8px 40px 8px #c7fa6450}
.night-portal-note{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff16;padding-top:14px;font-size:.8125rem;color:#919b85;line-height:1.5}
.hero-night-link{color:var(--lime)!important}
/* A heading above the provider frame avoids an empty tall text column. */
.reviews.section{display:block;width:min(900px,calc(100% - 112px));padding-block:42px}
.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px}.reviews-heading h2{font-size:clamp(2rem,3.1vw,3rem);margin-top:12px}.reviews-heading p{margin:0 0 12px;font-size:.9375rem}.reviews-heading .text-button{font-size:.875rem;line-height:1.5}
.reviews-embed{max-width:760px;margin-inline:auto}.reviews-embed iframe{height:650px}
body.night-open{overflow:hidden}.night-open .ambient-background{visibility:hidden}.night-open .hero *{animation-play-state:paused!important}
.night-room{--night-accent:#dcfa6b;--night-purple:#9e79ff;--night-energy:.2;inset:0;margin:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:#080a09;color:#f2f0e4;overflow:auto;color-scheme:dark}
.night-room::backdrop{background:#080a09}.night-room [hidden]{display:none!important}.night-room button,.night-room input{font:inherit}.night-room button{touch-action:manipulation}.night-room button:focus-visible,.night-room input:focus-visible,.night-room a:focus-visible{outline:2px solid #dcfa6b;outline-offset:5px}.night-room button:disabled{opacity:.4;cursor:default;transform:none}.night-room input:disabled{opacity:.5}
.night-shell{position:relative;isolation:isolate;min-height:100%;display:grid;grid-template-rows:auto 1fr;overflow:hidden;background:radial-gradient(ellipse at 65% 42%,#1b251730,transparent 70%)}
#night-scene{position:absolute;inset:0;width:100%;height:100%;z-index:-2;pointer-events:none}
.night-photo-atmosphere{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,#080a09 5%,#080a09b5 58%,#080a098c),url('/assets/hero-neon.png') right center/auto 100% no-repeat;opacity:.19;pointer-events:none}
.night-grain{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:.025;background-image:url('/assets/release-reflections.webp');background-size:170px;mix-blend-mode:screen}
.night-topbar{display:flex;justify-content:space-between;gap:24px;align-items:center;position:relative;z-index:8;padding:18px 36px;border-bottom:1px solid #ffffff17;background:#090d0cb3}
.night-brand{font-size:1rem;font-weight:650;letter-spacing:-.025em;white-space:nowrap}.night-brand>span{font-weight:400;font-size:.75rem;letter-spacing:.08em;color:#9da292;margin-left:12px}
.night-top-controls{display:flex;align-items:center;gap:20px}.night-volume{display:flex;align-items:center;gap:12px;font-size:.8125rem;color:#babfab}.night-volume input{width:96px}
.night-utility{border:1px solid #71775b55;background:#191d1590;border-radius:4px;color:#e3e7d7;padding:10px 14px;min-height:44px;font-size:.875rem;line-height:1.4}.night-utility:hover{background:#323a2580}.night-utility>span{margin-left:10px;font-size:1.25rem}
.night-stage{display:grid;grid-template-rows:1fr auto auto auto;gap:20px;padding:34px clamp(24px,4vw,80px) 18px;max-width:1920px;width:100%;margin:auto;min-height:calc(100dvh - 82px);position:relative}
.night-shell[data-phase="door"] .night-stage,.night-shell[data-phase="entering"] .night-stage{visibility:hidden}
.night-headline{align-self:start;padding-top:8px;pointer-events:none}.night-headline .eyebrow{color:#a2af97;font-size:.75rem;letter-spacing:.15em}.night-headline h2{font-size:clamp(3rem,7.7vw,8rem);line-height:.88;letter-spacing:-.065em;font-weight:800;margin:23px 0 28px;max-width:950px}.night-headline em{color:#e8efd8;text-shadow:0 0 65px #c5fa6920}
.night-live{display:inline-flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid #cbdf9c36;background:#0c100bd9;font-size:.875rem;color:#b3c494}.night-live output{color:#e4faab;font-variant-numeric:tabular-nums;font-weight:600}
.night-desk{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:40px;align-items:center;background:#11160ef2;border:1px solid #9eb96a40;backdrop-filter:blur(12px);padding:24px 28px;box-shadow:0 15px 60px #0008;border-radius:7px}
.night-control-heading{display:flex;justify-content:space-between;align-items:center;font-size:1.125rem;gap:20px}.night-control-heading output{font-size:.875rem;color:#c7dc9e;font-variant-numeric:tabular-nums}
.night-room input[type=range]{appearance:none;-webkit-appearance:none;height:32px;cursor:pointer;background:transparent;margin:6px 0;touch-action:pan-y;accent-color:#dcfa6b;min-width:0}
.night-room input[type=range]::-webkit-slider-runnable-track{height:4px;background:linear-gradient(90deg,#dcfa6b,#8062bc);border-radius:4px}.night-room input[type=range]::-moz-range-track{height:4px;background:linear-gradient(90deg,#dcfa6b,#8062bc);border-radius:4px}
.night-room input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:26px;height:26px;border:4px solid #1f2818;background:#dcfa6b;border-radius:50%;margin-top:-11px;box-shadow:0 0 0 1px #a8c56a,0 0 15px #d3fa6b35}.night-room input[type=range]::-moz-range-thumb{width:20px;height:20px;border:4px solid #1f2818;background:#dcfa6b;border-radius:50%}
#night-energy,#night-crossfade{width:100%;min-height:44px}.night-energy-labels{display:flex;justify-content:space-between;gap:14px;font-size:.8125rem;color:#c2c7b7}.night-energy p{font-size:.8125rem;margin-top:10px;color:#8d9981}
.night-drop{display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid #b7d370;background:#dbfa6a;color:#17220a;border-radius:5px;min-height:112px;gap:9px;box-shadow:0 0 40px #c6fa6917;transition:box-shadow .4s,background .4s}
.night-drop:not(:disabled):hover{box-shadow:0 0 42px #c6fa6933;background:#e5ff8d}.night-drop>span{font-size:2.65rem;line-height:1;font-weight:800;letter-spacing:-.055em}.night-drop small{font-size:.8125rem;font-weight:450}.night-drop:disabled{opacity:.75}
.night-bottom{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.night-staff{display:flex;align-items:center;gap:25px;border:1px solid #d2dfb15c;padding:11px 16px;min-height:44px;background:#121810c9;color:#dae0c9;font-size:.8125rem;letter-spacing:.1em;border-radius:3px}.night-staff:hover{border-color:#dcfa6b;color:#dcfa6b}.night-poster-link{background:transparent;border:0;color:#d9efa9;font-size:.9375rem;min-height:44px;padding:6px 0}.night-poster-link>span{margin-left:12px}.night-motion{display:flex;gap:9px;align-items:center;color:#a4ae97;font-size:.8125rem;margin-left:auto;min-height:44px}.night-motion input{width:18px;height:18px;accent-color:#dcfa6b}.night-status{min-height:21px;font-size:.8125rem;color:#8d9e7d;margin-top:-8px;max-width:860px}
.night-entry-screen{position:absolute;inset:82px 0 0;background:#070907;z-index:7;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;padding:24px;perspective:1000px;overflow:hidden}.night-entry-screen>p{color:#ccd2bf;text-align:center;font-size:1rem}.night-entry-door{width:min(230px,42vw);height:min(400px,50dvh);background:linear-gradient(110deg,#121611,#22281d);border:1px solid #64784a44;border-bottom:4px solid #d9fc78;box-shadow:0 20px 80px -20px #d4ff75a8;transform-origin:left;display:flex;align-items:center;justify-content:center;flex-shrink:0}.night-entry-door>span{font-size:1rem;color:#a1ac8e;letter-spacing:.12em;line-height:1.4;text-align:center}
.night-shell[data-phase=entering] .night-entry-door{animation:night-door-open 2s cubic-bezier(.3,.05,.3,1) forwards}.night-shell[data-phase=entering] .night-entry-screen{animation:night-door-fade 2s ease-in forwards}.night-shell[data-phase=entering] .night-stage{visibility:visible}
@keyframes night-door-open{0%{transform:rotateY(0) scale(1)}60%{transform:rotateY(-90deg) scale(1.2)}100%{transform:translateZ(420px) rotateY(-100deg) scale(1.8);opacity:0}}
@keyframes night-door-fade{0%,45%{background:#070907}100%{background:transparent}}
.night-drop-message{position:absolute;top:48%;right:7%;max-width:58%;font-size:clamp(2.2rem,5vw,5rem);font-weight:800;line-height:1;letter-spacing:-.05em;color:#edfad5;text-align:right;text-shadow:0 0 45px #d4fa6940;pointer-events:none;min-height:1em}.night-drop-message small{display:block;font-size:1rem;letter-spacing:.2em;font-weight:450;margin-top:18px}
.night-shell[data-panel] .night-stage{filter:brightness(.4);pointer-events:none}
.night-panel{position:absolute;z-index:9;right:30px;top:95px;bottom:24px;width:min(450px,calc(100% - 48px));padding:26px;background:#141a12f5;backdrop-filter:blur(20px);border:1px solid #8dba695b;border-radius:8px;overflow:auto;box-shadow:0 30px 110px #000a}.night-panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:26px}.night-panel .eyebrow{color:#adbfa0;font-size:.75rem;letter-spacing:.07em}.night-panel-heading .night-utility{font-size:.75rem;padding:8px 10px;white-space:nowrap}.night-panel h3{font-size:2.15rem;line-height:1;letter-spacing:-.045em;margin:0 0 15px}.night-panel p{font-size:.9375rem;line-height:1.5;color:#a5b59a;margin:12px 0}.night-studio-photo{width:100%;height:130px;object-fit:cover;object-position:center 67%;border:1px solid #c4f98530;margin:22px 0;filter:saturate(.6)}
.night-studio-tracks{display:flex;justify-content:space-between;gap:18px;margin:20px 0}.night-studio-tracks b{display:block;font-size:.875rem;font-weight:600;color:#d2ebae}.night-studio-tracks small{display:block;font-size:.8125rem;color:#97a788}.night-studio-tracks>span:last-child{text-align:right}.night-panel label{display:block;font-size:.875rem;color:#d7e1c9;margin:18px 0 6px}.night-panel label output{float:right;color:#acc786;font-size:.8125rem}#night-dj-name{width:100%;border:1px solid #87a3686b;border-radius:4px;background:#0c110a;color:#f0f1df;padding:12px;font-size:1rem;min-height:48px}#night-poster-preview{display:block;width:100%;height:auto;max-width:280px;aspect-ratio:4/5;margin:18px auto;border:1px solid #adc38542}#night-download{width:100%;min-height:50px}#night-poster-status{font-size:.8125rem}#night-poster-fallback{font-size:.875rem;color:#dcfa6b}
@media(min-width:2000px){.night-portal{max-width:1250px}.night-stage{padding-block:46px 28px}.night-headline h2{font-size:9.4rem}.night-desk{max-width:1400px}.night-drop-message{right:10%}}
@media(max-width:900px){.night-topbar{padding:12px 22px;gap:14px}.night-brand>span{display:none}.night-top-controls{gap:10px}.night-volume{font-size:.75rem;gap:8px}.night-volume input{width:76px}.night-stage{min-height:calc(100dvh - 70px);padding:28px 24px 14px;gap:18px}.night-headline h2{font-size:clamp(3.5rem,10vw,6.5rem)}.night-desk{gap:24px;padding:20px;grid-template-columns:minmax(0,1fr) 200px}.night-drop{min-height:108px}.night-drop>span{font-size:2.35rem}.night-entry-screen{inset-block-start:70px}.night-drop-message{top:43%;right:8%;font-size:3.2rem}.night-panel{top:82px;right:18px;bottom:18px}.reviews.section{width:calc(100% - 64px)}.night-portal{grid-template-columns:minmax(0,1fr) 180px;padding:28px 28px 16px;gap:20px 28px}}
@media(max-width:620px){.night-portal{width:calc(100% - 40px);margin-block:26px;grid-template-columns:minmax(0,1fr) 94px;padding:24px 20px 16px;gap:18px 12px}.night-portal h2{font-size:2.7rem}.night-portal .eyebrow{font-size:.75rem;letter-spacing:.04em;max-width:180px}.night-portal-copy>p{font-size:.9375rem;max-width:175px}.night-entry{flex-wrap:wrap;gap:8px;margin-top:17px}.night-entry .button{font-size:.875rem;gap:12px;padding:12px 14px;min-height:48px}.night-entry>span{font-size:.75rem}.night-door{padding:14px;min-height:230px}.night-door-number{font-size:1.7rem}.night-door::after{right:13px;width:3px;height:25px}.night-door-caption{font-size:.75rem;letter-spacing:.01em;max-width:60px}.night-portal-note{display:block;font-size:.75rem;padding-top:12px}.night-portal-note>span+span{display:block;margin-top:4px}.reviews.section{width:calc(100% - 40px);padding-block:30px}.reviews-heading{display:block;margin-bottom:20px}.reviews-heading h2{margin-bottom:16px}.reviews-heading p{font-size:.875rem}.reviews-embed iframe{height:620px}.night-topbar{padding:10px 16px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.night-brand{font-size:.875rem}.night-top-controls{display:contents}.night-volume{grid-row:2;grid-column:1/-1;justify-content:space-between;font-size:.8125rem}.night-volume input{width:calc(100% - 100px);height:24px;margin:0}.night-top-controls .night-utility{grid-row:1;padding:8px 10px;font-size:.8125rem;min-height:42px}.night-top-controls #night-sound{grid-column:2;margin-right:90px}.night-top-controls #night-exit{grid-column:2;justify-self:end;width:80px}.night-top-controls #night-exit>span{margin-left:4px}.night-stage{padding:24px 18px 12px;min-height:calc(100dvh - 98px);gap:16px}.night-headline .eyebrow{font-size:.75rem;letter-spacing:.06em}.night-headline h2{font-size:clamp(2.9rem,14vw,5.1rem);line-height:.91;margin:18px 0 22px}.night-live{font-size:.8125rem;padding:7px 10px;gap:8px}.night-headline{min-height:270px}.night-desk{grid-template-columns:1fr;padding:18px;gap:16px;background:#10170eef}.night-control-heading{font-size:1rem}.night-energy-labels{font-size:.75rem;gap:8px}.night-energy p{font-size:.75rem}.night-drop{min-height:68px;flex-direction:row;gap:20px;justify-content:space-between;padding:13px 18px}.night-drop>span{font-size:2rem}.night-drop small{max-width:132px;font-size:.75rem;text-align:right}.night-bottom{gap:4px 16px;align-items:center}.night-staff{padding:9px 12px;font-size:.75rem;gap:14px}.night-poster-link{font-size:.8125rem;text-align:left}.night-motion{margin-left:0;font-size:.75rem;min-height:36px}.night-status{font-size:.75rem;line-height:1.5}.night-drop-message{top:200px;right:24px;max-width:72%;font-size:2.1rem}.night-drop-message small{font-size:.8125rem;margin-top:8px}.night-entry-screen{inset-block-start:96px}.night-entry-door{height:38dvh}.night-panel{inset:110px 12px 12px;width:auto;padding:20px}.night-panel h3{font-size:2rem}.night-panel-heading{margin-bottom:22px}.night-photo-atmosphere{background-size:auto 80%;opacity:.13}.night-grain{display:none}}
@media(max-height:700px) and (min-width:621px){.night-stage{min-height:620px}.night-headline h2{font-size:4.5rem}.night-drop-message{top:35%}.night-panel{position:fixed;top:82px}.night-entry-door{height:42dvh}}
@media(prefers-reduced-motion:reduce){.night-door{transition:none;transform:none}.night-shell[data-phase=entering] .night-entry-door,.night-shell[data-phase=entering] .night-entry-screen{animation:none}.night-drop{transition:none}}

@media(max-width:620px){.night-portal{grid-template-columns:minmax(0,1fr) 78px}.night-portal h2{font-size:clamp(2rem,8vw,2.7rem)}.night-entry .button{width:100%;justify-content:center;gap:0}.night-entry .button>span{display:none}.night-door{padding:11px}.night-door-number{font-size:1.5rem}.night-door-caption{font-size:.75rem}}

.night-portal h2,.night-headline h2,.night-panel h3{overflow-wrap:anywhere}
.night-stage{min-height:calc(100dvh - var(--night-bar-height,82px))}
.night-entry-screen{top:var(--night-bar-height,82px)}
.night-panel{top:calc(var(--night-bar-height,82px) + 12px)}
@media(max-width:620px){.night-topbar{grid-template-columns:minmax(0,1fr) auto}.night-brand{white-space:normal;overflow-wrap:anywhere}.night-drop-message{font-size:clamp(1.65rem,7.8vw,2.1rem)}}

/* A wide club entrance, real review excerpts and a gift-led introduction. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.night-portal{width:min(1320px,calc(100% - 112px));max-width:none;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);padding:32px 40px 17px;gap:20px 38px;background:radial-gradient(ellipse at 74% 83%,#d2ff6a19,transparent 44%),linear-gradient(120deg,#1a1e16,#101410 70%);border-color:#b1cc7245;isolation:isolate}
.night-portal-copy{position:relative;z-index:1;align-self:center}.night-portal-copy>.eyebrow{display:flex;gap:16px;align-items:center;flex-wrap:wrap;color:#c7d7ab;font-size:.75rem;letter-spacing:.1em}.night-entry-tag{border:1px solid #b8d5793d;border-radius:3px;padding:4px 7px;color:#9ba58e;font-size:.75rem;letter-spacing:.02em}
.night-portal h2{font-size:clamp(3.2rem,5.5vw,5.7rem);margin:19px 0 18px;line-height:.9;font-weight:800;letter-spacing:-.06em}.night-portal h2 em{color:#dcfa6b;text-shadow:0 0 50px #cbfa6820}.night-portal-copy>p{font-size:1rem;line-height:1.5;color:#bfc9af;max-width:410px}.night-portal .night-entry{margin-top:22px}.night-portal .night-entry .button{min-width:190px;min-height:52px}
.night-door-stage{position:relative;display:grid;place-items:center;min-height:300px;border-left:1px solid #e0ffc917;background:radial-gradient(ellipse at 52% 94%,#d4ff6638,transparent 53%);isolation:isolate}
.night-door-stage::before{content:'';position:absolute;inset:-32px -40px -19px 0;z-index:-1;background:linear-gradient(90deg,#121610,transparent 70%),linear-gradient(0deg,#11180cf0,#0a100ceb),url('/assets/studios/dj-detail.webp') center 66%/cover;opacity:.9}
.night-door-stage .night-door{align-self:center;width:210px;height:280px;min-height:0;padding:24px;transform:perspective(900px) rotateY(-13deg) rotateZ(1deg);transform-origin:left;background:linear-gradient(115deg,#343a29,#11170f 80%);border-color:#81935066;border-bottom:4px solid #d6ff71;box-shadow:7px 13px 0 #060806,-16px 6px 48px #000a,0 15px 38px -15px #d0ff73b0;transition:transform .65s,border-color .5s,box-shadow .5s}
.night-door-stage .night-door:hover{transform:perspective(900px) rotateY(-25deg) rotateZ(0);border-color:#cdec81;box-shadow:7px 13px 0 #060806,-16px 6px 48px #000a,0 15px 50px -10px #d0ff73b0}
.night-door-kicker{position:absolute;left:23px;top:24px;font-size:.75rem;letter-spacing:.045em;color:#9eab83}.night-door-stage .night-door-number{font-size:2.6rem;line-height:.94;color:#e3e8d0;font-weight:600;letter-spacing:-.055em}.night-door-stage .night-door-caption{left:24px;right:24px;bottom:22px;font-size:.75rem;letter-spacing:.03em;max-width:none;color:#b2c18b}.night-door-orbit{position:absolute;right:8px;top:20px;writing-mode:vertical-rl;font-size:.75rem;letter-spacing:.12em;color:#98a57d}.night-door-coordinate{position:absolute;left:22px;bottom:2px;font-size:.75rem;letter-spacing:.08em;color:#687b53}.night-portal-note{padding-top:15px;color:#93a17d;font-size:.8125rem}
.reviews.section{width:min(1320px,calc(100% - 112px));padding-block:38px}.reviews-heading{margin-bottom:24px}.reviews-heading h2{font-size:clamp(2rem,3vw,3.1rem);line-height:1.06}.reviews-heading>.text-button{font-size:.875rem;flex-shrink:0;margin-bottom:4px}
.review-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.review-quote{margin:0;padding:26px 28px;background:linear-gradient(130deg,#23291d,#191e16);border:1px solid #99b76944;border-radius:7px;display:flex;flex-direction:column;min-width:0}.review-source{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;font-size:.8125rem;color:#a3af93}.review-source>span:first-child{color:#dcfa6b;font-size:1.125rem;letter-spacing:.06em}.review-quote blockquote{font-size:clamp(1rem,1.1vw,1.2rem);line-height:1.6;margin:0 0 25px;color:#e5e9d9}.review-quote figcaption{display:flex;gap:12px;align-items:center;margin-top:auto}.review-initial{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#343f26;color:#dcfa6b;font-size:1rem;font-weight:600}.review-quote figcaption strong,.review-quote figcaption div>span{display:block}.review-quote figcaption strong{font-size:.9375rem;line-height:1.4;font-weight:550}.review-quote figcaption div>span{font-size:.8125rem;color:#89977b;line-height:1.5}.reviews-live{border-top:1px solid #a8bf6f35;margin-top:22px}.reviews-live summary{display:flex;justify-content:space-between;gap:20px;padding-block:14px;font-size:.875rem;cursor:pointer;list-style:none;color:#c4d4ae;min-height:48px}.reviews-live summary>span{font-size:1.3rem;line-height:1}.reviews-live[open] summary>span{transform:rotate(45deg)}.reviews-live .reviews-embed{padding-top:12px;max-width:760px}.reviews-live iframe{height:650px}
.gift-intro{text-align:center;max-width:820px;margin:0 auto 24px}.gift-intro h2{font-size:clamp(2.1rem,3.3vw,3.4rem);line-height:1.04;margin:14px 0 18px;font-weight:750}.gift-intro h2>span{color:#52721d}.gift-intro>p{font-size:1rem;line-height:1.55;color:#636d55}.gift-intro .eyebrow{font-size:.75rem}.gift-reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1180px;margin:0 auto 25px}.gift-reasons article{background:linear-gradient(115deg,#1c2418,#303e20);border:1px solid #7b985d;border-radius:7px;padding:19px 21px;color:#f0f3e7}.gift-reasons h3{font-size:1.0625rem;line-height:1.3;letter-spacing:-.015em;font-weight:600}.gifts .gift-reasons p{font-size:.9375rem;line-height:1.5;color:#bdcfa6;margin-top:8px}.gifts .gift-builder-lead{max-width:1180px;margin:0 auto 16px;font-size:.9375rem;color:#535f46}
.releases.section{padding-block:36px}.releases .section-top{margin-bottom:22px}.releases h2{font-size:clamp(1.9rem,3vw,2.8rem);margin-top:14px}.releases-subtitle{font-size:.9375rem;line-height:1.5;margin-top:10px}.release-grid{gap:20px}.release-grid .release-art,.release-grid .release-next{aspect-ratio:auto;height:clamp(190px,18vw,265px)}.release-grid .release-next{gap:12px;padding:20px}.release-grid .next-plus{font-size:2.8rem;line-height:1}.release-grid .release-next>strong{font-size:1.2rem;line-height:1.3}.release-grid .cover-type{bottom:20px;left:22px;right:22px}.release-caption{padding-top:10px}.release-school-note{margin-top:23px;padding-top:18px;gap:30px}.release-school-note p{font-size:.9375rem;margin-top:6px;line-height:1.5}.school-moments{margin-top:17px}.school-moments summary{padding-block:12px;font-size:.875rem}
.night-stage{grid-template-rows:1fr auto auto auto auto;gap:16px}.night-pack-picker>span{display:block;font-size:.75rem;letter-spacing:.09em;color:#a3b98d;margin-bottom:8px}.night-pack-options{display:flex;gap:8px;flex-wrap:wrap}.night-pack-options button{min-height:44px;padding:9px 16px;border:1px solid #bdd79647;border-radius:4px;background:#12190eef;color:#c5d2b5;font-size:.875rem;line-height:1.4;transition:background .25s,border-color .25s}.night-pack-options button[aria-pressed=true]{background:#dafa6b;color:#172009;border-color:#dafa6b}.night-pack-options button:hover:not(:disabled){border-color:#c3e784}.night-pack-picker[aria-busy=true]{opacity:.7}.night-panel .night-pack-picker{margin:20px 0 16px}.night-panel .night-pack-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.night-panel .night-pack-options button{padding:8px 7px;font-size:.8125rem}.night-studio-photo{height:95px;margin-block:16px}
@media(min-width:1800px){.night-portal,.reviews.section{width:min(1600px,calc(100% - 160px))}.night-portal{padding-inline:50px;grid-template-columns:1.08fr .92fr}.night-door-stage{min-height:310px}.night-portal h2{font-size:5.8rem}.review-quote{padding:30px 34px}.review-quote blockquote{font-size:1.125rem}.release-grid .release-art,.release-grid .release-next{height:265px}}
@media(max-width:900px){.night-portal,.reviews.section{width:calc(100% - 64px)}.night-portal{padding:28px 28px 16px;grid-template-columns:minmax(0,1fr) 240px;gap:20px}.night-portal h2{font-size:3.8rem}.night-door-stage .night-door{width:170px;height:260px}.night-door-stage .night-door-number{font-size:2.2rem}.night-door-orbit{right:-10px;font-size:.75rem;letter-spacing:.05em}.night-door-coordinate{display:none}.night-entry-tag{display:none}.review-quote{padding:22px}.reviews-heading{align-items:center;gap:22px}.reviews-heading>.text-button{max-width:190px}.gift-reasons{gap:10px}.gift-reasons article{padding:16px}.gift-reasons h3{font-size:1rem}.releases .section-top{gap:18px}.release-grid .release-art,.release-grid .release-next{height:220px}.release-grid .release-next>strong{font-size:1.05rem}}
@media(max-width:620px){.night-portal,.reviews.section{width:calc(100% - 40px)}.night-portal{grid-template-columns:minmax(0,1fr) 90px;gap:16px 12px;padding:24px 20px 14px}.night-portal-copy>.eyebrow{font-size:.75rem;letter-spacing:.03em;line-height:1.5}.night-portal h2{font-size:clamp(2.2rem,8vw,3rem);line-height:.94;margin:15px 0}.night-portal-copy>p{font-size:.875rem;line-height:1.5}.night-portal .night-entry{margin-top:18px}.night-portal .night-entry .button{min-width:0;width:100%;min-height:48px;padding:11px 8px}.night-door-stage{min-height:220px;border-left:0}.night-door-stage::before{inset:-24px -20px -14px -10px}.night-door-stage .night-door{width:87px;height:220px;padding:10px;transform:perspective(800px) rotateY(-12deg)}.night-door-stage .night-door-number{font-size:1.45rem;line-height:.98}.night-door-stage .night-door-caption{font-size:.75rem;left:10px;right:10px;bottom:17px;line-height:1.4}.night-door-kicker{font-size:.75rem;top:15px;left:10px;right:10px;line-height:1.4}.night-door-orbit{display:none}.night-portal-note{font-size:.75rem;line-height:1.5;padding-top:12px}.night-portal-note>span+span{display:none}.reviews.section{padding-block:28px}.reviews-heading{display:block}.reviews-heading>.text-button{max-width:none;margin-top:14px}.review-quotes{grid-template-columns:1fr;gap:12px}.review-quote{padding:20px}.review-quote blockquote{font-size:1rem;margin-bottom:18px}.review-source{margin-bottom:12px}.reviews-live{margin-top:14px}.reviews-live iframe{height:620px}.gift-intro{margin-bottom:20px;text-align:left}.gift-intro h2{font-size:2.15rem;margin-block:12px 15px}.gift-intro>p{font-size:.9375rem}.gift-intro>p br{display:none}.gift-reasons{grid-template-columns:1fr;gap:8px;margin-bottom:21px}.gift-reasons article{padding:13px 16px}.gift-reasons h3{font-size:1rem}.gifts .gift-reasons p{margin-top:4px;font-size:.875rem}.gifts .gift-builder-lead{font-size:.875rem;margin-bottom:12px}.releases.section{padding-block:28px}.releases .section-top{margin-bottom:18px}.releases .release-disclosure{font-size:.75rem}.release-grid{gap:18px}.release-grid .release-art,.release-grid .release-next{height:205px}.release-grid .release-next{min-height:0}.release-school-note{margin-top:19px;gap:16px}.night-pack-options button{font-size:.8125rem;padding:8px 10px}.night-pack-options{gap:6px}.night-stage{gap:14px}.night-headline{min-height:245px}.night-pack-picker>span{font-size:.75rem;margin-bottom:6px}.night-panel .night-pack-options button{font-size:.8125rem}.night-studio-photo{height:80px}}
@media(prefers-reduced-motion:reduce){.night-door-stage .night-door{transform:none;transition:none}.night-door-stage .night-door:hover{transform:none}.night-pack-options button{transition:none}}

/* Controls and studio remain reachable after scrolling a short phone screen. */
.night-topbar{position:sticky;top:0}
.night-panel{position:fixed}
@media(max-width:620px){.night-headline{min-height:220px}}

/* Trial conditions, direct contacts and a quieter gift introduction. */
.header-messenger{font-size:.875rem;color:#c8e796;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.booking-messenger{width:100%;margin-top:10px;justify-content:space-between}
.contact-details .contact-messenger{font-size:1rem;color:#dcfa6b;margin-top:14px}
.hero-cta>span{max-width:330px;font-size:.875rem;line-height:1.55}
.trial-price{flex-wrap:wrap}.trial-price strong{font-size:clamp(2rem,3.4vw,3.5rem)}
.trial-price>span{font-size:.9375rem;line-height:1.5}
.gift-simple-heading{margin-bottom:26px}.gift-simple-heading h2{font-size:clamp(2rem,3.7vw,3.5rem);margin-top:12px;line-height:1.1;max-width:none}
.gifts.section{padding-block:42px}
#reviews .reviews-heading{margin-bottom:22px;align-items:end}
#reviews .reviews-heading h2{font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.07}
#reviews .reviews-embed{width:100%;max-width:none;margin:0;border-radius:10px;background:white;overflow:hidden}
#reviews .reviews-embed iframe{display:block;width:100%;height:560px;border:0}
.reviews-provider-note{font-size:.875rem;color:#a3ae99;margin:12px 0 0}

/* Each fader controls an isolated musical stem; duplicate controls stay in sync. */
.night-stage{grid-template-rows:1fr auto auto auto auto auto}
.night-channel-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;max-width:1500px;width:100%;padding:18px 20px;border:1px solid #bad89033;border-radius:6px;background:#10160fee}
.night-channel{min-width:0;padding-right:14px;border-right:1px solid #d2e8ba1f}
.night-channel:last-child{border-right:0;padding-right:0}
.night-channel label,.night-panel .night-channel label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.9375rem;margin:0 0 4px;color:#eef3e3}
.night-channel label output,.night-panel .night-channel label output{float:none;font-variant-numeric:tabular-nums;font-size:.8125rem;color:#cae69d}
.night-channel input[type=range]{width:100%;min-height:44px;accent-color:#dcfa6b;cursor:ew-resize}
.night-channel small{display:block;font-size:.75rem;color:#a1b68e}
.night-channel-strip input:focus-visible{outline:2px solid #dcfa6b;outline-offset:4px;border-radius:3px}
.night-panel#night-studio{width:min(660px,calc(100% - 48px))}
.night-panel .night-channel-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin-top:22px;padding:18px;background:#0b100ae6}
.night-panel .night-channel:nth-child(2n){border-right:0;padding-right:0}
.night-panel .night-channel:last-child{grid-column:1/-1}
.night-panel .night-channel small{font-size:.8125rem}
.night-studio-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.night-studio-actions .button{min-height:50px;padding:13px 18px;font-size:.9375rem}
.night-studio-actions .button:disabled{opacity:.45;cursor:not-allowed}
.night-panel .night-result-hint{font-size:.8125rem;margin-top:10px}
.night-result-stamp{display:block;font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.05em;font-weight:700;color:#dcfa6b;border-block:1px solid #d9fda336;padding:14px 0;margin-bottom:24px}
.night-result-panel h3{font-size:2.6rem;line-height:1.05}.night-result-panel h3 em{font-style:normal;color:#dcfa6b}
#night-result-summary{font-size:.875rem;color:#d3e3bb;border-bottom:1px solid #d9fda326;padding-bottom:16px}
#night-result-trial{width:100%;margin-top:15px;font-size:1rem;min-height:52px;justify-content:space-between}
.night-panel .night-trial-terms{font-size:.8125rem;line-height:1.6;color:#b9c4ac}
.night-result-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}
@media(max-width:1440px){.header-messenger{display:none}}
@media(max-width:900px){.night-channel-strip{gap:10px;padding:16px}.night-channel label,.night-panel .night-channel label{font-size:.875rem}.night-channel{padding-right:8px}.night-channel label{flex-wrap:wrap}}
@media(max-width:620px){
 .hero-cta>span{font-size:.8125rem;max-width:none}.trial-price{gap:12px}.gift-simple-heading{margin-bottom:20px}.gift-simple-heading h2{font-size:2rem}.gifts.section{padding-block:30px}
 #reviews .reviews-embed iframe{height:570px}.reviews-provider-note{font-size:.8125rem}
 .night-channel-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px}.night-channel:nth-child(2n){border-right:0;padding-right:0}.night-channel:last-child{grid-column:1/-1}.night-channel label{flex-wrap:nowrap}
 .night-panel#night-studio{width:auto}.night-panel .night-channel-strip{padding:14px;gap:14px}.night-studio-actions{flex-direction:column-reverse;align-items:stretch}.night-studio-actions .button{width:100%;justify-content:space-between}.night-result-panel h3{font-size:2.2rem}
 .night-bottom .night-motion{width:100%}
}

/* Keep the room header sticky within the dialog, without a nested scroll box. */
.night-shell{overflow:clip}

/* The provider's reviews stop at 760px; the remaining column is our own content. */
.reviews-layout{display:grid;grid-template-columns:minmax(0,760px) minmax(0,1fr);gap:24px;align-items:stretch}
#reviews .reviews-layout .reviews-embed{max-width:760px;background:#fff;min-width:0}
.reviews-invite{display:grid;grid-template-rows:minmax(180px,1fr) auto;min-width:0;height:560px;overflow:hidden;border:1px solid #bad89038;border-radius:10px;background:#171e15}
.reviews-invite>img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 55%}
.reviews-invite-copy{padding:24px 28px 18px}
.reviews-invite-copy .eyebrow{font-size:.75rem;color:#b4c8a0;letter-spacing:.08em}
.reviews-invite h3{font-size:clamp(1.6rem,2.5vw,2.5rem);line-height:1.05;margin:10px 0 12px;letter-spacing:-.045em;color:#f3f3e9}
.reviews-invite-copy>p{font-size:1rem;line-height:1.5;color:#bfccb3;margin:0 0 16px;max-width:460px}
.reviews-invite .button{min-height:48px;font-size:.9375rem;padding:12px 18px;gap:22px}
.reviews-invite-copy .reviews-invite-terms{font-size:.8125rem;line-height:1.5;margin:12px 0 0;color:#a5b397}
.gifts .gift-builder{max-width:none}
@media(max-width:1250px){.reviews-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px}.reviews-invite-copy{padding:20px}.reviews-invite h3{font-size:1.85rem}}
@media(max-width:900px){.reviews-layout{grid-template-columns:minmax(0,1fr);max-width:760px;margin-inline:auto}#reviews .reviews-layout .reviews-embed{max-width:none}.reviews-invite{height:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto}.reviews-invite>img{min-height:280px}.reviews-invite-copy{padding:24px}}
@media(max-width:620px){.reviews-layout{gap:16px}.reviews-invite{grid-template-columns:1fr;grid-template-rows:210px auto}.reviews-invite>img{min-height:0;object-position:center 55%}.reviews-invite-copy{padding:20px}.reviews-invite h3{font-size:1.85rem}.reviews-invite .button{width:100%;justify-content:space-between}.reviews-invite-copy>p{font-size:.9375rem}}

/* Fixed navigation and one clear path from trying a mix to a trial lesson. */
.header{position:sticky;top:0;z-index:40;height:78px;background:#10140ff5;backdrop-filter:blur(14px)}
.header-actions .header-messenger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:50%;min-height:44px}
.header-messenger img{width:32px;height:32px;object-fit:contain}
.header-messenger:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
html{scroll-padding-top:96px}.mobile-nav{position:fixed;top:78px;z-index:39}
.studio-viewport{width:100%;height:clamp(280px,31vw,480px);max-height:none;aspect-ratio:auto}
.studio-slide.studio-portrait img{object-fit:cover;object-position:center 38%}
.night-portal-copy>p{max-width:560px}.night-entry .button{gap:18px}
.night-door-stage .night-door-number{font-size:clamp(1.6rem,2.8vw,3rem)}
.night-stage{grid-template-rows:auto auto auto auto auto auto auto;gap:18px;padding-top:24px}
.night-headline{min-height:0!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,420px);gap:14px 36px;align-items:center}
.night-headline h2{grid-column:1;grid-row:1/3;font-size:clamp(2.5rem,4.6vw,5rem);margin:0;line-height:.96}
.night-howto{grid-column:2;grid-row:1;font-size:1rem;line-height:1.6;color:#c4d3b7;max-width:420px;margin:0}
.night-live{grid-column:2;grid-row:2;justify-self:start}
.night-main-mixer{padding:22px 26px;border:1px solid #c4ee7770;border-radius:8px;background:#162010ed;box-shadow:0 0 40px #b7f96912}
.night-main-mixer-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.night-main-mixer h3{font-size:1.65rem;letter-spacing:-.035em;margin:0 0 5px}.night-main-mixer-heading p{font-size:1rem;line-height:1.45;color:#bfcfb1;margin:0}.night-main-mixer output{color:#defa9d;font-variant-numeric:tabular-nums;white-space:nowrap}
.night-main-tracks{display:flex;justify-content:space-between;gap:20px;color:#c5daaf;font-size:.875rem;margin-top:20px}.night-main-tracks span:last-child{text-align:right}
#night-main-crossfade{width:100%;min-height:48px}
.night-main-finish{display:flex;align-items:center;justify-content:space-between;gap:20px}.night-main-finish p{font-size:.9375rem;line-height:1.5;color:#c0cfb1;max-width:580px;margin:0}.night-main-finish .button{min-height:50px;white-space:nowrap;font-size:1rem;padding:13px 22px}.night-main-finish .button:disabled{opacity:.6}
.night-desk{padding:16px 22px;gap:24px}.night-drop{min-height:84px}.night-drop>span{font-size:2rem}
.night-channel-strip{max-width:none}
@media(max-width:1100px){.header{gap:14px}.header-actions{gap:10px}.night-headline{grid-template-columns:minmax(0,1fr) minmax(220px,340px)}}
@media(max-width:620px){
 .header{height:70px;padding-inline:14px;gap:10px}.header .brand img{width:95px;height:40px}.header-actions{gap:7px}.header-actions .header-messenger{width:40px;flex-basis:40px}.header .button{min-width:0;font-size:.75rem;padding-inline:9px}.header .button span{display:none}.mobile-nav{top:70px}html{scroll-padding-top:84px}
 .studio-viewport{height:auto;aspect-ratio:3/2}.night-door-stage .night-door-number{font-size:1.25rem}.night-entry .button{font-size:.8125rem}.night-portal-copy>p{max-width:none}
 .night-headline{grid-template-columns:1fr;gap:12px}.night-headline h2{grid-column:1;grid-row:1;font-size:2.5rem}.night-howto{grid-column:1;grid-row:2;font-size:.875rem;line-height:1.5}.night-live{grid-column:1;grid-row:3}.night-stage{padding-top:20px;gap:14px}
 .night-main-mixer{padding:17px}.night-main-mixer-heading{display:block}.night-main-mixer h3{font-size:1.5rem}.night-main-mixer-heading p{font-size:.875rem}.night-main-mixer output{display:block;margin-top:10px;font-size:.875rem}.night-main-tracks{font-size:.75rem;margin-top:14px;gap:12px}.night-main-finish{flex-direction:column;align-items:stretch;gap:12px}.night-main-finish p{font-size:.875rem}.night-main-finish .button{width:100%;justify-content:space-between;font-size:.9375rem;padding-inline:16px}.night-desk{padding:16px}
}
@media(max-width:380px){.header .brand img{width:80px}.header-actions{gap:4px}.header .button{padding-inline:7px;min-height:44px}.header{gap:7px;padding-inline:12px}}

/* Short instructions before entry and a skippable, action-led walkthrough. */
.night-portal h2{font-size:clamp(2.2rem,4vw,4.1rem);line-height:1.03;letter-spacing:-.05em}
.night-portal-copy>p{max-width:620px;font-size:1rem;line-height:1.6}
.night-door-stage .night-door-number{font-size:2rem;line-height:1.05;letter-spacing:-.04em;max-width:100%;overflow-wrap:normal;word-break:normal}
.night-guide{background:#202b19ed;border:1px solid #c1de875c;border-radius:7px;padding:16px 20px;max-width:1050px}
.night-guide-top{display:flex;justify-content:space-between;align-items:center;gap:16px;color:#cce6a9;font-size:.75rem;letter-spacing:.07em}
.night-guide-toggle{background:transparent;border:0;color:#c0cfb1;padding:8px 0;min-height:40px;font-size:.875rem;text-decoration:underline;text-underline-offset:4px}
.night-guide h3{font-size:1.3rem;line-height:1.25;letter-spacing:-.02em;margin:8px 0}
.night-guide p{font-size:.9375rem;line-height:1.55;max-width:800px;margin:0 0 12px;color:#c5d1b8}
.night-shell[data-guide=mix] .night-main-mixer{border-color:#e1fc8c;box-shadow:0 0 0 2px #d7f37a30}
.night-shell[data-guide=result] #night-main-result{box-shadow:0 0 0 3px #d7f37a45}
.trial-content .button{margin-top:18px}.trial-content .trial-terms{font-size:.875rem;line-height:1.55;color:#b3c1a6;margin-top:14px}
.school-moments .gallery-main img{object-position:50% 0%}
.school-moments .gallery figure:not(.gallery-main) img{object-position:50% 22%}

/* Wider gift pass, with a narrow brand rail and distinct finishes. */
.gifts .gift-builder{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:36px}
.gift-preview-wrap{top:100px}
.certificate-preview{padding:28px 76px 26px 30px;min-height:330px;border-radius:16px;border:1px solid var(--certificate-line);box-shadow:0 16px 35px #15230618;background:linear-gradient(125deg,#e8ff98 0%,#dcfa6b 52%,#c6ee49 100%)}
.certificate-preview::before{background:repeating-linear-gradient(135deg,transparent 0 30px,var(--certificate-light) 30px 31px,transparent 31px 62px);inset:0 0 0 72%;opacity:.6}
.certificate-rail{position:absolute;right:0;top:0;bottom:0;width:46px;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;letter-spacing:.17em;font-size:.75rem;font-weight:600;border-left:1px dashed var(--certificate-line);color:var(--certificate-muted);background:#ffffff15}
.certificate-header{padding-bottom:18px;border-bottom:1px solid var(--certificate-line)}
.certificate-header img{width:108px;height:41px}.certificate-header>span{font-size:.75rem;letter-spacing:.1em}
.certificate-preview .certificate-course{font-size:clamp(2rem,3.4vw,3.6rem);font-weight:750;letter-spacing:-.055em;line-height:1.06;margin:24px 0 0;max-width:none;overflow-wrap:anywhere}
.certificate-recipient{margin-top:24px;padding-top:18px;border-top:1px dashed var(--certificate-line)}
.certificate-recipient strong{font-size:clamp(1.2rem,1.7vw,1.65rem);line-height:1.35;font-weight:550}
.gifts .certificate-message{font-size:1rem;line-height:1.55;max-width:540px;margin-top:16px}
.certificate-footer{padding-top:26px;letter-spacing:.05em;font-size:.75rem}
.certificate-preview[data-design=graphite]{background:radial-gradient(ellipse at 100% 0%,#526b2f66,transparent 65%),linear-gradient(125deg,#1c251d,#101710);--certificate-line:#c9eb7850;--certificate-light:#c9eb7820}
.certificate-preview[data-design=silver]{background:linear-gradient(115deg,#f7f9f2,#cbd1c5 40%,#f0f2ea 56%,#d8ddd1);--certificate-line:#49513c42;--certificate-light:#ffffff90}
@media(max-width:1000px){.gifts .gift-builder{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px}.certificate-preview{padding:24px 58px 24px 22px}.certificate-rail{width:34px;font-size:.6875rem}.certificate-preview .certificate-course{font-size:2.2rem}}
@media(max-width:760px){.gifts .gift-builder{grid-template-columns:1fr;gap:24px}.gift-preview-wrap{position:static;max-width:none}.gift-builder-form{max-width:none}.certificate-preview{min-height:300px}.gift-mobile-preview{display:inline-flex}}
@media(max-width:620px){.night-portal h2{font-size:clamp(1.8rem,6.8vw,2.4rem)}.night-portal-copy>p{font-size:.875rem;line-height:1.5}.night-door-stage .night-door-number{font-size:1rem;line-height:1.1;letter-spacing:-.05em}.night-door-stage .night-door-caption{font-size:.6875rem}.night-guide{padding:12px 16px}.night-guide h3{font-size:1.15rem}.night-guide p{font-size:.875rem}.night-guide-toggle{font-size:.8125rem}.night-guide-top{letter-spacing:.02em}.certificate-preview{border-radius:12px;padding:22px 52px 22px 20px;min-height:280px}.certificate-preview .certificate-course{font-size:2rem;margin-top:20px}.certificate-header img{width:85px;height:34px}.certificate-header{gap:10px}.certificate-header>span{font-size:.6875rem;letter-spacing:.02em}.certificate-rail{width:30px}.certificate-recipient{margin-top:20px;padding-top:14px}.certificate-footer{gap:10px;font-size:.6875rem}.gifts .certificate-message{font-size:.9375rem}.certificate-recipient strong{font-size:1.25rem}}

/* One playback platter replaces the layered particle room. */
.night-photo-atmosphere,.night-grain{display:none}
.night-shell{background:radial-gradient(ellipse at 80% 20%,#26301d30,transparent 60%),#080b08}
.night-howto,.night-live{position:relative;z-index:1}

/* Entry is centred in the visible viewport, never in the long mixer page. */
.night-entry-screen{position:fixed;inset:var(--night-bar-height,82px) 0 0;gap:14px;padding:16px;justify-content:center;align-items:center}
.night-entry-door{height:max(80px,min(330px,42dvh,calc(100dvh - var(--night-bar-height,82px) - 170px)));width:min(210px,38vw);transform-origin:left center}
@keyframes night-door-open{0%{transform:rotateY(0);opacity:1}65%{transform:rotateY(-70deg);opacity:1}100%{transform:rotateY(-92deg);opacity:0}}
#night-exit{background:#dcfa6b;color:#15200a;border:1px solid #e5ff94;font-weight:650;min-height:46px;box-shadow:0 0 22px #c5f56920}
#night-exit:hover{background:#ecffa9}
#night-main-result,#night-result-open{background:#dcfa6b;border:2px solid #edffae;color:#15200a;font-weight:700;box-shadow:0 0 28px #c5f56928;min-height:54px}
#night-main-result:disabled,#night-result-open:disabled{opacity:1;background:#26371b;color:#e0f4bc;border-color:#93ae61;box-shadow:none}
.header-max{border:0;background:transparent;padding:0}.header-max img{width:44px;height:44px;object-fit:cover;transform:scale(1.35)}
.contact-max{color:#dcfa6b;margin-top:12px}
#max-contact .button{width:100%;margin-top:12px;justify-content:center;min-height:48px}
#max-contact-phone{display:block;width:100%;background:#0e130b;border:1px solid #6c7f55;border-radius:4px;color:#ecf1df;padding:14px;font-size:1.2rem;margin-top:18px}
#max-copy-status,.max-contact-help{font-size:.875rem;line-height:1.5;margin-top:14px;color:#c1cbb4}.max-contact-help a{text-decoration:underline}
@media(max-width:620px){.night-topbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.night-brand{grid-column:1/-1;grid-row:1}.night-top-controls #night-sound{grid-column:1;grid-row:2;margin-right:0}.night-top-controls #night-exit{grid-column:2;grid-row:2;width:100%;font-size:.8125rem;padding:8px 6px;min-height:44px}.night-top-controls #night-exit span{display:none}.night-volume{grid-column:1/-1;grid-row:3}.header-actions{gap:4px}.header .brand img{width:82px}.header-actions .header-messenger{flex-basis:36px;width:36px}.header .button{font-size:.6875rem;padding-inline:6px}.header{padding-inline:10px;gap:6px}}
@media(max-width:380px){.header .brand img{width:68px}.header-actions{gap:2px}.header .button{max-width:77px;line-height:1.2}.header-actions .header-messenger{flex-basis:34px;width:34px}}

/* Photo-led course covers and supplied teacher portraits. */
.header-actions .header-messenger{background:#181f13;border:1px solid #dcfa6b38;opacity:1;transition:border-color .2s,box-shadow .2s}
.header-actions .header-messenger img{filter:grayscale(1) contrast(3) sepia(1) saturate(3) hue-rotate(18deg)!important;opacity:1}
.header-actions .header-messenger:hover,.header-actions .header-messenger:focus-visible{border-color:var(--lime);box-shadow:0 0 14px #dcfa6b26}
.teacher-roster article{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start}
.teacher-roster .teacher-portrait{width:100px;height:130px;object-fit:cover;object-position:50% 22%;border-radius:8px}
.course-flip .course-front{isolation:isolate;min-height:420px;justify-content:flex-end;background:#111!important}
.course-flip .course-front .course-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;z-index:-2}
.course-front::before{z-index:-1;background:linear-gradient(180deg,#070b0840 0%,#080c0866 36%,#080c08ec 80%,#080c08 100%)}
.course-flip .course-front .card-top{margin-bottom:auto;align-items:flex-start}
.course-front .course-level{background:#10160fce;color:#fff;padding:7px 10px;border-radius:4px}
.course-flip .course-front>p{color:#f1f3e8;max-width:36ch}
.course-flip .course-front h3{text-shadow:0 2px 16px #0008}
.course-flip .course-front .card-tag{background:#121a0ed9}
.course-flip .course-front::after{content:"";position:absolute;inset:12px;border:1px solid #d9ff4a55;clip-path:polygon(0 0,100% 0,100% 12%,88% 12%,88% 100%,0 100%);pointer-events:none;z-index:-1}
.course-variant-general-0 .course-photo{object-position:50% 40%;filter:saturate(.82) contrast(1.08)}
.course-variant-general-1 .course-photo{object-position:50% 45%;filter:saturate(.95) contrast(1.06)}
.course-variant-general-2 .course-photo{object-position:50% 50%;filter:saturate(.72) contrast(1.12)}
.course-variant-vip-0 .course-front::after{border-color:#d9ff4a99;clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,0 100%)}
.course-variant-vip-1 .course-front::after{border-color:#76a8ff88;clip-path:polygon(0 0,100% 0,100% 100%,28% 100%,0 72%)}
.course-variant-vip-2 .course-front::after{border-color:#ff7ad988;clip-path:polygon(0 16%,16% 0,100% 0,100% 84%,84% 100%,0 100%)}
.course-variant-young-0 .course-front::after{border-color:#ffb36b99;clip-path:polygon(0 0,100% 0,100% 18%,82% 18%,82% 100%,0 100%)}
.course-variant-young-1 .course-front::after{border-color:#63d9ff99;clip-path:polygon(0 0,82% 0,100% 18%,100% 100%,0 100%,0 82%)}
.course-variant-vip-1 .course-photo,.course-variant-young-1 .course-photo{filter:saturate(1.12) contrast(1.08)}
.course-tabs button{white-space:normal;line-height:1.3}
.trial-terms{font-size:.875rem;margin-top:10px}
@media(max-width:620px){.teacher-roster article{grid-template-columns:76px minmax(0,1fr);gap:13px}.teacher-roster .teacher-portrait{width:76px;height:106px}.course-flip .course-front{min-height:380px}.header .button.small{max-width:112px;font-size:.75rem;white-space:normal;line-height:1.2}.header-actions .header-messenger{flex-basis:34px;width:34px}.course-tabs button{font-size:.875rem}}

/* Supplied school certificate artwork, with editable text on the original blanks. */
.gift-school-preview[hidden],.gift-original-face[hidden],.certificate-preview[hidden]{display:none!important}
.gift-side-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.gift-side-controls button{padding:10px 15px;min-height:44px;border:1px solid #8b937d;background:transparent;color:#171915;border-radius:5px;font-size:.875rem}
.gift-side-controls button[aria-pressed=true]{background:#171915;color:#dcfa6b;border-color:#171915}
.gift-original-face{position:relative;container-type:inline-size;border-radius:8px;overflow:hidden;box-shadow:0 12px 32px #1112;aspect-ratio:1772/1181}
.gift-original-face>img{width:100%;height:100%;object-fit:contain}
.gift-print-field{position:absolute;display:flex;align-items:center;justify-content:center;color:#18121b;background:white;font-family:Arial,sans-serif;font-size:clamp(8px,2.1cqw,20px);line-height:1.1;text-align:center;padding:0 1%;overflow:hidden;overflow-wrap:anywhere}
.gift-print-course{left:10.44%;top:39.37%;width:31.55%;height:5.17%}
.gift-print-recipient{left:5.53%;top:47.67%;width:36.46%;height:5.17%;font-size:clamp(7px,1.65cqw,18px)}
.gift-print-firstname{left:13.6%;top:36.33%;width:41.37%;height:5.17%}
.gift-print-surname{left:23.42%;top:44.79%;width:31.55%;height:5.17%;font-size:clamp(8px,1.8cqw,18px)}
.gift-print-phone{position:absolute;left:6%;top:77%;width:43%;height:8.5%;display:flex;align-items:center;justify-content:center;background:#1b0825;color:#ffe000;font-family:Georgia,serif;font-size:3.8cqw;white-space:nowrap;line-height:1}
.gift-school-note{padding:14px 0 0;font-size:1rem}.gift-school-note p{color:#242a1e}.gift-validity-note{font-size:.875rem;margin-top:8px;color:#626b57}
.gift-design-options{flex-wrap:wrap}

/* Flat messenger marks: no raster bevels, colour filters or scaling. */
.header-actions .header-messenger{width:40px;height:40px;min-height:40px;flex:0 0 40px;padding:0;border-radius:12px;border:1px solid #dcfa6b24;background:#dcfa6b08;color:var(--lime);box-shadow:none;transition:background .18s,border-color .18s,color .18s}
.header-actions .header-messenger .messenger-symbol{display:block;width:22px;height:22px;flex:none;filter:none;transform:none}
.header-actions .header-messenger:hover{background:var(--lime);border-color:var(--lime);color:#171915;box-shadow:none}
.header-actions .header-messenger:focus-visible{outline:2px solid var(--lime);outline-offset:3px;box-shadow:none}
@media(max-width:620px){.header-actions .header-messenger{width:34px;flex-basis:34px;height:40px;border-radius:10px}.header-actions .header-messenger .messenger-symbol{width:21px;height:21px}}

/* Equal, photo-first teacher cards. */
.teacher-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:start}
.teacher-profile{min-width:0;background:#1a1e18;border:1px solid #dcfa6b24;border-radius:14px;overflow:hidden;transition:border-color .2s}
.teacher-profile:hover{border-color:#dcfa6b70}
.teacher-profile-photo{position:relative;aspect-ratio:4/5;overflow:hidden;background:#151912}
.teacher-profile-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 24%;filter:none}
.teacher-profile-photo::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#10150bd9);pointer-events:none}
.teacher-profile-role{position:absolute;bottom:16px;left:16px;right:12px;z-index:1;color:#e0fa98;font-size:.875rem;line-height:1.4;font-weight:550}
.teacher-profile-copy{padding:22px 20px 24px}
.teacher-profile-copy h3{font-size:clamp(1.6rem,2vw,2.3rem);letter-spacing:-.035em;color:#f6f6ef;margin:0}
.teacher-profile-name{font-size:1rem;color:#b5beaa;margin-top:7px;line-height:1.4}
.teacher-profile-genres{font-size:.875rem;color:var(--lime);line-height:1.6;padding-block:16px;margin-top:12px;border-top:1px solid #ffffff12}
.teacher-profile-bio,.teacher-profile-more p{font-size:1rem;color:#d0d5c9;line-height:1.6}
.teacher-profile-more{margin-top:18px;border-top:1px solid #ffffff14;padding-top:6px}
.teacher-profile-more summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;color:#e5edda;font-size:.875rem;min-height:44px;list-style:none}
.teacher-profile-more summary::-webkit-details-marker{display:none}.teacher-profile-more summary span{font-size:1.3rem;color:var(--lime)}
.teacher-profile-more[open] summary span{transform:rotate(45deg)}.teacher-profile-more p{margin-top:8px}
@media(max-width:1150px){.teacher-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.teacher-profile-photo{aspect-ratio:1/1}.teacher-profile-copy h3{font-size:2rem}}
@media(max-width:560px){.teacher-cards{grid-template-columns:1fr;gap:22px}.teacher-profile-photo{aspect-ratio:4/4.2}.teacher-profile-copy{padding:22px}.teacher-profile-role{left:22px}}

/* Teacher cards stay in one horizontal row with explicit controls. */
.teacher-carousel-nav{display:flex;justify-content:flex-end;gap:8px;margin:-28px 0 18px}
.teacher-carousel-nav button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #777e6d;background:transparent;color:var(--text);border-radius:50%;font-size:1.25rem;line-height:1;transition:background .18s,color .18s,border-color .18s}
.teacher-carousel-nav button:hover:not(:disabled){background:var(--lime);border-color:var(--lime);color:var(--ink)}
.teacher-carousel-nav button:disabled{opacity:.35;cursor:default}
.teacher-carousel{overflow:hidden}
.teacher-cards{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 1px 8px}
.teacher-cards::-webkit-scrollbar{display:none}
.teacher-profile{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start}
@media(max-width:1150px){.teacher-profile{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:560px){.teacher-carousel-nav{margin:-10px 0 14px}.teacher-profile{flex-basis:100%}}

/* Vinyl release treatment for the teacher collection. */
.teachers.section{width:100%;max-width:none;margin:0;padding:72px clamp(20px,5.5vw,76px) 84px;background:var(--light);color:var(--ink)}
.teachers-inner{width:min(1320px,100%);margin:0 auto}
.teachers .section-top{margin-bottom:26px}
.teachers .section-top h2{margin-top:0;color:var(--ink);font-size:clamp(2.1rem,4.1vw,3.8rem);line-height:1.04;letter-spacing:-.06em}
.teachers .section-top>p{color:#5d6558;line-height:1.55}
.teachers .teacher-carousel-nav{margin:0 0 18px}
.teachers .teacher-carousel-nav button{color:var(--ink);border-color:#7d8474}
.teachers .teacher-carousel-nav button:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--text)}
.teacher-profile{--teacher-accent:#d7fa58;flex:0 0 calc((100% - 44px)/3);background:transparent;border:0;border-radius:0;overflow:visible}
.teacher-profile-1{--teacher-accent:#c8f45c}.teacher-profile-2{--teacher-accent:#b9e969}.teacher-profile-3{--teacher-accent:#e0f785}
.teacher-profile-photo{position:relative;aspect-ratio:1;overflow:visible;background:transparent;padding-right:11%}
.teacher-profile-photo img{position:relative;z-index:2;width:89%;height:100%;object-fit:cover;object-position:50% 24%;filter:grayscale(1) contrast(1.08);border:1px solid #171915;box-shadow:0 12px 22px #17191522}
.teacher-profile-photo::before{content:'';position:absolute;z-index:1;right:-1%;top:12%;width:57%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 50%,#d1d1cc 0 4.5%,#222 4.8% 7%,#080908 7.5% 76%,#272a25 76.5% 79%,#050605 80% 100%);box-shadow:8px 12px 18px #17191535;transition:transform .32s ease}
.teacher-profile:hover .teacher-profile-photo::before{transform:translateX(10px) rotate(8deg)}
.teacher-profile-photo::after{content:'';position:absolute;z-index:3;inset:0 11% 0 0;background:linear-gradient(0deg,#10110f99,transparent 38%);pointer-events:none}
.teacher-cover-meta{position:absolute;z-index:4;top:14px;left:14px;right:calc(11% + 14px);display:flex;justify-content:space-between;gap:8px;color:#f5f5ef;font-size:.66rem;font-weight:700;letter-spacing:.08em;line-height:1.2}
.teacher-cover-title{position:absolute;z-index:4;left:16px;bottom:52px;max-width:calc(89% - 28px);padding:4px 10px;background:var(--teacher-accent);color:var(--ink);font-size:clamp(1.55rem,2.6vw,2.55rem);font-weight:800;line-height:1;letter-spacing:-.055em}
.teacher-cover-genres{position:absolute;z-index:4;left:16px;right:calc(11% + 12px);bottom:18px;color:#f5f5ef;font-size:.64rem;font-weight:700;letter-spacing:.055em;line-height:1.25}
.teacher-profile-copy{padding:23px 0 0;color:var(--ink)}
.teacher-profile-role{position:static;display:block;color:#69705f;font-size:.875rem;line-height:1.4;font-weight:500}
.teacher-profile-copy h3{margin-top:10px;color:var(--ink);font-size:clamp(1.35rem,1.7vw,1.8rem);letter-spacing:-.04em}
.teacher-profile-name,.teacher-profile-genres{display:none}
.teacher-profile-bio{margin-top:12px;color:#5b6356;font-size:1rem;line-height:1.55}
.teacher-profile-more{margin-top:16px;border-top:1px solid #6e766628;padding-top:5px}
.teacher-profile-more summary{color:#4b5347;min-height:40px}
.teacher-profile-more summary span{color:var(--ink)}
.teacher-profile-more p{color:#5b6356}
@media(max-width:1150px){.teacher-profile{flex-basis:calc((100% - 22px)/2)}.teacher-cover-title{font-size:2rem}}
@media(max-width:560px){.teachers.section{padding-block:52px 62px}.teachers .section-top h2{font-size:2.35rem}.teachers .section-top>p{margin-top:16px}.teacher-profile{flex-basis:100%}.teacher-cover-title{font-size:2.25rem}.teacher-cover-meta{font-size:.62rem}}

/* Always-visible completion action, without tutorial steps. */
#night-top-result{min-height:44px;white-space:nowrap;font-size:.875rem;padding:10px 16px}
.night-top-controls{flex-wrap:wrap}
@media(max-width:1100px){.night-topbar{flex-wrap:wrap;gap:12px}.night-top-controls{margin-left:auto}}
@media(max-width:620px){.night-top-controls #night-top-result{grid-column:1/-1;grid-row:3;width:100%;justify-content:center}.night-volume{grid-row:4}.night-top-controls #night-exit{background:#20281a;color:var(--lime);border:1px solid #dcfa6b55}.night-bottom #night-bottom-result{width:100%;justify-content:center}}

#booking-form{display:grid;gap:10px;margin-top:24px;text-align:left}
#booking-form label{font-size:.9rem;font-weight:600;margin-top:6px}
#booking-form input{box-sizing:border-box;width:100%;min-height:54px;padding:14px 16px;border:1px solid #66705a;border-radius:6px;background:#10150f;color:#f5f5e9;font:inherit}
#booking-form input:focus{outline:2px solid #dfff64;outline-offset:2px}
#booking-form .button{width:100%;margin-top:12px;justify-content:space-between}
#booking-form-status{font-size:.9rem;line-height:1.5;margin:4px 0 0}


/* Mobile polish audit — 2026-09-30. */
.header-trial-desktop,.header-trial-mobile,.header-trial-arrow{font-size:inherit!important;line-height:inherit!important}
.header-trial-mobile{display:none}
@media(max-width:620px){
  /* Keep breathing room between the trial note and the hero photo. */
  .hero-stage{gap:38px}
  .hero-cta{margin-bottom:2px}

  /* Compact header CTA: avoids a 3-line price button on narrow iPhones. */
  .header-trial{flex:0 0 auto;max-width:108px!important;min-height:44px!important;justify-content:center!important;text-align:center;line-height:1.15!important;padding:7px 8px!important}
  .header .header-trial .header-trial-desktop{display:none!important}
  .header .header-trial .header-trial-mobile{display:inline!important;font-size:.72rem!important;line-height:1.15!important}
  .header .header-trial .header-trial-arrow{display:none!important}

  /* Long Russian course-tab labels stay readable without crowding. */
  .course-tabs button{font-size:.78rem!important;line-height:1.25!important;padding-inline:4px!important}
  .course-tabs button span{font-size:.68rem!important;line-height:1.25!important}
}
@media(max-width:380px){
  .hero-stage{gap:34px}
  .header-trial{max-width:92px!important;padding-inline:6px!important}
  .header .header-trial .header-trial-mobile{font-size:.68rem!important}
  .course-tabs button{font-size:.72rem!important}
  .course-tabs button span{font-size:.64rem!important}
}
