/* GPL colour system. Existing styles.css owns layout and typography.
   Text-only derivatives retain AA/AAA contrast; bright brand stops remain exact. */
:root {
 color-scheme:light dark;
 --bg:#F7F8F2; --bg-2:#EAF6F1;
 --text:#0E1D18; --text-muted:#3F5249;
 --surface-glass:rgba(255,255,255,.62); --surface-border:rgba(14,29,24,.10);
 --accent-1:#14B38A; --accent-2:#2BC4D8; --accent-3:#6E9CFF; --accent-4:#6E9CFF; --accent-gold:#E9A93A;
 --grad-brand:linear-gradient(135deg,#14B38A 0%,#2BC4D8 50%,#6E9CFF 100%);
 --grad-page:linear-gradient(160deg,#F7F8F2 0%,#E4F5EE 45%,#E3EFFF 100%);
 --shadow:0 10px 40px rgba(20,179,138,.15); --glow:0 0 40px rgba(43,196,216,.15);
 --glass-highlight:inset 0 1px 0 rgba(255,255,255,.8);
 --surface-solid:#F3F8F5; --surface-veil:rgba(247,248,242,.42);
 --grad-heading:linear-gradient(135deg,#075842 0%,#075768 50%,#344BA4 100%);
 --gold-text:#80520B; --link-color:#075842;
 --field-border:#71877B; --field-glass:rgba(255,255,255,.72);
 --error:#FF6B6B; --error-text:#A52B28; --error-bg:#FFF1EE;
 --focus-contrast:#0E1D18; --button-text:#061B1A;
 --hero-overlay:linear-gradient(90deg,rgba(247,248,242,.98),rgba(234,246,241,.94)),linear-gradient(0deg,#EAF6F1,rgba(255,255,255,.8));
 --hero-aurora:radial-gradient(ellipse at 80% 20%,rgba(20,179,138,.18),transparent 58%),radial-gradient(ellipse at 100% 65%,rgba(110,156,255,.22),transparent 65%);
 --photo-opacity:.26;
 --cover-bg:#0B2428; --cover-text:#EAF2FF; --cover-muted:#BDCFDA; --cover-gold:#F5C86A;
 --logo-filter:url(#white-mic) brightness(0) saturate(100%);
 --player-surface:rgba(6,10,20,.82); --player-text:#EAF2FF;
 /* Compatibility aliases for the existing components. */
 --muted:var(--text-muted); --surface:var(--surface-solid); --surface-raised:var(--bg-2);
 --accent:var(--link-color); --ink:var(--text); --paper:var(--bg-2); --paper-muted:var(--text-muted);
 --line:var(--surface-border); --line-light:var(--surface-border); --glass:var(--surface-glass); --focus:var(--accent-2);
 --tone-2:rgba(14,29,24,.02); --tone-3:rgba(14,29,24,.05); --tone-4:rgba(14,29,24,.35);
 --tone-16:var(--bg-2); --tone-17:var(--field-border); --tone-18:var(--error-text); --tone-19:var(--error); --tone-20:var(--error-text); --tone-21:var(--accent-1);
}

:root[data-theme="night"] {
 --bg:#060A14; --bg-2:#0A1426;
 --text:#EAF2FF; --text-muted:#A3B4CC;
 --surface-glass:rgba(16,26,46,.55); --surface-border:rgba(255,255,255,.12);
 --accent-1:#2DE2C6; --accent-2:#3CC8FF; --accent-3:#8B7CFF; --accent-4:#C06CFF; --accent-gold:#F5C86A;
 --grad-brand:linear-gradient(135deg,#2DE2C6 0%,#3CC8FF 40%,#8B7CFF 100%);
 --grad-page:radial-gradient(60% 50% at 15% 10%,rgba(45,226,198,.22),transparent 60%),radial-gradient(55% 45% at 85% 20%,rgba(139,124,255,.22),transparent 60%),radial-gradient(70% 60% at 50% 100%,rgba(60,200,255,.16),transparent 65%),#060A14;
 --shadow:0 10px 40px rgba(0,4,16,.24); --glow:0 0 40px rgba(60,200,255,.25);
 --glass-highlight:inset 0 1px 0 rgba(255,255,255,.18);
 --surface-solid:#101A2E; --surface-veil:rgba(6,10,20,.36);
 --grad-heading:var(--grad-brand); --gold-text:#F5C86A; --link-color:#2DE2C6;
 --field-border:#7489A8; --field-glass:rgba(16,26,46,.82);
 --error:#FF8A8A; --error-text:#FF8A8A; --error-bg:#291A26;
 --focus-contrast:#060A14; --button-text:#060A14;
 --hero-overlay:linear-gradient(90deg,rgba(6,10,20,.98),rgba(10,20,38,.94)),linear-gradient(0deg,#060A14,rgba(10,20,38,.86));
 --hero-aurora:radial-gradient(ellipse at 20% 0%,rgba(45,226,198,.06),transparent 60%),radial-gradient(ellipse at 100% 40%,rgba(139,124,255,.10),transparent 65%);
 --photo-opacity:.4; --cover-bg:#081326; --cover-text:#EAF2FF; --cover-muted:#BDCFDA; --cover-gold:#F5C86A;
 --logo-filter:url(#white-mic);
 --tone-2:rgba(234,242,255,.02); --tone-3:rgba(234,242,255,.05); --tone-4:rgba(234,242,255,.35);
}

@media(prefers-color-scheme:dark){:root:not([data-theme]) {
 --bg:#060A14; --bg-2:#0A1426;
 --text:#EAF2FF; --text-muted:#A3B4CC;
 --surface-glass:rgba(16,26,46,.55); --surface-border:rgba(255,255,255,.12);
 --accent-1:#2DE2C6; --accent-2:#3CC8FF; --accent-3:#8B7CFF; --accent-4:#C06CFF; --accent-gold:#F5C86A;
 --grad-brand:linear-gradient(135deg,#2DE2C6 0%,#3CC8FF 40%,#8B7CFF 100%);
 --grad-page:radial-gradient(60% 50% at 15% 10%,rgba(45,226,198,.22),transparent 60%),radial-gradient(55% 45% at 85% 20%,rgba(139,124,255,.22),transparent 60%),radial-gradient(70% 60% at 50% 100%,rgba(60,200,255,.16),transparent 65%),#060A14;
 --shadow:0 10px 40px rgba(0,4,16,.24); --glow:0 0 40px rgba(60,200,255,.25);
 --glass-highlight:inset 0 1px 0 rgba(255,255,255,.18);
 --surface-solid:#101A2E; --surface-veil:rgba(6,10,20,.36);
 --grad-heading:var(--grad-brand); --gold-text:#F5C86A; --link-color:#2DE2C6;
 --field-border:#7489A8; --field-glass:rgba(16,26,46,.82);
 --error:#FF8A8A; --error-text:#FF8A8A; --error-bg:#291A26;
 --focus-contrast:#060A14; --button-text:#060A14;
 --hero-overlay:linear-gradient(90deg,rgba(6,10,20,.98),rgba(10,20,38,.94)),linear-gradient(0deg,#060A14,rgba(10,20,38,.86));
 --hero-aurora:radial-gradient(ellipse at 20% 0%,rgba(45,226,198,.06),transparent 60%),radial-gradient(ellipse at 100% 40%,rgba(139,124,255,.10),transparent 65%);
 --photo-opacity:.4; --cover-bg:#081326; --cover-text:#EAF2FF; --cover-muted:#BDCFDA; --cover-gold:#F5C86A;
 --logo-filter:url(#white-mic);
 --tone-2:rgba(234,242,255,.02); --tone-3:rgba(234,242,255,.05); --tone-4:rgba(234,242,255,.35);
}}
/* Colour transitions do not animate dimensions, filters, or background position. */
body{background:var(--grad-page);color:var(--text)}
.theme-ready body,.theme-ready main,.theme-ready .story,.theme-ready .footer,.theme-ready .header,.theme-ready .btn,.theme-ready input,.theme-ready textarea{transition:color 300ms ease,background-color 300ms ease,border-color 300ms ease,box-shadow 300ms ease}
main{background:var(--surface-veil)}
.story,.footer{background:transparent;color:var(--text)}
.story .eyebrow,.story .copy,.team-section .eyebrow,.team-person p{color:var(--text-muted)}
.copy,.lead,.privacy-note,.footer-caption,.smallprint,.form-note,.teaser-video figcaption,.video-caption,.direct-email{color:var(--text-muted)}
.eyebrow,.footer-title.eyebrow{color:var(--text);font-weight:600}
.footer-links a,.nav-links a,.brand small{color:var(--text-muted)}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--text)}
.brand img{filter:var(--logo-filter);opacity:1}
.footer,.smallprint,.team-section{border-color:var(--surface-border)}
/* One blurred surface per component; fields/player controls use solid translucent fills. */
.glass,.header,.header.scrolled,.header.menu-open,.release-card.premiere,.video-item,.contact-disclosure,.team-section.disclosure,.btn-secondary{
 background:var(--surface-glass);border:1px solid var(--surface-border);box-shadow:var(--glass-highlight),var(--shadow);
 backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);
}
.glass,.release-card.premiere,.video-item,.contact-disclosure,.team-section.disclosure{border-radius:24px}
.header{border-radius:0;box-shadow:var(--glass-highlight);border-width:0 0 1px}
.video-item .video-frame{border-radius:16px;backdrop-filter:none;-webkit-backdrop-filter:none}
.contact-disclosure .contact-form{background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.contact-disclosure .contact-layout{background:none}
.team-section.disclosure{border-width:1px}
.accordion-toggle{color:var(--text)}
.accordion-chevron{stroke:url(#brand-stroke)}
.nav-links a:after,.release-title:after{background:var(--grad-brand)}
.release-title:after{opacity:.85}
/* Text has an opaque theme scrim, separate from the slowly drifting light. */
.hero{background:var(--bg);color:var(--text)}
.hero-image{opacity:var(--photo-opacity)}
.hero:before{background:var(--hero-overlay)}
.hero:after{content:'';position:absolute;inset:-4%;z-index:-1;background:var(--hero-aurora);pointer-events:none;animation:aurora-drift 26s ease-in-out infinite alternate;transform-origin:center}
@keyframes aurora-drift{from{transform:translate3d(-1%,0,0) scale(1);opacity:.65}to{transform:translate3d(1%,1%,0) scale(1.04);opacity:1}}
.hero .lead{color:var(--text)}
.hero .eyebrow{color:var(--link-color)}
.hero h1 em{color:var(--link-color);background:none;-webkit-text-fill-color:currentColor}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .hero h1 em{background:var(--grad-heading);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
}
/* Brand actions: bright fills, accessible ink, no gradient body copy. */
.btn-primary{background:var(--grad-brand);color:var(--button-text);border:1px solid transparent;box-shadow:var(--glass-highlight),var(--shadow)}
.btn-primary:hover{background:var(--grad-brand);color:var(--button-text);transform:translateY(-2px);box-shadow:var(--glass-highlight),var(--glow)}
.btn-primary:active,.btn-secondary:active{transform:scale(.98)}
.btn-secondary{position:relative;isolation:isolate;color:var(--text)}
.btn-secondary:before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:var(--grad-brand);pointer-events:none;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor}
.btn-secondary:hover{background:var(--surface-glass);color:var(--text);box-shadow:var(--glass-highlight),var(--glow)}
.text-link{color:var(--link-color);text-decoration-color:var(--surface-border);background-image:none}
.text-link:hover{background-image:var(--grad-brand);background-size:100% 1px;background-repeat:no-repeat;background-position:left calc(100% - 9px);text-decoration-color:transparent}
:is(a,button,input,textarea,select):focus-visible,.theme-control select:focus-visible,.disclosure>summary:focus-visible{outline:2px solid var(--accent-2);outline-offset:3px;box-shadow:0 0 0 3px var(--focus-contrast),0 0 0 7px var(--focus-contrast)}
/* Form borders are structural, not the low-contrast decorative surface borders. */
input,textarea{background:var(--field-glass);border:1px solid var(--field-border);color:var(--text);box-shadow:var(--glass-highlight)}
input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}
input:focus-visible,textarea:focus-visible{border-color:var(--field-border);box-shadow:0 0 0 3px var(--focus-contrast),0 0 0 7px var(--focus-contrast),var(--glow)}
.field-error,.form-result.error{color:var(--error-text)}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error-text)}
.form-result.error{background:var(--error-bg);border-color:var(--error-text);box-shadow:inset 3px 0 0 var(--error)}
.form-result.success{color:var(--text);border-color:var(--link-color);background:var(--field-glass)}
.monogram,.status-chip{background:var(--surface-glass);color:var(--text);border-color:var(--surface-border);box-shadow:var(--glass-highlight)}
/* Opaque artwork keeps a consistent identity in either page theme. */
.release-art.release-label{--bg:var(--cover-bg);--surface:var(--cover-bg);--surface-raised:var(--cover-bg);--text:var(--cover-text);--muted:var(--cover-muted);--accent:var(--cover-gold);background:var(--cover-bg);color:var(--cover-text);border:0;box-shadow:var(--glass-highlight)}
.release-label:after{opacity:.025;background:url('/assets/grain.svg');mix-blend-mode:screen}
.label-grooves{background:var(--grad-brand);opacity:.8}
.release-copy h3.release-title{background:none;color:var(--text);-webkit-text-fill-color:currentColor}
.release-title span:last-child{color:var(--gold-text)}
.release-title:after{background:linear-gradient(90deg,var(--accent-gold),transparent)}
.label-bottom{color:var(--cover-gold)}
/* Thumbnail text is baked into the image; UI labels have their own opaque scrim. */
.video-trigger:before,#behind-the-scenes .video-trigger:before{background:linear-gradient(135deg,rgba(20,179,138,.09),rgba(110,156,255,.09));pointer-events:none}
:root[data-theme="night"] .video-trigger:before,:root[data-theme="night"] #behind-the-scenes .video-trigger:before{background:linear-gradient(135deg,rgba(45,226,198,.1),rgba(139,124,255,.1))}
.play-icon,#behind-the-scenes .play-icon{width:44px;height:44px;inset:auto 14px 14px auto;margin:0;background:var(--player-surface);color:var(--player-text);border:1px solid rgba(234,242,255,.65);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:none;-webkit-backdrop-filter:none}
.coming-soon-chip{background:var(--player-surface);color:var(--player-text);border-color:rgba(234,242,255,.65)}
/* Existing header slot is reused by a 44px four-state theme button. */
.header-controls{display:flex;align-items:center;gap:16px;position:relative;z-index:52;flex-shrink:0}
.theme-toggle{display:grid;place-items:center;position:relative;width:44px;height:44px;min-width:44px;border:1px solid var(--surface-border);border-radius:50%;background:var(--surface-glass);color:var(--text);cursor:pointer;padding:0;box-shadow:var(--glass-highlight)}
.theme-toggle svg{position:absolute;top:5px;left:12px;width:18px;height:18px;transition:transform 300ms ease,opacity 300ms ease}
.theme-toggle .theme-sun{opacity:1;transform:rotate(0) scale(1)}.theme-toggle .theme-moon{opacity:0;transform:rotate(-65deg) scale(.5)}
:root[data-theme="night"] .theme-toggle .theme-sun{opacity:0;transform:rotate(65deg) scale(.5)}
:root[data-theme="night"] .theme-toggle .theme-moon{opacity:1;transform:rotate(0) scale(1)}
.theme-mode{position:absolute;left:0;right:0;bottom:4px;text-align:center;font:500 8px/1.2 var(--sans);letter-spacing:.02em}
@media(max-width:1023px){.nav-inner{gap:12px}.header-controls{gap:8px}.nav-links{background:var(--surface-solid);backdrop-filter:none;-webkit-backdrop-filter:none}.brand{gap:8px}.brand strong{font-size:12px;letter-spacing:.12em}.brand small{font-size:6.5px;letter-spacing:.08em}.brand img{width:32px;height:32px}.menu-toggle{width:44px;height:44px}}
@media(max-width:767px){.play-icon,#behind-the-scenes .play-icon{inset:auto 12px 12px auto}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .glass,.header,.header.scrolled,.header.menu-open,.release-card.premiere,.video-item,.contact-disclosure,.team-section.disclosure,.btn-secondary,.monogram,.status-chip{background:var(--surface-solid)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:after{animation:none;transform:none;opacity:.8}.theme-ready body,.theme-ready main,.theme-ready .story,.theme-ready .footer,.theme-ready .header,.theme-ready .btn,.theme-ready input,.theme-ready textarea,.theme-toggle svg{transition:none}}
@media(forced-colors:active){
 body,main,.hero,.story,.footer,.glass,.header,.release-card.premiere,.video-item,.contact-disclosure,.team-section.disclosure,.release-art.release-label,input,textarea{background:Canvas!important;color:CanvasText!important;box-shadow:none!important;backdrop-filter:none!important}
 .hero-image,.hero:before,.hero:after,.label-grooves,.release-label:after,.btn-secondary:before{display:none!important}
 .hero h1 em,.release-title span:last-child,.release-copy h3.release-title{background:none!important;color:CanvasText!important;-webkit-text-fill-color:CanvasText!important}
 .btn,.theme-toggle,.menu-toggle,input,textarea{border:1px solid ButtonText!important}.btn{background:ButtonFace!important;color:ButtonText!important}.text-link{color:LinkText!important;text-decoration:underline}.accordion-chevron{stroke:ButtonText}
 :is(a,button,input,textarea,select):focus-visible{outline:2px solid Highlight!important;box-shadow:none!important}
}
@media print{
 :root{--text:#000;--text-muted:#222;--link-color:#000;--gold-text:#000}
 *{animation:none!important;transition:none!important;box-shadow:none!important;backdrop-filter:none!important;color:#000!important;background:transparent!important;-webkit-text-fill-color:#000!important}
 html,body{background:#fff!important}.header{position:static!important}.header-controls,.hero-scroll,.nav-links,.hero-image,.hero:before,.hero:after,.label-grooves,.release-label:after{display:none!important}
 .motion-ready .reveal{opacity:1!important;transform:none!important}.accordion-panel[hidden]{display:block!important;height:auto!important}.hero{min-height:0!important;padding-block:32px!important}.video-frame{background:#eee!important}.btn,.glass,.release-card,.video-item,.contact-disclosure,.team-section{border:1px solid #777!important}.hero h1 em{background:none!important;color:#000!important}.accordion-chevron{display:none!important}
}
/* A translucent safety scrim keeps the fixed nav legible over videos/photos. */
:root{--nav-scrim:rgba(247,248,242,.88)}
:root[data-theme="night"]{--nav-scrim:rgba(6,10,20,.9)}
.header,.header.scrolled,.header.menu-open{background:linear-gradient(var(--surface-glass),var(--surface-glass)),var(--nav-scrim)}
.theme-ready .btn{transition:color 300ms ease,background-color 300ms ease,border-color 300ms ease,box-shadow 300ms ease,transform 200ms ease}
@media(prefers-reduced-motion:reduce){.theme-ready .btn{transition:none}}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--nav-scrim:rgba(6,10,20,.9)}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.header,.header.scrolled,.header.menu-open{background:var(--surface-solid)}}
/* Structural control edges remain readable beside luminous gradient stops. */
.btn-primary{border-color:var(--field-border)}
.btn-secondary{box-shadow:inset 0 0 0 1px var(--field-border),var(--glass-highlight),var(--shadow)}
.btn-secondary:hover{box-shadow:inset 0 0 0 1px var(--field-border),var(--glass-highlight),var(--glow)}
.theme-toggle{border-color:var(--field-border)}
@media print{html,body{overflow:visible!important}}
.coming-soon-frame:after{content:'';position:absolute;inset:0;z-index:1;background:var(--grad-brand);opacity:.09;pointer-events:none}
@media print{html{color-scheme:light!important}}

/* Night-theme fit and rhythm repair: these rules deliberately sit last so
   the responsive base stylesheet cannot reintroduce edge-to-edge content. */
html,body{max-width:100%;overflow-x:clip}
html{background:var(--grad-page)}
body{min-width:0}
main{max-width:100%;overflow:clip}
.hero,.section,.footer{max-width:100%}
.hero:after{inset:0;max-width:100%;overflow:hidden}
.wrap,.hero-bottom{max-width:100%}
.footer>.wrap{border-width:0}
.footer .smallprint{width:100%;box-sizing:border-box}

/* Every glass component has a quiet, even breathing edge. */
.release-card.premiere,.video-item,.team-section.disclosure,.contact-disclosure{
 padding:clamp(20px,6vw,28px);
 box-sizing:border-box;
}
.release-card.premiere{gap:clamp(20px,4vw,40px)}
.video-item .text-link,.release-actions .text-link,.direct-links .text-link{min-height:48px}
.team-section.disclosure .accordion-toggle,.contact-disclosure .accordion-toggle{margin:-8px 0}
.team-section.disclosure .disclosure-body,.contact-disclosure .disclosure-body{padding-bottom:0}

/* A true glass navigation bar: only the lower hairline remains. */
.header,.header.scrolled,.header.menu-open{
 border:0;
 border-bottom:1px solid var(--surface-border);
 border-radius:0;
 box-shadow:inset 0 -1px 0 rgba(255,255,255,.04),var(--glass-highlight);
 backdrop-filter:blur(18px) saturate(150%);
 -webkit-backdrop-filter:blur(18px) saturate(150%);
}

/* Release label stays clear of the moving arcs; the title's optical offset is
   held in the title itself so the chip, prose and visible glyphs share a line. */
.release-art.release-label .label-bottom{
 top:clamp(18px,4vw,32px);right:clamp(18px,4vw,32px);bottom:auto;left:auto;
 padding:8px 12px;border-radius:999px;
 background:rgba(6,19,38,.42);
 backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
 color:var(--cover-gold);
}
.release-copy h3.release-title{margin-left:0}
.release-title:after{margin-left:0}
.release-title span:first-child{margin-left:-.035em}

/* One supporting description follows the heading, with a consistent 16px gap. */
#behind-the-scenes .teaser-video figcaption{display:none}
#behind-the-scenes .behind-caption{margin-top:16px;margin-bottom:0}
#behind-the-scenes .behind-caption + *{margin-top:16px}

/* Keep YouTube art readable in the dark theme while removing supplied bars. */
.video-frame,.video-trigger{overflow:hidden}
.youtube-thumb,.video-trigger img{width:100%;height:100%;object-fit:cover}
:root[data-theme="night"] .video-trigger:before,
:root[data-theme="night"] .coming-soon-frame:before{
 content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
 background:linear-gradient(135deg,rgba(6,10,20,.42),rgba(8,19,38,.28));
}
:root[data-theme="night"] .play-icon,:root[data-theme="night"] .coming-soon-chip{z-index:2}

@media(max-width:767px){
 :root{--gutter:20px}
 .release-card.premiere,.video-item,.team-section.disclosure,.contact-disclosure{padding:clamp(20px,6vw,28px)}
 .release-copy h3.release-title{margin-left:0}
 .release-title:after{margin-left:0}
 .footer .smallprint{margin-inline:0}
}

/* Final coherence pass: colour, spacing and component rhythm. */
:root{--section:clamp(72px,14vw,120px);--ease-out:cubic-bezier(.22,1,.36,1)}
html,body{overflow-x:clip;background:var(--bg)}
body{background:var(--grad-page)}
h1,h2,h3,.release-title{text-wrap:balance}.copy,.lead,.privacy-note,.form-note{text-wrap:pretty}
.section{position:relative;isolation:isolate;padding-block:var(--section);overflow:clip}
.section:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none}
#songs:before{background:radial-gradient(52% 55% at 12% 18%,rgba(233,169,58,.16),transparent 70%),linear-gradient(145deg,rgba(255,248,223,.64),rgba(255,255,255,.08) 68%)}
#videos:before{background:radial-gradient(44% 52% at 82% 18%,rgba(43,196,216,.19),transparent 70%),radial-gradient(38% 44% at 8% 82%,rgba(20,179,138,.14),transparent 72%)}
.story:before{background:radial-gradient(50% 50% at 90% 10%,rgba(233,169,58,.1),transparent 70%),linear-gradient(160deg,rgba(255,255,255,.22),rgba(234,246,241,.2))}
#contact:before{background:radial-gradient(55% 60% at 10% 70%,rgba(110,156,255,.19),transparent 72%),radial-gradient(48% 58% at 85% 0%,rgba(20,179,138,.16),transparent 74%)}
.footer{position:relative;overflow:clip;background:linear-gradient(145deg,rgba(110,156,255,.13),rgba(20,179,138,.11));border-top:0}
.footer:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(55% 70% at 90% 10%,rgba(43,196,216,.17),transparent 72%)}
.section-head{margin-bottom:clamp(28px,5vw,40px)}
.privacy-note{margin-top:16px}.team-section.disclosure{margin-top:clamp(40px,7vw,64px)}
.contact-direct{margin-bottom:24px}.story-copy p+p{margin-top:16px}
.teaser h2,.story h2,.section-head h2{margin-bottom:16px}.copy+.btn,.copy+.release-actions{margin-top:24px}

/* Day has a gentle, luminous backdrop; night carries the same structure as an aurora. */
:root[data-theme="night"] #songs:before{background:radial-gradient(58% 62% at 8% 18%,rgba(45,226,198,.14),transparent 70%),radial-gradient(48% 58% at 90% 88%,rgba(139,124,255,.12),transparent 74%)}
:root[data-theme="night"] #videos:before{background:radial-gradient(48% 55% at 82% 16%,rgba(60,200,255,.16),transparent 70%),radial-gradient(36% 42% at 8% 80%,rgba(192,108,255,.07),transparent 72%)}
:root[data-theme="night"] .story:before{background:radial-gradient(55% 62% at 86% 10%,rgba(139,124,255,.12),transparent 70%)}
:root[data-theme="night"] #contact:before{background:radial-gradient(52% 66% at 12% 72%,rgba(60,200,255,.14),transparent 72%),radial-gradient(45% 55% at 84% 0%,rgba(45,226,198,.1),transparent 72%)}
:root[data-theme="night"] .footer{background:linear-gradient(145deg,rgba(10,20,38,.96),rgba(12,30,48,.96))}
:root[data-theme="night"] .footer:before{background:radial-gradient(55% 70% at 88% 12%,rgba(60,200,255,.15),transparent 70%)}
:root[data-theme="night"] .hero-image{opacity:.15;filter:saturate(.72) brightness(.52) hue-rotate(170deg)}
:root[data-theme="night"] .hero:after{background:radial-gradient(65% 64% at 78% 18%,rgba(60,200,255,.14),transparent 70%),radial-gradient(56% 58% at 16% 88%,rgba(45,226,198,.1),transparent 72%)}

/* One surface, one comfortable edge: no underline or text can meet the border. */
.release-card.premiere,.video-item,.team-section.disclosure,.contact-disclosure,.teaser{padding:clamp(20px,6vw,28px)}
.video-item{gap:0}.video-item .text-link{margin-top:12px;min-height:48px}
.release-copy{padding:0}.release-copy .copy{margin-bottom:0}.release-actions{margin-top:24px}
.accordion-toggle{min-height:72px;padding:12px 0;align-items:center}.accordion-chevron{width:28px;height:28px}.accordion-panel{will-change:height}
.team-section.disclosure .accordion-toggle,.contact-disclosure .accordion-toggle{margin:0}
.team-section.disclosure .disclosure-body,.contact-disclosure .disclosure-body{padding-top:20px}

/* All media stays inside its intended crop. */
.video-frame{aspect-ratio:16/9}.youtube-thumb,.video-trigger img{object-fit:cover;transform:scale(1.06);transform-origin:center}
.video-trigger:hover img{transform:scale(1.08)}
.video-trigger:before{background:linear-gradient(135deg,rgba(20,179,138,.15),rgba(110,156,255,.14))}
:root[data-theme="night"] .video-trigger:before,:root[data-theme="night"] .coming-soon-frame:before{background:linear-gradient(135deg,rgba(6,10,20,.58),rgba(8,19,38,.42))}
.play-icon{width:44px;height:44px;inset:auto 14px 14px auto;background:rgba(8,19,38,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.coming-soon-meta{margin-bottom:10px;min-height:32px}.coming-soon-chip{position:static;width:max-content;background:var(--surface-glass);color:var(--text);border-color:var(--surface-border);box-shadow:var(--glass-highlight);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.coming-soon-caption{font-size:13px;line-height:1.55;color:var(--text-muted);margin-top:16px}
#behind-the-scenes .video-frame{background:linear-gradient(90deg,var(--bg-2),transparent 15%,transparent 85%,var(--bg-2))}
#behind-the-scenes .youtube-thumb{mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent)}
#behind-the-scenes .teaser{gap:clamp(28px,5vw,48px)}
#behind-the-scenes .behind-caption{margin-top:16px;margin-bottom:0}

/* Sacred note on the cover is a compact label, not a rail. */
.release-art.release-label .label-bottom{display:inline-flex;width:max-content;max-width:calc(100% - 40px);align-items:center;white-space:nowrap}
.release-copy h3.release-title{margin-left:0;text-indent:-.035em}.release-title:after{margin-left:0}
.release-translation{font-size:12px;line-height:1.5;color:var(--text-muted);margin:-8px 0 16px;font-style:italic}

/* Buttons retain a clean, bright edge in daylight. */
.btn-primary{border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),var(--shadow)}
.btn-primary:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.6),var(--glow)}
.btn-secondary{box-shadow:var(--glass-highlight),var(--shadow)}

/* Three-state control: Auto has a true half sun / half moon icon. */
.theme-toggle[data-mode="auto"] .theme-sun{opacity:1;transform:translateX(-4px) scale(.72)}
.theme-toggle[data-mode="auto"] .theme-moon{opacity:1;transform:translateX(4px) scale(.72)}
.header{background:color-mix(in srgb,var(--surface-glass) 76%,var(--bg));border-inline:0;border-bottom:1px solid var(--surface-border)}
.header.scrolled{height:72px}.nav-links{transition:opacity 180ms var(--ease-out),transform 320ms var(--ease-out),visibility 180ms}
@media(max-width:1023px){.nav-links{background:color-mix(in srgb,var(--surface-glass) 80%,var(--bg));backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.menu-open .nav-links a{animation:menu-in 320ms var(--ease-out) both}.menu-open .nav-links a:nth-child(2){animation-delay:40ms}.menu-open .nav-links a:nth-child(3){animation-delay:80ms}.menu-open .nav-links a:nth-child(4){animation-delay:120ms}.menu-open .nav-links a:nth-child(5){animation-delay:160ms}.menu-open .nav-links a:nth-child(6){animation-delay:200ms}}
@keyframes menu-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Form delivery states and its hidden trap remain accessible without being visible. */
.honeypot{position:absolute!important;inline-size:1px!important;block-size:1px!important;clip-path:inset(50%)!important;overflow:hidden!important;white-space:nowrap!important}
.form-result.success{color:var(--text)}
.footer .smallprint{border-top:1px solid var(--surface-border)}
.footer-title.eyebrow{color:var(--text)}.footer-links a{color:var(--text-muted)}
@media(max-width:767px){.section{padding-block:var(--section)}.teaser{padding:clamp(20px,6vw,28px)}.release-copy h3.release-title{text-indent:-.03em}.hero{margin-bottom:0}.header.scrolled{height:72px}}
@media(prefers-reduced-motion:reduce){.menu-open .nav-links a{animation:none}.video-trigger:hover img{transform:scale(1.06)}}

/* Palette addendum: one calm mint alternate, no competing sky sections. */
:root{--section-mint:#EAF4EF;--footer-deep:#0F1A16;--footer-text:#EAF2E9}
body,html{background:var(--bg)}
main{background:var(--bg)}
.section:before,#songs:before,#videos:before,.story:before,#contact:before{background:transparent}
#videos,.story{background:var(--section-mint)}
#songs{background:var(--bg)}
#contact{background:linear-gradient(180deg,var(--section-mint) 0,var(--bg) 120px)}
:root[data-theme="night"] #videos,:root[data-theme="night"] .story{background:var(--bg-2)}
:root[data-theme="night"] #songs{background:var(--bg)}
:root[data-theme="night"] #contact{background:linear-gradient(180deg,var(--bg-2) 0,var(--bg) 120px)}
#contact{margin-top:0}
.footer{background:var(--footer-deep)!important;color:var(--footer-text);border-top:0}
.footer:before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--grad-brand);z-index:1}
.footer .footer-title.eyebrow,.footer .footer-brand,.footer .smallprint{color:var(--footer-text)}
.footer .footer-caption,.footer .footer-links a{color:#C5D1CA}
.footer .smallprint{border-color:rgba(234,242,233,.18)}

/* The photograph leads the hero in either theme; overlay is the contrast layer. */
.hero{color:#F7F8F2;background:#0F1A16}
.hero-image{opacity:1;filter:saturate(.82) brightness(.76)}
.hero:before{background:linear-gradient(90deg,rgba(15,26,22,.9) 0%,rgba(15,26,22,.68) 44%,rgba(15,26,22,.16) 100%),linear-gradient(0deg,rgba(15,26,22,.82),transparent 55%)}
.hero:after{inset:0;background:radial-gradient(58% 72% at 82% 12%,rgba(43,196,216,.16),transparent 72%);animation:hero-photo-drift 20s ease-in-out infinite alternate}
.hero,.hero .lead,.hero-bottom,.hero .eyebrow{color:#F7F8F2}
.hero .eyebrow{color:#DDECE5}.hero h1 em{color:#A9F0DF}
.brand{color:var(--text)}.hero + .section{background:var(--bg)}
:root[data-theme="night"] .hero-image{opacity:.78;filter:saturate(.88) brightness(.44) hue-rotate(158deg)}
:root[data-theme="night"] .hero:before{background:linear-gradient(90deg,rgba(6,10,20,.94),rgba(6,10,20,.66) 52%,rgba(6,10,20,.2)),linear-gradient(0deg,#060A14,transparent 58%)}
:root[data-theme="night"] .hero:after{background:radial-gradient(58% 65% at 80% 14%,rgba(60,200,255,.2),transparent 72%),radial-gradient(42% 50% at 15% 82%,rgba(45,226,198,.12),transparent 74%)}
@keyframes hero-photo-drift{from{transform:scale(1);opacity:.72}to{transform:scale(1.035);opacity:1}}

/* One 44px symbol only. Auto overlays two clipped halves into one mark. */
.theme-toggle{width:44px;height:44px;min-width:44px;padding:0;overflow:hidden}
.theme-toggle svg{width:20px;height:20px;top:11px;left:11px}
.theme-toggle .theme-sun{opacity:1;transform:none}.theme-toggle .theme-moon{opacity:0;transform:scale(.7)}
:root[data-theme="night"] .theme-toggle .theme-sun{opacity:0;transform:scale(.7)}
:root[data-theme="night"] .theme-toggle .theme-moon{opacity:1;transform:none}
.theme-toggle[data-mode="auto"] .theme-sun{opacity:1;transform:none;clip-path:inset(0 50% 0 0)}
.theme-toggle[data-mode="auto"] .theme-moon{opacity:1;transform:none;clip-path:inset(0 0 0 50%)}
.theme-segmented{display:flex;align-items:center;gap:4px;margin-top:20px;padding:4px;border:1px solid var(--surface-border);border-radius:999px;background:var(--surface-glass)}
.theme-option{min-height:40px;border:0;border-radius:999px;padding:0 12px;background:transparent;color:var(--text-muted);font:600 11px/1 var(--sans);cursor:pointer}
.theme-option[aria-pressed="true"]{background:var(--text);color:var(--bg)}
@media(min-width:1024px){.theme-segmented{margin:0 0 0 8px}.theme-option{min-height:36px;padding-inline:9px;font-size:10px}}

/* Closed accordions have no residual panel box or lower edge. */
.accordion-panel[hidden]{display:none!important;height:0!important;padding:0!important;margin:0!important;overflow:hidden!important}
.accordion-toggle{min-height:76px}.accordion-panel:not([hidden])>.disclosure-body{padding:24px 0 0}
.team-section.disclosure,.contact-disclosure{padding-bottom:0}
.team-section.disclosure.accordion-open,.contact-disclosure.accordion-open{padding-bottom:clamp(20px,6vw,28px)}
@media(max-width:767px){.accordion-toggle{min-height:76px}.team-section.disclosure.accordion-open,.contact-disclosure.accordion-open{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.hero:after{animation:none}}

/* Final corrective pass: keep the original GPL palette calm and continuous. */
#songs,#videos,.story,#contact{background:transparent!important}
.section:before{display:none!important}
.footer{margin-top:-160px;padding-top:224px;background:linear-gradient(180deg,transparent 0,#0F1A16 160px)!important}
.footer:before{top:160px}

/* The compact control is geometrically centred in every state. */
.theme-toggle{display:flex;align-items:center;justify-content:center;overflow:visible}
.theme-toggle svg{position:absolute;inset:0;margin:auto;width:20px;height:20px;transform:none!important}
.theme-toggle .theme-sun{opacity:1}.theme-toggle .theme-moon{opacity:0}
:root[data-theme="night"] .theme-toggle .theme-sun{opacity:0}:root[data-theme="night"] .theme-toggle .theme-moon{opacity:1}
.theme-toggle[data-mode="auto"] .theme-sun{opacity:1;clip-path:inset(0 50% 0 0)}
.theme-toggle[data-mode="auto"] .theme-moon{opacity:1;clip-path:inset(0 0 0 50%)}

/* Same 76px collapsed geometry for the two disclosure surfaces. */
.team-section.disclosure,.contact-disclosure{box-sizing:border-box;border-radius:24px;padding-inline:clamp(20px,6vw,28px)}
.team-section.disclosure:not(.accordion-open),.contact-disclosure:not(.accordion-open){height:76px;padding-block:0;overflow:hidden}
.team-section.disclosure.accordion-open,.contact-disclosure.accordion-open{height:auto;padding-bottom:clamp(20px,6vw,28px)}
.accordion-toggle{height:74px;min-height:74px;padding:0;line-height:1;align-items:center}
.accordion-chevron{width:44px;height:44px;padding:10px;box-sizing:border-box;flex:0 0 44px}
.accordion-panel:not([hidden])>.disclosure-body{padding:24px 0 0}

/* The behind-the-scenes story leads; the portrait clip follows in one soft frame. */
#behind-the-scenes .teaser{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
#behind-the-scenes .teaser>div{order:1;max-width:620px}
#behind-the-scenes .teaser-video{order:2;position:relative;width:min(100%,320px);margin:0 auto}
#behind-the-scenes .teaser-video:before{content:'';position:absolute;inset:-28px;background:url('/assets/Kh3kyKewwWA-sharp.webp') center/cover no-repeat;filter:blur(40px);opacity:.3;z-index:0;mask-image:radial-gradient(ellipse,black 35%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse,black 35%,transparent 72%)}
#behind-the-scenes .teaser-video .video-frame{position:relative;z-index:1;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--bg-2)}
#behind-the-scenes .teaser-video .youtube-thumb{width:100%;height:100%;object-fit:cover;object-position:50% 58%;transform:none!important;mask-image:none;-webkit-mask-image:none}
#behind-the-scenes .teaser-video .play-icon{inset:auto 14px 14px auto}

/* Preserve the full Come to Me artwork; only the conversations frame is trimmed. */
.video-frame[data-video-id="q1Ko_H8En2w"] .youtube-thumb{transform:none!important;object-position:50% 50%}
.coming-soon-frame .youtube-thumb{transform:scale(1.06);object-position:50% 50%}

/* GPL refined colour contract: cream, mint, deep green-black and one brand gradient. */
:root{
 --cream:#F7F8F2;--mint:#EAF4EF;--deep:#0F1A16;--text:#0E1D18;--muted:#3F5249;--on-dark:#EAF2E9;
 --gold-day:#E9A93A;--gold-night:#F5C86A;--gold-day-text:#80520B;
 --grad:linear-gradient(135deg,#14B38A,#2BC4D8,#6E9CFF);
 --bg:var(--cream);--bg-2:var(--mint);--surface-glass:rgba(255,255,255,.62);--surface-border:rgba(14,29,24,.10);
 --grad-brand:var(--grad);--accent-gold:var(--gold-day);--gold-text:var(--gold-day-text);
}
:root[data-theme="night"]{
 --bg:#0A1220;--bg-2:#0F1A16;--text:#EAF2E9;--muted:#B9C8C0;--on-dark:#EAF2E9;
 --surface-glass:rgba(15,26,22,.58);--surface-border:rgba(234,242,233,.12);
 --accent-1:#14B38A;--accent-2:#2BC4D8;--accent-3:#6E9CFF;--accent-gold:var(--gold-night);--gold-text:var(--gold-night);
 --grad-brand:var(--grad);--grad-page:radial-gradient(62% 55% at 78% 5%,rgba(43,196,216,.14),transparent 68%),radial-gradient(55% 54% at 10% 90%,rgba(20,179,138,.11),transparent 72%),#0A1220;
 --footer-deep:#0F1A16;
}
body{background:var(--bg)}main{background:var(--bg)}
.story,#videos{background:var(--mint)!important}:root[data-theme="night"] .story,:root[data-theme="night"] #videos{background:var(--bg-2)!important}
.section{background:var(--bg)}
.footer{background:#0F1A16!important}.footer .footer-brand,.footer .footer-title.eyebrow,.footer .smallprint{color:var(--on-dark)}.footer .footer-caption,.footer .footer-links a{color:#C7D4CE}
.status-chip{color:var(--text-muted)}.status-chip:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent-gold);display:inline-block;margin-right:7px}.release-title span:last-child{color:var(--gold-text)}

/* Video hero: the still image remains the LCP/poster; motion is a quiet enhancement. */
.hero-video{position:absolute;inset:0;width:100%;height:100%;z-index:-3;object-fit:cover;opacity:0;transition:opacity 800ms ease;pointer-events:none;filter:saturate(.72) contrast(.94) brightness(.74)}
.hero-image{z-index:-4}
.hero.video-playing .hero-video{opacity:.6}
.hero:before{z-index:-2;background:linear-gradient(90deg,rgba(15,26,22,.92),rgba(15,26,22,.66) 50%,rgba(15,26,22,.25)),linear-gradient(0deg,rgba(15,26,22,.9),transparent 58%)}
.hero:after{z-index:-1;background:radial-gradient(60% 60% at 82% 14%,rgba(20,179,138,.10),transparent 72%),linear-gradient(0deg,var(--bg),transparent 160px);mix-blend-mode:soft-light}
:root[data-theme="night"] .hero-video{filter:saturate(.65) brightness(.5) hue-rotate(150deg)}
:root[data-theme="night"] .hero:after{background:radial-gradient(60% 60% at 82% 14%,rgba(43,196,216,.14),transparent 72%),linear-gradient(0deg,var(--bg),transparent 160px)}
.hero h1,.hero .lead,.hero-bottom,.hero .eyebrow{color:var(--on-dark)}.hero h1 em{background:var(--grad);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.hero-video-toggle{position:absolute;right:24px;bottom:24px;z-index:4;width:44px;height:44px;border:1px solid rgba(234,242,233,.48);border-radius:50%;background:rgba(15,26,22,.42);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--on-dark);display:grid;place-items:center}
.hero-video-pause,.hero-video-pause:after{display:block;width:8px;height:14px;border-left:2px solid currentColor;border-right:2px solid currentColor}.hero-video-toggle.is-paused .hero-video-pause{width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid currentColor;border-right:0}
.header:not(.scrolled):not(.menu-open){background:transparent;border-bottom-color:transparent;color:var(--on-dark);box-shadow:none}.header:not(.scrolled):not(.menu-open) .brand,.header:not(.scrolled):not(.menu-open) .nav-links a,.header:not(.scrolled):not(.menu-open) .theme-toggle,.header:not(.scrolled):not(.menu-open) .menu-toggle{color:var(--on-dark)}
.header.scrolled{backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);border-inline:0;border-bottom:1px solid var(--surface-border)}
@media(max-width:767px){.hero-video-toggle{right:20px;bottom:20px}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}.hero-video-toggle{display:none}.hero:after{animation:none}}
@media print{.hero-video,.hero-video-toggle{display:none!important}}
