
:root{
  --black:#04070e;--deep:#080d1a;--navy:#0c1830;--blue:#163460;
  --mid:#1e4d96;--sky:#4a8fd4;--skylt:#6aaae0;--white:#eef3ff;
  --offwhite:#c8d8f0;--grey:#9ab8d8;--dimgrey:#4a6080;
  --red:#c0392b;--redlt:#e74c3c;
  --border:rgba(74,143,212,.22);--border2:rgba(238,243,255,.08);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--white);font-family:'Barlow',sans-serif;font-weight:300;overflow-x:hidden}
/* Force dark backgrounds on all sections */
section,div.about,div.dates,div.program,div.venue,div.contact,div.gallery,
.about,.dates,.program,.venue,.contact,.gallery,.artists,
.nyc-banner,.infostrip,.fwrap,footer{background-color:inherit}
html{background:#04070e}

nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;
  align-items:center;padding:1rem 3rem;
  background:linear-gradient(to bottom,rgba(4,7,14,.96),transparent);
  border-bottom:1px solid transparent;transition:background .4s,border-color .4s}
nav.scrolled{background:rgba(4,7,14,.97);border-bottom-color:var(--border);backdrop-filter:blur(10px)}
.nl{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-style:italic;font-size:1.05rem;
  letter-spacing:.1em;color:var(--white);text-decoration:none;text-transform:uppercase}
.nl em{color:var(--red);font-style:normal}
.nlinks{display:flex;gap:2rem;list-style:none}
.nlinks a{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.18em;
  color:var(--grey);text-decoration:none;text-transform:uppercase;transition:color .3s}
.nlinks a:hover{color:var(--white)}
.nav-nyc{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.7rem;letter-spacing:.18em;
  color:#fff;background:var(--red);padding:.3rem .9rem;text-transform:uppercase}

.hero{position:relative;height:100vh;min-height:640px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;overflow:hidden;text-align:center}
.hbg{position:absolute;inset:0;
  background-image:url('../images/hero-bg.jpg');
  background-size:cover;background-position:center top;
  animation:kzoom 20s ease infinite alternate}
/* Mobile hero: zoom out to show all 4 characters */
@media(max-width:860px){
  /* ── DARK BACKGROUNDS ── */
  body,html{background:#04070e !important}
  section{background:#04070e !important}
  .about,.artists,.dates,.program,.venue,.contact,.gallery{background:#04070e !important}

  /* ── HERO: image at full width, content stacked below ── */
  .hero{height:auto !important;min-height:0 !important;flex-direction:column;
    justify-content:flex-start;padding-top:56px}
  /* Image shown at natural 16:9 proportion — no crop, no repeat */
  .hbg{position:relative !important;inset:auto !important;width:100%;
    aspect-ratio:16/9;flex-shrink:0;
    background-size:cover !important;background-position:center center !important;
    background-repeat:no-repeat !important;
    transform:none !important;animation:none !important}
  /* Remove the dark overlay on top of the image */
  .hov{display:none !important}
  /* Content block below the image with dark bg */
  .hcont{position:relative !important;z-index:2;padding:2.5rem 1.5rem 3.5rem;
    background:linear-gradient(180deg,rgba(4,7,14,.9) 0%,#04070e 25%);width:100%}
  /* Make all hero text instantly visible, no animation */
  .h-eye,.h-logo,.h-rule,.h-tag,.h-sub,.h-btns{
    opacity:1 !important;animation:none !important;transform:none !important}
  .hscroll{display:none !important}

  /* ── LAYOUT ── */
  .ag,.pl,.vl,.bio-photo-layout,.highlights{grid-template-columns:1fr;gap:2rem}
  .bio-photo-wrap{max-width:280px;margin:0 auto}
  .strip{grid-template-columns:1fr 1fr}
  .ic{border-right:none;border-bottom:1px solid var(--border2)}
  .dg{grid-template-columns:1fr 1fr}
  .gg{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
  .gi.wide{grid-column:span 2}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .h-btns{flex-direction:column;align-items:center}
  footer{flex-direction:column;gap:.7rem;text-align:center}

  /* ── TYPOGRAPHY ── */
  .stitle{font-size:2.2rem}
  .at p,.bio-desc p,.tlc p,.fc-d,.av-p{font-size:1rem;color:#c8d8f0}
  .about,.artists,.dates,.program,.venue,.contact,.gallery{padding:4rem 0}
  .tl-year{min-width:130px;padding:.6rem 1rem}

  .hbg{background-size:170% auto !important;background-position:center 60% !important;animation:none}
}
@keyframes kzoom{from{transform:scale(1)}to{transform:scale(1.07)}}
.hov{position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(4,7,14,.48) 0%,rgba(4,7,14,.15) 38%,rgba(4,7,14,.48) 72%,rgba(4,7,14,.94) 100%)}
.hcont{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.h-eye{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.44em;
  color:var(--skylt);text-transform:uppercase;margin-bottom:1.5rem;opacity:0;animation:fup .9s .3s ease both}
.h-logo{width:min(760px,88vw);opacity:0;animation:fup 1s .5s ease both;
  filter:drop-shadow(0 0 30px rgba(74,143,212,.4))}
.h-rule{width:160px;height:2px;background:linear-gradient(to right,transparent,var(--sky),transparent);
  margin:1.6rem auto;opacity:0;animation:fin 1s 1s ease both}
.h-tag{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-style:italic;
  font-size:clamp(1rem,2.2vw,1.45rem);letter-spacing:.14em;color:var(--offwhite);text-transform:uppercase;
  opacity:0;animation:fup 1s 1.1s ease both}
.h-tag em{color:var(--sky);font-style:normal}
.h-sub{font-size:.98rem;color:var(--grey);margin-top:.45rem;letter-spacing:.06em;opacity:0;animation:fup 1s 1.3s ease both}
.h-btns{display:flex;gap:1.1rem;margin-top:2.2rem;flex-wrap:wrap;justify-content:center;opacity:0;animation:fup 1s 1.5s ease both}
.btn{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.26em;
  text-transform:uppercase;text-decoration:none;padding:.82rem 2.1rem;
  border:2px solid var(--sky);color:var(--sky);background:transparent;cursor:pointer;
  transition:background .3s,color .3s;display:inline-block;
  clip-path:polygon(6px 0%,100% 0%,calc(100% - 6px) 100%,0% 100%)}
.btn:hover{background:var(--sky);color:var(--black)}
.btn-red{background:var(--red);border-color:var(--red);color:#fff}
.btn-red:hover{background:var(--redlt);border-color:var(--redlt)}
.hscroll{position:absolute;bottom:1.8rem;left:50%;transform:translateX(-50%);
  opacity:0;animation:fin 2s 2s ease both;display:flex;flex-direction:column;align-items:center;gap:.5rem}
.hscroll span{font-family:'Barlow Condensed',sans-serif;font-size:.6rem;letter-spacing:.35em;color:var(--grey);text-transform:uppercase}
.sbar{width:1px;height:30px;background:linear-gradient(to bottom,var(--sky),transparent);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}

.nyc-banner{background:linear-gradient(135deg,var(--red) 0%,#8b0000 100%);padding:1rem 2rem;text-align:center;position:relative;overflow:hidden}
.nyc-banner::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent,transparent 60px,rgba(255,255,255,.03) 60px,rgba(255,255,255,.03) 61px)}
.nyc-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap}
.nyc-badge{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-style:italic;
  font-size:1.1rem;letter-spacing:.08em;color:#fff;text-transform:uppercase;
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);padding:.3rem .9rem}
.nyc-text{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;
  letter-spacing:.12em;color:rgba(255,255,255,.92);text-transform:uppercase}
.nyc-text strong{color:#fff}

.infostrip{background:var(--deep);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.strip{max-width:1100px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(4,1fr)}
.ic{padding:1.6rem 1.2rem;border-right:1px solid var(--border2);text-align:center}
.ic:last-child{border-right:none}
.ic i{font-size:1.25rem;margin-bottom:.5rem;display:block}
.ic-lbl{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.64rem;
  letter-spacing:.28em;color:var(--sky);text-transform:uppercase;margin-bottom:.3rem}
.ic-val{font-family:'Barlow Condensed',sans-serif;font-weight:500;font-size:.95rem;color:#fff;line-height:1.4}

section{position:relative;z-index:1}
.si{max-width:1100px;margin:0 auto;padding:0 2rem}
.slbl{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.67rem;
  letter-spacing:.4em;color:var(--sky);text-transform:uppercase;margin-bottom:.5rem}
.stitle{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-style:italic;
  font-size:clamp(2.4rem,5.2vw,3.8rem);line-height:.95;letter-spacing:.02em;text-transform:uppercase;color:var(--white)}
.stitle em{color:var(--sky);font-style:normal}
.rule{display:inline-block;width:40px;height:3px;background:var(--sky);margin:1rem 0}

.about{padding:6.5rem 0;background:var(--black)}
.ag{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:center;margin-top:3rem}
.at p{color:var(--offwhite);line-height:1.85;font-size:1rem;margin-bottom:1.1rem}
.at strong{color:var(--white);font-weight:500}
.av{border:1px solid var(--border);padding:2.8rem;
  background:linear-gradient(135deg,rgba(22,52,96,.6),rgba(4,7,14,.95));position:relative}
.av::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(to right,var(--sky),var(--mid),transparent)}
.av-q{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-style:italic;
  font-size:1.75rem;line-height:1.2;text-transform:uppercase;color:var(--white);margin-bottom:1rem}
.av-q em{color:var(--sky);font-style:normal}
.av-p{color:var(--offwhite);font-size:.92rem;line-height:1.75;margin-bottom:1.3rem}
.av-cite{font-family:'Barlow Condensed',sans-serif;font-size:.66rem;letter-spacing:.28em;color:var(--grey);text-transform:uppercase}
.badges{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}
.badge{background:rgba(74,143,212,.1);border:1px solid var(--border);padding:.35rem .9rem;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.14em;color:var(--sky);text-transform:uppercase}

/* ── ARTISTS ── */
.artists{padding:6.5rem 0;border-top:1px solid var(--border2);background:var(--black)}
.artists-intro{max-width:700px;margin-top:.8rem}
.artists-intro p{color:var(--grey);font-size:1.02rem;line-height:1.85}
.artists-intro strong{color:var(--white);font-weight:500}

.bio-card{border:1px solid var(--border);background:linear-gradient(135deg,rgba(22,52,96,.7),rgba(4,7,14,.95));
  padding:3rem 3.5rem;position:relative;margin-top:2.5rem}
.bio-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(to right,var(--sky),var(--red),transparent)}

/* Artist photo layout */
.bio-photo-layout{display:grid;grid-template-columns:280px 1fr;gap:3.5rem;align-items:start;margin-bottom:2.5rem}
.bio-photo-wrap{position:relative}
.bio-photo{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;
  border:1px solid var(--border);display:block}
.bio-photo-caption{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.62rem;
  letter-spacing:.25em;color:var(--sky);text-transform:uppercase;margin-top:.7rem;text-align:center}
.bio-name{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-style:italic;
  font-size:2.8rem;line-height:.95;text-transform:uppercase;color:var(--white);margin-bottom:.25rem}
.bio-name em{display:block;color:var(--sky);font-style:normal}
.bio-role{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.68rem;
  letter-spacing:.28em;color:var(--grey);text-transform:uppercase;margin-bottom:1.4rem;margin-top:.5rem}
.bio-desc p{color:var(--offwhite);font-size:.98rem;line-height:1.85;margin-bottom:.9rem}
.bio-desc strong{color:var(--white);font-weight:500}

.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);margin:2.5rem 0}
.stat{background:var(--black);padding:1.5rem 1rem;text-align:center}
.stat-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-style:italic;font-size:2.4rem;color:var(--sky);line-height:1}
.stat-lbl{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.64rem;letter-spacing:.22em;color:var(--grey);text-transform:uppercase;margin-top:.3rem}

.highlights{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}
.hl-col h4{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.75rem;letter-spacing:.25em;
  color:var(--sky);text-transform:uppercase;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
.hl-list{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.hl-list li{font-size:.9rem;color:var(--grey);line-height:1.55;padding-left:1rem;position:relative}
.hl-list li::before{content:'—';position:absolute;left:0;color:var(--sky)}
.hl-list li strong{color:var(--offwhite);font-weight:500}

.timeline-strip{margin-top:2.5rem;border-top:1px solid var(--border2);padding-top:2rem}
.timeline-strip h4{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.75rem;letter-spacing:.25em;color:var(--sky);text-transform:uppercase;margin-bottom:1.2rem}
.tl-items{display:flex;gap:0;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.tl-year{flex-shrink:0;padding:.8rem 1.4rem;border-right:1px solid var(--border);text-align:center;min-width:110px}
.tl-year:last-child{border-right:none}
.tl-yr{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-style:italic;font-size:1.4rem;color:var(--sky)}
.tl-ev{font-size:.78rem;color:var(--grey);margin-top:.3rem;line-height:1.45}

/* ── GALLERY ── */
.gallery{padding:6.5rem 0;border-top:1px solid var(--border2);background:var(--black)}
.gg{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:6px;margin-top:3rem}
.gi{position:relative;overflow:hidden;background:var(--navy);cursor:pointer}
.gi.wide{grid-column:span 2}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .4s ease;filter:brightness(.92) saturate(.95)}
.gi:hover img{transform:scale(1.05);filter:brightness(1) saturate(1.1)}
.gi-label{position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(4,7,14,.9) 0%,transparent 100%);
  padding:1.5rem 1rem .7rem;
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.72rem;
  letter-spacing:.15em;color:var(--offwhite);text-transform:uppercase;
  opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s}
.gi:hover .gi-label{opacity:1;transform:translateY(0)}

/* Lightbox */
.lb{display:none;position:fixed;inset:0;z-index:999;background:rgba(4,7,14,.96);
  align-items:center;justify-content:center;cursor:pointer}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain;cursor:default}
.lb-close{position:absolute;top:1.5rem;right:2rem;font-family:'Barlow Condensed',sans-serif;
  font-weight:900;font-size:2rem;color:var(--grey);cursor:pointer;line-height:1;
  transition:color .2s}
.lb-close:hover{color:var(--white)}
.lb-caption{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.25em;
  color:var(--grey);text-transform:uppercase;text-align:center;white-space:nowrap}

/* ── DATES ── */
.dates{padding:6.5rem 0;border-top:1px solid var(--border2);background:var(--black)}
.dg{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:3rem;border:1px solid var(--border);background:var(--border)}
.dc{background:var(--black);padding:2.2rem 1.5rem;text-align:center;position:relative;overflow:hidden;transition:background .3s}
.dc:hover{background:rgba(12,24,48,.8)}
.dc::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--sky);transform:scaleX(0);transition:transform .3s}
.dc:hover::after{transform:scaleX(1)}
.dc-mo{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.66rem;letter-spacing:.3em;color:var(--sky);text-transform:uppercase;margin-bottom:.4rem}
.dc-num{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-style:italic;font-size:4.2rem;line-height:1;color:var(--white);margin-bottom:.2rem}
.dc-day{font-family:'Barlow Condensed',sans-serif;font-size:.76rem;letter-spacing:.2em;color:var(--grey);text-transform:uppercase;margin-bottom:.5rem}
.dc-th{font-size:.86rem;font-style:italic;color:var(--grey);line-height:1.4;margin-top:.4rem}
.dc-pill{display:inline-block;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.58rem;letter-spacing:.18em;color:var(--black);background:var(--sky);padding:.22rem .7rem;text-transform:uppercase;margin-top:.9rem}
.dc-pill.red{background:var(--red);color:#fff}
.dc-sp .dc-num{font-size:2.1rem;color:var(--sky)}

.program{padding:6.5rem 0;border-top:1px solid var(--border2);background:var(--black)}
.pl{display:grid;grid-template-columns:5fr 4fr;gap:3.5rem;margin-top:3rem;align-items:start}
.tl-prog{display:flex;flex-direction:column}
.tli{display:flex;gap:1.5rem;padding:1.3rem 0;border-bottom:1px solid var(--border2)}
.tlt{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-style:italic;font-size:1.05rem;color:var(--sky);min-width:78px;padding-top:.1rem}
.tlc strong{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:.92rem;letter-spacing:.04em;text-transform:uppercase;color:var(--white);display:block;margin-bottom:.22rem}
.tlc p{font-size:.86rem;color:var(--offwhite);line-height:1.6}
.fcs{display:flex;flex-direction:column;gap:.85rem}
.fc{border:1px solid var(--border);border-left:3px solid var(--sky);padding:1.3rem 1.5rem;background:rgba(12,24,48,.85);transition:border-color .3s,background .3s}
.fc:hover{border-left-color:var(--white);background:rgba(12,24,48,.6)}
.fc-n{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-style:italic;font-size:1.25rem;text-transform:uppercase;color:var(--sky);margin-bottom:.3rem}
.fc-d{font-size:.85rem;color:var(--offwhite);line-height:1.6}

.venue{padding:6.5rem 0;border-top:1px solid var(--border2);background:var(--black)}
.vl{display:grid;grid-template-columns:3fr 2fr;gap:3.5rem;margin-top:3rem;align-items:start}
.vrows{display:flex;flex-direction:column}
.vr{display:flex;gap:1.8rem;padding:1.1rem 0;border-bottom:1px solid var(--border2)}
.vr:last-child{border-bottom:none}
.vk{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.66rem;letter-spacing:.22em;color:var(--sky);text-transform:uppercase;min-width:82px;padding-top:.2rem}
.vv{font-family:'Barlow Condensed',sans-serif;font-weight:500;font-size:1.05rem;color:var(--white);line-height:1.4}
.vv small{display:block;font-family:'Barlow',sans-serif;font-weight:300;font-size:.78rem;color:var(--offwhite);margin-top:.15rem}
.vtips{display:flex;flex-direction:column;gap:.7rem}
.tip{background:rgba(12,24,48,.8);border:1px solid var(--border);border-left:3px solid var(--sky);padding:.95rem 1.2rem;font-size:.85rem;color:var(--offwhite);line-height:1.6}
.tip strong{color:var(--offwhite);font-weight:500}

.contact{padding:6.5rem 0;border-top:1px solid var(--border2);text-align:center;background:var(--black)}
.ci{max-width:560px;margin:0 auto}
.cdiv{width:46px;height:2px;background:var(--sky);margin:1.3rem auto}
.csub{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-style:italic;font-size:1.2rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:2rem}
.csub em{color:var(--sky);font-style:normal}
.clinks{display:flex;flex-direction:column;gap:.65rem;margin-bottom:2rem}
.clink{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-style:italic;font-size:1.25rem;color:var(--white);text-decoration:none;letter-spacing:.05em;transition:color .3s}
.clink:hover{color:var(--sky)}
.socrow{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap}
.sb{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--grey);border:1px solid var(--border);padding:.62rem 1.3rem;transition:border-color .3s,color .3s;clip-path:polygon(5px 0%,100% 0%,calc(100% - 5px) 100%,0% 100%)}
.sb:hover{border-color:var(--sky);color:var(--white)}

.fwrap{border-top:1px solid var(--border2);background:var(--deep)}
footer{max-width:1100px;margin:0 auto;padding:1.7rem 2rem;display:flex;justify-content:space-between;align-items:center}
.fbrand{font-family:'Barlow Condensed',sans-serif;font-weight:900;font-style:italic;font-size:1rem;letter-spacing:.1em;color:var(--white);text-transform:uppercase}
.fbrand em{color:var(--red);font-style:normal}
.fcopy{font-size:.76rem;color:var(--grey)}
.fcopy a{color:var(--sky);text-decoration:none}

@keyframes fup{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fin{from{opacity:0}to{opacity:1}}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}

@media(max-width:860px){
  nav{padding:1rem 1.5rem}.nlinks{display:none}
  .ag,.pl,.vl,.bio-photo-layout,.highlights{grid-template-columns:1fr;gap:2rem}
  .bio-photo-wrap{max-width:280px;margin:0 auto}
  .strip{grid-template-columns:1fr 1fr}.ic{border-right:none;border-bottom:1px solid var(--border2)}
  .dg{grid-template-columns:1fr 1fr}
  .gg{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
  .gi.wide{grid-column:span 2}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .h-btns{flex-direction:column;align-items:center}
  footer{flex-direction:column;gap:.7rem;text-align:center}
}
@media(max-width:500px){
  .gg{grid-template-columns:1fr;grid-auto-rows:220px}
  .gi.wide{grid-column:span 1}
}
