/* Gotham, licensed for web. Montserrat is only a fallback while fonts load. */
@font-face{font-family:"Gotham";src:url("fonts/Gotham-Book.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Gotham";src:url("fonts/Gotham-Light.woff") format("woff");font-weight:300;font-display:swap}
@font-face{font-family:"Gotham";src:url("fonts/Gotham-Medium.woff") format("woff");font-weight:500;font-display:swap}
@font-face{font-family:"Gotham";src:url("fonts/Gotham-Bold.woff") format("woff");font-weight:700;font-display:swap}
@font-face{font-family:"Gotham";src:url("fonts/Gotham-Black.woff") format("woff");font-weight:900;font-display:swap}

/* Layout: full-bleed Tahoe dusk hero with the heavy wordmark sitting in the lake,
   then a single dark column of listening, story, footage, photographs, contact. */
:root{
  --lake:#0a131b;        /* page ground: Tahoe after sundown */
  --lake-2:#111d28;      /* raised surfaces */
  --haze:#dde4e9;        /* primary text */
  --slate:#8d9ba7;       /* secondary text */
  --line:#24323f;        /* hairlines */
  --ember:#e9a56c;       /* the last light on the horizon */
  --font:"Gotham","Montserrat","Helvetica Neue",Arial,sans-serif;
  --step--1:clamp(.74rem,.72rem + .1vw,.8rem);
  --step-0:clamp(.95rem,.92rem + .15vw,1.05rem);
  --step-1:clamp(1.15rem,1.05rem + .5vw,1.45rem);
  --step-2:clamp(1.6rem,1.3rem + 1.4vw,2.5rem);
  --step-3:clamp(2.2rem,1.6rem + 3vw,4.2rem);
  --gutter:clamp(16px,5vw,64px);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--lake)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--lake);color:var(--haze);font-family:var(--font);font-size:var(--step-0);line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--lake)}
a{color:inherit}
img,video{display:block;max-width:100%}
.wrap{padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px));max-width:1440px;margin-inline:auto}
.label{font-size:var(--step--1);font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--slate)}
h2{font-size:var(--step-3);font-weight:900;letter-spacing:-.025em;line-height:.95;margin:0;text-wrap:balance;text-transform:uppercase}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px}

/* header */
.top{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:20;transition:background .4s ease}
.top.solid{background:color-mix(in srgb,var(--lake) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:18px}
.mark{font-weight:900;font-size:1.35rem;letter-spacing:-.02em;text-decoration:none}
.nav{display:flex;gap:clamp(14px,2.4vw,34px);align-items:center}
.nav a{font-size:var(--step--1);font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--haze);opacity:.8}
.nav a:hover{opacity:1}
.nav .listen{opacity:1;border:1px solid color-mix(in srgb,var(--haze) 45%,transparent);padding:9px 16px;border-radius:999px}
.nav .listen:hover{border-color:var(--ember);color:var(--ember)}
@media (max-width:640px){.nav a:not(.listen):not(.keep){display:none}}

/* hero */
.hero{position:relative;height:clamp(540px,88svh,980px);overflow:hidden;isolation:isolate}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 46%;z-index:-2;animation:settle 2.4s cubic-bezier(.2,.7,.2,1) both}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgba(10,19,27,.35) 0%,rgba(10,19,27,0) 28%,rgba(10,19,27,0) 52%,rgba(10,19,27,.85) 86%,var(--lake) 100%)}
@keyframes settle{from{transform:scale(1.06);filter:brightness(.7)}to{transform:none;filter:none}}
.hero .wrap{height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-block:0 clamp(28px,5vw,56px)}
.word{font-weight:900;font-size:clamp(7.5rem,27vw,23rem);line-height:.78;letter-spacing:-.045em;margin:0 0 clamp(18px,2.5vw,30px) -.04em}
.hero-row{display:flex;flex-wrap:wrap;gap:16px 40px;align-items:flex-end;justify-content:space-between}
.hero-line{max-width:30ch;font-size:var(--step-1);font-weight:300;line-height:1.4;margin:0;color:var(--haze)}
.latest{display:flex;align-items:center;gap:18px;text-decoration:none;padding:12px 14px 12px 12px;border:1px solid color-mix(in srgb,var(--haze) 28%,transparent);border-radius:999px;background:rgba(10,19,27,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.latest:hover{border-color:var(--ember)}
.latest .dot{width:42px;height:42px;border-radius:50%;background:var(--ember);display:grid;place-items:center;flex:none}
.latest .dot svg{width:14px;height:14px;fill:var(--lake);margin-left:2px}
.latest b{display:block;font-weight:700;letter-spacing:.02em}
.latest small{display:block;font-size:var(--step--1);letter-spacing:.18em;text-transform:uppercase;color:var(--slate)}

section{padding-block:clamp(72px,11vw,150px)}
.head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;margin-bottom:clamp(32px,5vw,56px)}

/* music */
.music-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:start}
@media (max-width:860px){.music-grid{grid-template-columns:1fr}}
.feature{position:relative;margin:0}
.feature img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:40% 50%}
.feature figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px;background:linear-gradient(to top,rgba(10,19,27,.9),transparent)}
.feature figcaption .label{color:var(--ember)}
.feature figcaption strong{display:block;font-size:var(--step-2);font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:1}
.tracks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.tracks li{border-bottom:1px solid var(--line)}
.tracks a{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:20px 4px;text-decoration:none;transition:padding .25s ease,color .25s ease}
.tracks a:hover{padding-left:12px;color:var(--ember)}
.tracks .n{font-size:var(--step--1);color:var(--slate);font-variant-numeric:tabular-nums;letter-spacing:.1em}
.tracks .t{font-weight:500;font-size:var(--step-1);line-height:1.25;min-width:0}
.tracks .t em{font-style:normal;font-weight:300;color:var(--slate)}
.tracks .d{font-size:var(--step--1);color:var(--slate);font-variant-numeric:tabular-nums}
.tracks .go{font-size:var(--step--1);letter-spacing:.18em;text-transform:uppercase;color:var(--slate)}
.tracks a:hover .go{color:var(--ember)}
@media (max-width:520px){.tracks a{grid-template-columns:1.8rem minmax(0,1fr) auto;gap:12px}.tracks .go{display:none}}
.platforms{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:10px;font-size:var(--step--1);font-weight:700;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:15px 22px;border-radius:999px;border:1px solid var(--line);transition:border-color .2s,color .2s,background .2s}
.btn:hover{border-color:var(--ember);color:var(--ember)}
.btn.solid{background:var(--haze);color:var(--lake);border-color:var(--haze)}
.btn.solid:hover{background:var(--ember);border-color:var(--ember);color:var(--lake)}

/* about */
.about{background:var(--lake-2)}
.about-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:center}
@media (max-width:860px){.about-grid{grid-template-columns:1fr}}
.about img{width:100%;aspect-ratio:1/1;object-fit:cover}
.bio{max-width:34rem;display:grid;gap:22px}
.bio .lede{font-size:var(--step-2);font-weight:300;line-height:1.25;letter-spacing:-.01em;margin:0;text-wrap:balance}
.bio .lede strong{font-weight:700;color:var(--ember)}
.bio p{margin:0;color:color-mix(in srgb,var(--haze) 82%,var(--slate))}

/* watch */
.reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,24px)}
@media (max-width:760px){.reels{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:none}.reels::-webkit-scrollbar{display:none}.reel{scroll-snap-align:start}}
.reel{margin:0;display:grid;gap:14px}
.reel .frame{position:relative;aspect-ratio:9/16;overflow:hidden;background:var(--lake-2)}
.reel video{width:100%;height:100%;object-fit:cover}
.reel figcaption{display:flex;justify-content:space-between;gap:12px;font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase}
.reel figcaption span:first-child{font-weight:700;color:var(--haze)}
.reel figcaption span:last-child{color:var(--slate)}

/* photos */
.photos{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(8px,1.4vw,18px)}
.photos figure{margin:0;overflow:hidden;background:var(--lake-2)}
.photos img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.photos figure:hover img{transform:scale(1.03)}
.p-a{grid-column:span 8;aspect-ratio:16/9}
.p-b{grid-column:span 4;aspect-ratio:auto}
.p-c{grid-column:span 4;aspect-ratio:4/5}
.p-d{grid-column:span 4;aspect-ratio:4/5}
.p-e{grid-column:span 4;aspect-ratio:4/5}
.p-f{grid-column:span 5;aspect-ratio:auto}
.p-g{grid-column:span 7;aspect-ratio:16/9}
@media (max-width:760px){.p-a,.p-g{grid-column:span 12}.p-b,.p-f{grid-column:span 6;aspect-ratio:4/5}.p-c,.p-d{grid-column:span 6}.p-e{grid-column:span 12;aspect-ratio:16/10}}

/* contact */
.contact{border-top:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:end}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.contact h2{font-size:clamp(3rem,9vw,8rem)}
.lines{display:grid;gap:0;border-top:1px solid var(--line)}
.line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;padding:22px 0;border-bottom:1px solid var(--line)}
.line .v{font-size:var(--step-1);font-weight:500;user-select:all;word-break:break-word;min-width:0}
.line .v a{text-decoration:none}
.line .v a:hover{color:var(--ember)}
.socials{justify-content:flex-start;gap:12px 32px}
.socials a{font-size:var(--step-1);font-weight:500;text-decoration:none}
.socials a:hover{color:var(--ember)}
.copy{font:inherit;font-size:var(--step--1);font-weight:500;letter-spacing:.18em;text-transform:uppercase;background:none;color:var(--slate);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer}
.copy:hover{color:var(--ember);border-color:var(--ember)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:28px 40px;border-top:1px solid var(--line)}
footer span{font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase;color:var(--slate)}

/* ---------- shared additions ---------- */
.nav a[aria-current="page"]{opacity:1;color:var(--ember)}
.top.solid,.top.always{background:color-mix(in srgb,var(--lake) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.reel .frame video{background:var(--lake-2)}

/* sub-page opener */
.page-head{padding-block:clamp(120px,16vw,200px) clamp(40px,6vw,72px)}
.page-head .label{display:block;margin-bottom:16px}
.page-head h1{font-size:clamp(3.2rem,11vw,9rem);font-weight:900;line-height:.86;letter-spacing:-.04em;margin:0;text-transform:uppercase}

/* forms */
.form{display:grid;gap:18px}
.form .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media (max-width:640px){.form .row{grid-template-columns:1fr}}
.field{display:grid;gap:8px;min-width:0}
.field label{font-size:var(--step--1);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--slate)}
.field label .opt{letter-spacing:.08em;text-transform:none;font-weight:300;opacity:.8}
.field input,.field select,.field textarea{font:inherit;font-size:var(--step-0);color:var(--haze);background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 0;border-radius:0;width:100%;transition:border-color .2s}
.field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--slate) 50%),linear-gradient(135deg,var(--slate) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat}
.field select option{background:var(--lake);color:var(--haze)}
.field textarea{min-height:150px;resize:vertical;line-height:1.6}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--ember)}
.field input::placeholder,.field textarea::placeholder{color:color-mix(in srgb,var(--slate) 70%,transparent)}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:8px}
.form-foot button{cursor:pointer;font-family:inherit}
.form-foot button[disabled]{opacity:.55;cursor:progress}
.status{font-size:var(--step--1);letter-spacing:.06em;color:var(--slate);min-height:1.2em}
.status.ok{color:var(--ember)}
.status.err{color:#f08a7a}

/* stay in touch */
.signup{background:var(--lake-2)}
.signup-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
@media (max-width:860px){.signup-grid{grid-template-columns:1fr}}
.signup p.intro{margin:18px 0 0;max-width:34ch;color:color-mix(in srgb,var(--haze) 82%,var(--slate))}

/* about page */
.about-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:start}
@media (max-width:860px){.about-top{grid-template-columns:1fr}}
.about-top img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.press-links{display:flex;flex-wrap:wrap;gap:12px}
.press-meta{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:22px}
.press-meta span{font-size:var(--step--1);letter-spacing:.18em;text-transform:uppercase;color:var(--slate)}
.press-meta b{font-weight:500;user-select:all}
.photo-note{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:clamp(24px,4vw,40px)}

/* contact page */
.contact-page{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(40px,7vw,120px);align-items:start}
@media (max-width:860px){.contact-page{grid-template-columns:1fr}}
.direct{display:grid;gap:0;border-top:1px solid var(--line)}

/* footer socials */
.foot-links{display:flex;flex-wrap:wrap;gap:10px 24px}
.foot-links a{font-size:var(--step--1);letter-spacing:.16em;text-transform:uppercase;color:var(--slate);text-decoration:none}
.foot-links a:hover{color:var(--ember)}
.photos a{display:block;height:100%}
