/* EvL ASH public site: /, /links/, /epk/. Palette from her own visuals: black stage, red brush EvL,
   white brush ASH, violet club light. Built Oct 28, 2026 by Well Made Plays. */
:root{
  --ink:#0B0810; --ink-2:#14101B; --ink-3:#1D1726; --bone:#F4EFF1; --mute:#B9AEBF; --dim:#857A8C;
  --red:#FF2D46; --red-2:#C9142E; --violet:#B98CFF; --line:rgba(244,239,241,.12); --line-2:rgba(244,239,241,.2);
  --display:'Anton',Impact,sans-serif; --grot:'Space Grotesk',system-ui,sans-serif; --body:'Inter',system-ui,-apple-system,sans-serif;
  --r:14px; --gut:clamp(16px,4vw,40px); --max:1180px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--bone);font:16px/1.6 var(--body);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--bone);color:var(--ink);padding:.5rem .8rem;border-radius:8px;z-index:50}
.skip:focus{left:8px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.label{font:600 .74rem/1 var(--grot);letter-spacing:.16em;text-transform:uppercase;color:var(--violet);margin:0 0 1rem}
.h2{font:400 clamp(2rem,5.4vw,3.6rem)/.95 var(--display);text-transform:uppercase;letter-spacing:.01em;margin:0 0 1.6rem}
.h2 .r{color:var(--red)}
.lead{font:400 clamp(1.05rem,1.6vw,1.2rem)/1.6 var(--grot);color:var(--mute);max-width:56ch;margin:0}
section{padding:clamp(3.6rem,9vw,7rem) 0}
.glow{position:fixed;inset:-20vmax;pointer-events:none;z-index:0;
  background:radial-gradient(40vmax 30vmax at 78% 12%,rgba(255,45,70,.16),transparent 70%),
             radial-gradient(36vmax 28vmax at 10% 60%,rgba(185,140,255,.10),transparent 70%);animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate3d(-3vmax,2vmax,0) scale(1.06)}}
main,header.top,footer{position:relative;z-index:1}

/* top bar */
.top{position:sticky;top:0;z-index:20;background:rgba(11,8,16,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:62px;gap:1rem}
.top .mk img{height:38px;width:auto}
.top nav{display:flex;gap:clamp(.8rem,2.4vw,1.8rem);font:500 .92rem var(--grot)}
.top nav a{text-decoration:none;color:var(--mute);transition:color .2s}
.top nav a:hover{color:var(--bone)}
.top nav .book{color:var(--bone);border:1px solid var(--red);padding:.42rem .9rem;border-radius:999px}
.top nav .book:hover{background:var(--red)}
@media (max-width:640px){.top nav .hide-s{display:none}}

/* hero */
.hero{padding:clamp(2rem,6vw,4.5rem) 0 clamp(3rem,7vw,5rem)}
.hero .wrap{display:grid;gap:clamp(2rem,5vw,4rem);align-items:center}
@media (min-width:900px){.hero .wrap{grid-template-columns:1.15fr .85fr}}
.hero .logo{width:min(440px,78vw);height:auto;filter:drop-shadow(0 0 34px rgba(255,45,70,.32));animation:flick 3.2s steps(1) 1 both}
@keyframes flick{0%{opacity:0}6%{opacity:1}9%{opacity:.25}12%{opacity:1}52%{opacity:1}54%{opacity:.6}56%{opacity:1}}
.hero .where{font:600 .8rem/1 var(--grot);letter-spacing:.2em;text-transform:uppercase;color:var(--violet);margin:1.6rem 0 1rem}
.hero .tag{font:400 clamp(2.2rem,6vw,4.6rem)/.92 var(--display);text-transform:uppercase;margin:0 0 1.4rem;max-width:12ch}
.hero .tag em{font-style:normal;color:var(--red)}
.ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.btn{display:inline-flex;align-items:center;gap:.55rem;font:600 .95rem/1 var(--grot);text-decoration:none;padding:.95rem 1.3rem;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--bone);cursor:pointer;transition:transform .2s,background .2s,border-color .2s}
.btn:hover{transform:translateY(-2px);border-color:var(--bone)}
.btn.hot{background:var(--red);border-color:var(--red)}
.btn.hot:hover{background:var(--red-2);border-color:var(--red-2)}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.shot{position:relative;margin:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line-2);
  box-shadow:0 40px 90px -40px rgba(255,45,70,.6),0 0 0 1px rgba(185,140,255,.12)}
.shot img{width:100%;height:auto;aspect-ratio:1100/1507;object-fit:cover;object-position:50% 30%}
.hero .shot{max-width:440px;justify-self:center;width:100%;transform:rotate(1.2deg)}

/* genre marquee */
.ticker{border-block:1px solid var(--line);overflow:hidden;white-space:nowrap;padding:1rem 0;font:400 clamp(1.3rem,3vw,2rem)/1 var(--display);text-transform:uppercase;letter-spacing:.04em}
.ticker .run{display:inline-flex;gap:2.4rem;padding-right:2.4rem;animation:run 32s linear infinite}
.ticker span:nth-child(odd){color:var(--bone)} .ticker span:nth-child(even){color:var(--red)}
@keyframes run{to{transform:translateX(-50%)}}

/* shows */
.shows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.show{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem 1.6rem;align-items:center;padding:1.4rem 0;border-bottom:1px solid var(--line)}
.show .d{font:400 1.9rem/1 var(--display);text-transform:uppercase;min-width:4.6ch}
.show .d small{display:block;font:600 .72rem/1 var(--grot);letter-spacing:.14em;color:var(--violet);margin-top:.35rem}
.show h3{font:600 1.2rem/1.25 var(--grot);margin:0 0 .25rem}
.show p{margin:0;color:var(--mute);font-size:.95rem}
.show .tagline{font:600 .72rem/1 var(--grot);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--bone);padding:.45rem .6rem;border-radius:6px}
@media (max-width:620px){.show{grid-template-columns:auto 1fr}.show .tagline{grid-column:2;justify-self:start}}
.empty{color:var(--mute);padding:1.4rem 0;border-bottom:1px solid var(--line)}
.nights{display:grid;gap:1rem;margin-top:2.4rem}
@media (min-width:760px){.nights{grid-template-columns:1fr 1fr}}
.night{background:linear-gradient(160deg,var(--ink-2),var(--ink));border:1px solid var(--line);border-radius:var(--r);padding:1.5rem 1.6rem}
.night .k{font:600 .72rem/1 var(--grot);letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin:0 0 .8rem}
.night h3{font:400 1.7rem/1 var(--display);text-transform:uppercase;margin:0 0 .6rem}
.night p{margin:0;color:var(--mute)}

/* listen */
.listen{background:linear-gradient(180deg,transparent,rgba(185,140,255,.05) 40%,transparent)}
.player{border-radius:var(--r);overflow:hidden;border:1px solid var(--line-2);background:var(--ink-2)}
.player iframe{display:block;width:100%;height:420px;border:0}
@media (max-width:620px){.player iframe{height:360px}}

/* photos */
.strip{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}
@media (min-width:860px){.strip{grid-template-columns:1.1fr .9fr 1.1fr}}
.strip figure{margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--ink-2)}
.strip img{width:100%;height:100%;min-height:220px;max-height:460px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.strip figure:hover img{transform:scale(1.04)}
.strip .tall{grid-row:span 2}
.strip figure:first-child img{object-position:50% 40%}  /* keep her face in frame (Nov 10 review) */
@media (max-width:859px){.strip .tall{grid-row:auto}.strip figure:first-child{grid-column:span 2}}

/* signup */
.sign{border:1px solid var(--line-2);border-radius:calc(var(--r) + 4px);padding:clamp(1.6rem,4vw,2.6rem);
  background:radial-gradient(120% 140% at 100% 0,rgba(255,45,70,.16),transparent 60%),var(--ink-2)}
.sign form{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.sign input[type=email]{flex:1 1 240px;min-width:0;font:500 1rem var(--body);color:var(--bone);background:var(--ink);border:1px solid var(--line-2);border-radius:999px;padding:.95rem 1.2rem}
.sign input[type=email]::placeholder{color:var(--dim)}
.sign .fine{font-size:.82rem;color:var(--dim);margin:.9rem 0 0}
.sign .msg{font:600 .95rem var(--grot);margin:.9rem 0 0;min-height:1.4em}
.sign .msg.ok{color:#7CF2B0} .sign .msg.err{color:var(--red)}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}

/* booking + footer */
.book-band{text-align:center}
.book-band .h2{margin-bottom:1rem}
.book-band a.mail{font:400 clamp(1.4rem,4.4vw,2.6rem)/1.1 var(--display);text-transform:uppercase;color:var(--red);text-decoration:none;word-break:break-word}
.book-band a.mail:hover{color:var(--bone)}
footer{border-top:1px solid var(--line);padding:2.4rem 0 3rem;color:var(--dim);font-size:.9rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.2rem;align-items:center}
.socials{display:flex;gap:.6rem;flex-wrap:wrap}
.socials a{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;color:var(--bone);border:1px solid var(--line-2);border-radius:999px;padding:.55rem .95rem;font:500 .9rem var(--grot)}
.socials a:hover{border-color:var(--bone)}
.socials svg{width:16px;height:16px;fill:currentColor}
footer .small a{color:var(--mute)}

/* links page */
.lk{max-width:480px;margin:0 auto;padding:clamp(1.4rem,5vw,2.4rem) var(--gut) 3rem;text-align:center}
.lk .shot{max-width:280px;margin:0 auto 1.4rem;transform:rotate(-1.2deg)}
.lk .shot img{aspect-ratio:4/5}
.lk .logo{width:min(210px,56vw);margin:0 auto .6rem;filter:drop-shadow(0 0 26px rgba(255,45,70,.3))}
.lk .where{font:600 .74rem/1 var(--grot);letter-spacing:.2em;text-transform:uppercase;color:var(--violet);margin:0 0 1.6rem}
.stack{display:grid;gap:.7rem;text-align:left}
.stack a{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-decoration:none;background:var(--ink-2);border:1px solid var(--line-2);border-radius:16px;padding:1rem 1.15rem;transition:transform .2s,border-color .2s,background .2s}
.stack a:hover{transform:translateY(-2px);border-color:var(--bone)}
.stack a b{display:block;font:600 1.02rem/1.3 var(--grot)}
.stack a span{display:block;font-size:.85rem;color:var(--mute)}
.stack a.hot{background:var(--red);border-color:var(--red)} .stack a.hot span{color:rgba(255,255,255,.85)}
.stack a svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.lk .sign{margin-top:1.4rem;text-align:left}

/* EPK */
.epk-top{padding:clamp(2rem,6vw,4rem) 0 2rem}
.epk-top .wrap{display:grid;gap:2rem;align-items:center}
@media (min-width:860px){.epk-top .wrap{grid-template-columns:.9fr 1.1fr}}
.facts{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:.7rem}
.facts li{padding:.9rem 1.1rem;border:1px solid var(--line);border-radius:12px;background:var(--ink-2);font:500 1rem/1.4 var(--grot)}
.facts li b{color:var(--red);font-weight:600}
.cols{display:grid;gap:1.2rem}
@media (min-width:860px){.cols.two{grid-template-columns:1fr 1fr}.cols.three{grid-template-columns:repeat(3,1fr)}}
.card{border:1px solid var(--line);border-radius:var(--r);background:var(--ink-2);padding:1.4rem 1.5rem}
.card h3{font:600 1.05rem/1.3 var(--grot);margin:0 0 .8rem;display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.card h3 small{font:500 .78rem var(--grot);color:var(--dim)}
.card p{margin:0 0 .9rem;color:#E4DCE6}
.copy{font:600 .78rem/1 var(--grot);letter-spacing:.08em;text-transform:uppercase;color:var(--violet);background:none;border:1px solid rgba(185,140,255,.4);border-radius:999px;padding:.5rem .8rem;cursor:pointer}
.copy:hover{border-color:var(--violet)}
.t{width:100%;border-collapse:collapse;font-size:.95rem}
.t th,.t td{text-align:left;padding:.8rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
.t th{font:600 .72rem/1 var(--grot);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.t td.n{white-space:nowrap;font-weight:600}
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}
.pills li{border:1px solid var(--line-2);border-radius:999px;padding:.45rem .85rem;font:500 .9rem var(--grot)}
.press{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media (min-width:860px){.press{grid-template-columns:repeat(3,1fr)}}
.press figure{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--ink-2)}
.press img{width:100%;aspect-ratio:4/5;object-fit:cover}
.press figure.h img{aspect-ratio:4/5}
.press figcaption{padding:.8rem .9rem;font-size:.85rem;color:var(--mute)}
.press figcaption a{color:var(--bone);font-weight:600}
.press .logo-tile{display:grid;place-items:center;aspect-ratio:4/5;background:repeating-conic-gradient(#1a1520 0 25%,#120e17 0 50%) 0 0/24px 24px}
.press .logo-tile img{width:70%;aspect-ratio:auto;object-fit:contain}
.credit{font-size:.8rem;color:var(--dim);margin-top:2.4rem}
.credit a{color:var(--dim)}

/* motion */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
  .rv{opacity:1;transform:none}
}
@media print{
  .top,.glow,.ticker,.sign,.copy,.player,footer .socials{display:none !important}
  body{background:#fff;color:#000} .card,.facts li{background:#fff;border-color:#ccc}
}

.nm{text-transform:none}
