/* 38 Talent — site styles */
@font-face{font-family:"Anton";src:url(../fonts/anton-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow";src:url(../fonts/barlow-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Barlow";src:url(../fonts/barlow-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Barlow";src:url(../fonts/barlow-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow";src:url(../fonts/barlow-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(../fonts/barlow-condensed-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(../fonts/barlow-condensed-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --bg:#0a0a0b;
  --bg-2:#131315;
  --bg-3:#1b1b1e;
  --line:rgba(255,255,255,.10);
  --line-2:rgba(255,255,255,.18);
  --text:#f5f2ed;
  --muted:#a9a49c;
  --accent:#ff4d1f;
  --accent-ink:#ffffff;
  --gold:#c9a84c;
  --display:"Anton","Impact","Arial Narrow",sans-serif;
  --body:"Barlow",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --label:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --max:1240px;
  --gut:clamp(16px,4vw,40px);
  --radius:14px;
  --header-h:76px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.65 var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
::selection{background:var(--accent);color:#fff}
.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:#fff;padding:8px 14px;z-index:100;border-radius:6px}
.skip:focus{left:8px}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.narrow{max-width:780px}

/* ---------- type ---------- */
.eyebrow{font:700 14px/1 var(--label);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:10px;margin:0 0 18px}
.eyebrow::before{content:"";width:28px;height:2px;background:currentColor}
h1,h2,h3,.display{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:.95;margin:0}
h1{font-size:clamp(52px,9vw,128px)}
h2{font-size:clamp(38px,5.4vw,72px)}
h3{font-size:clamp(24px,2.4vw,32px);line-height:1.02}
.lede{font-size:clamp(18px,1.6vw,21px);color:#d9d4cc;max-width:62ch}
.muted{color:var(--muted)}
.accent{color:var(--accent)}
.outline{color:transparent;-webkit-text-stroke:1.5px var(--text)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;font:700 15px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:16px 26px;border-radius:999px;border:1.5px solid var(--text);color:var(--text);background:transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.btn:hover{background:var(--text);color:var(--bg)}
.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn-accent:hover{background:#fff;border-color:#fff;color:var(--bg)}
.btn svg{width:16px;height:16px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.link-arrow{font:700 14px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--text);display:inline-flex;gap:8px;align-items:center;border-bottom:1.5px solid var(--accent);padding-bottom:6px}
.link-arrow:hover{color:var(--accent)}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(10,10,11,.82);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:42px;width:auto}
.nav{display:flex;align-items:center;gap:2px}
.nav a{font:600 15px/1 var(--label);letter-spacing:.13em;text-transform:uppercase;text-decoration:none;color:#d8d3cb;padding:10px 11px;border-radius:8px;white-space:nowrap;transition:color .15s}
.nav a:hover{color:#fff}
.nav a[aria-current="page"]{color:var(--accent)}
.nav a .ext{display:inline-block;width:9px;height:9px;margin-left:3px;opacity:.6;vertical-align:1px}
.nav .nav-cta{margin-left:10px;background:var(--accent);color:#fff;padding:12px 18px;border-radius:999px}
.nav .nav-cta:hover{background:#fff;color:var(--bg)}
.menu-btn{display:none;background:none;border:0;color:var(--text);width:44px;height:44px;border-radius:10px;cursor:pointer;align-items:center;justify-content:center}
.menu-btn svg{width:26px;height:26px}
@media (max-width:1100px){
  .menu-btn{display:inline-flex}
  .nav{position:fixed;inset:calc(var(--header-h) + env(safe-area-inset-top,0px)) 0 0 0;background:var(--bg);flex-direction:column;align-items:stretch;padding:18px var(--gut) calc(40px + env(safe-area-inset-bottom,0px));gap:0;overflow-y:auto;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s}
  .nav.open{opacity:1;transform:none;visibility:visible}
  .nav a{font:400 34px/1 var(--display);letter-spacing:.02em;padding:16px 0;border-bottom:1px solid var(--line);border-radius:0}
  .nav .nav-cta{margin:24px 0 0;text-align:center;font:700 16px/1 var(--label);letter-spacing:.14em;padding:18px}
  body.menu-open{overflow:hidden}
}

/* ---------- hero ---------- */
.hero{position:relative;min-height:min(92vh,880px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,10,11,.55) 0%,rgba(10,10,11,.25) 35%,rgba(10,10,11,.85) 78%,var(--bg) 100%),linear-gradient(90deg,rgba(10,10,11,.85) 0%,rgba(10,10,11,.45) 50%,rgba(10,10,11,.05) 100%)}
.hero .wrap{width:100%;padding-block:120px 72px}
.hero h1{max-width:12ch}
.hero .lede{margin:26px 0 34px}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:40px;font:600 14px/1.2 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.hero-meta b{color:var(--text);font-weight:700}

.feature-card{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;text-decoration:none;background:rgba(19,19,21,.72);border:1px solid var(--line-2);border-radius:var(--radius);padding:12px;max-width:520px;margin-top:40px;backdrop-filter:blur(8px);transition:border-color .2s}
.feature-card:hover{border-color:var(--accent)}
.feature-card img{width:120px;height:90px;object-fit:cover;border-radius:10px}
.feature-card small{font:700 12px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.feature-card strong{display:block;font-weight:600;line-height:1.3;margin-top:6px}

.page-hero{position:relative;padding:clamp(72px,10vw,140px) 0 clamp(48px,6vw,80px);overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.page-hero .bg{position:absolute;inset:0;z-index:-2}
.page-hero .bg img{width:100%;height:100%;object-fit:cover;opacity:.42}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,10,11,.4),var(--bg)),radial-gradient(60% 80% at 85% 0%,rgba(255,77,31,.22),transparent 70%)}
.page-hero h1{font-size:clamp(56px,10vw,150px)}
.page-hero .sub{font:600 clamp(18px,2vw,24px)/1.3 var(--body);margin:18px 0 0;color:#fff}
.page-hero .lede{margin-top:22px}

/* ---------- sections ---------- */
.section{padding-block:clamp(64px,9vw,120px)}
.section + .section{padding-top:0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,48px)}
.band{background:var(--bg-2);border-block:1px solid var(--line)}
.rule{height:1px;background:var(--line);border:0;margin:0}

.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.split .media img{border-radius:var(--radius);width:100%;aspect-ratio:4/5;object-fit:cover}
.split .media.wide img{aspect-ratio:4/3}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:36px}
.pillars div{background:var(--bg);padding:22px}
.pillars b{display:block;font:400 26px/1 var(--display);text-transform:uppercase;margin-bottom:6px}
.pillars > div > span{color:var(--muted);font-size:15px;line-height:1.45;display:block}
@media (max-width:640px){.pillars{grid-template-columns:1fr}}

/* tiles (quick links) */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:860px){.tiles{grid-template-columns:1fr}}
.tile{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;text-decoration:none;isolation:isolate}
@media (max-width:860px){.tile{aspect-ratio:16/10}}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s ease}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.85))}
.tile:hover img{transform:scale(1.05)}
.tile .t{position:absolute;left:22px;right:22px;bottom:20px;display:flex;justify-content:space-between;align-items:end;gap:10px}
.tile h3{font-size:clamp(34px,3.4vw,46px)}
.tile .arrow{width:46px;height:46px;border-radius:50%;background:var(--accent);display:grid;place-items:center;flex:none;transition:transform .25s}
.tile:hover .arrow{transform:rotate(-45deg)}
.tile small{font:700 12px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:#ddd;display:block;margin-bottom:8px}

/* marquee */
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;gap:18px;width:max-content;animation:scroll 40s linear infinite}
.logo-chip{flex:none;height:92px;width:190px;border-radius:12px;background:#f3f0ea;display:grid;place-items:center;padding:14px 20px}
.logo-chip.dark{background:#1f1f22;border:1px solid var(--line-2)}
.logo-chip img{max-height:62px;max-width:150px;width:auto;object-fit:contain}
@keyframes scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}.marquee{mask-image:none;-webkit-mask-image:none}.marquee-track [aria-hidden="true"]{display:none}}

/* cards / news */
.grid{display:grid;gap:clamp(18px,2.4vw,28px)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1000px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.grid-3,.grid-2,.grid-4{grid-template-columns:1fr}}
.post-card{display:flex;flex-direction:column;text-decoration:none;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .2s,transform .2s}
.post-card:hover{border-color:var(--line-2);transform:translateY(-3px)}
.post-card .img{aspect-ratio:16/10;overflow:hidden;background:var(--bg-3)}
.post-card .img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post-card:hover .img img{transform:scale(1.04)}
.post-card .body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.post-card h3{font:600 21px/1.28 var(--body);text-transform:none;letter-spacing:0}
.post-card:hover h3{color:#fff}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font:600 13px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.meta .cat{color:var(--accent)}
.post-card .meta{margin-top:auto}
.post-card.big{grid-column:span 2;flex-direction:row}
.post-card.big .img{flex:1.25;aspect-ratio:auto;min-height:320px}
.post-card.big .body{flex:1;padding:32px;justify-content:center}
.post-card.big h3{font:400 clamp(30px,3.2vw,44px)/1 var(--display);text-transform:uppercase}
@media (max-width:1000px){.post-card.big{grid-column:auto;flex-direction:column}.post-card.big .img{min-height:0;aspect-ratio:16/10}.post-card.big .body{padding:20px 22px 24px}}

.filters{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:700 13px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;padding:11px 16px;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--text);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--text);color:var(--bg);border-color:var(--text)}

/* people */
.person{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--bg-2);border:1px solid var(--line)}
.person img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(1);transition:filter .4s}
.person:hover img{filter:none}
.person .cap{padding:16px 18px 18px}
.person h3{font-size:30px}
.person p{margin:6px 0 0;font:600 14px/1.2 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}

/* artists */
.artist{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-2)}
.artist + .artist{margin-top:24px}
.artist .ph{position:relative;min-height:420px}
.artist .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.artist .info{padding:clamp(24px,4vw,56px);display:flex;flex-direction:column;justify-content:center;gap:18px}
.artist h2{font-size:clamp(56px,7vw,104px)}
.artist .role{font:700 15px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.artist:nth-child(even) .ph{order:2}
@media (max-width:800px){.artist{grid-template-columns:1fr}.artist .ph{min-height:0;aspect-ratio:4/5}.artist:nth-child(even) .ph{order:0}}
.booking{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.booking > span{font:600 14px/1.2 var(--label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);width:100%}

.soon{position:relative;border-radius:var(--radius);overflow:hidden;border:1px dashed var(--line-2);min-height:260px;display:grid;place-items:center;text-align:center;isolation:isolate;margin-top:24px}
.soon img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:.5}
.soon h3{font-size:clamp(40px,5vw,64px)}

/* video */
.video{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000;border:1px solid var(--line)}
.video button{all:unset;position:absolute;inset:0;cursor:pointer;display:block}
.video button img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .2s}
.video button:hover img{opacity:1}
.video .play{position:absolute;left:50%;top:50%;width:78px;height:78px;margin:-39px 0 0 -39px;border-radius:50%;background:var(--accent);display:grid;place-items:center;box-shadow:0 10px 40px rgba(0,0,0,.5);transition:transform .2s}
.video button:hover .play{transform:scale(1.08)}
.video .play svg{width:28px;height:28px;margin-left:4px}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* gallery */
.gallery{columns:3 280px;column-gap:14px}
.gallery a{display:block;margin:0 0 14px;border-radius:12px;overflow:hidden;break-inside:avoid;background:var(--bg-3);position:relative}
.gallery img{width:100%;transition:transform .5s,opacity .3s}
.gallery a:hover img{transform:scale(1.03)}
.gallery.tight{columns:4 200px}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(5,5,6,.95);display:grid;grid-template-columns:64px 1fr 64px;align-items:center;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
.lightbox[hidden]{display:none!important}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;height:100dvh;padding:56px 0 24px;min-width:0}
.lightbox img{max-height:calc(100dvh - 130px);max-width:100%;width:auto;object-fit:contain;border-radius:8px}
.lightbox figcaption{color:var(--muted);font-size:15px;margin-top:12px;text-align:center;padding:0 8px}
.lightbox button{background:rgba(255,255,255,.08);border:0;color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;display:grid;place-items:center;justify-self:center}
.lightbox button:hover{background:var(--accent)}
.lightbox .lb-close{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:14px}
@media (max-width:620px){.lightbox{grid-template-columns:0 1fr 0}.lightbox .lb-prev,.lightbox .lb-next{position:absolute;bottom:calc(20px + env(safe-area-inset-bottom,0px))}.lightbox .lb-prev{left:calc(50% - 60px)}.lightbox .lb-next{right:calc(50% - 60px)}.lightbox img{max-height:calc(100dvh - 190px)}}

/* event cards */
.event-card{display:grid;grid-template-columns:1.2fr 1fr;text-decoration:none;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-2);transition:border-color .2s}
.event-card:hover{border-color:var(--accent)}
.event-card + .event-card{margin-top:24px}
.event-card .img{min-height:320px;position:relative}
.event-card .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.event-card .body{padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.event-card h3{font-size:clamp(36px,4vw,56px)}
.badge{display:inline-block;font:700 12px/1 var(--label);letter-spacing:.18em;text-transform:uppercase;padding:8px 12px;border-radius:999px;border:1px solid var(--line-2);color:var(--muted);width:max-content}
.badge.live{border-color:var(--accent);color:var(--accent)}
@media (max-width:800px){.event-card{grid-template-columns:1fr}.event-card .img{min-height:0;aspect-ratio:16/10}}

/* facts */
.facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.facts div{padding:26px;border-right:1px solid var(--line)}
.facts div:last-child{border-right:0}
.facts small{display:block;font:700 12px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.facts b{font:400 clamp(26px,3vw,40px)/1 var(--display);text-transform:uppercase}
@media (max-width:700px){.facts{grid-template-columns:1fr}.facts div{border-right:0;border-bottom:1px solid var(--line)}.facts div:last-child{border-bottom:0}}

/* ticket table */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius);border:1px solid var(--line)}
.tickets{border-collapse:collapse;width:100%;min-width:860px;font-size:15px}
.tickets th,.tickets td{padding:14px 12px;text-align:center;border-bottom:1px solid var(--line)}
.tickets tbody th{text-align:left;font-weight:600;color:#ddd;white-space:nowrap;position:sticky;left:0;background:var(--bg-2)}
.tickets thead th{vertical-align:bottom;padding-top:22px}
.tickets thead .tier{font:400 28px/1 var(--display);text-transform:uppercase;display:block}
.tickets thead .kind{font:600 12px/1.2 var(--label);letter-spacing:.14em;text-transform:uppercase;display:block;margin-top:6px;opacity:.85}
.tickets thead .price{font:700 20px/1 var(--body);display:block;margin-top:12px}
.tickets td.no{color:#6b6760}
.tickets tr:last-child th,.tickets tr:last-child td{border-bottom:0}
.t-std{color:#ff6a5a}.t-gold{color:#f5d33f}.t-plat{color:#5fd6e0}.t-dia{color:#d27bf0}
.tickets thead th:first-child{background:var(--bg-2);position:sticky;left:0}

/* lineup */
.lineup{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.lineup figure{margin:0;border-radius:12px;overflow:hidden;background:var(--bg-3)}
.lineup img{aspect-ratio:3/4;object-fit:cover;width:100%}
.lineup figcaption{padding:10px 12px;font:700 14px/1.1 var(--label);letter-spacing:.12em;text-transform:uppercase}
.lineup figcaption span{display:block;color:var(--muted);font-weight:600;font-size:12px;margin-top:4px;letter-spacing:.1em}
.lineup .headliner figcaption{color:var(--accent)}
.sa-stripe{height:6px;background:linear-gradient(90deg,#007a4d 0 20%,#ffb612 20% 40%,#de3831 40% 60%,#002395 60% 80%,#000 80% 100%)}

.partners{display:flex;flex-wrap:wrap;gap:10px}
.partners span{font:700 14px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line-2);border-radius:999px;padding:12px 18px;color:#ddd}

/* forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form .full{grid-column:1/-1}
@media (max-width:640px){.form{grid-template-columns:1fr}}
.field label,.field legend{display:block;font:700 13px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:#d8d3cb;margin-bottom:10px}
.field .req{color:var(--accent)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=url],.field textarea{width:100%;background:var(--bg-2);border:1px solid var(--line-2);border-radius:10px;color:var(--text);font:400 17px/1.4 var(--body);padding:14px 16px;transition:border-color .15s}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--accent);outline:none}
.field .hint{font-size:14px;color:var(--muted);margin:8px 0 0}
fieldset.field{border:0;padding:0;margin:0}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{margin:0;display:inline-flex;align-items:center;gap:8px;font:600 15px/1 var(--label);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line-2);border-radius:999px;padding:12px 16px;cursor:pointer;color:var(--text)}
.checks input{accent-color:var(--accent);width:16px;height:16px;margin:0}
.checks label:has(input:checked){border-color:var(--accent);background:rgba(255,77,31,.12)}
.file{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px dashed var(--line-2);border-radius:10px;padding:16px}
.file input{color:var(--muted);font:400 15px var(--body);max-width:100%}
.hidden-field{position:absolute;left:-9999px}

.contact-cards{display:grid;gap:14px}
.contact-card{display:flex;align-items:center;gap:16px;text-decoration:none;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;background:var(--bg-2);transition:border-color .2s}
.contact-card:hover{border-color:var(--accent)}
.contact-card .ic{width:48px;height:48px;border-radius:50%;background:var(--accent);display:grid;place-items:center;flex:none}
.contact-card .ic svg{width:22px;height:22px;fill:#fff}
.contact-card small{display:block;font:700 12px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.contact-card b{font-weight:600;font-size:18px;word-break:break-word}

/* callout */
.callout{border-radius:var(--radius);padding:clamp(28px,5vw,64px);background:radial-gradient(80% 120% at 100% 0%,rgba(255,77,31,.35),transparent 60%),var(--bg-2);border:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.callout h2{max-width:14ch}

/* spotify */
.embed{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--bg-2)}
.embed iframe{display:block;width:100%;border:0}
.map iframe{height:380px}

/* article */
.article-head{padding:clamp(56px,8vw,110px) 0 36px}
.article-head h1{font-size:clamp(40px,6.4vw,84px);line-height:.98;max-width:18ch;margin-top:18px}
.article-cover{margin:0 0 12px}
.article-cover img{width:100%;border-radius:var(--radius);max-height:760px;object-fit:cover}
.caption{font-size:14px;color:var(--muted);margin:10px 0 0;text-align:center}
.prose{font-size:clamp(17px,1.35vw,19px);line-height:1.75;color:#e6e1d9}
.prose p{margin:0 0 1.2em}
.prose .strong{font-weight:700;color:#fff}
.prose a{color:#fff;text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:2px}
.prose a:hover{color:var(--accent)}
.prose blockquote{margin:1.6em 0;padding:4px 0 4px 24px;border-left:3px solid var(--accent);font-size:1.12em;color:#fff;font-style:italic}
.prose figure{margin:2em 0}
.prose figure img{border-radius:12px;width:100%}
.prose .gallery{margin:1.6em 0 .4em}
.about-box{margin-top:48px;padding:26px 28px;border-radius:var(--radius);background:var(--bg-2);border:1px solid var(--line);font-size:16px;line-height:1.65;color:var(--muted)}
.about-box b{color:var(--text)}
.about-box a{color:var(--text)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.tags span{font:600 13px/1 var(--label);letter-spacing:.12em;text-transform:uppercase;padding:9px 13px;border-radius:999px;background:var(--bg-3);color:#cfcac2}
.share{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.share span{font:700 13px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.share a,.share button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;background:none;color:var(--text);cursor:pointer}
.share a:hover,.share button:hover{border-color:var(--accent);background:var(--accent)}
.share svg{width:17px;height:17px;fill:currentColor}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:56px}
.pager a{text-decoration:none;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;display:block;transition:border-color .2s}
.pager a:hover{border-color:var(--accent)}
.pager small{font:700 12px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.pager strong{display:block;margin-top:8px;font-weight:600;line-height:1.3}
.pager .next{text-align:right;grid-column:2}
@media (max-width:620px){.pager{grid-template-columns:1fr}.pager .next{grid-column:auto}}

/* footer */
.site-footer{border-top:1px solid var(--line);background:#070708;padding:clamp(56px,7vw,90px) 0 calc(28px + env(safe-area-inset-bottom,0px));margin-top:clamp(40px,6vw,80px)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}
.site-footer h4{font:700 13px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-footer ul a{text-decoration:none;color:#ddd;font-weight:500}
.site-footer ul a:hover{color:var(--accent)}
.foot-brand img{height:56px;width:auto;margin-bottom:20px}
.foot-brand p{color:var(--muted);max-width:34ch;margin:0;font-size:15px}
.socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.socials a{width:42px;height:42px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;transition:background .2s,border-color .2s}
.socials a:hover{background:var(--accent);border-color:var(--accent)}
.socials svg{width:18px;height:18px;fill:#fff}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.foot-big{font:400 clamp(64px,17vw,260px)/.8 var(--display);text-transform:uppercase;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.14);margin:48px 0 0;white-space:nowrap;overflow:hidden;user-select:none}

/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
.center{text-align:center}
.mt-0{margin-top:0}.mt-1{margin-top:12px}.mt-2{margin-top:24px}.mt-3{margin-top:40px}
.stack>*+*{margin-top:18px}
.notice{border:1px solid var(--line-2);border-radius:10px;padding:14px 16px;font-size:15px;color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.poster-hero{padding:clamp(20px,3vw,36px) 0 clamp(48px,6vw,72px)}
.poster-hero .poster img{width:100%;border-radius:var(--radius);aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line)}
.poster-hero h1{font-size:clamp(44px,7.4vw,108px);max-width:none}
.poster-hero .lede{margin:18px 0 28px}
.nav .nav-cta[aria-current="page"]{color:#fff}

/* ---------- v2: header font ---------- */
.nav a{font:400 17px/1 var(--display);letter-spacing:.07em}
.nav .nav-cta{font:400 17px/1 var(--display);letter-spacing:.08em;padding:13px 20px}
@media (max-width:1100px){.nav a{font-size:34px;letter-spacing:.02em}.nav .nav-cta{font-size:20px;letter-spacing:.08em}}
.eyebrow.plain::before{display:none}

/* ---------- v2: hero slideshow ---------- */
.hero-slides{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#000}
.hero-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 2s ease,transform 10s linear;will-change:opacity,transform}
.hero-slides img.on{opacity:1;transform:scale(1.14)}
.hero-slides img:nth-child(odd){transform-origin:30% 40%}
.hero-slides img:nth-child(even){transform-origin:70% 60%}
.hero-dots{position:absolute;right:var(--gut);bottom:28px;display:flex;gap:8px;z-index:2}
.hero-dots button{width:26px;height:4px;border:0;border-radius:2px;background:rgba(255,255,255,.28);padding:0;cursor:pointer;transition:background .3s,width .3s}
.hero-dots button[aria-current="true"]{background:var(--accent);width:44px}
@media (prefers-reduced-motion:reduce){.hero-slides img{transition:opacity 1.2s ease;transform:none!important}}

/* ---------- v2: title animation ---------- */
.split-words .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.08em .02em .06em;margin:-.08em -.02em -.06em}
.split-words .w>span{display:inline-block;transform:translateY(110%) rotate(4deg);transform-origin:0 100%;opacity:0;transition:transform 1s cubic-bezier(.16,.84,.24,1),opacity .6s ease;transition-delay:calc(var(--i,0) * 70ms + var(--d,0ms))}
.split-words.in .w>span{transform:none;opacity:1}
.eyebrow.anim{opacity:0;transform:translateX(-12px);transition:opacity .7s ease .1s,transform .7s ease .1s}
.eyebrow.anim.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.split-words .w>span{transform:none;opacity:1;transition:none}.eyebrow.anim{opacity:1;transform:none}}

/* ---------- v2: GMI chart ---------- */
.chart-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(18px,3vw,32px)}
.chart-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.chart-top h3{font-size:clamp(28px,3vw,40px)}
.chart-top p{margin:6px 0 0;color:var(--muted);font-size:15px}
.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:999px;padding:3px}
.seg button{border:0;background:none;color:var(--muted);font:700 13px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;padding:9px 14px;border-radius:999px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--text);color:var(--bg)}
.chart-legend{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:#d8d3cb}
.chart-legend li{display:flex;align-items:center;gap:8px}
.chart-legend .key,.chart-tip .key{width:16px;height:3px;border-radius:2px;display:inline-block}
.chart-legend .key.strong{height:4px}
.chart-legend li:first-child{color:#fff;font-weight:600}
.chart-plot-wrap{position:relative}
.chart-plot{width:100%;min-height:300px}
.chart-plot svg{display:block;overflow:visible;touch-action:pan-y}
.chart-plot .grid{stroke:rgba(255,255,255,.07);stroke-width:1}
.chart-plot .grid.base{stroke:rgba(255,255,255,.22)}
.chart-plot .tick{fill:#8d8880;font:500 12px var(--body)}
.chart-plot .endlabel{fill:#cfcac2;font:600 13px var(--body)}
.chart-plot .endlabel.strong{fill:#fff;font-weight:700}
.chart-plot .cross{stroke:rgba(255,255,255,.35);stroke-width:1}
.chart-plot rect:focus{outline:none}
.chart-plot rect:focus-visible{stroke:var(--accent);stroke-width:1}
.chart-tip{position:absolute;left:0;top:0;pointer-events:none;background:rgba(10,10,11,.94);border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;font-size:13px;min-width:210px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.chart-tip b{display:block;font:700 12px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.chart-tip div{display:flex;align-items:center;gap:8px;line-height:1.7}
.chart-tip .val{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums;padding-left:14px}
.chart-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 20px;margin-top:14px;font-size:13px;color:var(--muted)}
.chart-foot summary{cursor:pointer;color:#ddd;font-weight:600}
.chart-table{margin-top:12px;max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:10px}
.chart-table table{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums}
.chart-table th,.chart-table td{padding:8px 10px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.chart-table th[scope=row],.chart-table thead th:first-child{text-align:left}
.chart-table thead th{position:sticky;top:0;background:var(--bg-3);color:#ddd}
.placeholder-flag{border:1px dashed #f0562a;color:#ffb39c;border-radius:10px;padding:10px 14px;font-size:14px;margin-bottom:16px}
.hero-slides:not(.js) img:first-child{opacity:1}

/* ---------- v3: scrolling photo collage (home hero) ---------- */
.hero-collage{position:absolute;inset:-18% -6% -18% 18%;z-index:-2;display:flex;gap:16px;transform:rotate(-8deg);opacity:.9}
.hero-collage .col{flex:1;min-width:0}
.hero-collage .track{display:flex;flex-direction:column;animation:collage-up var(--dur,100s) linear infinite;will-change:transform}
.hero-collage .col.down .track{animation-name:collage-down}
.hero-collage .col:nth-child(even){margin-top:-90px}
.hero-collage img{width:100%;object-fit:cover;border-radius:16px;margin-bottom:16px;background:var(--bg-3);box-shadow:0 12px 30px rgba(0,0,0,.35)}
.hero-collage img.tall{aspect-ratio:3/4}
.hero-collage img.portrait{aspect-ratio:2/3}
.hero-collage img.square{aspect-ratio:1/1}
.hero-collage img.wide{aspect-ratio:4/3}
@keyframes collage-up{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@keyframes collage-down{from{transform:translateY(-50%)}to{transform:translateY(0)}}
.hero:has(.hero-collage)::after{background:linear-gradient(180deg,rgba(10,10,11,.35) 0%,rgba(10,10,11,.15) 40%,rgba(10,10,11,.75) 82%,var(--bg) 100%),linear-gradient(90deg,var(--bg) 0%,rgba(10,10,11,.92) 22%,rgba(10,10,11,.55) 50%,rgba(10,10,11,.15) 80%,rgba(10,10,11,.25) 100%)}
@media (max-width:1100px){.hero-collage{inset:-15% -20% -15% -10%}.hero-collage .col:nth-child(n+5){display:none}}
@media (max-width:620px){.hero-collage .col:nth-child(n+4){display:none}.hero:has(.hero-collage)::after{background:linear-gradient(180deg,rgba(10,10,11,.55) 0%,rgba(10,10,11,.7) 45%,rgba(10,10,11,.92) 80%,var(--bg) 100%)}}
@media (prefers-reduced-motion:reduce){.hero-collage .track{animation:none}}

/* ---------- v4 ---------- */
.eyebrow::before{display:none}
.eyebrow{gap:0}

/* hero fits in first screen */
.hero{min-height:calc(100vh - var(--header-h));min-height:calc(100svh - var(--header-h));max-height:1000px;align-items:center}
.hero .wrap{padding-block:clamp(28px,5vh,64px)}
.hero h1{font-size:clamp(48px,min(8.4vw,12.5vh),124px)}
.hero .lede{margin:clamp(14px,2.4vh,24px) 0 clamp(18px,3vh,30px)}
.hero .eyebrow{margin-bottom:clamp(10px,1.8vh,18px)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.hero-actions .feature-card{margin-top:0;max-width:440px;grid-template-columns:96px 1fr;padding:10px}
.hero-actions .feature-card img{width:96px;height:72px}
@media (max-width:620px){.hero{align-items:flex-end;max-height:none}}

/* media logos: no boxes */
.logo-chip{background:none;border:0;padding:0 18px;height:84px;width:auto;min-width:0}
.logo-chip img{max-height:60px;max-width:180px}
.marquee-track{gap:48px;align-items:center}

/* team portraits */
.person img{aspect-ratio:3/4;object-fit:cover;object-position:center top}

/* ---------- news article ---------- */
.read-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;pointer-events:none}
.read-progress span{display:block;height:100%;width:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}
.post-hero{position:relative;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.post-hero-bg{position:absolute;inset:-40px;z-index:-1;opacity:.28;filter:blur(40px) saturate(1.2)}
.post-hero-bg img{width:100%;height:100%;object-fit:cover}
.post-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,10,11,.3),var(--bg))}
.post-head{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(40px,6vw,88px)}
.post-head h1{font-size:clamp(36px,4.3vw,64px);line-height:1;margin-top:18px}
.post-head .back{font:700 13px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--muted)}
.post-head .back:hover{color:var(--accent)}
.post-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.post-meta span{font:700 12px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;padding:8px 12px;border-radius:999px;border:1px solid var(--line-2);color:#d8d3cb}
.post-meta .cat{background:var(--accent);border-color:var(--accent);color:#fff}
.byline{display:flex;align-items:center;gap:10px;margin:26px 0 0;color:var(--muted);font-size:15px}
.byline img{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2)}
.byline b{color:var(--text)}
.post-cover{margin:0}
.post-cover a{display:block;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.post-cover img{width:100%;aspect-ratio:4/3;object-fit:cover}
.post-cover figcaption,.prose figcaption{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.45}
@media (max-width:900px){.post-head{grid-template-columns:1fr}.post-cover{order:-1}}

.post-layout{display:grid;grid-template-columns:200px minmax(0,720px);justify-content:center;gap:clamp(32px,5vw,80px);padding-block:clamp(40px,6vw,80px) 0}
.post-aside{position:sticky;top:calc(var(--header-h) + 28px);align-self:start;display:grid;gap:22px}
.aside-block{border-top:1px solid var(--line);padding-top:14px}
.aside-block small,.post-tags small{display:block;font:700 12px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.aside-block b{font-weight:600}
.share-row{display:flex;flex-wrap:wrap;gap:8px}
.share-row a,.share-row button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;background:none;color:var(--text);cursor:pointer;transition:background .2s,border-color .2s}
.share-row a:hover,.share-row button:hover{background:var(--accent);border-color:var(--accent)}
.share-row svg{width:16px;height:16px;fill:currentColor}
@media (max-width:900px){.post-layout{grid-template-columns:minmax(0,1fr)}.post-aside{position:static;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));order:2}}

.post-body .prose{font-size:clamp(17px,1.3vw,19px);line-height:1.8;color:#ddd8d0}
.prose .lead{font-size:clamp(20px,1.8vw,24px);line-height:1.55;color:#fff;margin-bottom:1.3em}
.prose .dateline{display:block;font:700 13px/1.2 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.prose .kicker{font:400 clamp(26px,2.6vw,36px)/1.05 var(--display);text-transform:uppercase;color:#fff;margin:1.6em 0 .6em}
.prose blockquote{position:relative;margin:2em 0;padding:28px 28px 28px 72px;border:0;border-radius:16px;background:var(--bg-2);font-style:normal;font-size:clamp(19px,1.6vw,23px);line-height:1.55;color:#fff}
.prose blockquote::before{content:"\201C";position:absolute;left:20px;top:6px;font:400 84px/1 var(--display);color:var(--accent)}
.prose blockquote p{margin:0}
.prose figure.wide{margin:2.4em 0}
@media (min-width:1200px){.prose figure.wide{margin-inline:-90px}}
.prose figure.wide img{border-radius:16px;width:100%}
.prose figure.wide .gallery{margin:0}
.post-tags{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.post-tags .tags{margin-top:0}
.about-box{display:flex;gap:22px;align-items:flex-start;margin-top:36px;padding:28px}
.about-box img{width:64px;height:auto;flex:none;margin-top:4px}
.about-box .about-contact{margin:14px 0 0}
@media (max-width:620px){.about-box{flex-direction:column}}
.post .pager{margin-top:36px}
.pager > span{display:block}
.more-news{margin-top:clamp(40px,6vw,80px);border-top:1px solid var(--line);padding-top:clamp(56px,7vw,96px)}
[hidden]{display:none!important}
.page-hero .bg img{opacity:.5}

/* ---------- v6 ---------- */
/* photo reels */
.reel{display:grid;gap:10px;margin-inline:calc(50% - 50vw);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.reel-row{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.reel-row::-webkit-scrollbar{display:none}
.reel-track{display:flex;gap:10px;width:max-content}
.reel-track a{display:block;flex:none;border-radius:12px;overflow:hidden;background:var(--bg-3);position:relative}
.reel-track img{height:230px;width:auto;display:block;transition:transform .5s,filter .3s}
.reel-track a:hover img{transform:scale(1.05)}
.reel-track a:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.reel-ctrl{display:flex;align-items:center;gap:10px;margin-top:18px}
.reel-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--text);display:grid;place-items:center;cursor:pointer;transition:border-color .2s,background .2s}
.reel-btn:hover{border-color:var(--accent);background:rgba(255,77,31,.12)}
.reel-btn .i-play{display:none}
.reel-ctrl.paused .i-play{display:block}
.reel-ctrl.paused .i-pause{display:none}
.reel-count{margin-left:6px;font:600 13px/1 var(--label);letter-spacing:.14em;text-transform:uppercase}
@media (max-width:640px){.reel-track img{height:160px}.reel{gap:8px}.reel-track{gap:8px}}

/* home pillars: descriptions start on the same line */
@media (min-width:641px){
  .pillars{grid-template-rows:auto auto}
  .pillars div{grid-row:span 2;display:grid;grid-template-rows:subgrid;row-gap:0}
  .pillars b{align-self:start}
}

/* in the media: compact */
.band.media-band{padding-block:clamp(28px,3.5vw,44px)!important}
.media-band .eyebrow{margin-bottom:6px}
.media-band .logo-chip{height:58px;padding:0 10px}
.media-band .logo-chip img{max-height:38px;max-width:130px}
.media-band .marquee-track{gap:34px;animation-duration:32s}

/* news: titles start at the same height */
.post-card:not(.big) .meta{margin-top:0}

/* contact: role options on one line */
.checks{flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.checks::-webkit-scrollbar{display:none}
.checks label{flex:1 0 auto;justify-content:center;padding:10px 11px;font-size:13px;letter-spacing:.06em;gap:7px}
.checks input{width:14px;height:14px}

/* about: landscape image shows the whole group */
.split .media.land img{aspect-ratio:3/2}

/* events hero: image nudged right */
.hero-events .bg img{transform:translateX(6%) scale(1.13)}
.hero-events .bg{overflow:hidden}
.post-card:not(.big) .meta{flex-wrap:nowrap;white-space:nowrap;overflow:hidden}
.post-card:not(.big) .meta .rt{display:none}
fieldset.field{min-width:0}
.form > *{min-width:0}
@media (max-width:640px){
  .checks{gap:4px}
  .checks label{padding:9px 7px;font-size:11px;letter-spacing:.02em;gap:5px}
  .checks input{width:12px;height:12px}
}
@media (max-width:380px){.checks{gap:3px}.checks label{padding:9px 4px;gap:4px;font-size:10.5px}}

/* ---------- v7 ---------- */
.reel-track .ri{display:block;flex:none;border-radius:12px;overflow:hidden;background:var(--bg-3)}
.reel-track .ri img{height:230px;width:auto;display:block;transition:transform .5s}
.reel-track .ri:hover img{transform:scale(1.04)}
.reel.rows-3 .ri img{height:190px}
.reel.rows-3{gap:8px}.reel.rows-3 .reel-track{gap:8px}
.reel.contained{margin-inline:0}
@media (max-width:640px){.reel-track .ri img{height:160px}.reel.rows-3 .ri img{height:124px}}
.prose .reel{margin:1.6em 0 0}
.prose .reel-ctrl{margin-bottom:1.4em}
.gallery .gi{display:block;margin:0 0 12px;border-radius:12px;overflow:hidden;break-inside:avoid;background:var(--bg-3)}
.gallery .gi img{width:100%;display:block;transition:transform .5s}
.gallery .gi:hover img{transform:scale(1.03)}
.gallery.tight{columns:4 220px;column-gap:12px}
@media (max-width:560px){.gallery.tight{columns:2;column-gap:8px}.gallery .gi{margin-bottom:8px}}
.prose .reel img,.prose figure.wide .reel img{width:auto;max-width:none;border-radius:0;margin:0;box-shadow:none}
/* video play button v7 */
.video button::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(0,0,0,.05) 0,rgba(0,0,0,.45) 75%),linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.55));pointer-events:none}
.video .play{width:auto;height:auto;margin:0;left:50%;top:50%;transform:translate(-50%,-50%);background:none;box-shadow:none;border-radius:0;display:flex;align-items:center;gap:16px;z-index:2}
.video button:hover .play{transform:translate(-50%,-50%)}
.video .play .core{position:relative;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background .25s,border-color .25s,transform .25s}
.video .play .core svg{width:26px;height:26px;margin-left:5px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.video .play .ring{position:absolute;left:0;top:50%;width:86px;height:86px;margin-top:-43px;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:playpulse 2.4s cubic-bezier(.2,.6,.3,1) infinite;pointer-events:none}
.video .play .lbl{font:700 15px/1 var(--label);letter-spacing:.24em;text-transform:uppercase;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.video button:hover .play .core,.video button:focus-visible .play .core{background:var(--accent);border-color:var(--accent);transform:scale(1.07)}
@keyframes playpulse{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.7);opacity:0}}
@media (max-width:560px){.video .play .core,.video .play .ring{width:64px;height:64px}.video .play .ring{margin-top:-32px}.video .play .lbl{display:none}}
@media (prefers-reduced-motion:reduce){.video .play .ring{animation:none}}
/* about: careers image top aligns with heading */
@media (min-width:861px){
  .split.careers{align-items:stretch}
  .split.careers .media.fit{position:relative;margin-top:calc(32px + clamp(38px,5.4vw,72px) * .155)}
  .split.careers .media.fit img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:75% 45%}
}
@media (max-width:860px){.split.careers .media.fit img{aspect-ratio:1/1;object-position:75% 45%}}

/* ---------- v8 ---------- */
.gallery.even{columns:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;grid-auto-flow:row dense}
.gallery.even .gi{margin:0;position:relative;aspect-ratio:4/5}
.gallery.even .gi.l{grid-column:span 2;aspect-ratio:auto}
.gallery.even .gi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
@media (max-width:560px){
  .gallery.even{grid-template-columns:repeat(2,1fr);gap:8px}
  .gallery.even .gi.l{aspect-ratio:8/5}
}
/* team: two per row on phones */
@media (max-width:620px){
  .team-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .team-grid .person .cap{padding:10px 12px 12px}
  .team-grid .person h3{font-size:22px}
  .team-grid .person p{font-size:11px;letter-spacing:.08em}
}
/* tighter gap above footer */

.site-footer{margin-top:0}
.prose .reel{margin:1.6em 0 1.6em}
.eyebrow{line-height:1.4}

/* ---------- v9 ---------- */
/* Lunar poster wall */
.poster-wall{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.poster-wall .pw{position:relative;margin:0;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--bg-3);border:1px solid var(--line)}
.poster-wall .pw.feat{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.poster-wall .pw img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:transform .6s ease}
.poster-wall .pw:hover img{transform:scale(1.04)}
.poster-wall .pw.cta{grid-column:span 3;aspect-ratio:auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:clamp(20px,3vw,40px);text-decoration:none;background:radial-gradient(120% 140% at 100% 0%,rgba(255,77,31,.35),rgba(255,77,31,0) 60%),var(--bg-2);border-color:rgba(255,77,31,.35)}
.poster-wall .pw.cta .eyebrow{margin:0}
.poster-wall .pw.cta strong{font:400 clamp(30px,3.4vw,52px)/.95 var(--display);text-transform:uppercase;color:var(--text)}
.poster-wall .pw.cta .btn{margin-top:6px}
@media (max-width:480px){
  .poster-wall .pw.feat{grid-column:auto;grid-row:auto;aspect-ratio:4/5}
  .poster-wall .pw.cta{padding:14px;gap:8px;min-height:160px}
  .poster-wall .pw.cta strong{font-size:24px}
  .poster-wall .pw.cta .muted{font-size:13px;line-height:1.35}
  .poster-wall .pw.cta .btn{padding:10px 12px;font-size:12px}
}
/* phone with country code */
.phone{display:flex;gap:8px}
.phone .cc{position:relative;flex:0 0 112px;display:flex;align-items:center;background:var(--bg-2);border:1px solid var(--line-2);border-radius:10px;color:var(--text);font:500 17px/1.4 var(--body);padding:0 30px 0 14px;white-space:nowrap}
.phone .cc::after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;border-right:2px solid #bbb;border-bottom:2px solid #bbb;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.phone .cc select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}
.phone .cc:focus-within{border-color:var(--accent)}
.phone .cc select option{background:#141416;color:#eee}
.phone input{flex:1;min-width:0;width:auto!important}
@media (max-width:380px){.phone .cc{flex-basis:98px;padding:0 26px 0 10px;font-size:15px}.phone .cc::after{right:10px}}
/* news category tags on thumbnails */
.post-card .img{position:relative}
.ptag{position:absolute;top:14px;left:14px;z-index:2;display:inline-flex;align-items:center;gap:7px;padding:7px 12px 7px 10px;border-radius:999px;font:700 12px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(12,12,14,.55);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(10px) saturate(1.4);backdrop-filter:blur(10px) saturate(1.4);box-shadow:0 6px 18px rgba(0,0,0,.35);transition:transform .25s,background .25s}
.ptag svg{width:14px;height:14px;flex:none}
.ptag::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;display:none}
.ptag-events{background:linear-gradient(135deg,rgba(255,77,31,.95),rgba(255,122,61,.9));border-color:rgba(255,160,120,.6)}
.ptag-artists{color:#111;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(236,230,220,.9));border-color:rgba(255,255,255,.8)}
.post-card:hover .ptag{transform:translateY(-2px)}
.post-card.big .ptag{top:18px;left:18px;font-size:13px;padding:9px 14px 9px 12px}

/* even section rhythm: one gap size between sections and above the footer */
:root{--gap-sec:clamp(44px,5.5vw,80px)}
.section{padding-block:var(--gap-sec)}
.section + .section{padding-top:0}
.section.after-band,.band + .section{padding-top:var(--gap-sec)}
.band.media-band + .section{padding-top:var(--gap-sec)}
html,body{overflow-x:clip}
.section > .wrap > :last-child,.section > .wrap > .split > :last-child > :last-child{margin-bottom:0}
@media (max-width:480px){
  .poster-wall .pw.cta .muted{display:none}
  .poster-wall .pw.cta strong{font-size:22px}
  .poster-wall .pw.cta .eyebrow{font-size:11px;letter-spacing:.16em}
  .poster-wall .pw.cta .btn{white-space:nowrap;padding:9px 12px;font-size:11px;gap:6px}
}
.poster-wall{grid-auto-flow:row dense}
.poster-wall .pw.cta{grid-column:span var(--cta-span,3)}
.poster-wall.empty .pw.cta{grid-column:1/-1}
.form-status{margin:0;font-size:15px;color:var(--muted)}
.form-status.error{color:#ff8a6b}
.form-status a{color:inherit}
/* image fade-in while loading */
.hero-collage img.fade,.page-hero .bg img.fade{opacity:0;transition:opacity .6s ease}
.hero-collage img.fade.loaded{opacity:1}
.page-hero .bg img.fade.loaded{opacity:.5}
.hero-collage img{background:linear-gradient(135deg,#1c1c20,#141417)}

/* ---------- v10 ---------- */
.hero h1{max-width:none}
.hero h1 .accent{white-space:nowrap}
.hero-actions{display:inline-flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:clamp(18px,3.4vh,34px)}
.hero-actions .btn-row{flex-wrap:nowrap}
.hero-actions .feature-card{width:0;min-width:100%;max-width:none;margin:0}
@media (max-width:420px){.hero-actions .btn-row{gap:8px}.hero-actions .btn{padding-inline:16px}}
.fit-eyebrow{white-space:nowrap}
.media-band .marquee{mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.mt-4{margin-top:clamp(48px,6vw,80px)}
.grid-2.videos > .video:first-child{grid-column:1/-1}
.booking .btn-row{margin:0}
/* team role lines never wrap */
.team-grid .person .cap{container-type:inline-size}
.team-grid .person p{white-space:nowrap;font-size:min(14px,5.4cqi);letter-spacing:.06em}
@media (max-width:620px){.team-grid .person p{font-size:min(11px,5.9cqi);letter-spacing:.03em}}
/* bookings: artist pickers */
.picks{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pick{display:grid;grid-template-columns:minmax(120px,38%) 1fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-2)}
.pick .ph{position:relative;min-height:220px}
.pick .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.pick .info{padding:clamp(18px,2.4vw,30px);display:flex;flex-direction:column;justify-content:center;gap:10px}
.pick .role{font:700 12px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.pick h3{font-size:clamp(34px,3.6vw,52px)}
.pick .btn-row{margin-top:8px;gap:10px}
@media (max-width:1000px){.picks{grid-template-columns:1fr}}
@media (max-width:480px){.pick{grid-template-columns:1fr}.pick .ph{min-height:0;aspect-ratio:4/3}.pick .btn-row .btn{flex:1 1 auto;justify-content:center}}
/* footer get in touch */
.site-footer ul.touch .k{color:var(--muted);margin-right:4px}
/* news: small card titles in the display face */
.post-card:not(.big) h3{font:400 clamp(22px,1.9vw,27px)/1.02 var(--display);text-transform:uppercase;letter-spacing:.01em}

@media (max-width:1100px){.poster-wall{grid-template-columns:repeat(4,1fr)}}
@media (max-width:700px){.poster-wall{grid-template-columns:repeat(3,1fr);gap:8px}}
@media (max-width:480px){.poster-wall{grid-template-columns:repeat(2,1fr)}}
/* hero background framing */
.hero-team .bg img{object-position:62% 88%}
.hero-news .bg img{object-position:52% 34%}
.hero-contact .bg img{object-position:50% 72%}
.hero-lunar .bg img{object-position:46% 18%}

.pick .btn-row{flex-wrap:nowrap}
@media (max-width:1180px){.pick .btn-row{flex-wrap:wrap}}

/* ---------- v11 ---------- */
/* galleries sit inside the page margins, like the media logos */
.reel{margin-inline:0}
/* row heights: five rows fit one screen */
.reel.rows-1 .ri img{height:clamp(150px,26vh,230px)}
.reel.rows-2 .ri img{height:clamp(130px,21vh,210px)}
.reel.rows-3 .ri img{height:clamp(104px,15.5vh,190px)}
.reel.rows-4 .ri img{height:clamp(88px,12.5vh,165px)}
.reel.rows-5 .ri img{height:clamp(74px,10.4vh,150px)}
.reel.rows-4,.reel.rows-5{gap:8px}
.reel.rows-4 .reel-track,.reel.rows-5 .reel-track{gap:8px}
@media (max-width:640px){
  .reel.rows-1 .ri img{height:150px}.reel.rows-2 .ri img{height:132px}
  .reel.rows-3 .ri img{height:112px}.reel.rows-4 .ri img{height:96px}.reel.rows-5 .ri img{height:86px}
}
/* news cards: compact title, two lines, then two lines of the story */
.post-card:not(.big) h3{font:400 clamp(19px,1.5vw,23px)/1.06 var(--display);text-transform:uppercase;letter-spacing:.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-card .prev{margin:0;font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-card .body{gap:8px}
/* artists: booking buttons stay on one line */
.booking .btn-row{flex-wrap:nowrap}
.booking .btn{white-space:nowrap;padding-inline:14px}
@media (max-width:560px){.booking .btn-row{flex-wrap:wrap}}
/* contact hero framing */
.hero-contact .bg img{object-position:50% 56%}

.pick .btn{white-space:nowrap}

/* ---------- v12 ---------- */
.post-card.big .prev{-webkit-line-clamp:4;font-size:16px}
.post-card.big h3{display:block;overflow:visible}
/* Lunar upcoming dates */
.ev-list{display:grid;gap:12px}
.ev{display:flex;align-items:stretch;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-2)}
.ev .ph{flex:0 0 110px;background:var(--bg-3)}
.ev .ph img{width:100%;height:100%;object-fit:cover;display:block}
.ev .info{flex:1;display:flex;align-items:center;gap:18px;padding:16px 20px}
.ev .d{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;border-right:1px solid var(--line-2);padding-right:16px}
.ev .d b{font:400 30px/1 var(--display);color:var(--accent)}
.ev .d span{font:700 12px/1 var(--label);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.ev h3{font-size:clamp(22px,2vw,30px)}
.ev .info > div{flex:1}
.ev .info .btn{flex:none}
.ev .muted{margin:6px 0 0;font-size:14px}
@media (max-width:640px){.ev{flex-direction:column}.ev .ph{flex:none;aspect-ratio:16/9}.ev .info{flex-wrap:wrap;gap:12px}}
.poster-wall figcaption{position:absolute;left:0;right:0;bottom:0;padding:6px 8px;font:700 11px/1 var(--label);letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff}

/* ---------- v13 ---------- */
/* 1. Mobile menu panel: the header's backdrop-filter makes it the containing
   block for position:fixed children, which trapped the nav behind the page. */
body.menu-open .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--bg)}
.site-header{z-index:60}
.nav.open{z-index:60}

/* text that differs between desktop and phone */
.m-txt{display:none}
.m-br{display:none}
@media (max-width:700px){.m-txt{display:inline}.d-txt{display:none}.m-br{display:inline}}

/* 2. home pillars — three across, compact */
@media (max-width:640px){
  .pillars{grid-template-columns:repeat(3,1fr);margin-top:26px}
  .pillars div{padding:13px 10px}
  .pillars b{font:400 15px/1.02 var(--display);margin-bottom:6px}
  .pillars > div > span{font-size:11.5px;line-height:1.32}
}
@media (max-width:360px){.pillars b{font-size:14px}.pillars > div > span{font-size:11px}}

/* 5. home newsroom — one big card, two smaller ones beneath */
.home-news{grid-template-columns:repeat(2,1fr)}
.home-news .post-card.big{grid-column:1/-1}
@media (max-width:620px){.home-news{gap:12px}}

/* 12. news index — two per row on phones */
@media (max-width:620px){
  .news-grid,.more-news .grid-3{grid-template-columns:repeat(2,1fr);gap:12px}
  .news-grid .post-card.big{grid-column:1/-1}
  .news-grid .post-card:not(.big) h3,.home-news .post-card:not(.big) h3,.more-news .post-card h3{font-size:17px;line-height:1.04}
  .news-grid .post-card:not(.big) .body,.home-news .post-card:not(.big) .body,.more-news .post-card .body{padding:12px 12px 14px;gap:6px}
  .news-grid .post-card:not(.big) .prev,.home-news .post-card:not(.big) .prev,.more-news .post-card .prev{font-size:12.5px;line-height:1.35;-webkit-line-clamp:3}
  .news-grid .post-card:not(.big) .meta,.home-news .post-card:not(.big) .meta,.more-news .post-card .meta{font-size:11.5px}
  .news-grid .post-card:not(.big) .ptag,.home-news .post-card:not(.big) .ptag,.more-news .post-card .ptag{top:9px;left:9px;font-size:10px;letter-spacing:.1em;padding:5px 8px 5px 7px;gap:5px}
  .news-grid .post-card:not(.big) .ptag svg,.home-news .post-card:not(.big) .ptag svg,.more-news .post-card .ptag svg{width:11px;height:11px}
}

/* 6. auditions callout — both buttons on one line */
.callout .btn-row{flex-wrap:nowrap}
@media (max-width:560px){.callout .btn{white-space:nowrap;padding:14px 16px;font-size:13px;letter-spacing:.1em}.callout .btn svg{width:13px;height:13px}}
@media (max-width:360px){.callout .btn{padding-inline:12px;font-size:12px;gap:6px}}

/* 7+8+19. footer on phones */
@media (max-width:520px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:26px 20px}
  .foot-brand{grid-column:1/-1}
  .foot-grid > div:nth-child(4){grid-column:1/-1}
}
@media (max-width:560px){
  .socials{flex-wrap:nowrap;gap:6px;margin-top:18px}
  .socials a{flex:1 1 0;width:auto;min-width:0;max-width:44px;height:auto;aspect-ratio:1}
  .socials svg{width:16px;height:16px}
}
@media (max-width:700px){.foot-big{font-size:20.5vw;margin-top:34px}}

/* 9. page titles: one size on phones, always one line */
@media (max-width:700px){
  .page-hero h1{font-size:clamp(33px,11vw,48px);max-width:none}
  .page-hero{padding-top:clamp(56px,13vw,96px)}
}

/* 11. 38 GMI figures stay three across */
@media (max-width:700px){
  .facts-3{grid-template-columns:repeat(3,1fr)}
  .facts-3 div{border-right:1px solid var(--line);border-bottom:0;padding:16px 8px;text-align:center}
  .facts-3 div:last-child{border-right:0;border-bottom:0}
  .facts-3 small{font-size:10px;letter-spacing:.13em;margin-bottom:6px}
  .facts-3 b{font-size:30px}
}

/* 14. article share icons on one row */
.share-row{flex-wrap:nowrap}
@media (max-width:900px){.post-aside .aside-block:last-child{grid-column:1/-1}}
@media (max-width:380px){.share-row a,.share-row button{width:36px;height:36px}}

/* 16. Lunar poster wall — tighter collage on phones */
@media (max-width:480px){
  .poster-wall{grid-template-columns:repeat(3,1fr);gap:6px}
  .poster-wall .pw.feat{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
  .poster-wall .pw{border-radius:9px}
  .poster-wall figcaption{padding:4px 5px;font-size:9px;letter-spacing:.06em}
  .poster-wall .pw.cta{min-height:120px;padding:12px}
}

/* 17. artist booking buttons keep to one row */
@media (max-width:560px){.booking .btn-row{flex-wrap:nowrap}.booking .btn{flex:1 1 0;justify-content:center;padding-inline:10px}}

/* 18. featured videos — one large, then two per row */
@media (max-width:620px){
  .grid-2.videos{grid-template-columns:repeat(2,1fr);gap:10px}
  .grid-2.videos > .video:first-child{grid-column:1/-1}
  .videos .video:not(:first-child) .play .core{width:46px;height:46px}
  .videos .video:not(:first-child) .play .ring{width:46px;height:46px;margin-top:-23px}
  .videos .video:not(:first-child) .play .core svg{width:17px;height:17px;margin-left:3px}
}

/* pillar titles stay on one line on larger screens */
@media (min-width:641px){
  .pillars{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pillars div{padding:20px 14px}
  .pillars b{white-space:nowrap;font:400 clamp(15px,1.45vw,22px)/1 var(--display)}
  .pillars > div > span{font-size:14px}
}

/* ---------- v14 ---------- */
/* page sub-headline under the title (replaces the long hero paragraph) */
.page-hero .sub{font:500 clamp(17px,1.75vw,21px)/1.45 var(--body);color:#d9d4cc;margin:16px 0 0;max-width:860px;letter-spacing:.01em}

/* centred statement band */
.section.quote-band{padding-block:clamp(48px,6vw,86px);text-align:center}
.quote-band .wrap{display:flex;justify-content:center}
.pullquote{margin:0;max-width:min(100%,980px)}
.pullquote::before{content:"";display:block;width:58px;height:3px;background:var(--accent);margin:0 auto clamp(20px,2.6vw,32px)}
.pullquote p{margin:0;font:600 clamp(21px,2.9vw,38px)/1.22 var(--label);color:#f5f2ed;letter-spacing:.012em;text-wrap:pretty}
.q-short{display:none}
@media (max-width:700px){
  .q-full{display:none}
  .q-short{display:block}
  .pullquote p{font-size:clamp(19px,5.4vw,24px);line-height:1.26}
  .pullquote::before{width:46px;height:2px;margin-bottom:18px}
}
/* contact: band above the section on desktop, under the form on phones */
.quote-band.q-desk{display:block}
.quote-band.q-mob{display:none}
@media (max-width:860px){
  .quote-band.q-desk{display:none}
  .quote-band.q-mob{display:block;margin-inline:calc(-1 * var(--gut));padding:clamp(40px,9vw,64px) var(--gut);text-align:center}
  .quote-band.q-mob .pullquote{max-width:none}
}

/* ---------- v15 ---------- */
@media (max-width:520px){
  .foot-grid > div:nth-child(4){margin-top:16px}
}
@media (max-width:700px){
  .foot-big{margin:30px 0 0;font-size:20vw;line-height:.74}
  .foot-bottom{margin-top:0;padding-top:18px;justify-content:center;text-align:center;flex-direction:column;gap:6px}
  .foot-bottom .loc{display:none}
}

/* ---------- v16 ---------- */
/* home: "Music / Assets" breaks onto two lines on phones like the others */
.p-br{display:none}
@media (max-width:640px){.p-br{display:inline}}

/* home tiles: show more of the artist's face on phones */
@media (max-width:860px){.tile-artists img{object-position:50% 24%}}

/* artists: booking buttons match the other buttons on the page (phones) */
@media (max-width:560px){
  .booking .btn-row .btn:only-child{flex:0 0 calc(50% - 6px)}
}

/* lunar live: tour photo above the copy on phones */
@media (max-width:860px){.tour-split .media{order:-1;margin-bottom:6px}}

/* lunar live: tighter, more varied poster collage on phones */
@media (max-width:480px){
  .poster-wall{grid-template-columns:repeat(4,1fr);gap:5px}
  .poster-wall .pw{aspect-ratio:4/5;border-radius:7px}
  .poster-wall .pw.feat,.poster-wall .pw:nth-child(7n+4){grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
  .poster-wall .pw.cta{grid-column:1/-1;aspect-ratio:auto;min-height:0;padding:16px}
  .poster-wall figcaption{padding:3px 4px;font-size:8.5px;letter-spacing:.04em}
}

/* 38 GMI: the three figures sit under the partnership line on phones */
@media (max-width:860px){
  .gmi-intro{display:flex;flex-direction:column}
  .gmi-intro .facts{order:1;margin-top:20px}
  .gmi-intro .muted{order:2;margin-top:20px}
  .gmi-intro .btn-row{order:3}
}

/* post page: two related stories on phones */
@media (max-width:700px){.more-news .post-card:nth-child(3){display:none}}

/* news: load more */
.more-wrap{display:flex;justify-content:center;margin-top:clamp(26px,4vw,40px)}
.news-more[hidden]{display:none!important}
@media (max-width:620px){.news-more{width:100%;justify-content:center}}

/* ---------- v17 ---------- */
/* artists page (phones): both button rows share the same two-column rhythm,
   so Website sits above By phone and Events above By email at equal widths */
@media (max-width:700px){
  .artist .info .btn-row{flex-wrap:nowrap;gap:12px;width:100%}
  .artist .info .booking{gap:12px}
  .artist .info .btn-row .btn{flex:1 1 0;justify-content:center;padding-inline:10px;min-width:0}
  .artist .info .btn-row .btn:only-child{flex:0 0 calc(50% - 6px)}
}

/* ---------- v18 ---------- */
/* poster-wall booking box: no strapline, tighter, height matched to the row */
.poster-wall .pw.cta{gap:10px;padding:clamp(18px,2.4vw,30px);justify-content:center}
.poster-wall .pw.cta .btn{margin-top:2px}
@media (max-width:480px){.poster-wall .pw.cta{gap:9px;padding:14px}}

/* ---------- v19 · floating helper ---------- */
.helper{position:fixed;z-index:120;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));
  display:flex;flex-direction:column;align-items:flex-end;gap:12px;
  opacity:0;visibility:hidden;transform:translateY(16px) scale(.92);
  transition:opacity .32s ease,transform .32s cubic-bezier(.2,.8,.3,1),visibility .32s}
.helper.show{opacity:1;visibility:visible;transform:none}
body.menu-open .helper,body.lb-open .helper{opacity:0;visibility:hidden;pointer-events:none}

.helper-blob{position:relative;width:60px;height:60px;border:0;padding:0;cursor:pointer;color:#fff;
  background:radial-gradient(120% 120% at 30% 20%,#ff7a3d,var(--accent) 62%,#d63a12);
  box-shadow:0 14px 34px rgba(255,77,31,.34),0 4px 12px rgba(0,0,0,.5);
  border-radius:58% 42% 46% 54%/46% 52% 48% 54%;
  display:grid;place-items:center;
  animation:blobMorph 9s ease-in-out infinite,blobFloat 4.6s ease-in-out infinite;
  transition:transform .25s cubic-bezier(.2,.8,.3,1),box-shadow .25s}
.helper-blob::after{content:"";position:absolute;inset:-7px;border-radius:inherit;border:1.5px solid rgba(255,77,31,.5);opacity:0;animation:blobRing 3.4s ease-out infinite;pointer-events:none}
.helper-blob:hover,.helper-blob:focus-visible{animation-play-state:paused}
.helper-blob:hover{transform:scale(1.07)}
.helper-blob:active{transform:scale(.96)}
.helper-blob svg{width:26px;height:26px;display:block}
.hb-i{grid-area:1/1;display:grid;place-items:center;transition:opacity .2s,transform .25s}
.hb-close{opacity:0;transform:rotate(-45deg) scale(.7)}
.helper.open .helper-blob{animation:none;border-radius:50%}
.helper.open .hb-open{opacity:0;transform:rotate(45deg) scale(.7)}
.helper.open .hb-close{opacity:1;transform:none}
.helper.open .helper-blob::after{display:none}
@keyframes blobMorph{
  0%,100%{border-radius:58% 42% 46% 54%/46% 52% 48% 54%}
  25%{border-radius:44% 56% 62% 38%/56% 44% 56% 44%}
  50%{border-radius:52% 48% 38% 62%/40% 60% 40% 60%}
  75%{border-radius:62% 38% 54% 46%/58% 42% 58% 42%}}
@keyframes blobFloat{0%,100%{translate:0 0}50%{translate:0 -6px}}
@keyframes blobRing{0%{opacity:.75;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.35)}}

.helper-card{width:min(322px,calc(100vw - 32px));background:var(--bg-2);border:1px solid var(--line-2);border-radius:20px;
  padding:16px 16px 14px;box-shadow:0 28px 70px rgba(0,0,0,.6);transform-origin:bottom right;
  opacity:0;transform:translateY(10px) scale(.96);transition:opacity .22s ease,transform .26s cubic-bezier(.2,.8,.3,1)}
.helper-card[hidden]{display:none}
.helper.open .helper-card{opacity:1;transform:none}
.helper-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.helper-top .eyebrow{margin:0 0 2px;font-size:12px;letter-spacing:.18em;line-height:1.35}
.helper-x{flex:none;width:30px;height:30px;margin:-4px -4px 0 0;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:50%;display:grid;place-items:center;transition:color .2s,background .2s}
.helper-x:hover{color:#fff;background:rgba(255,255,255,.08)}
.helper-x svg{width:16px;height:16px}
.hq{margin:8px 0 12px;font:400 20px/1.15 var(--display);text-transform:uppercase;letter-spacing:.01em}
.hlist{display:grid;gap:6px}
.hopt{display:flex;align-items:center;gap:11px;width:100%;text-align:left;text-decoration:none;color:var(--text);
  background:var(--bg-3);border:1px solid transparent;border-radius:12px;padding:11px 12px;cursor:pointer;font:inherit;
  transition:background .18s,border-color .18s,transform .18s}
.hopt:hover{background:#26262a;border-color:var(--line-2);transform:translateX(2px)}
.hopt .hic{flex:none;width:28px;height:28px;border-radius:50%;background:rgba(255,77,31,.16);color:var(--accent);display:grid;place-items:center}
.hopt .hic svg{width:14px;height:14px;fill:currentColor}
.hopt .htx{flex:1;min-width:0}
.hopt b{display:block;font:600 15px/1.25 var(--body);letter-spacing:.005em}
.hopt small{display:block;margin-top:1px;font-size:12px;line-height:1.3;color:var(--muted)}
.hopt .hch{flex:none;width:16px;height:16px;color:var(--muted);transition:transform .18s,color .18s}
.hopt:hover .hch{color:var(--accent);transform:translateX(2px)}
.hback{margin-top:10px;display:inline-flex;align-items:center;gap:5px;background:none;border:0;padding:4px 0;cursor:pointer;
  color:var(--muted);font:700 12px/1 var(--label);letter-spacing:.16em;text-transform:uppercase;transition:color .2s}
.hback:hover{color:#fff}
.hback svg{width:14px;height:14px}
.hstep[hidden]{display:none}

@media (max-width:560px){
  .helper{gap:10px;right:max(14px,env(safe-area-inset-right,0px));bottom:max(14px,env(safe-area-inset-bottom,0px))}
  .helper-blob{width:54px;height:54px}
  .helper-blob svg{width:23px;height:23px}
  .helper-card{padding:14px 14px 12px}
  .hq{font-size:19px}
  .hopt{padding:10px 11px}
  .hopt b{font-size:14.5px}
}
@media (prefers-reduced-motion:reduce){
  .helper-blob{animation:none}
  .helper-blob::after{animation:none;opacity:0}
  .helper,.helper-card,.hopt{transition:opacity .01s}
}

/* ---------- v20 ---------- */

/* D1. home hero — a lighter scrim on the right so the collage reads brighter.
   Phones keep their own single top-to-bottom gradient (v3). */
@media (min-width:621px){
  .hero-collage{opacity:1}
  .hero:has(.hero-collage)::after{
    background:linear-gradient(180deg,rgba(10,10,11,.3) 0%,rgba(10,10,11,.1) 40%,rgba(10,10,11,.72) 82%,var(--bg) 100%),
               linear-gradient(90deg,var(--bg) 0%,rgba(10,10,11,.9) 20%,rgba(10,10,11,.4) 46%,rgba(10,10,11,.06) 72%,rgba(10,10,11,0) 100%);
  }
}

/* D2. the latest-news card sits on the bottom edge of the hero */
@media (min-width:861px){
  .hero{align-items:stretch}
  /* align-items must not stretch: .eyebrow is inline-flex and the script that
     sizes it measures its scrollWidth, which a stretched box would inflate */
  .hero .wrap{position:relative;display:flex;flex-direction:column;justify-content:center;
              align-items:flex-start;padding-bottom:clamp(130px,17vh,190px)}
  .hero .wrap > *{max-width:100%}
  .hero h1,.hero .lede{width:100%}
  .hero-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px 24px;width:100%}
  .hero-actions .btn-row{width:auto}
  .hero-actions .news-ticker{position:absolute;left:var(--gut);bottom:clamp(22px,4vh,46px);
                             width:min(460px,42vw);margin:0;z-index:2}
}

/* D4. home newsroom — three equal cards on one row */
@media (min-width:861px){
  .home-news{grid-template-columns:repeat(3,1fr)}
  .home-news .post-card.big{grid-column:auto;flex-direction:column}
  .home-news .post-card.big .img{flex:none;aspect-ratio:16/10;min-height:0}
  .home-news .post-card.big .body{flex:1;padding:20px 22px 24px;justify-content:flex-start}
  /* same title treatment as the two cards beside it */
  .home-news .post-card.big h3{font:400 clamp(19px,1.5vw,23px)/1.06 var(--display);text-transform:uppercase;
    letter-spacing:.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .home-news .post-card.big .meta{margin-top:0}
}

/* D5. footer wordmark drops onto the rule above the copyright line */
.foot-big{margin-top:clamp(28px,4vw,44px)}
.foot-bottom{margin-top:0}

/* D6. statement bands — smaller, more open */
.pullquote{max-width:min(100%,1120px)}
.pullquote p{font:600 clamp(19px,2.25vw,29px)/1.42 var(--label);letter-spacing:.022em}

/* D7. artist names stay on one line */
@media (min-width:801px){
  .artist h2{white-space:nowrap;font-size:clamp(40px,4.4vw,72px)}
}

/* D8. 38 GMI — with the figures gone, the image stretches so its bottom edge
   lines up with the bottom of the Enquire button */
@media (min-width:861px){
  .split:has(.gmi-intro){align-items:stretch}
  .split:has(.gmi-intro) > .media{display:flex}
  .split:has(.gmi-intro) > .media.wide img{aspect-ratio:auto;width:100%;height:100%;object-fit:cover}
}

/* D9. news index — the featured story is no taller than a normal card.
   Its height used to follow the cover photo's own aspect ratio, so a portrait
   cover made a tall card and dragged the whole first row down with it. Taking
   the image out of the flow means the card is sized by its text, and the grid
   row then matches every other row on the page. */
@media (min-width:1001px){
  .news-grid .post-card.big .img{min-height:0;aspect-ratio:auto;position:relative;flex:1.1}
  .news-grid .post-card.big .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .news-grid .post-card.big .body{padding:26px 28px;justify-content:center}
  .news-grid .post-card.big h3{font-size:clamp(23px,1.9vw,29px);line-height:1.04}
  .news-grid .post-card.big .prev{-webkit-line-clamp:3;font-size:15px}
}

/* D11. contact — the form and the direct-contact column share top and bottom */
.contact-split{align-items:stretch}
@media (min-width:861px){
  .contact-split > aside{display:flex;flex-direction:column}
  .contact-split > aside > .eyebrow{margin-top:0}
  .contact-split .contact-cards{flex:1;grid-template-rows:repeat(4,1fr);align-content:stretch}
  .contact-split .contact-card{align-items:center}
}
@media (max-width:860px){.contact-split{align-items:start}}

/* Hero news ticker — three newest stories, cross-faded */
.news-ticker{position:relative;display:block;height:68px;width:min(460px,42vw);margin:0;
  background:rgba(19,19,21,.74);border:1px solid var(--line-2);border-radius:14px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden}
.nt-item{position:absolute;inset:0;display:grid;grid-template-columns:72px 1fr;gap:12px;
  align-items:center;padding:8px;text-decoration:none;
  opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s}
.nt-item.on{opacity:1;visibility:visible}
.nt-item img{width:72px;height:52px;object-fit:cover;border-radius:9px}
.nt-item small{display:block;font:700 10px/1 var(--label);letter-spacing:.2em;
  text-transform:uppercase;color:var(--accent)}
.nt-item strong{font-weight:600;font-size:13.5px;line-height:1.26;margin-top:5px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  padding-right:34px}
.news-ticker:hover{border-color:var(--accent)}
.nt-dots{position:absolute;right:10px;bottom:9px;display:flex;gap:5px;z-index:2}
.nt-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.3);
  cursor:pointer;transition:background .25s}
.nt-dots i.on{background:var(--accent)}
@media (prefers-reduced-motion:reduce){.nt-item{transition:none}}

/* M3. the ticker is a slim bar at the top of the hero collage on phones */
@media (max-width:860px){
  .hero-actions .news-ticker{
    position:absolute;top:0;left:0;right:0;width:auto;height:40px;margin:0;z-index:3;
    border-radius:0;border-width:0 0 1px;background:rgba(12,12,14,.88)}
  .nt-item{grid-template-columns:1fr;gap:0;padding:0 var(--gut);align-content:center}
  .nt-item img{display:none}
  .nt-item > span{display:flex;align-items:center;gap:9px;min-width:0}
  .nt-item small{flex:none}
  .nt-item strong{margin-top:0;font-size:12.5px;line-height:1.25;padding-right:44px;
    display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* dots end on the page gutter, like everything else on the page */
  .nt-dots{right:var(--gut);bottom:auto;top:50%;transform:translateY(-50%)}
}

/* M4. the page behind the open menu is pinned, so the header cannot scroll off */
@media (max-width:1100px){
  body.menu-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}
  body.menu-open .site-header{position:fixed;top:0;left:0;right:0}
}

/* M6. "new signing soon" box — text clear of the edges */
@media (max-width:700px){
  .soon{padding:24px 18px}
  .soon h3{font-size:clamp(30px,8.5vw,46px)}
}

/* M7. poster wall — the last poster keeps its shape beside the booking box */
@media (max-width:480px){
  .poster-wall .pw img{object-position:50% 50%}
  /* The 2x2 tiles were left at aspect-ratio:auto, and their images are
     absolutely positioned, so they contribute no height and the two rows they
     span collapse — which squashed the big posters into a landscape box.
     4/5 over a 2x2 span matches two 4/5 rows plus the gap, so the grid stays
     even and a portrait poster is barely cropped. */
  .poster-wall .pw.feat,.poster-wall .pw:nth-child(7n+4){aspect-ratio:4/5}
  /* The booking box is a .pw too, so it can land on 7n+4 and pick up the 2x2
     span — it must always be a plain single cell beside the last poster. */
  .poster-wall .pw.cta{grid-row:auto;min-height:0;aspect-ratio:auto;padding:12px;gap:7px}
  .poster-wall .pw.cta strong{font-size:19px;line-height:.98}
  .poster-wall .pw.cta .btn{padding:9px 11px;font-size:11px}
}

/* M9. footer strapline runs the full width on phones */
@media (max-width:700px){
  .foot-brand p{max-width:none}
}

/* ---------- v21 ---------- */

/* Contact hero: the photo is cropped top and bottom because the band is much
   wider than the 3:2 source. A taller band shows more of the crowd and the
   dancers; the crop is centred rather than pushed down the frame. */
.hero-contact .bg img{object-position:50% 50%;opacity:.5}
@media (min-width:861px){
  .hero-contact{padding-top:clamp(96px,12.5vw,196px);padding-bottom:clamp(72px,9vw,132px)}
}
@media (max-width:860px){
  .hero-contact{padding-top:clamp(84px,17vw,128px);padding-bottom:clamp(56px,10vw,84px)}
}

/* ---------- v22 ---------- */
/* One image size across every photo reel, sized so that a five-row gallery
   fills the screen once its heading has scrolled past. The other galleries
   (one to four rows) reuse the same height, so a photo is the same size
   everywhere. The home-page collage is a separate mechanism and untouched. */
.reel{--reel-h:clamp(110px,calc((100vh - 56px) / 5),220px);gap:8px}
@supports (height:100svh){
  .reel{--reel-h:clamp(110px,calc((100svh - 56px) / 5),220px)}
}
.reel .reel-track{gap:8px}
.reel .ri img,
.reel.rows-1 .ri img,.reel.rows-2 .ri img,.reel.rows-3 .ri img,
.reel.rows-4 .ri img,.reel.rows-5 .ri img{height:var(--reel-h)}
@media (max-width:640px){
  .reel .ri img,
  .reel.rows-1 .ri img,.reel.rows-2 .ri img,.reel.rows-3 .ri img,
  .reel.rows-4 .ri img,.reel.rows-5 .ri img{height:var(--reel-h)}
}

/* ---------- v23 ---------- */

/* No accent rule above the centred statement bands */
.pullquote::before{display:none}

/* Photo reels on phones run on their own — a swipe scrolls the page, it can
   neither drag the row nor stop it. touch-action keeps the vertical gesture
   working while refusing the horizontal one; overflow-x:hidden stops momentum
   scrolling from fighting the animation, which still drives scrollLeft. */
@media (max-width:640px){
  .reel-row{overflow-x:hidden;touch-action:pan-y}
}

/* The mobile ticker carries a thumbnail like the desktop one */
@media (max-width:860px){
  .hero-actions .news-ticker{height:48px}
  .nt-item{grid-template-columns:38px 1fr;gap:10px;padding:0 var(--gut);align-items:center}
  .nt-item img{display:block;width:38px;height:30px;border-radius:6px}
  .nt-item strong{padding-right:40px}
}

/* ---------- v24 ---------- */

/* Playlist is a desktop-nav item only; it stays in the footer on every size */
@media (max-width:1100px){
  .nav a.d-only{display:none}
}

/* Footer on phones: give the "More" column the room it needs so
   "38 Global Music Index" stays on one line on narrow screens */
@media (max-width:520px){
  .foot-grid{grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr);gap:26px 12px}
}

/* "In the media" ticker.
   1. The logos are decoration, not controls. Tapping or long-pressing one on
      Android could start an image drag and leave the row looking empty, so the
      whole track is inert: no pointer events, no drag, no selection.
   2. A negative delay means the row is already mid-flow at first paint, so
      nobody arrives at a leading edge with space in front of the first logo. */
.media-band .marquee{touch-action:pan-y}
.media-band .marquee-track{animation-delay:-8s;will-change:transform}
.media-band .marquee-track,
.media-band .logo-chip,
.media-band .logo-chip img{
  pointer-events:none;user-select:none;-webkit-user-select:none;
  -webkit-user-drag:none;-webkit-touch-callout:none}
@media (prefers-reduced-motion:reduce){
  .media-band .marquee-track{animation-delay:0s}
}

/* ---------- v25 ---------- */
/* Home intro. DOM order is headline -> film -> copy -> photo, which is the
   reading order on a phone. Row gap is zeroed and every gap set with a margin
   instead, because the .split gap (up to 90px) is a column gap here and would
   otherwise push the three stacked items far apart.
   On desktop the grid puts the headline and copy back in column one and the
   photo back in column two -- the layout as it was before the film existed --
   and drops the film into a third row that spans both columns, so it runs the
   full width of the page's content -- the same edges as the artists page's
   lead video -- directly under that section and above the three tiles. */
.intro-split{row-gap:0}
.intro-body .lede{margin-top:24px}

@media (min-width:861px){
  .intro-split{align-items:start}
  .intro-head{grid-column:1;grid-row:1}
  .intro-body{grid-column:1;grid-row:2;margin-top:clamp(20px,2.4vw,30px)}
  .intro-photo{grid-column:2;grid-row:1 / span 2;align-self:center}
  .intro-media{grid-column:1 / -1;grid-row:3;margin-top:clamp(44px,5.4vw,80px)}
}

@media (max-width:860px){
  .intro-media{margin-top:clamp(13px,3.4vw,18px)}
  .intro-body{margin-top:clamp(13px,3.4vw,18px)}
  .intro-body .lede{margin-top:0}
  .intro-photo{margin-top:clamp(26px,6vw,38px)}
}

/* Team hero on phones. The plate is wider than the band, so all of the
   overflow is horizontal and object-position's Y has nothing to travel
   through -- the only way to lift the picture is to enlarge it first and
   then slide it up, the same trick the events hero uses. */
@media (max-width:860px){
  .hero-team .bg{overflow:hidden}
  .hero-team .bg img{transform:scale(1.16) translateY(-5.5%)}
}

/* ---------- v26 ---------- */
/* Pictures inside a news story line up with the column of text. figure.wide
   used to bleed 90px past the column on each side once the window was wide
   enough, which read as the images overflowing the article. */
@media (min-width:1200px){
  .prose figure.wide{margin-inline:0}
}
