:root{
--night:#232220; --deep:#191817; --orange:#a86b42; --orange-2:#cf9466;
--paper:#f3ece0; --ink:#232323; --cream:#f6f0e6; --mute:#a3b6b7;
--teal:#3e5557; --violet:#1c1b1a; --mono:#1e1d1c; --jungle:#5f7678; --jungle-2:#7e9698;
--serif:'Playfair Display', Georgia, serif; --sans:'Work Sans', system-ui, sans-serif;
--pad:clamp(20px,5vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:clip}
html{scroll-behavior:smooth}
body{background:var(--night);color:var(--cream);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1;letter-spacing:-.01em}
button{font:inherit;cursor:pointer}
.nav{position:fixed;inset:0 0 auto 0;z-index:40;display:flex;align-items:center;gap:28px;padding:18px var(--pad);transition:background .4s,padding .4s}
.nav.is-solid{background:rgba(25,24,23,.86);backdrop-filter:blur(10px);padding-top:12px;padding-bottom:12px}
.brand{font-family:var(--serif);font-size:26px;text-decoration:none;margin-right:auto}
.nav-links{display:flex;gap:26px}
.nav-links a{text-decoration:none;font-size:15px;font-weight:500;opacity:.85}
.nav-links a:hover{opacity:1;color:var(--orange-2)}
.nav-ask{background:none;border:1px solid rgba(246,240,230,.45);color:var(--cream);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500}
.nav-ask:hover{border-color:var(--orange);color:var(--orange-2)}
.hero{position:relative;height:100svh;min-height:600px;overflow:hidden;background:var(--deep)}
.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,24,23,.55) 0%,rgba(25,24,23,0) 22%,rgba(25,24,23,0) 45%,rgba(25,24,23,.85) 100%)}
.hero-copy{position:absolute;left:var(--pad);bottom:clamp(36px,8vh,84px);max-width:760px}
.hero-name{font-size:clamp(64px,10.5vw,150px);line-height:.9;color:var(--cream)}
.hero-line{margin-top:18px;font-size:clamp(18px,1.6vw,22px);font-weight:600;color:var(--orange-2)}
.hero-sub{margin-top:8px;max-width:520px;color:rgba(246,240,230,.86)}
.release{position:absolute;right:var(--pad);bottom:clamp(36px,8vh,84px);display:flex;align-items:center;gap:16px;text-decoration:none;background:rgba(243,236,224,.94);color:var(--ink);padding:10px 22px 10px 10px;transition:transform .35s ease}
.release:hover{transform:translateY(-4px)}
.release img{width:88px;height:88px;object-fit:cover}
.release-txt{display:flex;flex-direction:column}
.release-when{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--jungle)}
.release-title{font-family:var(--serif);font-size:38px;line-height:1}
.release-by{font-size:13px}
.hero-book{position:absolute;right:var(--pad);top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--cream);opacity:.8}
.hero-book:hover{opacity:1;color:var(--orange-2)}
.song-film{position:relative;background:#000;overflow:hidden}
.song-film video{width:100%;height:100%;object-fit:cover}
.turn-up{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:10px;border:0;border-radius:999px;background:rgba(10,10,12,.72);color:#fff;padding:10px 18px 10px 14px;font-size:14px;font-weight:600;backdrop-filter:blur(6px);transition:background .3s}
.turn-up:hover{background:rgba(168,107,66,.92)}
.turn-up[aria-pressed="true"]{background:var(--orange)}
.bars{display:flex;align-items:flex-end;gap:3px;height:16px}
.bars i{width:3px;height:4px;background:currentColor;border-radius:1px;transition:height .3s}
.turn-up[aria-pressed="true"] .bars i{animation:lvl 1s ease-in-out infinite}
.turn-up[aria-pressed="true"] .bars i:nth-child(2){animation-delay:-.3s}
.turn-up[aria-pressed="true"] .bars i:nth-child(3){animation-delay:-.6s}
.turn-up[aria-pressed="true"] .bars i:nth-child(4){animation-delay:-.15s}
@keyframes lvl{0%,100%{height:4px}50%{height:16px}}
.jungle{background:var(--paper);color:var(--ink);padding:clamp(80px,12vh,140px) var(--pad);position:relative}
.jungle::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.jungle-head{text-align:center;position:relative}
.jungle-date{font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:14px;color:var(--jungle)}
.jungle h2{font-size:clamp(84px,17vw,250px);line-height:.86;margin-top:10px}
.jungle-by{margin-top:14px;font-size:18px;font-weight:500}
.jungle-by span{display:block;font-size:14px;font-weight:400;opacity:.7;margin-top:2px}
.jungle-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center;max-width:1180px;margin:clamp(48px,8vh,90px) auto 0}
.jungle-film{aspect-ratio:1;box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}
.jungle-words p{margin-top:14px;max-width:520px}
.jungle-words .lede{font-family:var(--serif);font-size:clamp(26px,2.6vw,36px);line-height:1.15;margin-top:0}
.jungle-radio{font-weight:600}
.jungle-act{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:28px}
.btn-ink{display:inline-block;background:var(--ink);color:var(--paper);text-decoration:none;padding:15px 28px;font-weight:600;transition:background .3s}
.btn-ink:hover{background:var(--jungle)}
.countdown{font-size:15px;font-weight:500}
.songs{background:var(--deep)}
.songs-title{font-size:clamp(44px,6vw,88px);padding:clamp(80px,12vh,130px) var(--pad) clamp(40px,6vh,70px);max-width:1100px}
.song{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,80px);padding:clamp(56px,9vh,100px) var(--pad)}
.song:nth-of-type(even){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.song:nth-of-type(even) .song-film{order:2}
.song .song-film{aspect-ratio:16/9}
.song-meta{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.song h3{font-size:clamp(48px,5.4vw,84px);margin:10px 0 18px}
.song .song-story{font-size:19px;max-width:560px}
.song .song-story + .song-story{margin-top:12px;font-size:17px;opacity:.85}
.song .credit{margin-top:10px;font-size:14px;opacity:.75}
.yt{display:inline-block;margin-top:24px;font-weight:600;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:3px}
.song-igy{background:radial-gradient(ellipse at 20% 50%,#4a3122 0%,var(--violet) 60%)}
.song-igy .song-meta,.song-igy .yt{color:#e8c3a2}
.song-cup{background:var(--teal)}
.song-cup .song-meta,.song-cup .yt{color:#dce6e6}
.song-ht{background:var(--mono);filter:none}
.song-ht .song-film video{filter:grayscale(1)}
.ht-cover{width:120px;height:auto;margin-bottom:20px}
.live{background:var(--night);padding:clamp(90px,14vh,150px) var(--pad)}
.live-head{max-width:900px}
.live h2{font-size:clamp(84px,13vw,190px);line-height:.85;color:var(--orange)}
.live-quote{font-family:var(--serif);font-size:clamp(26px,3vw,42px);line-height:1.15;margin-top:22px}
.live-note{margin-top:10px;color:var(--mute)}
.live-films{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;margin-top:56px;align-items:end}
.live-films .song-film{aspect-ratio:16/9}
.live-films figcaption{position:absolute;right:16px;top:14px;font-size:13px;background:rgba(25,24,23,.6);padding:4px 10px;border-radius:999px}
.voice{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center;margin-top:clamp(80px,12vh,130px)}
.voice-img{aspect-ratio:16/9;overflow:hidden}
.voice-img img{width:100%;height:100%;object-fit:cover}
.voice-kicker{font-family:var(--serif);font-size:clamp(32px,3.4vw,48px);line-height:1.05;color:var(--orange-2)}
.voice-song{margin-top:12px;color:rgba(246,240,230,.86)}
.voice blockquote{margin-top:24px;padding-left:18px;border-left:2px solid var(--orange)}
.voice blockquote p{font-size:19px;line-height:1.45}
.voice cite{display:block;margin-top:6px;font-style:normal;font-size:14px;font-weight:600;color:var(--mute)}
.stages{display:grid;grid-template-columns:1.1fr .8fr .9fr;gap:20px;margin-top:clamp(80px,12vh,130px);align-items:end}
.st{overflow:hidden}
.st img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.st:hover img{transform:scale(1.04)}
.st-1{aspect-ratio:4/5}.st-2{aspect-ratio:4/5;transform:translateY(-60px)}.st-3{aspect-ratio:4/5}
.bill{margin-top:clamp(70px,10vh,110px);text-align:center}
.bill-head{font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.bill-list{list-style:none;margin-top:18px;font-family:var(--serif);font-size:clamp(26px,3.4vw,50px);line-height:1.25}
.bill-list li{display:inline}
.bill-list li:not(:last-child)::after{content:"\2022";color:var(--orange);margin:0 .35em;font-size:.6em;vertical-align:.25em}
.story{background:var(--teal);color:var(--cream);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,.7fr);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(80px,12vh,140px) var(--pad)}
.story-img{aspect-ratio:3/4;overflow:hidden}
.story-img img,.story-img2 img{width:100%;height:100%;object-fit:cover}
.story-img2{aspect-ratio:3/4;overflow:hidden;align-self:end}
.story h2{font-size:clamp(46px,5vw,76px)}
.story-lede{font-size:20px;font-weight:500;margin-top:18px}
.story-q{font-family:var(--serif);font-size:clamp(22px,2vw,28px);line-height:1.25;margin:24px 0}
.story-txt p{margin-top:12px}
.story-sign{font-weight:600}
.book{background:var(--deep);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);padding:clamp(90px,14vh,150px) var(--pad)}
.book h2{font-size:clamp(52px,6.4vw,100px)}
.book-txt p{margin-top:18px;max-width:420px;font-size:19px}
.book-direct a{color:var(--orange-2);text-decoration:none;font-weight:600}
.book-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.book-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--mute)}
.book-form .wide{grid-column:1/-1}
.book-form input,.book-form select,.book-form textarea{font:inherit;font-size:16px;color:var(--cream);background:transparent;border:0;border-bottom:1px solid rgba(246,240,230,.35);padding:10px 0;border-radius:0;color-scheme:dark}
.book-form select option{background:var(--deep)}
.book-form input:focus,.book-form select:focus,.book-form textarea:focus{outline:none;border-bottom-color:var(--orange)}
.btn-orange{grid-column:1/-1;justify-self:start;background:var(--orange);color:var(--ink);border:0;padding:16px 32px;font-weight:600;font-size:16px;transition:background .3s}
.btn-orange:hover{background:var(--orange-2)}
.form-note{grid-column:1/-1;font-size:14px;color:var(--mute)}
.foot{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:baseline;padding:36px var(--pad);background:#161514;font-size:14px;color:var(--mute)}
.foot-name{font-family:var(--serif);font-size:24px;color:var(--cream)}
.foot-links{display:flex;gap:18px;margin-left:auto}
.foot-links a{text-decoration:none}
.foot-links a:hover{color:var(--orange-2)}
.desk{position:fixed;right:20px;bottom:20px;z-index:60;width:min(380px,calc(100vw - 24px));max-height:min(560px,calc(100svh - 40px));display:flex;flex-direction:column;background:var(--cream);color:var(--ink);box-shadow:0 30px 70px -20px rgba(0,0,0,.6)}
.desk[hidden]{display:none}
.desk-top{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--ink);color:var(--paper)}
.desk-top strong{font-family:var(--serif);font-weight:400;font-size:22px}
.desk-x{background:none;border:0;color:inherit;font-size:26px;line-height:1}
.desk-log{flex:1;overflow:auto;padding:16px 18px;display:flex;flex-direction:column;gap:10px;font-size:15px}
.msg{max-width:88%;padding:10px 14px;line-height:1.45}
.msg.k{background:#fff;align-self:flex-start}
.msg.u{background:var(--orange);align-self:flex-end}
.msg a{color:var(--jungle);font-weight:600}
.desk-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 10px}
.desk-chips button{border:1px solid rgba(21,20,18,.3);background:transparent;border-radius:999px;padding:6px 12px;font-size:13px}
.desk-chips button:hover{border-color:var(--orange);background:#fff}
.desk-in{display:flex;border-top:1px solid rgba(21,20,18,.15)}
.desk-in input{flex:1;border:0;padding:14px 18px;font:inherit;font-size:15px;background:transparent}
.desk-in input:focus{outline:none}
.desk-in button{border:0;background:var(--ink);color:var(--paper);padding:0 20px;font-weight:600}
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.rv.in{opacity:1;transform:none}
@media (max-width:900px){
.nav-links{display:none}
.brand{font-size:22px}
.nav-ask{padding:7px 13px;font-size:13px}
.hero{min-height:560px}
.hero-copy{right:var(--pad);bottom:150px}
.hero-name{font-size:clamp(58px,17vw,96px)}
.hero-sub{font-size:15px}
.release{left:var(--pad);right:var(--pad);bottom:24px;padding:8px 16px 8px 8px}
.release img{width:72px;height:72px}
.release-title{font-size:30px}
.hero-book{display:none}
.jungle-body{grid-template-columns:1fr}
.song,.song:nth-of-type(even){grid-template-columns:1fr;padding-top:48px;padding-bottom:56px}
.song:nth-of-type(even) .song-film{order:0}
.song .song-film{margin:0 calc(var(--pad) * -1)}
.live-films{grid-template-columns:1fr}
.voice{grid-template-columns:1fr}
.stages{grid-template-columns:1fr 1fr;gap:12px}
.st-1{grid-column:1/-1;aspect-ratio:4/4.4}
.st-2{transform:none}
.story{grid-template-columns:1fr 1fr}
.story-txt{grid-column:1/-1;order:-1}
.book{grid-template-columns:1fr}
.book-form{grid-template-columns:1fr}
.foot-links{margin-left:0}
.turn-up{left:12px;bottom:12px;font-size:13px}
}
.song-cup .song-film{aspect-ratio:1280/584}
.story-q{color:var(--orange-2)}
.story-sign{color:var(--orange-2)}
.btn-ink:hover{background:var(--jungle-2)}
/* interactive layer */
.progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:50;background:linear-gradient(90deg,var(--jungle-2),var(--orange-2));transform-origin:0 50%;transform:scaleX(0);pointer-events:none}
.nav-links a{position:relative}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s ease}
.nav-links a:hover::after,.nav-links a.is-here::after{transform:scaleX(1)}
.nav-links a.is-here{opacity:1;color:var(--orange-2)}
.hero-glow{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .6s;background:radial-gradient(520px circle at var(--mx,50%) var(--my,50%),rgba(207,148,102,.16),transparent 60%)}
.hero:hover .hero-glow{opacity:1}
.hero-name .ch{display:inline-block;transition:transform .35s cubic-bezier(.2,.8,.2,1),color .35s}
.hero-name.intro .ch{animation:rise .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i) * 55ms)}
.hero-name .ch:hover{transform:translateY(-.08em);color:var(--orange-2)}
@keyframes rise{from{opacity:0;transform:translateY(.35em)}to{opacity:1;transform:none}}
.release{transform-style:preserve-3d;will-change:transform;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.release::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(240px circle at var(--sx,50%) var(--sy,50%),rgba(255,255,255,.35),transparent 60%);opacity:0;transition:opacity .4s}
.release:hover{transform:perspective(700px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-4px);box-shadow:0 26px 50px -24px rgba(0,0,0,.7)}
.release:hover::after{opacity:1}
.btn-line{background:none;border:1px solid var(--ink);color:var(--ink);padding:14px 22px;font-weight:600;transition:background .3s,color .3s}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.countdown{font-variant-numeric:tabular-nums}
.countdown b{font-family:var(--serif);font-weight:400;font-size:26px;color:var(--jungle);margin-right:2px}
.magnet{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.cover-box{margin:auto;border:0;padding:0;background:transparent;max-width:min(88vw,80svh);color:var(--cream);overflow:visible}
.cover-box::backdrop{background:rgba(20,19,18,.88);backdrop-filter:blur(6px)}
.cover-box[open]{animation:pop .45s cubic-bezier(.2,.8,.2,1)}
.cover-box img{width:100%;height:auto;box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
.cover-box p{margin-top:12px;text-align:center;font-size:14px;letter-spacing:.06em;color:var(--mute)}
.cover-x{position:absolute;top:-44px;right:0;background:none;border:0;color:var(--cream);font-size:34px;line-height:1}
@keyframes pop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.bill-list li span{transition:color .3s}
.bill-list li span:hover{color:var(--orange-2)}
.st img{will-change:transform}
@media (prefers-reduced-motion:reduce){
.hero-name.intro .ch{animation:none}
.release:hover{transform:none}
.rv{opacity:1;transform:none;transition:none}
html{scroll-behavior:auto}
}
.form-note a{color:var(--orange-2);font-weight:600}
.btn-orange:disabled{opacity:.65;cursor:wait}
/* song rows: video fills its whole half, no border */
@media (min-width:901px){
.song,.song:nth-of-type(even){padding:0;gap:0;align-items:stretch}
.song .song-film,.song-cup .song-film{aspect-ratio:auto;min-height:min(82vh,760px);height:100%}
.song .song-txt{align-self:center;padding:clamp(56px,9vh,100px) var(--pad)}
}
@media (max-width:900px){
.song,.song:nth-of-type(even){padding-top:0}
}
.song-ht .song-film video{transform:scale(1.1)}
.jungle-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
