:root { color-scheme: dark; --bg:#090909; --ink:#efefeb; --muted:#8b8b86; --line:#2b2b29; --max:1440px; }
:root[data-theme="light"] { color-scheme: light; --bg:#f3f3ef; --ink:#111418; --muted:#5d6462; --line:#cbd0cc; }
* { box-sizing:border-box; }
html { background:var(--bg); overflow-x:clip; scroll-behavior:smooth; scroll-padding-top:clamp(82px,8vw,112px); }
body { min-width:320px; margin:0; color:var(--ink); background:var(--bg); overflow-x:clip; font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.5; }
a { color:inherit; text-decoration:none; }
a:hover { color:var(--muted); }
a:focus-visible { outline:1px solid var(--ink); outline-offset:5px; }
img,iframe { display:block; max-width:100%; }
.site-header,main,.site-footer { width:min(calc(100% - 72px),var(--max)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:30; display:block; width:100%; max-width:none; margin:0; padding:14px 0 12px; background:var(--bg); border-bottom:0; backdrop-filter:none; -webkit-backdrop-filter:none; isolation:isolate; box-sizing:border-box; }
.site-header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; width:min(calc(100% - 72px),var(--max)); margin-inline:auto; }
.wordmark { display:block; width:clamp(124px,16vw,220px); aspect-ratio:5 / 1; flex:none; overflow:hidden; background:var(--bg); }
.wordmark img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; mix-blend-mode:screen; }
.header-tools { display:flex; align-items:center; gap:28px; min-width:0; max-width:100%; flex:1 1 auto; margin-left:clamp(16px,2.5vw,36px); }
.site-nav { display:flex; align-items:center; gap:clamp(18px,3vw,44px); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.header-actions { display:flex; align-items:center; gap:12px; margin-left:auto; flex:none; }
.social-links { display:flex; align-items:center; gap:12px; margin-left:0; flex:none; }
.social-links a { display:grid; width:20px; height:20px; place-items:center; color:var(--muted); }
.social-links a:hover { color:var(--ink); }
.social-links svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.5; }
.social-links .icon-fill { fill:currentColor; stroke:none; }
.social-links .apple-music-icon { display:block; width:18px; height:18px; background-color:currentColor; background-repeat:no-repeat; background-position:center; background-size:contain; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain; }
.social-links .apple-music-icon-white { -webkit-mask-image:url("apple-music-white.svg"); mask-image:url("apple-music-white.svg"); }
.social-links .apple-music-icon-black { display:none; -webkit-mask-image:url("apple-music-black.svg"); mask-image:url("apple-music-black.svg"); }
:root[data-theme="light"] .social-links .apple-music-icon-white { display:none; }
:root[data-theme="light"] .social-links .apple-music-icon-black { display:block; }
.theme-toggle { display:grid; width:26px; height:26px; padding:0; place-items:center; border:1px solid var(--line); border-radius:50%; color:var(--muted); background:transparent; cursor:pointer; }
.theme-toggle:hover { border-color:var(--muted); color:var(--ink); }
.theme-toggle:focus-visible { outline:1px solid var(--ink); outline-offset:4px; }
.theme-toggle svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.5; }
.theme-icon-moon { display:none; }
:root[data-theme="light"] .theme-icon-sun { display:none; }
:root[data-theme="light"] .theme-icon-moon { display:block; }
:root[data-theme="light"] .wordmark img { filter:invert(1); mix-blend-mode:multiply; }
.hero { min-height:calc(100vh - 92px); display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); gap:clamp(48px,6vw,96px); align-items:center; padding:clamp(60px,10vh,130px) 0; }
.release-year,.watch-caption { margin:0; color:var(--muted); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.hero-copy,.hero-image { min-width:0; }
.hero h1 { width:min(100%,680px); max-width:100%; aspect-ratio:5 / 1; margin:0; overflow:hidden; background:var(--bg); line-height:0; }
.hero h1 img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; mix-blend-mode:screen; }
.hero-image { width:100%; aspect-ratio:3 / 2; margin:0; overflow:hidden; }
.hero-image img { width:100%; height:100%; object-fit:cover; filter:grayscale(.48) saturate(.55) brightness(.78); }
.video-hero { position:relative; width:100vw; max-width:100vw; min-height:calc(100svh - 67px); margin-left:calc(50% - 50vw); display:grid; grid-template-columns:minmax(0,1fr); place-items:center; overflow:hidden; padding:0; background:var(--bg); }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; background:var(--bg); }
.hero-video-scrim { position:absolute; inset:0; background:rgba(0,0,0,.34); }
.video-hero .hero-copy { position:relative; z-index:2; width:min(100%,760px); min-width:0; }
.video-hero h1 { width:min(88vw,680px); margin-inline:auto; background:transparent; }
.video-hero h1 img { mix-blend-mode:normal; }
.video-hero.is-video-failed .hero-video { opacity:0; }
.section { display:grid; grid-template-columns:minmax(150px,.34fr) minmax(0,1.66fr); gap:clamp(36px,7vw,110px); padding:clamp(90px,14vw,190px) 0; border-top:1px solid var(--line); }
.section-heading h2 { margin:10px 0 0; font-size:clamp(1.8rem,3vw,3rem); font-weight:400; letter-spacing:-.05em; }
.live,.release-section,.merch-section,.watch { display:block; }
.release-section { position:relative; isolation:isolate; --release-ink:#f2f5f3; --release-muted:#c7d5d8; background:transparent; border-top:0; color:var(--release-ink); padding-inline:clamp(18px,4vw,48px); }
.release-section::before { content:""; position:absolute; z-index:-1; top:0; bottom:0; left:50%; width:100vw; transform:translateX(-50%); background:linear-gradient(180deg,rgba(4,13,19,.48),rgba(4,13,19,.7)),url("garden.jpeg") center 46% / cover no-repeat; }
.merch-section { border-top:0; }
.watch { position:relative; isolation:isolate; --watch-ink:#f2f5f3; --watch-muted:#c7d5d8; background:transparent; border-top:0; }
.watch::before { content:""; position:absolute; z-index:-1; top:0; bottom:0; left:50%; width:100vw; transform:translateX(-50%); background:linear-gradient(180deg,rgba(4,13,19,.46),rgba(4,13,19,.74)),url("watch-background.jpeg") center 52% / cover no-repeat; }
:root[data-theme="light"] .watch { color:var(--watch-ink); }
:root[data-theme="light"] .watch .watch-caption { color:var(--watch-muted); }
:root[data-theme="light"] .watch::before { background:linear-gradient(180deg,rgba(4,13,19,.28),rgba(4,13,19,.62)),url("watch-background.jpeg") center 52% / cover no-repeat; }
.live .section-heading,.release-section .section-heading,.merch-section .section-heading,.watch .section-heading { margin-bottom:clamp(22px,3vw,40px); }
.release-section .section-heading,.release { width:min(100%,920px); margin-inline:auto; }
.live > .section-heading,.live > .live-entry,.watch > .section-heading,.watch > div { width:min(100%,920px); margin-inline:auto; }
.live-entry { display:grid; grid-template-columns:minmax(150px,.35fr) minmax(0,1fr); column-gap:clamp(28px,6vw,96px); align-items:baseline; padding-top:0; }
.live-entry + .live-entry { margin-top:clamp(22px,2.5vw,34px); padding-top:0; }
.live-detail { min-width:0; }
.live-entry time { font-size:.84rem; letter-spacing:.04em; }
.live-heading-line { display:flex; align-items:center; flex-wrap:wrap; column-gap:clamp(28px,6vw,96px); row-gap:8px; min-width:0; }
.live-entry h3 { margin:0; font-size:clamp(1.5rem,4vw,4rem); font-weight:400; letter-spacing:-.05em; }
.live-entry--past { color:var(--muted); }
.live-entry--past h3 { color:var(--ink); font-size:clamp(1.35rem,3.3vw,3.3rem); }
.live-note { margin:10px 0 0; color:var(--muted); font-size:.78rem; letter-spacing:.04em; }
.live-ticket { margin:0; flex:none; }
.live-ticket a { color:var(--ink); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.live-ticket a:hover { color:var(--muted); }
.release { display:grid; grid-template-columns:minmax(280px,520px) minmax(0,1fr); gap:clamp(36px,6vw,80px); align-items:center; }
.release-cover { width:100%; aspect-ratio:1; display:grid; margin:0; overflow:hidden; background:#0d0d0c; }
.release-cover img { width:100%; height:100%; object-fit:contain; }
.release-copy { min-width:0; }
.release-section .release-year,.release-section .release-links a { color:var(--release-muted); }
.release h3 { margin:14px 0 20px; font-size:clamp(2.5rem,7vw,7rem); font-weight:400; letter-spacing:-.07em; line-height:.9; }
.release-links { display:flex; flex-wrap:wrap; gap:12px 18px; margin:0; }
.release-links a { color:var(--muted); font-size:.88rem; letter-spacing:.04em; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.release-section .release-links a:hover { color:var(--release-ink); }
:root[data-theme="light"] .release-section::before { background:linear-gradient(180deg,rgba(4,13,19,.44),rgba(4,13,19,.66)),url("garden.jpeg") center 46% / cover no-repeat; }
.merch-section .section-heading,.merch-product { width:min(100%,920px); margin-inline:auto; }
.merch-product { display:block; }
.merch-copy { min-width:0; margin-bottom:clamp(24px,4vw,48px); text-align:center; }
.merch-type,.merch-price { margin:0; }
.merch-type { font-size:clamp(1.6rem,3vw,3rem); letter-spacing:-.05em; }
.merch-price { margin-top:8px; color:var(--muted); font-size:.9rem; letter-spacing:.08em; }
.merch-carousel-shell { width:100%; min-width:0; }
.merch-carousel { display:flex; gap:16px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; touch-action:pan-x pinch-zoom; outline:none; }
.merch-carousel::-webkit-scrollbar { display:none; }
.merch-slide { display:flex; flex:0 0 100%; min-width:100%; min-height:0; margin:0; padding:clamp(24px,4vw,56px) clamp(24px,5vw,72px); align-items:center; justify-content:center; scroll-snap-align:start; scroll-snap-stop:always; background:var(--bg); }
.merch-slide img { width:min(100%,720px); height:auto; object-fit:contain; }
.merch-controls { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:14px; }
.merch-arrow { position:relative; z-index:1; display:grid; flex:none; width:34px; height:30px; padding:0; place-items:center; border:1px solid var(--line); border-radius:0; color:var(--ink); background:transparent; font:inherit; cursor:pointer; pointer-events:auto; }
.merch-arrow:hover { border-color:var(--muted); color:var(--muted); }
.merch-arrow:focus-visible,.merch-dots button:focus-visible { outline:1px solid var(--ink); outline-offset:4px; }
.merch-dots { display:flex; align-items:center; gap:8px; }
.merch-dots button { width:7px; height:7px; padding:0; border:1px solid var(--muted); border-radius:50%; background:transparent; cursor:pointer; }
.merch-dots button[aria-selected="true"] { border-color:var(--ink); background:var(--ink); }
.video-wrap { position:relative; aspect-ratio:16/9; background:#111; }
.video-wrap iframe { width:100%; height:100%; border:0; }
.watch-caption { margin-top:14px; }
.site-footer { display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; padding:32px 0 42px; border-top:0; }
.footer-mark { grid-column:1; grid-row:1; width:clamp(110px,10vw,150px); }
.site-footer .copyright { grid-column:2; grid-row:1; justify-self:end; width:max-content; margin:0; color:var(--muted); font-size:.64rem; letter-spacing:.04em; line-height:1.4; text-align:right; text-transform:none; }
.js [data-reveal] { opacity:0; transform:translateY(18px); transition:opacity 700ms ease,transform 700ms ease; }
.js [data-reveal].is-visible { opacity:1; transform:none; }
@media (max-width:760px) {
  main,.site-footer { width:min(calc(100% - 36px),var(--max)); }
  .site-header { padding-top:16px; padding-bottom:12px; }
  .site-header-inner { align-items:flex-start; flex-wrap:wrap; gap:12px; width:min(calc(100% - 36px),var(--max)); }
  .site-footer { grid-template-columns:auto minmax(0,1fr); column-gap:8px; row-gap:18px; }
  .footer-mark { width:90px; }
  .site-footer .copyright { grid-column:2; grid-row:1; justify-self:end; width:auto; min-width:0; font-size:.48rem; letter-spacing:.01em; white-space:nowrap; }
  .header-tools { min-width:0; flex:1 1 160px; flex-wrap:wrap; justify-content:flex-end; gap:10px 14px; margin-left:0; }
  .site-nav { gap:16px; font-size:.67rem; }
  .header-actions { gap:8px; }
  .social-links { gap:8px; margin-left:0; }
  .social-links a { width:16px; height:16px; }
  .social-links svg { width:16px; height:16px; }
  .social-links .apple-music-icon { width:16px; height:16px; }
  .theme-toggle { width:24px; height:24px; }
  .theme-toggle svg { width:13px; height:13px; }
  .hero { grid-template-columns:1fr; min-height:auto; gap:48px; padding:80px 0 100px; }
  .video-hero { min-height:calc(100svh - 70px); padding:0; }
  .video-hero .hero-copy { width:100%; }
  .video-hero h1 { width:88vw; }
  .section { grid-template-columns:1fr; gap:52px; padding:90px 0; }
  .live-entry { grid-template-columns:1fr; row-gap:10px; align-items:start; }
  .live-heading-line { column-gap:18px; row-gap:10px; }
  .release { grid-template-columns:1fr; gap:34px; }
  .release-section .section-heading,.merch-section .section-heading { text-align:left; }
  .release-section::before { background-position:12% center; }
  .release-cover { width:min(100%,560px); margin-inline:auto; }
  .release-copy { display:block; text-align:center; }
  .release h3 { margin:10px 0 16px; }
  .release-links { justify-content:center; }
  .merch-product { width:100%; }
}
@media (min-width:761px) and (max-width:980px) {
  .hero { gap:clamp(28px,4vw,48px); }
  .hero h1 { font-size:clamp(3.5rem,8vw,6.5rem); }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .js [data-reveal] { opacity:1; transform:none; transition:none; }
}
