*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#080706;color:#ece6de;font-family:'Space Grotesk',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
a.link{color:#d8382b}
a.link:hover{color:#ece6de}
::selection{background:#d8382b;color:#080706}

.page{position:relative;width:100%}
.container{max-width:1200px;margin:0 auto}
.kicker{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:2px;color:#8f8579}
.icon-inline{font-size:14px}

.section{scroll-margin-top:64px;padding:110px 28px}
.section--divider{border-bottom:1px solid rgba(236,230,222,0.1)}
.section--tinted{background:#0d0b09}

/* ---- nav ---- */
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:rgba(8,7,6,0.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(236,230,222,0.1)}
.wordmark{font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:700;letter-spacing:0.5px}
.nav-row{display:flex;align-items:center;gap:26px}
.main-nav-links{display:flex;font-family:'JetBrains Mono',monospace;letter-spacing:0.4px;color:#c8c0b6;flex-wrap:wrap;justify-content:flex-end;gap:22px;font-size:12.5px}
.nav-link{padding:4px 0;transition:color .15s ease}
.nav-link:hover{color:#d8382b}
.nav-burger{display:none;width:28px;height:20px;padding:0;background:none;border:none;cursor:pointer;flex-direction:column;justify-content:space-between}
.nav-mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#0d0b09;border-bottom:1px solid rgba(236,230,222,0.14);padding:6px 28px 18px}
.nav-mobile-link{padding:14px 0;border-bottom:1px solid rgba(236,230,222,0.08);font-family:'JetBrains Mono',monospace;font-size:14px;letter-spacing:0.4px;color:#c8c0b6}
.nav-mobile-link--last{border-bottom:none}
.nav-socials{display:flex;align-items:center;gap:14px}
.nav-mobile-socials{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:16px}
.nav-social-link{color:#c8c0b6;display:flex;transition:color .15s ease}
.nav-social-link:hover{color:#d8382b}

/* ---- hero ---- */
.hero{position:relative;height:92vh;height:92dvh;min-height:620px;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;animation:slowzoom 30s ease-in-out infinite alternate}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,6,0.45) 0%,rgba(8,7,6,0.04) 30%,rgba(8,7,6,0.32) 62%,rgba(8,7,6,0.98) 100%)}
.hero-content{position:absolute;left:0;right:0;bottom:0;padding:0 28px 56px}
.hero-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:22px}
.hero-kicker{font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:2px;color:#d8382b}
.hero-title{margin:0;font-family:'Kings',cursive;font-weight:400;font-size:clamp(56px,13vw,168px);line-height:0.86;letter-spacing:-0.04em;white-space:nowrap}
.hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;flex-wrap:wrap}
.hero-intro{margin:0;max-width:600px;font-size:clamp(16px,2.2vw,20px);line-height:1.55;color:#d0c8bd}
.hero-cta{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:1px;border:1px solid rgba(236,230,222,0.4);padding:14px 20px;white-space:nowrap}

/* ---- bio ---- */
.bio-grid{display:grid;gap:64px;grid-template-columns:0.85fr 1.15fr}
.bio-side{display:flex;flex-direction:column;gap:24px}
.bio-portrait-frame{overflow:hidden}
.bio-portrait{width:100%;display:block}
.bio-pdf-note{font-family:'JetBrains Mono',monospace;font-size:11px;color:#5f584e}
.bio-main{display:flex;flex-direction:column;gap:22px}
.bio-heading{margin:0;font-size:clamp(28px,4vw,44px);font-weight:500;line-height:1.05;letter-spacing:-0.02em;max-width:620px}
.bio-text{margin:0;font-size:17px;line-height:1.7;color:#c6bdb2}
.bio-text-extra{margin:0;font-size:16px;line-height:1.7;color:#a99f93}
.bio-secondary{display:flex;flex-direction:column;gap:22px}
.bio-extra{display:flex;flex-direction:column;gap:22px;border-top:1px solid rgba(236,230,222,0.12);padding-top:22px;margin-top:2px}
.bio-toggle{align-self:flex-start;background:none;border:none;cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:1px;color:#d8382b;padding:6px 0}

/* ---- buttons (shared) ---- */
.btn-presskit{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:1px;background:#d8382b;color:#080706;padding:14px 20px;font-weight:500}
.btn-bandcamp{font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:0.5px;background:#d8382b;color:#080706;padding:12px 18px;font-weight:500}
.btn-outline{font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:0.5px;border:1px solid rgba(236,230,222,0.3);padding:12px 18px}
.btn-tickets{font-family:'JetBrains Mono',monospace;font-size:12px;border:1px solid rgba(236,230,222,0.3);padding:9px 14px;color:#ece6de}
.btn-submit{align-self:flex-start;font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:1px;background:#d8382b;color:#080706;padding:15px 26px;font-weight:600;border:none;cursor:pointer}
.btn-download-hires{font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:1px;background:#d8382b;color:#080706;padding:13px 22px;font-weight:600}

/* ---- discography ---- */
.discog-featured{margin-top:34px;display:grid;gap:0;border:1px solid rgba(236,230,222,0.14);grid-template-columns:1.05fr 0.95fr}
.discog-featured-art{position:relative;display:flex;align-items:center;justify-content:center;background:#0d0b09;min-height:520px;padding:44px;border-right:1px solid rgba(236,230,222,0.14)}
.discog-badge{position:absolute;top:22px;left:22px;z-index:2;font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:2px;color:#ece6de;background:rgba(8,7,6,0.5);border:1px solid rgba(236,230,222,0.3);padding:7px 12px}
.discog-featured-cover{width:100%;max-width:430px;aspect-ratio:1;object-fit:cover;box-shadow:0 24px 70px rgba(0,0,0,0.55)}
.discog-featured-details{display:flex;flex-direction:column;gap:18px;padding:44px}
.discog-featured-head{display:flex;flex-direction:column;gap:8px}
.discog-featured-meta{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:#8f8579;letter-spacing:1px}
.discog-featured-title{margin:0;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:clamp(34px,4.4vw,54px);line-height:0.96;letter-spacing:-0.02em}
.discog-featured-subtitle{font-size:15px;color:#a99f93;font-style:italic}
.discog-featured-desc{margin:0;font-size:15.5px;line-height:1.65;color:#c6bdb2}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.ep-player{width:100%;max-width:360px;border:1px solid rgba(236,230,222,0.14);line-height:0}
.ep-iframe{width:100%;height:42px;border:0;display:block}
.ep-player-placeholder{border:1px dashed rgba(236,230,222,0.2);padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ep-player-placeholder-text{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.5px;color:#8f8579}
.ep-player-listen-link{font-family:'JetBrains Mono',monospace;font-size:12px}
.press-kit-row{display:flex;gap:16px;flex-wrap:wrap}
.press-kit-link{font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:0.5px}

.discog-list-head{margin-top:56px;display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.discog-full-catalog-link{font-family:'JetBrains Mono',monospace;font-size:12.5px}
.discogrid{margin-top:24px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}
.discog-card{display:flex;flex-direction:column;gap:12px}
.discog-card-cover{width:100%;aspect-ratio:1;overflow:hidden;background:#141210;transition:transform .3s ease}
.discogrid a:hover > div:first-child{transform:scale(0.985)}
.discog-card-img{width:100%;height:100%;object-fit:cover;display:block}
.discog-card-noart{width:100%;height:100%;background:linear-gradient(135deg,#1c1510,#0c0a08);display:flex;align-items:flex-end;padding:16px}
.discog-card-noart-text{font-family:'JetBrains Mono',monospace;font-size:12px;color:#6a6157;letter-spacing:0.5px;line-height:1.3}
.discog-card-info{display:flex;flex-direction:column;gap:3px}
.discog-card-title{font-size:19px;font-weight:500;letter-spacing:-0.01em}
.discog-card-meta{font-family:'JetBrains Mono',monospace;font-size:12px;color:#8f8579}
.discog-card-label{font-family:'JetBrains Mono',monospace;font-size:11px;color:#5f584e}

/* ---- press ---- */
.press-heading{margin:22px 0 0;font-size:clamp(26px,3.4vw,40px);font-weight:400;line-height:1.15;max-width:760px;letter-spacing:-0.01em}
.press-grid{margin-top:46px;display:grid;gap:1px;background:rgba(236,230,222,0.12);border:1px solid rgba(236,230,222,0.12);grid-template-columns:repeat(2,1fr)}
.press-quote-card{margin:0;padding:36px 34px;background:#0d0b09;display:flex;flex-direction:column;gap:20px;justify-content:space-between;min-height:190px}
.press-quote-text{margin:0;font-size:clamp(19px,2.3vw,25px);line-height:1.35;font-weight:400;letter-spacing:-0.01em;color:#ece6de}
.press-quote-meta{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.5px;color:#8f8579;display:flex;gap:10px;align-items:center}
.press-quote-src{color:#d8382b}
.press-footnote{margin:22px 0 0;font-family:'JetBrains Mono',monospace;font-size:11px;color:#5f584e}

/* ---- live ---- */
.live-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px}
.live-count{font-family:'JetBrains Mono',monospace;font-size:12px;color:#5f584e}
.live-list{margin-top:34px}
.live-row{display:grid;grid-template-columns:150px 1fr auto;gap:28px;align-items:center;padding:24px 0;border-top:1px solid rgba(236,230,222,0.14)}
.live-date{font-family:'JetBrains Mono',monospace;font-size:15px;color:#ece6de}
.live-venue-wrap{display:flex;flex-direction:column;gap:4px}
.live-venue{font-size:clamp(19px,2.4vw,25px);font-weight:500;letter-spacing:-0.01em}
.live-place{font-size:14px;color:#8f8579}
.live-row-actions{display:flex;align-items:center;gap:16px;justify-self:end}
.live-type{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1.5px;color:#d8382b}
.live-divider{border-top:1px solid rgba(236,230,222,0.14)}
.live-empty-text{margin:28px 0 0;font-size:17px;color:#8f8579}
.live-footnote{margin:24px 0 0;font-family:'JetBrains Mono',monospace;font-size:12px;color:#5f584e}

/* ---- gallery ---- */
.gallery-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:30px}
.gallery-head--live{margin-top:56px}
.gallery-title{margin:0;font-size:clamp(24px,3vw,34px);font-weight:500;letter-spacing:-0.01em}
.gallery-hint{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:#5f584e}
.gcol{columns:3;column-gap:14px;margin-top:24px}
.gallery-thumb-btn{display:block;width:100%;padding:0;margin:0 0 14px;border:none;background:#141210;cursor:zoom-in;overflow:hidden;line-height:0}
.gallery-thumb-img{width:100%;height:auto;display:block;transition:opacity .3s}
.gallery-thumb-img:hover{opacity:.8}
.gallery-empty{margin-top:24px;border:1px dashed rgba(236,230,222,0.2);padding:64px 28px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.gallery-empty-label{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:2px;color:#d8382b}
.gallery-empty-text{margin:0;font-size:17px;color:#8f8579;max-width:420px}

/* ---- contact ---- */
.contact-grid{display:grid;gap:64px;grid-template-columns:0.9fr 1.1fr}
.contact-info{display:flex;flex-direction:column;gap:22px}
.contact-heading{margin:0;font-size:clamp(28px,3.6vw,42px);font-weight:500;line-height:1.05;letter-spacing:-0.02em}
.contact-details{display:flex;flex-direction:column;gap:18px;margin-top:6px}
.contact-detail{display:flex;flex-direction:column;gap:4px}
.contact-label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1.5px;color:#8f8579}
.contact-agency-name{font-size:20px;font-weight:500}
.contact-email-link{font-family:'JetBrains Mono',monospace;font-size:13.5px}
.contact-socials{display:flex;gap:18px;font-family:'JetBrains Mono',monospace;font-size:13px;color:#c8c0b6;margin-top:6px;flex-wrap:wrap}

.form-success{border:1px solid rgba(216,56,43,0.5);padding:40px 34px;display:flex;flex-direction:column;gap:12px}
.form-success-label{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:2px;color:#d8382b}
.form-success-text{margin:0;font-size:17px;color:#c6bdb2}
.contact-form{display:flex;flex-direction:column;gap:20px}
.form-group{display:flex;flex-direction:column;gap:10px}
.field-label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1.5px;color:#8f8579}
.request-type-row{display:flex;gap:10px;flex-wrap:wrap}
.booking-note{font-family:'JetBrains Mono',monospace;font-size:11px;color:#8f8579;line-height:1.6}
.booking-note-strong{color:#c8c0b6}
.form-field{display:flex;flex-direction:column;gap:8px}
.form-input{background:#080706;border:1px solid rgba(236,230,222,0.2);color:#ece6de;font-family:'Space Grotesk',sans-serif;font-size:16px;padding:13px 15px;outline:none;transition:border-color .15s ease}
.form-input:focus{border-color:#d8382b}
.form-input--textarea{resize:vertical}
.contact-subgrid{display:grid;gap:14px;grid-template-columns:1fr 1fr}
.form-error{font-family:'JetBrains Mono',monospace;font-size:12px;color:#d8382b}
.form-note{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:#3f3a34}

.site-footer{max-width:1200px;margin:88px auto 0;padding-top:28px;border-top:1px solid rgba(236,230,222,0.12);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-wordmark{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700}
.footer-copy{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:#5f584e}

/* ---- lightbox ---- */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(6,5,4,0.95);backdrop-filter:blur(6px);display:flex;flex-direction:column;animation:fadeup .25s ease}
.lightbox-top{display:flex;align-items:center;justify-content:space-between;padding:18px 24px}
.lightbox-counter{font-family:'JetBrains Mono',monospace;font-size:12px;color:#8f8579}
.lightbox-close{background:none;border:none;cursor:pointer;color:#ece6de;font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:1px}
.lightbox-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:0 16px;min-height:0;position:relative}
.lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(8,7,6,0.5);border:1px solid rgba(236,230,222,0.25);color:#ece6de;width:46px;height:46px;cursor:pointer;font-size:18px}
.lightbox-nav-btn--prev{left:14px}
.lightbox-nav-btn--next{right:14px}
.lightbox-img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 20px 80px rgba(0,0,0,0.6)}
.lightbox-footer{display:flex;align-items:center;justify-content:center;padding:20px}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}

@keyframes slowzoom{from{transform:scale(1.02)}to{transform:scale(1.12)}}
@keyframes fadeup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

@media(max-width:640px){
  .hero-title{font-size:clamp(48px,16vw,100px)}

  .gcol{columns:2}
  .discogrid{grid-template-columns:repeat(2,1fr)}

  .main-nav-links{display:none}
  .nav-burger{display:flex}
  .nav-mobile-menu{display:flex}
  .nav-socials{display:none}

  .bio-grid{grid-template-columns:1fr}
  .bio-secondary{display:none}

  .discog-featured{grid-template-columns:1fr}
  .discog-featured-art{min-height:320px;padding:28px;border-right:none;border-bottom:1px solid rgba(236,230,222,0.14)}
  .discog-featured-details{padding:28px}

  .press-grid{grid-template-columns:1fr}

  .live-row{grid-template-columns:1fr;gap:8px;align-items:start}
  .live-row-actions{justify-self:start}

  .contact-grid{grid-template-columns:1fr}
  .contact-subgrid{grid-template-columns:1fr}
}
