/*
 * BEZ Signal V2 design system.
 * Ported from the approved Signal V2 Revision 3 preview (10 Nov 2026). Keep this file in step with
 * the preview: layout, type, spacing and breakpoints are approved and locked.
 */
:root{
  --bg:#0b0b0c; --surface:#141416; --surface-2:#1b1b1e; --line:#27272b;
  --text:#f3f1ee; --dim:#a4a19c; --red:#e21b4d; --red-text:#ff3d6e;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --pad:clamp(16px,3.2vw,56px); --gap:clamp(16px,1.6vw,28px); --section:clamp(52px,5vw,96px);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.wrap{max-width:1760px;margin:0 auto;padding-inline:var(--pad)}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.cat{color:var(--red-text)} .dim{color:var(--dim)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* media: fixed ratio box, image never stretched */
.media{display:block;position:relative;overflow:hidden;overflow:clip;background:var(--surface-2)}
.media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.r169{aspect-ratio:16/9}
a:hover .media>img{transform:scale(1.035)}
/* artwork mode: whole flyer over a blurred, darkened fill of itself */
.media.art>img.fill{filter:blur(22px) brightness(.45) saturate(1.2);transform:scale(1.25)}
.media.art>img.whole{object-fit:contain}
a:hover .media.art>img.fill{transform:scale(1.25)}
a:hover .media.art>img.whole{transform:scale(1.02)}

/* header */
.top{border-bottom:1px solid var(--line)}
.top>.wrap{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;min-height:72px}
.logo img{height:34px;width:auto}
.nav{display:flex;gap:clamp(16px,2vw,32px);justify-content:center}
.nav a{font-size:14px;font-weight:600;font-variation-settings:"wdth" 90;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.nav a:hover,.nav a[aria-current]{color:var(--text)}
.top-right{display:flex;align-items:center;gap:18px;grid-column:3;justify-self:end}
.social{display:flex;gap:12px}
.social{gap:6px}
.social a{display:grid;place-items:center;width:30px;height:30px;color:var(--dim)}
.social svg{width:16px;height:16px}
.social a:hover{color:var(--text)}
.menu{display:none;background:none;border:1px solid var(--line);color:var(--text);font:600 12px var(--mono);letter-spacing:.1em;padding:8px 12px}

/* header search + mobile menu */
[hidden]{display:none!important}
.icon-btn{width:40px;height:40px;display:grid;place-items:center;background:none;border:1px solid var(--line);color:var(--text);cursor:pointer;padding:0}
.icon-btn:hover,.icon-btn[aria-expanded="true"]{border-color:var(--red)}
.search-panel{border-top:1px solid var(--line);background:var(--surface);padding-block:18px 22px}
.search-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}
.search-form input{width:100%;min-width:0;height:52px;background:var(--bg);color:var(--text);border:1px solid #3a3a3f;border-radius:0;padding:0 16px;font:600 clamp(17px,1.4vw,22px) var(--sans);font-variation-settings:"wdth" 90;-webkit-appearance:none;appearance:none}
.search-form input:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--red)}
.close-btn{height:52px;background:none;border:1px solid var(--line);color:var(--dim);font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:0 16px;cursor:pointer}
.close-btn:hover{color:var(--text)}
.search-results{margin-top:14px}
.search-results .sr-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin-bottom:6px}
.search-results .sr-head a{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}
.search-results ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.search-results li a{display:grid;grid-template-columns:64px 80px minmax(0,1fr);gap:14px;align-items:baseline;padding-block:10px;border-bottom:1px solid var(--line)}
.search-results li b{font-weight:600;font-variation-settings:"wdth" 85;font-size:16px;line-height:1.3}
.search-results li a:hover b{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}
html.lock,html.lock body{overflow:hidden}
.mmenu{position:fixed;inset:0;z-index:50;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;padding-top:env(safe-area-inset-top,0px);padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}
.mm-head{display:flex;align-items:center;justify-content:space-between;min-height:60px;border-bottom:1px solid var(--line)}
.mm-head .logo img{height:28px}
.mm-close{display:inline-block}
.mm-body{display:grid;gap:22px;padding-top:20px}
.mm-search{grid-template-columns:minmax(0,1fr) auto}
.mm-main{display:grid;border-top:1px solid var(--line)}
.mm-main a{display:flex;justify-content:space-between;align-items:center;padding-block:14px;border-bottom:1px solid var(--line);font-weight:800;font-variation-settings:"wdth" 115;font-size:clamp(24px,7vw,34px);line-height:1;text-transform:uppercase}
.mm-main a span:last-child{font-size:20px;color:var(--dim)}
.mm-main a:hover,.mm-main a:focus-visible{color:var(--red-text)}
.mm-soc{display:flex;gap:10px;padding-top:4px}
.mm-soc svg{width:20px;height:20px}
.mm-soc a,.mm-soc span{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);color:var(--text)}
.mm-soc a:hover,.mm-soc a:focus-visible{border-color:var(--red)}
/* inner pages (Contact, About) */
.page:focus{outline:none}
.page-wrap{padding-top:clamp(28px,4vw,64px);padding-bottom:clamp(8px,2vw,24px)}
.page .sh h1{margin:0;font-weight:800;font-variation-settings:"wdth" 120;font-size:clamp(28px,3vw,52px);letter-spacing:.01em;text-transform:uppercase;line-height:1}
.lead{margin:0 0 20px;font-weight:600;font-variation-settings:"wdth" 90;font-size:clamp(19px,1.6vw,26px);line-height:1.3;max-width:30ch}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:clamp(28px,5vw,96px);align-items:start}
.topics{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.topics li{padding-block:12px;border-bottom:1px solid var(--line)}
.topics a{display:flex;justify-content:space-between}
.topics a:hover{color:var(--red-text)}
.cf{display:grid;gap:20px;position:relative}
.cf .two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cf label.f{display:grid;gap:8px;min-width:0;align-content:start}
.cf input,.cf textarea{width:100%;min-width:0;background:var(--bg);color:var(--text);border:1px solid #3a3a3f;border-radius:0;padding:0 14px;height:50px;font:500 16px var(--sans);-webkit-appearance:none;appearance:none}
.cf textarea{height:auto;min-height:190px;padding:14px;line-height:1.5;resize:vertical}
.cf input:focus,.cf textarea:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--red)}
.cf [aria-invalid="true"]{border-color:#ff5a5f}
.cf .err{color:#ff8a8f;font-size:14px;line-height:1.35}
.cf .note{margin:0;color:var(--dim);font-size:14px}
.cf .actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.err-summary{border:1px solid #ff5a5f;background:#ff5a5f14;padding:14px 16px;display:grid;gap:6px}
.err-summary:focus{outline:2px solid #ff5a5f;outline-offset:2px}
.err-summary b{font-weight:650}
.err-summary ul{margin:0;padding-left:18px;display:grid;gap:4px}
.err-summary a{text-decoration:underline;text-underline-offset:3px}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.done{border:1px solid var(--line);background:var(--surface);padding:clamp(22px,3vw,40px);display:grid;gap:12px;justify-items:start}
.done:focus{outline:2px solid var(--red);outline-offset:2px}
.done b{font-weight:700;font-variation-settings:"wdth" 85;font-size:clamp(24px,2.4vw,36px);line-height:1.1}
.done p{margin:0;color:var(--dim);max-width:52ch}
.about-links{display:grid;border-top:1px solid var(--line)}
.about-links a{display:flex;justify-content:space-between;align-items:center;padding-block:16px;border-bottom:1px solid var(--line);font-weight:800;font-variation-settings:"wdth" 115;font-size:clamp(22px,2.4vw,36px);text-transform:uppercase;line-height:1}
.about-links a:hover{color:var(--red-text)}
@media (max-width:860px){ .contact-grid{grid-template-columns:1fr} }
@media (max-width:600px){ .cf .two{grid-template-columns:1fr} .cf .actions .find{width:100%} }
/* hero */
.hero{padding-block:clamp(16px,2vw,32px) 0}
.slides{display:grid}
.slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility 0s .6s}
.slide.on{opacity:1;visibility:visible;transition:opacity .6s ease}
.slide .media{aspect-ratio:21/9;max-height:min(62vh,640px);width:100%}
.hero-band{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:var(--gap);padding-top:clamp(16px,1.8vw,28px);align-items:start}
.hero-copy{display:grid;gap:12px;align-content:start}
.hero-copy h2{margin:0;font-weight:700;font-variation-settings:"wdth" 78;font-size:clamp(30px,3.2vw,60px);line-height:1.04;letter-spacing:-.01em;text-wrap:balance}
.hero-copy p{margin:0;color:var(--dim);font-size:clamp(15px,1.05vw,18px);max-width:60ch}
.index{display:grid;grid-template-rows:repeat(4,auto);border-top:1px solid var(--line)}
.index button{all:unset;cursor:pointer;display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);position:relative}
.index button .n{font-family:var(--mono);font-size:12px;color:var(--dim)}
.index button .t{font-weight:600;font-variation-settings:"wdth" 85;font-size:clamp(15px,1vw,18px);line-height:1.2;color:var(--dim)}
.index button[aria-selected="true"] .t,.index button:hover .t{color:var(--text)}
.index button[aria-selected="true"] .n{color:var(--red-text)}
.index .bar{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--red)}
.index button[aria-selected="true"] .bar{width:100%;transition:width var(--dur,8s) linear}
.index.paused button[aria-selected="true"] .bar{transition:none;width:100%}
.hero-ctrl{display:flex;justify-content:space-between;align-items:center;padding-top:10px}
.hero-ctrl button{background:none;border:1px solid var(--line);color:var(--dim);font:500 12px var(--mono);letter-spacing:.1em;padding:6px 10px;cursor:pointer}

/* section header */
section.block{padding-top:var(--section)}
.sh{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-top:1px solid var(--text);padding-top:14px;margin-bottom:clamp(20px,2vw,32px)}
.sh h2{margin:0;font-weight:800;font-variation-settings:"wdth" 120;font-size:clamp(22px,2.2vw,40px);letter-spacing:.01em;text-transform:uppercase;line-height:1}
.sh a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.sh a:hover{color:var(--text)}

/* standard news card: image, date line, headline (max two lines) */
.news{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(36px,3vw,52px) var(--gap)}
.card{display:flex;flex-direction:column;container-type:inline-size;min-width:0;padding-bottom:20px;border-bottom:1px solid var(--line)}
.card .media,.fcard .media{align-self:start;width:100%}
.card .media{margin-bottom:16px}
.card .meta{display:flex;gap:10px;margin-bottom:10px;align-self:start}
.card h3{align-self:start}
.card h3{margin:0;font-weight:650;font-variation-settings:"wdth" 82;font-size:clamp(17px,5.6cqi,27px);line-height:1.14;letter-spacing:-.005em;text-wrap:balance}
.card:hover h3{color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:4px}

/* latest + music */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap) clamp(32px,4vw,80px)}
.rows{display:grid;grid-auto-rows:minmax(82px,auto);border-top:1px solid var(--line)}
.row{display:grid;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-block:12px;min-width:0}
.latest .row{grid-template-columns:64px 80px minmax(0,1fr)}
.music .row{grid-template-columns:28px 56px minmax(0,1fr)}
.row h3{margin:0;font-weight:600;font-variation-settings:"wdth" 85;font-size:clamp(16px,1.2vw,20px);line-height:1.2;text-wrap:balance}
.row .art{width:56px;aspect-ratio:1;overflow:hidden}
.row .art img{width:100%;height:100%;object-fit:cover}
.row .sub{display:block;margin-top:4px}
.row:hover h3{color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}

/* latest: compact dated list (8 stories in the height of the 4 New Music rows) */
.latest .rows{grid-auto-rows:auto}
.latest .row{grid-template-columns:56px 64px minmax(0,1fr);gap:14px;padding-block:9px}
.latest .row h3{font-size:clamp(16px,1.15vw,18px);line-height:1.25}
.latest .row .d{color:var(--dim)}
/* side by side: LATEST spreads its 8 rows evenly so both lists end on the same line */
@media (min-width:1024px){
  .latest,.music{display:flex;flex-direction:column}
  .latest .rows,.music .rows{flex:1 1 auto}
  .latest .rows{grid-auto-rows:1fr}
}
/* find events: same controls and query as the live site (city, exact date, upcoming only) */
.finder{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr) auto;gap:14px var(--gap);align-items:end;background:var(--surface);border:1px solid var(--line);padding:18px 20px;margin-bottom:16px}
.finder .lede{display:grid;gap:4px;align-self:center}
.finder .lede b{font-weight:700;font-variation-settings:"wdth" 90;font-size:clamp(18px,1.4vw,22px);line-height:1.15;text-transform:uppercase;letter-spacing:.01em}
.fld{display:grid;gap:6px;min-width:0}
.fld select,.fld input{width:100%;min-width:0;height:48px;background:var(--bg);color:var(--text);border:1px solid #3a3a3f;border-radius:0;font:500 15px var(--sans);padding:0 14px;color-scheme:dark;-webkit-appearance:none;appearance:none}
.fld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23a4a19c' stroke-width='1.6'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.fld input::-webkit-date-and-time-value{text-align:left}
.fld select:focus,.fld input:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--red)}
.find{height:48px;border:0;background:var(--red);color:#fff;font:700 14px var(--sans);font-variation-settings:"wdth" 95;letter-spacing:.08em;text-transform:uppercase;padding:0 24px;cursor:pointer;white-space:nowrap}
.find:hover{background:#c8143f}
.finder-status{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;justify-content:space-between;margin-bottom:16px;min-height:18px}
.finder-status .url{font-family:var(--mono);font-size:12px;color:var(--dim);overflow-wrap:anywhere}
.finder-status button{background:none;border:0;color:var(--text);font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px;cursor:pointer;padding:0}
.ev-empty{grid-column:1/-1;border:1px dashed #3a3a3f;padding:22px;display:grid;gap:6px}
.ev-empty b{font-weight:650;font-size:18px}
/* events */
.events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.ticket{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;background:var(--surface);border:1px solid var(--line);container-type:inline-size;min-width:0}
.ticket .date{display:grid;align-content:center;justify-items:center;padding:16px 18px;border-right:1px dashed #3a3a3f;min-width:84px}
.ticket .date b{font-weight:800;font-variation-settings:"wdth" 110;font-size:44px;line-height:1}
.ticket .info{display:grid;align-content:center;gap:6px;padding:16px 18px;min-width:0}
.ticket h3{margin:0;font-weight:650;font-variation-settings:"wdth" 82;font-size:clamp(17px,1.3vw,21px);line-height:1.15;text-wrap:balance}
.ticket .media{width:128px;height:100%}
@container (max-width:540px){ .ticket .media{display:none} }
.ticket:hover{border-color:var(--red)}

/* features (specialised long-read component keeps its one-line summary) */
.feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(36px,3vw,52px) var(--gap)}
.fcard{display:flex;flex-direction:column;container-type:inline-size;min-width:0}
.fcard .media{margin-bottom:16px}
.fcard .meta{margin-bottom:10px}
.fcard h3{margin:0 0 8px;font-weight:650;font-variation-settings:"wdth" 78;font-size:clamp(19px,6.4cqi,32px);line-height:1.1;text-wrap:balance}
.fcard p{margin:0;color:var(--dim);font-size:15px;line-height:1.45}

/* categories */
.cats{border-top:1px solid var(--line)}
.cat-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 200px 48px;align-items:center;gap:var(--gap);padding-block:18px;border-bottom:1px solid var(--line)}
.cat-row .name{font-weight:800;font-variation-settings:"wdth" 125;font-size:clamp(34px,4.6vw,88px);line-height:.95;text-transform:uppercase;letter-spacing:-.01em}
.cat-row .media{opacity:.55;filter:grayscale(1);transition:opacity .3s,filter .3s}
.cat-row .arrow{font-size:28px;justify-self:end;color:var(--dim)}
.cat-row:hover .media{opacity:1;filter:none}
.cat-row:hover .name{color:var(--red)}
.cat-row:hover .arrow{color:var(--text)}

/* footer */
footer{margin-top:var(--section);border-top:1px solid var(--line);padding-block:clamp(32px,3vw,56px) 24px}
.f-recent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,80px);border-bottom:1px solid var(--line)}
.f-item{display:grid;grid-template-columns:128px minmax(0,1fr);gap:18px;align-items:center;padding-block:14px;border-top:1px solid var(--line)}
.f-item h3,.f-item h4{margin:4px 0 0;font-weight:600;font-variation-settings:"wdth" 85;font-size:17px;line-height:1.22;text-wrap:balance}
.f-item:hover h3,.f-item:hover h4{color:var(--red)}
.f-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--gap);padding-block:clamp(28px,3vw,48px)}
.f-cols h5{margin:0 0 12px;font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.f-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.f-cols a:hover{color:var(--red)}
.f-about img{height:40px;width:auto;margin-bottom:14px}
.f-about p{margin:0;color:var(--dim);max-width:42ch;font-size:15px}
.f-soc{display:flex;flex-wrap:wrap;gap:8px}
.f-soc a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);color:var(--text)}
.f-soc svg{width:18px;height:18px}
.f-soc a:hover,.f-soc a:focus-visible{border-color:var(--red);color:var(--red-text)}
.f-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:18px}
.f-legal nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.latest-news .sh{margin-bottom:16px}

/* ---------- responsive structure ---------- */
/* ---------- inner pages (reuse Signal tokens and components) ---------- */
.crumbs{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin-bottom:18px}
.crumbs a:hover{color:var(--text)}
.crumbs .sep{color:#55555b}
.crumbs [aria-current]{color:var(--text)}
.page-top{padding-top:clamp(24px,3vw,48px)}
.arch-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px 24px;border-top:1px solid var(--text);padding-top:14px;margin-bottom:clamp(22px,2.4vw,36px)}
.arch-head h1{margin:6px 0 0;font-weight:800;font-variation-settings:"wdth" 120;font-size:clamp(30px,3.6vw,64px);line-height:1;text-transform:uppercase;letter-spacing:.005em}
.arch-head .count{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);white-space:nowrap}
.arch-head p{grid-column:1/-1;margin:0;color:var(--dim);max-width:62ch}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:-14px 0 26px}
.tabs a{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border:1px solid var(--line);color:var(--dim)}
.tabs a[aria-current]{color:var(--text);border-color:var(--red)}
.pager{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:clamp(32px,3vw,48px);padding-top:16px;border-top:1px solid var(--line)}
.pager .nums{display:flex;gap:6px;flex-wrap:wrap}
.pager a,.pager span.n{display:grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border:1px solid var(--line);font:500 13px var(--mono);color:var(--dim)}
.pager a:hover{color:var(--text);border-color:var(--text)}
.pager [aria-current]{color:var(--text);border-color:var(--red)}
.pager .gap{border:0;min-width:20px}
.pager .step{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.pager .step.off{opacity:.35;pointer-events:none}
.pager .of{display:none;font:500 12px var(--mono);color:var(--dim);letter-spacing:.06em;text-transform:uppercase}
/* article */
.art{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,4vw,72px);align-items:start}
.art-head{max-width:980px;margin-bottom:clamp(20px,2vw,28px)}
.art-head .kick{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.art-head h1{margin:0;font-weight:700;font-variation-settings:"wdth" 80;font-size:clamp(30px,3.6vw,60px);line-height:1.04;letter-spacing:-.01em;text-wrap:balance}
.art-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:16px;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.art-figure{margin:0 0 clamp(24px,2.6vw,40px)}
.art-figure figcaption{margin-top:10px;font:500 12px var(--mono);letter-spacing:.04em;color:var(--dim)}
.prose{max-width:68ch;font-size:clamp(17px,1.15vw,19px);line-height:1.68;color:#e7e4df}
.prose>*{margin:0 0 1.1em}
.prose h2,.prose h3{font-family:var(--sans);font-weight:700;font-variation-settings:"wdth" 85;color:var(--text);line-height:1.18;margin:1.6em 0 .6em}
.prose h2{font-size:1.5em} .prose h3{font-size:1.28em}
.prose a{color:var(--text);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px;text-decoration-thickness:1.5px}
.prose a:hover{color:var(--red-text)}
.prose em{color:var(--dim)}
.prose>p:first-child em{color:var(--text);font-size:1.08em;font-style:normal;font-weight:600;font-variation-settings:"wdth" 90}
.prose ul,.prose ol{padding-left:1.2em}
.prose blockquote{border-left:3px solid var(--red);padding-left:18px;color:var(--text)}
.tagrow{display:flex;flex-wrap:wrap;gap:8px;max-width:68ch;margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}
.tagrow .lbl{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-right:6px;align-self:center}
.tagrow a{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:7px 10px;border:1px solid var(--line)}
.tagrow a:hover{border-color:var(--red)}
.rail{position:sticky;top:24px;display:grid;gap:14px}
.rail .rows{grid-auto-rows:auto}
.rail .row{grid-template-columns:52px minmax(0,1fr);gap:12px;padding-block:10px}
.rail .row h3{font-size:16px}
.evpanel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;border:1px solid var(--line);background:var(--surface);max-width:68ch;margin-bottom:28px}
.evpanel .date{display:grid;align-content:center;justify-items:center;padding:16px 20px;border-right:1px dashed #3a3a3f;min-width:96px}
.evpanel .date b{font-weight:800;font-variation-settings:"wdth" 110;font-size:46px;line-height:1}
.evpanel .info{display:grid;align-content:center;gap:6px;padding:16px 20px;min-width:0}
.evpanel .info b{font-weight:650;font-variation-settings:"wdth" 85;font-size:20px;line-height:1.2}
.evpanel .act{display:grid;place-items:center;padding:16px 20px;border-left:1px solid var(--line)}
.evpanel .act a{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px;white-space:nowrap}
.related{margin-top:clamp(48px,5vw,88px)}
.related .news{grid-template-columns:repeat(3,minmax(0,1fr))}
.multi b.range{font-size:34px}
/* search, 404, generic page */
.sform{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;max-width:760px;margin-bottom:clamp(24px,2.4vw,36px)}
.sform input{width:100%;min-width:0;height:52px;background:var(--bg);color:var(--text);border:1px solid #3a3a3f;border-radius:0;padding:0 16px;font:600 18px var(--sans);font-variation-settings:"wdth" 90;-webkit-appearance:none;appearance:none}
.sform input:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--red)}
.empty{border:1px dashed #3a3a3f;padding:clamp(22px,3vw,40px);display:grid;gap:10px;margin-bottom:clamp(36px,4vw,64px)}
.empty b{font-weight:700;font-variation-settings:"wdth" 85;font-size:clamp(22px,2vw,30px)}
.empty ul{margin:0;padding-left:18px;color:var(--dim);display:grid;gap:4px}
.nf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:end;padding-block:clamp(24px,4vw,64px);border-bottom:1px solid var(--line);margin-bottom:clamp(36px,4vw,64px)}
.nf .big{font-weight:800;font-variation-settings:"wdth" 125;font-size:clamp(96px,16vw,260px);line-height:.82;letter-spacing:-.03em;color:var(--text)}
.nf .big span{color:var(--red)}
.nf h1{margin:0 0 10px;font-weight:700;font-variation-settings:"wdth" 85;font-size:clamp(24px,2.4vw,36px);line-height:1.1}
.nf p{margin:0 0 18px;color:var(--dim)}
.docpage{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:clamp(28px,5vw,96px);align-items:start}
.toc{position:sticky;top:24px;display:grid;gap:8px;font:500 12px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--dim)}
.toc a:hover{color:var(--text)}
.toc b{color:var(--text);font-weight:500;margin-bottom:4px}
.updated{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin:-8px 0 26px}
@media (max-width:1279px){
  .art{grid-template-columns:1fr}
  .rail{display:none}
}
@media (max-width:1023px){ .related .news{grid-template-columns:repeat(2,minmax(0,1fr))} .related .news .card:nth-child(3){display:none} .docpage{grid-template-columns:1fr} .toc{position:static;grid-template-columns:repeat(2,minmax(0,1fr))} .toc b{grid-column:1/-1} }
@media (max-width:767px){ .nf{grid-template-columns:1fr} }
@media (max-width:600px){
  .arch-head{grid-template-columns:1fr}
  .pager .nums{display:none}
  .pager .of{display:block}
  .evpanel{grid-template-columns:auto minmax(0,1fr)}
  .evpanel .act{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);justify-items:start;place-items:center start}
  .evpanel .date{min-width:80px;padding:14px}
  .evpanel .date b{font-size:38px}
  .related .news{grid-template-columns:1fr}
  .related .news .card:nth-child(3){display:flex}
  .sform input{font-size:16px}
}
.news.cards .card:nth-child(n){display:flex}
/* revision 2: article column, reserved ad column, headline width */
.art{grid-template-columns:minmax(0,1fr) 300px;gap:clamp(40px,5vw,96px)}
.art-main{max-width:800px;min-width:0}
.art-main .prose{max-width:none}
.art-main .tagrow,.art-main .evpanel{max-width:none}
.art-head{max-width:1180px}
.art-head h1{font-size:clamp(30px,3.05vw,54px);line-height:1.08;max-width:none}
.ad-rail{min-height:1px}
.toc a{cursor:pointer}
.docpage .prose h2{scroll-margin-top:24px}
@media (max-width:1279px){ .art{grid-template-columns:1fr} .ad-rail{display:none} .art-main{max-width:800px} }

/* Revision 3: article photo, body and tags share one 800px column; the article block is centred with the reserved ad column; generic page gets a wider text column and sidebar */
.art-wrap{max-width:calc(800px + clamp(40px,5vw,96px) + 300px);margin-inline:auto}
.art-wrap .art-head{max-width:none}
.art-main .art-figure{margin:0 0 clamp(24px,2.6vw,36px)}
.doc-wrap{max-width:calc(280px + clamp(40px,5vw,96px) + 800px);margin-inline:auto}
.docpage{grid-template-columns:280px minmax(0,800px);gap:clamp(40px,5vw,96px)}
.docpage .prose{max-width:none}
.toc a{line-height:1.45}
@media (max-width:1279px){ .art-wrap{max-width:800px} .art-main{max-width:none} .docpage{grid-template-columns:230px minmax(0,1fr);gap:clamp(32px,4vw,56px)} }
@media (max-width:1023px){ .docpage{grid-template-columns:1fr} .doc-wrap .docpage>div{max-width:800px} }
@media (max-width:600px){ .toc{grid-template-columns:1fr} }


@media (max-width:1439px){ .social{display:none} }
@media (max-width:1359px){
  .news{grid-template-columns:repeat(3,minmax(0,1fr))}
  .news .card:nth-child(n+7){display:none}
}
@media (max-width:1199px){
  .events{grid-template-columns:1fr}
  .ticket .media{width:180px}
}
@media (max-width:1279px){
  .nav{gap:16px}
  .hero-band{grid-template-columns:1fr}
  .index{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;border-top:0;column-gap:var(--gap)}
  .index button{border-top:1px solid var(--line);border-bottom:0}
  .index .bar{top:-1px;bottom:auto}
  .cat-row{grid-template-columns:minmax(0,1fr) 160px 40px}
  .cat-row .note{display:none}
}
@media (max-width:1023px){
  .finder{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
  .finder .lede{grid-column:1/-1}
  .nav{display:none}
  .menu{display:inline-block}
  .slide .media{aspect-ratio:16/9}
  .split{grid-template-columns:1fr}
  .feat{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feat .fcard:first-child{grid-column:1/-1;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto;column-gap:var(--gap);align-items:center;align-content:center;display:grid}
  .feat .fcard:first-child>*:not(.media){grid-column:2}
  .feat .fcard:first-child .media{grid-row:1/5;margin:0}
  .f-cols{grid-template-columns:1fr 1fr 1fr}
  .f-about{grid-column:1/-1}
}
@media (max-width:860px){
  .news{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news .card:nth-child(n+5){display:none}
  .f-item{grid-template-columns:112px minmax(0,1fr);gap:14px}
  .f-item h3,.f-item h4{font-size:16px}
}
@media (max-width:767px){
  .cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0}
  .cat-row{grid-template-columns:1fr;padding:0;border:0;position:relative}
  .cat-row .media{opacity:1;filter:none;aspect-ratio:4/3;grid-area:1/1}
  .cat-row .name{grid-area:1/1;align-self:end;padding:12px;font-size:clamp(18px,5.6vw,30px);font-variation-settings:"wdth" 100;z-index:1;text-shadow:0 2px 16px #000}
  .cat-row .media::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,#000d)}
  .cat-row .arrow,.cat-row .note{display:none}
}
@media (max-width:600px){
  .sh h2{font-size:22px}
  .top>.wrap{min-height:60px}
  .logo img{height:28px}
  .top-right .mono{display:none}
  .search-form{grid-template-columns:minmax(0,1fr) auto}
  .search-form .close-btn{grid-column:1/-1;height:40px}
  .search-results li a{grid-template-columns:auto minmax(0,1fr);gap:2px 10px}
  .search-results li b{grid-column:1/-1}
  .slide .media{aspect-ratio:4/5;max-height:none}
  .index{grid-template-columns:1fr}
  .index button{grid-template-columns:28px minmax(0,1fr);border-top:0;border-bottom:1px solid var(--line);gap:10px}
  .index .bar{top:auto;bottom:-1px}
  /* standard cards stay stacked on phones: a side thumbnail would leave ~170-210px for text and push headlines past two lines */
  .news{grid-template-columns:1fr;row-gap:28px}
  .news .card:nth-child(n+5){display:none}
  .latest .row{grid-template-columns:auto minmax(0,1fr);gap:2px 10px;padding-block:10px}
  .latest .row h3{grid-column:1/-1;font-size:16px}
  .finder{grid-template-columns:1fr;padding:16px}
  .find{width:100%}
  .ticket .media{display:none}
  .ticket .date{min-width:72px;padding:14px}
  .ticket .date b{font-size:36px}
  .feat{grid-template-columns:1fr}
  .feat .fcard:first-child{grid-template-columns:1fr}
  .feat .fcard:first-child .media{grid-row:auto;margin-bottom:16px}
  .feat .fcard:first-child>*:not(.media){grid-column:auto} /* 0.3.1: undo the ≤1023px two-column placement, or the image column collapses to 0 */
  .f-recent{grid-template-columns:1fr}
  .f-item{grid-template-columns:104px minmax(0,1fr)}
  .f-cols{grid-template-columns:1fr 1fr}
  .f-soc a{width:44px;height:44px}
}
@media (max-width:359px){
  .music .row{grid-template-columns:48px minmax(0,1fr)}
  .music .row .n{display:none}
  .row .art{width:48px}
  .f-item{grid-template-columns:88px minmax(0,1fr);gap:12px}
  .f-item h3,.f-item h4{font-size:15px}
}
@media (prefers-reduced-motion:reduce){ *{transition:none!important} }

/* ---------- WordPress additions (not in the static preview) ---------- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--red);color:#fff;padding:10px 14px;font:600 14px var(--sans)}
.skip-link:focus{left:max(16px,env(safe-area-inset-left,0px));top:8px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.prose img,.prose video,.prose iframe{max-width:100%;height:auto}
.prose figure{margin:0 0 1.4em}
.prose figcaption,.prose .wp-element-caption{margin-top:8px;font:500 12px var(--mono);letter-spacing:.04em;color:var(--dim)}
.prose .wp-block-embed__wrapper{position:relative}
.prose .wp-has-aspect-ratio .wp-block-embed__wrapper::before{content:"";display:block;padding-top:56.25%}
.prose .wp-has-aspect-ratio iframe{position:absolute;inset:0;width:100%;height:100%}
.prose .alignleft,.prose .alignright,.prose .aligncenter{float:none;margin-inline:0}
.prose table{width:100%;border-collapse:collapse;font-size:.92em;display:block;overflow-x:auto}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left}
.prose hr{border:0;border-top:1px solid var(--line)}
.prose code{font-family:var(--mono);font-size:.9em;background:var(--surface-2);padding:1px 5px}
.empty a,.prose-links a{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}
.card .media.placeholder,.fcard .media.placeholder{background:linear-gradient(135deg,var(--surface-2),var(--surface))}
.media.placeholder::after{content:"BEZ";position:absolute;inset:0;display:grid;place-items:center;font:800 28px var(--sans);font-variation-settings:"wdth" 120;color:#2c2c31}
.page-content-intro{margin-bottom:clamp(20px,2vw,32px)}
/* The article layout class .art also names the New Music thumbnail box: keep it a block. */
.row .art{display:block}

/* ---------- Fluent Forms (Contact page): match the approved .cf form ----------
   Assumes Fluent Forms' own styling is turned off for this form. Markup classes from Fluent Forms 6. */
.cf-host .fluentform,.cf-host .frm-fluent-form{display:grid;gap:20px;position:relative}
.cf-host .frm-fluent-form>fieldset{display:grid;gap:20px;min-width:0}
.cf-host .ff-t-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cf-host .ff-t-cell{min-width:0}
.cf-host .ff-el-group{display:grid;gap:8px;min-width:0;margin:0}
.cf-host .ff-el-input--label label{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);font-weight:400}
.cf-host .ff-el-input--label.ff-el-is-required label::after{content:none}
.cf-host .ff-el-form-control{width:100%;min-width:0;background:var(--bg);color:var(--text);border:1px solid #3a3a3f;border-radius:0;padding:0 14px;height:50px;font:500 16px var(--sans);-webkit-appearance:none;appearance:none;box-shadow:none}
.cf-host textarea.ff-el-form-control{height:auto;min-height:190px;padding:14px;line-height:1.5;resize:vertical}
.cf-host .ff-el-form-control:focus{outline:2px solid var(--red);outline-offset:0;border-color:var(--red)}
.cf-host .ff-el-is-error .ff-el-form-control{border-color:#ff5a5f}
.cf-host .ff-el-is-error .error,.cf-host .text-danger{color:#ff8a8f;font-size:14px;line-height:1.35;margin-top:2px}
.cf-host .ff-errors-in-stack{border:1px solid #ff5a5f;background:#ff5a5f14;padding:14px 16px;display:grid;gap:6px;color:var(--text)}
.cf-host .ff-errors-in-stack:empty{display:none}
.cf-host .ff_submit_btn_wrapper{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.cf-host .ff-btn-submit{height:48px;border:0;border-radius:0;background:var(--red);color:#fff;font:700 14px var(--sans);font-variation-settings:"wdth" 95;letter-spacing:.08em;text-transform:uppercase;padding:0 24px;cursor:pointer}
.cf-host .ff-btn-submit:hover{background:#c8143f}
.cf-host .ff-btn-submit:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.cf-host .ff-message-success{border:1px solid var(--line);background:var(--surface);padding:clamp(22px,3vw,40px);color:var(--text);font-size:18px;box-shadow:none}
.cf-host .ff-el-help-message{margin:0;color:var(--dim);font-size:14px}
@media (max-width:600px){ .cf-host .ff-t-container{grid-template-columns:1fr} .cf-host .ff-btn-submit{width:100%} }

/* ---------- Advertising, 0.3.0 (off by default; nothing is printed while off) ----------
   Each unit has a fixed width and height per screen width, set here before the ad loads, so the page
   never moves when an ad arrives (no data-ad-format: AdSense fills the exact box). */
.ad-slot{display:grid;gap:8px;justify-items:center;min-width:0}
.ad-slot .ad-label{font-size:11px;letter-spacing:.12em}
.ad-slot .bez-ad{display:block;max-width:100%;overflow:hidden}
/* banners: H1 home, C1 listings */
.ad-home-1 .bez-ad,.ad-archive-1 .bez-ad{width:970px;height:250px}
/* A1 article right column */
.ad-rail{display:grid;gap:24px;align-content:start}
.ad-rail-top .bez-ad{width:300px;height:250px}
/* A4 after the article, aligned with the article block */
.ad-after-article{max-width:calc(800px + clamp(40px,5vw,96px) + 300px);margin:clamp(40px,4vw,64px) auto 0;padding-block:20px;border-block:1px solid var(--line)}
.ad-after-article .bez-ad{width:728px;height:90px}
@media (max-width:1279px){ .ad-rail{display:none} } /* fix: this rule must follow .ad-rail{display:grid}, or the rail stacks under the article on tablets and phones */
@media (max-width:1099px){ .ad-home-1 .bez-ad,.ad-archive-1 .bez-ad{width:728px;height:90px} }
@media (max-width:779px){ .ad-home-1 .bez-ad,.ad-archive-1 .bez-ad,.ad-after-article .bez-ad{width:336px;height:280px} }
@media (max-width:367px){ .ad-home-1 .bez-ad,.ad-archive-1 .bez-ad,.ad-after-article .bez-ad{width:300px;height:250px} }
/* H1 band between homepage sections */
.ad-band{padding-top:var(--section)}
.ad-band:not(:has(.ad-slot)){display:none}
/* C1: one full grid row; after card 8 at 4 columns, card 6 at 3, card 4 at 2 and 1 (the slot is the 5th child) */
.news.cards>.ad-slot{grid-column:1/-1;order:1}
.news.cards:has(>.ad-slot)>.card:nth-child(n+10){order:2}
@media (max-width:1359px){ .news.cards:has(>.ad-slot)>.card:nth-child(n+8){order:2} }
@media (max-width:860px){ .news.cards:has(>.ad-slot)>.card:nth-child(n+6){order:2} }
/* no ad returned: remove the box and its label */
.ad-slot:has(ins[data-ad-status="unfilled"]){display:none}
.ad-band:has(ins[data-ad-status="unfilled"]){display:none}
/* administrator preview (?bez_ad_preview=1) */
.ad-ph{display:grid!important;place-content:center;gap:4px;text-align:center;border:2px dashed #f2c94c;background:repeating-linear-gradient(135deg,#f2c94c1a 0 12px,#f2c94c05 12px 24px);color:#f2c94c;font:600 11px/1.35 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:8px}
.ad-ph b{font:800 15px/1.1 var(--sans);color:#fff;letter-spacing:.02em}

/* About Us copy (approved Signal layout): tagline as the lead, sign-off line. Contact: email line under the form. */
.lead-prose .lead{color:var(--text);max-width:30ch;margin-bottom:.9em;text-wrap:balance}
.lead-prose .signoff{color:var(--text);font-weight:700;font-variation-settings:"wdth" 90;text-transform:uppercase;letter-spacing:.03em;margin-top:1.6em}
.contact-alt{margin:18px 0 0;color:var(--dim)}
.contact-alt a{color:var(--text);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}

/* ===== Institutional pages (0.2.4) ===== */
.fp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(28px,5vw,96px);align-items:start}
.fp-intro .prose{max-width:60ch}
.fp-intro .prose h2{font-size:1em;letter-spacing:.06em;text-transform:uppercase;font-variation-settings:"wdth" 100;margin-top:1.8em}
.fp-intro .topics{margin-top:28px}
.prose .disclaimer{border-left:3px solid var(--red);padding:2px 0 2px 16px;color:var(--text);font-size:.92em}
.prose .review-note{border:1px dashed #55555b;padding:12px 16px;font-size:.88em;color:var(--dim)}
.prose .review-note strong{color:var(--text)}
.prose mark{background:#ffd60a26;color:var(--text);padding:0 3px;box-shadow:inset 0 -1px #ffd60a99}
.cf-host select.ff-el-form-control{padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23a4a19c' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.cf-host select.ff-el-form-control option{background:var(--surface);color:var(--text)}
.cf-host .ff-el-form-control::placeholder{color:#77757a}
@media (max-width:1023px){ .fp-grid{grid-template-columns:1fr} .fp-intro .prose{max-width:none} }

.ab-hero{border-top:1px solid var(--text);padding-top:14px;margin-bottom:clamp(36px,5vw,88px)}
.ab-hero h1{margin:6px 0 0;font-weight:800;font-variation-settings:"wdth" 120;font-size:clamp(30px,3.6vw,64px);line-height:1;text-transform:uppercase;letter-spacing:.005em}
.ab-statement{margin:clamp(28px,4vw,64px) 0 0;font-weight:800;font-variation-settings:"wdth" 85;font-size:clamp(40px,7.2vw,128px);line-height:.92;letter-spacing:-.015em;text-transform:uppercase;max-width:19ch;text-wrap:balance}
.ab-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,5vw,96px);padding-block:clamp(28px,3.4vw,56px);border-top:1px solid var(--line)}
.ab-row>h2,.ab-label{margin:0;position:sticky;top:24px;align-self:start}
.ab-row>h2{display:grid;gap:10px;font-weight:800;font-variation-settings:"wdth" 115;font-size:clamp(24px,2.4vw,40px);line-height:1.02;text-transform:uppercase;text-wrap:balance}
.ab-row>h2 .mono{font-size:12px;font-weight:500;letter-spacing:.1em}
.ab-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.ab-row .prose{max-width:68ch}
.ab-intro .prose>p:first-child{font-size:1.16em;color:var(--text)}
.ab-quote{margin:1.6em 0 0;border-left:3px solid var(--red);padding:4px 0 4px clamp(18px,2vw,28px)}
.prose .ab-quote p{margin:0;font-weight:700;font-variation-settings:"wdth" 90;font-size:clamp(22px,2vw,32px);line-height:1.2;color:var(--text);text-wrap:balance}
.prose .pillars{list-style:none;padding:0;margin:1.4em 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--gap);counter-reset:pillar}
.pillars li{counter-increment:pillar;border-top:1px solid var(--line);padding:16px 0 18px;color:var(--dim);font-size:.94em;line-height:1.5}
.pillars li::before{content:counter(pillar,decimal-leading-zero);display:block;font:500 12px var(--mono);letter-spacing:.1em;color:var(--red-text);margin-bottom:6px}
.prose .pillars a{display:block;margin-bottom:6px;color:var(--text);text-decoration:none;font-weight:800;font-variation-settings:"wdth" 115;text-transform:uppercase;font-size:1.25em;line-height:1.1}
.prose .pillars a:hover{color:var(--red-text)}
.ab-signoff{margin:0;padding-block:clamp(36px,5vw,96px);border-top:1px solid var(--line);font-weight:800;font-variation-settings:"wdth" 120;font-size:clamp(30px,5vw,88px);line-height:.95;text-transform:uppercase;text-wrap:balance}
@media (max-width:860px){ .ab-row{grid-template-columns:1fr;gap:18px} .ab-row>h2,.ab-label{position:static} }
@media (max-width:600px){ .prose .pillars{grid-template-columns:1fr} }

/* ===== Sponsored content (0.2.5) ===== */
.spon{display:inline-block;font:600 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#111;background:#ffd60a;padding:3px 6px 2px;margin-right:8px;vertical-align:1px}
.row .spon,.f-item .spon{margin-right:6px}
.spon-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;border:1px solid #ffd60a66;background:#ffd60a0d;padding:14px 16px;margin:0 0 28px}
.spon-note p{margin:0;font-size:15px;line-height:1.5;color:var(--text)}
.spon-note a{text-decoration:underline;text-decoration-color:#ffd60a;text-underline-offset:3px;white-space:nowrap}

/* ===== Homepage News: all 8 stories at every width, so the sequence never skips (0.2.6) ===== */
.home-news .card:nth-child(n){display:flex}
@media (max-width:1359px){ .home-news{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (max-width:1023px){ .home-news{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:600px){ .home-news{grid-template-columns:1fr} }
