/* YOUR100 invitation — presentation. Mobile first; tone moves from civic cobalt (top) to warm night (bottom). */
:root{
  --navy:#11147F; --navy-deep:#0b0d58; --orange:#E9552F; --orange-btn:#CC431D; --orange-btn-hi:#b83b18;
  --orange-lt:#ff8a5c; --orange-dk:#C63F1A;
  --paper:#f4f1ea; --white:#fff; --ink:#15162e; --ink-2:#44465f; --line:rgba(17,20,127,.16);
  --night:#0f0d0c; --night-2:#1a1412; --cream:#f3ece2; --cream-2:rgba(243,236,226,.78); --line-night:rgba(243,236,226,.16);
  --field-edge:#6b6fa3;
  --display:'Big Shoulders Display', 'Arial Narrow', sans-serif;
  --body:'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --gut:clamp(18px,5vw,56px);
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{ background:var(--paper); color:var(--ink); font-family:var(--body); font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased; }
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; }
h1,h2,h3,h4{ text-wrap:balance; }
p, dd, li{ text-wrap:pretty; }
.nw{ white-space:nowrap; }
[hidden]{ display:none !important; }
.wrap{ width:100%; max-width:1160px; margin:0 auto; padding:0 var(--gut); }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
:focus-visible{ outline:3px solid var(--orange-lt); outline-offset:3px; }
.rsvp :focus-visible, .group-day :focus-visible, .intro :focus-visible{ outline-color:var(--navy); }

/* placeholders: impossible to miss while INVITE.showPlaceholders is on */
mark.ph{ background:#ffe14d; color:#1a1400; font:600 .82em/1.3 var(--body); letter-spacing:0; text-transform:none; padding:.08em .35em; border-radius:3px; white-space:nowrap; }

.eyebrow{ font:700 12.5px/1.3 var(--body); letter-spacing:.2em; text-transform:uppercase; color:var(--orange-dk); }
h2{ font:900 clamp(40px,6.4vw,64px)/.9 var(--display); text-transform:uppercase; letter-spacing:.005em; color:var(--navy); margin-top:10px; }
.lede{ margin-top:14px; font-size:clamp(18px,2vw,21px); color:var(--ink-2); max-width:34em; }

.btn{ white-space:nowrap; display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 30px; border:2px solid var(--orange-btn); background:var(--orange-btn); color:#fff;
  font:700 15px/1 var(--body); letter-spacing:.16em; text-transform:uppercase; text-decoration:none; cursor:pointer; transition:background-color .15s, border-color .15s, color .15s; }
.btn:hover{ background:var(--orange-btn-hi); border-color:var(--orange-btn-hi); }
.btn.ghost{ background:transparent; border-color:rgba(255,255,255,.7); color:#fff; }
.btn.ghost:hover{ border-color:#fff; background:rgba(255,255,255,.08); }
.btn:disabled{ opacity:.7; cursor:wait; }

/* ── HERO ─────────────────────────────── */
.hero{ position:relative; background:var(--navy); color:#fff; overflow:hidden; }
.hero-photo{ position:relative; height:clamp(84px,22vw,300px); clip-path:polygon(0 0,100% 0,100% 78%,0 100%); }
.hero-photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 30%; }
.hero-in{ position:relative; padding-top:14px; padding-bottom:clamp(44px,7vw,80px); }
.kicker{ display:inline-flex; flex-wrap:wrap; align-items:center; gap:8px 14px;
  font:700 clamp(13px,1.5vw,16px)/1.1 var(--body); letter-spacing:.2em; text-transform:uppercase; color:#fff; }
.kicker span{ white-space:nowrap; }
.kicker i{ width:6px; height:6px; border-radius:50%; background:var(--orange); flex:none; }
@media (max-width:519px){ .kicker{ display:inline-grid; gap:6px; } .kicker i{ display:none; } }
@media (max-width:380px){ .kicker{ letter-spacing:.16em; } }
.hero h1{ margin-top:clamp(28px,4vw,44px); }
/* Logo + tagline lockup. Measured against the logo artwork (at logo height 1000):
   caps run from the bottom of the 00 (row 686) to the bottom of the slash (row 999), and the gap
   from the slash to the tagline (120) equals the gap from the last 0 to the slash. Everything scales with --lh. */
.hero h1{ --lh:min(88px, calc((100vw - 2 * var(--gut)) / 6.8)); }
.lockup{ display:inline-flex; align-items:flex-end; }
.hero .logo{ height:var(--lh); width:auto; flex:none; }
.lk-tag{ display:block; margin-left:calc(var(--lh) * -0.086); margin-bottom:calc(var(--lh) * -0.028);
  font:400 calc(var(--lh) * 0.365)/1 'Anton', 'Arial Narrow', sans-serif; text-transform:uppercase; color:#fff; white-space:nowrap; }
.h1-line{ display:block; text-transform:uppercase; }
.h1-line-1{ margin-top:10px; font:800 clamp(30px,8.4vw,60px)/.95 var(--display); letter-spacing:.01em; color:#fff; }
.h1-line-2{ max-width:4.6em; margin-top:clamp(16px,2.2vw,26px); font:900 clamp(64px,18vw,136px)/.84 var(--display); letter-spacing:.004em; color:var(--orange); }
.tagline{ margin-top:16px; font:800 clamp(23px,6vw,40px)/1.02 var(--display); text-transform:uppercase; letter-spacing:.01em; }
.tagline span{ display:inline-block; white-space:nowrap; margin-right:.18em; }
.tagline span:last-child{ color:var(--orange-lt); margin-right:0; }
@media (min-width:960px){ .tagline{ font-size:32px; white-space:nowrap; } .tl-br{ display:none; } }
.facts{ margin-top:20px; display:grid; gap:12px; border-top:1px solid rgba(255,255,255,.22); padding-top:16px; }
.facts dt{ font:700 12px/1 var(--body); letter-spacing:.2em; text-transform:uppercase; color:var(--orange-lt); }
.facts dd{ margin-top:6px; }
.facts dd b{ display:block; font:700 clamp(19px,2vw,22px)/1.25 var(--body); }
.facts dd span{ display:block; margin-top:4px; color:rgba(255,255,255,.86); }
.facts dd span.nw{ display:inline; margin:0; }
.facts dd .next-cities{ margin-top:12px; font:800 clamp(15px,1.5vw,17px)/1.3 var(--display); letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.72); }
.facts dd .next-cities span{ display:inline; margin:0; color:inherit; }
.facts dd .next-cities .dot{ color:#fff; margin:0 .2em; }
.facts dd .session + .session{ margin-top:0; }
.cta{ margin-top:20px; display:flex; flex-wrap:wrap; gap:12px; }
.cta .btn{ flex:1 1 auto; }
@media (min-width:520px){ .cta .btn{ flex:0 0 auto; min-width:240px; } }
.notices{ margin-top:14px; font:700 12.5px/1.4 var(--body); letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.8); }

@media (min-width:960px){
  .hero{ min-height:min(860px,100vh); display:flex; align-items:center; }
  .hero-photo{ position:absolute; inset:0 0 0 auto; width:min(48%, calc(100% - var(--gut) - 600px)); height:auto; clip-path:polygon(22% 0,100% 0,100% 100%,0 100%); }
  .hero-in{ padding-top:clamp(48px,5vw,72px); padding-bottom:clamp(40px,4vw,56px); }
  .hero-in > *{ max-width:600px; }
  .facts{ grid-template-columns:1fr; gap:20px; }
  .cta .btn{ flex:0 0 auto; }
}

@media (min-width:960px) and (max-height:860px){
  .hero-in{ padding-top:36px; padding-bottom:36px; }
  .hero h1{ margin-top:26px; }
  .hero h1{ --lh:84px; }
  .h1-line-1{ font-size:clamp(40px,4vw,50px); }
  .h1-line-2{ font-size:clamp(84px,8.4vw,108px); }
  .tagline{ margin-top:14px; font-size:30px; }
  .facts{ margin-top:16px; padding-top:14px; }
  .cta{ margin-top:16px; }
}

/* duotones: cobalt for the afternoon, ember for the evening */
.duo-day{ background:var(--navy); }
.duo-day img{ filter:grayscale(1) contrast(1.08) brightness(var(--lift,1)); mix-blend-mode:screen; }
.duo-night{ background:var(--orange); }
.duo-night img{ filter:grayscale(1) contrast(1.18) brightness(var(--lift,1.08)); mix-blend-mode:multiply; }
.duo-day img{ --lift:1; }

/* ── INTRO + CAUSE ───────────────────── */
.intro{ background:var(--paper); padding:clamp(48px,7vw,88px) 0; }
.intro-text{ font-size:clamp(21px,2.8vw,30px); line-height:1.35; font-weight:500; color:var(--navy); max-width:31em; }
.intro-lead, .intro-line{ display:block; }
.intro-lead{ font-weight:700; }
.intro-lead + .intro-line{ margin-top:.55em; }
.intro-line{ font-weight:400; }
.intro-line + .intro-line{ margin-top:.4em; }
.intro-kicker{ display:block; margin-top:.7em; font-weight:700; }
.intro-lead + .intro-kicker{ margin-top:.35em; }

/* ── LINEUP BILLBOARD ────────────────── */
.lineup{ background:var(--white); padding:clamp(48px,7vw,80px) 0 clamp(40px,5vw,60px); }
.lineup-list{ list-style:none; }
.lineup-list li{ font:700 clamp(18px,1.9vw,22px)/1.35 var(--body); color:var(--navy); text-wrap:balance; }
.lineup-list li + li{ margin-top:.3em; }
.lineup-list li.plus{ margin-top:.8em; font-weight:500; font-size:clamp(18px,1.9vw,22px); color:var(--ink); max-width:34em; }
.plus-mark{ margin-right:.35em; font-weight:800; color:var(--orange-dk); }
.lineup-punch{ margin:0 0 clamp(18px,2.4vw,28px); font:900 clamp(36px,5.2vw,60px)/.92 var(--display); text-transform:uppercase; letter-spacing:.004em; color:var(--navy); }
.lineup-tail{ margin-top:clamp(12px,1.6vw,18px); font:700 clamp(20px,2.4vw,28px)/1.25 var(--body); color:var(--navy); }

/* the turn: a navy band under the lineup */
.also{ background:var(--navy); color:#fff; padding:clamp(40px,5.5vw,68px) 0; }
.also-k{ font:500 clamp(17px,1.7vw,19px)/1.45 var(--body); color:rgba(255,255,255,.88); max-width:36em; }
.also-k{ text-wrap:balance; }
@media (min-width:600px){ .also-k2{ white-space:nowrap; } }
.also-stat{ margin-top:clamp(22px,2.8vw,34px); }
.also-stat .n{ display:block; font:900 clamp(64px,7.4vw,96px)/.86 var(--display); text-transform:uppercase; letter-spacing:.004em; color:var(--orange); }
.also-stat .l{ display:block; margin-top:clamp(14px,1.8vw,22px); font:800 clamp(22px,2.4vw,30px)/1 var(--display); text-transform:uppercase; letter-spacing:.02em; color:#fff; }
.also-stat .pre{ display:block; margin-bottom:clamp(14px,1.6vw,20px); font:800 clamp(24px,2.6vw,32px)/1 var(--display); text-transform:uppercase; letter-spacing:.04em; color:var(--orange); }
.also-context{ margin-top:clamp(16px,2vw,22px); font-size:clamp(18px,1.8vw,20px); line-height:1.55; color:rgba(255,255,255,.92); max-width:36em; }
.also-points{ list-style:none; margin-top:12px; max-width:36em; }
.also-points li{ position:relative; padding-left:1.2em; font-size:clamp(18px,1.8vw,20px); line-height:1.5; color:rgba(255,255,255,.92); }
.also-points li + li{ margin-top:6px; }
.also-points li::before{ content:''; position:absolute; left:0; top:.62em; width:.55em; height:3px; background:var(--orange); }
.also-others{ margin-top:clamp(26px,3.4vw,38px); padding-top:clamp(18px,2.4vw,26px); border-top:1px solid rgba(255,255,255,.22); max-width:36em; }
.also-others h3{ font:700 clamp(19px,2vw,23px)/1.35 var(--body); color:#fff; }
.also-others .plus-mark{ color:var(--orange); }
.also-others p{ margin-top:8px; font-size:clamp(17px,1.7vw,19px); line-height:1.5; color:rgba(255,255,255,.88); }
.also-text{ margin-top:clamp(26px,3.4vw,40px); }
.also-text{ margin-top:clamp(16px,2vw,22px); font-size:clamp(18px,1.8vw,21px); line-height:1.5; color:rgba(255,255,255,.9); max-width:32em; }
.also + .why{ padding-top:clamp(56px,8vw,96px); }
.lineup + .why{ padding-top:clamp(48px,7vw,88px); }

/* ── WHY WE'RE GATHERING ─────────────── */
.intro{ padding-bottom:clamp(20px,3vw,32px); }
.why{ background:var(--paper); padding:clamp(56px,8vw,96px) 0; }
.intro + .why{ padding-top:clamp(28px,4vw,44px); }
.intro + .why h2{ padding-top:clamp(24px,3.5vw,36px); border-top:3px solid var(--navy); }
.why-grid{ margin-top:clamp(22px,3vw,36px); display:grid; gap:20px 56px; }
.why-lede{ font:500 min(24px, calc((100vw - 2 * var(--gut)) / 13))/1.3 var(--body); letter-spacing:-.01em; color:var(--navy); max-width:22em; text-wrap:balance; }
.why-lede p{ text-wrap:balance; }
.why-head{ font:700 clamp(20px,2.1vw,24px)/1.3 var(--body) !important; color:var(--navy) !important; margin-bottom:.45em; }
.why-head + p{ margin-top:0 !important; }
.why-body p{ font-size:clamp(18px,1.6vw,19.5px); line-height:1.6; color:var(--ink); max-width:36em; }
.why-body p + p{ margin-top:1em; }
.why-body strong{ font-weight:700; color:var(--navy); }
@media (min-width:960px){ .why-grid{ grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); } .why-lede{ font-size:min(30px, calc((100vw - 2 * var(--gut)) * .028)); } .why-left{ display:flex; flex-direction:column; justify-content:space-between; } }
.why-k{ margin-bottom:clamp(10px,1.4vw,16px); }
.why .why-statement{ padding-top:0; border-top:0; white-space:normal; }
.why-statement{ margin-top:0;
  font:900 clamp(40px,5.4vw,70px)/.92 var(--display); text-transform:uppercase; letter-spacing:.005em; color:var(--navy); }
.why-statement span{ display:block; white-space:nowrap; }
@media (max-width:760px){ .why-statement{ font-size:min(44px, calc((100vw - 2 * var(--gut)) / 7.9)); } }
.why-statement span:last-child{ color:var(--orange-dk); }
.why-sign{ margin-top:clamp(28px,4vw,44px); padding-top:clamp(18px,2.4vw,24px); border-top:3px solid var(--navy); }
.why-closing + .why-callout{ margin-top:clamp(14px,1.8vw,20px); }
.why-closing{ font-size:16.5px; line-height:1.55; color:var(--ink-2); max-width:40em; }
.why-callout{ margin-top:0; font:700 clamp(20px,2vw,24px)/1.28 var(--body); color:var(--navy); max-width:24em; }
.why-callout em{ font-style:normal; color:var(--orange-dk); }

/* ── PROGRAM ─────────────────────────── */
.group{ padding:clamp(56px,8vw,104px) 0; }
.group-day{ background:var(--white); }
.group-night{ background:var(--night); color:var(--cream); }
.group-k{ margin-bottom:clamp(18px,2.4vw,30px); font:800 clamp(18px,2vw,24px)/1.05 var(--display); letter-spacing:.06em; color:var(--ink-2); }
@media (max-width:520px){ .group-k .nw{ display:block; } .group-k .dot{ display:none; } }
.group-h{ margin-top:0; font:900 min(56px, calc((100vw - 2 * var(--gut)) / 8.4))/.92 var(--display); color:var(--navy); }
.group-night .group-h{ color:var(--cream); }
.group-intro{ margin-top:clamp(14px,1.8vw,20px); font:500 clamp(18px,1.9vw,22px)/1.45 var(--body); color:var(--ink-2); max-width:34em; }
.group-night .group-intro{ color:var(--cream-2); }
.group-intro2{ margin-top:8px; font-weight:700; color:var(--navy); }
.group-night .group-intro2{ color:var(--cream); }
.part{ margin-top:clamp(34px,4.5vw,52px); }
.part-h{ font:700 13px/1 var(--body); letter-spacing:.24em; text-transform:uppercase; color:var(--orange-dk); padding-bottom:12px; }
.group-night .part-h{ color:var(--orange-lt); border-color:var(--orange); }
.items{ list-style:none; }
.item{ display:grid; gap:6px 32px; padding:22px 0; }
.item:last-child{ padding-bottom:0; }
.time{ font:700 13.5px/1.4 var(--body); letter-spacing:.05em; text-transform:uppercase; color:var(--ink-2); }
.time .lab{ display:block; margin-top:2px; color:var(--orange-dk); }
.time .sep{ display:none; }
.item h4{ font:800 clamp(28px,3.8vw,40px)/1 var(--display); text-transform:uppercase; letter-spacing:.01em; color:var(--navy); }
.item h4 .sub{ display:block; margin-top:6px; font:500 clamp(19px,2.2vw,23px)/1.25 var(--body); text-transform:none; letter-spacing:0; color:var(--navy); }
.group-night .item h4 .sub{ color:var(--cream); }
.item-text{ margin-top:8px; color:var(--ink-2); max-width:40em; }
.item.minor{ padding:12px 0; }
.item.minor .time{ font-weight:500; font-style:italic; text-transform:none; letter-spacing:0; }
@media (min-width:760px){ .item{ grid-template-columns:184px 1fr; } .item > .time{ padding-top:9px; } .time .lab{ white-space:nowrap; } }
.group-night .time, .group-night .item-text{ color:var(--cream-2); }
.group-night .time .lab{ color:var(--orange-lt); }
.group-night .item h4{ color:var(--cream); }

/* gray transition band between program sections */
.transition{ background:#e4e2dd; padding:clamp(26px,3.4vw,40px) 0; }
.transition-in{ display:grid; gap:4px 32px; }
.transition .time{ color:#4a4a52; }
.transition-h{ font:800 clamp(22px,2.4vw,28px)/1 var(--display); text-transform:uppercase; letter-spacing:.02em; color:#34343c; }
.transition-text{ margin-top:6px; color:#4a4a52; }
/* Drinks & dinner sticker: sits on the seam between the gray band and the Sessions section */
.transition{ position:relative; z-index:2; }
.transition .wrap{ position:relative; }
.food-badge{ position:absolute; right:var(--gut); bottom:calc(-1 * clamp(26px,3.4vw,40px)); width:clamp(128px,14vw,168px); aspect-ratio:1; transform:translateY(50%) rotate(-10deg);
  border-radius:50%; background:#af0505; box-shadow:0 0 0 4px #e4e2dd, 0 0 0 5px rgba(175,5,5,.5), 0 10px 24px rgba(0,0,0,.35); display:grid; place-items:center; }
.food-badge svg{ position:absolute; inset:0; width:100%; height:100%; }
.food-badge text{ font:800 19px/1 var(--body); letter-spacing:.12em; fill:#fff; }
.food-badge img{ position:relative; width:60%; height:auto; transform:translateY(-2%); }
@media (min-width:1200px){ .food-badge{ right:calc(var(--gut) + 40px); } }
@media (min-width:760px){ .transition-in{ grid-template-columns:184px 1fr; align-items:baseline; } }

/* people, inline under their session: cards from 600px up, compact rows on phones */
.people{ list-style:none; margin-top:22px; display:grid; gap:22px 16px; grid-template-columns:repeat(2,minmax(0,1fr)); max-width:500px; }
.people.n3{ grid-template-columns:repeat(3,minmax(0,1fr)); max-width:740px; }
.people.n4{ grid-template-columns:repeat(4,minmax(0,1fr)); max-width:960px; }
@media (min-width:600px) and (max-width:899px){ .people.n4{ grid-template-columns:repeat(2,minmax(0,1fr)); max-width:500px; } }
@media (min-width:600px){ .person{ display:grid; grid-template-rows:subgrid; grid-row:span 3; row-gap:0; align-content:start; } .person h5{ align-self:start; } }
.person h5{ margin-top:10px; font:800 20px/1.05 var(--display); text-transform:uppercase; letter-spacing:.01em; color:var(--navy); }
.person .role{ margin-top:4px; font-size:14px; line-height:1.35; color:var(--ink-2); }
.person .role span{ display:block; }
.person .role .was{ margin-top:6px; font:700 11px/1.3 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--orange-dk); }
.group-night .person .role .was{ color:var(--orange-lt); }
.group-night .person h5{ color:var(--cream); }
.group-night .person .role{ color:var(--cream-2); }
.photo{ position:relative; aspect-ratio:4/5; overflow:hidden; }
.photo img{ width:100%; height:100%; object-fit:cover; }
.group-night .photo{ clip-path:polygon(0 0,100% 0,100% 94%,0 100%); }
.photo-missing{ display:flex; align-items:flex-end; padding:8px; border:1.5px dashed var(--field-edge);
  background:repeating-linear-gradient(45deg,#e7e8f4 0 10px,#f3f4fa 10px 20px); }
.photo-missing mark.ph{ white-space:normal; font-size:12px; }
@media (max-width:599px){
  /* phones: two-up portrait cards; an odd last card spans the full width */
  .people, .people.n3, .people.n4{ grid-template-columns:1fr 1fr; gap:22px 12px; max-width:none; }
  .people > .person:last-child:nth-child(odd){ grid-column:1 / -1; }
  .people > .person:last-child:nth-child(odd) .photo{ aspect-ratio:16/10; }
  .person{ display:block; }
  .person h5{ margin-top:10px; font-size:18px; }
  .person .role{ font-size:13.5px; }
  .photo-missing mark.ph{ font-size:11px; }
}
}

/* ── ABOUT ───────────────────────────── */
.about{ background:var(--navy); color:#fff; padding:clamp(56px,8vw,100px) 0; }
.about h2{ color:#fff; margin-top:0; }
.about-body{ margin-top:18px; max-width:36em; }
.about-body p{ font-size:clamp(18px,2vw,21px); color:rgba(255,255,255,.9); }
.about-body p + p{ margin-top:10px; }
.about-line{ margin-top:22px !important; font:800 clamp(28px,4.4vw,44px)/1 var(--display) !important; text-transform:uppercase; color:var(--orange-lt) !important; letter-spacing:.01em; }
@media (min-width:900px){ .about-in{ display:grid; grid-template-columns:1fr 1.25fr; gap:48px; align-items:start; } .about-body{ margin-top:6px; } }

/* ── RSVP ────────────────────────────── */
.rsvp{ background:var(--paper); padding:clamp(56px,8vw,100px) 0; }
.rsvp-note{ margin-top:6px; color:var(--ink-2); }
.rsvp-ticket{ margin-top:12px; color:var(--navy); }
.rsvp-form, .rsvp-done{ margin-top:28px; background:var(--white); padding:clamp(20px,3.5vw,36px); border-top:4px solid var(--orange); display:grid; gap:18px; }
@media (min-width:960px){ .rsvp-in{ display:grid; grid-template-columns:.8fr 1.2fr; gap:56px; align-items:start; } .rsvp-side{ position:sticky; top:28px; } .rsvp-form, .rsvp-done{ margin-top:0; } }
.rsvp-side h2{ margin-top:0; }
.rsvp-facts{ margin-top:24px; padding-top:18px; border-top:1px solid var(--line); display:grid; gap:16px; }
.rsvp-facts dt{ font:700 12px/1 var(--body); letter-spacing:.2em; text-transform:uppercase; color:var(--orange-dk); }
.rsvp-facts dd{ margin-top:6px; color:var(--ink); }
.rsvp-facts dd b{ display:block; font:700 18px/1.3 var(--body); color:var(--navy); }
.rsvp-facts dd > span{ display:block; margin-top:2px; }
.rsvp-facts dd a{ display:inline-block; margin-top:4px; color:var(--navy); font-weight:700; text-underline-offset:3px; }
.field{ border:0; min-width:0; }
.when-yes, .when-no{ display:grid; gap:18px; }
.field > label, .field > legend{ display:block; margin-bottom:8px; font:700 13px/1.3 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--navy); }
.opt{ font-weight:500; letter-spacing:.04em; text-transform:none; color:var(--ink-2); }
.field input, .field textarea{ width:100%; min-height:52px; padding:12px 14px; border:1.5px solid var(--field-edge); border-radius:0; background:#fff; font:inherit; color:var(--ink); }
.field textarea{ min-height:96px; resize:vertical; }
.field input:focus, .field textarea:focus{ outline:none; border-color:var(--navy); box-shadow:0 0 0 2px var(--navy); }
.grid2{ display:grid; gap:18px; }
@media (min-width:560px){ .grid2{ grid-template-columns:1fr 1fr; } }
.seg{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.seg-opt, .choice{ position:relative; display:block; }
.seg-opt input, .choice input{ position:absolute; inset:0; width:100%; height:100%; opacity:0; margin:0; cursor:pointer; }
.seg-opt span{ display:flex; align-items:center; justify-content:center; min-height:58px; padding:8px 10px; border:1.5px solid var(--field-edge); text-align:center; font-weight:700; color:var(--navy); line-height:1.2; }
.seg-opt input:checked + span{ background:var(--navy); border-color:var(--navy); color:#fff; }
.seg-opt input:focus-visible + span, .choice input:focus-visible + span{ outline:3px solid var(--navy); outline-offset:2px; }
.choices{ display:grid; gap:8px; }
.choice > span{ display:flex; align-items:center; gap:12px; min-height:50px; padding:10px 14px; border:1.5px solid var(--field-edge); color:var(--ink); line-height:1.3; }
.choice > span::before{ content:''; flex:none; width:18px; height:18px; border-radius:50%; border:2px solid var(--field-edge); }
.choice .ct{ display:block; }
.choice .ct b{ display:block; color:var(--navy); }
.choice .l2{ display:block; margin-top:2px; }
.choice input:checked + span{ border-color:var(--navy); box-shadow:inset 0 0 0 1px var(--navy); background:#f2f3fc; }
.choice input:checked + span::before{ border-color:var(--navy); background:radial-gradient(circle,var(--navy) 0 45%,transparent 50%); }
.choice.check > span{ border-style:dashed; }
.choice.check > span::before{ border-radius:2px; }
.choice.check input:checked + span::before{ background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='%23fff' stroke-width='2.4'/%3E%3C/svg%3E") center/12px no-repeat; }
.form-error{ padding:12px 14px; background:#fdecea; color:#8f1d10; font-weight:700; border-left:4px solid #b3261e; }
.rsvp-form .btn{ justify-self:start; min-width:220px; }
@media (max-width:559px){ .rsvp-form .btn{ justify-self:stretch; } }
.form-foot{ font-size:15px; color:var(--ink-2); }
.rsvp-done h3{ font:900 clamp(34px,5vw,52px)/.95 var(--display); text-transform:uppercase; color:var(--navy); }
.rsvp-done .done-actions:empty{ display:none; }
.rsvp-done .btn.ghost{ color:var(--navy); border-color:var(--navy); }
.linkish{ background:none; border:0; padding:0; font:inherit; color:var(--navy); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }

/* ── FOOTER ──────────────────────────── */
.foot{ background:var(--night); color:var(--cream); padding:clamp(40px,6vw,64px) 0 calc(clamp(28px,4vw,40px) + env(safe-area-inset-bottom)); }
.foot .eyebrow{ color:var(--orange-lt); }
.partners ul{ list-style:none; margin-top:16px; display:flex; flex-wrap:wrap; gap:14px; }
.partners li{ display:flex; align-items:center; justify-content:center; min-width:150px; height:64px; padding:0 14px; }
.partners li img{ max-height:40px; width:auto; }
.foot-row{ margin-top:28px; padding-top:22px; border-top:1px solid var(--line-night); display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:14px 28px; }
.disclaimer{ margin-top:20px; font-size:12.5px; line-height:1.55; color:rgba(243,236,226,.66); max-width:62em; }
.foot-line{ font-size:14.5px; color:var(--cream-2); }
.powered{ display:flex; align-items:center; gap:12px; font:700 12px/1 var(--body); letter-spacing:.22em; text-transform:uppercase; color:var(--cream-2); }
.powered img{ height:28px; width:auto; }

/* ── STICKY RSVP (phones) ────────────── */
.sticky-rsvp{ position:fixed; left:0; right:0; bottom:0; z-index:20; display:flex; align-items:center; justify-content:center; gap:12px; min-height:58px; padding:0 16px env(safe-area-inset-bottom);
  background:var(--orange-btn); color:#fff; font:700 15px/1 var(--body); letter-spacing:.16em; text-transform:uppercase; text-decoration:none; transform:translateY(110%); transition:transform .2s ease; }
.sticky-rsvp span{ font-weight:500; letter-spacing:.06em; text-transform:none; }
.sticky-rsvp.show{ transform:none; }
@media (min-width:960px){ .sticky-rsvp{ display:none; } }

@media (max-width:420px){ .btn{ padding:0 20px; letter-spacing:.12em; } }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } *{ transition:none !important; } }

/* private notice: two lines */
.kicker{ display:block !important; }
.kicker > span{ display:block; }
.kicker .nw{ display:inline; white-space:nowrap; }
.kicker .k2{ text-wrap:balance; line-height:1.45 !important; }
.kicker .k1{ font:800 clamp(22px,2.4vw,30px)/1 var(--display); letter-spacing:.04em; color:#fff; }
.kicker .k2{ margin-top:10px; font:700 clamp(12px,1.2vw,14px)/1.2 var(--body); letter-spacing:.18em; color:rgba(255,255,255,.85); }

/* ── Underwriter badge: sits beside the RSVP button, same height ── */
.cta{ align-items:stretch; }
.uw-badge{ margin:0; height:54px; display:inline-flex; flex-direction:column; justify-content:center; gap:5px; padding:0 18px; background:#fff; }
.uw-badge span{ font:700 9.5px/1 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); white-space:nowrap; }
.uw-badge img{ display:block; height:22px; width:auto; }
@media (max-width:519px){
  .cta{ flex-direction:column; }
  .cta .btn, .uw-badge{ width:100%; }
  .uw-badge{ align-items:center; }
}

/* ── Lead underwriter: static band above the scrolling logos ── */
.lead-band{ display:flex; flex-direction:column; align-items:center; gap:12px; padding-bottom:clamp(18px,2.4vw,26px); margin-bottom:clamp(16px,2.2vw,24px); border-bottom:1px solid var(--line); }
.lead-band img{ display:block; height:clamp(34px,3.4vw,44px); width:auto; }
.logo-slot{ display:grid; place-items:center; min-width:240px; height:clamp(52px,5vw,64px); padding:0 28px; border:2px dashed #9a9aa3; color:#5a5a64; font:800 clamp(16px,1.6vw,19px)/1 var(--display); letter-spacing:.14em; text-transform:uppercase; }

/* ── Scrolling sponsor / partner band ── */
.sponsors{ background:var(--paper); padding:clamp(18px,2.4vw,26px) 0; overflow:hidden; }
.band{ display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
.band + .band{ margin-top:clamp(16px,2.2vw,24px); padding-top:clamp(16px,2.2vw,24px); border-top:1px solid var(--line); }
.band-label{ padding:0 var(--gut); width:100%; text-align:center; font:700 11.5px/1 var(--body); letter-spacing:.2em; text-transform:uppercase; color:var(--orange-dk); }
.marquee{ display:flex; width:max-content; animation:marquee 38s linear infinite; }
.band + .band .marquee{ animation-duration:44s; animation-direction:reverse; }
.sponsors:hover .marquee{ animation-play-state:paused; }
.track{ list-style:none; display:flex; align-items:center; gap:clamp(40px,5vw,72px); padding-right:clamp(40px,5vw,72px); }
.track li{ flex:none; display:flex; align-items:center; height:48px; }
.track img{ max-height:40px; max-width:220px; width:auto; height:auto; filter:brightness(0); opacity:.72; }
.track .wordmark{ font:800 22px/1 var(--display); text-transform:uppercase; letter-spacing:.03em; color:#000; opacity:.72; white-space:nowrap; }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce){
  .marquee{ animation:none; width:auto; }
  .track{ flex-wrap:wrap; justify-content:center; padding:0 var(--gut); row-gap:14px; }
  .track[aria-hidden]{ display:none; }
}

/* phones: tighter hero so the RSVP sits closer to the first screen */
@media (max-width:520px){
  .hero-in{ padding-top:10px; }
  .kicker .k1{ font-size:22px; }
  .kicker .k2{ margin-top:6px; }
  .hero h1{ margin-top:18px; }
  .h1-line-2{ margin-top:10px; font-size:clamp(58px,17vw,80px); }
  .tagline{ margin-top:12px; font-size:22px; }
  .facts{ margin-top:14px; padding-top:12px; gap:10px; }
  .facts dd b{ font-size:18px; }
  .facts dd span{ font-size:15.5px; }
  .cta{ margin-top:16px; }
}
.lineup + .also{ margin-top:0; }

/* a logo row that fits on screen: no scrolling, centered, no duplicate copy */
.band.static .marquee{ animation:none; width:auto; justify-content:center; }
.band.static .track{ flex-wrap:nowrap; justify-content:center; padding-left:var(--gut); padding-right:var(--gut); }
.band.static .track[aria-hidden]{ display:none; }

/* the 100% callout: bottom of the left column on desktop, after the paragraphs on phones */
.why-sign-m{ display:none; }
@media (max-width:959px){ .why-sign-d{ display:none; } .why-sign-m{ display:block; } }

/* program header drawn as the YOUR100/ logo + tagline. Sized so the logo's letters match the
   cap height of the other group headers (logo letters = 68.6% of --lh; display caps ≈ 71% of font size). */
.group-lockup{ --lh:calc(min(56px, (100vw - 2 * var(--gut)) / 8.4) * 1.04); line-height:1; }
.group-lockup .logo{ height:var(--lh); width:auto; flex:none; display:block; }
.group-lockup .lk-tag{ color:inherit; }
.group-night .group-lockup .lk-tag{ color:var(--cream); }
.person .role .role-note{ display:block; margin-top:6px; }
.role-note mark.ph{ white-space:normal; font-size:12px; line-height:1.35; display:inline-block; }

/* Credits block: sponsors listed like a program's thank-you page. Label column matches the program's time column. */
.credits{ background:var(--white); padding:clamp(40px,5vw,64px) 0 clamp(36px,4.6vw,56px); border-bottom:1px solid var(--line); }
.credits-k{ margin-bottom:clamp(14px,1.8vw,22px); }
.credit-row{ display:grid; gap:14px 32px; padding:clamp(18px,2.2vw,26px) 0; border-top:1px solid var(--line); }
.credit-label{ font:700 13.5px/1.4 var(--body); letter-spacing:.05em; text-transform:uppercase; color:var(--ink-2); }
.credit-logos{ list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; gap:24px clamp(28px,3.6vw,52px); }
.credit-logos li{ display:flex; align-items:center; min-height:44px; min-width:0; }
.credit-logos img{ max-height:38px; max-width:100%; width:auto; height:auto; filter:brightness(0); opacity:.8; }
.credit-logos .wordmark{ font:800 21px/1 var(--display); text-transform:uppercase; letter-spacing:.03em; color:var(--ink); }
.credit-lead .credit-logos{ display:flex; }
.credit-lead .credit-logos img{ max-height:52px; max-width:300px; }
.credit-lead .logo-slot{ margin:0; }
@media (min-width:760px){ .credit-row{ grid-template-columns:184px 1fr; align-items:center; } }
@media (max-width:759px){
  .credit-logos{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 28px; }
  .credit-logos img{ max-height:30px; }
}

/* Menu (hamburger) */
.menu-btn{ position:fixed; top:calc(12px + env(safe-area-inset-top)); right:12px; z-index:40; display:grid; place-content:center; gap:5px; width:48px; height:48px; padding:0; border:1.5px solid rgba(255,255,255,.55); background:var(--navy); cursor:pointer; box-shadow:0 4px 14px rgba(11,13,88,.28); }
.menu-btn i{ display:block; width:22px; height:2.5px; background:#fff; }
.menu-btn:focus-visible, .menu-close:focus-visible{ outline:3px solid var(--orange-lt); outline-offset:2px; }
.menu{ position:fixed; inset:0; z-index:50; background:rgba(11,13,88,.55); }
.menu-panel{ position:absolute; top:0; right:0; bottom:0; width:min(420px,100%); overflow-y:auto; padding:calc(76px + env(safe-area-inset-top)) clamp(24px,5vw,40px) 32px; background:var(--navy); color:#fff; box-shadow:-12px 0 40px rgba(0,0,0,.3); }
.menu-close{ position:absolute; top:calc(12px + env(safe-area-inset-top)); right:12px; width:48px; height:48px; padding:0; border:1.5px solid rgba(255,255,255,.55); background:transparent; cursor:pointer; }
.menu-close i{ position:absolute; left:12px; top:22px; width:22px; height:2.5px; background:#fff; transform:rotate(45deg); }
.menu-close i + i{ transform:rotate(-45deg); }
.menu-list{ list-style:none; }
.menu-list li + li{ border-top:1px solid rgba(255,255,255,.16); }
.menu-list a{ display:block; padding:14px 0; font:800 clamp(24px,6vw,30px)/1.1 var(--display); text-transform:uppercase; letter-spacing:.02em; color:#fff; text-decoration:none; }
.menu-list a:hover, .menu-list a:focus-visible{ color:var(--orange-lt); }
.menu-list a:focus-visible{ outline:3px solid var(--orange-lt); outline-offset:3px; }
.menu-list .menu-cta{ color:var(--orange-lt); }
.menu-list .plus-mark{ margin-right:.18em; }
.menu-rsvp{ margin-top:26px; width:100%; }
.menu-open, .menu-open body{ overflow:hidden; }
section[id]{ scroll-margin-top:12px; }

/* Overview: kicker + heading, then two sub-parts (people, needs) */
.ov-sub{ margin:0 0 clamp(12px,1.6vw,18px); font:800 clamp(18px,1.9vw,22px)/1.15 var(--display); text-transform:uppercase; letter-spacing:.06em; color:var(--ink-2); }
.ov-sub-night{ margin-bottom:clamp(18px,2.4vw,28px); padding-bottom:clamp(14px,1.8vw,20px); border-bottom:1px solid rgba(255,255,255,.22); color:#fff; }
.ov-sub-night .plus-mark{ color:var(--orange); margin-right:.15em; }
.overview + .why{ padding-top:clamp(56px,8vw,96px); }

/* Who's Invited */
.invited{ background:var(--white); padding:clamp(56px,8vw,96px) 0; border-bottom:1px solid var(--line); }
.invited-grid{ display:grid; gap:clamp(20px,3vw,40px); }
@media (min-width:860px){ .invited-grid{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); } }
.invited-statement{ font:900 clamp(30px,3.8vw,46px)/1 var(--display); text-transform:uppercase; color:var(--navy); text-wrap:balance; }
.invited-groups{ list-style:none; display:grid; gap:0 32px; }
@media (min-width:560px){ .invited-groups{ grid-template-columns:1fr 1fr; } }
.invited-groups li{ padding:12px 0; border-top:1px solid var(--line); font:700 clamp(18px,1.9vw,21px)/1.3 var(--body); color:var(--navy); }
.invited-notes{ list-style:none; margin-top:clamp(20px,2.6vw,28px); padding:clamp(16px,2vw,22px) clamp(18px,2.4vw,26px); background:var(--paper); }
.invited-notes li{ position:relative; padding-left:1.1em; color:var(--ink-2); }
.invited-notes li + li{ margin-top:6px; }
.invited-notes li::before{ content:''; position:absolute; left:0; top:.68em; width:.5em; height:3px; background:var(--orange); }

/* Become a Sponsor page */
.sp-hero{ background:var(--navy); color:#fff; padding:calc(20px + env(safe-area-inset-top)) 0 clamp(48px,7vw,80px); }
.sp-back a{ color:rgba(255,255,255,.86); font:700 14px/1 var(--body); letter-spacing:.06em; text-decoration:none; }
.sp-back a:hover, .sp-back a:focus-visible{ color:#fff; text-decoration:underline; }
.sp-lockup{ margin-top:clamp(28px,4vw,44px); --lh:calc(min(44px,(100vw - 2*var(--gut))/9)*1.04); }
.sp-lockup .lockup{ display:inline-flex; align-items:flex-end; }
.sp-lockup .logo{ height:var(--lh); width:auto; }
.sp-lockup .lk-tag{ margin-left:calc(var(--lh)*-0.086); margin-bottom:calc(var(--lh)*-0.028); font:400 calc(var(--lh)*0.365)/1 Anton, sans-serif; text-transform:uppercase; color:#fff; }
.sp-event{ margin-top:14px; font:700 13px/1.4 var(--body); letter-spacing:.18em; text-transform:uppercase; color:var(--orange-lt); }
.sp-title{ margin-top:clamp(14px,2vw,20px); font:900 clamp(48px,7vw,88px)/.9 var(--display); text-transform:uppercase; color:#fff; }
.sp-lede{ margin:clamp(16px,2vw,22px) 0 clamp(24px,3vw,32px); max-width:36em; font:500 clamp(18px,1.9vw,22px)/1.45 var(--body); color:rgba(255,255,255,.92); }
.sp-sec{ background:var(--white); padding:clamp(48px,7vw,84px) 0; }
.sp-alt{ background:var(--paper); }
.sp-rows{ list-style:none; }
.sp-rows li{ display:grid; gap:6px 32px; padding:20px 0; border-top:1px solid var(--line); }
@media (min-width:760px){ .sp-rows li{ grid-template-columns:184px 1fr; } .sp-rows .time{ padding-top:6px; } }
.sp-rows h3{ font:800 clamp(24px,2.6vw,32px)/1 var(--display); text-transform:uppercase; color:var(--navy); }
.sp-rows p:not(.time){ margin-top:6px; color:var(--ink-2); max-width:38em; }
.sp-statement{ margin-bottom:clamp(18px,2.4vw,26px); font:900 clamp(28px,3.4vw,42px)/1 var(--display); text-transform:uppercase; color:var(--navy); max-width:22em; text-wrap:balance; }
.sp-two{ display:grid; gap:clamp(36px,5vw,64px); }
@media (min-width:860px){ .sp-two{ grid-template-columns:1fr 1fr; } }
.sp-list{ list-style:none; }
.sp-list li{ position:relative; padding:10px 0 10px 1.2em; border-top:1px solid var(--line); font:500 18px/1.4 var(--body); color:var(--ink); }
.sp-list li::before{ content:''; position:absolute; left:0; top:1.25em; width:.55em; height:3px; background:var(--orange); }
.sp-levels{ list-style:none; }
.sp-levels li{ padding:14px 0; border-top:1px solid var(--line); }
.sp-levels b{ display:block; font:800 clamp(20px,2vw,24px)/1.1 var(--display); text-transform:uppercase; color:var(--navy); }
.sp-levels span{ display:block; margin-top:4px; color:var(--ink-2); }
.sp-form-sec{ background:var(--paper); }
.sp-form-wrap{ max-width:760px; }
.sp-form-h{ font:900 clamp(34px,4.4vw,52px)/.95 var(--display); text-transform:uppercase; color:var(--navy); }
.sp-form-intro{ margin:10px 0 24px; color:var(--ink-2); }

/* Lead sponsor badge (top of the hero) */
.lead-badge{ display:inline-flex; align-items:center; gap:12px; margin-bottom:clamp(18px,2.4vw,26px); padding:10px 16px; border:1.5px solid rgba(255,255,255,.5); color:#fff; text-decoration:none; transition:border-color .15s, background-color .15s; }
.lead-badge:hover{ border-color:#fff; background:rgba(255,255,255,.06); }
.lead-badge:focus-visible{ outline:3px solid var(--orange-lt); outline-offset:3px; }
.lead-badge .lb-label{ font:700 11.5px/1 var(--body); letter-spacing:.2em; text-transform:uppercase; color:var(--orange-lt); white-space:nowrap; }
.lead-badge i{ width:1px; height:16px; background:rgba(255,255,255,.4); }
.lead-badge img{ display:block; height:13px; width:auto; filter:brightness(0) invert(1); }
.lead-badge{ max-width:100%; }
.lead-badge img{ max-width:100%; min-width:0; }
@media (max-width:519px){ .lead-badge{ flex-direction:column; align-items:flex-start; gap:8px; padding:10px 14px 11px; } .lead-badge i{ display:none; } .lead-badge img{ height:12px; } }

/* The Program: header band that spans both parts */
.program-head{ background:var(--navy-deep); color:#fff; padding:clamp(56px,8vw,100px) 0 clamp(44px,6vw,72px); border-top:6px solid var(--orange); }
.program-h{ font:900 clamp(44px,6vw,76px)/.9 var(--display); text-transform:uppercase; letter-spacing:.004em; color:#fff; }
.glance{ list-style:none; margin-top:clamp(26px,3.6vw,44px); border-top:1px solid rgba(255,255,255,.22); }
.glance li{ border-bottom:1px solid rgba(255,255,255,.22); }
.glance a{ display:grid; grid-template-columns:auto 1fr; gap:4px 18px; align-items:baseline; padding:clamp(14px,1.8vw,20px) 0; color:#fff; text-decoration:none; }
.glance a:hover .g-title, .glance a:focus-visible .g-title{ color:var(--orange-lt); }
.glance a:focus-visible{ outline:3px solid var(--orange-lt); outline-offset:3px; }
.g-part{ grid-column:1; font:800 clamp(15px,1.5vw,17px)/1 var(--display); letter-spacing:.14em; text-transform:uppercase; color:var(--orange); min-width:4.2em; }
.g-time{ grid-column:2; font:700 13.5px/1.4 var(--body); letter-spacing:.05em; text-transform:uppercase; color:rgba(255,255,255,.8); }
.g-title{ grid-column:2; font:900 clamp(28px,3.6vw,46px)/1 var(--display); text-transform:uppercase; color:#fff; }
.glance .between .g-title{ font-size:clamp(20px,2.2vw,26px); font-weight:800; color:rgba(255,255,255,.86); }
@media (min-width:860px){
  .glance a{ grid-template-columns:110px 184px 1fr; }
  .g-part{ grid-column:1; } .g-time{ grid-column:2; } .g-title{ grid-column:3; }
}
.program-head + .group{ border-top:0; }
/* Called-out words inside a session title, e.g. "$1 Billion" */
.item h4 .t-call{ color:var(--orange-dk); font-size:1.18em; letter-spacing:0; }
.group-night .item h4 .t-call{ color:var(--orange); }

.group-night .group-k{ color:var(--cream-2); }

/* Schedule lines (hero + RSVP details): time column, then name */
.session.sched{ display:grid !important; grid-template-columns:7em 1fr; gap:0 10px; margin-top:4px; }
.session.sched .st, .session.sched .sl{ display:block !important; margin:0 !important; }
.session.sched .st{ font-variant-numeric:tabular-nums; white-space:nowrap; opacity:.8; }

/* One-line When / Where */
.facts-line{ margin-top:20px; padding-top:16px; border-top:1px solid rgba(255,255,255,.22); font:700 clamp(18px,1.9vw,21px)/1.45 var(--body); color:#fff; }
.facts-line .dot{ margin:0 .35em; color:var(--orange-lt); }
.rsvp-facts-line{ margin-top:18px; padding-top:16px; border-top:1px solid var(--line); color:var(--navy); font-size:18px; }
.rsvp-facts-line .dot{ color:var(--orange-dk); }
.facts-line .fl-date, .facts-line .fl-place{ display:block; }
.facts-line .fl-place{ font-weight:500; opacity:.9; }

.item-text + .item-text{ margin-top:10px; }
.item-text strong{ font-weight:700; color:var(--navy); }
.group-night .item-text strong{ color:var(--cream); }

/* CLE credential under the Conversations heading */
.cle-line{ display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; margin-top:clamp(14px,1.8vw,20px); padding:8px 14px; border-left:4px solid var(--orange); background:var(--paper); }
.cle-credit{ font:800 clamp(16px,1.6vw,19px)/1.2 var(--display); letter-spacing:.06em; text-transform:uppercase; color:var(--navy); }
.cle-note{ font:italic 400 14px/1.3 var(--body); color:var(--ink-2); }
.group-intro strong{ font-weight:700; color:var(--navy); }
.group-intro2{ font-weight:700; color:var(--navy); }
.group-intro3{ font-weight:500; color:var(--ink-2); }
/* Break row: time + a small quiet title */
.item.minor{ padding:10px 0; }
.item.minor .time{ font-style:normal; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.item.minor h4{ font:700 15px/1.4 var(--body); letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); }
@media (min-width:760px){ .item.minor > .time{ padding-top:0; } }
.program-head{ padding:clamp(44px,6vw,72px) 0; }

.invited-desc{ padding-top:14px; border-top:1px solid var(--line); font:700 clamp(19px,2vw,23px)/1.4 var(--body); color:var(--navy); max-width:32em; }
.invited-notes-p{ margin-top:clamp(18px,2.4vw,26px); padding:clamp(14px,1.8vw,20px) clamp(16px,2.2vw,24px); background:var(--paper); color:var(--ink-2); max-width:36em; }

/* Overview: one section, two parallel sub-sections (people | needs) */
.overview{ background:var(--white); padding:clamp(56px,8vw,96px) 0; }
.overview .lineup-punch{ margin-bottom:clamp(26px,3.4vw,40px); }
.ov-grid{ display:grid; gap:clamp(36px,5vw,56px); }
@media (min-width:960px){ .ov-grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,5vw,72px); } .ov-needs{ padding-left:clamp(40px,5vw,72px); border-left:1px solid var(--line); } }
@media (max-width:959px){ .ov-needs{ padding-top:clamp(28px,4vw,40px); border-top:1px solid var(--line); } }
.ov-part > .ov-sub, .ov-invited > .ov-sub{ margin-bottom:clamp(14px,1.8vw,20px); padding-bottom:12px; border-bottom:3px solid var(--navy); color:var(--navy); }
.ov-part > .ov-sub .plus-mark{ color:var(--orange-dk); margin-right:.15em; }
.overview .lineup-list li{ font-size:clamp(18px,1.7vw,21px); }
/* needs, re-toned for the light background */
.ov-needs .also-k{ color:var(--ink-2); font-size:clamp(16px,1.5vw,18px); }
.ov-needs .also-stat{ margin-top:clamp(14px,1.8vw,20px); }
.ov-needs .also-stat .pre{ font-size:clamp(20px,2vw,26px); margin-bottom:8px; color:var(--orange-dk); }
.ov-needs .also-stat .n{ font-size:clamp(56px,6vw,84px); color:var(--orange-dk); }
.ov-needs .also-stat .l{ margin-top:10px; font-size:clamp(20px,2vw,26px); color:var(--navy); }
.ov-needs .also-context, .ov-needs .also-points li{ color:var(--ink); font-size:clamp(17px,1.5vw,18px); }
.ov-needs .also-points li::before{ background:var(--orange-dk); }
.ov-needs .also-others{ border-top-color:var(--line); }
.ov-needs .also-others .ao-h{ color:var(--navy); }
.ov-needs .also-others .plus-mark{ color:var(--orange-dk); }
.ov-needs .also-others p{ color:var(--ink-2); }
.overview + .why{ padding-top:clamp(56px,8vw,96px); }

/* Who's Invited, full width under the two Overview columns */
.ov-invited{ margin-top:clamp(40px,5.5vw,64px); padding-top:clamp(28px,4vw,40px); border-top:1px solid var(--line); scroll-margin-top:12px; }
.ov-inv-grid{ display:grid; gap:clamp(16px,2.4vw,28px); }
@media (min-width:960px){ .ov-inv-grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,5vw,72px); align-items:start; } }
.ov-inv-statement{ font:900 clamp(26px,2.8vw,36px)/1.02 var(--display); text-transform:uppercase; color:var(--navy); text-wrap:balance; }
.ov-invited .invited-desc{ margin-top:14px; padding-top:0; border-top:0; font-size:clamp(18px,1.7vw,20px); }
.ov-invited .invited-notes-p{ margin-top:0; }
.ov-invited .invited-desc:first-child{ margin-top:0; }
.sp-desc{ margin-bottom:clamp(18px,2.4vw,26px); font:700 clamp(19px,2vw,23px)/1.4 var(--body); color:var(--navy); max-width:34em; }
/* Named block inside a program part (e.g. "Coach Val & Friends") */
.part:not(.part-plain) > .part-h{ padding-bottom:14px; border-bottom:3px solid var(--navy); font:800 clamp(22px,2.4vw,30px)/1.05 var(--display); letter-spacing:.03em; color:var(--navy); }
.part:not(.part-plain){ margin-top:clamp(26px,3.4vw,40px); }

/* Feature talk: speaker photo beside description + bio */
.feature-grid{ display:grid; gap:clamp(16px,2.4vw,28px); margin-top:clamp(12px,1.6vw,18px); }
@media (min-width:640px){ .feature-grid{ grid-template-columns:minmax(0,200px) minmax(0,1fr); align-items:start; } }
.feature-grid .people{ margin-top:0; grid-template-columns:1fr; max-width:240px; }
.feature-copy .item-text:first-child{ margin-top:0; }
.bio-h{ margin-top:clamp(16px,2vw,22px); font:700 12.5px/1.3 var(--body); letter-spacing:.18em; text-transform:uppercase; color:var(--ink-2); }
.bio-text{ margin-top:6px !important; }

/* The YOUR100 promise, directly under "The will exists. YOUR100 is the way." */
.why-promise{ margin-top:clamp(16px,2vw,24px); max-width:34em; font:700 clamp(20px,2.1vw,26px)/1.32 var(--body); color:var(--navy); text-wrap:balance; }
.why-promise + .why-grid{ margin-top:clamp(28px,3.6vw,44px); }

.credits-cta{ margin-top:clamp(16px,2vw,22px); padding-top:clamp(14px,1.8vw,18px); border-top:1px solid var(--line); font:500 15px/1.4 var(--body); color:var(--ink-2); }
.credits-cta a{ font-weight:700; color:var(--navy); text-underline-offset:3px; }
.credits-cta a:hover{ color:var(--orange-dk); }

/* Sponsor-pitch draft only */
.lead-pitch{ margin:-8px 0 clamp(18px,2.4vw,26px); }
.lead-pitch a{ display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:8px 14px; background:var(--orange-btn); color:#fff; font:700 13.5px/1.25 var(--body); letter-spacing:.02em; text-decoration:none; transition:background-color .15s; }
.lead-pitch a:hover{ background:var(--orange-btn-hi); }
.lead-pitch a:focus-visible{ outline:3px solid #fff; outline-offset:3px; }
.sp-lead{ background:var(--paper); border-bottom:1px solid var(--line); scroll-margin-top:12px; }
.sp-lead-in > *{ max-width:760px; }
.sp-lead-text{ font:500 clamp(18px,1.9vw,21px)/1.5 var(--body); color:var(--ink); max-width:36em; }
.sp-lead-strong{ margin:14px 0 24px; font:700 clamp(18px,1.9vw,21px)/1.45 var(--body); color:var(--navy); }

/* Sponsor-pitch lead message in the hero */
.lead-pitchbox{ max-width:34em; margin-bottom:clamp(20px,2.6vw,28px); padding:14px 16px 16px; border:1.5px solid rgba(255,255,255,.45); }
.lp-text{ font:500 clamp(15px,1.4vw,16.5px)/1.5 var(--body); color:rgba(255,255,255,.92); }
.lp-text .lb-label{ margin-right:6px; font:700 11.5px/1 var(--body); letter-spacing:.2em; text-transform:uppercase; color:var(--orange-lt); }
.lead-pitchbox .lead-pitch{ margin:12px 0 0; }
/* Sponsor page: how this differs */
.sp-diff{ background:var(--white); }
.sp-diff-h{ font:900 clamp(32px,4vw,52px)/.95 var(--display); text-transform:uppercase; color:var(--navy); max-width:16em; text-wrap:balance; }
.sp-diff-intro{ margin-top:14px; font:700 clamp(18px,1.9vw,22px)/1.4 var(--body); color:var(--ink-2); max-width:34em; }
.sp-diff-list{ list-style:none; margin-top:clamp(24px,3vw,36px); display:grid; gap:0 clamp(28px,4vw,56px); }
@media (min-width:760px){ .sp-diff-list{ grid-template-columns:1fr 1fr; } }
.sp-diff-list li{ padding:18px 0; border-top:1px solid var(--line); }
.sp-diff-list h3{ font:800 clamp(20px,2vw,24px)/1.1 var(--display); text-transform:uppercase; color:var(--navy); }
.sp-diff-list p{ margin-top:6px; color:var(--ink-2); max-width:34em; }
.credit-lead .credit-logos img{ max-height:46px; }
.credit-logos .wordmark{ font:800 clamp(17px,1.6vw,20px)/1.15 var(--display); letter-spacing:.04em; color:var(--ink); opacity:.85; }

/* Day at a glance: time · part · title */
.glance a{ grid-template-columns:1fr; gap:4px; }
.glance .g-time, .glance .g-part, .glance .g-title{ grid-column:auto; }
.glance .between .g-part{ display:none; }
@media (min-width:860px){
  .glance a{ grid-template-columns:184px 96px 1fr; gap:0 18px; }
  .glance .g-time{ grid-column:1; } .glance .g-part{ grid-column:2; } .glance .g-title{ grid-column:3; }
  .glance .between .g-part{ display:block; }
}

/* Part 1 opening: sub-brand, then this conversation's theme, then the CLE note */
#conversations .group-intro:not(.group-intro2){ font-weight:500; color:var(--ink-2); }
.theme-h{ margin-top:clamp(22px,2.8vw,32px); padding-top:clamp(16px,2vw,22px); border-top:1px solid var(--line); font:800 clamp(20px,2.1vw,26px)/1.1 var(--display); letter-spacing:.04em; text-transform:uppercase; color:var(--navy); max-width:34em; }
.theme-h + .group-intro2{ margin-top:10px; }
#conversations .cle-line{ margin-top:clamp(18px,2.4vw,26px); }
#conversations .group-intro2{ font-weight:500; color:var(--ink); }
#conversations .group-intro2 strong{ color:var(--navy); }

.part-h .t-call{ color:var(--orange-dk); font-size:1.12em; }
.part:not(.part-plain) > .part-h{ font-size:clamp(26px,2.9vw,38px); }
.part > .cle-line{ margin:0 0 clamp(8px,1.2vw,14px); }

/* ── Part 1 layout: two numbered headline blocks, quiet logistics ── */
#conversations .part:not(.part-plain){ margin-top:clamp(40px,5vw,60px); padding-top:clamp(22px,2.8vw,32px); border-top:3px solid var(--navy); }
.part-meta{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.part-meta .pn{ display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--navy); color:#fff; font:800 16px/1 var(--display); }
.part-meta .pt{ font:700 13.5px/1.4 var(--body); letter-spacing:.05em; text-transform:uppercase; color:var(--ink-2); }
#conversations .part:not(.part-plain) > .part-h{ padding:0; border:0; font:900 clamp(36px,4.6vw,58px)/.95 var(--display); letter-spacing:.005em; color:var(--navy); }
.part-sub{ margin-top:8px; font:500 clamp(19px,2vw,23px)/1.3 var(--body); color:var(--navy); }
.part-lead{ margin-top:clamp(18px,2.4vw,26px); }
#conversations .item h4{ font-size:clamp(24px,2.6vw,32px); }
.tnote{ display:block; margin-top:4px; font:500 12.5px/1.35 var(--body); letter-spacing:0; text-transform:none; color:var(--ink-2); }
.mod{ margin-top:10px; font:700 13px/1.3 var(--body); letter-spacing:.14em; text-transform:uppercase; color:var(--orange-dk); }
@media (min-width:760px){ .item.no-time > .item-body{ grid-column:2; } }
/* check-in: one small line */
.item.log{ padding:16px 0; }
.log-text{ color:var(--ink-2); }
.log-text b{ color:var(--navy); }
/* breaks: thin labelled divider */
.item.brk{ display:block; padding:clamp(14px,2vw,22px) 0; }
.brk-line{ display:flex; align-items:center; gap:14px; font:700 12.5px/1 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); }
.brk-line::before, .brk-line::after{ content:''; flex:1; height:1px; background:var(--line); }

/* Part 1 speaker rows: odd last card stays card-sized on phones (no full-width stretch) */
@media (max-width:759px){ #conversations .people > .person:last-child:nth-child(odd){ grid-column:auto; } #conversations .people > .person:last-child:nth-child(odd) .photo{ aspect-ratio:4/5; } }
@media (min-width:960px){ .sp-diff-list{ grid-template-columns:repeat(3,1fr); } }
.also-real{ margin-top:clamp(16px,2vw,22px); max-width:36em; font-size:clamp(17px,1.5vw,18px); line-height:1.55; color:var(--ink); }
.also-real strong{ color:var(--navy); }
.panelists{ margin-top:4px; font:500 15px/1.4 var(--body); color:var(--ink-2); }

/* ── Part 2 = equal pillar: same block structure as Part 1 ── */
#sessions .part:not(.part-plain){ margin-top:clamp(40px,5vw,60px); padding-top:clamp(22px,2.8vw,32px); border-top:3px solid var(--cream); position:relative; }
#sessions .part-meta .pn{ background:var(--cream); color:var(--night); }
#sessions .part-meta .pt{ color:var(--cream-2); }
#sessions .part:not(.part-plain) > .part-h{ padding:0; border:0; font:900 clamp(36px,4.6vw,58px)/.95 var(--display); letter-spacing:.005em; color:var(--cream); }
#sessions .part-sub{ color:var(--orange-lt); font-weight:700; }
.part-intro{ margin-top:8px; font:500 clamp(18px,1.8vw,21px)/1.45 var(--body); color:var(--cream-2); }
#sessions .theme-h{ color:var(--cream); border-top-color:var(--line-night); }
#sessions .group-intro2 strong{ color:var(--cream); }
#sessions .item h4{ font-size:clamp(24px,2.6vw,32px); }
/* BREAKOUT/SESSIONS lockup, echoing the YOUR100/ mark */
.part-lockup{ display:flex; align-items:flex-end; flex-wrap:wrap; }
.part-lockup .pl-a{ font:900 clamp(40px,5.2vw,66px)/.86 var(--display); letter-spacing:.004em; text-transform:uppercase; }
.part-lockup .pl-s{ margin:0 .02em; font:900 clamp(48px,6.2vw,80px)/.8 var(--display); color:var(--orange); transform:skewX(-8deg); }
.part-lockup .pl-b{ margin-bottom:.06em; font:400 clamp(17px,2.1vw,27px)/1 Anton, sans-serif; letter-spacing:.02em; text-transform:uppercase; color:var(--orange-lt); }
/* Franco's sticker inside the arrival block */
.part.has-badge .food-badge{ position:absolute; right:0; bottom:auto; top:clamp(10px,2vw,24px); transform:rotate(-10deg); box-shadow:0 0 0 4px var(--night), 0 0 0 5px rgba(175,5,5,.5), 0 10px 24px rgba(0,0,0,.35); }
@media (max-width:759px){ .part.has-badge .food-badge{ position:relative; top:auto; margin:16px 0 4px; width:120px; } }
.part.has-badge > .part-h, .part.has-badge > .part-sub{ padding-right:clamp(0px,16vw,190px); }
/* make the YOUR100/SESSIONS header as heavy as CONVERSATIONS OF CONSEQUENCE */
#sessions .group-lockup{ --lh:calc(min(72px, (100vw - 2 * var(--gut)) / 6.6) * 1.04); }
#sessions .group-intro strong{ color:var(--cream); }
#sessions .group-intro:not(.group-intro2){ font-weight:500; color:var(--cream-2); }
#sessions .group-intro2{ font-weight:500; color:var(--cream-2); }

/* PARTY: YOUR100/SESSIONS — prefix set like CONVERSATIONS OF CONSEQUENCE */
.group-lockup.has-prefix{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:.1em .32em; }
.group-lockup .gp{ font:900 min(56px, calc((100vw - 2 * var(--gut)) / 8.4))/.92 var(--display); text-transform:uppercase; color:var(--cream); margin-bottom:calc(var(--lh) * 0.42); }
#sessions .group-lockup{ --lh:calc(min(64px, (100vw - 2 * var(--gut)) / 7.4) * 1.04); }
/* BREAKOUT/SESSIONS, JOINT/SESSION — built on the YOUR100/ lockup: heavy italic, outlined middle, the logo's slash, Anton tag */
.blk-lockup{ --lh:clamp(56px,6.4vw,86px); display:flex; align-items:flex-start; padding:0 !important; border:0 !important; color:#fff; }
.blk-lockup .bl-w{ font:italic 900 calc(var(--lh)*1.06)/.7 'Barlow Condensed', var(--display); letter-spacing:-.005em; padding-top:calc(var(--lh)*0.02); text-transform:uppercase; }
.blk-lockup .bl-o{ color:transparent; -webkit-text-stroke:calc(var(--lh)*0.034) #fff; }
.blk-lockup .bl-s{ height:var(--lh); width:auto; display:block; margin-left:calc(var(--lh)*-0.04); }
.blk-lockup .bl-t{ align-self:flex-end; font:400 calc(var(--lh)*.365)/1 Anton, sans-serif; text-transform:uppercase; color:var(--cream); margin-left:calc(var(--lh)*-0.086); margin-bottom:calc(var(--lh)*-0.028); }
#sessions .part-sub{ margin-top:clamp(14px,1.8vw,20px); }
.part.part-plain.has-badge{ position:relative; }
@media (min-width:760px){ .part.part-plain.has-badge .food-badge{ top:-10px; } }
#sessions .log-text{ color:var(--cream-2); }
#sessions .log-text b{ color:var(--cream); }
@media (min-width:760px){ .part.part-plain.has-badge .item.log{ padding-right:200px; } }
@media (max-width:759px){ #sessions .people > .person:last-child:nth-child(odd){ grid-column:auto; } #sessions .people > .person:last-child:nth-child(odd) .photo{ aspect-ratio:4/5; } }

/* Part 2 heading: CONNECTION. MUSIC. TOGETHER. above the YOUR100/SESSIONS logo */
.group-lockup.has-prefix{ flex-direction:column; align-items:flex-start; gap:clamp(10px,1.4vw,16px); }
.group-lockup .gp{ margin-bottom:0; }
.glance .g-sub{ display:block; margin-top:6px; font:700 clamp(14px,1.4vw,16px)/1.2 var(--body); letter-spacing:.14em; text-transform:uppercase; color:#fff; }
.acts-list h5 + .role{ margin-top:2px; }
.acts-list .role + h5{ margin-top:10px; }
.person.acts .acts-list{ grid-row:span 2; align-self:start; }
/* row with a two-act card: cards size independently so the other names keep their usual spacing */
@media (min-width:600px){ .people:has(.person.acts){ align-items:start; } .people:has(.person.acts) > .person{ display:block; grid-row:auto; } .people:has(.person.acts) .person h5{ margin-top:12px; } }

/* Back to Buffalo Weekend */
.wk-goal{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 14px; margin:0 0 6px; }
.wk-amt{ font:900 clamp(48px,7vw,88px)/.9 var(--display); color:var(--orange); }
.wk-for{ font:700 clamp(16px,1.7vw,19px)/1.3 var(--body); color:#fff; max-width:22em; }
.wk-benef{ margin:0 0 clamp(22px,3vw,30px); color:rgba(255,255,255,.86); }
.sp-rows h3 a{ color:inherit; text-decoration-color:var(--orange-dk); text-underline-offset:4px; }
.wk-levels .wk-amtline{ font-weight:700; color:var(--navy); }
.wk-fine{ margin-top:18px; max-width:42em; font-size:14px; line-height:1.5; color:var(--ink-2); }

.wk-band{ background:var(--navy); color:#fff; padding:clamp(36px,5vw,56px) 0; }
.wk-band-in{ display:grid; gap:18px 40px; align-items:center; }
@media (min-width:860px){ .wk-band-in{ grid-template-columns:auto 1fr auto; } }
.wk-band .eyebrow{ color:var(--orange-lt); }
.wk-band h2{ margin-top:8px; font:900 clamp(30px,3.8vw,48px)/.95 var(--display); text-transform:uppercase; color:#fff; }
.wk-band p:not(.eyebrow){ margin-top:10px; max-width:38em; color:rgba(255,255,255,.9); }
.wk-band .btn{ justify-self:start; }

/* ── Back to Buffalo brand (from backtobuffalo site): ink, brass, rust, paper; Big Shoulders / Source Serif / Plex Mono ── */
body.btob{ --navy:#14191F; --navy-deep:#14191F; --orange:#B08D57; --orange-lt:#C9A46A; --orange-dk:#A8552E; --orange-btn:#A8552E; --orange-btn-hi:#8E4524;
  --paper:#F2EFE9; --ink:#14191F; --ink-2:#3D4651; --line:rgba(20,25,31,.16); --field-edge:#6E7782; --body:'Source Serif 4', Georgia, serif; background:var(--paper); }
.btob .sp-hero{ background:linear-gradient(180deg, rgba(20,25,31,.70), rgba(20,25,31,.94)), url(../assets/btob/buffalo-skyline.jpg) center 28% / cover; }
.btob-badge{ margin:clamp(18px,3vw,30px) 0 clamp(8px,1.4vw,14px); }
.btob-badge img{ display:block; width:min(340px,78vw); height:auto; filter:drop-shadow(0 10px 24px rgba(0,0,0,.45)); }
.btob .sp-event, .btob .eyebrow, .btob .time, .btob .field > label, .btob .field > legend, .btob .wk-amtline{ font-family:'IBM Plex Mono', monospace; letter-spacing:.08em; }
.btob .sp-event{ color:#C9A46A; }
.btob .wk-amt{ color:#C9A46A; }
.btob .sp-title, .btob .sp-statement, .btob .sp-rows h3, .btob .sp-levels b, .btob .sp-form-h{ color:inherit; }
.btob .sp-sec .sp-statement, .btob .sp-sec .sp-rows h3, .btob .sp-sec .sp-levels b, .btob .sp-form-h{ color:#14191F; }
.btob .sp-rows h3 a{ text-decoration-color:#A8552E; }
.btob .wk-levels .wk-amtline{ color:#A8552E; }
.btob .rsvp-form, .btob .rsvp-done{ border-top-color:#A8552E; }
/* invite band, in Back to Buffalo colors */
.wk-band{ background:#14191F; }
.wk-band .eyebrow{ color:#C9A46A; font-family:'IBM Plex Mono', monospace; }
.wk-band .btn{ background:#A8552E; border-color:#A8552E; }
.wk-band .btn:hover{ background:#8E4524; border-color:#8E4524; }
.wk-band-badge{ width:clamp(150px,16vw,200px); height:auto; }

/* Breakout partner credit */
.part-partner{ display:grid; grid-template-columns:auto 1fr; align-items:center; gap:6px 22px; margin:clamp(14px,1.8vw,20px) 0 clamp(6px,1vw,10px); padding:14px 0; border-top:1px solid var(--line-night); border-bottom:1px solid var(--line-night); max-width:620px; }
.pp-label{ grid-column:1 / -1; font:700 12px/1 var(--body); letter-spacing:.18em; text-transform:uppercase; color:var(--cream-2); }
.part-partner img{ height:clamp(52px,6vw,72px); width:auto; }
.pp-line{ font:500 clamp(16px,1.6vw,18px)/1.4 var(--body); color:var(--cream); }

/* The circle gets wider (in The Program band): 50 -> 100 -> 500
   Part 1 card wears the day look; both Sessions sit inside one night panel under the YOUR100/Sessions logo. */
.how{ margin-top:clamp(34px,4.4vw,52px); }
.how-h{ font:800 clamp(22px,2.4vw,30px)/1.05 var(--display); letter-spacing:.03em; text-transform:uppercase; color:#fff; }
.how-intro{ margin-top:8px; max-width:62ch; color:rgba(255,255,255,.86); }
.how-flow{ display:grid; gap:10px; margin-top:clamp(18px,2.2vw,26px); }
.how-sess-flow{ display:grid; gap:10px; margin-top:16px; }
@media (min-width:900px){
  .how-flow{ grid-template-columns:1fr 92px 2.15fr; gap:0; align-items:stretch; }
  .how-sess-flow{ grid-template-columns:1fr 92px 1fr; gap:0; align-items:stretch; }
}
.how-count{ font:900 clamp(52px,5.4vw,74px)/.9 var(--display); color:var(--orange); }
.how-count span{ font:700 13px/1 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--orange-lt); }
.how-k{ margin-top:12px; font:700 12px/1.3 var(--body); letter-spacing:.16em; text-transform:uppercase; }
.how-text{ margin-top:8px; }
/* Part 1: day */
.how-conv{ background:var(--paper); color:var(--ink); padding:clamp(18px,2vw,24px); }
.how-conv .how-count{ color:var(--orange-dk); }
.how-conv .how-count span, .how-conv .how-k{ color:var(--navy); }
.how-conv h4{ margin-top:6px; font:900 clamp(30px,3vw,40px)/.92 var(--display); text-transform:uppercase; color:var(--navy); }
.how-conv .how-text{ color:var(--ink-2); }
/* Part 2: night */
.how-sess{ background:var(--night); color:var(--cream); padding:clamp(18px,2vw,24px); border-top:4px solid var(--orange); }
.how-sess .how-k{ margin-top:0; color:var(--cream-2); }
.how-sess-lk{ --lh:clamp(34px,3.4vw,44px); margin-top:8px; line-height:1; }
.how-sess-lk .logo{ height:var(--lh); width:auto; display:block; flex:none; }
.how-sess-lk .lk-tag{ color:var(--cream); }
.how-stage{ padding:clamp(14px,1.6vw,18px); border:1px solid var(--line-night); }
.how-lk{ --lh:clamp(30px,2.6vw,36px); margin-top:12px; }
.how-time{ margin-top:10px; font:700 12px/1 var(--body); letter-spacing:.12em; color:var(--orange-lt); }
.how-stage .how-text, .how-beats li{ color:var(--cream-2); }
.how-beats{ list-style:none; margin-top:10px; display:grid; gap:10px; }
.how-beat-t{ display:block; font:700 12px/1.5 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--cream); }
/* arrows */
.how-join{ display:flex; align-items:center; justify-content:center; gap:10px; padding:4px 0; text-align:center; font:800 clamp(15px,1.5vw,18px)/1.15 var(--display); text-transform:uppercase; letter-spacing:.03em; color:#fff; }
.how-sess .how-join{ color:var(--cream); }
.how-arrow{ flex:none; width:2px; height:26px; background:var(--orange); position:relative; }
.how-arrow::after{ content:''; position:absolute; left:50%; bottom:-2px; width:9px; height:9px; border-right:2px solid var(--orange); border-bottom:2px solid var(--orange); transform:translateX(-50%) rotate(45deg); }
@media (min-width:900px){
  .how-join{ flex-direction:column; padding:0 8px; }
  .how-arrow{ width:100%; max-width:60px; height:2px; order:2; }
  .how-arrow::after{ left:auto; right:0; bottom:auto; top:50%; transform:translateY(-50%) rotate(-45deg); }
}
.how-outro{ margin-top:clamp(18px,2.2vw,26px); font:800 clamp(20px,2.2vw,28px)/1.15 var(--display); text-transform:uppercase; letter-spacing:.02em; color:#fff; }
.blk-img img{ height:calc(var(--lh) * 1.16); width:auto; max-width:100%; display:block; }

/* ── The day (right after the hero) ──
   Three equal rows on one grid. Times are the anchors; brand names are the headlines, all one size,
   so no part of the day outranks another. The circle widens in the "who" line. Orange only on "+ eight more". */
.iw{ background:var(--paper); color:var(--ink); padding:clamp(56px,8vw,108px) 0 clamp(64px,9vw,120px); }
.iw-moments{ list-style:none; border-bottom:1px solid var(--ink); }
.iw-m{ display:grid; gap:10px 0; padding:clamp(26px,3.2vw,40px) 0; border-top:1px solid var(--ink); }
.iw-time{ font:800 clamp(52px,6.2vw,92px)/.8 var(--display); letter-spacing:-.01em; color:var(--ink); font-variant-numeric:tabular-nums; }
.iw-time span{ margin-left:.12em; font:700 13px/1 var(--body); letter-spacing:.14em; color:var(--ink-2); vertical-align:top; }
.iw-title{ font:900 clamp(32px,3.5vw,50px)/.92 var(--display); text-transform:uppercase; color:var(--ink); }
.iw-who{ margin-top:12px; font:700 12.5px/1.4 var(--body); letter-spacing:.18em; text-transform:uppercase; color:var(--ink); }
.iw-acc{ color:var(--orange-dk); }
.iw-text{ margin-top:10px; max-width:54ch; font-size:clamp(17px,1.35vw,18.5px); color:var(--ink-2); }
.iw-cle{ margin-top:10px; font-size:13.5px; color:var(--ink-2); }
.iw-bill{ margin-top:14px; max-width:none; font:800 clamp(19px,1.8vw,24px)/1.2 var(--display); text-transform:uppercase; letter-spacing:.01em; color:var(--ink); }
.iw-sep{ color:var(--ink-2); font-weight:400; }
.iw-with{ display:block; margin-top:6px; font:600 14px/1.4 var(--body); letter-spacing:0; text-transform:none; color:var(--ink-2); }
@media (min-width:900px){
  .iw-m{ grid-template-columns:clamp(200px,22vw,280px) 1fr; align-items:baseline; }
  .iw-who{ margin-top:14px; }
}
/* Why: the thesis, no label. More air; sits on the content column of the grid above. */
.iw-why{ margin-top:clamp(72px,10vw,136px); }
.iw-why p:not(.iw-close):not(.iw-cta){ max-width:24ch; font:500 clamp(25px,2.7vw,36px)/1.25 var(--body); letter-spacing:-.01em; color:var(--ink); }
.iw-why p + p:not(.iw-close):not(.iw-cta){ margin-top:.55em; }
.iw-close{ margin-top:clamp(26px,3vw,36px); font:900 clamp(30px,3.4vw,48px)/.95 var(--display); text-transform:uppercase; color:var(--ink); }
.iw-cta{ margin-top:clamp(24px,2.8vw,32px); }
@media (min-width:900px){ .iw-why{ padding-left:clamp(200px,22vw,280px); } }
/* sponsor pitch, moved from the hero into the credits */
.credit-pitch-text{ max-width:56ch; color:var(--ink); }
/* Overview with the people column removed */
.ov-grid.ov-solo{ grid-template-columns:1fr; }
.ov-solo .ov-needs{ max-width:760px; padding-left:0; border-left:0; }
.iw-m:first-child{ border-top:0; padding-top:0; }
.iw-quip{ margin-top:8px; font:italic 600 clamp(17px,1.35vw,18.5px)/1.4 var(--body); color:var(--ink); }
.iw-partner{ display:flex; align-items:center; gap:14px; margin-top:18px; }
.iw-partner span{ font:700 11.5px/1.3 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); }
.iw-partner img{ height:44px; width:auto; }
.iw-partner{ flex-wrap:wrap; }
.iw-partner em{ padding-left:14px; border-left:1px solid var(--ink-2); font:italic 500 15px/1.35 var(--body); color:var(--ink); }
.iw-bl{ display:block; }
/* The day: navy, the brand's dark (was near-black ink), so it reads as one system with the hero */
.iw-moments, .iw-m{ border-color:var(--navy); }
.iw-time, .iw-title, .iw-who, .iw-bill, .iw-text strong, .iw-quip, .iw-close, .iw-why p:not(.iw-close):not(.iw-cta), .iw-partner em{ color:var(--navy); }
.iw-time span, .iw-with, .iw-cle, .iw-partner span{ color:var(--ink-2); }
.iw-partner em{ border-left-color:var(--navy); }
/* Sessions headlines use the lockups; sized so the wordmark reads at the same weight as the type headline */
.iw-logo{ line-height:0; }
.iw-logo img{ height:clamp(40px,4.3vw,62px); width:auto; max-width:100%; }
@media (min-width:900px){ .iw-m{ align-items:start; } .iw-time{ margin-top:-4px; } }
/* Day -> night: Conversations on the light day background; Sessions in a night band under the YOUR100/Sessions logo */
.iw:not(.iw-night){ padding-bottom:clamp(56px,7vw,96px); }
.iw:not(.iw-night) .iw-moments{ border-bottom:0; }
.iw-night{ background:var(--night); color:var(--cream); padding-top:clamp(56px,7vw,96px); }
.iw-sess-head{ padding-bottom:clamp(22px,2.6vw,32px); }
@media (min-width:900px){ .iw-sess-head{ padding-left:clamp(200px,22vw,280px); } }
.iw-sess-lk{ --lh:clamp(44px,4.6vw,66px); line-height:1; }
.iw-sess-lk .logo{ height:var(--lh); width:auto; display:block; flex:none; }
.iw-sess-lk .lk-tag{ color:var(--cream); }
.iw-night .iw-m:first-child{ border-top:1px solid var(--line-night); padding-top:clamp(26px,3.2vw,40px); }
.iw-night .iw-moments, .iw-night .iw-m{ border-color:var(--line-night); }
.iw-night .iw-title{ font-size:clamp(26px,2.7vw,38px); }
.iw-night .iw-time, .iw-night .iw-title, .iw-night .iw-who, .iw-night .iw-bill, .iw-night .iw-quip, .iw-night .iw-close,
.iw-night .iw-why p:not(.iw-close):not(.iw-cta), .iw-night .iw-partner em{ color:var(--cream); }
.iw-night .iw-text, .iw-night .iw-with, .iw-night .iw-time span, .iw-night .iw-partner span, .iw-night .iw-sep{ color:var(--cream-2); }
.iw-night .iw-acc{ color:var(--orange-lt); }
.iw-night .iw-partner em{ border-left-color:var(--line-night); }
.iw-night :focus-visible{ outline-color:var(--orange-lt); }
/* who's with you sits under the time */
.iw-when .iw-who{ margin-top:12px; max-width:16em; }
.iw-body > .iw-title + .iw-text{ margin-top:12px; }
@media (max-width:899px){
  .iw-when{ margin-bottom:10px; }
  .iw-partner em{ flex-basis:100%; padding-left:0; border-left:0; }
}
.iw-inline-lk{ --lh:1.42em; vertical-align:-.2em; margin-right:.18em; }
.iw-inline-lk .logo{ height:var(--lh); width:auto; display:block; flex:none; }
.iw-inline-lk .lk-tag{ color:var(--cream); }
/* ── Agenda: a header row per part (left: Afternoon / Evening; right: the brand), then timed rows ── */
.iw-head{ display:grid; gap:6px 0; padding-bottom:clamp(24px,3vw,36px); }
@media (min-width:900px){ .iw-head{ grid-template-columns:clamp(200px,22vw,280px) 1fr; align-items:start; } }
.iw-label{ font:800 clamp(20px,1.9vw,24px)/1 var(--display); letter-spacing:.06em; text-transform:uppercase; color:var(--navy); padding-top:.35em; }
.iw-night .iw-label{ color:var(--cream); }
.iw-head .iw-who{ margin-top:10px; }
.iw-head-h{ font:900 clamp(34px,3.7vw,54px)/.92 var(--display); text-transform:uppercase; color:var(--navy); }
.iw-head .iw-text{ margin-top:14px; }
.iw-more{ margin-top:14px; font:700 14px/1.3 var(--body); letter-spacing:.04em; }
.iw-more a{ color:var(--navy); text-underline-offset:3px; }
.iw-night .iw-more a{ color:var(--cream); }
.iw .iw-head + .iw-moments .iw-m:first-child{ border-top:1px solid var(--navy); padding-top:clamp(26px,3.2vw,40px); }
.iw-night .iw-head + .iw-moments .iw-m:first-child{ border-top-color:var(--line-night); }
.iw-title{ font-size:clamp(26px,2.7vw,38px); }
.iw-sess-lk{ margin-top:-.08em; }
/* Speakers page */
.spk-hero .btn{ margin-top:clamp(18px,2.2vw,26px); }
.spk-cta{ background:var(--paper); padding:clamp(56px,7vw,96px) 0; }
.spk-cta .iw-close{ color:var(--navy); }
.iw-pmark, .pp-mark{ font:800 clamp(20px,1.9vw,26px)/1 var(--display); text-transform:uppercase; letter-spacing:.02em; color:var(--cream); }
.iw-partner img[src*="listening-room"]{ height:100px; }
.part-partner img[src*="listening-room"]{ height:110px; width:auto; }
.iw-more-all{ margin-top:clamp(20px,2.4vw,28px); font-size:15px; }
@media (min-width:900px){ .iw-more-all{ padding-left:clamp(200px,22vw,280px); } }
/* Why: its own navy section after the agenda (bookends the hero) */
.iw-night{ padding-bottom:clamp(56px,7vw,96px); }
.iw-blue{ background:var(--navy); color:#fff; padding:clamp(64px,8vw,112px) 0; }
.iw-blue .iw-why{ margin-top:0; }
.iw-blue .iw-why p:not(.iw-close):not(.iw-cta), .iw-blue .iw-close{ color:#fff; }
.iw-blue :focus-visible{ outline-color:var(--orange-lt); }
.iw-why p.iw-after{ margin-top:clamp(12px,1.4vw,16px) !important; max-width:none !important; font:500 clamp(19px,1.7vw,23px)/1.4 var(--body) !important; color:#fff; }
/* who's with you: prominent; each new addition in orange */
.iw-when .iw-who, .iw-head .iw-who{ margin-top:12px; font:800 clamp(19px,1.8vw,24px)/1.1 var(--display); letter-spacing:.03em; text-transform:uppercase; color:var(--navy); }
.iw-night .iw-when .iw-who{ color:var(--cream); }
.iw-acc{ color:var(--orange-dk); }
.iw-night .iw-acc{ color:var(--orange-lt); }
.iw-panels{ list-style:none; display:grid; gap:clamp(22px,2.6vw,30px); }
.iw-panels .iw-cle{ margin-top:6px; }
.iw-panels .iw-bill{ margin-top:8px; }
.iw-who .iw-acc{ display:block; margin-top:2px; }   /* each new layer on its own line */
/* partner logos in the Afternoon / Evening headers */
.iw-partners{ margin-top:clamp(18px,2.2vw,26px); }
.iw-plabel{ font:700 11.5px/1.3 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); }
.iw-night .iw-plabel{ color:var(--cream-2); }
.iw-partners ul{ list-style:none; display:flex; flex-wrap:wrap; align-items:center; gap:18px clamp(28px,3.6vw,48px); margin-top:12px; }
.iw-partners li{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.iw-partners img{ width:auto; max-width:100%; }
.iw-partners em{ font:italic 500 14.5px/1.35 var(--body); color:var(--navy); }
.iw-night .iw-partners em{ color:var(--cream); }
/* event partners: stacked rows (logo | line) */
.iw-partners ul{ flex-direction:column; align-items:flex-start; gap:14px; }
.iw-partners li{ flex-direction:row; align-items:center; gap:18px; }
.iw-partners li img{ flex:none; }
.iw-partners li em{ padding-left:18px; border-left:1px solid var(--line); }
.iw-night .iw-partners li em{ border-left-color:var(--line-night); }
.iw-partners li img[src*="listening-room"]{ width:auto; }
@media (min-width:600px){ .iw-partners li img{ min-width:0; } }
.iw-partners li:has(em){ display:grid; grid-template-columns:184px auto; align-items:center; gap:18px; }
.iw-partners li:has(em) img{ justify-self:start; }
@media (max-width:520px){ .iw-partners li:has(em){ grid-template-columns:1fr; gap:8px; } .iw-partners li em{ padding-left:0; border-left:0; } }
/* tagline set inline, right after the event title */
.iw-titleline{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 16px; }
.iw-titleline .iw-quip{ margin-top:0; }
/* merged: logos stacked on the left, one line beside them spanning the stack */
.iw-merged{ display:grid; grid-template-columns:auto 1fr; align-items:center; column-gap:22px; }
.iw-merged .iw-plabel{ grid-column:1 / -1; }
.iw-merged ul{ grid-column:1; }
.iw-merged .iw-pline{ grid-column:2; align-self:stretch; display:flex; align-items:center; margin-top:12px; padding-left:22px; border-left:1px solid var(--line-night); max-width:24em; font:italic 500 15.5px/1.4 var(--body); color:var(--cream); }
@media (max-width:520px){ .iw-merged{ grid-template-columns:1fr; } .iw-merged .iw-pline{ grid-column:1; padding-left:0; border-left:0; } }
.iw-merged .iw-pline{ max-width:none; }
@media (min-width:521px){ .iw-merged{ grid-template-columns:200px 1fr; } }
/* ── What's YOUR100? | Back to Buffalo (two columns after the Why) ── */
.y1w{ background:var(--paper); color:var(--ink); padding:clamp(64px,8vw,112px) 0; }
.y1w-grid{ display:grid; gap:clamp(40px,5vw,64px); align-items:start; }
@media (min-width:960px){ .y1w-grid{ grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); } }
.y1w-h{ font:700 13px/1.3 var(--body); letter-spacing:.2em; text-transform:uppercase; color:var(--ink-2); }
.y1w-lead{ margin-top:12px; font:900 clamp(38px,4.4vw,62px)/.92 var(--display); text-transform:uppercase; color:var(--navy); }
.y1w-what p:not(.y1w-lead):not(.y1w-h){ margin-top:16px; max-width:40em; font-size:clamp(17px,1.35vw,18.5px); color:var(--ink-2); }
.y1w-what strong{ color:var(--navy); }
.y1w-what .y1w-close{ margin-top:24px !important; padding-top:20px; border-top:1px solid var(--line); font:500 clamp(20px,1.8vw,24px)/1.35 var(--body) !important; color:var(--navy) !important; }
.y1w-close em{ font-style:normal; color:var(--orange-dk); font-weight:700; }
/* Back to Buffalo: its own brand (ink / brass / rust) */
.y1w-btob{ background:#14191F; color:#F3EDE3; padding:clamp(26px,3vw,40px); }
.y1w-badge{ width:min(260px,70%); height:auto; }
.y1w-k{ margin-top:18px; font:500 12.5px/1.3 'IBM Plex Mono', monospace; letter-spacing:.12em; text-transform:uppercase; color:#C9A46A; }
.y1w-btob h2{ margin-top:8px; font:900 clamp(30px,3vw,42px)/.95 var(--display); text-transform:uppercase; color:#F3EDE3; }
.y1w-btob p:not(.y1w-k){ margin-top:12px; color:rgba(243,237,227,.88); }
.y1w-btob .btn{ margin-top:20px; background:#A8552E; border-color:#A8552E; }
.y1w-btob .btn:hover{ background:#8E4524; border-color:#8E4524; }
.y1w-btob :focus-visible{ outline-color:#C9A46A; }
/* Back to Buffalo card: the brand's light paper, so the real logo (steel / rust / brass) reads */
.y1w-btob{ background:#F2EFE9; color:#14191F; border:1px solid #C9C4B8; border-top:4px solid #3D6178; }
.y1w-badge{ width:min(240px,62%); }
.y1w-k{ color:#3D6178; }
.y1w-btob h2{ color:#14191F; }
.y1w-btob p:not(.y1w-k){ color:#1C232B; }
.y1w-btob :focus-visible{ outline-color:#3D6178; }
/* What's YOUR100/? — heading as the logo lockup */
.y1w-lk{ --lh:clamp(40px,4.2vw,58px); display:flex; align-items:flex-end; flex-wrap:wrap; gap:0 .28em; font:900 calc(var(--lh)*.98)/.82 var(--display) !important; letter-spacing:0 !important; text-transform:uppercase; color:var(--navy) !important; }
.y1w-lk .logo{ height:var(--lh); width:auto; display:block; flex:none; }
.y1w-lk .lk-tag{ color:var(--navy); font-size:calc(var(--lh)*.62); margin-left:calc(var(--lh)*-0.06); margin-bottom:calc(var(--lh)*-0.03); }
.y1w-lk + .y1w-lead{ margin-top:clamp(18px,2vw,26px); font-size:clamp(30px,3.2vw,44px); color:var(--orange-dk); }
.y1w-lk{ --lh:clamp(50px,5.2vw,74px); align-items:flex-end; font-size:calc(var(--lh)*.74) !important; line-height:.78 !important; }
.y1w-lk .y1w-what-w{ padding-bottom:calc(var(--lh)*.06); }
.y1w-lk .lk-tag{ font:400 calc(var(--lh)*.42)/1 Anton, 'Arial Narrow', sans-serif; margin-left:calc(var(--lh)*-0.086); margin-bottom:calc(var(--lh)*-0.02); }
.y1w-lk .lockup{ position:relative; top:calc(var(--lh)*.2); }
.y1w-lk{ margin-bottom:calc(var(--lh)*.2); }
/* What's YOUR100? — the brand lockup (assets/brand/whats-your100-navy.svg, from 01 Logo + Favicon) */
.y1w-logo{ line-height:0; }
.y1w-logo img{ width:clamp(220px,24vw,320px); height:auto; }
.y1w-logo + .y1w-lead{ margin-top:clamp(20px,2.4vw,30px); font-size:clamp(30px,3.2vw,44px); color:var(--orange-dk); }
/* ── Afternoon panels, cleaned up: one loud style (the title), everything else supports it ── */
.iw-panels{ gap:0; }
.iw-panels > li{ padding:clamp(18px,2.2vw,24px) 0; border-top:1px solid var(--line); }
.iw-panels > li:first-child{ padding-top:0; border-top:0; }
.iw-panels > li:last-child{ padding-bottom:0; }
.iw-cred{ margin-top:8px; font:700 11.5px/1.4 var(--body); letter-spacing:.14em; text-transform:uppercase; color:var(--orange-dk); }
.iw-names{ margin-top:10px; font:700 clamp(17px,1.45vw,19px)/1.35 var(--body); color:var(--navy); }
.iw-dot{ color:var(--ink-2); font-weight:400; }
.iw-tba{ margin-top:10px; font:italic 400 16.5px/1.4 var(--body); color:var(--ink-2); }
.iw-mod{ margin-top:4px; font:400 15px/1.4 var(--body); color:var(--ink-2); }
.iw-mod b{ font-weight:600; color:var(--ink); }
/* partners under a panel: one row, label then logos at a matched height */
.iw-panels .iw-partners{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 26px; margin-top:16px; }
.iw-panels .iw-partners .iw-plabel{ margin:0; }
.iw-panels .iw-partners ul{ flex-direction:row; align-items:center; gap:26px; margin-top:0; }
.iw-panels .iw-partners img[src*="miss-val"]{ height:34px !important; }
.iw-panels .iw-partners img[src*="jim-kelly"]{ height:52px !important; }
/* speakers in the artist bill format; moderator marked with a small (moderator) under the name */
.iw-spk{ display:flex; flex-wrap:wrap; align-items:flex-start; column-gap:.3em; margin-top:10px; }
.iw-spk .iw-nm{ white-space:nowrap; }
.iw-spk .iw-sep{ white-space:pre; }
.iw-modr{ display:inline-flex; flex-direction:column; }
.iw-modr small{ font:500 12.5px/1.3 var(--body); text-transform:none; letter-spacing:0; color:var(--ink-2); margin-top:2px; }
.iw-spk + .iw-tba{ margin-top:6px; }
.iw-spk{ column-gap:0; }
/* $1 Billion in orange */
.iw-hl{ color:var(--orange-dk); }
/* links after the RSVP in the Why */
.iw-links{ display:flex; flex-wrap:wrap; gap:10px 28px; margin-top:clamp(20px,2.4vw,28px); font:700 15px/1.3 var(--body); }
.iw-links a{ color:#fff; text-underline-offset:3px; }
/* speakers page: our partners */
.spk-partners{ background:var(--paper); padding:clamp(56px,7vw,96px) 0 0; }
.spk-partners-h{ font:900 clamp(34px,3.7vw,54px)/.92 var(--display); text-transform:uppercase; color:var(--navy); }
.spk-pgroup{ display:grid; gap:12px 32px; padding:clamp(22px,2.6vw,30px) 0; border-top:1px solid var(--line); margin-top:clamp(18px,2vw,24px); }
.spk-pgroup + .spk-pgroup{ margin-top:0; }
@media (min-width:900px){ .spk-pgroup{ grid-template-columns:clamp(200px,22vw,280px) 1fr; align-items:center; } .spk-pgroup p{ grid-column:2; } }
.spk-pgroup h3{ font:800 clamp(18px,1.6vw,22px)/1.1 var(--display); text-transform:uppercase; letter-spacing:.03em; color:var(--navy); }
.spk-pgroup ul{ list-style:none; display:flex; flex-wrap:wrap; align-items:center; gap:18px 40px; }
.spk-pgroup img{ width:auto; max-width:100%; }
.spk-pgroup p{ font:italic 500 15.5px/1.4 var(--body); color:var(--ink); }
.iw-teaser{ margin-top:8px; max-width:50ch; font-size:clamp(16.5px,1.3vw,18px); line-height:1.45; color:var(--ink-2); }
.iw-teaser + .iw-spk{ margin-top:12px; }
/* links after the RSVP: link size, not statement size */
.iw-why p.iw-links{ max-width:none !important; font:700 15px/1.3 var(--body) !important; letter-spacing:0 !important; margin-top:clamp(20px,2.4vw,28px) !important; }
.iw-teaser{ max-width:62ch; }
/* hero invitation line, more prominent */
.hero .kicker .k1{ font:900 clamp(32px,3.6vw,48px)/.95 var(--display); letter-spacing:.01em; text-transform:uppercase; color:#fff; }
.hero .kicker .k2{ margin-top:8px; font:600 clamp(17px,1.5vw,20px)/1.35 var(--body) !important; letter-spacing:0 !important; text-transform:none !important; color:#fff; }
/* who's with you: a growing stack (1, then 2, then 3 lines); the newest addition is orange */
.iw-when .iw-stack{ margin-top:14px; font:800 clamp(24px,2.5vw,34px)/1.02 var(--display); letter-spacing:.02em; text-transform:uppercase; white-space:normal; }
.iw-stack > span{ display:block; }
/* RSVP page: the header already says RSVP, so the form section's own heading is for screen readers only */
body[data-page="rsvp"] #rsvp-h{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* What's YOUR100?: one column, then the participating networks */
.y1w .y1w-what{ max-width:760px; }
.y1w-nets{ margin-top:clamp(36px,4.4vw,52px); padding-top:clamp(22px,2.6vw,30px); border-top:1px solid var(--line); }
.y1w-nets-h{ font:700 12px/1.3 var(--body); letter-spacing:.18em; text-transform:uppercase; color:var(--ink-2); }
.y1w-nets ul{ list-style:none; display:flex; flex-wrap:wrap; align-items:center; gap:24px clamp(40px,6vw,80px); margin-top:20px; }
.y1w-nets li img{ height:clamp(150px,14vw,196px); width:auto; }
.y1w-netlk{ --lh:clamp(44px,4.4vw,58px); }
.y1w-netlk .logo{ height:var(--lh); width:auto; display:block; flex:none; }
.y1w-netlk .lk-tag{ color:var(--navy); }
.y1w-netlk .lk-tag{ color:var(--orange-dk); }
.y1w-nets li img{ height:clamp(200px,19vw,270px); }
/* ── Review fixes ── */
/* hero: date · time */
.fl-sep{ margin:0 .35em; opacity:.7; }
/* What's YOUR100? on the same two-column grid as the agenda */
.y1w-grid2{ display:grid; gap:24px 0; }
@media (min-width:900px){ .y1w-grid2{ grid-template-columns:clamp(200px,22vw,280px) 1fr; align-items:start; } .y1w-grid2 .y1w-logo img{ width:min(220px,90%); } }
.y1w .y1w-grid2 .y1w-what{ max-width:720px; }
.y1w-logo + .y1w-what .y1w-lead, .y1w-what > .y1w-lead:first-child{ margin-top:0; font-size:clamp(30px,3.2vw,44px); color:var(--orange-dk); }
.y1w-cta{ margin-top:clamp(28px,3.4vw,40px); }
/* participating networks: two equal tiles, logos centered */
.y1w-nets ul{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
.y1w-nets li{ display:flex; align-items:center; justify-content:center; min-height:clamp(200px,20vw,260px); padding:20px; background:#fff; border:1px solid var(--line); }
.y1w-nets li img{ height:clamp(170px,16vw,220px) !important; width:auto; }
.y1w-netlk{ --lh:clamp(34px,3vw,44px); flex-wrap:wrap; }
@media (max-width:599px){ .y1w-nets ul{ grid-template-columns:1fr; } .y1w-netlk{ --lh:42px; } }
/* afternoon partners: same stacked + line treatment as the evening, on the light background */
.iw-panels .iw-partners.iw-merged{ display:grid; grid-template-columns:200px 1fr; align-items:center; column-gap:22px; margin-top:18px; }
.iw-panels .iw-merged ul{ flex-direction:column; align-items:flex-start; gap:14px; }
.iw-panels .iw-partners img[src*="miss-val"]{ height:40px !important; }
.iw-panels .iw-partners img[src*="jim-kelly"]{ height:84px !important; }
.iw:not(.iw-night) .iw-merged .iw-pline{ color:var(--navy); border-left-color:var(--line); }
@media (max-width:520px){ .iw-panels .iw-partners.iw-merged{ grid-template-columns:1fr; } }
/* moderator on its own line on phones */
@media (max-width:599px){ .iw-spk .iw-modr{ flex-basis:100%; margin-bottom:6px; } .iw-spk .iw-modr + .iw-sep{ display:none; } }
/* RSVP: extra-guests select */
.when-more select{ width:100%; max-width:220px; padding:12px 14px; font:inherit; border:1px solid var(--field-edge); background:#fff; color:var(--ink); }
.y1w-nets ul{ align-items:stretch; }
.y1w-netlk{ --lh:clamp(30px,2.9vw,40px); flex-wrap:nowrap; }
@media (max-width:599px){ .y1w-netlk{ --lh:36px; } }
.y1w-nets .y1w-netlk .logo{ height:var(--lh) !important; width:auto; }
.y1w-what p.y1w-cta{ margin-top:clamp(28px,3.4vw,40px) !important; }
/* ── Alternate hero: the orange ticket (?hero=ticket) ──
   Retro roll-ticket: scalloped ends, inset double rule, mono serials, flat offset print shadow.
   Brand-only: orange / navy / cream, Big Shoulders + Anton (lockup) + IBM Plex Mono. */
.tk-head{ font:900 clamp(30px,4.2vw,54px)/.95 var(--display); text-transform:uppercase; letter-spacing:.005em; color:#fff; }
.ticket{
  --notch:9px;
  position:relative; display:grid; grid-template-columns:1fr auto; max-width:620px; margin-top:clamp(20px,2.6vw,30px);
  background:var(--orange) radial-gradient(rgba(255,255,255,.07) 1px, transparent 1.2px) 0 0/6px 6px;
  color:var(--cream); transform:rotate(-2.5deg);
  /* scalloped short ends */
  -webkit-mask: radial-gradient(circle var(--notch) at 0 50%, #0000 98%, #000) 0 0/51% calc(var(--notch)*2.4) repeat-y,
                radial-gradient(circle var(--notch) at 100% 50%, #0000 98%, #000) 100% 0/51% calc(var(--notch)*2.4) repeat-y;
          mask: radial-gradient(circle var(--notch) at 0 50%, #0000 98%, #000) 0 0/51% calc(var(--notch)*2.4) repeat-y,
                radial-gradient(circle var(--notch) at 100% 50%, #0000 98%, #000) 100% 0/51% calc(var(--notch)*2.4) repeat-y;
  filter:drop-shadow(8px 8px 0 #0b0d58);   /* flat offset, like a misregistered print */
}
.ticket::before{ content:''; position:absolute; inset:12px 18px; border:2px solid rgba(243,236,226,.85); outline:1px solid rgba(243,236,226,.5); outline-offset:3px; pointer-events:none; }
.ticket::after{ display:none; }
.tk-main{ position:relative; padding:clamp(26px,3vw,36px) clamp(30px,3.4vw,42px) clamp(22px,2.6vw,30px); }
.tk-top{ display:flex; justify-content:space-between; gap:12px; font:500 11.5px/1 'IBM Plex Mono', monospace; letter-spacing:.18em; text-transform:uppercase; color:var(--cream); }
.ticket h1{ margin:clamp(12px,1.6vw,18px) 0 0; --lh:clamp(36px,4.2vw,52px); }
.ticket .lockup .logo{ height:var(--lh); width:auto; flex:none; }
.ticket .lk-tag{ color:var(--cream); }
.tk-title{ display:block; margin-top:clamp(10px,1.3vw,14px); font:900 clamp(56px,7.2vw,94px)/.84 var(--display); text-transform:uppercase; color:var(--cream); text-shadow:3px 3px 0 #0b0d58; }
.tk-fine{ margin-top:clamp(14px,1.8vw,20px); padding-top:10px; border-top:1px dashed rgba(243,236,226,.7); font:500 11px/1.3 'IBM Plex Mono', monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--cream); }
.tk-stub{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:0 clamp(26px,3vw,38px) 0 clamp(20px,2.4vw,28px);
  background-image:radial-gradient(circle, rgba(11,13,88,.9) 2.5px, transparent 3px); background-size:6px 14px; background-repeat:repeat-y; background-position:left top; }
.tk-stub::before, .tk-stub::after{ display:none; }
.tk-admit{ font:800 clamp(15px,1.5vw,19px)/1 var(--display); letter-spacing:.2em; text-transform:uppercase; color:var(--cream); }
.tk-n{ font:900 clamp(70px,8.4vw,112px)/.82 var(--display); color:var(--cream); text-shadow:3px 3px 0 #0b0d58; }
.tk-stub .tk-serial{ writing-mode:vertical-rl; transform:rotate(180deg); margin-top:6px; font:500 10.5px/1 'IBM Plex Mono', monospace; letter-spacing:.16em; color:var(--cream); }
.tk-line{ margin-top:clamp(24px,3vw,32px); font:600 clamp(17px,1.5vw,20px)/1.35 var(--body); color:#fff; }
.tk-line + .tagline{ margin-top:clamp(14px,1.8vw,20px); }
@media (max-width:520px){ .ticket{ transform:rotate(-1.5deg); --notch:7px; } .tk-stub{ padding:0 18px 0 16px; } .tk-top .tk-serial{ display:none; } .ticket::before{ inset:10px 14px; } }
@media (max-width:520px){ .tk-fine{ font-size:9.5px; letter-spacing:.06em; } }
/* Back to Buffalo, stamped in cream on the ticket */
.tk-btb{ position:absolute; right:clamp(26px,3vw,38px); bottom:clamp(50px,5.4vw,62px); height:clamp(110px,11vw,150px); width:auto; opacity:.95; transform:rotate(4deg); }
@media (max-width:520px){ .ticket .tk-main{ position:static; } .tk-btb{ height:66px; right:18px; bottom:24px; top:auto; } .tk-stub{ justify-content:flex-start; padding-top:34px; } .tk-stub .tk-serial{ display:none; } }
/* both participating networks on the ticket: Close the Justice Gap lockup under the title, Back to Buffalo stamp beside it */
.tk-ctjg{ margin-top:clamp(14px,1.8vw,20px); line-height:1; }
.tk-ctjg .lockup{ --lh:clamp(20px,2vw,26px); }
.tk-ctjg .logo{ height:var(--lh) !important; width:auto; display:block; flex:none; }
.tk-ctjg .lk-tag{ color:var(--cream); }
.tk-btb{ bottom:clamp(54px,5.6vw,66px); }
@media (max-width:520px){ .tk-ctjg .lockup{ --lh:17px; } }
.tk-ctjg .lockup{ --lh:clamp(24px,2.2vw,30px); }
.tk-ctjg .lk-tag{ font-size:calc(var(--lh)*.5); margin-left:calc(var(--lh)*-0.05); }
@media (max-width:520px){ .tk-ctjg .lockup{ --lh:19px; } }
/* networks row on the ticket (replaces the separate CTJG line + floating BTB stamp) */
.tk-nets{ display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; margin-top:clamp(16px,2vw,22px); line-height:1; }
.tk-nets .lockup{ --lh:clamp(24px,2.2vw,30px); }
.tk-nets .logo{ height:var(--lh) !important; width:auto; display:block; flex:none; }
.tk-nets .lk-tag{ color:var(--cream); font-size:calc(var(--lh)*.5); margin-left:calc(var(--lh)*-0.05); }
.tk-plus{ font:900 clamp(30px,3vw,40px)/1 var(--display); color:var(--cream); }
.ticket .tk-btb{ position:static; height:clamp(62px,6vw,80px); width:auto; transform:none; opacity:1; }
@media (max-width:520px){
  .ticket .tk-main{ position:relative; }
  .tk-stub{ justify-content:center; padding-top:0; } .tk-stub .tk-serial{ display:block; }
  .tk-nets{ gap:6px 10px; } .tk-nets .lockup{ --lh:18px; } .tk-plus{ font-size:24px; } .ticket .tk-btb{ height:50px; }
}
@media (max-width:520px){ .tk-nets{ flex-wrap:nowrap; gap:8px; } .tk-nets .lockup{ --lh:15px; } .tk-nets .lk-tag{ font-size:8px; } .tk-plus{ font-size:20px; } .ticket .tk-btb{ height:46px; } }
@media (max-width:400px){ .tk-nets{ flex-wrap:wrap; row-gap:6px; } .tk-nets .lockup{ flex-basis:100%; --lh:17px; } .tk-nets .lk-tag{ font-size:9px; } }
.ticket h1{ margin-top:0; }
.tk-main{ padding-bottom:clamp(26px,3vw,36px); }
.cta-by{ margin-top:10px; font:700 12.5px/1.3 var(--body); letter-spacing:.14em; text-transform:uppercase; color:#fff; }
.cta-by mark.ph{ letter-spacing:0; text-transform:none; }
.btn-2l{ display:inline-flex; flex-direction:column; align-items:center; gap:5px; padding-top:14px; padding-bottom:13px; line-height:1; }
.btn-2l small{ font:600 11px/1.2 var(--body); letter-spacing:.1em; text-transform:uppercase; opacity:.95; }
.btn-2l small mark.ph{ letter-spacing:0; text-transform:none; font-size:11px; }
.btn-2l small{ opacity:1; color:#fff; font-weight:700; }
.tk-hl{ color:var(--orange); white-space:nowrap; }
.hero .cta{ flex-wrap:wrap; }
.cta-why{ flex-basis:100%; margin-top:12px; max-width:30em; font:500 clamp(15px,1.3vw,16.5px)/1.45 var(--body); color:#fff; }
.tk-line{ font:800 clamp(24px,2.5vw,33px)/1.15 var(--display); letter-spacing:.02em; text-transform:uppercase; color:#fff; }
/* the hook, right after the hero */
.iw-hook{ background:#fff; color:var(--navy); padding:clamp(48px,6vw,84px) 0; }
.iw-hook-in p:not(.iw-close){ max-width:26ch; font:500 clamp(25px,2.7vw,36px)/1.25 var(--body); letter-spacing:-.01em; color:var(--navy); }
.iw-hook-in p + p:not(.iw-close){ margin-top:.5em; }
.iw-hook .iw-close{ margin-top:clamp(22px,2.6vw,30px); font:900 clamp(30px,3.4vw,48px)/.95 var(--display); text-transform:uppercase; color:var(--orange-dk); }
@media (min-width:900px){ .iw-hook-in{ padding-left:clamp(200px,22vw,280px); } }
/* closing ask: lead line set larger since the statement now lives above */
.iw-blue .iw-why p.iw-after-lead{ margin-top:0 !important; font:800 clamp(26px,2.9vw,40px)/1.1 var(--display) !important; text-transform:uppercase; color:#fff; }
.iw-blue{ padding:clamp(48px,6vw,80px) 0; }
.iw-hook-in p.iw-hook-after{ max-width:none; margin-top:clamp(12px,1.4vw,16px); font:500 clamp(19px,1.7vw,23px)/1.4 var(--body); color:var(--navy); }
.iw-blue .iw-why .iw-cta{ margin-top:0; }
/* ── Agenda redesign: photo column, bigger type, fewer styles, more air inside rows ── */
.iw .wrap{ max-width:1280px; }
@media (min-width:900px){
  .iw-m{ grid-template-columns:clamp(200px,17vw,250px) minmax(0,1fr) clamp(240px,24vw,320px); column-gap:clamp(28px,3vw,48px); align-items:start; }
  .iw-head{ grid-template-columns:clamp(200px,17vw,250px) minmax(0,1fr); column-gap:clamp(28px,3vw,48px); }
  .iw-more-all{ padding-left:calc(clamp(200px,17vw,250px) + clamp(28px,3vw,48px)); }
}
.iw-m{ padding:clamp(40px,4.6vw,60px) 0; }
.iw-title, .iw-night .iw-title{ font-size:clamp(32px,3.3vw,48px); line-height:.94; }
.iw-text, .iw-teaser{ margin-top:14px; font-size:clamp(17.5px,1.4vw,19.5px); line-height:1.5; max-width:none; }
.iw-bill, .iw-spk{ margin-top:16px; font-size:clamp(20px,1.9vw,26px); }
.iw-cred{ margin-top:10px; }
.iw-titleline .iw-quip{ font-size:clamp(17px,1.4vw,19px); }
.iw-panels{ gap:0; }
.iw-panels > li{ padding:clamp(26px,3vw,36px) 0; }
/* photos */
.iw-pics{ display:grid; gap:10px; }
.iw-pics.n2{ grid-template-columns:1fr 1fr; }
.iw-pic{ margin:0; position:relative; aspect-ratio:4/5; overflow:hidden; }
.iw-pics.n2 .iw-pic{ aspect-ratio:3/4; }
.iw-pic img{ width:100%; height:100%; object-fit:cover; display:block; }
.iw-night .iw-pic{ clip-path:polygon(0 0,100% 0,100% 94%,0 100%); }
@media (max-width:899px){
  .iw-pics{ order:-1; margin:6px 0 4px; }
  .iw-pic{ aspect-ratio:16/10; }
  .iw-pics.n2 .iw-pic{ aspect-ratio:4/5; }
}
/* compact partner credit */
.iw-credit{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; margin-top:22px; padding-top:16px; border-top:1px solid var(--line); }
.iw-night .iw-credit{ border-top-color:var(--line-night); }
.iw-credit .iw-plabel{ margin:0; }
.iw-credit ul{ list-style:none; display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; }
.iw-credit img{ width:auto; display:block; }
.iw-cline{ flex-basis:100%; font:italic 500 15.5px/1.4 var(--body); color:var(--navy); }
.iw-night .iw-cline{ color:var(--cream); }
.iw-spk{ column-gap:.35em; row-gap:4px; }
.iw-nmw{ display:inline-flex; align-items:flex-start; white-space:nowrap; }
.iw-nmw .iw-sep{ margin-right:.3em; }
/* afternoon photo rides along with the three panels */
@media (min-width:900px){ .iw-pics{ position:sticky; top:24px; } }
/* moderator line + panelist line */
.iw-modline{ margin-top:16px; }
.iw-modline small{ font:500 13px/1 var(--body); text-transform:none; letter-spacing:0; color:var(--ink-2); margin-left:4px; }
.iw-modline + .iw-spk{ margin-top:6px; }
.iw-spk{ display:block; }
.iw-spk .iw-nmw{ display:inline; white-space:nowrap; }
.iw-spk .iw-sep{ margin:0; }
/* ── Afternoon: check-in/talks schedule, per-panel pictures, Miss Val group ── */
.iw-sched{ margin-top:14px; display:grid; gap:4px; }
.iw-sched div{ display:flex; gap:10px; align-items:baseline; }
.iw-sched dt{ font:800 clamp(16px,1.4vw,18px)/1.2 var(--display); letter-spacing:.02em; color:var(--navy); white-space:nowrap; }
.iw-sched dd{ margin:0; font:700 12.5px/1.2 var(--body); letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2); }
.iw-schednote{ margin-top:6px; max-width:15em; font:500 13.5px/1.35 var(--body); color:var(--ink-2); }
.iw-sched + .iw-schednote + .iw-stack, .iw-sched + .iw-stack{ margin-top:16px; }
/* the afternoon row: content and pictures share the two right columns */
@media (min-width:900px){
  .iw-m:has(.iw-panels) .iw-body{ grid-column:2 / 4; }
  .iw-prow{ display:grid; grid-template-columns:minmax(0,1fr) clamp(240px,24vw,320px); column-gap:clamp(28px,3vw,48px); align-items:start; }
  .iw-ppic{ position:sticky; top:24px; }
}
.iw-panels > li.iw-prow{ border-top:1px solid var(--line); }
.iw-panels > li.iw-prow:first-child{ border-top:0; }
@media (max-width:899px){ .iw-ppic{ margin:4px 0 18px; } .iw-prow{ display:flex; flex-direction:column; } .iw-ppic{ order:-1; } }
/* $1B graphic */
.iw-stat{ margin:0; aspect-ratio:4/5; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(20px,2.4vw,28px); background:var(--navy); color:#fff; position:relative; overflow:hidden; }
.iw-stat::before{ content:''; position:absolute; inset:0; background:radial-gradient(rgba(255,255,255,.08) 1px, transparent 1.2px) 0 0/6px 6px; }
.iw-stat-n{ position:relative; font:900 clamp(96px,10vw,148px)/.82 var(--display); letter-spacing:-.01em; color:var(--orange); }
.iw-stat-l{ position:relative; margin-top:12px; font:800 clamp(18px,1.6vw,22px)/1.1 var(--display); text-transform:uppercase; letter-spacing:.02em; color:#fff; }
@media (max-width:899px){ .iw-stat{ aspect-ratio:16/9; } .iw-pgroup .iw-pic{ aspect-ratio:16/10; } }
/* Miss Val group */
.iw-grouph{ font:800 clamp(15px,1.3vw,17px)/1 var(--display); letter-spacing:.16em; text-transform:uppercase; color:var(--orange-dk); padding-bottom:12px; border-bottom:2px solid var(--orange-dk); display:inline-block; }
.iw-subpanels{ list-style:none; }
.iw-subpanels > li{ padding:clamp(18px,2.2vw,26px) 0; }
.iw-subpanels > li + li{ border-top:1px solid var(--line); }
.iw-subpanels > li:last-child{ padding-bottom:0; }
.iw-subpanels .iw-title{ font-size:clamp(28px,2.8vw,40px); }
@media (min-width:900px){ .iw-pafter{ grid-column:1; } }
.iw-pafter .iw-credit{ margin-top:24px; }
/* the photo's track is its own grid cell (stretched to the talks), so it stops at the end of the last talk, above the logo row */
@media (min-width:900px){
  .iw-ppic{ position:static; align-self:stretch; }
  .iw-ppic > figure{ position:sticky; top:24px; }
}
.iw-whotext{ margin-top:16px; max-width:13em; font:800 clamp(20px,1.75vw,24px)/1.15 var(--display); letter-spacing:.02em; text-transform:uppercase; color:var(--navy); }
.iw-night .iw-whotext{ color:var(--cream); }
.iw-clesp{ margin-top:14px; }   /* CLE sponsor, under the CLE line (Nov 5, 2026) */
.iw-clesp span{ display:block; margin-bottom:8px; font:700 11.5px/1.3 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); }
.iw-clesp img{ display:block; width:auto; max-width:100%; }
.iw-sched + .iw-schednote + .iw-whotext{ margin-top:18px; }
@media (max-width:899px){ .iw-whotext{ max-width:none; } }
.iw-piclabel{ position:absolute; left:0; bottom:0; padding:9px 14px 8px; background:var(--orange); color:#fff; font:900 clamp(20px,1.9vw,26px)/1 var(--display); letter-spacing:.03em; text-transform:uppercase; }
/* ── Evening cleanup ── */
.iw-night .iw-sched dt{ color:var(--cream); }
.iw-night .iw-sched dd{ color:var(--cream-2); }
.iw-night .iw-sched + .iw-whotext{ margin-top:18px; }
/* two photos stack (each a real size) instead of two slivers */
.iw-pics.n2{ grid-template-columns:1fr; gap:12px; }
.iw-pics.n2 .iw-pic{ aspect-ratio:16/11; }
.iw-night .iw-pic{ clip-path:none; }
@media (max-width:899px){ .iw-pics.n2{ grid-template-columns:1fr 1fr; } .iw-pics.n2 .iw-pic{ aspect-ratio:4/5; } }
.iw-piclabel{ font-size:clamp(16px,1.5vw,20px); }
/* titles, quip, text: clear vertical rhythm */
.iw-night .iw-titleline{ row-gap:8px; }
.iw-night .iw-text{ margin-top:18px; }
/* lineup: headliner line, then support, then openers at readable size */
.iw-night .iw-bill{ margin-top:20px; }
.iw-bill .iw-bl{ display:block; }
.iw-bill .iw-bl + .iw-bl{ margin-top:4px; font-size:.82em; color:var(--orange-lt); }
.iw-night .iw-with{ margin-top:8px; font-size:15.5px; color:var(--cream-2); }
/* partner credit: logos large enough to read */
.iw-night .iw-credit{ margin-top:26px; padding-top:20px; gap:14px 26px; }
.iw-night .iw-credit img[src*="listening-room"]{ height:80px !important; }
.iw-night .iw-credit img[src*="alleyway"]{ height:30px !important; }
.iw-night .iw-credit img[src*="babys"]{ height:64px !important; }
.iw-night .iw-credit img[src*="town-ballroom"]{ height:72px !important; }
.iw-night .iw-piclabel{ background:var(--night); color:var(--cream); }
/* photo labels: white type on the photo, no box (soft shadow for legibility) */
.iw-piclabel, .iw-night .iw-piclabel{ left:14px; bottom:12px; padding:0; background:none; color:#fff;
  font:900 clamp(26px,2.4vw,34px)/1 var(--display); letter-spacing:.02em; text-shadow:0 1px 2px rgba(0,0,0,.55), 0 0 18px rgba(0,0,0,.45); }
/* ticket: LAUNCH PARTY on one line, sized to fill the ticket's main panel */
.tk-main{ container-type:inline-size; }
.tk-title{ white-space:nowrap; font-size:clamp(34px,15.5cqw,80px); line-height:.9; }
.tk-title{ font-size:clamp(34px,17.5cqw,84px); }
.tk-title{ font-size:clamp(24px,17.5cqw,84px); }
.tk-no{ position:absolute; top:clamp(20px,2.2vw,26px); right:clamp(28px,2.8vw,36px); font:500 clamp(10px,.95vw,12.5px)/1 'IBM Plex Mono', monospace; letter-spacing:.14em; color:var(--cream); }
@media (max-width:520px){ .tk-no{ top:16px; right:22px; } }
.tk-main{ position:relative !important; }
.tk-no{ top:clamp(22px,2.4vw,28px); right:clamp(16px,1.8vw,22px); }
@media (max-width:520px){ .tk-no{ top:18px; right:12px; font-size:9px; letter-spacing:.08em; } }
.tk-date{ margin-top:8px; padding:4px 8px; border-width:2px; font:700 clamp(14px,1.4vw,18px)/1 'IBM Plex Mono', monospace; letter-spacing:.04em; }
@media (max-width:520px){ .tk-date{ font-size:12px; padding:3px 5px; } }
/* hero CTA: bigger */
.hero .btn-2l{ padding:20px 34px 18px; gap:7px; }
.hero .btn-2l span{ font:900 clamp(22px,2.2vw,28px)/1 var(--display); letter-spacing:.04em; text-transform:uppercase; }
.hero .btn-2l small{ font:700 12.5px/1.25 var(--body); letter-spacing:.1em; }
.hero .btn-2l small + small{ margin-top:-2px; }
@media (max-width:520px){ .hero .btn-2l{ width:100%; padding:18px 16px 16px; } .hero .btn-2l small{ font-size:11.5px; } }
.cta-why{ max-width:none; margin-top:16px; }
/* hero breathing room: three groups (ticket · invitation · details + CTA) */
.hero:has(.ticket) .hero-in{ padding-top:clamp(56px,7vw,96px); padding-bottom:clamp(56px,7vw,96px); }
.ticket{ margin-top:clamp(26px,3.2vw,40px); }
.tk-line{ margin-top:clamp(40px,4.6vw,60px); }
.tk-line + .tagline{ margin-top:clamp(12px,1.4vw,16px); }
.hero:has(.ticket) .facts-line{ margin-top:clamp(30px,3.6vw,44px); }
.hero:has(.ticket) .cta{ margin-top:clamp(26px,3vw,36px); }
/* $1B graphic with supporting stats */
.iw-stat{ aspect-ratio:auto; justify-content:flex-start; }
.iw-stat-facts{ position:relative; list-style:none; margin-top:clamp(18px,2vw,24px); padding-top:clamp(14px,1.6vw,18px); border-top:1px solid rgba(255,255,255,.35); display:grid; gap:12px; }
.iw-stat-facts li{ display:grid; grid-template-columns:2.6em 1fr; align-items:baseline; column-gap:12px; }
.iw-stat-facts b{ font:900 clamp(28px,2.6vw,36px)/.9 var(--display); color:var(--orange); }
.iw-stat-facts span{ font:700 13px/1.3 var(--body); letter-spacing:.06em; text-transform:uppercase; color:#fff; }
@media (max-width:899px){ .iw-stat{ aspect-ratio:auto; } }
.iw-stat-facts li{ display:block; }
.iw-stat-facts b{ display:block; }
.iw-stat-facts span{ display:block; margin-top:4px; }
.iw-stat-facts{ gap:14px; }
.iw-night .iw-credit img[src*="cc-and-friends"]{ height:40px !important; }
/* short bio under each agenda photo */
.iw-bio{ margin-top:12px; font:400 14.5px/1.5 var(--body); color:var(--ink-2); }
.iw-night .iw-bio{ color:var(--cream-2); }
/* photo + bio slide together in the afternoon group */
@media (min-width:900px){ .iw-ppic > figure{ position:static; } .iw-ppic > .iw-ppic-in{ position:sticky; top:24px; } }
.iw-biologo{ display:block; height:30px; width:auto; margin-top:14px; }
.iw-bio + .iw-bio{ margin-top:8px; }
.iw-bio strong{ font-weight:700; color:var(--navy); }
.iw-night .iw-bio strong{ color:var(--cream); }
.fl-hours{ display:block; margin-top:4px; font:500 clamp(15px,1.3vw,17px)/1.35 var(--body); color:#fff; }
.fl-hours b{ font-weight:700; }
.fl-hours + .fl-place{ margin-top:6px; }
/* speakers top-down with affiliation */
.iw-spklist{ list-style:none; margin-top:18px; display:grid; gap:12px; }
.iw-spkn{ display:block; font:800 clamp(20px,1.9vw,25px)/1.05 var(--display); text-transform:uppercase; letter-spacing:.01em; color:var(--navy); }
.iw-spkn small{ font:500 13px/1 var(--body); text-transform:none; letter-spacing:0; color:var(--ink-2); margin-left:4px; }
.iw-spka{ display:block; margin-top:3px; font:500 15px/1.35 var(--body); color:var(--ink-2); }
.fl-hours b{ display:inline-block; min-width:7.6em; }
.iw-hook-in p.iw-beat{ margin-top:1.4em; }
.iw-hook .iw-hook-in p.iw-beat + p, .iw-hook .iw-hook-in p + p.iw-beat{ margin-top:1.4em; }
.iw-spka{ font-style:italic; }
.iw-spka + .iw-spka{ margin-top:0; }
/* request an invitation */
.cta-req{ flex-basis:100%; margin-top:14px; font:600 15px/1.3 var(--body); }
.cta-req a{ color:#fff; text-underline-offset:3px; }
.req{ background:var(--paper); padding:clamp(48px,6vw,80px) 0; border-top:1px solid var(--line); }
.req-in{ display:grid; gap:24px 56px; }
@media (min-width:900px){ .req-in{ grid-template-columns:1fr 1.4fr; align-items:start; } }
.req h2{ font:900 clamp(30px,3.2vw,44px)/.95 var(--display); text-transform:uppercase; color:var(--navy); }
.req h2 + p{ margin-top:12px; color:var(--ink-2); max-width:36ch; }
.cta-req{ font-weight:500; color:#fff; } .cta-req a{ font-weight:700; white-space:nowrap; }
.cta-req a{ display:inline-block; margin-top:6px; } .cta-req br{ display:block; }
/* ── Speakers page: bios ── */
.bio-group{ background:var(--paper); padding:clamp(56px,7vw,96px) 0; }
.bio-group.bio-night{ background:var(--night); color:var(--cream); }
.bio-k{ font:800 clamp(18px,1.7vw,22px)/1 var(--display); letter-spacing:.06em; text-transform:uppercase; color:var(--orange-dk); }
.bio-night .bio-k{ color:var(--orange-lt); }
.bio-gh{ margin-top:6px; font:900 clamp(34px,3.7vw,54px)/.92 var(--display); text-transform:uppercase; color:var(--navy); }
.bio-night .bio-gh{ color:var(--cream); }
.bio-list{ list-style:none; margin-top:clamp(28px,3.4vw,44px); display:grid; gap:clamp(28px,3.4vw,44px); }
.bio{ display:grid; gap:16px 32px; padding-top:clamp(24px,2.8vw,34px); border-top:1px solid var(--line); }
.bio-night .bio{ border-top-color:var(--line-night); }
@media (min-width:760px){ .bio{ grid-template-columns:200px 1fr; align-items:start; } }
.bio-ph{ aspect-ratio:4/5; overflow:hidden; max-width:200px; }
.bio-ph img{ width:100%; height:100%; object-fit:cover; display:block; }
.bio-ph-none{ background:var(--line); }
.bio-night .bio-ph-none{ background:var(--line-night); }
.bio-role{ font:700 12px/1.2 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--orange-dk); margin-bottom:6px; }
.bio-night .bio-role{ color:var(--orange-lt); }
.bio h3{ font:900 clamp(26px,2.6vw,36px)/.95 var(--display); text-transform:uppercase; color:var(--navy); }
.bio-night .bio h3{ color:var(--cream); }
.bio-title{ margin-top:6px; font:italic 500 15.5px/1.4 var(--body); color:var(--ink-2); }
.bio-night .bio-title{ color:var(--cream-2); }
.bio-body{ margin-top:12px; max-width:64ch; font-size:clamp(16.5px,1.3vw,18px); line-height:1.55; color:var(--ink); }
.bio-night .bio-body{ color:var(--cream); }
/* evening: open space before the partner credit; logo under a bio */
.iw-night .iw-credit{ margin-top:clamp(44px,5vw,64px); }
.iw-night .iw-biologo{ height:34px; margin-top:16px; }
/* evening: partner credit anchored to the bottom of each block */
@media (min-width:900px){
  .iw-night .iw-m{ align-items:stretch; }
  .iw-night .iw-m > .iw-body{ display:flex; flex-direction:column; }
  .iw-night .iw-m > .iw-body > .iw-credit{ margin-top:auto; }
  .iw-night .iw-m > .iw-body > .iw-credit::before{ content:''; display:block; height:clamp(44px,5vw,64px); flex-basis:100%; }
  .iw-night .iw-m > .iw-pics{ align-self:start; }
}
@media (min-width:900px){
  .iw-night .iw-m > .iw-body > .iw-credit::before{ display:none; }
  .iw-night .iw-m > .iw-body > :nth-last-child(2){ margin-bottom:clamp(44px,5vw,64px); }
}
.iw-night .iw-biologo[src*="lyric-collective"]{ height:52px; }
.iw-biologo-wrap{ display:flex; align-items:flex-end; gap:16px; margin-top:16px; }
.iw-biologo-wrap .iw-biologo{ margin-top:0; }
.iw-powered{ display:flex; align-items:center; gap:6px; padding-bottom:3px; font:700 10px/1 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--cream-2); white-space:nowrap; }
.iw-powered img{ height:12px; width:auto; }
.iw-powered{ font-size:11px; color:var(--cream); gap:8px; } .iw-powered img{ height:18px; }

.iw-powered{ flex-wrap:nowrap; }
.iw-biologo-wrap{ flex-wrap:wrap; }

/* Lyric Collective lockup: logo with a small "Powered by YOUR100" line under it, left-aligned to the logo */
.iw-biologo-wrap{ display:inline-flex !important; flex-direction:column; align-items:flex-start; gap:7px; flex-wrap:nowrap !important; }
.iw-biologo-wrap .iw-powered{ padding:0 0 0 1px; gap:5px; font:700 7.5px/1 var(--body); letter-spacing:.18em; color:var(--cream-2); }
.iw-biologo-wrap .iw-powered img{ height:11px; }
/* breakout rooms */
.iw-rooms{ margin-top:18px; display:grid; gap:10px; }
.iw-rooms div{ display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:baseline; }
.iw-rooms dt{ font:700 12px/1 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--orange-lt); white-space:nowrap; }
.iw-rooms dd{ margin:0; font:800 clamp(19px,1.8vw,24px)/1.15 var(--display); text-transform:uppercase; color:var(--cream); }
/* phones: time first, then the photo + caption, then the event (the photo no longer jumps above the time) */
@media (max-width:899px){
  .iw-m{ display:flex; flex-direction:column; }
  .iw-m > .iw-when{ order:0; }
  .iw-m > .iw-pics{ order:1; margin:18px 0 6px; }
  .iw-m > .iw-body{ order:2; }
  .iw-pics .iw-pic{ aspect-ratio:4/3; }
  .iw-bio{ font-size:14px; }
}
@media (max-width:899px){ .iw-m > .iw-pics{ margin-bottom:28px; padding-bottom:22px; border-bottom:1px solid var(--line-night); } .iw:not(.iw-night) .iw-m > .iw-pics{ border-bottom-color:var(--line); } }
/* one layout from 900px up: time | event | photo, with the time and photo columns narrowing on smaller screens
   (photos stay beside their event at every width instead of jumping above it) */
@media (min-width:900px) and (max-width:1279px){
  .iw-m{ grid-template-columns:clamp(140px,14vw,180px) minmax(0,1fr) clamp(220px,22vw,270px); column-gap:clamp(22px,2.4vw,32px); }
  .iw-head{ grid-template-columns:clamp(140px,14vw,180px) minmax(0,1fr); column-gap:clamp(22px,2.4vw,32px); }
  .iw-prow{ grid-template-columns:minmax(0,1fr) clamp(220px,22vw,270px); column-gap:clamp(22px,2.4vw,32px); }
  .iw-time{ font-size:clamp(46px,5.2vw,64px); }
  .iw-whotext{ font-size:clamp(17px,1.6vw,20px); }
  .iw-title, .iw-night .iw-title{ font-size:clamp(28px,3vw,38px); }
}
.iw-biologo-wrap{ max-width:100%; }
.iw-biologo-wrap .iw-biologo{ max-width:100%; }
@media (min-width:900px) and (max-width:1279px){ .iw-sched div{ flex-direction:column; gap:1px; } .iw-sched{ gap:8px; } }
.iw-night .iw-biologo[src*="cc-and-friends"]{ height:auto; width:200px; max-width:100%; }
/* ticket: the brand is the headline (YOUR100/Events is what's launching); "The Launch" is the occasion */
.ticket h1{ --lh:clamp(48px,7.6cqw,80px); }
.ticket .lockup .logo{ height:var(--lh); }
.ticket .lk-tag{ font-size:calc(var(--lh)*.42); }
.tk-title{ margin-top:clamp(10px,1.3vw,14px); font-size:clamp(18px,6.2cqw,34px) !important; letter-spacing:.06em; text-shadow:2px 2px 0 #0b0d58; }
@media (max-width:520px){ .ticket h1{ --lh:clamp(34px,11cqw,48px); } }
.ticket h1{ --lh:clamp(30px,17cqw,96px); }
@media (max-width:520px){ .ticket h1{ --lh:clamp(30px,17cqw,60px); } }
@media (max-width:520px){ .ticket h1{ --lh:clamp(30px,20cqw,60px); } }
/* ── Ticket refinements: tappable, one YOUR100 mark, occasion + city, balanced stub, crisper tilt, personal details ── */
a.ticket{ text-decoration:none; color:var(--cream); cursor:pointer; transform:rotate(-1.5deg); transition:transform .2s ease, filter .2s ease; }
a.ticket:hover, a.ticket:focus-visible{ transform:rotate(-1.5deg) translateY(-4px); filter:drop-shadow(10px 12px 0 #0b0d58); }
a.ticket:focus-visible{ outline:3px solid #fff; outline-offset:6px; }
@media (prefers-reduced-motion:reduce){ a.ticket{ transition:none; } }
.ticket .tk-main{ display:block; }
.tk-h{ display:block; --lh:clamp(30px,17cqw,96px); }
.tk-h .lockup .logo{ height:var(--lh); width:auto; flex:none; }
.tk-h .lk-tag{ font-size:calc(var(--lh)*.42); }
@media (max-width:520px){ .tk-h{ --lh:clamp(30px,20cqw,60px); } }
.tk-title{ display:block; }
.tk-dot{ opacity:.7; }
.tk-no{ font-size:clamp(11px,1.05vw,13px); letter-spacing:.12em; }
.tk-to{ display:block; margin-top:10px; font:500 clamp(11px,1vw,13px)/1.2 'IBM Plex Mono', monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--cream); }
.tk-to b{ font-weight:700; }
.tk-nets{ display:flex; align-items:center; gap:10px 14px; margin-top:clamp(14px,1.8vw,20px); }
.tk-ctjg{ font:800 clamp(14px,1.5vw,19px)/1 var(--display); letter-spacing:.06em; text-transform:uppercase; color:var(--cream); }
.tk-n{ font-size:clamp(60px,7.4vw,98px) !important; }
.tk-city{ margin-top:4px; font:700 clamp(10px,.95vw,12px)/1 'IBM Plex Mono', monospace; letter-spacing:.14em; text-transform:uppercase; color:var(--cream); }
.tk-why{ max-width:34em; margin-top:clamp(26px,3vw,36px); font:500 clamp(17px,1.5vw,20px)/1.4 var(--body); color:#fff; }
.tk-why span{ display:block; margin-bottom:6px; font:700 12px/1 var(--body); letter-spacing:.18em; text-transform:uppercase; color:var(--orange-lt); }
.tk-why + .tk-line{ margin-top:clamp(20px,2.4vw,28px); }
@media (max-width:400px){ .tk-nets{ flex-wrap:nowrap; } .tk-ctjg{ font-size:12px; } }
.tk-feat{ margin-top:clamp(26px,3vw,36px); font:800 clamp(18px,1.9vw,25px)/1.25 var(--display); letter-spacing:.02em; text-transform:uppercase; color:#fff; }
.tk-feat > span:first-child{ margin-right:.35em; font:700 12px/1 var(--body); letter-spacing:.18em; color:var(--orange-lt); vertical-align:.25em; }
.tk-fsep{ color:var(--orange-lt); }
.tk-feat + .tk-why, .tk-feat + .tk-line{ margin-top:clamp(20px,2.4vw,28px); }
/* featuring names on the ticket, beside the network logos */
.tk-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:14px 20px; margin-top:clamp(14px,1.8vw,20px); }
.tk-row .tk-nets{ margin-top:0; }
.tk-feat{ display:flex; flex-direction:column; align-items:flex-end; text-align:right; margin:0; padding-left:16px; border-left:1px dashed rgba(243,236,226,.6); }
.tk-fk{ font:500 clamp(9px,.85vw,11px)/1 'IBM Plex Mono', monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--cream); margin-bottom:5px; }
.tk-fn{ font:800 clamp(12px,1.25vw,16px)/1.15 var(--display); letter-spacing:.04em; text-transform:uppercase; color:var(--cream); white-space:nowrap; }
@media (max-width:520px){ .tk-row{ flex-direction:column; align-items:flex-start; } .tk-feat{ align-items:flex-start; text-align:left; padding-left:0; border-left:0; } .tk-fn{ font-size:11px; } }
.tk-feat > .tk-fk{ margin-right:0; vertical-align:baseline; color:var(--cream); font:500 clamp(9px,.85vw,11px)/1 'IBM Plex Mono', monospace; letter-spacing:.16em; }
.tk-row .tk-nets{ flex-wrap:nowrap; }
.tk-row .tk-ctjg{ white-space:nowrap; }
/* networks stacked on the left (Close the Justice Gap, then + Back to Buffalo), featuring on the right */
.tk-row{ display:grid; grid-template-columns:auto minmax(0,1fr); align-items:end; column-gap:clamp(14px,2vw,22px); }
.tk-row .tk-nets{ display:grid; grid-template-columns:auto auto; justify-content:start; align-items:center; gap:6px 10px; }
.tk-row .tk-ctjg{ grid-column:1 / -1; }
.tk-feat{ min-width:0; }
.tk-fn{ white-space:normal; text-wrap:balance; font-size:clamp(11px,1.1vw,14px); line-height:1.12; }
.tk-fn + .tk-fn{ margin-top:2px; }
@media (max-width:520px){ .tk-row{ grid-template-columns:1fr; row-gap:12px; } }
.ticket .tk-feat > span.tk-fk{ color:var(--cream); }
/* serial: its own line at the top right (no longer floats over the logo); legibility floor of 12px across the ticket */
.ticket .tk-no{ position:static; display:block; text-align:right; margin:-4px 0 8px; font-size:clamp(12px,1.05vw,13px); }
.tk-fn{ font-size:clamp(12px,1.15vw,15px); }
.tk-ctjg{ font-size:clamp(13px,1.5vw,19px); }
.tk-fk{ font-size:12px !important; }
.tk-date{ font-size:clamp(13px,1.4vw,18px); }
.tk-to{ font-size:clamp(12px,1vw,13px); }
@media (max-width:520px){ .tk-fn{ font-size:12px; } .tk-ctjg{ font-size:13px !important; } .ticket .tk-no{ margin:-2px 0 6px; } }
.ticket .tk-no{ margin:-4px 0 12px; line-height:1; }
@media (max-width:520px){ .ticket .tk-btb{ height:64px !important; } }
/* phones: time -> event + lineup -> featured artist (photo + caption) -> partner credit */
@media (max-width:899px){
  .iw-night .iw-m > .iw-body{ display:contents; }
  .iw-night .iw-m > .iw-when{ order:0; }
  .iw-night .iw-m > .iw-body > *{ order:1; }
  .iw-night .iw-m > .iw-pics{ order:2; margin:26px 0 0; padding:22px 0 0; border-top:1px solid var(--line-night); border-bottom:0; }
  .iw-night .iw-m > .iw-body > .iw-credit{ order:3; margin-top:26px !important; }
  .iw-night .iw-m > .iw-body > :nth-last-child(2){ margin-bottom:0; }
}
@media (max-width:899px){ .iw-night .iw-m > .iw-body > .iw-titleline, .iw-night .iw-m > .iw-body > .iw-title{ margin-top:22px; } }
.tk-fa{ display:block; margin-top:5px; padding-top:5px; border-top:1px solid rgba(243,236,226,.45); font:700 12px/1.25 var(--body); letter-spacing:.06em; text-transform:uppercase; color:var(--cream); text-wrap:balance; }
.tk-fa-n{ display:block; white-space:nowrap; }
.tk-fa{ border-top:0; padding-top:0; margin-top:4px; }
/* second-tier artists: same display face as the headliners, one step smaller */
.tk-fa{ font:800 clamp(12px,1vw,13px)/1.2 var(--display); letter-spacing:.04em; }
.tk-fa-n{ opacity:.92; }
/* phones: the stub tears off along the bottom (horizontal perforation), so the main panel gets the full width */
@media (max-width:520px){
  a.ticket{ grid-template-columns:1fr; }
  .tk-stub{ flex-direction:row; justify-content:center; align-items:baseline; gap:10px 14px; padding:16px 22px 18px !important;
    background-image:radial-gradient(circle, rgba(11,13,88,.9) 2.5px, transparent 3px); background-size:14px 6px; background-repeat:repeat-x; background-position:left top; }
  .tk-stub .tk-admit{ font-size:16px; }
  .tk-stub .tk-n{ font-size:52px !important; line-height:.8; }
  .tk-stub .tk-date{ margin-top:0; font-size:14px; }
  .tk-h{ --lh:clamp(34px,17cqw,60px); }
  .tk-row{ grid-template-columns:auto minmax(0,1fr); row-gap:0; }
  .tk-feat{ align-items:flex-end; text-align:right; padding-left:12px; border-left:1px dashed rgba(243,236,226,.6); }
  .tk-fn{ font-size:13px; }
}
@media (max-width:360px){ .tk-row{ grid-template-columns:1fr; row-gap:12px; } .tk-feat{ align-items:flex-start; text-align:left; padding-left:0; border-left:0; } }
/* all artists in one style: the second line uses exactly the headliners' font, size and weight */
.tk-fa{ margin-top:2px; font:inherit; letter-spacing:0; }
.ticket .tk-fa-n{ display:block; opacity:1; font:800 clamp(12px,1.15vw,15px)/1.12 var(--display); letter-spacing:.04em; text-transform:uppercase; color:var(--cream); white-space:normal; text-wrap:balance; }
.ticket .tk-fa-n, .ticket .tk-fn{ margin-top:2px; }
@media (max-width:520px){ .ticket .tk-fa-n, .ticket .tk-fn{ font-size:13px; } }
/* participating networks as wordmarks (no logos), mirroring the Featuring column */
.tk-row .tk-nets.tk-nets-w{ display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.tk-nets-w .tk-fk{ margin-bottom:5px; }
.ticket .tk-net{ display:block; margin-top:2px; font:800 clamp(12px,1.15vw,15px)/1.12 var(--display); letter-spacing:.04em; text-transform:uppercase; color:var(--cream); white-space:nowrap; }
.tk-row{ align-items:start; }
@media (max-width:520px){ .ticket .tk-net{ font-size:13px; } }
/* two equal columns: networks | featuring */
.ticket .tk-row{ display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; column-gap:clamp(14px,2vw,22px); align-items:start; }
.ticket .tk-fk{ white-space:normal; line-height:1.3; }
.ticket .tk-net{ white-space:normal; text-wrap:balance; }
.ticket .tk-feat{ align-items:flex-start !important; text-align:left !important; padding-left:clamp(12px,1.6vw,18px); border-left:1px dashed rgba(243,236,226,.6); }
@media (max-width:360px){ .ticket .tk-row{ grid-template-columns:1fr !important; row-gap:14px; } .ticket .tk-feat{ padding-left:0; border-left:0; } }
/* ── Ticket polish ──
   1. Both columns share label + list rows (subgrid), so the first network and first artist line up.
   2. One even rhythm for every name (no extra gap before the second-tier acts).
   3. Labels: tighter tracking so "Participating YOUR100 Networks" fits on one line where it can.
   4. Pressed state for taps; the stub's dashes are the tear-line, not decoration. */
.ticket .tk-row{ grid-template-rows:auto auto; row-gap:6px; }
.ticket .tk-row > .tk-nets-w, .ticket .tk-row > .tk-feat{ display:grid !important; grid-template-rows:subgrid; grid-row:span 2; align-content:start; }
.ticket .tk-row .tk-fk{ margin:0; align-self:end; letter-spacing:.1em; }
.ticket .tk-list{ display:flex; flex-direction:column; gap:3px; }
.ticket .tk-list > *{ margin:0 !important; }
.ticket .tk-fa{ display:contents; }
.ticket .tk-fa-n{ margin:0; }
a.ticket:active{ transform:rotate(-1.5deg) translateY(-1px); filter:drop-shadow(6px 6px 0 #0b0d58); }
@media (max-width:360px){ .ticket .tk-row{ grid-template-rows:none; } .ticket .tk-row > .tk-nets-w, .ticket .tk-row > .tk-feat{ grid-template-rows:auto auto; grid-row:auto; row-gap:6px; } }
.ticket .tk-row > .tk-nets-w, .ticket .tk-row > .tk-feat{ grid-template-columns:minmax(0,1fr) !important; justify-content:stretch; gap:6px 0; }
.ticket .tk-row > .tk-nets-w, .ticket .tk-row > .tk-feat{ margin:0 !important; align-self:stretch; } .ticket .tk-row{ align-items:stretch !important; margin-top:clamp(14px,1.8vw,20px); }
/* column alignment, simple and robust: both labels reserve the same height (bottom-aligned), so the lists start level */
.ticket .tk-row{ grid-template-rows:none !important; }
.ticket .tk-row > .tk-nets-w, .ticket .tk-row > .tk-feat{ display:flex !important; flex-direction:column; gap:6px; grid-row:auto !important; }
.ticket .tk-row .tk-fk{ display:flex; align-items:flex-end; min-height:calc(2 * 1.3em); }
@media (max-width:520px){ .ticket .tk-row .tk-fk{ min-height:calc(3 * 1.3em); } }
@media (max-width:360px){ .ticket .tk-row .tk-fk{ min-height:0; } }
.ticket .tk-row .tk-fk{ line-height:16px !important; min-height:32px; }
@media (max-width:520px){ .ticket .tk-row .tk-fk{ min-height:48px; } }
@media (max-width:360px){ .ticket .tk-row .tk-fk{ min-height:0; } }
.ticket .tk-row > .tk-nets-w{ grid-column:1; grid-row:1 !important; } .ticket .tk-row > .tk-feat{ grid-column:2; grid-row:1 !important; } @media (max-width:360px){ .ticket .tk-row > .tk-feat{ grid-column:1; grid-row:2 !important; } }
.ticket .tk-row .tk-fk{ justify-content:flex-start; text-align:left; align-self:stretch; }
/* one-word labels (Powering | Featuring): one line everywhere */
.ticket .tk-row .tk-fk{ min-height:16px !important; }
.ticket .tk-title{ font-size:clamp(22px,7.8cqw,42px) !important; }
/* invitation mechanism: big banner over each half of the day */
.iw-banner{ margin-bottom:clamp(28px,3.4vw,44px); padding-bottom:clamp(18px,2.2vw,26px); border-bottom:2px solid var(--navy);
  font:900 clamp(48px,7.2vw,104px)/.88 var(--display); letter-spacing:-.005em; text-transform:uppercase; color:var(--navy); }
.iw-banner .iw-acc{ color:var(--orange-dk); }
.iw-night .iw-banner{ color:var(--cream); border-bottom-color:var(--line-night); }
.iw-night .iw-banner .iw-acc{ color:var(--orange-lt); }
.iw-banner .iw-acc{ white-space:nowrap; }
/* ── What's the catch? ── */
/* hero button: stacked question, in the style of the What's YOUR100? lockup */
.catch-btn{ display:inline-flex; flex-direction:column; align-items:flex-start; margin-top:clamp(22px,2.6vw,30px); padding:12px 18px 14px; border:2px solid #fff; color:#fff; text-decoration:none; line-height:.86; transition:background .15s ease, color .15s ease; }
.catch-btn span{ font:800 clamp(17px,1.6vw,21px)/.95 var(--display); text-transform:uppercase; letter-spacing:.04em; }
.catch-btn b{ font:900 clamp(38px,3.8vw,52px)/.86 var(--display); text-transform:uppercase; letter-spacing:-.005em; }
.catch-btn i{ font-style:normal; color:var(--orange); }
.catch-btn:hover, .catch-btn:focus-visible{ background:#fff; color:var(--navy); }
.hero .cta{ align-items:flex-start; }
/* page */
.catch{ background:var(--paper); padding:clamp(56px,7vw,96px) 0; }
.catch-in{ max-width:820px; }
.catch-answer{ font:900 clamp(40px,5.2vw,72px)/.92 var(--display); text-transform:uppercase; color:var(--navy); }
.catch-h{ margin-top:clamp(36px,4.4vw,56px); font:800 clamp(24px,2.4vw,32px)/1.05 var(--display); text-transform:uppercase; letter-spacing:.02em; color:var(--orange-dk); }
.catch-p{ margin-top:16px; font-size:clamp(18px,1.5vw,20px); line-height:1.55; color:var(--ink); max-width:60ch; }
.catch-close{ margin-top:clamp(32px,4vw,48px); padding-top:clamp(20px,2.4vw,28px); border-top:2px solid var(--navy); font:900 clamp(28px,3.2vw,44px)/1 var(--display); text-transform:uppercase; color:var(--navy); }
.catch-np{ background:#fff; padding:clamp(48px,6vw,80px) 0; border-top:1px solid var(--line); }
.catch-np-h{ font:700 13px/1.3 var(--body); letter-spacing:.2em; text-transform:uppercase; color:var(--ink-2); }
.catch-np ul{ list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:28px 36px; align-items:center; margin-top:24px; }
.catch-np img{ max-height:56px; width:auto; max-width:100%; }
.catch-np img[src*="white"]{ filter:brightness(0); }
.catch .catch-in{ max-width:1160px; } .catch-in > *{ max-width:820px; }
@media (max-width:520px){ .catch-np ul{ grid-template-columns:1fr 1fr; gap:24px 20px; } .catch-np img{ max-height:44px; } }
/* catch button beside the RSVP button, matched height */
.hero .cta{ flex-direction:row; flex-wrap:wrap; align-items:stretch; gap:14px 16px; }
.hero .catch-btn{ margin-top:0; justify-content:center; padding:10px 18px; }
.hero .cta-req{ flex-basis:100%; }
@media (max-width:520px){ .hero .cta{ flex-wrap:nowrap; } .hero .btn-2l{ width:auto; flex:1 1 auto; padding-left:12px; padding-right:12px; } .hero .catch-btn{ flex:0 0 auto; padding:8px 12px; } .hero .catch-btn span{ font-size:14px; } .hero .catch-btn b{ font-size:30px; } .hero .cta-req{ position:absolute; } }
@media (max-width:520px){ .hero .cta{ flex-wrap:wrap; } .hero .cta-req{ position:static; flex-basis:100%; } .hero .btn-2l{ flex:1 1 0; min-width:0; } }
@media (max-width:520px){
  .hero .btn-2l{ white-space:normal; text-align:center; padding:14px 10px 12px; }
  .hero .btn-2l span{ font-size:clamp(17px,5.2vw,21px); line-height:1; }
  .hero .btn-2l small{ font-size:10px; letter-spacing:.06em; line-height:1.25; }
}
@media (max-width:359px){ .hero .cta{ flex-direction:column; } .hero .btn-2l{ flex:none; width:100%; } .hero .catch-btn{ align-self:flex-start; } }
.sp-q{ font:800 clamp(20px,2vw,26px)/1 var(--display); letter-spacing:.04em; text-transform:uppercase; color:var(--orange-lt); margin-top:6px; }
.sp-q + .sp-title{ margin-top:8px; }
.catch-h1{ margin-top:0; }
.sp-q{ margin-top:clamp(18px,2.2vw,26px); }
.hero .btn-2l{ max-width:440px; white-space:normal; text-align:center; } .hero .btn-2l small{ text-wrap:balance; }
@media (min-width:521px){ .hero .btn-2l{ max-width:380px; padding-left:22px; padding-right:22px; } }
@media (min-width:521px) and (max-width:700px){ .hero .btn-2l{ max-width:none; flex:1 1 0; min-width:0; } }
/* What's the catch?: a quiet text link beside the RSVP button (no stacked lockup) */
.hero .catch-link{ align-self:center; font:600 16px/1.3 var(--body); color:#fff; text-underline-offset:3px; white-space:nowrap; }
.hero .catch-link:hover{ color:var(--orange-lt); }
@media (min-width:521px){ .hero .btn-2l{ max-width:440px; } }
@media (max-width:520px){ .hero .btn-2l{ flex:1 1 100%; width:100%; } .hero .catch-link{ align-self:flex-start; } }
.hero .cta-req{ display:flex; flex-wrap:wrap; gap:8px 28px; }
.hero .cta-req .catch-link{ align-self:auto; }
/* What's the catch?: plain text in an outlined box, beside the RSVP button */
.hero .catch-box{ display:inline-flex; align-items:center; justify-content:center; padding:14px 20px; border:2px solid #fff; color:#fff; text-decoration:none; font:700 15px/1.2 var(--body); letter-spacing:.04em; white-space:nowrap; transition:background .15s, color .15s; }
.hero .catch-box:hover, .hero .catch-box:focus-visible{ background:#fff; color:var(--navy); }
@media (min-width:521px){ .hero .btn-2l{ max-width:380px; } }
@media (max-width:520px){ .hero .btn-2l{ flex:1 1 0 !important; width:auto !important; min-width:0; } .hero .catch-box{ flex:0 0 auto; padding:10px 12px; font-size:13px; white-space:normal; text-align:center; max-width:96px; } }
.catch-close{ font-size:clamp(22px,2.4vw,30px); }
.catch-goals{ list-style:none; margin-top:clamp(16px,2vw,22px); display:grid; gap:6px; }
.catch-goals li{ font:900 clamp(30px,3.6vw,50px)/.95 var(--display); text-transform:uppercase; color:var(--orange-dk); }
.catch-goals{ gap:14px; } .catch-goals li{ padding-left:.9em; position:relative; } .catch-goals li::before{ content:'+'; position:absolute; left:0; color:var(--navy); }
/* afternoon: big 3:00 PM in the header row; the row below starts with the smaller check-in / talks schedule */
.iw-head-time{ margin-top:-.06em; }
.iw-when > .iw-sched:first-child{ margin-top:0; }
/* afternoon CLE line: regular text, smaller (the evening lines stay in display caps) */
.iw-when .iw-whotext.iw-whotext-sm{ margin-top:16px; font:500 15px/1.45 var(--body); letter-spacing:0; text-transform:none; color:var(--ink); max-width:15em; }
.iw-whotext-sm .iw-acc{ font-weight:700; }
@media (max-width:899px){ .iw-when .iw-whotext.iw-whotext-sm{ max-width:none; } }
/* ── Agenda: time-aligned list (time | item | picture) ── */
.iw-ag{ display:grid; grid-template-columns:clamp(200px,17vw,250px) minmax(0,1fr) clamp(240px,24vw,320px); column-gap:clamp(28px,3vw,48px); }
.ag-t, .ag-b{ grid-column:auto; padding:clamp(22px,2.6vw,32px) 0; border-top:1px solid var(--line); }
.ag-t{ grid-column:1; margin:0; font:800 clamp(22px,2.2vw,30px)/1 var(--display); letter-spacing:.01em; color:var(--navy); white-space:nowrap; }
.ag-b{ grid-column:2; }
.ag-p{ grid-column:3; padding:clamp(22px,2.6vw,32px) 0; border-top:1px solid var(--line); }
.ag-p-in{ position:sticky; top:24px; }
.ag-t-empty{ border-top:0; padding:0; }
.ag-gh{ border-top:0; padding-bottom:0; }
.ag-small{ font:800 clamp(17px,1.6vw,21px)/1.1 var(--display); letter-spacing:.04em; text-transform:uppercase; color:var(--navy); }
.ag-note{ margin-top:6px; max-width:52ch; font-size:16px; line-height:1.45; color:var(--ink-2); }
.ag-note .iw-acc{ font-weight:700; }
.iw-night .ag-t, .iw-night .ag-b, .iw-night .ag-p{ border-top-color:var(--line-night); }
.iw-night .ag-t, .iw-night .ag-small{ color:var(--cream); }
.iw-night .ag-note{ color:var(--cream-2); }
.iw-ag .iw-title{ font-size:clamp(28px,3vw,42px); }
@media (min-width:900px) and (max-width:1279px){
  .iw-ag{ grid-template-columns:clamp(140px,14vw,180px) minmax(0,1fr) clamp(220px,22vw,270px); column-gap:clamp(22px,2.4vw,32px); }
}
@media (max-width:899px){
  .iw-ag{ grid-template-columns:1fr; }
  .ag-t, .ag-b, .ag-p{ grid-column:1 !important; grid-row:auto !important; }
  .ag-t{ padding-bottom:6px; }
  .ag-b{ border-top:0; padding-top:0; }
  .ag-p{ border-top:0; padding-top:0; }
  .ag-p-in{ position:static; }
  .ag-t-empty{ display:none; }
  .ag-gh{ padding-top:24px; }
}
.iw-night .iw-text .iw-acc{ font-weight:700; }
.iw-text2{ font-style:italic; }
.iw-appear{ margin-top:22px; }
.iw-appear img{ display:block; margin-top:10px; height:auto; width:min(240px,70%); }
.iw-appear + .iw-rooms{ margin-top:14px; }
.iw-lead .iw-acc{ font-weight:700; }
.iw-appear{ margin-top:18px; } .iw-appear + .iw-lead, .iw-appear + .iw-text{ margin-top:18px; }
/* indented sub-agenda inside an event */
.iw-sub{ list-style:none; margin:22px 0 0; padding-left:clamp(14px,1.6vw,20px); border-left:2px solid var(--orange-lt); display:grid; gap:12px; }
.iw-sub > li{ display:grid; grid-template-columns:auto 1fr; column-gap:14px; align-items:baseline; }
.iw-sub-t{ font:800 clamp(16px,1.4vw,18px)/1.1 var(--display); letter-spacing:.02em; color:var(--cream); white-space:nowrap; }
.iw-sub-n{ font:800 clamp(16px,1.4vw,18px)/1.1 var(--display); letter-spacing:.04em; text-transform:uppercase; color:var(--cream); }
.iw-sub .iw-rooms{ grid-column:2; margin-top:10px; }
@media (max-width:420px){ .iw-sub > li{ grid-template-columns:1fr; } .iw-sub .iw-rooms{ grid-column:1; } }
.iw-sub .iw-rooms{ grid-column:1 / -1; margin-left:clamp(14px,1.6vw,20px); }
/* sub-agenda on one shared two-column grid: room labels right-aligned under the times, names aligned with the item text */
.iw-sub{ grid-template-columns:auto 1fr; column-gap:14px; }
.iw-sub > li{ grid-column:1 / -1; display:grid; grid-template-columns:subgrid; }
.iw-sub .iw-rooms{ grid-column:1 / -1; margin-left:0; display:grid; grid-template-columns:subgrid; row-gap:6px; }
.iw-sub .iw-rooms > div{ grid-column:1 / -1; display:grid; grid-template-columns:subgrid; align-items:baseline; }
.iw-sub .iw-rooms dt{ justify-self:end; }
@media (max-width:420px){ .iw-sub > li{ grid-template-columns:subgrid; } }
/* ── Joint Sessions show band: a second hero ── */
.iw-show{ position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:min(760px,92vh); margin-top:clamp(40px,5vw,64px); border-top:1px solid var(--line-night); }
.iw-show-ph{ position:relative; margin:0; overflow:hidden; }
.iw-show-ph img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.iw-show-ph::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(15,13,12,0) 45%, rgba(15,13,12,.75) 80%, var(--night) 100%); }
.iw-show-ph .iw-piclabel{ z-index:1; left:clamp(18px,3vw,40px); bottom:clamp(18px,3vw,36px); font-size:clamp(30px,3.4vw,48px); }
.iw-show-tx{ position:relative; z-index:1; align-self:center; padding:clamp(40px,5vw,72px) clamp(24px,5vw,72px) clamp(40px,5vw,72px) clamp(12px,2vw,24px); margin-left:clamp(-120px,-8vw,-40px); }
.iw-show-t{ font:800 clamp(22px,2.2vw,30px)/1 var(--display); color:var(--cream); margin-bottom:14px; }
.iw-show .iw-title{ font-size:clamp(40px,4.6vw,68px); }
.iw-show-head{ margin-top:10px; font:900 clamp(32px,3.6vw,54px)/.92 var(--display); text-transform:uppercase; color:var(--cream); }
.iw-show-spot{ margin-top:14px; font:700 12px/1.4 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--orange-lt); }
.iw-show-acts{ list-style:none; margin-top:8px; display:grid; gap:8px; }
.iw-show-acts li{ font-size:16px; line-height:1.35; color:var(--cream-2); }
.iw-show-acts b{ font:800 clamp(20px,2vw,26px)/1.1 var(--display); text-transform:uppercase; letter-spacing:.02em; color:var(--cream); }
.iw-show-and{ font:italic 500 15px/1 var(--body); color:var(--cream-2); }
.iw-show .iw-credit img[src*="town-ballroom"]{ height:110px !important; }
.iw-show .iw-text{ max-width:46ch; }
@media (max-width:899px){
  .iw-show{ grid-template-columns:1fr; min-height:0; }
  .iw-show-ph{ aspect-ratio:4/5; max-height:70vh; }
  .iw-show-ph::after{ background:linear-gradient(180deg, rgba(15,13,12,0) 50%, rgba(15,13,12,.8) 85%, var(--night) 100%); }
  .iw-show-tx{ margin:-60px 0 0; padding:0 var(--gut) clamp(40px,8vw,56px); }
  .iw-show .iw-credit img[src*="town-ballroom"]{ height:88px !important; }
}
@media (max-width:899px){ .iw-show-tx{ margin-top:0; padding-top:20px; } .iw-show-ph{ aspect-ratio:1/1; } .iw-show-ph .iw-piclabel{ font-size:28px; } }
/* photo caption in the show bands (name + optional title line), white on the image */
.iw-show-cap{ position:absolute; z-index:1; left:clamp(18px,3vw,40px); bottom:clamp(18px,3vw,36px); right:30%; text-shadow:0 1px 2px rgba(0,0,0,.55), 0 0 18px rgba(0,0,0,.45); }
.iw-show-name{ display:block; font:900 clamp(30px,3.4vw,48px)/.95 var(--display); text-transform:uppercase; color:#fff; }
.iw-show-sub{ display:block; margin-top:8px; font:italic 500 14px/1.35 var(--body); color:#fff; }
.iw-show + .iw-show{ margin-top:0; }
@media (max-width:899px){ .iw-show-name{ font-size:28px; } .iw-show-cap{ right:var(--gut); } }
/* ── Evening show bands: one system (≈5 type styles, even rhythm) ── */
.sb > * + *{ margin-top:0; }
.sb-time{ font:800 clamp(24px,2.4vw,32px)/1 var(--display); letter-spacing:.01em; color:var(--orange-lt); }
.sb-title{ margin-top:10px; font:900 clamp(42px,4.6vw,66px)/.9 var(--display); text-transform:uppercase; color:var(--cream); }
.sb-tag{ margin-top:8px; font:italic 600 clamp(16px,1.4vw,19px)/1.3 var(--body); color:var(--cream); }
.sb-who{ margin-top:22px; max-width:42ch; font:500 clamp(17px,1.45vw,19.5px)/1.45 var(--body); color:var(--cream); }
.sb-who .iw-acc{ font-weight:700; color:var(--orange-lt); }
.sb-appear{ margin-top:28px; }
.sb-label{ font:700 11.5px/1.3 var(--body); letter-spacing:.18em; text-transform:uppercase; color:var(--cream-2); }
.sb-logo{ display:block; margin-top:12px; width:min(260px,72%); height:auto; }
.sb-head{ margin-top:10px; font:900 clamp(30px,3.2vw,46px)/.95 var(--display); text-transform:uppercase; color:var(--cream); }
.sb-with{ margin-top:16px; }
.sb-acts{ list-style:none; margin-top:8px; display:grid; gap:6px; }
.sb-acts li{ font:500 15px/1.4 var(--body); color:var(--cream-2); }
.sb-acts b{ font:800 clamp(19px,1.8vw,23px)/1.15 var(--display); letter-spacing:.02em; text-transform:uppercase; color:var(--cream); margin-right:4px; }
.sb-desc{ margin-top:24px; max-width:46ch; font:400 clamp(16px,1.3vw,17.5px)/1.5 var(--body); color:var(--cream-2); }
.sb .sb-sub{ margin-top:22px; border-left-color:var(--line-night); }
.sb .iw-sub-t{ color:var(--cream); }
.sb .iw-sub-n{ color:var(--cream-2); }
.sb .iw-rooms dt{ color:var(--cream-2); }
.sb .iw-rooms dd{ font-size:clamp(16px,1.4vw,18px); color:var(--cream); }
.sb .iw-credit{ margin-top:28px !important; padding-top:18px; }
.sb .iw-credit img[src*="alleyway"]{ height:30px !important; }
.sb .iw-credit img[src*="town-ballroom"]{ height:64px !important; }
.iw-show-tx.sb{ align-self:center; }
.sb .iw-credit img[src*="town-ballroom"]{ height:84px !important; } .sb .iw-credit img[src*="alleyway"]{ height:34px !important; }

/* ════════ Page system pass: one ticket, one evening ════════
   Day = paper/cream ground, navy ink, navy duotone, media on the RIGHT.
   Night (locked) = black, cream ink, orange duotone, media on the LEFT.
   Motifs, one job each: perforation dots = a seam / "this is your ticket"; the slash = the clock moved. */
:root{ --edge:calc(max(0px, (100vw - 1160px) / 2) + var(--gut)); }
.perf-row, .hk::before, .y1m::before, .ft::before{ content:''; display:block; height:6px; background:radial-gradient(circle, var(--navy) 2.6px, transparent 3px) 0 50%/14px 6px repeat-x; }

/* 3 · Hook: call-and-response poster */
.hk{ background:var(--paper); color:var(--navy); padding:0 0 clamp(64px,8vw,104px); }
.hk::before{ opacity:.85; }
.hk-in{ padding-top:clamp(56px,7vw,96px); }
.hk-q{ max-width:18ch; font:500 clamp(28px,3.1vw,42px)/1.18 var(--body); letter-spacing:-.01em; color:var(--navy); }
.hk-beat{ margin:clamp(28px,3.4vw,48px) 0; font:900 clamp(96px,12vw,168px)/.8 var(--display); letter-spacing:-.01em; text-transform:uppercase; color:var(--navy); }
.hk-a{ font:500 clamp(22px,2.2vw,28px)/1.25 var(--body); color:var(--navy); }
.hk-do{ margin-top:clamp(26px,3vw,36px); font:900 clamp(52px,7.6vw,108px)/.92 var(--display); text-transform:uppercase; color:var(--navy); }
.hk-do span{ display:block; }
.hk-do .iw-acc{ color:var(--orange-dk); }
.hk-after{ display:inline-block; margin-top:clamp(22px,2.6vw,30px); padding-top:12px; background:radial-gradient(circle, var(--navy) 1.6px, transparent 2px) 0 0/10px 4px repeat-x; font:500 13px/1.4 'IBM Plex Mono', monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--navy); }

/* PART slugs (day + night) */
.iw-slug{ margin-bottom:12px; font:500 13px/1.3 'IBM Plex Mono', monospace; letter-spacing:.14em; text-transform:uppercase; color:var(--navy); }
.iw-night .iw-slug{ color:var(--cream); }

/* 2 · Afternoon: check-in chip + day show bands */
.ck-chip{ display:inline-block; margin:clamp(6px,1vw,12px) 0 clamp(36px,4vw,52px); padding:10px 14px 10px 22px; border:1.5px solid var(--navy);
  background:radial-gradient(circle, var(--navy) 1.8px, transparent 2.2px) 6px 0/4px 10px repeat-y; font:500 13px/1.4 'IBM Plex Mono', monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--navy); }
.db{ position:relative; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); min-height:min(720px,88vh); }
.db-paper{ background:var(--paper); }
.db-cream{ background:var(--cream); }
.db + .db{ border-top:0; }
.db-tx{ align-self:center; padding:clamp(48px,6vw,88px) clamp(24px,4vw,56px) clamp(48px,6vw,88px) var(--edge); }
.db-media{ position:relative; overflow:hidden; display:flex; }
.db-media::after{ content:''; position:absolute; inset:0 auto 0 0; width:120px; pointer-events:none; }
.db-paper .db-media::after{ background:linear-gradient(90deg, var(--paper), rgba(244,241,234,0)); }
.db-cream .db-media::after{ background:linear-gradient(90deg, var(--cream), rgba(243,236,226,0)); }
.db-time{ font:800 32px/1 var(--display); letter-spacing:.01em; color:var(--navy); margin-bottom:12px; }
.db .iw-title{ font-size:clamp(40px,5vw,64px) !important; line-height:.92; color:var(--navy); }
.db .iw-teaser{ max-width:52ch; }
.db .iw-spklist{ margin-top:22px; }
.iw-tba-n{ font:500 13px/1.4 'IBM Plex Mono', monospace !important; letter-spacing:.06em; text-transform:uppercase; color:var(--navy) !important; }
.db-label{ display:inline-block; padding-bottom:10px; margin-bottom:22px; border-bottom:2px solid var(--orange-dk); font:800 15px/1 var(--display); letter-spacing:.16em; text-transform:uppercase; color:var(--orange-dk); }
.db-perf{ height:6px; margin:clamp(26px,3vw,36px) 0; background:radial-gradient(circle, var(--navy) 2.2px, transparent 2.6px) 0 50%/12px 6px repeat-x; opacity:.7; }
.db-bio{ margin-top:clamp(26px,3vw,36px); max-width:56ch; }
.db-fine{ font:400 12.5px/1.6 'IBM Plex Mono', monospace; color:var(--ink); }
.db-fine + .db-fine{ margin-top:6px; }
.db-fine strong{ font-weight:600; color:var(--navy); }
.db-credit{ margin-top:22px !important; border-top-color:var(--line) !important; }
.db-credit img{ height:34px; width:auto; }
/* stat panel stretched full height */
.db-media .iw-stat{ flex:1; aspect-ratio:auto !important; justify-content:center; padding:clamp(40px,5vw,72px) clamp(32px,4vw,64px); margin:0; }
.db-media .iw-stat-n{ font-size:clamp(130px,15vw,210px); }
.db-media .iw-stat-facts{ max-width:22em; }
.db-photo{ position:relative; flex:1; margin:0; }
.db-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.db-name{ position:absolute; right:clamp(18px,3vw,40px); bottom:clamp(18px,3vw,36px); z-index:1; font:900 clamp(40px,4.6vw,72px)/.9 var(--display); text-transform:uppercase; color:var(--cream); text-shadow:0 1px 2px rgba(0,0,0,.5), 0 0 18px rgba(0,0,0,.35); }
@media (max-width:899px){
  .db{ grid-template-columns:1fr; min-height:0; }
  .db-media{ order:-1; }
  .db-media::after{ display:none; }
  .db-photo{ aspect-ratio:4/5; max-height:72vh; }
  .db-tx{ padding:clamp(28px,6vw,44px) var(--gut) clamp(44px,8vw,60px); }
  .db-media .iw-stat{ flex-direction:row; flex-wrap:wrap; align-items:flex-end; gap:12px 22px; padding:28px var(--gut); }
  .db-media .iw-stat-n{ font-size:96px; }
  .db-media .iw-stat-facts{ display:flex; flex-wrap:wrap; gap:14px 22px; border-top:0; padding-top:0; margin-top:0; }
}

/* 4 · Day → night seam: the slash */
.iw-cut{ --cut:clamp(48px,7vw,110px); clip-path:polygon(0 var(--cut), 100% 0, 100% 100%, 0 100%); margin-top:calc(var(--cut) * -0.5); padding-top:calc(clamp(56px,7vw,96px) + var(--cut)); position:relative; z-index:1; }

/* 1 · Ask band: the ticket stub */
.ask{ background:var(--night); color:var(--cream); padding:clamp(64px,8vw,104px) 0 clamp(64px,8vw,96px); }
.ask-in{ display:flex; flex-direction:column; align-items:center; text-align:center; }
.ticket.ask-ticket{ width:min(1040px,100%); max-width:none; margin:0; transform:none; grid-template-columns:1fr minmax(170px,22%); text-align:left; }
.ask-main{ padding:clamp(34px,4vw,52px) clamp(34px,4.4vw,60px) !important; }
.ask-eye{ font:500 13px/1.3 'IBM Plex Mono', monospace; letter-spacing:.14em; text-transform:uppercase; color:var(--night); }
.ask-h{ margin-top:10px; font:900 clamp(56px,7vw,96px)/.86 var(--display); text-transform:uppercase; color:var(--cream); text-shadow:3px 3px 0 #0b0d58; }
.ask-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:64px; margin-top:clamp(20px,2.4vw,28px); padding:0 30px; background:var(--navy); border-color:var(--navy); color:var(--cream); font:700 17px/1 var(--body); letter-spacing:.06em; }
.ask-btn:hover, .ask-btn:focus-visible{ background:#0b0d58; border-color:#0b0d58; }
.ask-fine{ margin-top:clamp(26px,3vw,34px); font:500 12.5px/1.5 'IBM Plex Mono', monospace; letter-spacing:.1em; text-transform:uppercase; color:rgba(243,236,226,.82); }
.ask-links{ margin-top:16px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px 14px; }
.ask-links a{ font:800 clamp(18px,1.7vw,22px)/1.2 var(--display); letter-spacing:.04em; text-transform:uppercase; color:rgba(243,236,226,.82); text-decoration:none; }
.ask-links a:hover, .ask-links a:focus-visible{ color:var(--cream); text-decoration:underline; text-underline-offset:4px; }
.ask-dot{ color:var(--orange-lt); font-weight:800; }
@media (max-width:520px){
  .ticket.ask-ticket{ grid-template-columns:1fr; transform:none; }
  .ask-btn{ width:100%; }
  .ask-links{ flex-direction:column; gap:10px; } .ask-dot{ display:none; }
}

/* 6 · What's YOUR100?: manifesto spread */
.y1m{ background:var(--paper); padding:0 0 clamp(64px,8vw,104px); }
.y1m::before{ opacity:.85; margin-bottom:clamp(56px,7vw,96px); }
.y1m-grid{ display:grid; grid-template-columns:minmax(0,4fr) minmax(0,7fr); column-gap:clamp(32px,4vw,64px); row-gap:0; }
.y1m-side{ grid-row:1; }
.y1m-logo{ position:sticky; top:96px; margin:0; line-height:0; }
.y1m-logo img{ width:min(360px,100%); height:auto; }
.y1m-main{ grid-row:1; }
.y1m-head{ font:900 clamp(48px,5.2vw,72px)/.92 var(--display); text-transform:uppercase; color:var(--navy); }
.y1m-head .iw-acc{ color:var(--orange-dk); }
.y1m-lead{ margin-top:clamp(22px,2.6vw,30px); font:500 clamp(20px,1.8vw,24px)/1.4 var(--body); color:var(--navy); }
.y1m-p{ margin-top:16px; max-width:58ch; font-size:18px; line-height:1.55; color:rgba(17,20,127,.8); }
.y1m-p strong{ color:var(--navy); }
.y1m-big{ margin-top:clamp(26px,3vw,36px); font:900 clamp(32px,3.2vw,44px)/1 var(--display); text-transform:uppercase; color:var(--navy); }
.y1m-note{ margin-top:clamp(22px,2.6vw,30px); max-width:58ch; }
.y1m-note p:last-child{ margin-top:8px; font-size:20px; line-height:1.45; color:var(--navy); }
.y1m-label{ font:700 12px/1.3 var(--body); letter-spacing:.18em; text-transform:uppercase; color:var(--orange-dk); }
.y1m-pct{ grid-column:1; margin-top:clamp(48px,6vw,80px); font:900 clamp(96px,11vw,160px)/.8 var(--display); color:transparent; -webkit-text-stroke:3px var(--orange-dk); }
.y1m-close{ grid-column:2; align-self:end; margin-top:clamp(48px,6vw,80px); font:500 clamp(24px,2.4vw,32px)/1.3 var(--body); color:var(--navy); }
.y1m-nets{ grid-column:1 / -1; margin-top:clamp(48px,6vw,80px); }
.y1m-nets ul{ list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:14px; }
.y1m-nets li{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; min-height:clamp(220px,20vw,280px); padding:28px 28px 28px 36px; background:var(--cream);
  background-image:radial-gradient(circle, var(--paper) 3px, transparent 3.4px); background-size:8px 16px; background-repeat:repeat-y; background-position:0 0; }
.y1m-serial{ position:absolute; top:14px; left:36px; font:500 11.5px/1 'IBM Plex Mono', monospace; letter-spacing:.14em; text-transform:uppercase; color:var(--navy); }
.y1m-nets li > img{ height:clamp(160px,15vw,210px) !important; width:auto; }
.y1m-cta{ grid-column:1 / -1; margin-top:clamp(36px,4vw,52px); }
.y1m-cta .ask-btn{ margin-top:0; }
@media (max-width:899px){
  .y1m-grid{ grid-template-columns:1fr; }
  .y1m-side, .y1m-main, .y1m-pct, .y1m-close{ grid-column:1; grid-row:auto; }
  .y1m-logo{ position:static; margin-bottom:28px; }
  .y1m-logo img{ width:240px; }
  .y1m-pct{ font-size:96px; margin-top:44px; }
  .y1m-close{ margin-top:14px; }
  .y1m-nets ul{ grid-template-columns:1fr; }
}

/* 7 · Footer: back of the ticket */
.ft{ position:relative; overflow:hidden; padding-top:0; }
.ft::before{ background:radial-gradient(circle, rgba(243,236,226,.35) 2.6px, transparent 3px) 0 50%/14px 6px repeat-x; margin-bottom:clamp(36px,5vw,56px); }
.ft-in{ position:relative; z-index:1; }
.ft-serial{ font:500 13px/1.5 'IBM Plex Mono', monospace; letter-spacing:.14em; text-transform:uppercase; color:rgba(243,236,226,.85); }
.ft-row{ display:grid; grid-template-columns:minmax(0,8fr) minmax(0,4fr); gap:28px 48px; margin-top:22px; align-items:end; }
.ft-line{ font:500 13px/1.6 'IBM Plex Mono', monospace; color:var(--cream); }
.ft-legal{ margin-top:12px; max-width:72ch; font:400 12px/1.6 'IBM Plex Mono', monospace; color:rgba(243,236,226,.7); }
.ft-side{ display:flex; flex-direction:column; align-items:flex-end; gap:18px; }
.ft-cta{ font:900 32px/1 var(--display); text-transform:uppercase; color:var(--orange-lt); text-decoration:none; }
.ft-cta:hover, .ft-cta:focus-visible{ text-decoration:underline; text-underline-offset:5px; }
.ft-mark{ display:block; width:100%; height:auto; margin:clamp(36px,5vw,64px) 0 -6vw; opacity:.06; pointer-events:none; }
@media (max-width:760px){ .ft-row{ grid-template-columns:1fr; } .ft-side{ align-items:flex-start; } }

/* 5 · Sticky claim bar (phones) */
.sticky-rsvp{ display:flex; align-items:stretch; gap:0; padding:0 0 env(safe-area-inset-bottom); }
.sticky-rsvp a{ flex:1; display:flex; align-items:center; justify-content:center; gap:10px; min-height:58px; color:inherit; text-decoration:none; font:inherit; }
.sticky-x{ flex:none; width:52px; border:0; border-left:1px solid rgba(255,255,255,.3); background:transparent; color:inherit; font:400 26px/1 var(--body); cursor:pointer; }
/* system pass: fixes */
#agenda{ padding-bottom:0; }
.db-media:has(.iw-stat)::after{ display:none; }
.y1m-nets li > img{ height:auto !important; max-height:clamp(150px,14vw,200px); max-width:78%; }
.ft-mark{ opacity:.045; margin-bottom:-7vw; }
:root{ --cut:clamp(48px,7vw,110px); }
.iw-cut{ margin-top:calc(var(--cut) * -1); }
#agenda > .db:last-child .db-name{ bottom:calc(var(--cut) + 14px); }
#agenda > .db:last-child .db-tx{ padding-bottom:calc(clamp(48px,6vw,88px) + var(--cut)); }
.y1m-nets .y1w-netlk{ --lh:clamp(44px,4.6vw,64px); }
@media (max-width:599px){ .y1m-nets .y1w-netlk{ --lh:40px; } }
.y1m-nets .y1w-netlk .logo{ height:var(--lh) !important; }
.db-cream .db-label{ color:#AD3613; border-bottom-color:#AD3613; }

/* ════════ Calm pass: the Evening sets the volume ════════
   Ceilings: night banner 104 · day banner 72 · night titles 66 · day titles 48 · hook beat 96 · stats 120.
   One orange field per object (the ticket). Orange text only for time / who-you-bring / the YOU rhyme.
   Perforation only: hero stub, hero→hook seam, footer top. */

/* hero */
.tk-head{ font-size:clamp(28px,3vw,40px); }
.tk-line{ font:600 clamp(19px,1.7vw,22px)/1.35 var(--body) !important; letter-spacing:0 !important; text-transform:none !important; }
.tagline, .tk-line + .tagline{ font-size:clamp(20px,2vw,26px) !important; margin-top:10px !important; }
.hero .cta{ flex-direction:column !important; flex-wrap:nowrap !important; align-items:flex-start !important; gap:0 !important; }
.hero .btn-2l{ flex:none !important; width:auto !important; max-width:none !important; min-height:60px; padding:0 34px !important; gap:0; }
.hero .btn-2l span{ font:700 17px/1 var(--body) !important; letter-spacing:.12em !important; text-transform:uppercase; }
.cta-reply{ margin-top:12px; font:500 15px/1.4 var(--body); color:#fff; }
.cta-links{ margin-top:14px; font:500 15px/1.4 var(--body); color:#fff; }
.cta-links a{ color:#fff; font-weight:700; text-underline-offset:3px; white-space:nowrap; }
.cta-dot{ opacity:.7; }
@media (max-width:520px){ .hero .btn-2l{ width:100% !important; } .hero .cta{ align-items:stretch !important; } }

/* hook: a question, a beat, an answer, a sign-off */
.hk{ padding-bottom:clamp(64px,7vw,80px); }
.hk-in{ padding-top:clamp(48px,6vw,80px); }
/* "Exactly.": the question's typeface, size and weight; a beat of space before it */
.hk-beat{ margin:clamp(40px,4.8vw,64px) 0 clamp(14px,1.6vw,20px); font:500 clamp(28px,3.1vw,42px)/1.18 var(--body); letter-spacing:-.01em; text-transform:none; }
.hk-a{ font-size:clamp(24px,2.4vw,32px); }
.hk-do{ margin-top:clamp(28px,3vw,40px); font:800 clamp(26px,2.8vw,40px)/1.05 var(--display); color:var(--navy); }
.hk-after{ display:block; margin-top:10px; padding-top:0; background:none; font:400 15px/1.5 var(--body); letter-spacing:0; text-transform:none; color:var(--ink-2); }

/* Part headers: day quieter than night; both start on the same edge as the bands */
#agenda{ padding-top:clamp(56px,6vw,80px); }
#agenda > .wrap, .iw-night > .wrap{ max-width:none; padding-left:var(--edge); padding-right:var(--edge); }
#agenda .iw-banner{ font-size:clamp(44px,5.4vw,72px) !important; }
#agenda .iw-head-h{ font-size:clamp(30px,3vw,44px); }
.ck-chip{ display:block; margin:clamp(14px,1.6vw,20px) 0 clamp(36px,4vw,48px); padding:0; border:0; background:none; font:500 16px/1.5 var(--body); letter-spacing:0; text-transform:none; color:var(--navy); }
.ck-chip strong{ font-weight:700; }

/* day bands: content sets the height; one ground (paper); quiet titles */
.db{ min-height:0; border-top:1px solid var(--line); }
.db-tx{ align-self:start; padding-top:clamp(44px,5vw,72px); padding-bottom:clamp(44px,5vw,72px); }
.db .iw-title{ font-size:clamp(30px,3.4vw,48px) !important; line-height:.95; }
.db-time{ font-size:clamp(24px,2.2vw,30px); }
.db-label{ display:block; padding:0; border:0 !important; margin-bottom:18px; color:var(--navy) !important; font:700 11.5px/1.3 var(--body); letter-spacing:.18em; }
.db-rule{ height:0; margin:clamp(28px,3vw,36px) 0; border:0; border-top:1px solid var(--line); }
.db-bio{ margin-top:clamp(28px,3vw,36px); padding-top:clamp(20px,2.2vw,26px); border-top:1px solid var(--line); }
.db-biotx{ font:400 16px/1.55 var(--body); color:var(--ink); max-width:56ch; }
.db-biotx strong{ font-weight:700; color:var(--navy); }

/* Justice Gap panel: a figure with a source, not a billboard */
.db-media .iw-stat{ justify-content:flex-start; padding:clamp(44px,5vw,72px) clamp(32px,4vw,64px); }
.iw-stat::before{ display:none; }
.db-media .iw-stat-n{ font-size:clamp(88px,9vw,120px) !important; }
.db-media .iw-stat-l{ margin-top:16px; font:600 18px/1.35 var(--body); letter-spacing:0; text-transform:none; }
.db-media .iw-stat-facts b{ font-size:28px; }
.db-media .iw-stat-facts span{ font:500 15px/1.4 var(--body); letter-spacing:0; text-transform:none; }
.iw-stat-src{ position:relative; margin-top:auto; padding-top:28px; font:400 13px/1.45 var(--body); color:rgba(255,255,255,.82); max-width:34em; }
@media (max-width:899px){
  .db-media .iw-stat{ display:flex; flex-direction:column; align-items:flex-start; gap:0; padding:32px var(--gut); }
  .db-media .iw-stat-n{ font-size:72px !important; }
  .db-media .iw-stat-facts{ display:grid; margin-top:18px; padding-top:14px; border-top:1px solid rgba(255,255,255,.35); }
  .iw-stat-src{ padding-top:18px; }
}

/* Miss Val: a framed portrait the size of the copy, not the band */
.db-group .db-media{ align-self:start; padding:clamp(44px,5vw,72px) var(--edge) clamp(44px,5vw,72px) 0; }
.db-group .db-media::after{ display:none; }
.db-group .db-photo{ flex:none; width:min(416px,100%); aspect-ratio:4/5; position:sticky; top:clamp(24px,4vh,48px); }
.db-group .db-name{ right:20px; bottom:16px; font-size:clamp(28px,3vw,40px); }
#agenda > .db:last-child .db-name{ bottom:16px; }
#agenda > .db:last-child .db-tx{ padding-bottom:calc(clamp(44px,5vw,72px) + var(--cut)); }
@media (max-width:899px){
  .db-group .db-media{ padding:32px var(--gut) 0; }
  .db-group .db-photo{ position:relative; top:auto; width:100%; max-width:420px; aspect-ratio:1/1; max-height:none; }
}

/* $1B box: the same frame as the Miss Val portrait (grows only if its copy needs more room) */
.db-media:has(.iw-stat){ align-self:start; padding:clamp(44px,5vw,72px) var(--edge) clamp(44px,5vw,72px) 0; }
.db-media .iw-stat{ flex:none; width:min(416px,100%); aspect-ratio:4/5 !important; padding:clamp(24px,2.4vw,32px); }
.db-media .iw-stat-n{ font-size:clamp(72px,7vw,96px) !important; }
.db-media .iw-stat-l{ margin-top:10px; }
.db-media .iw-stat-facts{ margin-top:18px; padding-top:14px; gap:10px; }
.db-media .iw-stat-facts b{ font-size:24px; }
.db-media .iw-stat-src{ padding-top:16px; font-size:12px; }
@media (max-width:899px){
  .db-media:has(.iw-stat){ padding:32px var(--gut) 0; }
  /* phones: one column that grows with its copy (at least square, like the Miss Val photo) - never wraps into a second column */
  .db-media .iw-stat{ width:100%; max-width:420px; aspect-ratio:auto !important; min-height:min(420px, calc(100vw - 2 * var(--gut))); flex-wrap:nowrap; padding:28px; }
  .db-media .iw-stat-facts{ width:100%; }
}

/* closing ticket: the hero's twin, same size, says it once */
.ask{ padding:clamp(64px,7vw,96px) 0; }
.ticket.ask-ticket{ width:min(640px,100%); grid-template-columns:1fr minmax(120px,26%); }
.ask-main{ padding:clamp(28px,3.4vw,40px) clamp(28px,3.6vw,44px) !important; }
.ask-eye{ font:600 13px/1.3 var(--body); letter-spacing:.14em; color:#fff; }
.ask-h{ margin-top:8px; font-size:clamp(36px,4.4vw,56px); line-height:.92; color:#fff; text-shadow:none; }
.ask-btn{ min-height:56px; margin-top:20px; padding:0 26px; font:700 15px/1 var(--body); letter-spacing:.12em; text-transform:uppercase; }
.ask-fine{ margin-top:22px; font:500 15px/1.4 var(--body); letter-spacing:0; text-transform:none; color:rgba(243,236,226,.85); }
.ask-links{ margin-top:10px; gap:0 4px; }
.ask-links a{ display:inline-block; padding:12px 6px; font:500 15px/1.2 var(--body); letter-spacing:0; text-transform:none; color:rgba(243,236,226,.9); text-decoration:underline; text-underline-offset:4px; text-decoration-color:rgba(243,236,226,.35); }
.ask-links a:hover, .ask-links a:focus-visible{ color:var(--cream); text-decoration-color:currentColor; }
.ask-dot{ color:rgba(243,236,226,.5); font-weight:400; }
@media (max-width:520px){ .ask-links{ flex-direction:row; gap:0; } .ask-dot{ display:inline; } }

/* What's YOUR100?: a letter, not a poster */
.y1m::before{ display:none; }
.y1m{ padding-top:clamp(64px,7vw,96px); padding-bottom:clamp(64px,7vw,96px); border-top:1px solid var(--line); }
.y1m-grid{ grid-template-columns:minmax(0,4fr) minmax(0,7fr); }
.y1m-logo img{ width:min(240px,100%); }
.y1m-head{ font:800 clamp(32px,3.4vw,48px)/1 var(--display); text-transform:none; letter-spacing:0; }
.y1m-p{ color:var(--ink); }
.y1m-close{ font-size:20px; line-height:1.45; color:var(--navy); }
.y1m-note{ margin-top:clamp(26px,3vw,34px); padding-top:clamp(18px,2vw,22px); border-top:1px solid var(--line); }
.y1m-label{ color:var(--navy); }
.y1m-nets{ grid-column:auto; margin-top:clamp(34px,4vw,48px); }
.y1m-nets ul{ display:flex; flex-wrap:wrap; align-items:center; gap:20px 44px; margin-top:16px; }
.y1m-nets li{ display:block; min-height:0; padding:0; background:none; }
.y1m-nets li > img{ height:64px !important; max-height:none; width:auto; max-width:none; }
.y1m-nets .y1w-netlk{ --lh:32px; }
@media (max-width:899px){ .y1m-logo img{ width:200px; } }

/* footer: legible, no ask */
.ft-legal{ font:400 14px/1.6 var(--body); color:rgba(243,236,226,.82); max-width:68ch; }
.ft-line{ font:500 15px/1.5 var(--body); }

/* sticky bar: phones only, from the Evening on */
@media (min-width:960px){ .sticky-rsvp{ display:none !important; } }
.sticky-rsvp{ border-top:1px solid rgba(243,236,226,.4); }
.sticky-rsvp a{ font:700 16px/1 var(--body); letter-spacing:.02em; text-transform:none; }
.sticky-rsvp a span{ font-weight:500; }
.sticky-x{ width:52px; min-height:52px; }
.y1m-close{ margin-top:16px !important; font-weight:500; }
.y1m-nets li > img{ height:96px !important; }
.y1m-nets .y1w-netlk{ --lh:38px; }
.ask{ padding-top:clamp(56px,6vw,80px); }
@media (max-width:899px){ .y1m-grid{ grid-template-columns:1fr; } }
/* What's YOUR100?: body copy in charcoal; blue only for the headline and the two thesis lines (lead + close) */
.y1m-p, .y1m-p strong, .y1m-note p, .y1m-note p:last-child, .y1m-note strong{ color:var(--ink); }
.y1m-head, .y1m-lead, .y1m-close{ color:var(--navy); }
.y1m-note{ border-top:0; padding-top:0; }
.y1m-note p:last-child{ margin-top:0; font-size:18px; line-height:1.55; }
/* more breathing room */
.y1m{ padding-top:clamp(80px,8.5vw,120px); padding-bottom:clamp(80px,8.5vw,120px); }
.y1m-lead{ margin-top:clamp(26px,3vw,36px); }
.y1m-p{ margin-top:20px; }
.y1m-close{ margin-top:clamp(28px,3vw,36px) !important; }
.y1m-note{ margin-top:clamp(28px,3vw,36px); }
.y1m-nets{ margin-top:clamp(48px,5.5vw,68px); }
.y1m-nets ul{ margin-top:20px; }
/* participating-network logos, a step larger */
.y1m-nets li > img{ height:184px !important; }   /* Back to Buffalo: tall enough that its small type reads */
.y1m-nets .y1w-netlk{ --lh:44px; }
@media (max-width:599px){ .y1m-nets li > img{ height:150px !important; } .y1m-nets .y1w-netlk{ --lh:38px; } }
@media (max-width:520px){
  .ticket.ask-ticket{ grid-template-columns:1fr; }
  .ask-main{ padding:26px 24px !important; }
  .ask-btn{ width:100%; padding:0 16px; }
}

/* Evening bands: a shorter fade so the photo ends crisply, and the copy starts further right on clean black */
@media (min-width:900px){
  .iw-show-ph::after{ background:linear-gradient(90deg, rgba(15,13,12,0) 72%, rgba(15,13,12,.75) 90%, var(--night) 100%); }
  .iw-show-tx{ margin-left:clamp(-64px,-4vw,-16px); }
}

/* What's YOUR100?: the opening thesis paragraph in bold */
.y1m-lead{ font-weight:700; }

/* Agenda header: "YOUR100 is a better way." then the 1 -> 2 -> 10 line, above Part 1 */
.ag-intro{ margin-bottom:clamp(48px,6vw,80px); }
.ag-intro-h{ font:800 clamp(36px,4.2vw,60px)/1 var(--display); letter-spacing:0; text-transform:none; color:var(--navy); }
.ag-intro .hk-do{ margin-top:clamp(18px,2vw,26px); }

/* Hero tagline: one line on phones too. The line is ~17.6em wide, so the type scales to fit the column (never above 20px there) */
@media (max-width:959px){
  .tl-br{ display:none; }
  .tagline{ white-space:nowrap; }
  .tagline, .tk-line + .tagline{ font-size:min(20px, calc((100vw - 2 * var(--gut)) / 17.9)) !important; }
}

/* The hook ("When was the last time… / Exactly.") as its own section: a white band, set off by the change of ground and a hairline (no perforations) */
.hk{ background:#fff; padding-bottom:0; border-bottom:1px solid var(--line); }
.hk::before{ display:none; }
.hk-in{ padding-bottom:clamp(56px,6.5vw,88px); }

/* Agenda header's last line: the payoff, not a caption. Navy, larger; "Good for your community." in orange */
.ag-intro .hk-after{ margin-top:14px; font:500 clamp(19px,1.7vw,22px)/1.4 var(--body); color:var(--navy); }
.ag-intro .hk-after .iw-acc{ color:var(--orange-dk); }

/* Evening: hometown after an artist's name, e.g. "(Nashville)", set small like the "(NYC)" in the acts list */
.iw-from{ font:500 15px/1 var(--body); letter-spacing:0; text-transform:none; color:var(--cream-2); white-space:nowrap; }
.sb-head .iw-from{ font-size:16px; vertical-align:middle; }
/* Evening partner logos: larger */
.sb .iw-credit img[src*="alleyway"]{ height:46px !important; }
.sb .iw-credit img[src*="town-ballroom"]{ height:116px !important; }
@media (max-width:599px){ .sb .iw-credit img[src*="alleyway"]{ height:40px !important; } .sb .iw-credit img[src*="town-ballroom"]{ height:100px !important; } }

/* Evening: hometown after an artist's name, e.g. "(Nashville)", set small like the "(NYC)" in the acts list */
.iw-from{ font:500 15px/1 var(--body); letter-spacing:0; text-transform:none; color:var(--cream-2); white-space:nowrap; }
.sb-head .iw-from{ font-size:16px; vertical-align:middle; }
/* Evening partner logos: larger */
.sb .iw-credit img[src*="alleyway"]{ height:46px !important; }
.sb .iw-credit img[src*="town-ballroom"]{ height:116px !important; }
@media (max-width:599px){ .sb .iw-credit img[src*="alleyway"]{ height:40px !important; } .sb .iw-credit img[src*="town-ballroom"]{ height:100px !important; } }

/* Hook: two questions, a little apart, then "Exactly." */
.hk-q{ max-width:24ch; }
.hk-q + .hk-q{ margin-top:clamp(18px,2vw,26px); }

/* What's YOUR100?: the line under the headline (a deck, in charcoal so blue stays for the headline and thesis lines) */
.y1m-sub{ margin-top:clamp(12px,1.4vw,16px); max-width:44ch; font:500 clamp(19px,1.6vw,22px)/1.4 var(--body); color:var(--ink); }

/* Afternoon: "Hosted by" + the host firm's logo, under the description */
.iw-host{ display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; margin-top:clamp(20px,2.2vw,28px); }
.iw-host img{ height:clamp(40px,3.4vw,48px); width:auto; }

/* Hook: optional answer line after the beat, at the question's size */
.hk-ans{ margin-top:clamp(10px,1.2vw,14px); font:500 clamp(28px,3.1vw,42px)/1.18 var(--body); letter-spacing:-.01em; color:var(--navy); }

/* What's YOUR100?: the "network of networks" callout under the logo (logo + callout stay in view together) */
.y1m-logo{ position:static; }
@media (min-width:900px){ .y1m-side-in{ position:sticky; top:96px; } }
.y1m-callout{ margin-top:clamp(28px,3vw,40px); padding-top:clamp(18px,2vw,24px); border-top:2px solid var(--orange-dk); max-width:22em; }
.y1m-callout .y1m-head{ font:800 clamp(26px,2.4vw,34px)/1.05 var(--display); text-transform:none; letter-spacing:0; color:var(--navy); }
.y1m-callout .y1m-sub{ margin-top:12px; max-width:none; font:500 17px/1.5 var(--body); color:var(--ink); }
.y1m-main > .y1m-lead:first-child{ margin-top:0; }
@media (max-width:899px){ .y1m-callout{ margin-top:0; margin-bottom:32px; } }

/* Callout list: the three anchors, each led by the orange slash from the YOUR100/ mark */
.y1m-callout .y1m-sub{ margin-top:20px; font:600 12px/1.3 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); }
.y1m-anchors{ list-style:none; margin-top:12px; display:grid; gap:10px; }
.y1m-anchors li{ display:grid; grid-template-columns:.9em 1fr; column-gap:6px; font:800 clamp(21px,1.9vw,25px)/1.08 var(--display); letter-spacing:.005em; text-transform:uppercase; color:var(--navy); }
.y1m-slash{ font-weight:900; color:var(--orange-dk); }
/* Host + co-host side by side (stacked on narrow screens); each label sits above its logo */
.iw-hosts{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:20px clamp(32px,4vw,56px); margin-top:clamp(20px,2.2vw,28px); }
.iw-hosts .iw-host{ margin-top:0; flex-direction:column; align-items:flex-start; gap:10px; }
.iw-hosts .iw-host img{ width:auto; max-width:100%; }
@media (max-width:599px){ .iw-hosts .iw-host img{ max-height:40px; } }
/* labels share a top line; both logos centred in the same 48px band */
.iw-hosts{ align-items:flex-start; }
.iw-hosts .iw-host{ display:grid; grid-template-rows:auto 48px; row-gap:10px; justify-items:start; }
.iw-hosts .iw-host img{ align-self:center; }
@media (max-width:599px){ .iw-hosts .iw-host{ grid-template-rows:auto 40px; } }
/* stacked: host, then co-host below */
.iw-hosts{ flex-direction:column; gap:clamp(18px,2vw,24px); }
/* Sponsored by: one label, logos stacked (each centred in a 48px band), then the venue line */
.iw-hosts{ display:block; }
.iw-host-logos{ list-style:none; margin-top:10px; display:grid; gap:14px; }
.iw-host-logos li{ display:flex; align-items:center; height:48px; }
.iw-host-logos img{ width:auto; max-width:100%; }
.iw-host-note{ margin-top:14px; font:500 15.5px/1.45 var(--body); color:var(--ink-2); }
@media (max-width:599px){ .iw-host-logos li{ height:40px; } .iw-host-logos img{ max-height:40px; } }

/* Hero: "What's the catch?" back in an outlined box beside Claim your ticket (same height as the button); the request link sits on its own line below */
.hero .cta{ display:flex; flex-direction:row !important; flex-wrap:wrap !important; align-items:stretch !important; gap:14px 16px !important; }
.hero .cta > .cta-reply, .hero .cta > .cta-why, .hero .cta > .cta-links{ flex-basis:100%; margin-top:0; }
.hero .catch-box{ flex:0 0 auto; min-height:60px; }
/* phones: full-width button, the box just below it */
@media (max-width:520px){
  .hero .btn-2l{ flex:1 1 100% !important; width:100% !important; }
  .hero .catch-box{ min-height:0; max-width:none; white-space:nowrap; padding:10px 16px; font-size:14px; }
}
/* "What's the catch?" box: white with navy text; on hover a slight shade shift, like Claim your ticket */
.hero .catch-box{ background:#fff; color:var(--navy); border-color:#fff; }
.hero .catch-box:hover, .hero .catch-box:focus-visible{ background:#e6e4f0; border-color:#e6e4f0; color:var(--navy); }

/* Evening: placeholder VENUE logo (stands in for the Alleyway / Town Ballroom marks for now) */
.sb .iw-credit img[src*="venue-placeholder"], .iw-night .iw-credit img[src*="venue-placeholder"]{ height:40px !important; width:auto; }
@media (max-width:599px){ .sb .iw-credit img[src*="venue-placeholder"]{ height:34px !important; } }

/* ── Hero: Founding Ecosystem Partner slot ──
   A cream card with an empty, dashed logo slot: reads as "this space is open", links to the sponsor pitch.
   Desktop: sits over the lower right of the Buffalo photo. Phones/tablets: a full-width card under the hero copy. */
.eco{ display:block; margin:28px var(--gut) 36px; padding:18px 20px 16px; background:var(--cream); color:var(--navy); text-decoration:none; box-shadow:0 10px 30px rgba(8,8,40,.28); transition:background .15s; }
.eco:hover, .eco:focus-visible{ background:#e9e1d4; }
.eco-k{ display:block; font:700 11.5px/1.3 var(--body); letter-spacing:.18em; text-transform:uppercase; color:var(--orange-dk); }
.eco-slot{ display:flex; align-items:center; justify-content:center; height:76px; margin-top:12px; border:2px dashed rgba(17,20,127,.45); }
.eco-slot span{ font:800 22px/1 var(--display); letter-spacing:.08em; text-transform:uppercase; color:rgba(17,20,127,.6); }
.eco-line{ display:block; margin-top:12px; font:600 16px/1.35 var(--body); color:var(--navy); }
.eco-go{ display:inline-block; margin-top:8px; font:700 14px/1.2 var(--body); color:var(--navy); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(17,20,127,.4); }
.eco:hover .eco-go{ text-decoration-color:currentColor; }
@media (min-width:960px){
  .eco{ position:absolute; z-index:2; right:clamp(24px,3.4vw,56px); bottom:clamp(28px,4vw,56px); width:300px; margin:0; }
}
@media (max-width:959px){ .eco{ margin-top:0; } }

/* ── Sponsor bar: sticky at the very top of every page ──
   Editorial, not an alert: a deep-navy strip (one shade under the hero) with a single hairline below.
   Label in the display face as small caps, the line in the body sans, the CTA as an orange text link.
   Desktop: one line (label | line | CTA). Phones: two lines (label / line … CTA). The whole bar is the link. */
.eco-bar{ position:sticky; top:0; z-index:30; display:block; background:var(--navy-deep); color:var(--cream); text-decoration:none; border-bottom:1px solid rgba(243,236,226,.14); }
.eco-bar-in{ display:flex; align-items:baseline; gap:clamp(16px,2.4vw,36px); max-width:1160px; margin:0 auto; padding:12px var(--gut); }
.eco-bar-k{ flex:none; font:700 14px/1.2 var(--display); letter-spacing:.12em; text-transform:uppercase; color:var(--cream); }
.eco-bar-line{ flex:1 1 auto; min-width:0; font:400 14px/1.35 var(--body); color:rgba(243,236,226,.72); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.eco-bar-go{ flex:none; margin-left:auto; font:600 14px/1.2 var(--body); color:var(--orange-lt); white-space:nowrap; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; text-decoration-color:rgba(255,138,92,.45); transition:text-decoration-color .15s, color .15s; }
.eco-bar:hover .eco-bar-go, .eco-bar:focus-visible .eco-bar-go{ color:#ffa47f; text-decoration-color:currentColor; }
.eco-bar:focus-visible{ outline:2px solid var(--orange-lt); outline-offset:-2px; }
/* the fixed menu button sits just under the bar (height measured in render.js) */
body.has-eco .menu-btn{ top:calc(var(--eco-h, 44px) + 12px + env(safe-area-inset-top)); }
/* phones: label on its own line; then the line (trimmed with … if it runs long) and the CTA */
@media (max-width:759px){
  .eco-bar-in{ display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:14px; row-gap:4px; padding:10px 16px; }
  .eco-bar-k{ grid-column:1 / -1; font-size:13px; letter-spacing:.1em; }
  .eco-bar-line{ font-size:13px; }
  .eco-bar-go{ font-size:13px; margin-left:0; }
}
/* on every page but the invitation, the bar is the way back: same strip, the CTA reads "← Back to the invitation" */
.eco-bar-back .eco-bar-line{ color:rgba(243,236,226,.72); }
/* the bar keeps YOUR100's own palette and type even on pages that re-theme the body (the Back to Buffalo weekend page) */
.eco-bar{ --navy-deep:#0b0d58; --cream:#f3ece2; --orange-lt:#ff8a5c; --body:'DM Sans', 'Helvetica Neue', Arial, sans-serif; --display:'Big Shoulders Display', 'Arial Narrow', sans-serif; }

/* Hero: the day as math. Time | count | who + why. The counts (1, +1, +8) are the eye-catcher, in orange display type */
.hm{ display:grid; grid-template-columns:auto auto minmax(0,1fr); column-gap:14px; row-gap:12px; margin:12px 0 14px; }
.hm-row{ display:contents; }
.hm-t{ font:600 14px/1.45 var(--body); color:rgba(255,255,255,.75); white-space:nowrap; padding-top:3px; }
.hm-n{ font:800 26px/1 var(--display); color:var(--orange-lt); text-align:right; min-width:1.4em; }
.hm-x{ font:400 15.5px/1.45 var(--body); color:#fff; }
.hm-x b{ font-weight:700; }
@media (max-width:520px){
  .hm{ grid-template-columns:auto minmax(0,1fr); column-gap:12px; row-gap:4px; }
  .hm-t{ grid-column:1 / -1; padding-top:8px; font-size:13px; }
  .hm-t:first-child{ padding-top:0; }
  .hm-n{ font-size:24px; }
  .hm-x{ font-size:15px; }
}

/* Hero: "We invite you. You bring 9 more." now follows the date; the tagline sits under the ticket */
.fl-invite{ font-weight:500; }
.hero .ticket + .tagline, .hero .tk-why + .tagline{ margin-top:clamp(36px,4.2vw,52px) !important; }
/* the newest additions (your guest, 8 more) in orange; the total under a rule, like a sum */
.hm-x b.hm-add{ color:var(--orange-lt); }
.hm-total > span{ padding-top:12px; border-top:1px solid rgba(255,255,255,.45); }
.hm-total .hm-t{ padding-top:15px; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:.08em; font-size:13px; }
.hm-total .hm-n{ color:#fff; font-size:30px; }
.hm-total .hm-x{ font-weight:600; padding-top:14px; }
@media (max-width:520px){
  .hm-total .hm-t{ border-top:0; padding-top:10px; }
  .hm-total .hm-n, .hm-total .hm-x{ border-top:1px solid rgba(255,255,255,.45); }
}
/* one continuous rule across the whole table above the total */
.hm-total > span, .hm-total .hm-n, .hm-total .hm-x{ border-top:0 !important; }
.hm-rule{ grid-column:1 / -1; height:0; margin-top:4px; border-top:1px solid rgba(255,255,255,.45); }
.hm-total > span{ padding-top:0; }
.hm-total .hm-t{ padding-top:4px; }
.hm-total .hm-x{ padding-top:2px; }
@media (max-width:520px){ .hm-total .hm-t{ padding-top:2px; } .hm-rule{ margin-top:8px; } }
.fl-acc{ color:var(--orange-lt); }
/* more room between the 3:00 / 6:00 / 8:00 rows so the progression breathes */
.hm{ row-gap:20px; }
.hm-rule{ margin-top:2px; }
@media (max-width:520px){ .hm{ row-gap:6px; } .hm-t{ padding-top:14px; } .hm-t:first-child{ padding-top:0; } }

/* ════════ The Blue Ticket page (blue.html): tour-date poster ════════
   Deep navy ground; the ticket in a brighter royal blue so it reads as an object on it.
   The four days set like a band's tour dates: big date, event in condensed caps, venue in mono, then the detail. */
.blu{ background:var(--navy-deep); color:var(--cream); padding:clamp(48px,6vw,96px) 0 clamp(64px,8vw,120px); }
.blu-top{ display:grid; gap:clamp(36px,5vw,56px); align-items:center; }
@media (min-width:960px){ .blu-top{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); } }
.blu-h{ margin:0; font:900 clamp(56px,7.4vw,112px)/.84 var(--display); text-transform:uppercase; letter-spacing:.005em; color:var(--cream); }
.blu-lead{ margin-top:clamp(14px,1.6vw,20px); font:700 clamp(19px,1.8vw,24px)/1.3 var(--body); color:var(--cream); }
.blu-intro{ margin-top:10px; max-width:30em; font:400 16.5px/1.55 var(--body); color:rgba(243,236,226,.78); }

/* the ticket: the orange one's twin in royal blue */
.ticket.ticket-blue{ margin:0; width:100%; max-width:660px; justify-self:end; transform:rotate(-2.5deg);
  background:#2027b0 radial-gradient(rgba(255,255,255,.07) 1px, transparent 1.2px) 0 0/6px 6px;
  filter:drop-shadow(10px 10px 0 #04052e); }
.ticket-blue .tk-title{ text-shadow:2px 2px 0 #04052e; }
.ticket-blue .tk-n{ text-shadow:3px 3px 0 #04052e; }
.ticket-blue .tk-stub{ background-image:radial-gradient(circle, rgba(243,236,226,.7) 2.5px, transparent 3px); }
.ticket-blue .tk-net{ white-space:normal !important; text-wrap:balance; }
.ticket-blue .tk-date{ white-space:nowrap; }
@media (max-width:959px){ .ticket.ticket-blue{ justify-self:start; } }
@media (max-width:520px){ .ticket.ticket-blue{ grid-template-columns:1fr; transform:rotate(-1.5deg); }
  .ticket-blue .tk-stub{ background-image:radial-gradient(circle, rgba(243,236,226,.7) 2.5px, transparent 3px); } }

/* tour dates */
.blu-dates{ list-style:none; margin:clamp(64px,8vw,112px) 0 0; padding:0; border-top:1px solid rgba(243,236,226,.35); }
.blu-date{ display:grid; grid-template-columns:clamp(150px,15vw,200px) minmax(0,1fr) auto; column-gap:clamp(20px,3vw,44px); row-gap:6px; align-items:baseline;
  padding:clamp(22px,2.6vw,32px) 0; border-bottom:1px solid rgba(243,236,226,.35); }
.bd-when{ grid-row:1 / span 2; display:flex; align-items:baseline; gap:10px; }
.bd-dow{ font:500 13px/1 'IBM Plex Mono', monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--orange-lt); }
.bd-d{ font:900 clamp(40px,4.4vw,60px)/.85 var(--display); letter-spacing:.01em; color:var(--cream); }
.bd-t{ margin:0; font:800 clamp(26px,2.8vw,40px)/.95 var(--display); text-transform:uppercase; letter-spacing:.005em; color:var(--cream); }
.bd-where{ grid-column:3; grid-row:1; font:500 12.5px/1.3 'IBM Plex Mono', monospace; letter-spacing:.14em; text-transform:uppercase; color:rgba(243,236,226,.7); text-align:right; white-space:nowrap; }
.bd-x{ grid-column:2 / -1; max-width:44em; }
.bd-x p{ margin-top:6px; font:400 16px/1.55 var(--body); color:rgba(243,236,226,.82); }
.bd-l a, .blu-back a{ font:700 15px/1.3 var(--body); color:var(--orange-lt); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; text-decoration-color:rgba(255,138,92,.45); }
.bd-l a:hover, .blu-back a:hover{ text-decoration-color:currentColor; }
.bd-l{ margin-top:10px !important; }

/* the close */
.blu-end{ margin-top:clamp(40px,5vw,64px); display:grid; gap:12px; }
.blu-scarce{ font:900 clamp(30px,3.6vw,52px)/.92 var(--display); text-transform:uppercase; letter-spacing:.005em; color:var(--cream); }
.blu-by{ font:600 12px/1.3 var(--body); letter-spacing:.16em; text-transform:uppercase; color:rgba(243,236,226,.7); }
.blu-back{ margin-top:10px; }

@media (max-width:719px){
  .blu-date{ grid-template-columns:minmax(0,1fr); row-gap:4px; }
  .bd-when, .bd-where, .bd-x{ grid-column:1; grid-row:auto; }
  .bd-where{ text-align:left; order:3; }
  .bd-t{ order:2; margin-top:4px; }
  .bd-x{ order:4; }
  .bd-d{ font-size:44px; }
  .blu-h{ font-size:56px; }
}
/* Blue Ticket page, like the invitation's hero: "You got the Blue Ticket." over a big ticket, then the lines */
.blu-top{ display:block; }
.blu .tk-head.blu-h{ font:900 clamp(30px,4.2vw,54px)/.95 var(--display); text-transform:uppercase; letter-spacing:.005em; color:#fff; }
.ticket.ticket-blue{ max-width:860px; margin-top:clamp(28px,3.4vw,44px); justify-self:auto; }
.blu-lead{ margin-top:clamp(40px,4.6vw,60px); }
/* Blue Ticket face: four columns, one per day, split by the dashed rule (2 x 2 on small phones) */
.ticket-blue .tk-row{ display:grid !important; grid-template-columns:repeat(4, minmax(0,1fr)) !important; column-gap:0; row-gap:14px; margin-top:clamp(16px,2vw,22px); }
.ticket-blue .tk-col{ display:flex; flex-direction:column; gap:6px; padding:0 clamp(10px,1.4vw,16px); border-left:1px dashed rgba(243,236,226,.6); }
.ticket-blue .tk-col:first-child{ padding-left:0; border-left:0; }
.ticket-blue .tk-row .tk-fk{ min-height:0 !important; }
.ticket-blue .tk-col .tk-net{ font-size:clamp(14px,1.5vw,19px); line-height:1.05; }
@media (max-width:420px){
  .ticket-blue .tk-row{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
  .ticket-blue .tk-col:nth-child(3){ padding-left:0; border-left:0; }
  .ticket-blue .tk-col .tk-net{ font-size:15px; }
}
.ticket-blue .tk-col .tk-net{ white-space:nowrap !important; font-size:clamp(13px,1.25vw,17px); }
@media (max-width:420px){ .ticket-blue .tk-col .tk-net{ font-size:14px; } }
.ticket-blue .tk-col .tk-net{ font-size:clamp(15px,1.3vw,18px); }
@media (max-width:420px){ .ticket-blue .tk-col .tk-net{ font-size:14px; } }
/* Blue Ticket page top: the Buffalo skyline at the right (duotone, like the invitation's hero), a bigger ticket over it */
.blu{ position:relative; overflow:hidden; }
.blu .wrap{ position:relative; z-index:1; }
.blu-photo.duo-day{ background:var(--navy-deep); }
@media (min-width:960px){
  .blu-photo{ position:absolute; top:0; right:0; bottom:auto; left:auto; width:46%; height:min(760px,92vh); clip-path:polygon(22% 0,100% 0,100% 100%,0 100%); }
  .blu-photo img{ object-position:50% 20%; }
  .blu-photo::after{ content:''; position:absolute; inset:auto 0 0 0; height:40%; background:linear-gradient(to bottom, rgba(11,13,88,0), var(--navy-deep)); }
}
@media (max-width:959px){ .blu{ padding-top:0; } .blu-photo{ margin-bottom:clamp(28px,6vw,44px); } }
.ticket.ticket-blue{ max-width:980px; }
.ticket-blue .tk-partner{ display:block; margin-top:clamp(8px,1vw,12px); font:600 clamp(11px,1vw,13px)/1.3 var(--body); letter-spacing:.16em; text-transform:uppercase; color:rgba(243,236,226,.85); }
.ticket-blue .tk-partner mark.ph{ letter-spacing:.04em; }
@media (max-width:620px){ .ticket-blue .tk-title{ white-space:normal !important; text-wrap:balance; line-height:1 !important; } }
/* Blue Ticket: "All Weekend" in orange; the stub reads Only / 3 / Blue Tickets Available */
.ticket-blue .tk-hl-o{ color:var(--orange-lt); }
.ticket-blue .tk-avail{ max-width:7.5em; font:800 clamp(12px,1.1vw,14px)/1.1 var(--display); letter-spacing:.12em; text-transform:uppercase; text-align:center; color:var(--cream); text-wrap:balance; }
@media (max-width:520px){ .ticket-blue .tk-avail{ max-width:none; font-size:13px; } .ticket-blue .tk-stub{ flex-wrap:wrap; } }
/* the agenda: everything in the Orange Ticket, then PLUS the rest */
.blu-plus{ padding:clamp(18px,2.2vw,26px) 0 clamp(6px,1vw,10px); border-bottom:0; font:900 clamp(34px,3.8vw,54px)/1 var(--display); letter-spacing:.06em; text-transform:uppercase; color:var(--orange-lt); }
.blu-plus + .blu-date{ border-top:1px solid rgba(243,236,226,.35); }
/* Blue Ticket: "All Weekend" in orange; the stub reads Only / 3 / Blue Tickets Available */
.ticket-blue .tk-hl-o{ color:var(--orange-lt); }
.ticket-blue .tk-avail{ max-width:7.5em; font:800 clamp(12px,1.1vw,14px)/1.1 var(--display); letter-spacing:.12em; text-transform:uppercase; text-align:center; color:var(--cream); text-wrap:balance; }
@media (max-width:520px){ .ticket-blue .tk-avail{ max-width:none; font-size:13px; } .ticket-blue .tk-stub{ flex-wrap:wrap; } }
/* the agenda: everything in the Orange Ticket, then PLUS the rest */
.blu-plus{ padding:clamp(18px,2.2vw,26px) 0 clamp(6px,1vw,10px); font:900 clamp(34px,3.8vw,54px)/1 var(--display); letter-spacing:.06em; text-transform:uppercase; color:var(--orange-lt); }
.blu-plus + .blu-date{ border-top:1px solid rgba(243,236,226,.35); }
/* Blue Ticket agenda in two groups: the Orange Ticket's two-day festival, then PLUS */
.blu-group{ margin-top:clamp(64px,8vw,104px); }
.blu-group-plus{ margin-top:clamp(48px,6vw,72px); }
.blu-group .blu-dates{ margin-top:clamp(14px,1.8vw,20px); }
.blu-gh{ margin:0; font:900 clamp(28px,3.2vw,44px)/1 var(--display); letter-spacing:.02em; text-transform:uppercase; color:var(--cream); }
.blu-group-plus .blu-gh{ font-size:clamp(40px,4.6vw,64px); letter-spacing:.06em; color:var(--orange-lt); }
.blu-gn{ margin-top:8px; font:500 12.5px/1.3 'IBM Plex Mono', monospace; letter-spacing:.14em; text-transform:uppercase; color:rgba(243,236,226,.75); }

/* What's YOUR100? now follows the questions: the answer line heads the right column */
.y1m-answer{ font:800 clamp(32px,3.6vw,52px)/1.02 var(--display); letter-spacing:0; color:var(--navy); text-wrap:balance; }
.y1m-main > .y1m-answer + .y1m-lead{ margin-top:clamp(18px,2vw,26px); }
.hk + .y1m{ border-top:0; }
/* What's YOUR100? → agenda: a hairline and less dead space between the two paper sections */
.y1m + .iw{ border-top:1px solid var(--line); }
.y1m + #agenda{ padding-top:clamp(48px,5.5vw,72px); }
.hk + .y1m{ padding-bottom:clamp(56px,6vw,80px); }

/* ── Agenda tabs: folder tabs for Day 1 / Day 2, sticky under the top bar ──
   The selected tab is the paper of the page below it (a folder tab); the other sits back, tinted. */
.days{ position:relative; }
.day-tabs{ position:sticky; top:var(--eco-h, 0px); z-index:25; background:var(--paper); padding-top:14px; border-bottom:2px solid var(--navy); }
.day-tabs-in{ display:flex; align-items:flex-end; gap:8px; }
.day-tab{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:min(260px,48%); margin-bottom:-2px; padding:12px 22px 12px; text-align:left; cursor:pointer;
  background:#e5e0d4; color:var(--navy); border:2px solid rgba(17,20,127,.35); border-bottom:2px solid var(--navy); border-radius:8px 8px 0 0; transition:background .15s; }
.day-tab:hover{ background:#ece7dc; }
.day-tab[aria-selected="true"]{ background:var(--paper); border-color:var(--navy); border-bottom-color:var(--paper); z-index:1; }
.day-tab:focus-visible{ outline:2px solid var(--orange-dk); outline-offset:2px; }
.day-tab-l{ font:800 clamp(20px,1.9vw,26px)/1 var(--display); text-transform:uppercase; letter-spacing:.02em; }
.day-tab-s{ font:500 12px/1.2 'IBM Plex Mono', monospace; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2); }
.day-tab[aria-selected="true"] .day-tab-s{ color:var(--orange-dk); }
.days #agenda{ border-top:0; padding-top:clamp(36px,4.4vw,56px); }
@media (max-width:599px){ .day-tabs-in{ gap:6px; } .day-tab{ flex:1 1 0; min-width:0; padding:10px 12px; } .day-tab-s{ font-size:10.5px; letter-spacing:.06em; } }

/* Day 2 panel */
.day2{ min-height:50vh; }
.day2-h{ margin-top:8px; font:900 clamp(40px,4.6vw,64px)/.95 var(--display); text-transform:uppercase; color:var(--navy); }
.day2-x{ margin-top:14px; max-width:40em; font:400 18px/1.55 var(--body); color:var(--ink); }
.day2-facts{ margin-top:20px; display:grid; gap:8px; }
.day2-facts div{ display:grid; grid-template-columns:5em 1fr; gap:12px; }
.day2-facts dt{ font:700 12px/1.6 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); }
.day2-facts dd{ margin:0; font:600 16px/1.5 var(--body); color:var(--navy); }
.day2 > .wrap, .day-tabs > .wrap{ max-width:none; padding-left:var(--edge); padding-right:var(--edge); }

/* What's the catch? → "So why are we doing this?": bigger and easier to read.
   Navy headline; the invitation as a large lead; the theory as a pull quote on an orange rule. */
.catch-h1{ font:900 clamp(38px,4.4vw,64px)/.95 var(--display) !important; letter-spacing:.005em; color:var(--navy) !important; }
.catch-lead{ margin-top:clamp(18px,2vw,26px); max-width:30em; font:600 clamp(22px,2.2vw,30px)/1.3 var(--body); color:var(--navy); }
.catch-theory{ margin:clamp(16px,2vw,24px) 0 0; padding:4px 0 4px clamp(20px,2.4vw,32px); max-width:32em; border-left:4px solid var(--orange-dk); }
.catch-theory p{ font:500 clamp(22px,2.4vw,34px)/1.32 var(--body); letter-spacing:-.005em; color:var(--ink); text-wrap:pretty; }
.catch-theory + .catch-close, .catch-theory ~ .catch-close{ margin-top:clamp(48px,6vw,80px); }
.catch-theory{ max-width:none; }
.catch-theory p{ max-width:26em; }
.catch-h1 + .catch-theory{ margin-top:clamp(22px,2.6vw,32px); }

/* ════════ Final polish pass ════════ */
/* hero: a small label says what the 1 / +1 / +8 rows mean ("Admit 10" = admission that builds through the day) */
.hm-label{ display:block; margin-top:16px; font:500 11.5px/1.3 'IBM Plex Mono', monospace; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.72); }
.hm-label + .hm{ margin-top:10px; }
/* Blue Ticket: an unconfirmed sponsor reads as a deliberate slot, not a dev highlight */
.slot{ display:inline-block; padding:1px 7px; border:1px dashed currentColor; letter-spacing:.06em; opacity:.9; }
.blu-group-plus .blu-gn{ text-transform:none; letter-spacing:.02em; font:500 15px/1.4 var(--body); color:rgba(243,236,226,.82); }
/* What's the catch?: the reassurance, under the headline */
.sp-reassure{ margin-top:clamp(12px,1.4vw,18px); max-width:36em; font:500 clamp(17px,1.6vw,20px)/1.45 var(--body); color:rgba(255,255,255,.9); }
.sp-reassure + .cta-claim{ margin-top:clamp(20px,2.4vw,28px); }
/* What's YOUR100?: one line under each network logo says what it is */
.y1m-nets ul{ align-items:flex-start !important; }
.y1m-nets li{ display:flex !important; flex-direction:column; gap:10px; max-width:250px; }
.y1m-netnote{ font:400 14px/1.4 var(--body); color:var(--ink-2); }

/* ── Day 2: Ten Year Town (art, logo and copy from the film, used with permission) ── */
.day2{ padding-bottom:clamp(64px,8vw,112px); }
.day2-in{ display:grid; gap:clamp(36px,5vw,72px); }
@media (min-width:960px){ .day2-in{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; } .day2-art{ position:sticky; top:calc(var(--eco-h,44px) + 120px); } }
.day2-h{ margin-top:14px; line-height:0; }
.day2-logo{ width:min(520px,100%); height:auto; }
.day2-tag{ margin-top:clamp(16px,1.8vw,22px); font:700 clamp(20px,2vw,26px)/1.3 var(--body); color:var(--navy); }
.day2-x{ margin-top:12px; max-width:36em; font:400 17px/1.6 var(--body); color:var(--ink); }
.day2-k{ margin-top:10px; font:italic 400 16px/1.5 var(--body); color:var(--ink-2); }
.day2-al{ margin-top:clamp(26px,3vw,36px); font:500 12px/1.3 'IBM Plex Mono', monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--navy); }
.day2-artists{ list-style:none; margin-top:10px; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px 24px; border-top:1px solid var(--line); padding-top:14px; }
.day2-artists li{ display:flex; flex-direction:column; gap:1px; }
.day2-artists b{ font:800 clamp(18px,1.6vw,21px)/1.05 var(--display); text-transform:uppercase; letter-spacing:.01em; color:var(--navy); }
.day2-artists span{ font:400 13.5px/1.35 var(--body); color:var(--ink-2); }
.day2-artists em{ font:600 normal 12px/1.3 var(--body); letter-spacing:.04em; color:var(--orange-dk); }
.day2-film{ margin-top:clamp(22px,2.6vw,30px); }
.day2-film a{ font:700 15.5px/1.3 var(--body); color:var(--orange-dk); text-decoration:underline; text-underline-offset:4px; text-decoration-color:rgba(198,63,26,.4); }
.day2-film a:hover{ text-decoration-color:currentColor; }
.day2-art{ margin:0; }
.day2-art img{ display:block; width:100%; height:auto; mix-blend-mode:multiply; }
@media (max-width:959px){ .day2-art{ order:-1; max-width:560px; } }
@media (max-width:420px){ .day2-artists{ grid-template-columns:1fr; } }
/* Blue Ticket page: the film's title logo in the Friday row */
.bd-t .bd-logo{ display:block; height:clamp(26px,2.8vw,38px); width:auto; max-width:100%; }

/* ── Agenda: its own navy band with a header; the Day tabs hang from its bottom edge like folder tabs ── */
.ag-band{ background:var(--navy); color:#fff; padding:clamp(56px,7vw,96px) 0 clamp(22px,2.6vw,30px); }
.ag-band > .wrap, .day-tabs > .wrap{ max-width:none; padding-left:var(--edge); padding-right:var(--edge); }
.ag-band-k{ font:500 12.5px/1.3 'IBM Plex Mono', monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--orange-lt); }
.ag-band-h{ margin-top:8px; font:900 clamp(56px,7vw,104px)/.85 var(--display); text-transform:uppercase; letter-spacing:.005em; color:#fff; }
.day-tabs{ background:var(--navy); border-bottom:0; padding-top:0; }
.day-tab{ background:rgba(255,255,255,.08); color:#fff; border:1.5px solid rgba(255,255,255,.35); border-bottom:0; margin-bottom:0; }
.day-tab:hover{ background:rgba(255,255,255,.16); }
.day-tab .day-tab-s{ color:rgba(255,255,255,.75); }
.day-tab[aria-selected="true"]{ background:var(--paper); color:var(--navy); border-color:var(--paper); }
.day-tab[aria-selected="true"] .day-tab-s{ color:var(--orange-dk); }
.day-tab:focus-visible{ outline-color:var(--orange-lt); }
.ag-band-k{ text-wrap:balance; }
@media (max-width:520px){ .ag-band-k{ font-size:11px; letter-spacing:.1em; } }
/* Day 2: the live show + talk, called out under the synopsis */
.day2-live{ margin-top:clamp(20px,2.4vw,28px); padding:14px 0 0; border-top:2px solid var(--navy); }
.day2-live-k{ font:500 12px/1.3 'IBM Plex Mono', monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--orange-dk); }
.day2-live-x{ margin-top:6px; max-width:34em; font:600 17px/1.5 var(--body); color:var(--navy); }
.day2-facts{ margin-top:clamp(18px,2vw,24px); }
.day2-facts dd{ font:700 17px/1.4 var(--body); }
/* hero math over two days: a day header before each day's rows */
.hm-day{ grid-column:1 / -1; padding-top:6px; font:500 11.5px/1.3 'IBM Plex Mono', monospace; letter-spacing:.14em; text-transform:uppercase; color:var(--orange-lt); border-bottom:1px solid rgba(255,255,255,.2); padding-bottom:6px; }
.hm-day ~ .hm-day{ margin-top:8px; }
.hm-label + .hm{ margin-top:6px; }

/* What's YOUR100? on narrow screens: the answer headline leads, above the logo and callout */
@media (max-width:899px){
  .y1m-grid{ display:flex !important; flex-direction:column; }
  .y1m-main{ display:contents; }
  .y1m-main > *{ order:2; }
  .y1m-side{ order:1; }
  .y1m-main > .y1m-answer{ order:0; margin-bottom:28px; }
}
/* speaker bios: several paragraphs; an optional caption under the photo */
.bio-body + .bio-body{ margin-top:12px; }
.bio-phw{ max-width:200px; }
.bio-cap{ margin-top:8px; font:italic 400 12.5px/1.4 var(--body); color:var(--ink-2); }
.bio-night .bio-cap{ color:var(--cream-2); }
/* ticket billing: Music | Speakers, every name in the headliner style */
.ticket .tk-bill .tk-fn{ display:block; font:800 clamp(12px,1.15vw,15px)/1.12 var(--display); letter-spacing:.04em; text-transform:uppercase; color:var(--cream); white-space:normal; text-wrap:balance; }
.ticket .tk-bill .tk-more{ font-style:italic; text-transform:none; letter-spacing:.02em; }
.ticket .tk-bill .tk-list{ gap:2px; }
@media (max-width:520px){ .ticket .tk-bill .tk-fn{ font-size:12.5px; } }
/* ticket: groups stacked in the right column; "Two days" on the stub */
.ticket .tk-bill .tk-grp{ display:flex; flex-direction:column; gap:6px; }
.ticket .tk-bill .tk-grp + .tk-grp{ margin-top:12px; }
.ticket .tk-bill .tk-feat{ display:flex !important; flex-direction:column; }
.tk-days{ font:800 clamp(12px,1.15vw,15px)/1.1 var(--display); letter-spacing:.12em; text-transform:uppercase; color:var(--cream); text-align:center; margin-top:4px; }
@media (max-width:520px){ .tk-days{ margin-top:0; font-size:13px; } }
/* ticket: groups stacked in the right column; "Two days" on the stub */
.ticket .tk-bill .tk-grp{ display:flex; flex-direction:column; gap:6px; }
.ticket .tk-bill .tk-grp + .tk-grp{ margin-top:12px; }
.ticket .tk-bill .tk-feat{ display:flex !important; flex-direction:column; }
.tk-days{ font:800 clamp(12px,1.15vw,15px)/1.1 var(--display); letter-spacing:.12em; text-transform:uppercase; color:var(--cream); text-align:center; margin-top:4px; }
@media (max-width:520px){ .tk-days{ margin-top:0; font-size:13px; } }
/* ticket billing: Conversations | Sessions, with small notes and sub-labels */
.ticket .tk-bill .tk-fnote{ font:500 italic 11.5px/1 var(--body); letter-spacing:0; text-transform:none; color:rgba(243,236,226,.85); white-space:nowrap; }
.ticket .tk-bill .tk-sub{ display:block; margin-top:6px; font:500 10.5px/1.2 'IBM Plex Mono', monospace; letter-spacing:.08em; text-transform:uppercase; color:rgba(243,236,226,.85); }
.ticket .tk-bill .tk-sub:first-child{ margin-top:0; }
@media (max-width:520px){ .ticket .tk-bill .tk-fnote{ font-size:10.5px; } .ticket .tk-bill .tk-sub{ font-size:9.5px; } }
.ticket .tk-row.tk-bill{ grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr) !important; }
.ticket .tk-bill .tk-fn{ white-space:nowrap; }
@media (max-width:520px){ .ticket .tk-bill .tk-fn{ white-space:normal; } }
.ticket .tk-bill .tk-fnote{ display:block; margin-top:1px; white-space:normal; }
.ticket .tk-bill .tk-nets-w .tk-list{ gap:6px; }
.ticket .tk-bill .tk-nets-w .tk-more{ display:block; margin-top:2px; font:800 clamp(12px,1.15vw,15px)/1.12 var(--display); font-style:normal; letter-spacing:.04em; text-transform:uppercase; color:var(--cream); white-space:normal; }
/* hero stub: "Two days. For good." over a stacked date: November / 19–20 / 2026 */
.tk-sdate{ display:flex; flex-direction:column; align-items:center; margin-top:10px; padding-top:8px; border-top:1px solid rgba(243,236,226,.55); color:var(--cream); text-align:center; }
.tk-sd0, .tk-sd2{ font:700 clamp(11px,1vw,13px)/1.2 'IBM Plex Mono', monospace; letter-spacing:.14em; text-transform:uppercase; }
.tk-sd1{ font:900 clamp(30px,3.2vw,42px)/.95 var(--display); letter-spacing:.01em; margin:2px 0; }
@media (max-width:520px){ .tk-sdate{ margin-top:0; padding-top:0; border-top:0; } .tk-sd1{ font-size:26px; } }
/* stub: space after the 10; "Two days. For good." heads the date block */
.tk-days{ margin-top:clamp(16px,1.8vw,24px) !important; }
.tk-sdate{ margin-top:6px; padding-top:0; border-top:0; }
.tk-sd0, .tk-sd1, .tk-sd3{ font:700 clamp(11px,1vw,13px)/1.25 'IBM Plex Mono', monospace; letter-spacing:.14em; text-transform:uppercase; margin:0; }
.tk-sd2{ font:900 clamp(30px,3.2vw,42px)/.95 var(--display); letter-spacing:.01em; margin:3px 0; }
.tk-sd0{ margin-bottom:6px; }
@media (max-width:520px){ .tk-days{ margin-top:0 !important; } .tk-sd2{ font-size:26px; } }
/* phones: the stub is a strip along the bottom. Row 1: ADMIT 10. Row 2: Two days. For good. Row 3: the date on one line */
@media (max-width:520px){
  .ticket .tk-stub{ flex-wrap:wrap !important; justify-content:center !important; row-gap:6px !important; }
  .tk-days{ flex-basis:100%; text-align:center; }
  .tk-sdate{ flex-basis:100%; flex-direction:row !important; flex-wrap:wrap; justify-content:center; align-items:baseline; gap:0 8px; margin-top:0; }
  .tk-sd0, .tk-sd1, .tk-sd3{ margin:0 !important; font-size:12px !important; }
  .tk-sd2{ font-size:20px !important; margin:0 !important; }
}

/* ════ Ticket polish: one type scale, legible small text, clear margins at every width ════ */
/* 1. breathing room: the billing never runs into the perforation or the bottom border */
.ticket .tk-main{ padding-right:clamp(22px,2.6vw,34px) !important; padding-bottom:clamp(26px,3vw,36px) !important; }
.ticket .tk-row.tk-bill{ column-gap:clamp(14px,1.8vw,24px) !important; margin-top:clamp(14px,1.6vw,20px) !important; }
/* 2. one scale: column labels > names > notes and sub-labels, with 12px as the floor */
.ticket .tk-bill .tk-fk{ font:500 12px/1.2 'IBM Plex Mono', monospace !important; letter-spacing:.12em !important; color:var(--cream) !important; }
.ticket .tk-bill .tk-fn, .ticket .tk-bill .tk-nets-w .tk-more{ font-size:clamp(13px,1.15vw,15px) !important; line-height:1.15 !important; white-space:normal !important; text-wrap:balance; }
.ticket .tk-bill .tk-list{ gap:3px !important; }
/* 3. small text: full cream, heavier, at least 12px */
.ticket .tk-bill .tk-fnote{ font:600 italic 12px/1.25 var(--body) !important; color:var(--cream) !important; opacity:1; }
.ticket .tk-bill .tk-sub{ font:600 11.5px/1.25 'IBM Plex Mono', monospace !important; letter-spacing:.06em !important; color:var(--cream) !important; margin-top:8px !important; }
.ticket .tk-bill .tk-sub:first-child{ margin-top:2px !important; }
.ticket .tk-bill .tk-grp + .tk-grp{ margin-top:14px !important; }
/* 4. small phones: one column at full width (names wrap only when they must) */
@media (max-width:360px){
  .ticket .tk-row.tk-bill{ grid-template-columns:1fr !important; row-gap:16px !important; }
  .ticket .tk-bill .tk-feat{ padding-left:0 !important; border-left:0 !important; grid-column:1 !important; grid-row:auto !important; }
}
/* 5. phone stub date: separators, and the year stays on the line */
@media (max-width:520px){
  .tk-sdate{ gap:0 !important; }
  .tk-sd1::before, .tk-sd2::before, .tk-sd3::before{ content:'\00b7'; margin:0 7px; font:700 12px/1 var(--body); }
  .tk-sd2::before{ content:''; margin:0 3px; }
  .tk-sd3::before{ margin-left:6px; }
}
@media (max-width:360px){ .tk-sd0, .tk-sd1, .tk-sd3{ font-size:10.5px !important; letter-spacing:.08em !important; } .tk-sd2{ font-size:17px !important; } .tk-sd1::before, .tk-sd3::before{ margin:0 4px !important; } }
/* small ticket text in deep navy for contrast (~4.5:1+ on the orange) */
.ticket:not(.ticket-blue) .tk-bill .tk-fnote, .ticket:not(.ticket-blue) .tk-bill .tk-sub{ color:var(--navy-deep) !important; }
/* closing ticket: the stub matches the hero's (ADMIT / 10 / November / 19–20 / 2026), centred and balanced */
.ask-ticket .tk-stub{ justify-content:center !important; align-items:center !important; text-align:center; padding-top:0 !important; }
.ask-ticket .ask-sdate{ margin-top:clamp(14px,1.6vw,20px); }
/* the eyebrow already says Thursday + Friday, so the stub omits "Thu + Fri" */
/* perforation stays inside the ticket edge */
.ask-ticket .tk-stub{ background-position:left 10px; background-size:6px 14px; background-clip:content-box; }
/* closing ticket on phones: stub below the perforation, ADMIT 10 then the date, no leading separator */
@media (max-width:520px){
  .ask-ticket .tk-stub{ flex-direction:column !important; flex-wrap:nowrap !important; padding:22px 16px 18px !important; gap:4px !important;
    background-image:radial-gradient(circle, rgba(11,13,88,.9) 2.5px, transparent 3px) !important; background-size:14px 6px !important; background-repeat:repeat-x !important; background-position:left top !important; background-clip:border-box !important; }
  .ask-ticket .tk-admit, .ask-ticket .tk-n{ display:inline; }
  .ask-ticket .ask-sdate{ margin-top:6px !important; }
  .ask-ticket .tk-sd1::before{ content:none !important; }
}
.ask-eye{ text-wrap:balance; }
/* Conversations: each speaker's title is a small navy header above the name, like the Sessions groups */
.ticket .tk-bill .tk-nets-w .tk-sub{ margin-top:8px !important; }
.ticket .tk-bill .tk-nets-w .tk-sub:first-child{ margin-top:2px !important; }
.ticket .tk-bill .tk-nets-w .tk-more{ margin-top:8px !important; }
.y1m-lead + .y1m-lead{ margin-top:14px; }

/* YOUR100/SESSIONS: a brand moment. The lockup at about twice its old size, the line under it as a statement */
.iw-night .iw-sess-lk{ --lh:clamp(64px,8.6vw,132px) !important; margin-top:0; }
.iw-night .iw-sess-lk .lk-tag{ font-size:calc(var(--lh) * .36) !important; }
.iw-night .iw-head:has(.iw-sess-lk) .iw-text{ margin-top:clamp(18px,2vw,26px) !important; max-width:24em; font:500 clamp(21px,2.1vw,30px)/1.3 var(--body) !important; color:var(--cream) !important; }
.iw-night .iw-head:has(.iw-sess-lk){ padding-top:clamp(12px,2vw,28px); padding-bottom:clamp(36px,4vw,56px); }
@media (max-width:520px){ .iw-night .iw-sess-lk{ --lh:clamp(48px,15vw,64px) !important; } }
.iw-night .iw-head .iw-sess-lk, .iw-night .iw-sess-lk{ --lh:clamp(84px,11vw,168px) !important; }
.iw-night .iw-sess-lk .lockup{ --lh:inherit; }
.iw-night .iw-sess-lk .logo{ height:var(--lh) !important; }
@media (max-width:520px){ .iw-night .iw-head .iw-sess-lk, .iw-night .iw-sess-lk{ --lh:clamp(52px,16vw,68px) !important; } }

/* ════ Agenda architecture: chapter > time > sub-brand lockup > descriptor > Buffalo specifics ════ */
/* chapter headings dominate */
#agenda .iw-banner, .iw-night .iw-banner{ font-size:clamp(40px,5vw,72px) !important; line-height:.95; }
/* sub-brand lockup: compact. YOUR100/ mark (small) + the property name in display caps, an orange rule above */
.sb-lock{ display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; margin:0; padding-top:12px; border-top:2px solid var(--orange-dk); max-width:max-content; }
.iw-night .sb-lock{ border-top-color:var(--orange-lt); }
.sb-lock-mark{ height:clamp(20px,1.8vw,26px); width:auto; flex:none; transform:translateY(.12em); }
.sb-lock-name{ font:800 clamp(22px,2.1vw,30px)/1 var(--display); letter-spacing:.03em; text-transform:uppercase; color:var(--navy); }
.iw-night .sb-lock-name{ color:var(--cream); }
/* permanent descriptor: one sentence, quiet but readable */
.iw-head .sb-lock + .iw-text{ margin-top:12px !important; max-width:40em; font:400 clamp(16.5px,1.4vw,18.5px)/1.5 var(--body) !important; color:var(--ink-2) !important; }
.iw-night .iw-head .sb-lock + .iw-text{ color:var(--cream-2) !important; }
/* undo the earlier oversized Sessions logo treatment */
.iw-night .iw-head:has(.sb-lock){ padding-top:0; }
/* sub-brand lockups: YOUR100/ + the property in the tagline position (like YOUR100/EVENTS), compact */
.sb-lock{ display:block; --lh:clamp(34px,3.2vw,46px); }
.sb-lock .lockup{ display:inline-flex; align-items:flex-end; }
.sb-lock .logo{ height:var(--lh); width:auto; flex:none; display:block; }
.sb-lock .lk-tag{ font-size:calc(var(--lh) * .42); color:var(--navy); white-space:nowrap; }
.iw-night .sb-lock .lk-tag{ color:var(--cream); }
@media (max-width:520px){ .sb-lock{ --lh:28px; } .sb-lock .lk-tag{ white-space:normal; } }
.sb-lock{ --lh:clamp(40px,3.8vw,56px); }
.sb-lock .lk-tag{ font-size:calc(var(--lh) * .44); }
@media (max-width:520px){ .sb-lock{ --lh:30px; } }
/* sub-brand lockups: no rule; the logo carries the space */
.sb-lock{ border-top:0 !important; padding-top:0 !important; --lh:clamp(48px,4.6vw,68px); }
@media (max-width:520px){ .sb-lock{ --lh:34px; } }
/* sub-brand lockup: YOUR100 letters match the cap height of the time beside it (3:00 / 6:00).
   Time caps = .82em of its font size; logo letters = .645 of the logo height -> logo height = 1.27 x time font size */
.sb-lock{ --lh:clamp(66px,7.88vw,117px) !important; }
@media (min-width:900px) and (max-width:1279px){ .sb-lock{ --lh:clamp(58px,6.6vw,81px) !important; } }
@media (max-width:899px){ .sb-lock{ --lh:clamp(66px,7.88vw,117px) !important; } }
.sb-lock .lk-tag{ font-size:calc(var(--lh) * .3) !important; }
@media (max-width:520px){ .sb-lock{ --lh:min(52px, calc((100vw - 2 * var(--gut)) / 6.6)) !important; } .sb-lock .lk-tag{ white-space:nowrap !important; font-size:calc(var(--lh) * .3) !important; } }
@media (max-width:520px){ .sb-lock{ --lh:min(52px, calc((100vw - 2 * var(--gut)) / 7.9)) !important; } }
.tk-days > span{ display:block; }
@media (max-width:520px){ .tk-days > span{ display:inline; } }
/* Collaboration Hall: a type mark built to sit under the Lippes Mathias logo (its two blues, its light sans, its spaced caps line) */
.vmark{ display:flex; align-items:center; gap:12px; margin-top:12px; }
.vmark-pre{ font:500 14px/1 var(--body); color:var(--ink-2); }
.vmark-w{ display:inline-flex; flex-direction:column; align-items:flex-end; }
.vmark-n{ font:400 clamp(26px,2.3vw,32px)/1 'Helvetica Neue', Helvetica, Arial, sans-serif; letter-spacing:-.025em; white-space:nowrap; }
.vmark-n b{ font-weight:400; color:#29588c; }
.vmark-n i{ font-style:normal; color:#3d5265; }
.vmark-sub{ margin-top:4px; font:400 clamp(9.5px,.8vw,11px)/1 'Helvetica Neue', Helvetica, Arial, sans-serif; letter-spacing:.28em; text-transform:uppercase; color:#9aa3ad; }
/* breakout rooms: one artist per line (no slashes) */
.iw-rooms dd .nw, .iw-rooms dd > span{ display:block; }
.iw-rooms dd .iw-sep{ display:none; }
.iw-rooms dd .iw-rm{ display:block; }
.iw-rooms dd .iw-rm + .iw-rm{ margin-top:2px; }
/* Who's invited: above the closing ticket, on the night ground */
.ask-who{ width:min(760px,100%); margin:0 auto clamp(40px,5vw,64px); text-align:left; }
.ask-who-h{ margin:0; font:900 clamp(32px,3.6vw,48px)/.95 var(--display); text-transform:uppercase; color:var(--cream); }
.ask-who p{ margin-top:14px; font:400 clamp(16.5px,1.4vw,18.5px)/1.6 var(--body); color:var(--cream-2); }
.ask-who p strong{ font-weight:700; color:var(--orange-lt); }

/* ════ The close: Who's invited, then the Orange Ticket as the payoff ════ */
.ask{ padding:clamp(80px,9vw,128px) 0 clamp(72px,8vw,112px); }
/* editorial lead-in: narrow measure, quiet, left-aligned in the centred column */
.ask-who{ width:min(640px,100%); margin-bottom:clamp(56px,7vw,96px); }
.ask-who-h{ font-size:clamp(28px,3vw,40px); letter-spacing:.01em; }
.ask-who p{ margin-top:16px; color:rgba(243,236,226,.82); }
.ask-who p strong{ color:var(--cream); font-weight:700; }
/* the ticket: dominant, a touch of tilt like the hero's */
.ticket.ask-ticket{ width:min(860px,100%); transform:rotate(-1.5deg); grid-template-columns:1fr minmax(150px,24%); }
.ask-main{ padding:clamp(34px,4.2vw,56px) clamp(32px,4.4vw,60px) !important; }
.ask-h{ font-size:clamp(48px,6.6vw,92px) !important; line-height:.86 !important; text-shadow:3px 3px 0 #0b0d58 !important; color:var(--cream) !important; }
/* the claim: part of the ticket (printed type with a rule), not a web button */
.ask-claim{ display:inline-flex; align-items:baseline; margin-top:clamp(22px,2.6vw,32px); padding:10px 0 8px; border-top:2px solid var(--cream); border-bottom:2px solid var(--cream);
  font:900 clamp(20px,2.1vw,28px)/1 var(--display); letter-spacing:.06em; text-transform:uppercase; color:var(--cream); text-decoration:none; transition:color .15s, border-color .15s; }
.ask-claim:hover, .ask-claim:focus-visible{ color:var(--navy-deep); border-color:var(--navy-deep); }
.ask-claim:focus-visible{ outline:2px solid var(--cream); outline-offset:6px; }
/* quiet after-matter */
.ask-fine{ margin-top:clamp(36px,4.4vw,52px) !important; font-size:14px !important; color:rgba(243,236,226,.62) !important; }
.ask-links a{ font-size:14px !important; color:rgba(243,236,226,.62) !important; }
@media (max-width:520px){ .ticket.ask-ticket{ transform:rotate(-1deg); } .ask-claim{ font-size:19px; } }
@media (max-width:640px){ .ticket.ask-ticket{ grid-template-columns:1fr !important; } .ask-main{ padding:28px 24px !important; } .ask-h{ font-size:clamp(40px,12vw,56px) !important; } .ask-claim{ white-space:nowrap; font-size:clamp(17px,5vw,22px) !important; } .ask-eye{ text-wrap:balance; }
  .ask-ticket .tk-stub{ flex-direction:column !important; padding:22px 16px 18px !important; background-image:radial-gradient(circle, rgba(11,13,88,.9) 2.5px, transparent 3px) !important; background-size:14px 6px !important; background-repeat:repeat-x !important; background-position:left top !important; }
  .ask-ticket .ask-sdate{ flex-direction:row !important; gap:0 8px !important; align-items:baseline; } .ask-ticket .tk-sd1, .ask-ticket .tk-sd3{ font-size:12px !important; } .ask-ticket .tk-sd2{ font-size:22px !important; } .ask-ticket .tk-sd2::before, .ask-ticket .tk-sd3::before, .ask-ticket .tk-sd1::before{ content:none !important; } }

/* ════ Claim page (rsvp.html): the closing section's motif. Night ground, the Orange Ticket, cream type ════ */
.rsvp{ background:var(--night); color:var(--cream); padding:clamp(64px,8vw,112px) 0; }
.rsvp h2#rsvp-h, .rsvp-side h2{ position:static !important; width:auto !important; height:auto !important; overflow:visible !important; clip:auto !important; margin:clamp(28px,3.4vw,40px) 0 0 !important;
  font:900 clamp(34px,3.8vw,52px)/.95 var(--display); text-transform:uppercase; color:var(--cream); }
.rsvp-note{ color:rgba(243,236,226,.82); } .rsvp-note strong{ color:var(--cream); }
.rsvp .facts-line{ color:var(--cream); border-top-color:rgba(243,236,226,.25); }
.ticket.rsvp-ticket{ width:100%; max-width:560px; margin:0; transform:rotate(-1.5deg); grid-template-columns:1fr minmax(110px,26%); }
.rsvp-ticket .ask-main{ padding:clamp(24px,2.6vw,34px) clamp(22px,2.6vw,32px) !important; }
.rsvp-ticket .ask-h{ font-size:clamp(34px,3.6vw,52px) !important; }
/* the form on night */
.rsvp .field label, .rsvp .field legend, .rsvp legend{ color:var(--cream) !important; }
.rsvp .opt{ color:rgba(243,236,226,.62); }
.rsvp input[type="text"], .rsvp input:not([type]), .rsvp input[type="email"], .rsvp textarea, .rsvp select{ background:#1d1a18; color:var(--cream); border-color:rgba(243,236,226,.35); }
.rsvp input::placeholder, .rsvp textarea::placeholder{ color:rgba(243,236,226,.4); }
.rsvp input:focus, .rsvp textarea:focus{ border-color:var(--orange-lt); outline:2px solid rgba(255,138,92,.35); outline-offset:0; }
.rsvp .choice{ color:var(--cream); border-color:rgba(243,236,226,.25); background:transparent; }
.rsvp .choice .l2{ color:rgba(243,236,226,.7); }
.rsvp .choice:has(input:checked){ border-color:var(--orange-lt); background:rgba(233,85,47,.12); }
.rsvp .form-foot{ color:rgba(243,236,226,.62); }
.rsvp .rsvp-done{ background:transparent; color:var(--cream); }
/* the ten admissions, numbered like a ticket */
.slot-h{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; margin:clamp(22px,2.6vw,30px) 0 10px; padding-top:14px; border-top:1px dashed rgba(243,236,226,.35);
  font:800 clamp(20px,1.9vw,24px)/1.1 var(--display); text-transform:uppercase; letter-spacing:.02em; color:var(--cream); }
.slot-h b{ font:700 13px/1 'IBM Plex Mono', monospace; letter-spacing:.08em; color:var(--orange-lt); }
.slot-h span{ flex-basis:100%; font:400 15px/1.45 var(--body); text-transform:none; letter-spacing:0; color:rgba(243,236,226,.7); }
.slots{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; }
.slots li{ display:grid; grid-template-columns:2.4em 1fr; align-items:center; gap:8px; }
.slots label b{ font:700 13px/1 'IBM Plex Mono', monospace; color:var(--orange-lt); }
@media (max-width:520px){ .slots{ grid-template-columns:1fr; } .ticket.rsvp-ticket{ grid-template-columns:1fr; } }
/* the send button: the site's orange, like the hero claim */
.rsvp #send{ background:var(--orange-btn); border-color:var(--orange-btn); color:#fff; }
.rsvp #send:hover{ background:var(--orange-btn-hi); border-color:var(--orange-btn-hi); }
/* claim page: no white card; the form sits on the night ground under an orange rule */
.rsvp .rsvp-form{ background:transparent !important; box-shadow:none !important; border:0 !important; border-top:3px solid var(--orange-lt) !important; padding:clamp(20px,2.4vw,28px) 0 0 !important; }
.rsvp .choice{ background:transparent !important; }
.rsvp .choice b, .rsvp .choice .ct{ color:var(--cream) !important; }
.rsvp .choice input{ accent-color:var(--orange-lt); }
.rsvp .field > label, .rsvp fieldset > legend{ color:rgba(243,236,226,.85) !important; }
.rsvp input, .rsvp textarea, .rsvp select{ background:#1d1a18 !important; color:var(--cream) !important; border:1px solid rgba(243,236,226,.35) !important; }
/* stub on the small ticket: room for 19–20 */
.ticket.rsvp-ticket{ grid-template-columns:1fr minmax(128px,30%); }
.rsvp-ticket .tk-sd2{ font-size:clamp(24px,2.4vw,32px) !important; white-space:nowrap; }
.rsvp-ticket .tk-n{ font-size:clamp(56px,5.4vw,80px) !important; }
/* the page header on the claim page: night, like the rest */
body[data-page="rsvp"] .sp-hero{ background:var(--night) !important; }
.rsvp .choice.check span, .rsvp label.choice.check{ color:var(--cream) !important; }
.slots input{ width:100%; min-height:48px; padding:10px 12px; font:400 16px/1.3 var(--body); border-radius:0; }
.slots{ gap:12px 16px; }
/* claim page: the plan as a list (time | count | what) */
.rsvp-plan{ list-style:none; margin:18px 0 0; padding:0; border-top:1px solid rgba(243,236,226,.25); }
.rsvp-plan li{ display:grid; grid-template-columns:3.2em 2.6em 1fr; align-items:baseline; gap:10px; padding:12px 0; border-bottom:1px solid rgba(243,236,226,.18); }
.rp-t{ font:600 14px/1 var(--body); color:rgba(243,236,226,.75); }
.rp-n{ font:800 22px/1 var(--display); color:var(--orange-lt); }
.rp-x{ font:400 16px/1.45 var(--body); color:var(--cream); }
.rsvp-plan + .rsvp-note{ margin-top:14px; }
.rsvp .decline{ margin-top:clamp(22px,2.6vw,30px); }
/* guests 3–10: number | name | email on one row */
.slots{ grid-template-columns:1fr !important; gap:10px !important; }
.slots li{ grid-template-columns:2.4em minmax(0,1fr) minmax(0,1.2fr) !important; gap:10px !important; }
.slot-n{ font:700 13px/1 'IBM Plex Mono', monospace; color:var(--orange-lt); }
@media (max-width:520px){ .slots li{ grid-template-columns:2em 1fr !important; } .slots li input[type="email"]{ grid-column:2; } }
.slot-price{ margin-top:clamp(26px,3vw,34px); padding:12px 0; border-top:1px dashed rgba(243,236,226,.35); border-bottom:1px dashed rgba(243,236,226,.35); font:800 clamp(18px,1.7vw,22px)/1.25 var(--display); text-transform:uppercase; letter-spacing:.02em; color:var(--orange-lt); }
.slot-price + .when-guest .slot-h{ border-top:0; margin-top:16px; padding-top:0; }
/* participating networks: flagship lockup on top, Back to Buffalo + The Amplifiers side by side */
.y1m-nets ul{ display:grid !important; grid-template-columns:1fr 1fr; gap:28px clamp(24px,4vw,48px) !important; align-items:end; }
.y1m-nets ul > li:first-child{ grid-column:1 / -1; }
.y1m-nets ul > li img{ display:block; height:clamp(150px,13vw,190px) !important; width:auto !important; max-width:100%; object-fit:contain; }

/* ════ Networks participating: two-tier family (flagship row, then the pair on a shared baseline) ════ */
.y1m-nets{ margin-top:clamp(44px,5vw,64px) !important; }
.y1m-nets ul{ display:grid !important; grid-template-columns:1fr 1fr !important; column-gap:clamp(28px,4vw,56px) !important; row-gap:0 !important; margin-top:18px !important; align-items:stretch !important; }
.y1m-nets ul > li{ display:grid !important; grid-template-rows:subgrid; grid-row:span 2; row-gap:12px; max-width:none !important; min-height:0 !important; padding:0 !important; background:none !important; border:0 !important; }
.y1m-nets ul > li > img, .y1m-nets ul > li > .lockup{ align-self:end; justify-self:start; }
.y1m-nets ul > li .y1m-netnote{ align-self:start; margin:0; max-width:24em; }
/* tier 1: the flagship, full width, a larger lockup, set apart from the pair */
.y1m-nets ul > li:first-child{ grid-column:1 / -1; grid-row:auto; grid-template-rows:auto auto; margin-bottom:clamp(36px,4.4vw,52px); }
.y1m-nets ul > li:first-child .y1w-netlk{ --lh:clamp(48px,5.4vw,72px) !important; }
.y1m-nets ul > li:first-child .y1w-netlk .logo{ height:var(--lh) !important; }
/* tier 2: optical balance, not equal widths. Back to Buffalo is tall and fine-lined, so it gets height; The Amplifiers is wide and loud, so it gets width */
.y1m-nets ul > li:nth-child(2) > img{ height:clamp(230px,21vw,290px) !important; width:auto !important; max-width:100%; }
.y1m-nets ul > li:nth-child(3) > img{ width:min(100%, clamp(250px,23vw,320px)) !important; height:auto !important; max-height:none !important; }
@media (max-width:599px){
  .y1m-nets ul{ grid-template-columns:1fr !important; }
  .y1m-nets ul > li{ grid-row:auto; grid-template-rows:auto auto; margin-bottom:32px; }
  .y1m-nets ul > li:first-child{ margin-bottom:36px; }
  .y1m-nets ul > li:first-child .y1w-netlk{ --lh:min(48px, calc((100vw - 48px) / 7.4)) !important; }
  .y1m-nets ul > li:nth-child(2) > img{ height:240px !important; }
  .y1m-nets ul > li:nth-child(3) > img{ width:min(280px, 82vw) !important; }
}
.y1m-nets ul > li{ justify-items:start !important; align-items:initial !important; width:100%; margin-left:0 !important; } .y1m-nets ul > li:first-child{ justify-self:stretch !important; }
.y1m-nets ul > li{ justify-content:start !important; align-content:start; } @media (max-width:599px){ .y1m-nets ul > li > img{ justify-self:start !important; } }
/* layout v2: flagship stacked over The Amplifiers (left); Back to Buffalo on the right, rising into the flagship row */
@media (min-width:600px){
  .y1m-nets ul{ grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) !important; grid-template-rows:auto auto; column-gap:clamp(24px,3.6vw,48px) !important; row-gap:clamp(28px,3vw,40px) !important; align-items:start !important; }
  .y1m-nets ul > li{ grid-template-rows:auto auto !important; grid-row:auto !important; margin-bottom:0 !important; }
  .y1m-nets ul > li:first-child{ grid-column:1 !important; grid-row:1 !important; }
  .y1m-nets ul > li:nth-child(3){ grid-column:1 !important; grid-row:2 !important; }
  .y1m-nets ul > li:nth-child(2){ grid-column:2 !important; grid-row:1 / span 2 !important; align-self:center; padding-top:clamp(8px,1vw,14px) !important; }
  .y1m-nets ul > li:first-child .y1w-netlk{ --lh:clamp(40px,3.6vw,54px) !important; }
  .y1m-nets ul > li:nth-child(2) > img{ height:clamp(250px,24vw,330px) !important; }
}
@media (min-width:600px){ .y1m-nets ul > li:nth-child(3) > img{ width:clamp(230px,20vw,280px) !important; } .y1m-nets ul > li:first-child .y1w-netlk{ --lh:clamp(44px,4vw,58px) !important; } }
@media (min-width:600px){ .y1m-nets ul > li:first-child .y1w-netlk{ --lh:clamp(52px,5vw,70px) !important; } .y1m-nets ul > li:first-child{ position:relative; z-index:1; } .y1m-nets ul > li:nth-child(2){ align-self:start !important; padding-top:clamp(64px,6vw,90px) !important; } }
/* networks now span the full section width, so the flagship can match Back to Buffalo in presence */
.y1m-grid > .y1m-nets-wide{ grid-column:1 / -1 !important; margin-top:clamp(48px,5.4vw,72px) !important; padding-top:clamp(28px,3vw,40px); border-top:1px solid var(--line); }
@media (min-width:600px){
  .y1m-nets-wide ul{ grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) !important; column-gap:clamp(32px,5vw,80px) !important; }
  .y1m-nets-wide ul > li:first-child .y1w-netlk{ --lh:clamp(64px,7.4vw,104px) !important; }
  .y1m-nets-wide ul > li:nth-child(2){ padding-top:0 !important; align-self:start !important; justify-self:end; }
  .y1m-nets-wide ul > li:nth-child(2) > img{ height:clamp(300px,30vw,420px) !important; }
  .y1m-nets-wide ul > li:nth-child(3) > img{ width:clamp(260px,25vw,350px) !important; }
}
@media (min-width:600px){ .y1m-nets-wide ul{ grid-template-columns:minmax(0,2.1fr) minmax(0,1fr) !important; } .y1m-nets-wide ul > li:first-child .y1w-netlk{ --lh:clamp(58px,6vw,84px) !important; } .y1m-nets-wide ul > li:nth-child(2) > img{ height:clamp(290px,27vw,380px) !important; } }
@media (max-width:899px){ .y1m-grid > .y1m-nets-wide{ order:3 !important; } }
.iw-head .iw-text2{ color:var(--orange-lt) !important; font-weight:600; }
/* Miss Val: bio + logo stay with her photo */
.db-group .db-media{ flex-direction:column; overflow:visible; }
.db-group .db-media::after{ display:none; }
.db-bio-side{ margin:0 !important; padding:clamp(18px,2vw,26px) clamp(16px,2vw,28px) clamp(20px,2.4vw,30px); }
.db-bio-side .db-biotx{ font-size:15.5px; line-height:1.5; }
.db-bio-side .db-credit{ margin-top:14px; padding-top:14px; }
/* show photo: one or two (co-headliners) panels, name on each */
.iw-show-ph{ display:flex; }
.iw-show-one{ position:relative; flex:1 1 0; overflow:hidden; }
.iw-show-one img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.iw-show-one .iw-show-name{ position:absolute; z-index:1; left:clamp(16px,2.4vw,32px); bottom:clamp(16px,2.6vw,32px); text-shadow:0 1px 2px rgba(0,0,0,.55), 0 0 18px rgba(0,0,0,.45); }
.iw-show-duo .iw-show-one + .iw-show-one{ border-left:3px solid var(--night, #0f0d0c); }
.sb-amp{ margin:4px 0 0; font:900 clamp(22px,2.2vw,30px)/1 var(--display); color:var(--orange-lt); }
/* photo + bio + logo move as one: the block is sticky, not the photo alone */
.db-group .db-stick{ width:min(416px,100%); position:sticky; top:clamp(24px,4vh,48px); }
.db-group .db-stick .db-photo{ position:relative !important; top:auto !important; width:100%; }
.db-group .db-stick .db-bio-side{ padding-left:0; padding-right:0; }
@media (max-width:899px){ .db-group .db-stick{ position:relative; top:auto; max-width:420px; width:100%; } }
/* evening: three artists across, full names; the show bands below carry the details */
.ev-trio{ list-style:none; margin:clamp(32px,4vw,52px) 0 0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(10px,1.6vw,20px); }
.ev-trio figure{ margin:0; aspect-ratio:4/5; overflow:hidden; }
.ev-trio img{ display:block; width:100%; height:100%; object-fit:cover; }
.ev-trio p{ margin-top:12px; font:900 clamp(18px,2vw,28px)/1 var(--display); text-transform:uppercase; color:var(--cream); }
@media (max-width:599px){ .ev-trio{ gap:8px; } .ev-trio p{ font-size:14px; margin-top:8px; } }
.iw-show-tx-only{ grid-template-columns:1fr !important; min-height:0 !important; }
.iw-show-tx-only .iw-show-tx{ margin:0 auto !important; width:100%; max-width:var(--wrap, 1160px); padding:clamp(40px,5vw,64px) var(--gut) !important; }
.iw-show-tx-only .iw-show-tx{ box-sizing:border-box; max-width:100% !important; } @media (min-width:900px){ .iw-show-tx-only .iw-show-tx{ max-width:var(--wrap, 1160px) !important; } }
.iw-show-tx-only{ grid-template-columns:minmax(0,1fr) !important; } .iw-show-tx-only .iw-show-tx{ min-width:0; overflow-wrap:break-word; } @media (max-width:599px){ .sb-head{ font-size:clamp(24px,7.4vw,30px) !important; } }
.ev-trio p{ font-size:clamp(13px,1.55vw,22px) !important; white-space:nowrap; } @media (max-width:599px){ .ev-trio p{ white-space:normal; font-size:12.5px !important; } }
.ev-trio-l{ margin-top:clamp(32px,4vw,52px); font:900 clamp(20px,2.2vw,30px)/1 var(--display); text-transform:uppercase; color:var(--orange-lt); } .ev-trio-l + .ev-trio{ margin-top:16px; }
/* Joint Sessions: Wayne stacked over Greg beside the details */
.iw-show-duo .iw-show-ph{ flex-direction:column; }
.iw-show-duo .iw-show-one + .iw-show-one{ border-left:0; border-top:3px solid var(--night, #0f0d0c); }
@media (max-width:899px){ .iw-show-duo .iw-show-ph{ flex-direction:row; aspect-ratio:2/1.25 !important; } .iw-show-duo .iw-show-one + .iw-show-one{ border-top:0; border-left:3px solid var(--night, #0f0d0c); } }

/* ════ Evening: at-a-glance in the intro; equal artist cards (photo + name) beside each session ════ */
.iw-glance{ list-style:none; margin:clamp(20px,2.4vw,28px) 0 0; padding:0; display:grid; gap:12px; max-width:40em; }
.iw-glance li{ display:grid; grid-template-columns:4.2em 1fr; gap:16px; align-items:baseline; padding-top:12px; border-top:1px solid var(--line-night, rgba(243,236,226,.16)); }
.iw-glance b{ font:900 clamp(22px,2vw,28px)/1 var(--display); color:var(--orange-lt); }
.iw-glance span{ font:400 16.5px/1.45 var(--body); color:rgba(243,236,226,.85); }
.iw-glance strong{ font:800 clamp(17px,1.5vw,20px)/1 var(--display); text-transform:uppercase; color:var(--cream); margin-right:6px; letter-spacing:.02em; }
.iw-show-cardsband{ min-height:0 !important; align-items:center; }
.iw-show-cards{ display:grid; grid-template-columns:repeat(auto-fit, minmax(0, 280px)); justify-content:center; align-content:center; gap:clamp(16px,2vw,28px); padding:clamp(40px,5vw,72px) clamp(20px,3vw,48px); }
.iw-card{ margin:0; }
.iw-card-ph{ aspect-ratio:4/5; overflow:hidden; }
.iw-card-ph img{ display:block; width:100%; height:100%; object-fit:cover; }
.iw-card figcaption{ margin-top:12px; }
.iw-card b{ display:block; font:900 clamp(18px,1.7vw,24px)/1.02 var(--display); text-transform:uppercase; color:var(--cream); }
.iw-card span{ display:block; margin-top:5px; font:400 14px/1.35 var(--body); color:rgba(243,236,226,.7); }
.iw-show-cardsband .iw-show-tx{ margin-left:0 !important; }
@media (max-width:899px){ .iw-show-cards{ grid-template-columns:repeat(auto-fit, minmax(0, 1fr)); padding:28px var(--gut) 0; } .iw-show-cards:has(.iw-card:only-child){ grid-template-columns:minmax(0, 260px); } }
/* back to big photos: full height beside the details; Wayne and Greg side by side, each named on their own photo */
.iw-show-duo .iw-show-ph{ flex-direction:row !important; }
.iw-show-duo .iw-show-one + .iw-show-one{ border-top:0 !important; border-left:3px solid var(--night, #0f0d0c) !important; }
.iw-show-one .iw-show-name{ right:clamp(14px,2vw,28px); font-size:clamp(26px,2.8vw,40px) !important; line-height:.95; }
.iw-show-duo .iw-show-name{ font-size:clamp(20px,2vw,30px) !important; }
.iw-show-name small{ display:block; margin-top:6px; font:600 13px/1.3 var(--body); text-transform:none; letter-spacing:0; color:rgba(255,255,255,.85); }
.iw-show-one::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:40%; background:linear-gradient(180deg, rgba(15,13,12,0), rgba(15,13,12,.7)); pointer-events:none; }
.iw-show-one .iw-show-name{ z-index:2; }
@media (max-width:899px){ .iw-show-duo .iw-show-ph{ aspect-ratio:2/1.3 !important; } .iw-show-duo .iw-show-name{ font-size:18px !important; } }

/* ════ Evening shows: full-bleed photos (Chris alone; Wayne stacked over Greg), names on each ════ */
.sb-blurb{ margin-top:6px; max-width:36em; font:400 15.5px/1.5 var(--body); color:rgba(243,236,226,.8); }
.sb-blurb + .sb-head{ margin-top:18px; }
.iw-show-duo .iw-show-ph{ flex-direction:column !important; }
.iw-show-duo .iw-show-one + .iw-show-one{ border-left:0 !important; border-top:3px solid var(--night, #0f0d0c) !important; }
.iw-show .iw-show-name{ font-size:clamp(26px,2.8vw,40px) !important; }
@media (max-width:899px){
  .iw-show-duo .iw-show-ph{ flex-direction:row !important; aspect-ratio:2/1.3 !important; }
  .iw-show-duo .iw-show-one + .iw-show-one{ border-top:0 !important; border-left:3px solid var(--night, #0f0d0c) !important; }
  .iw-show-duo .iw-show-name{ font-size:18px !important; }
}
/* each session opens with a full-width header row (time, title, tagline, intro), then photo + details */
.sb-hdr{ padding-top:clamp(48px,5.4vw,80px); padding-bottom:clamp(24px,2.6vw,36px); border-top:1px solid var(--line-night, rgba(243,236,226,.16)); }
.sb-hdr .sb-desc, .sb-hdr .sb-who{ max-width:42em; }
.sb-hdr + .iw-show{ margin-top:0 !important; border-top:0 !important; }

/* Evening redesign: header row spans the width (title left, copy right); photo + lineup below, top-aligned and larger */
.sb-hdr-r > :first-child{ margin-top:0; }
@media (max-width:899px){ .sb-hdr-r{ margin-top:20px; } }
@media (min-width:900px){
  .sb-hdr{ display:grid; grid-template-columns:clamp(400px,38vw,540px) minmax(0,1fr); column-gap:clamp(40px,5vw,80px); align-items:end; }
  .sb-hdr .sb-desc, .sb-hdr .sb-who{ max-width:34em; }
  .sb-hdr .sb-title{ white-space:nowrap; }
  .iw-show-tx.sb{ align-self:start; padding-top:clamp(40px,4.4vw,64px); }
  .sb .sb-appear{ margin-top:0; }
  .sb-logo{ width:min(340px,80%); }
  .sb .sb-sub{ margin-top:28px; gap:16px; }
  .sb .iw-sub-t, .sb .iw-sub-n{ font-size:clamp(20px,1.8vw,25px); }
  .sb .iw-rooms{ row-gap:12px; margin-top:14px; }
  .sb .iw-rooms dt{ font-size:13px; }
  .sb .iw-rooms dd{ font-size:clamp(19px,1.7vw,23px); }
  /* Joint: Wayne and Greg side by side as portraits, so faces aren't cropped to a strip */
  .iw-show-duo{ min-height:min(620px,80vh) !important; }
  .iw-show-duo .iw-show-ph{ flex-direction:row !important; }
  .iw-show-duo .iw-show-one + .iw-show-one{ border-top:0 !important; border-left:3px solid var(--night, #0f0d0c) !important; }
}
/* Wayne's portrait is much darker than Greg's: lift it so the pair matches */
.iw-show-one img[src*="wayne-tucker-portrait"]{ filter:grayscale(1) contrast(1.02) brightness(1.85); }

/* Evening rows, round 2: shorter photo bands (Chris, Wayne, Greg all the same height), text centred against the photo */
.iw-sub .iw-rooms > .iw-rv{ grid-column:1 / -1; display:block; margin-top:8px; }
.iw-sub .iw-rooms > .iw-rv:first-child{ margin-top:0; }
.sb .iw-rooms .iw-rv dt{ justify-self:start; font:800 clamp(15px,1.3vw,17px)/1.1 var(--display); letter-spacing:.08em; text-transform:uppercase; color:var(--orange-lt); padding-bottom:6px; border-bottom:1px solid var(--line-night); }
.sb-note{ margin-top:8px; font:600 15.5px/1.4 var(--body); color:var(--cream); }
.iw-show-row + .iw-show-row{ margin-top:0 !important; border-top:3px solid var(--night, #0f0d0c) !important; }
@media (min-width:900px){
  .iw-show, .iw-show-row{ min-height:clamp(440px,40vw,580px) !important; }
  .iw-show-tx.sb{ align-self:center !important; padding-top:clamp(32px,3.6vw,56px) !important; padding-bottom:clamp(32px,3.6vw,56px) !important; }
}
@media (max-width:899px){ .iw-show-ph{ aspect-ratio:4/3 !important; } }
.iw-show-row .sb-blurb{ margin-top:12px; max-width:30em; font-size:clamp(16px,1.3vw,18px); line-height:1.5; }
/* Joint: special guests on their own row under Greg, lined up with the act text column */
.sb-guests{ border-top:3px solid var(--night, #0f0d0c); padding:clamp(28px,3vw,44px) var(--gut) 0; }
@media (min-width:900px){ .sb-guests{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding-left:0; padding-right:0; } .sb-guests-in{ grid-column:2; margin-left:clamp(-64px,-4vw,-16px); padding-left:clamp(12px,2vw,24px); padding-right:clamp(24px,5vw,72px); } }
.sb-guests .sb-with{ margin-top:0; }
.sb-guests .sb-acts b{ font-size:clamp(24px,2.4vw,34px); }
.sb-guests .sb-acts span{ font-size:16px; }

/* How your ticket admits 6: keep the rows clear of the slanted hero photo */
@media (min-width:900px){ .hm{ max-width:560px; } }
.y1m-p .y1m-acc{ font-weight:700; color:var(--orange-dk, #C63F1A); }
.y1m-lead .y1m-acc{ color:var(--orange-dk, #C63F1A); }

/* YOUR100/ Close the Justice Gap: the drawn wordmark (square YOUR100 with the stepped tagline) */
.y1m-mark{ display:block; width:clamp(240px,30vw,420px); height:auto; }
@media (max-width:599px){ .y1m-mark{ width:min(300px,100%); } }

/* RSVP: how each named guest is invited (they're coming / I'll invite them / please invite them for me) */
.inv-sel{ width:100%; min-height:48px; padding:10px 40px 10px 12px; border-radius:0; font:400 15px/1.3 var(--body); appearance:none; -webkit-appearance:none; cursor:pointer;
  background-image:linear-gradient(45deg, transparent 50%, var(--orange-lt) 50%), linear-gradient(135deg, var(--orange-lt) 50%, transparent 50%) !important;
  background-position:calc(100% - 20px) 50%, calc(100% - 14px) 50% !important; background-size:6px 6px, 6px 6px !important; background-repeat:no-repeat !important; }
.inv-sel:invalid, .inv-sel option[value=""]{ color:rgba(243,236,226,.55) !important; }
.inv-sel option{ color:var(--ink); background:#fff; }
.inv-sel:focus{ border-color:var(--orange-lt) !important; outline:2px solid rgba(255,138,92,.35); outline-offset:0; }
.inv-sel[hidden]{ display:none !important; }
.slots li .inv-sel{ grid-column:2 / -1; margin-top:-2px; }
.inv-field{ margin-top:12px; }

/* RSVP confirmation: the guest list, grouped by how each is invited */
.done-guests{ display:grid; gap:4px; margin-top:4px; padding-top:16px; border-top:1px dashed rgba(243,236,226,.3); }
.done-gh{ margin-top:10px; font:700 12.5px/1.3 'IBM Plex Mono', monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--orange-lt); }
.done-gl{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:4px 18px; font:500 16px/1.4 var(--body); color:var(--cream); }
.done-mail{ font-size:14.5px; color:rgba(243,236,226,.75); }
.done-mail .linkish{ color:var(--orange-lt); }

/* RSVP ticket list, as on the ticket: who on top, then time + program */
.rsvp-plan li{ display:block !important; padding:13px 0 !important; }
.rsvp-plan .rp-n{ display:block; font:800 22px/1.05 var(--display); text-transform:uppercase; letter-spacing:.01em; color:var(--orange-lt); }
.rsvp-plan .rp-x{ display:block; margin-top:5px; font:500 16px/1.4 var(--body); color:var(--cream); }
.rsvp-plan .rp-t{ font:700 16px/1 var(--body); color:var(--cream); margin-right:4px; }
/* the requirement line, now at the top of the form */
.slot-req{ margin-top:0 !important; border-top:0 !important; padding-top:0 !important; }
.slot-req + .slot-h{ border-top:0; margin-top:14px; padding-top:0; }
/* guest rows: first · last · email on one line (stacked on phones); the invite choice underneath */
.slots li{ grid-template-columns:2.4em minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.6fr) !important; }
@media (max-width:620px){ .slots li{ grid-template-columns:2em 1fr 1fr !important; } .slots li input[type="email"]{ grid-column:2 / -1; } }
/* RSVP: which days (holder), and a guest's "Only one day?" (shown only for "they're coming") */
.days{ border:0; margin:6px 0 0; padding:0; }
.days-l{ padding:0; margin-bottom:10px; font:800 clamp(18px,1.7vw,22px)/1.2 var(--display); text-transform:uppercase; letter-spacing:.01em; color:var(--cream); }
.days-opts{ display:grid; gap:8px; }
.days-n{ margin-top:8px; font-size:14px; color:rgba(243,236,226,.65); }
.day-wrap{ display:block; }
.slots li .day-wrap{ grid-column:2 / -1; }
.inv-field + .day-wrap{ margin-top:8px; }
.day-tg{ font-size:14px; color:var(--orange-lt) !important; }
.day-sel{ margin-top:2px; }
/* day choices on the dark RSVP: readable when selected, compact rows */
.rsvp .days .choice > span{ min-height:0; padding:11px 14px; border-color:rgba(243,236,226,.3); background:transparent; }
.rsvp .days .choice > span::before{ border-color:rgba(243,236,226,.55); }
.rsvp .days .choice .ct{ display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 10px; }
.rsvp .days .choice .l2{ margin:0; font-size:14px; color:rgba(243,236,226,.65); }
.rsvp .days .choice input:checked + span{ background:rgba(233,85,47,.14) !important; border-color:var(--orange-lt) !important; box-shadow:inset 0 0 0 1px var(--orange-lt) !important; }
.rsvp .days .choice input:checked + span::before{ border-color:var(--orange-lt); background:radial-gradient(circle,var(--orange-lt) 0 45%,transparent 50%); }
.rsvp .days .choice input:checked + span b{ color:#fff !important; }
.rsvp .days .choice input:focus-visible + span{ outline:3px solid var(--orange-lt); }
/* RSVP page: straight to the form (the header's bottom padding and the section's top padding stacked into a big gap) */
body[data-page="rsvp"] .sp-hero{ padding-bottom:clamp(20px,2.4vw,32px); }
body[data-page="rsvp"] .rsvp{ padding-top:clamp(8px,1.2vw,16px); }
.slot-req > span{ display:block; }

/* ── RSVP, redesigned (Oct 17, 2026): three steps; guests added one card at a time ── */
.rs-step + .rs-step{ margin-top:clamp(10px,1.4vw,16px); }
.rs-step .slot-h{ border-top:1px dashed rgba(243,236,226,.3); }
.slot-req + .rs-step .slot-h{ border-top:0; padding-top:0; }
.opt-inline{ flex-basis:auto !important; font:400 14px/1 var(--body) !important; color:rgba(243,236,226,.55) !important; }
.rs-intro{ margin:-2px 0 14px; font:400 15px/1.5 var(--body); color:rgba(243,236,226,.72); max-width:34em; }
/* "I can't make it" sits apart from the day choices */
.days .choice-no{ margin-top:6px; }
.rsvp .days .choice-no > span{ border-style:dashed; }

/* guest cards */
.gcards{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.gcard{ padding:16px 16px 14px; border:1px solid rgba(243,236,226,.22); background:rgba(243,236,226,.03); display:grid; gap:12px; }
.gcard.gc-bad{ border-color:var(--orange-lt); }
.gc-h{ display:flex; align-items:baseline; gap:4px 12px; flex-wrap:wrap; }
.gc-n{ font:800 19px/1 var(--display); text-transform:uppercase; letter-spacing:.02em; color:var(--cream); }
.gc-when{ font:600 11.5px/1.3 'IBM Plex Mono', monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--orange-lt); }
.gc-x{ margin-left:auto; font-size:13.5px; color:rgba(243,236,226,.6) !important; }
.gc-x:hover{ color:var(--cream) !important; }
.gcard .field label{ margin-bottom:6px; }
.gc-msg{ margin:0; font:600 14px/1.4 var(--body); color:var(--orange-lt); }

/* how invited: three tappable buttons */
.gc-inv{ border:0; margin:0; padding:0; }
.gc-inv legend{ padding:0; margin-bottom:8px; font:700 12px/1.2 var(--body); letter-spacing:.12em; text-transform:uppercase; color:rgba(243,236,226,.8); }
.pills{ display:flex; flex-wrap:wrap; gap:8px; }
.pill{ position:relative; flex:1 1 auto; }
.pill input{ position:absolute; inset:0; width:100%; height:100%; opacity:0; margin:0; cursor:pointer; }
.pill span{ display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px 14px; border:1px solid rgba(243,236,226,.35); font:600 14.5px/1.2 var(--body); color:var(--cream); text-align:center; white-space:nowrap; }
.pill input:hover + span{ border-color:rgba(243,236,226,.7); }
.pill input:checked + span{ background:var(--orange-lt); border-color:var(--orange-lt); color:#1a0f0a; }
.pill input:focus-visible + span{ outline:2px solid var(--orange-lt); outline-offset:2px; }
.gc-hint{ margin:8px 0 0; font:400 13.5px/1.45 var(--body); color:rgba(243,236,226,.65); }
.gc-hint:empty{ display:none; }
.gcard .day-wrap{ margin-top:-4px; }

/* add a guest + party count */
.gbar{ display:flex; align-items:center; gap:10px 16px; flex-wrap:wrap; margin-top:12px; }
.gadd{ display:inline-flex; align-items:center; gap:8px; min-height:48px; padding:0 18px; border:1.5px dashed rgba(255,138,92,.7); background:transparent; color:var(--orange-lt);
  font:700 14px/1 var(--body); letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.gadd span[aria-hidden]{ font-size:20px; letter-spacing:0; }
.gadd:hover{ border-style:solid; background:rgba(233,85,47,.1); }
.gadd:focus-visible{ outline:2px solid var(--orange-lt); outline-offset:2px; }
.gcards:has(.gcard:not([hidden])) + .gbar .gadd{ width:100%; justify-content:center; }
.gparty{ margin:0; font:600 14px/1.3 'IBM Plex Mono', monospace; letter-spacing:.06em; text-transform:uppercase; color:rgba(243,236,226,.75); }
.gparty:empty{ display:none; }
@media (max-width:520px){ .pill{ flex-basis:100%; } }
/* RSVP confirmation: optional heads-up to guests */
.heads{ margin-top:14px; padding:14px 16px; border:1px dashed rgba(255,138,92,.55); }
.heads-h{ font:800 18px/1.1 var(--display); text-transform:uppercase; letter-spacing:.02em; color:var(--cream); }
.heads-h span{ font:400 13px/1 var(--body); text-transform:none; letter-spacing:0; color:rgba(243,236,226,.55); }
.heads-t{ margin-top:8px; font:400 15px/1.5 var(--body); color:rgba(243,236,226,.85); }
.heads-a{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.rsvp .heads-a .btn{ min-height:42px; padding:0 16px; font-size:13px; color:var(--cream) !important; border-color:rgba(243,236,226,.5) !important; }
.rsvp .heads-a .btn:hover{ border-color:var(--orange-lt) !important; color:var(--orange-lt) !important; }

/* ── RSVP: the live ticket (name, party, days fill in as the form does) ── */
.rsvp-ticket .ask-h.is-name{ font-size:clamp(40px,4.6vw,60px); overflow-wrap:anywhere; }
.tk-party{ margin-top:8px; font:800 clamp(18px,1.7vw,22px)/1 var(--display); letter-spacing:.06em; text-transform:uppercase; color:#fff; }
.tk-party:empty{ display:none; }
.tk-of{ font:800 clamp(13px,1.2vw,15px)/1 var(--display); letter-spacing:.18em; text-transform:uppercase; color:var(--cream); margin-top:-2px; }
.rsvp-ticket{ transition:filter .25s ease, opacity .25s ease; }
.rsvp-ticket.tk-off{ filter:grayscale(1) brightness(.7); }
.tk-stamp{ position:absolute; right:clamp(12px,2vw,22px); bottom:clamp(10px,1.6vw,18px); padding:5px 10px; border:2.5px solid #fff; transform:rotate(-6deg);
  font:900 clamp(14px,1.3vw,17px)/1 var(--display); letter-spacing:.12em; text-transform:uppercase; color:#fff; background:rgba(11,13,88,.25); }
@media (prefers-reduced-motion:reduce){ .rsvp-ticket{ transition:none; } }
/* desktop: the ticket rides along beside the form */
@media (min-width:960px){ body[data-page="rsvp"] .rsvp-side{ position:sticky; top:24px; } }
/* phones + tablets: a slim strip, not a full-screen graphic */
@media (max-width:959px){
  body[data-page="rsvp"] .ticket.rsvp-ticket{ grid-template-columns:1fr auto !important; transform:none; margin-bottom:6px; }
  body[data-page="rsvp"] .rsvp-ticket .ask-main{ padding:14px 16px !important; }
  body[data-page="rsvp"] .rsvp-ticket .ask-eye{ font-size:10.5px; letter-spacing:.1em; }
  body[data-page="rsvp"] .rsvp-ticket .ask-h{ margin-top:4px; font-size:26px !important; line-height:.95; }
  body[data-page="rsvp"] .rsvp-ticket .tk-party{ margin-top:4px; font-size:15px; }
  body[data-page="rsvp"] .rsvp-ticket .tk-stub{ flex-direction:column !important; justify-content:center; padding:10px 16px !important; gap:2px; }
  body[data-page="rsvp"] .rsvp-ticket .tk-admit{ font-size:11px; }
  body[data-page="rsvp"] .rsvp-ticket .tk-n{ font-size:40px !important; }
  body[data-page="rsvp"] .rsvp-ticket .tk-of{ font-size:10px; }
  body[data-page="rsvp"] .rsvp-ticket .tk-sdate{ display:none; }
  body[data-page="rsvp"] .rsvp-ticket .tk-stamp{ position:static; display:inline-block; margin-top:8px; transform:rotate(-3deg); font-size:12px; }
}
/* the side heading is for screen readers only now (an older rule forced it visible) */
body[data-page="rsvp"] .rsvp .rsvp-side h2#rsvp-h.sr-only{ position:absolute !important; width:1px !important; height:1px !important; margin:-1px !important; padding:0 !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
/* sized for the side column: "Your ticket admits ten." on two lines, a name a step larger */
@media (min-width:960px){
  body[data-page="rsvp"] .rsvp-ticket .ask-h{ font-size:clamp(26px,2.5vw,36px) !important; line-height:.92; }
  body[data-page="rsvp"] .rsvp-ticket .ask-h.is-name{ font-size:clamp(36px,3.7vw,54px) !important; }
}
@media (max-width:959px){ body[data-page="rsvp"] .rsvp-ticket .tk-stub{ background-image:none !important; } }   /* no stray perforation dots on the strip */

/* ── Refinement pass, Oct 18, 2026 ── */
/* second section: two questions; the first is the editorial statement, the second the supporting proposition (~62%) */
.hk h2.hk-q1{ margin:0; max-width:21ch; font:500 clamp(30px,3.7vw,54px)/1.12 var(--body); letter-spacing:-.018em; text-transform:none; color:var(--navy); text-wrap:balance; }
.hk-q1 em{ font-style:italic; font-weight:400; }
.hk .hk-q.hk-q2{ max-width:32ch; margin-top:clamp(24px,2.8vw,40px); font:400 clamp(20px,2.3vw,33px)/1.36 var(--body); letter-spacing:-.008em; color:var(--navy); text-wrap:pretty; }
@media (max-width:520px){ .hk h2.hk-q1{ font-size:clamp(27px,7.4vw,32px); line-height:1.16; } .hk .hk-q.hk-q2{ font-size:clamp(19px,5vw,21px); line-height:1.42; } }

/* hero timeline: PM after each time, quieter than the time itself */
.hm-ap{ font-size:.82em; font-weight:500; opacity:.8; }

/* a small "Claim your ticket" that appears only while no claim button is on screen */
.claim-float{ position:fixed; right:clamp(14px,2vw,28px); bottom:calc(clamp(14px,2vw,28px) + env(safe-area-inset-bottom)); z-index:60;
  display:inline-flex; align-items:center; min-height:48px; padding:0 22px; background:var(--orange-btn); color:#fff; text-decoration:none;
  font:700 13.5px/1 var(--body); letter-spacing:.14em; text-transform:uppercase; box-shadow:0 6px 20px rgba(4,5,40,.35); }
.claim-float:hover{ background:var(--orange-btn-hi); }
.claim-float:focus-visible{ outline:3px solid #fff; outline-offset:3px; }
@media (max-width:640px){ .claim-float{ left:12px; right:12px; justify-content:center; } }
@media print{ .claim-float{ display:none !important; } }
.claim-float span[aria-hidden]{ margin-left:.5em; }
/* floating claim: the invitation's one claim button, with the reply line under the label */
.claim-float{ flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; min-height:58px; padding:10px 22px; }
.claim-float .cf-s{ font:500 11.5px/1.2 var(--body); letter-spacing:.02em; text-transform:none; color:rgba(255,255,255,.88); }
.claim-float .cf-l span[aria-hidden]{ margin-left:.4em; }
@media (max-width:640px){ .claim-float{ align-items:center; } }
.hero .cta:not(:has(.btn)) .catch-box{ margin-left:0; }
.claim-float{ animation:cf-in .2s ease; } @keyframes cf-in{ from{ opacity:0; transform:translateY(8px); } } @media (prefers-reduced-motion:reduce){ .claim-float{ animation:none; } }

/* ── Invitation: participating networks, new logos (Oct 19, 2026) — flagship across the top, then two per row ── */
.y1m-nets.y1m-nets-v2 ul{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; column-gap:clamp(28px,4vw,56px) !important; row-gap:clamp(34px,4vw,52px) !important; align-items:start !important; }
.y1m-nets.y1m-nets-v2 ul > li{ display:flex !important; flex-direction:column; align-items:flex-start; gap:12px; grid-row:auto !important; margin:0 !important; }
.y1m-nets.y1m-nets-v2 ul > li:first-child{ grid-column:1 / -1; }
.y1m-nets.y1m-nets-v2 ul > li > img{ width:min(100%, 360px) !important; height:auto !important; max-height:none !important; max-width:100% !important; }
.y1m-nets.y1m-nets-v2 ul > li.y1m-net-cjg > img{ width:min(100%, 500px) !important; }
.y1m-nets.y1m-nets-v2 ul > li.y1m-net-btb > img{ width:auto !important; height:clamp(170px,15vw,210px) !important; }
@media (max-width:599px){ .y1m-nets.y1m-nets-v2 ul{ grid-template-columns:1fr !important; } .y1m-nets.y1m-nets-v2 ul > li > img{ width:min(100%, 320px) !important; } }
/* v2 layout wins over the older wide-list rules: flagship across the top, then two per row; every logo sits in a
   same-height box on a shared baseline, the note under it, all left-aligned */
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul{ display:grid !important; grid-template-columns:repeat(2, minmax(0,1fr)) !important; column-gap:clamp(32px,5vw,72px) !important; row-gap:clamp(34px,4vw,52px) !important; align-items:start !important; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li{ display:flex !important; flex-direction:column !important; align-items:flex-start !important; justify-self:stretch !important; align-self:start !important; gap:12px !important; padding:0 !important; grid-row:auto !important; grid-column:auto; margin:0 !important; max-width:none !important; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li:first-child{ grid-column:1 / -1 !important; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li > img{ display:block; align-self:flex-start !important; width:auto !important; max-width:100% !important; height:clamp(64px,6.4vw,88px) !important; max-height:none !important; object-fit:contain; object-position:left bottom; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li.y1m-net-cjg > img{ height:clamp(96px,9.6vw,136px) !important; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li.y1m-net-btb > img{ height:clamp(150px,13vw,190px) !important; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li .y1m-netnote{ margin:0 !important; max-width:26em; }
@media (min-width:600px){
  /* row 2 (Back to Buffalo + Amplifiers) shares a baseline: the shorter logo drops to meet the taller one */
  .y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li:not(:first-child){ display:grid !important; grid-template-rows:clamp(150px,13vw,190px) auto; row-gap:12px !important; }   /* row 2: Back to Buffalo's height */
  .y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li:not(:first-child) > img{ align-self:end !important; }
  .y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li.y1m-net-boost, .y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li.y1m-net-comp{ grid-template-rows:clamp(64px,6.4vw,88px) auto; }   /* row 3: wordmarks only */
}
@media (max-width:599px){ .y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul{ grid-template-columns:1fr !important; } .y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li > img{ height:64px !important; } .y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li.y1m-net-cjg > img{ height:84px !important; } .y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li.y1m-net-btb > img{ height:160px !important; } }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li:not(:first-child){ grid-column:auto !important; grid-row:auto !important; }
@media (min-width:600px){
  .y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li.y1m-net-btb, .y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li.y1m-net-amp{ display:grid !important; grid-template-rows:clamp(150px,13vw,190px) auto !important; }
  .y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li.y1m-net-amp > img{ align-self:end !important; }
}
/* Back to Buffalo, horizontal logo: a wordmark like the others (Oct 19, 2026); row 2 now matches row 3's height */
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li.y1m-net-btbh > img{ height:clamp(84px,8vw,112px) !important; }
@media (min-width:600px){
  .y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li.y1m-net-btbh, .y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li.y1m-net-amp{ display:grid !important; grid-template-rows:clamp(84px,8vw,112px) auto !important; }
}
@media (max-width:599px){ .y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul > li.y1m-net-btbh > img{ height:auto !important; width:min(100%, 330px) !important; } }
/* participating networks: header "Our current networks, powered by YOUR100/" — the logo sits on the type's baseline */
.y1m-nets-v2 .y1m-label{ margin:0; }
.y1m-nets-h{ margin:10px 0 clamp(26px,3vw,38px); font:900 clamp(30px,3.4vw,48px)/1.05 var(--display); text-transform:uppercase; letter-spacing:.005em; color:var(--navy); text-wrap:balance; }
.y1m-nets-logo{ display:inline-block; height:1.02em; width:auto; vertical-align:-0.13em; margin-left:.12em; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 ul{ margin-top:0 !important; }
/* logo letters measured at 3.8%–68.5% of the logo's height; Big Shoulders caps are 0.8em:
   height 1.236em makes the letters cap-height, and -0.389em puts their bottom on the baseline (the slash drops below, as in the lockups) */
.y1m-nets-logo{ height:1.236em !important; vertical-align:-0.389em !important; margin-left:.16em !important; }
.y1m-nets-h{ line-height:1.15 !important; padding-bottom:.25em; }
/* "Our current networks" (heading) / "All powered by YOUR100/" (subheading, ~55%) */
.y1m-nets-h{ margin:0 !important; padding:0 !important; font-size:clamp(40px,4.8vw,68px) !important; line-height:.95 !important; }
.y1m-nets-sub{ margin:clamp(8px,1vw,12px) 0 clamp(28px,3.2vw,42px); font:800 clamp(22px,2.5vw,36px)/1.15 var(--display); text-transform:uppercase; letter-spacing:.01em; color:var(--orange-dk); padding-bottom:.25em; }
.y1m-nets-sub{ margin:clamp(14px,1.6vw,20px) 0 clamp(30px,3.4vw,46px) !important; padding:0 !important; line-height:0; }
.y1m-nets-pb{ display:block; height:clamp(66px,6.6vw,96px); width:auto; }
.y1m-nets-pb{ height:clamp(44px,4.4vw,62px) !important; }

/* ── Our current networks, by pillar (Oct 19, 2026): Profession | Hometowns side by side, then Passions ── */
.y1m-pillars{ display:grid; grid-template-columns:1fr 1fr; column-gap:clamp(32px,5vw,72px); row-gap:clamp(40px,4.6vw,60px); }
.y1m-pillar-passion{ grid-column:1 / -1; }
.y1m-pillar-h{ margin:0 0 clamp(16px,1.8vw,22px); padding-top:12px; border-top:2px solid var(--navy); font:700 12.5px/1.2 'IBM Plex Mono', monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--orange-dk); }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillars ul{ display:grid !important; grid-template-columns:1fr !important; gap:0 !important; margin:0 !important; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul{ grid-template-columns:repeat(3, minmax(0,1fr)) !important; column-gap:clamp(28px,3.6vw,52px) !important; row-gap:clamp(34px,4vw,48px) !important; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillars ul > li{ grid-column:auto !important; display:grid !important; grid-template-rows:clamp(64px,6vw,84px) auto !important; row-gap:12px !important; align-content:start; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillars .y1m-pillar ul > li[class] > img{ margin:0 !important; object-position:left bottom !important; align-self:end !important; height:auto !important; max-height:100% !important; width:auto !important; max-width:100% !important; }
/* Profession + Hometowns: the two logos match in height */
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillars ul > li.y1m-net-cjg, .y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillars ul > li.y1m-net-btbh{ grid-template-rows:clamp(84px,8vw,108px) auto !important; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillars ul > li.y1m-net-cjg > img, .y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillars ul > li.y1m-net-btbh > img{ height:100% !important; }
/* Passions: wordmarks fill their cell's width, capped by the row height */
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul > li > img{ width:100% !important; height:auto !important; max-height:clamp(64px,6vw,84px) !important; object-fit:contain; object-position:left bottom; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul > li.y1m-net-pte > img{ max-height:clamp(70px,6.6vw,92px) !important; }
@media (max-width:899px){
  .y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul{ grid-template-columns:1fr 1fr !important; }
}
@media (max-width:599px){
  .y1m-pillars{ grid-template-columns:1fr; }
  .y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul{ grid-template-columns:1fr !important; }
  .y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillars .y1m-pillar ul > li[class] > img{ margin:0 !important; object-position:left bottom !important; width:min(100%, 300px) !important; }
}
.y1m-pillar-p{ margin:-6px 0 clamp(20px,2.2vw,28px); max-width:40em; font:500 clamp(16px,1.4vw,18px)/1.5 var(--body); color:var(--navy); }
/* top bar: the link now carries the whole line; let it wrap rather than run off narrow screens */
.eco-bar-go{ white-space:normal !important; text-align:right; }
@media (max-width:959px){ .eco-bar-go{ grid-column:1 / -1; text-align:left; margin-left:0; } }
/* Passions: balance by the main word's cap height, not the box (Oct 21, 2026):
   The Core (4 big serif caps) ~28% smaller; The Boosters (pennant + italics eat its box) ~12% larger */
@media (min-width:600px){
  .y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul > li.y1m-net-pte > img{ width:72% !important; }
  .y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul > li.y1m-net-boost > img{ width:100% !important; max-height:calc(clamp(64px,6vw,84px) * 1.12) !important; }
  .y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul > li{ grid-template-rows:calc(clamp(64px,6vw,84px) * 1.12) auto !important; }
}
@media (max-width:599px){
  .y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillars ul > li.y1m-net-pte > img{ width:min(72%, 216px) !important; }
}

/* ════ Oct 21, 2026 · What's YOUR100? in three sections: why (y1m) → how (xp) → now (ln) ════ */
/* Section 1: company line → the idea → the name → the networks line */
.y1m-intro{ font:700 clamp(19px,1.7vw,22px)/1.35 var(--body); color:var(--navy); max-width:30em; }
.y1m-idea{ margin-top:clamp(12px,1.4vw,18px); font:500 clamp(25px,2.4vw,34px)/1.22 var(--body); letter-spacing:-.012em; color:var(--navy); max-width:22em; text-wrap:balance; }
.y1m-idea .y1m-acc{ color:var(--orange-dk); font-weight:600; }
.y1m-main > .y1m-name{ margin-top:clamp(26px,3vw,38px); padding-top:clamp(20px,2.2vw,26px); border-top:1px solid var(--line); }
.y1m-main > .y1m-netsline{ margin-top:14px; }
.y1m-anchor-sub{ display:block; margin-top:3px; font:500 14px/1.35 var(--body); text-transform:none; letter-spacing:0; color:var(--ink-2); }

/* Section 2: The YOUR100 Experience */
.xp{ background:#fff; padding:clamp(72px,9vw,128px) 0 clamp(64px,8vw,112px); border-top:1px solid var(--line); }
.xp-label{ font:700 12.5px/1.2 'IBM Plex Mono', monospace; letter-spacing:.18em; text-transform:uppercase; color:var(--orange-dk); }
.xp-h{ margin-top:12px; font:900 clamp(46px,6.4vw,92px)/.9 var(--display); text-transform:uppercase; letter-spacing:.004em; color:var(--navy); text-wrap:balance; }
.xp-lede{ margin-top:clamp(18px,2vw,26px); max-width:40em; font:400 clamp(18px,1.6vw,21px)/1.55 var(--body); color:var(--ink); }
.xp-threads{ margin-top:clamp(44px,5vw,72px); display:grid; grid-template-columns:minmax(0,7fr) auto minmax(0,5fr); align-items:stretch; }
.xp-coc{ padding:clamp(4px,1vw,8px) clamp(28px,3.4vw,52px) 0 0; }
.xp-ses{ background:var(--night); color:var(--cream); padding:clamp(30px,3.4vw,46px) clamp(26px,3vw,42px); }
.xp-join{ align-self:center; font:900 clamp(120px,15vw,230px)/.8 var(--display); color:var(--orange); margin:0 clamp(-24px,-1.6vw,-12px) 0 0; transform:translateY(-4%); position:relative; z-index:1; }
.xp-thread{ font:700 12px/1 'IBM Plex Mono', monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); }
.xp-thread b{ color:var(--orange-dk); margin-right:.5em; }
.xp-ses .xp-thread{ color:rgba(243,236,226,.7); } .xp-ses .xp-thread b{ color:var(--orange-lt); }
.xp-name{ margin-top:14px; }
.xp-lk{ --lh:clamp(36px,3.6vw,50px); display:inline-flex; align-items:flex-end; flex-wrap:wrap; }
.xp-lk .logo{ height:var(--lh); width:auto; display:block; flex:none; }
.xp-coc .xp-lk .lk-tag{ color:var(--navy); white-space:normal; max-width:9em; line-height:.95; }
.xp-ses .xp-lk .lk-tag{ color:var(--cream); }
.xp-text{ margin-top:clamp(18px,2vw,24px); font:500 clamp(18px,1.55vw,20px)/1.5 var(--body); color:var(--ink); max-width:32em; }
.xp-ses .xp-text{ color:var(--cream); }
.xp-topics{ margin-top:16px; padding:12px 0; border-top:2px solid var(--navy); border-bottom:1px solid var(--line); font:800 clamp(17px,1.5vw,21px)/1.2 var(--display); letter-spacing:.05em; text-transform:uppercase; color:var(--navy); }
.xp-ses .xp-topics{ border-top-color:var(--orange-lt); border-bottom-color:rgba(243,236,226,.18); color:var(--cream); font-size:clamp(14px,1.2vw,16px); }
.xp-dot{ color:var(--orange-dk); } .xp-ses .xp-dot{ color:var(--orange-lt); }
.xp-more{ margin-top:16px; font:400 16.5px/1.6 var(--body); color:var(--ink-2); max-width:32em; }
.xp-ses .xp-more{ color:rgba(243,236,226,.75); }
.xp-words{ margin-top:clamp(18px,2vw,26px); font:900 clamp(52px,5.6vw,84px)/.86 var(--display); text-transform:uppercase; color:var(--orange-lt); }
.xp-words span{ display:block; }
.xp-bridge{ margin-top:clamp(36px,4vw,56px); font:800 clamp(24px,2.6vw,36px)/1.1 var(--display); text-transform:uppercase; letter-spacing:.01em; color:var(--navy); text-align:center; }
@media (max-width:899px){
  .xp-threads{ grid-template-columns:1fr; }
  .xp-coc{ padding:0 0 8px; }
  .xp-join{ justify-self:start; font-size:110px; margin:-10px 0 -34px 18px; transform:none; }
  .xp-ses{ margin:0 calc(-1 * var(--gut)); padding:44px var(--gut) 40px; }
  .xp-words span{ display:inline; } .xp-words{ font-size:clamp(44px,12vw,64px); }
  .xp-bridge{ text-align:left; }
}

/* Section 3: The Launch, Buffalo */
.ln{ background:var(--paper); padding:clamp(64px,8vw,104px) 0; border-top:1px solid var(--line); }
.ln-in{ max-width:860px; }
.ln-h{ margin-top:12px; font:900 clamp(38px,4.8vw,64px)/.92 var(--display); text-transform:uppercase; color:var(--navy); text-wrap:balance; }
.ln-text{ margin-top:clamp(18px,2vw,24px); font:500 clamp(19px,1.7vw,22px)/1.5 var(--body); color:var(--navy); max-width:34em; }
.ln-note{ margin-top:14px; font:400 15.5px/1.6 var(--body); color:var(--ink-2); max-width:38em; }
.ln-close{ margin-top:clamp(26px,3vw,36px); font:800 clamp(24px,2.6vw,34px)/1.1 var(--display); text-transform:uppercase; letter-spacing:.01em; color:var(--orange-dk); }
.y1m-anchor-t{ display:block; }
.ln-in{ max-width:1160px; } .ln-h, .ln-close{ max-width:20em; }
.xp-coc .xp-lk{ --lh:clamp(44px,4.4vw,62px); }
.xp-ses .xp-lk{ --lh:clamp(40px,3.8vw,54px); }
.xp-coc .xp-lk .lk-tag{ max-width:none; white-space:nowrap; }
.xp-bridge{ text-align:left; }
@media (min-width:900px){ .xp-bridge{ padding-left:0; } }
@media (max-width:599px){ .xp-coc .xp-lk .lk-tag{ white-space:normal; } .xp-coc .xp-lk{ --lh:40px; } }
@media (max-width:899px){
  .xp-join{ justify-self:end; font-size:96px !important; margin:24px var(--gut) -40px 0 !important; transform:none !important; }
}
/* top bar: the longer partnerships link wraps instead of pushing past the edge (tablets) */
.eco-bar-go{ flex:0 1 auto !important; min-width:0; }
@media (max-width:1100px){ .eco-bar-in{ flex-wrap:wrap; row-gap:4px; } }
/* The YOUR100 Experience, tightened (Oct 21, 2026) */
.xp{ padding:clamp(56px,6.4vw,88px) 0 clamp(48px,5.6vw,76px) !important; }
.xp-h{ font-size:clamp(40px,5vw,70px) !important; margin-top:10px !important; }
.xp-lede{ margin-top:14px !important; max-width:44em !important; font-size:clamp(17px,1.45vw,19px) !important; }
.xp-threads{ margin-top:clamp(32px,3.6vw,48px) !important; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) !important; align-items:center !important; }
.xp-coc{ padding:0 clamp(20px,2.4vw,36px) 0 0 !important; }
.xp-ses{ padding:clamp(26px,2.8vw,36px) clamp(24px,2.6vw,36px) !important; }
.xp-join{ font-size:clamp(96px,11vw,170px) !important; margin:0 clamp(-18px,-1.2vw,-8px) 0 0 !important; }
.xp-name{ margin-top:10px !important; }
.xp-text{ margin-top:14px !important; font-size:clamp(17px,1.4vw,19px) !important; }
.xp-topics{ margin-top:12px !important; padding:9px 0 !important; }
.xp-more{ margin-top:10px !important; font-size:15.5px !important; }
.xp-words{ margin-top:14px !important; font-size:clamp(40px,3.8vw,58px) !important; line-height:.9 !important; }
.xp-words span{ display:inline !important; }
.xp-bridge{ margin-top:clamp(26px,3vw,40px) !important; font-size:clamp(22px,2.2vw,30px) !important; }
@media (min-width:600px){
  .xp-coc .xp-lk{ --lh:clamp(32px,3.1vw,46px) !important; flex-wrap:nowrap !important; }
  .xp-ses .xp-lk{ --lh:clamp(32px,3.1vw,46px) !important; }
}
/* Two Threads, final pass (Oct 21, 2026): Conversations gains presence through its curriculum */
.xp-curr{ list-style:none; margin:clamp(18px,2vw,24px) 0 0; padding:clamp(12px,1.4vw,16px) 0 0; border-top:2px solid var(--navy); display:grid; gap:2px; }
.xp-curr li{ display:flex; align-items:baseline; gap:.45em; font:900 clamp(24px,2.3vw,34px)/1.02 var(--display); letter-spacing:.008em; text-transform:uppercase; color:var(--navy); }
.xp-slash{ flex:none; color:var(--orange-dk); font-weight:800; }
.xp-coc .xp-more{ margin-top:clamp(16px,1.8vw,22px); color:var(--ink); font-size:16.5px !important; }
.xp-formats{ margin-top:6px; font:500 12px/1.4 'IBM Plex Mono', monospace; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); }
.xp-ses .xp-more{ margin-top:10px; }
/* the two threads share a top line: labels and lockups align across */
@media (min-width:900px){ .xp-threads{ align-items:start !important; } .xp-coc{ padding-top:clamp(26px,2.8vw,36px) !important; } .xp-join{ align-self:center; } }
.xp-bridge{ letter-spacing:.015em; }
.xp-curr li{ font-size:clamp(21px,1.95vw,29px) !important; white-space:nowrap; }
.xp-curr{ gap:4px !important; padding-bottom:clamp(14px,1.6vw,18px) !important; border-bottom:1px solid var(--line); }
.xp-coc .xp-more{ margin-top:clamp(14px,1.6vw,18px) !important; }
.xp-formats{ margin-top:8px !important; }
@media (max-width:420px){ .xp-curr li{ white-space:normal; font-size:22px !important; } }
@media (max-width:599px){ .xp-curr li{ white-space:normal !important; font-size:clamp(19px,5.4vw,23px) !important; } }
@media (max-width:899px){ .xp-threads{ grid-template-columns:1fr !important; align-items:stretch !important; } .xp-coc{ padding:0 0 8px !important; } .xp-ses{ padding:44px var(--gut) 40px !important; } }
/* Networks intro (Oct 21, 2026) */
.y1m-nets-intro{ max-width:62ch; margin:calc(-1 * clamp(8px,1.2vw,18px)) 0 clamp(34px,3.8vw,52px); }
.y1m-nets-intro p{ margin:0; font-size:clamp(16.5px,1.3vw,18.5px); line-height:1.55; color:var(--ink); }
.y1m-nets-intro p + p{ margin-top:.8em; }
.hk-q1 em{ white-space:nowrap; }   /* keep "really meant it" on one line (Oct 21, 2026) */
/* What's YOUR100 polish (Oct 21, 2026) */
@media (max-width:599px){ .y1m-intro{ font-size:18px; } .y1m-idea{ font-size:clamp(21px,5.9vw,24px); line-height:1.26; margin-top:12px; } .y1m-main > .y1m-name{ margin-top:28px; padding-top:22px; } }
.y1m-nets-intro .y1m-acc{ font-weight:700; color:var(--orange-dk); }
.y1m-nets-h + .y1m-nets-intro{ margin-top:clamp(18px,2vw,26px); }   /* no Powered by mark between them (Oct 21, 2026) */
.y1m-nets-v2 > .y1m-nets-intro:first-child{ margin-top:0; }   /* no heading above it (Oct 21, 2026) */
/* networks intro as a headline, matching .y1m-idea (Oct 21, 2026) */
.y1m-nets-intro{ max-width:none !important; }
.y1m-nets-intro p{ font:500 clamp(25px,2.4vw,34px)/1.22 var(--body) !important; letter-spacing:-.012em; color:var(--navy) !important; max-width:24em; text-wrap:balance; }
@media (max-width:599px){ .y1m-nets-intro p{ font-size:clamp(21px,5.9vw,24px) !important; line-height:1.26 !important; } }
/* ===== Network gallery: optical sizing system (Oct 21, 2026) =====
   Each logo is sized by width as a share (--lw) of its column, capped at --cap so phones don't blow it up.
   --lw is tuned per logo for equal perceived weight (proportion + ink density), not equal dimensions.
   Rows bottom-align, so the taglines share a baseline. */
.y1m-nets-v2 .y1m-pillars{ --cap:440px; row-gap:clamp(36px,4vw,52px) !important; }
.y1m-nets-v2 .y1m-pillar-passion{ --cap:320px; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillars .y1m-pillar ul > li[class]{ display:flex !important; flex-direction:row !important; align-items:flex-end !important; justify-content:flex-start !important; justify-self:stretch !important; align-self:stretch !important; grid-template-rows:none !important; min-width:0; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillars .y1m-pillar ul > li[class] > img{ margin:0 !important; object-position:left bottom !important; display:block; width:calc(var(--lw, .9) * min(100%, var(--cap))) !important; max-width:100% !important; height:auto !important; max-height:none !important; object-fit:contain; align-self:flex-end !important; }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul{ row-gap:clamp(30px,3.2vw,42px) !important; align-items:end !important; }
.y1m-nets-v2 li.y1m-net-cjg{ --lw:.90; }
.y1m-nets-v2 li.y1m-net-btbh{ --lw:.82; }
.y1m-nets-v2 li.y1m-net-amp{ --lw:.90; }
.y1m-nets-v2 li.y1m-net-boost{ --lw:.85; }
.y1m-nets-v2 li.y1m-net-comp{ --lw:.90; }
.y1m-nets-v2 li.y1m-net-patrons{ --lw:.86; }
.y1m-nets-v2 li.y1m-net-pte{ --lw:.82; }
.y1m-nets-v2 li.y1m-net-life{ --lw:.98; }
@media (max-width:899px){ .y1m-nets-v2 .y1m-pillar-passion{ --cap:268px; } }   /* keep Passions a step below the two lead networks */
@media (max-width:599px){ .y1m-nets-v2 .y1m-pillar-passion{ --cap:256px; } .y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul{ row-gap:28px !important; } }
/* tagline readability on small screens (Oct 21, 2026): give the logos more width, since their taglines scale with them */
@media (max-width:899px){ .y1m-nets-v2 .y1m-pillar-passion{ --cap:300px; } .y1m-nets-v2 .y1m-pillars{ --cap:480px; } }
@media (max-width:599px){ .y1m-nets-v2 .y1m-pillar-passion{ --cap:330px; } .y1m-nets-v2 li.y1m-net-cjg, .y1m-nets-v2 li.y1m-net-btbh{ --lw:1; } }
@media (max-width:899px){ .y1m-nets-v2 li.y1m-net-cjg, .y1m-nets-v2 li.y1m-net-btbh{ --lw:1; } .y1m-nets-v2 .y1m-pillar-passion{ --cap:290px; } }
@media (max-width:599px){ .y1m-nets-v2 .y1m-pillar-passion{ --cap:330px; } }
@media (max-width:719px){ .y1m-nets-v2 .y1m-pillars{ grid-template-columns:1fr !important; } .y1m-nets-v2 li.y1m-net-cjg, .y1m-nets-v2 li.y1m-net-btbh{ --lw:.86; } }   /* lead logos stack before they get too small to read */
@media (max-width:719px){ .y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul{ grid-template-columns:1fr !important; } .y1m-nets-v2 .y1m-pillar-passion{ --cap:330px; } }
@media (max-width:599px){ .y1m-nets-v2 li.y1m-net-cjg, .y1m-nets-v2 li.y1m-net-btbh{ --lw:1; } }

/* ===== The Programming: ISSUES & EXPERIENCES (Oct 21, 2026) =====
   A concert-poster spread. Type is the image: a two-line headline hinged on an orange ampersand; two "bills"
   with their headliners stacked like a lineup (Issues: navy on cream; Experiences: a night panel bleeding off the
   right edge, dropped a step for asymmetry); a navy footer band like a poster's tour dates. */
.pg{ background:var(--paper); padding:clamp(72px,9vw,136px) 0 0; border-top:1px solid var(--line); overflow-x:clip; }
.pg-head{ position:relative; }
.pg-h{ margin-top:clamp(14px,1.6vw,22px); font:900 clamp(56px,calc((100vw - 2 * var(--gut)) / 6.7),178px)/.8 var(--display); letter-spacing:-.004em; text-transform:uppercase; color:var(--navy); }
.pg-h-a, .pg-h-b{ display:block; }
.pg-h-amp{ color:var(--orange); }
.pg-amp-1{ display:none; }
.pg-amp-2{ font-size:1.1em; line-height:0; }   /* & opens line 2: ISSUES / & EXPERIENCES */
.pg-h-b{ text-align:right; margin-top:.1em; }
.pg-bills{ margin-top:clamp(48px,6vw,96px); display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); column-gap:clamp(36px,4.6vw,72px); align-items:start; }
.pg-bill-top{ display:flex; flex-direction:column; align-items:flex-start; gap:clamp(12px,1.3vw,16px); }
.pg-num{ font:700 12.5px/1.2 'IBM Plex Mono', monospace; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-2); }
.pg-num b{ margin-right:.7em; color:var(--orange-dk); }
.pg-lk{ --lh:clamp(36px,3.4vw,50px); display:inline-flex; align-items:flex-end; }
.pg-lk .logo{ height:var(--lh); width:auto; display:block; flex:none; }
.pg-issues .pg-lk .lk-tag{ color:var(--navy); }
.pg-exp .pg-lk .lk-tag{ color:var(--cream); }
/* Issues: the subjects as headliners */
.pg-lineup{ list-style:none; margin:clamp(26px,3vw,40px) 0 0; padding:0; border-top:3px solid var(--navy); }
.pg-lineup li{ padding:clamp(12px,1.3vw,18px) 0 clamp(10px,1.1vw,15px); border-bottom:1px solid rgba(17,20,127,.28); font:900 clamp(40px,4.9vw,68px)/.9 var(--display); letter-spacing:.004em; text-transform:uppercase; color:var(--navy); }
.pg-lineup li > span{ display:block; }
.pg-amp-s{ color:var(--orange); }
.pg-formats{ margin-top:clamp(18px,2vw,24px); font:700 12.5px/1.5 'IBM Plex Mono', monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--orange-dk); }
.pg-formats span{ color:var(--ink-2); }
.pg-text{ margin-top:12px; max-width:32em; font-size:17px; line-height:1.55; color:var(--ink); }
/* Experiences: a night panel, its headliners in orange */
.pg-exp{ position:relative; margin-top:clamp(0px,9vw,136px); padding:clamp(30px,3.4vw,48px) 0 clamp(34px,3.6vw,52px) clamp(28px,3.2vw,48px); background:var(--night); color:var(--cream); }
.pg-exp::after{ content:''; position:absolute; top:0; bottom:0; left:100%; width:50vw; background:var(--night); }   /* bleeds off the right edge */
.pg-exp .pg-num{ color:var(--cream-2); }
.pg-exp .pg-num b{ color:var(--orange-lt); }
.pg-words{ margin-top:clamp(22px,2.6vw,34px); font:900 clamp(76px,8.2vw,124px)/.82 var(--display); letter-spacing:.004em; text-transform:uppercase; color:var(--orange); }
.pg-words span{ display:block; }
.pg-exp .pg-formats{ color:var(--orange-lt); }
.pg-exp .pg-formats span{ color:var(--cream-2); }
.pg-exp .pg-text{ color:var(--cream-2); max-width:24em; }
/* Footer band: the tour dates */
.pg-foot{ margin:clamp(56px,6.4vw,104px) calc(50% - 50vw) 0; padding:clamp(36px,4.2vw,60px) calc(50vw - 50%); background:var(--navy); color:var(--cream); display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); column-gap:clamp(36px,4.6vw,72px); align-items:end; }
.pg-close{ font:900 clamp(34px,3.9vw,58px)/.92 var(--display); text-transform:uppercase; color:var(--orange-lt); text-wrap:balance; }
.pg-close span{ color:var(--cream); }
.pg-dates{ display:grid; grid-template-columns:1fr 1fr; column-gap:clamp(24px,3vw,44px); margin:0; }
.pg-dates dt{ font:700 12.5px/1.2 'IBM Plex Mono', monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--orange-lt); padding-top:12px; border-top:1px solid rgba(243,236,226,.3); }
.pg-dates dd{ margin:10px 0 0; font-size:16.5px; line-height:1.5; color:var(--cream); }
@media (max-width:899px){
  .pg-bills{ grid-template-columns:1fr; }
  .pg-exp{ margin:clamp(48px,8vw,72px) calc(-1 * var(--gut)) 0; padding:40px var(--gut) 44px; }
  .pg-exp::after{ display:none; }
  .pg-foot{ grid-template-columns:1fr; row-gap:28px; margin-top:0; }
}
@media (max-width:599px){
  .pg-dates{ grid-template-columns:1fr; row-gap:22px; }
  .pg-issues .pg-lk{ flex-wrap:wrap; }
  .pg-issues .pg-lk .lk-tag{ white-space:normal; }
}
@media (max-width:599px){
  .pg-h{ font-size:calc((100vw - 2 * var(--gut)) / 5.75); line-height:.84; }
  .pg-amp-1{ display:inline; } .pg-amp-2{ display:none; }   /* phones: ISSUES & / EXPERIENCES */
  .pg-h-b{ margin-top:.04em; }
}
@media (min-width:600px) and (max-width:899px){ .pg-lineup li{ font-size:7.2vw; } .pg-words{ font-size:11vw; } }
@media (min-width:900px){ .pg-exp{ margin-top:calc(clamp(36px,3.4vw,50px) * 1.2 + clamp(26px,3vw,40px)); } }   /* starts level with the Issues lineup (logo height + the lineup's top margin) */
/* Oct 21, 2026: the logos lead, not the section title. ISSUES & EXPERIENCES becomes a one-line heading;
   the CoC and Sessions lockups are set large as each bill's masthead. */
.pg-h{ margin-top:12px !important; font:800 clamp(26px,2.6vw,36px)/1 var(--display) !important; letter-spacing:.02em !important; }
.pg-h-amp{ color:var(--orange-dk); }
.pg-bills{ --pg-lh:clamp(50px,5.4vw,78px); margin-top:clamp(36px,4vw,56px) !important; }
@media (min-width:900px){ .pg-bills{ grid-template-columns:minmax(0,6.4fr) minmax(0,5.6fr); } }
.pg-lk{ --lh:var(--pg-lh) !important; }
.pg-issues .pg-lk .lk-tag{ white-space:normal !important; max-width:7.4em; line-height:.98; }
@media (min-width:900px){ .pg-exp{ margin-top:calc(var(--pg-lh) * 1.06 + clamp(26px,3vw,40px)) !important; } }
@media (max-width:899px){ .pg-bills{ --pg-lh:clamp(48px,8.6vw,70px); } }
/* Oct 21, 2026: CoC / Sessions on one row, divided by the YOUR100 slash; each bill opens with a lead-in line.
   Both rows share one column system: [Issues] [gutter, where the slash sits] [Experiences]. */
.pg{ --pg-gap:clamp(56px,6.4vw,96px); --pg-pad:clamp(28px,3.2vw,48px); }
.pg-marks{ --pg-lh:clamp(50px,5.4vw,78px); margin-top:clamp(36px,4vw,56px); display:grid; grid-template-columns:minmax(0,6.4fr) var(--pg-gap) minmax(0,5.6fr); align-items:end; }
.pg-mark{ margin:0; }
.pg-marks .pg-lk{ --lh:var(--pg-lh) !important; }
.pg-marks .pg-lk .lk-tag{ color:var(--navy) !important; }
.pg-marks .pg-mark:first-child .lk-tag{ white-space:normal !important; max-width:7.4em; line-height:.98; }
.pg-marks .pg-mark:last-child{ padding-left:var(--pg-pad); }
.pg-slash{ justify-self:center; align-self:end; margin-bottom:calc(var(--pg-lh) * -0.14); font:900 calc(var(--pg-lh) * 1.9)/.8 var(--display); color:var(--orange); transform:skewX(-6deg); }
.pg-bills{ margin-top:clamp(28px,3vw,40px) !important; }
@media (min-width:900px){
  .pg-bills{ grid-template-columns:minmax(0,6.4fr) var(--pg-gap) minmax(0,5.6fr) !important; column-gap:0 !important; }
  .pg-issues{ grid-column:1; padding-top:var(--pg-pad); }
  .pg-exp{ grid-column:3; margin-top:0 !important; padding-left:var(--pg-pad) !important; }
}
.pg-lead{ font:700 12.5px/1.45 'IBM Plex Mono', monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--orange-dk); }
.pg-exp .pg-lead{ color:var(--orange-lt); }
.pg-lineup{ margin-top:14px !important; }
.pg-words{ margin-top:16px !important; font-size:clamp(68px,7vw,108px) !important; }
.pg-words .pg-amp-s{ color:var(--cream); }
.pg-text{ margin-top:18px; }
@media (max-width:899px){
  .pg-marks{ --pg-lh:clamp(28px,6.2vw,52px); --pg-gap:clamp(30px,6vw,56px); grid-template-columns:auto var(--pg-gap) auto; justify-content:start; }
  .pg-marks .pg-mark:last-child{ padding-left:0; }
}
.pg-words span{ display:inline; } .pg-words > span{ display:block; }   /* "& More." stays on one line */
@media (max-width:599px){   /* phones: a staggered pair, CoC / then "/ Sessions" flush right, so both stay legible */
  .pg-marks{ --pg-lh:clamp(40px,11.6vw,52px); grid-template-columns:auto auto; justify-content:space-between; row-gap:6px; }
  .pg-marks .pg-mark:first-child{ grid-column:1 / -1; }
  .pg-slash{ grid-column:1; justify-self:end; margin-right:-.02em; font-size:calc(var(--pg-lh) * 1.5); }
  .pg-marks .pg-mark:last-child{ grid-column:2; }
}
@media (min-width:600px) and (max-width:899px){ .pg-marks{ --pg-gap:clamp(64px,10vw,88px); } }
@media (max-width:599px){
  .pg-marks{ grid-template-columns:1fr auto auto; column-gap:clamp(10px,3vw,16px); }
  .pg-slash{ grid-column:2; justify-self:end; }
  .pg-marks .pg-mark:last-child{ grid-column:3; }
}
@media (max-width:899px){ .pg-bills{ margin-top:clamp(30px,5vw,40px) !important; } }

/* ===== The Programming, v3: one stage cut by a diagonal (Oct 21, 2026) =====
   The diagonal is defined once, relative to the centre of the page (--dt at the top, --db at the bottom), so the
   full-bleed night field and the text shapes inside the centred wrap share exactly the same line.
   It leans like the YOUR100 slash and the hero photo's cut. */
.pgx{ padding:0 !important; }
.pgx-stage{ --dt:min(9vw,124px); --db:max(-11vw,-150px); --g:clamp(28px,3vw,44px); --stage-h:clamp(880px,66vw,980px);
  position:relative; background:var(--paper); }
.pgx-field{ position:absolute; inset:0; background:var(--night); overflow:hidden;
  clip-path:polygon(calc(50% + var(--dt)) 0, 100% 0, 100% 100%, calc(50% + var(--db)) 100%); }
.pgx-field img{ position:absolute; right:0; bottom:0; width:62%; height:100%; object-fit:cover; object-position:30% 70%;
  filter:grayscale(1) contrast(1.15) brightness(.9); mix-blend-mode:screen; opacity:.2; }
.pgx-in{ position:relative; height:var(--stage-h); }
.pgx-side{ position:absolute; top:0; bottom:0; left:var(--gut); right:var(--gut); }
.pgx-shape{ width:100%; height:100%; }
.pgx-i > .pgx-shape{ float:right; shape-outside:polygon(calc(50% + var(--dt) - var(--g)) 0, 100% 0, 100% 100%, calc(50% + var(--db) - var(--g)) 100%); }
.pgx-e > .pgx-shape{ float:left; shape-outside:polygon(0 0, calc(50% + var(--dt) + var(--g)) 0, calc(50% + var(--db) + var(--g)) 100%, 0 100%); }
.pgx-e{ pointer-events:none; }   /* the two text layers overlap; neither has links */
/* Issues: editorial, structured, top-left where its field is widest */
.pgx-head{ padding-top:clamp(72px,8vw,112px); }
.pgx-h{ margin-top:10px; font:800 clamp(26px,2.6vw,36px)/1 var(--display); letter-spacing:.02em; text-transform:uppercase; color:var(--navy); }
.pgx-amp{ color:var(--orange-dk); }
.pgx-mark{ margin:clamp(34px,3.8vw,52px) 0 0; }
.pgx .pg-lk{ --lh:clamp(50px,5vw,72px); }
.pgx-i .pg-lk .lk-tag{ color:var(--navy); white-space:normal; max-width:7.4em; line-height:.98; }
.pgx-e .pg-lk .lk-tag{ color:var(--cream); }
.pgx-lead{ margin-top:clamp(22px,2.4vw,30px); font:700 12.5px/1.5 'IBM Plex Mono', monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--orange-dk); }
.pgx-bill{ list-style:none; margin:10px 0 0; padding:0; }
.pgx-bill li{ margin-top:clamp(6px,.8vw,10px); font:900 clamp(40px,4.6vw,66px)/.9 var(--display); letter-spacing:.004em; text-transform:uppercase; color:var(--navy); }
.pgx-bill li > span{ display:block; }
.pgx-text{ margin-top:clamp(18px,2vw,24px); font-size:17px; line-height:1.55; color:var(--ink); max-width:30em; }
/* Experiences: cultural, atmospheric, bottom-right where its field is widest; its lines step along the cut */
@media (min-width:900px){ .pgx-e-in{ padding-top:calc(var(--stage-h) * .36); } }
.pgx-e .pgx-lead{ color:var(--orange-lt); }
.pgx-words{ margin-top:12px; font:900 clamp(70px,7.4vw,112px)/.84 var(--display); letter-spacing:.004em; text-transform:uppercase; color:var(--orange); }
.pgx-words > span{ display:block; }
.pgx-e .pgx-text{ color:var(--cream-2); }
.pgx .pg-foot{ margin-top:0 !important; }
@media (max-width:899px){
  .pgx-stage{ --cut:clamp(56px,14vw,110px); }
  .pgx-in{ height:auto; padding:0; max-width:none; }
  .pgx-side{ position:static; }
  .pgx-shape{ display:none; }
  .pgx-field{ display:none; }
  .pgx-i{ padding:0 var(--gut) clamp(56px,10vw,80px); }
  .pgx-head{ padding-top:clamp(64px,12vw,96px); }
  .pgx-e{ position:relative; padding:calc(var(--cut) + 36px) var(--gut) clamp(48px,10vw,72px); background:var(--night); overflow:hidden;
    clip-path:polygon(0 var(--cut), 100% 0, 100% 100%, 0 100%); margin-top:calc(var(--cut) * -0.4); }
  .pgx-e::before{ content:''; position:absolute; inset:0; background:url(../assets/sessions-audience.jpg) 58% 45% / cover no-repeat; }
  .pgx-e-in{ position:relative; padding-top:0; }
  .pgx-words > span:nth-child(2){ padding-left:.5em; } .pgx-words > span:nth-child(3){ padding-left:1em; } .pgx-words > span:nth-child(4){ padding-left:1.5em; }   /* steps on the slash's angle */
}
.pgx{ --pg-lh:clamp(48px,4.6vw,68px); }
.pgx-stage{ --dt:min(12.5vw,180px); --db:max(-5vw,-72px); }
.pgx-bill li{ font-size:clamp(38px,3.9vw,56px); }
@media (min-width:900px){ .pgx-e-in{ padding-top:calc(var(--stage-h) * .27); } }
.pgx-words{ font-size:clamp(64px,6.6vw,100px); }
.pgx-e .pgx-text{ max-width:none; }   /* the diagonal sets its measure */
.pgx-stage{ --stage-h:clamp(820px,61vw,900px); }
@media (min-width:900px){ .pgx-e-in{ padding-top:calc(var(--stage-h) * .235); } }
@media (max-width:899px){ .pgx-e{ left:auto; right:auto; } }
@media (max-width:899px){ .pgx-words > span:nth-child(1){ padding-left:1.2em; } .pgx-words > span:nth-child(2){ padding-left:.8em; } .pgx-words > span:nth-child(3){ padding-left:.4em; } .pgx-words > span:nth-child(4){ padding-left:0; } }   /* steps left, on the slash's lean, as on desktop */
.pgx-stage{ --stage-h:clamp(680px,50vw,760px); } @media (min-width:900px){ .pgx-e-in{ padding-top:calc(var(--stage-h) * .2); } }
.pgx-stage{ --stage-h:clamp(620px,50vw,760px); }
/* Oct 21, 2026 refinement: an audience photo emerging from the dark in the lower right; the four words span the panel */
.pgx-field img{ inset:auto 0 0 auto; width:min(64%,980px); height:86%; object-fit:cover; object-position:58% 45%;
  filter:contrast(1.05) brightness(.92); mix-blend-mode:normal; opacity:.62;
  -webkit-mask-image:radial-gradient(ellipse 70% 78% at 70% 80%, #000 22%, rgba(0,0,0,.55) 46%, transparent 74%);
          mask-image:radial-gradient(ellipse 70% 78% at 70% 80%, #000 22%, rgba(0,0,0,.55) 46%, transparent 74%); }
.pgx-words{ font-size:clamp(72px,7.8vw,118px) !important; line-height:.86; text-shadow:0 0 .35em rgba(15,13,12,.55); }
.pgx-words > span:nth-child(even){ text-align:right; }   /* odd lines hug the cut, even lines the page edge: the bill spans the panel */
@media (max-width:899px){
  .pgx-e::before{ background:url(../assets/sessions-audience.jpg) 58% 45% / cover no-repeat; filter:none; opacity:.5; mix-blend-mode:normal;
    -webkit-mask-image:linear-gradient(to bottom, transparent 18%, rgba(0,0,0,.6) 55%, #000 100%); mask-image:linear-gradient(to bottom, transparent 18%, rgba(0,0,0,.6) 55%, #000 100%); }
  .pgx-words > span:nth-child(n){ padding-left:0; }
}
.pgx-stage{ --stage-h:clamp(700px,57vw,830px); }
@media (min-width:900px){ .pgx-e-in{ padding-top:calc(var(--stage-h) * .15); } }
.pgx-field img{ opacity:.5; object-position:58% 38%;
  -webkit-mask-image:radial-gradient(ellipse 78% 70% at 76% 96%, #000 18%, rgba(0,0,0,.5) 44%, transparent 72%);
          mask-image:radial-gradient(ellipse 78% 70% at 76% 96%, #000 18%, rgba(0,0,0,.5) 44%, transparent 72%); }
.pgx-e .pgx-lead{ max-width:none; text-wrap:balance; }
.pgx-field img{ opacity:.66; width:min(70%,1080px); height:100%; object-position:60% 34%;
  -webkit-mask-image:radial-gradient(ellipse 80% 74% at 74% 88%, #000 20%, rgba(0,0,0,.55) 46%, transparent 76%);
          mask-image:radial-gradient(ellipse 80% 74% at 74% 88%, #000 20%, rgba(0,0,0,.55) 46%, transparent 76%); }
.pgx-words{ text-shadow:0 0 .4em rgba(15,13,12,.7), 0 0 .12em rgba(15,13,12,.6); }
@media (min-width:900px){ .pgx-head{ padding-top:clamp(84px,9.4vw,132px); } }
@media (min-width:600px) and (max-width:899px){   /* tablets: a measured zigzag instead of edge-to-edge */
  .pgx-words{ font-size:13.5vw !important; }
  .pgx-words > span:nth-child(even){ text-align:left; }
  .pgx-words > span:nth-child(2){ padding-left:1.7em; } .pgx-words > span:nth-child(4){ padding-left:2.9em; } .pgx-words > span:nth-child(3){ padding-left:.5em; }
}
/* Oct 21, 2026: THE PROGRAMMING heads the whole section; ISSUES / EXPERIENCES label each side over its lockup;
   plain black field; the two bills set at comparable sizes */
.pgx-top{ padding-top:clamp(72px,8vw,112px); padding-bottom:clamp(28px,3.2vw,44px); }
.pgx-title{ font:900 clamp(48px,6vw,92px)/.86 var(--display); letter-spacing:.004em; text-transform:uppercase; color:var(--navy); }
.pgx-field img{ display:none; }
.pgx-kick{ font:800 clamp(20px,1.9vw,27px)/1 var(--display); letter-spacing:.14em; text-transform:uppercase; color:var(--orange-dk); }
.pgx-e .pgx-kick{ color:var(--orange-lt); }
.pgx-kick + .pgx-mark{ margin-top:clamp(12px,1.3vw,18px) !important; }
.pgx-i > .pgx-kick{ margin-top:clamp(40px,4.4vw,64px); }
.pgx-bill li{ font-size:clamp(40px,4.5vw,66px) !important; }
.pgx-words{ font-size:clamp(46px,5.4vw,80px) !important; text-shadow:none !important; }
.pgx-stage{ --stage-h:clamp(600px,47vw,690px); }
@media (min-width:900px){ .pgx-e-in{ padding-top:calc(var(--stage-h) * .2); } }
@media (max-width:899px){
  .pgx-e::before{ display:none; }
  .pgx-i > .pgx-kick{ margin-top:8px; }
  .pgx-words{ font-size:clamp(46px,12vw,80px) !important; }
}
.pgx-words > span:nth-child(even){ text-align:left !important; }   /* all four lines step down the cut */
@media (max-width:899px){
  .pgx-words > span:nth-child(1){ padding-left:1.2em !important; } .pgx-words > span:nth-child(2){ padding-left:.8em !important; }
  .pgx-words > span:nth-child(3){ padding-left:.4em !important; } .pgx-words > span:nth-child(4){ padding-left:0 !important; }
}
.pgx-stage{ --dt:min(9.5vw,136px); --db:max(-8vw,-116px); --g:clamp(26px,2.6vw,38px); }
@media (min-width:900px){ .pgx-e-in{ padding-top:clamp(40px,4.4vw,64px); } }   /* ISSUES and EXPERIENCES start on the same line */
.pgx-bill li{ font-size:clamp(38px,4.1vw,60px) !important; }
.pgx-words{ font-size:clamp(44px,5vw,72px) !important; }
.pgx-stage{ --stage-h:clamp(520px,45vw,650px); }
.pgx-stage{ --stage-h:clamp(500px,40vw,580px); }
.pgx-stage{ --db:max(-4vw,-56px); }
/* Oct 21, 2026: no visible section title; the split opens the section. THE PROGRAMMING stays as a hidden heading. */
.pgx-top{ position:absolute; width:1px; height:1px; padding:0 !important; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
@media (min-width:900px){
  .pgx-i > .pgx-kick, .pgx-e-in{ padding-top:0; }
  .pgx-i > .pgx-kick{ margin-top:clamp(72px,7.6vw,112px); }
  .pgx-e-in{ padding-top:clamp(72px,7.6vw,112px) !important; }
  .pgx-stage{ --stage-h:clamp(560px,44vw,640px); }
}
@media (max-width:899px){ .pgx-i > .pgx-kick{ margin-top:clamp(56px,12vw,80px); } }
.pgx-i .pg-lk .lk-tag{ white-space:nowrap !important; max-width:none !important; }   /* CONVERSATIONS OF CONSEQUENCE on one line (Oct 21, 2026) */
@media (max-width:599px){ .pgx-i .pg-lk .lk-tag{ white-space:normal !important; max-width:7.4em !important; } }
/* Oct 21, 2026: the two bills set row for row: same size, same line height, no extra gaps, so the 4 + 4 lines align */
.pgx{ --row:clamp(40px,4.4vw,64px); }
.pgx-bill li{ margin-top:0 !important; font-size:var(--row) !important; line-height:1 !important; }
.pgx-words{ font-size:var(--row) !important; line-height:1 !important; }
.pgx-bill, .pgx-words{ margin-top:12px !important; }
@media (max-width:899px){ .pgx{ --row:clamp(36px,9.4vw,64px); } }
@media (min-width:900px) and (max-width:1299px){ .pgx-lead{ min-height:3em; } }   /* both lead-ins take two lines here, so the rows stay level */
@media (min-width:900px){ .pgx-lead{ min-height:3em; } }   /* both lead-ins hold two lines, so the rows stay level */
/* Oct 21, 2026: THE LAUNCH / IN BUFFALO, counterchanged across the diagonal (the cut is the slash) */
.pgx-hl{ font:900 clamp(56px,6.6vw,100px)/.86 var(--display); letter-spacing:.004em; text-transform:uppercase; color:var(--navy); }
.pgx-e .pgx-hl{ color:var(--orange); }
.pgx-hl-m{ display:none; }
.pgx-hl + .pgx-kick{ margin-top:clamp(28px,3vw,44px) !important; }
@media (min-width:900px){
  .pgx-i > .pgx-hl{ margin-top:clamp(64px,6.4vw,96px); }
  .pgx-e-in{ padding-top:clamp(64px,6.4vw,96px) !important; }
  .pgx-stage{ --stage-h:clamp(700px,56vw,810px); }
}
@media (max-width:899px){   /* stacked: both halves together at the top, the slash restored */
  .pgx-e .pgx-hl{ display:none; }
  .pgx-hl-m{ display:block; color:var(--orange); }
  .pgx-hl-m{ margin-top:.04em; }
  .pgx-i > .pgx-hl{ margin-top:clamp(56px,12vw,80px); font-size:clamp(52px,15vw,100px); }
}
@media (min-width:900px){ .pgx-hl{ font-size:clamp(52px,5.8vw,88px); white-space:nowrap; } }
/* harlequin: each half of the banner takes the other field's colour (Oct 21, 2026) */
.pgx-hl{ color:var(--night) !important; }
.pgx-e .pgx-hl{ color:var(--paper) !important; }
@media (max-width:899px){ .pgx-hl-m{ color:var(--night) !important; } }
/* harlequin band (Oct 21, 2026): behind THE LAUNCH / IN BUFFALO the two fields swap colours along the same diagonal */
.pgx-stage{ --hs:clamp(52px,5.8vw,88px); --bp:clamp(34px,3.4vw,50px); --band:calc(2 * var(--bp) + var(--hs) * .86);
  --xb:calc(50% + var(--dt) + (var(--db) - var(--dt)) * var(--band) / var(--stage-h)); }   /* where the diagonal crosses the band's bottom */
.pgx-band{ position:absolute; top:0; left:0; right:0; height:var(--band); }
.pgx-band-l{ background:var(--night); clip-path:polygon(0 0, calc(50% + var(--dt)) 0, var(--xb) 100%, 0 100%); }
.pgx-band-r{ background:var(--paper); clip-path:polygon(calc(50% + var(--dt)) 0, 100% 0, 100% 100%, var(--xb) 100%); }
@media (min-width:900px){
  .pgx-hl{ font-size:var(--hs) !important; line-height:.86 !important; }
  .pgx-i > .pgx-hl{ margin-top:var(--bp) !important; }
  .pgx-e-in{ padding-top:var(--bp) !important; }
  .pgx-hl + .pgx-kick{ margin-top:calc(var(--bp) + clamp(36px,3.6vw,52px)) !important; }
  .pgx-i .pgx-hl{ color:var(--paper) !important; }
  .pgx-e .pgx-hl{ color:var(--night) !important; }
}
@media (max-width:899px){
  .pgx-band{ display:none; }
  .pgx-i > .pgx-hl{ margin:0 calc(-1 * var(--gut)); padding:clamp(40px,9vw,60px) var(--gut); background:var(--night); color:var(--paper) !important; }
  .pgx-hl-m{ color:var(--orange) !important; }
  .pgx-i{ padding-top:0 !important; }
  .pgx-i > .pgx-hl + .pgx-kick{ margin-top:clamp(40px,9vw,60px) !important; }
}
@media (min-width:900px){ .pgx-stage{ --stage-h:clamp(600px,52vw,750px); } }
@media (min-width:900px){ .pgx-stage{ --db:max(-1.5vw,-22px); } }
/* band, rebuilt without typed calc() division (Safari-safe): full-stage fields clipped by a band-height window */
.pgx-band{ position:absolute; top:0; left:0; right:0; height:var(--band); overflow:hidden; background:none; clip-path:none; }
.pgx-band > i{ position:absolute; top:0; left:0; right:0; height:var(--stage-h); }
.pgx-band-l{ background:var(--night); clip-path:polygon(0 0, calc(50% + var(--dt)) 0, calc(50% + var(--db)) 100%, 0 100%) !important; }
.pgx-band-r{ background:var(--paper); clip-path:polygon(calc(50% + var(--dt)) 0, 100% 0, 100% 100%, calc(50% + var(--db)) 100%) !important; }
/* the Issues rows step along the diagonal too (about the cut's slope: .2em per row), parallel to MUSIC.-ETC. */
@media (min-width:900px){
  .pgx-bill li:nth-child(1) > span{ padding-left:.6em; }
  .pgx-bill li:nth-child(2) > span{ padding-left:.4em; }
  .pgx-bill li:nth-child(3) > span:first-child{ padding-left:.2em; }
  .pgx-bill li:nth-child(3) > span:last-child{ padding-left:0; }
}
/* Oct 21, 2026: IN BUFFALO in navy; the whole Issues column takes a left margin parallel to the diagonal.
   A second float on the left, (dt - db) wide at the top and 0 at the bottom, shapes the left edge; the right float
   gives up that width through a negative margin and draws its shape from its border box, so its line is unchanged. */
@media (min-width:900px){
  .pgx-e .pgx-hl{ color:var(--navy) !important; }
  .pgx-shape-l{ float:left; width:calc(var(--dt) - var(--db)); height:100%; shape-outside:polygon(0 0, 100% 0, 0 100%); }
  .pgx-i > .pgx-shape{ margin-left:calc(var(--db) - var(--dt)); shape-outside:polygon(calc(50% + var(--dt) - var(--g)) 0, 100% 0, 100% 100%, calc(50% + var(--db) - var(--g)) 100%) border-box; }
  .pgx-i > .pgx-hl{ position:absolute; top:var(--bp); left:0; margin:0 !important; }   /* the banner stays at the page margin, above the shaped column */
  .pgx-i > .pgx-hl + .pgx-kick{ margin-top:calc(var(--band) + clamp(36px,3.6vw,52px)) !important; }
  .pgx-bill li > span{ padding-left:0 !important; }   /* the shape does the stepping now */
}
@media (max-width:899px){ .pgx-shape-l{ display:none; } }
@media (min-width:900px){ .pgx-stage{ --dt:min(14vw,200px); --db:max(1vw,14px); } }
@media (min-width:900px){ .pgx-stage{ --dt:min(15vw,216px); --db:min(4.4vw,64px); } }
.pgx-words .pg-amp-s{ color:var(--paper); }   /* the & in cream, as the Issues & is orange among navy */
@media (min-width:900px){ .pgx-words > span{ white-space:nowrap; } }
/* Oct 21, 2026: one black masthead. The band is solid black end to end and runs into the black Experiences field;
   THE LAUNCH in cream, BUFFALO in orange, the dates beside it */
.pgx-band-l{ clip-path:none !important; }
.pgx-band-r{ display:none; }
.pgx-dates{ display:inline-block; margin-left:.55em; vertical-align:.12em; font:700 clamp(11px,1vw,14px)/1.45 'IBM Plex Mono', monospace; letter-spacing:.14em; text-transform:uppercase; color:var(--cream); }
.pgx-dates-m{ display:none; }
@media (min-width:900px){
  .pgx-i .pgx-hl{ color:var(--cream) !important; }
  .pgx-e .pgx-hl{ color:var(--orange) !important; }
}
@media (max-width:899px){
  .pgx-hl-m{ color:var(--orange) !important; }
  .pgx-dates-m{ display:block; margin:clamp(16px,4vw,22px) 0 0; font-size:12.5px; }
}
@media (min-width:900px){
  .pgx-e .pgx-hl{ position:absolute; top:var(--bp); right:0; margin:0; white-space:nowrap; pointer-events:auto; }   /* masthead: THE LAUNCH at the left margin, BUFFALO + dates at the right */
  .pgx-e-in{ padding-top:calc(var(--band) + clamp(36px,3.6vw,52px)) !important; }
}
@media (min-width:900px){ .pgx-e-in{ padding-top:calc(var(--band) - var(--bp)) !important; } }
@media (min-width:1441px){ .pgx .pg-lk{ --lh:66px !important; } .pgx{ --row:63px; } }   /* the wrap stops growing at 1440, so the lockups and rows stop too */
/* Oct 21, 2026: the masthead: THE LAUNCH · BUFFALO, the dates under it (left), a short intro beside it; black, running into the night field */
.pgx-mast{ background:var(--night); color:var(--cream); padding:clamp(48px,5vw,72px) 0 clamp(40px,4.4vw,60px); }
.pgx-mast-in{ display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:clamp(40px,5vw,80px); align-items:end; }
.pgx-mast-name{ font:900 clamp(48px,5.8vw,88px)/.86 var(--display); letter-spacing:.004em; text-transform:uppercase; color:var(--cream); white-space:nowrap; }
.pgx-mast-dot{ color:var(--orange); }
.pgx-mast-city{ color:var(--orange); }
.pgx-mast-date{ margin-top:clamp(14px,1.5vw,20px); font:700 clamp(12px,1.05vw,14px)/1.4 'IBM Plex Mono', monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--cream); }
.pgx-mast-intro{ max-width:30em; font-size:clamp(16px,1.25vw,18px); line-height:1.5; color:var(--cream-2); }
@media (min-width:900px){
  .pgx-band{ display:none; }
  .pgx-stage{ --stage-h:clamp(470px,40vw,580px); }
  .pgx-i > .pgx-kick{ margin-top:clamp(52px,5.2vw,76px) !important; }
  .pgx-e-in{ padding-top:clamp(52px,5.2vw,76px) !important; }
}
@media (max-width:1099px){ .pgx-mast-in{ grid-template-columns:1fr; row-gap:clamp(22px,3vw,30px); } }
@media (max-width:899px){ .pgx-i > .pgx-kick{ margin-top:clamp(48px,11vw,72px) !important; } .pgx-mast-name{ white-space:normal; font-size:clamp(46px,13.5vw,88px); } .pgx-mast-dot{ display:none; } .pgx-mast-city{ display:block; } }
.pgx-mast-date{ text-wrap:balance; }
@media (min-width:1300px){ .pgx-stage{ --dt:176px; --db:84px; } }   /* wide screens: a gentler lean leaves room for both lockups (Oct 21, 2026) */
/* thin divider across the whole masthead, edge to edge, under the title + intro (Oct 21, 2026) */
.pgx-mast{ position:relative; padding-bottom:clamp(64px,6.4vw,92px); }
.pgx-mast::after{ content:''; position:absolute; left:0; right:0; bottom:clamp(30px,3vw,44px); height:1px; background:rgba(243,236,226,.32); }
/* the Issues column's slanted left margin, moved left: the left float starts outside the column by up to the full lean
   (limited by the page gutter so nothing leaves the screen); the right float no longer needs to give up width */
@media (min-width:900px){
  .pgx-shape-l{ margin-left:calc(-1 * min(var(--dt) - var(--db), var(--gut) - 20px)); shape-outside:polygon(0 0, 100% 0, 0 100%) border-box; }
  .pgx-i > .pgx-shape{ margin-left:calc(var(--db) - var(--dt) + min(var(--dt) - var(--db), var(--gut) - 20px)); }
}
/* (replaces the margin trick above) the whole Issues column moves left by --s, into the page gutter, so its slanted
   margin stays parallel to the cut all the way down; the right float's shape adds --s/2 back so the cut line holds */
@media (min-width:900px){
  .pgx-stage{ --s:min(var(--dt) - var(--db), var(--gut) - 20px); }
  .pgx-i{ left:calc(var(--gut) - var(--s)); }
  .pgx-shape-l{ margin-left:0; shape-outside:polygon(0 0, 100% 0, 0 100%); }
  .pgx-i > .pgx-shape{ margin-left:calc(var(--db) - var(--dt)); shape-outside:polygon(calc(50% + var(--s) / 2 + var(--dt) - var(--g)) 0, 100% 0, 100% 100%, calc(50% + var(--s) / 2 + var(--db) - var(--g)) 100%) border-box; }
}
@media (min-width:900px){ .pgx-stage{ --s:min(var(--dt) - var(--db), var(--gut) - 20px + max(0px, (100vw - 1160px) / 2)); } }
.ag-band-h{ font-size:clamp(34px,3.8vw,56px) !important; }   /* a step below THE LAUNCH · BUFFALO (Oct 21, 2026) */
/* the cut (and with it the Experiences margin) moved left (Oct 21, 2026) */
@media (min-width:900px) and (max-width:1299px){ .pgx-stage{ --dt:calc(min(15vw,216px) - 4.2vw); --db:calc(min(4.4vw,64px) - 4.2vw); } }
@media (min-width:1300px){ .pgx-stage{ --dt:116px; --db:24px; } }
/* balance (Oct 21, 2026): the black above THE LAUNCH equals the cream below the last row (--P);
   the stage is sized to its content: label offset + rows (measured: about 98px + 24.6vw, 453px max) + --P */
.pgx{ --P:clamp(48px,5vw,72px); }
.pgx-mast{ padding-top:var(--P) !important; }
.pgx-mast-in{ align-items:start !important; }
@media (min-width:900px){ .pgx-stage{ --stage-h:calc(clamp(52px,5.2vw,76px) + min(98px + 24.63vw, 453px) + var(--P)) !important; } }
/* agenda tabs, larger type (Oct 21, 2026) */
.day-tab-l{ font-size:clamp(26px,2.6vw,38px) !important; }
.day-tab-s{ font-size:clamp(13px,1.15vw,16px) !important; }
.day-tab{ gap:6px !important; }
@media (max-width:599px){ .day-tab-l{ font-size:24px !important; } .day-tab-s{ font-size:11.5px !important; } }
@media (max-width:599px){ .day-tab-s{ font-size:10.5px !important; letter-spacing:.03em !important; white-space:nowrap; } .day-tab{ padding:10px 10px !important; } }
@media (max-width:379px){ .day-tab-s{ font-size:9.5px !important; letter-spacing:0 !important; } .day-tab{ padding:10px 8px !important; } }
/* Oct 21, 2026: ENGAGE. BRING A GUEST. THEN BRING MORE. moved into the masthead, under the intro */
.pgx-pitch{ margin-top:clamp(18px,2vw,26px); font:900 clamp(24px,2.3vw,34px)/1 var(--display); letter-spacing:.006em; text-transform:uppercase; color:var(--cream); text-wrap:balance; }
.pgx-pitch-after{ margin-top:10px; font-size:clamp(15px,1.15vw,17px); line-height:1.45; color:var(--cream-2); }
.pgx-acc{ color:var(--orange); }
.y1m-nets-v2 li.y1m-net-pte{ --lw:.94; }   /* the smaller wordmark + full-width tagline (Oct 21, 2026) */
.pgx-mast-city, .pgx-mast-dot, .pgx-acc{ color:var(--orange-lt) !important; }   /* the light orange used on black elsewhere (+ YOUR GUESTS), Oct 21, 2026 */
.pgx-mast-intro .y1m-acc{ font-weight:700; color:var(--orange-lt); }
@media (min-width:600px){ .pgx-pitch{ white-space:nowrap; } } @media (min-width:1100px){ .pgx-mast-r{ min-width:min(24em, 100%); } }
@media (min-width:600px){ .pgx-pitch{ text-wrap-mode:nowrap; font-size:clamp(22px,2vw,28px); } }
/* the cut nudged ~38px further left, toward the centre (Oct 21, 2026) */
@media (min-width:900px) and (max-width:1299px){ .pgx-stage{ --dt:calc(min(15vw,216px) - 7vw); --db:calc(min(4.4vw,64px) - 7vw); } }
@media (min-width:1300px){ .pgx-stage{ --dt:78px; --db:-14px; } }
@media (min-width:900px) and (max-width:999px){ .pgx-stage{ --dt:calc(min(15vw,216px) - 4.2vw); --db:calc(min(4.4vw,64px) - 4.2vw); } }
/* agenda tabs: the date line larger and bold (Oct 22, 2026) */
.day-tab-s{ font-weight:700 !important; font-size:clamp(14px,1.3vw,18px) !important; }
@media (max-width:599px){ .day-tab-s{ font-size:11.5px !important; white-space:normal !important; letter-spacing:.04em !important; line-height:1.3 !important; } }
@media (min-width:600px){ .pgx-pitch{ text-wrap-mode:wrap !important; text-wrap:balance; } }   /* the longer pitch wraps in balanced lines */
@media (max-width:599px){ .day-tab-dot{ display:none; } .day-tab-n{ display:block; } .day-tabs-in{ align-items:stretch; } }   /* phones: date, then the day's name */
/* small screens: both lists step on the slash's lean (Oct 22, 2026) */
@media (max-width:899px){
  .pgx-bill li:nth-child(1) > span{ padding-left:1.2em; }
  .pgx-bill li:nth-child(2) > span{ padding-left:.8em; }
  .pgx-bill li:nth-child(3) > span:first-child{ padding-left:.4em; }
  .pgx-bill li:nth-child(3) > span:last-child{ padding-left:0; }
  .pgx-i{ padding-bottom:clamp(36px,7vw,52px) !important; }
}
/* Oct 22, 2026: a little more air between the two Passions rows; The Core down ~6% to sit evenly with its row */
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul{ row-gap:clamp(46px,4.6vw,60px) !important; }
@media (max-width:719px){ .y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul{ row-gap:36px !important; } }
.y1m-nets-v2 li.y1m-net-pte{ --lw:.88; }
/* Breakout band (Oct 23, 2026): Venue + Alleyway logo on top; a note under 6:00; the C.C. & Friends logo under 6:30 */
.sb-venue{ display:flex; align-items:center; gap:14px; }
.sb-venue span{ font:700 12px/1 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--cream-2); }
.sb-venue img{ height:clamp(30px,2.6vw,38px); width:auto; display:block; }
.iw-sub-x{ grid-column:2; margin-top:4px; font:400 clamp(14.5px,1.15vw,16px)/1.4 var(--body); color:var(--cream-2); }
.iw-sub-logo{ grid-column:2; margin-top:10px; }
.iw-sub-logo img{ display:block; height:clamp(44px,3.8vw,58px); width:auto; }
.iw-sub-x, .iw-sub-logo{ grid-column:2 !important; min-width:0; }   /* stay in the text column, so the time column stays narrow */
/* Breakout billing (Oct 23, 2026): the Greg Ruggiero Trio set as a headliner, matched to the C.C. & Friends logo */
.iw-sub-act{ grid-column:2 !important; min-width:0; margin-top:10px; display:block; }
.iw-sub-act b{ display:block; font:900 clamp(26px,2.5vw,36px)/.95 var(--display); letter-spacing:.01em; text-transform:uppercase; color:var(--cream); }
.iw-sub-act small{ display:block; margin-top:6px; font:400 clamp(13.5px,1.05vw,15px)/1.35 var(--body); color:var(--cream-2); }
.iw-sub-logo img{ height:clamp(52px,4.6vw,68px) !important; }
.sb .iw-sub{ gap:20px; }
.iw-show-one img[src*="greg-ruggiero"]{ --lift:1.3; }   /* match the Chris photo's tone */
/* Joint Sessions in the Breakout format (Oct 23, 2026) */
.sb-venue-tall img{ height:clamp(48px,4.4vw,64px); }
.iw-sub-act + .iw-sub-act{ margin-top:16px; }
.iw-sub-guests{ grid-column:2 !important; min-width:0; display:block; margin-top:16px; }
.iw-sub-gl{ display:block; margin-bottom:6px; font:700 11px/1 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--cream-2); }
.iw-sub-guests b{ font:800 clamp(19px,1.7vw,24px)/1.05 var(--display); text-transform:uppercase; color:var(--cream); }
.iw-sub-guests small{ font:400 clamp(13.5px,1.05vw,15px)/1.35 var(--body); color:var(--cream-2); }
/* venues, more prominent (Oct 23, 2026): a labelled block with a rule, a larger mark, optional tagline */
.sb-venue{ display:grid !important; grid-template-columns:auto; justify-items:start; row-gap:10px; padding-bottom:clamp(18px,2vw,24px); margin-bottom:clamp(6px,.8vw,10px); border-bottom:1px solid var(--line-night); }
.sb-venue span{ font-size:11.5px; color:var(--orange-lt) !important; }
.sb-venue img{ height:clamp(44px,4vw,58px) !important; }
.sb-venue-tall img{ height:clamp(84px,7.4vw,108px) !important; }
.sb-venue em{ font:italic 400 clamp(15px,1.2vw,17px)/1.35 var(--body); color:var(--cream-2); }
.y1m-ni-1{ display:block; }
.y1m-ni-2{ display:block; margin-top:clamp(10px,1.1vw,14px); max-width:34em; font:400 clamp(17px,1.45vw,21px)/1.45 var(--body); letter-spacing:0; color:var(--ink); text-wrap:pretty; }
.y1m-ni-2{ font:inherit !important; font-family:var(--body) !important; font-weight:400 !important; font-size:18px !important; line-height:1.55 !important; letter-spacing:normal !important; }   /* matches the What's YOUR100 paragraphs */
.day2-lkw{ padding-top:clamp(28px,3vw,48px); }
.day2-lkw + .day2-in{ padding-top:clamp(28px,3vw,44px) !important; margin-top:0 !important; }
/* Blue ticket days (Oct 23, 2026): names wrap inside their own column; 2 x 2 below 760px */
.ticket-blue .tk-col, .ticket-blue .tk-list{ min-width:0; }
.ticket-blue .tk-col .tk-net{ white-space:normal !important; overflow-wrap:break-word; }
@media (max-width:760px){ .ticket-blue .tk-row{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; } .ticket-blue .tk-col:nth-child(3){ padding-left:0; border-left:0; } }
@media (max-width:379px){ .hk-q1 em{ white-space:normal; } }
/* the gallery's sign-off (Oct 23, 2026): a navy rule like the pillar rules, then All eight networks / POWERED BY YOUR100/ */
.y1m-nets-pow{ margin-top:clamp(48px,5vw,72px); padding-top:clamp(18px,2vw,24px); border-top:2px solid var(--navy); display:flex; align-items:center; flex-wrap:wrap; gap:12px clamp(18px,2.4vw,32px); }
.y1m-nets-pow-t{ margin:0; font:700 12.5px/1.2 'IBM Plex Mono', monospace; letter-spacing:.16em; text-transform:uppercase; color:var(--orange-dk); }
.powered-navy{ margin:0; color:var(--ink-2); font-size:13px; gap:14px; }
.powered-navy img{ height:clamp(32px,3vw,42px); width:auto; display:block; }
@media (min-width:960px){ .hero-in > a.ticket{ max-width:min(760px, calc(100vw - 2 * var(--gut) - 60px)) !important; width:min(760px, calc(100vw - 2 * var(--gut) - 60px)) !important; position:relative; z-index:2; } }   /* longer, overlapping the photo more (Oct 23, 2026) */
/* hero ticket line-up by date + guest note (Oct 23, 2026) */
.ticket .tk-note{ display:block; margin-top:clamp(12px,1.4vw,16px); padding-top:10px; border-top:1px dashed rgba(243,236,226,.55); font:500 clamp(11.5px,1vw,13px)/1.4 var(--body); color:var(--cream); max-width:44em; }
.ticket .tk-bill .tk-sub + .tk-fn{ margin-top:2px; }
.ticket .tk-bill .tk-more + .tk-sub{ margin-top:10px; }
.tk-head .tk-hl{ color:var(--orange-lt); }
/* line-up hierarchy: date > program > names */
.ticket .tk-bill .tk-grp > .tk-fk{ font:800 clamp(16px,1.5vw,20px)/1 var(--display) !important; letter-spacing:.06em; color:var(--cream) !important; }
.ticket .tk-bill .tk-prog{ margin-top:8px; font:800 clamp(12px,1.05vw,14px)/1.15 var(--display) !important; letter-spacing:.08em !important; color:var(--navy) !important; }
.ticket .tk-when{ display:block; margin:3px 0 3px; font:700 clamp(10px,.85vw,11.5px)/1.3 'IBM Plex Mono', monospace; letter-spacing:.08em; text-transform:uppercase; color:var(--cream); }
.ticket .tk-bill .tk-fn + .tk-when{ margin-top:8px; }
.ticket .tk-when > span{ display:block; }
.ticket .tk-when .tk-w0{ color:var(--cream); }
.ticket .tk-when .tk-w1{ color:var(--navy); }
/* the guest call-out (Oct 23, 2026): a stamped navy panel, the ticket's ink; label / message / pointer */
.ticket .tk-bill .tk-feat{ display:flex !important; flex-direction:column; }
.ticket .tk-bill .tk-feat > .tk-grp{ margin-bottom:18px; }
.ticket .tk-callout{ margin-top:auto; display:block; position:relative; padding:14px 16px 13px; background:var(--navy); color:var(--cream);
  box-shadow:3px 3px 0 rgba(4,5,46,.35); transform:rotate(-1deg); text-transform:none; letter-spacing:0; }
.ticket .tk-callout::before{ content:''; position:absolute; inset:4px; border:1px dashed rgba(243,236,226,.35); pointer-events:none; }
.ticket .tk-co-k{ display:block; font:700 10px/1 'IBM Plex Mono', monospace; letter-spacing:.18em; text-transform:uppercase; color:var(--orange-lt); }
.ticket .tk-co-t{ display:block; margin-top:7px; font:800 clamp(14px,1.25vw,17px)/1.12 var(--display); letter-spacing:.02em; text-transform:uppercase; color:var(--cream); text-wrap:balance; }
.ticket .tk-co-m{ display:block; margin-top:9px; font:600 clamp(11px,.95vw,12.5px)/1.3 var(--body); color:rgba(243,236,226,.82); }
.ticket .tk-co-m i{ font-style:normal; color:var(--orange-lt); }
/* call-out in white, not navy, so it can't read as a second (Blue) ticket (Oct 23, 2026) */
.ticket .tk-callout{ background:var(--cream) !important; color:var(--navy) !important; box-shadow:3px 3px 0 rgba(4,5,46,.28) !important; }
.ticket .tk-callout::before{ border-color:rgba(17,20,127,.28) !important; }
.ticket .tk-co-k{ color:var(--orange-dk) !important; }
.ticket .tk-co-t{ color:var(--navy) !important; }
.ticket .tk-co-m{ color:var(--ink-2) !important; }
.ticket .tk-co-m i{ color:var(--orange-dk) !important; }
.ticket .tk-co-free{ display:inline-block; font:800 1.08em/1 var(--display); letter-spacing:.04em; text-transform:uppercase; color:var(--orange-dk); }
/* hero stub list (Oct 23, 2026): FREE large, then what's included */
.ticket .tk-slist{ display:flex; flex-direction:column; align-items:center; gap:2px; margin-bottom:clamp(12px,1.4vw,18px); padding-bottom:clamp(10px,1.2vw,14px); border-bottom:1px dashed rgba(243,236,226,.55); font:800 clamp(11px,1vw,13px)/1.15 var(--display); letter-spacing:.14em; text-transform:uppercase; color:var(--cream); text-align:center; }
.ticket .tk-sfree{ margin-bottom:6px; font:900 clamp(30px,3vw,42px)/.9 var(--display); letter-spacing:.04em; color:#fff; text-shadow:2px 2px 0 var(--navy); }
@media (max-width:520px){ .ticket .tk-slist{ flex-direction:row; flex-wrap:wrap; justify-content:center; gap:4px 10px; } .ticket .tk-sfree{ flex-basis:100%; text-align:center; } }
@media (max-width:520px){ .ticket .tk-slist > span:not(.tk-sfree) + span::before{ content:"\00B7"; margin-right:10px; opacity:.8; } }
/* venue logos at the foot of the hero stub (Oct 23, 2026) */
.ticket .tk-slogos{ display:flex; align-items:center; justify-content:center; gap:12px; margin-top:clamp(12px,1.4vw,18px); padding-top:clamp(10px,1.2vw,14px); border-top:1px dashed rgba(243,236,226,.55); }
.ticket .tk-slogo{ display:block; width:auto; }
.ticket .tk-slogo-alley{ height:clamp(16px,1.5vw,22px); }
.ticket .tk-slogo-biw{ height:clamp(40px,3.8vw,54px); }
@media (max-width:520px){ .ticket .tk-slogos{ gap:16px; } .ticket .tk-slogo-alley{ height:20px; } .ticket .tk-slogo-biw{ height:46px; } }
@media (min-width:521px){ .ticket .tk-slogos{ flex-direction:column; gap:10px; } .ticket .tk-slogo-alley{ width:104px; height:21px; } .ticket .tk-slogo-biw{ width:50px; height:50px; } }
/* Collaboration Hall wordmark on the stub (same type-only mark as the agenda, in cream) */
.ticket .tk-sword{ display:block; font:400 15px/1 'Helvetica Neue', Helvetica, Arial, sans-serif; letter-spacing:-.02em; white-space:nowrap; color:#fff; }
.ticket .tk-sword b{ font-weight:600; }
.ticket .tk-sword i{ font-style:normal; font-weight:300; }
@media (max-width:520px){ .ticket .tk-slogos{ flex-wrap:wrap; } .ticket .tk-sword{ flex-basis:100%; text-align:center; font-size:16px; } }
.ticket .tk-sfree{ font-size:clamp(44px,4.6vw,64px) !important; margin-bottom:8px; } @media (max-width:520px){ .ticket .tk-sfree{ font-size:52px !important; } }
@media (min-width:960px){ .hero-in > a.ticket{ max-width:min(960px, calc(100vw - 2 * var(--gut) - 80px)) !important; width:min(960px, calc(100vw - 2 * var(--gut) - 80px)) !important; } }   /* longer, lower ticket (Oct 23, 2026) */
/* hero ticket, three line-up columns + a capped logo: longer and lower (Oct 23, 2026) */
.ticket .tk-row.tk-bill3{ grid-template-columns:repeat(3, minmax(0,1fr)) !important; }
.ticket .tk-bill3 .tk-bcol{ display:flex !important; flex-direction:column; min-width:0; }
.ticket .tk-bill3 .tk-bcol + .tk-bcol{ padding-left:clamp(12px,1.4vw,18px); border-left:1px dashed rgba(243,236,226,.5); }
.ticket .tk-bill3 .tk-callout{ margin-top:14px !important; }
@media (min-width:960px){ .hero-in > a.ticket .tk-h{ --lh:clamp(48px,6.4vw,84px) !important; } }
@media (max-width:640px){ .ticket .tk-row.tk-bill3{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; } .ticket .tk-bill3 .tk-bcol:nth-child(3){ grid-column:1 / -1; padding-left:0; border-left:0; padding-top:12px; border-top:1px dashed rgba(243,236,226,.5); } }
@media (max-width:360px){ .ticket .tk-row.tk-bill3{ grid-template-columns:1fr !important; } .ticket .tk-bill3 .tk-bcol + .tk-bcol{ padding-left:0; border-left:0; } }
.ticket .tk-row.tk-bill3 > .tk-bcol{ grid-row:1 !important; }
.ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(1){ grid-column:1 !important; }
.ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(2){ grid-column:2 !important; padding-left:clamp(12px,1.4vw,18px) !important; border-left:1px dashed rgba(243,236,226,.5) !important; }
.ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(3){ grid-column:3 !important; padding-left:clamp(12px,1.4vw,18px) !important; border-left:1px dashed rgba(243,236,226,.5) !important; }
@media (max-width:640px){
  .ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(3){ grid-column:1 / -1 !important; grid-row:2 !important; padding-left:0 !important; border-left:0 !important; padding-top:12px; border-top:1px dashed rgba(243,236,226,.5); }
}
@media (max-width:360px){
  .ticket .tk-row.tk-bill3 > .tk-bcol{ grid-column:1 !important; grid-row:auto !important; padding-left:0 !important; border-left:0 !important; }
}
/* the call-out as a strip under all three columns (Oct 23, 2026) */
.ticket .tk-row.tk-bill3 > .tk-co-wide{ grid-column:1 / -1 !important; grid-row:2 !important; margin-top:clamp(14px,1.6vw,20px) !important;
  display:grid !important; grid-template-columns:auto minmax(0,1fr); column-gap:clamp(14px,1.6vw,22px); row-gap:4px; align-items:center; transform:rotate(-.5deg); }
.ticket .tk-co-wide .tk-co-k{ grid-column:1 / -1; }
.ticket .tk-co-wide .tk-co-t{ margin-top:0 !important; grid-column:1; }
.ticket .tk-co-wide .tk-co-m{ margin-top:0 !important; grid-column:2; }
/* three columns only where the ticket is wide; below, two columns with Nov. 21 full width */
@media (max-width:959px){
  .ticket .tk-row.tk-bill3{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
  .ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(3){ grid-column:1 / -1 !important; grid-row:2 !important; padding-left:0 !important; border-left:0 !important; padding-top:12px; border-top:1px dashed rgba(243,236,226,.5); }
  .ticket .tk-row.tk-bill3 > .tk-co-wide{ grid-row:3 !important; grid-template-columns:1fr; }
  .ticket .tk-co-wide .tk-co-m{ grid-column:1; }
}
@media (max-width:420px){
  .ticket .tk-row.tk-bill3{ grid-template-columns:1fr !important; }
  .ticket .tk-row.tk-bill3 > .tk-bcol{ grid-column:1 !important; grid-row:auto !important; padding-left:0 !important; border-left:0 !important; }
  .ticket .tk-row.tk-bill3 > .tk-bcol + .tk-bcol{ padding-top:12px; border-top:1px dashed rgba(243,236,226,.5); }
  .ticket .tk-row.tk-bill3 > .tk-co-wide{ grid-row:auto !important; }
}
/* phones: keep two line-up columns (Nov. 19 | Nov. 19), Nov. 21 full width below (Oct 23, 2026) */
@media (max-width:420px){
  .ticket .tk-row.tk-bill3{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
  .ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(1){ grid-column:1 !important; grid-row:1 !important; padding-top:0 !important; border-top:0 !important; }
  .ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(2){ grid-column:2 !important; grid-row:1 !important; padding-top:0 !important; border-top:0 !important; padding-left:10px !important; border-left:1px dashed rgba(243,236,226,.5) !important; }
  .ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(3){ grid-column:1 / -1 !important; grid-row:2 !important; }
  .ticket .tk-row.tk-bill3 > .tk-co-wide{ grid-row:3 !important; }
}
/* desktop: tagline + buttons move above the ticket, so the ticket sits low over the photo (Oct 23, 2026) */
@media (min-width:960px){
  .hero-in{ display:flex !important; flex-direction:column; }
  .hero-in > .tk-head{ order:1; }
  .hero-in > .tagline{ order:2; margin-top:clamp(14px,1.6vw,20px) !important; }
  .hero-in > .cta{ order:3; margin-top:clamp(20px,2.2vw,28px) !important; }
  .hero-in > a.ticket{ order:4; margin-top:clamp(36px,4vw,56px) !important; }
}
@media (max-width:959px){ .tagline, .tk-line + .tagline{ font-size:min(20px, calc((100vw - 2 * var(--gut)) / 20.5)) !important; white-space:nowrap; } }
.hero .cta{ display:none !important; }   /* hero buttons removed; the floating Claim button does the job (Oct 23, 2026) */
/* floating pair: What's the catch? + Claim your ticket, always on (Oct 23, 2026) */
.float-bar{ position:fixed; right:clamp(14px,2vw,28px); bottom:calc(clamp(14px,2vw,28px) + env(safe-area-inset-bottom)); z-index:60; display:flex; align-items:stretch; gap:10px; }
.float-bar .claim-float{ position:static !important; left:auto !important; right:auto !important; bottom:auto !important; }
.catch-float{ display:flex; align-items:center; padding:0 18px; min-height:58px; background:#fff; color:var(--navy); text-decoration:none; font:700 14.5px/1.1 var(--body); white-space:nowrap; box-shadow:0 6px 18px rgba(4,5,46,.25); }
.catch-float:hover{ background:var(--paper); } .catch-float:focus-visible{ outline:3px solid var(--orange); outline-offset:3px; }
@media (max-width:640px){ .float-bar{ left:12px; right:12px; } .float-bar .claim-float{ flex:1 1 auto; } .catch-float{ padding:0 12px; font-size:13px; } }
@media print{ .float-bar{ display:none !important; } }
body{ padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
@media (max-width:640px){ .float-bar .claim-float{ padding:8px 12px !important; min-height:56px; } .float-bar .claim-float .cf-l{ font-size:14px !important; letter-spacing:.06em !important; white-space:nowrap; } .float-bar .claim-float .cf-s{ font-size:10.5px !important; white-space:nowrap; } .catch-float{ min-height:56px; } }
@media (max-width:420px){ .float-bar .claim-float .cf-s{ display:none !important; } .float-bar .claim-float{ align-items:center !important; justify-content:center !important; min-width:0; } .float-bar .claim-float .cf-l{ font-size:13.5px !important; letter-spacing:.05em !important; } .catch-float{ padding:0 12px; font-size:12.5px; } }
.float-bar .catch-float{ order:2; } .float-bar .claim-float{ order:1; }   /* Claim first, then the catch (Oct 23, 2026) */
/* longer hero ticket; THE LAUNCH · BUFFALO beside YOUR100/ EVENTS (Oct 23, 2026) */
@media (min-width:960px){
  .hero-in > a.ticket{ max-width:min(1120px, calc(100vw - 2 * var(--gut) - 40px)) !important; width:min(1120px, calc(100vw - 2 * var(--gut) - 40px)) !important; }
  .hero-in > a.ticket .tk-h{ display:flex !important; align-items:flex-end; flex-wrap:wrap; column-gap:clamp(18px,2.2vw,32px); row-gap:6px; }
  .hero-in > a.ticket .tk-h .tk-title{ margin:0 0 calc(var(--lh) * .02) !important; padding-left:clamp(18px,2.2vw,32px); border-left:2px solid rgba(243,236,226,.6); line-height:1 !important; }
}
/* the event name joins the logo's tagline: YOUR100/ EVENTS · THE LAUNCH · BUFFALO (Oct 23, 2026) */
.ticket .lk-tag .tk-tagx{ white-space:nowrap; }
.ticket .lk-tag .tk-dot{ color:var(--navy); }
/* the event name rides in the tagline where there's room; on narrow tickets it drops to its own line (Oct 23, 2026) */
.ticket .tk-title-m{ display:none; }
@media (max-width:1023px){ .ticket .lk-tag .tk-tagx{ display:none; } .ticket .tk-title-m{ display:block; } }
.ticket .tk-sfoot{ margin-top:clamp(12px,1.4vw,18px); padding-top:clamp(10px,1.2vw,14px); border-top:1px dashed rgba(243,236,226,.55); }
@media (min-width:960px){ .hero .hero-in > p.tagline, .hero .hero-in > .tk-head + .tagline{ margin-top:12px !important; } }   /* tighter under the headline (Oct 23, 2026) */
@media (min-width:960px){ .hero-in > a.ticket{ margin-top:clamp(90px,9vw,140px) !important; } }   /* lower, so more of City Hall shows above (Oct 23, 2026) */
/* the How it works strip, below the hero ticket; it links to the RSVP (Oct 23, 2026) */
.tk-below{ display:block; margin-top:clamp(22px,2.4vw,30px); text-decoration:none; position:relative; z-index:2; max-width:min(1120px, 100%); }
.tk-below .tk-callout{ display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:clamp(14px,1.6vw,22px); row-gap:4px; align-items:center;
  padding:14px 18px 13px; background:var(--cream); color:var(--navy); box-shadow:4px 4px 0 rgba(4,5,46,.45); transform:rotate(-.6deg); position:relative; }
.tk-below .tk-callout::before{ content:''; position:absolute; inset:4px; border:1px dashed rgba(17,20,127,.28); pointer-events:none; }
.tk-below .tk-co-k{ grid-column:1 / -1; display:block; font:700 10px/1 'IBM Plex Mono', monospace; letter-spacing:.18em; text-transform:uppercase; color:var(--orange-dk); }
.tk-below .tk-co-t{ display:block; font:800 clamp(15px,1.3vw,18px)/1.12 var(--display); letter-spacing:.02em; text-transform:uppercase; color:var(--navy); }
.tk-below .tk-co-m{ display:block; font:600 clamp(12px,1vw,13.5px)/1.35 var(--body); color:var(--ink-2); }
.tk-below .tk-co-free{ display:inline-block; font:800 1.08em/1 var(--display); letter-spacing:.04em; text-transform:uppercase; color:var(--orange-dk); }
.tk-below:hover .tk-callout{ box-shadow:5px 5px 0 rgba(4,5,46,.55); }
.tk-below:focus-visible{ outline:3px solid #fff; outline-offset:4px; }
@media (min-width:960px){ .hero-in > .tk-below{ order:5; width:min(1120px, calc(100vw - 2 * var(--gut) - 40px)); } }
@media (max-width:640px){ .tk-below .tk-callout{ grid-template-columns:1fr; } }
/* no program labels: the venue sits right under the date */
.ticket .tk-bill3 .tk-grp > .tk-fk + .tk-list > .tk-when:first-child{ margin-top:4px; }
@media (min-width:960px){ .hero-in > a.ticket{ min-height:clamp(420px,32vw,470px); } .hero-in > a.ticket .tk-stub{ padding-top:22px; padding-bottom:22px; } }   /* room for the stub after the line-up was trimmed (Oct 23, 2026) */
/* Two days. For good. at the foot of the main ticket (Oct 23, 2026) */
.ticket .tk-main{ display:flex !important; flex-direction:column; }
.ticket .tk-mfoot{ display:block; margin-top:auto; padding-top:clamp(14px,1.6vw,22px); font:900 clamp(22px,2.4vw,34px)/1 var(--display); letter-spacing:.03em; text-transform:uppercase; color:#fff; text-shadow:2px 2px 0 var(--navy); }
.ticket .tk-row.tk-bill3 + .tk-mfoot{ margin-top:auto; }
@media (max-width:959px){ .ticket .tk-mfoot{ margin-top:18px; } }
/* quieter foot line; shorter ticket (Oct 23, 2026) */
.ticket .tk-mfoot{ margin-top:clamp(14px,1.6vw,20px) !important; padding-top:0; font:800 clamp(14px,1.25vw,17px)/1 var(--display) !important; letter-spacing:.12em !important; color:var(--cream) !important; text-shadow:none !important; }
@media (min-width:960px){ .hero-in > a.ticket{ min-height:0 !important; } .hero-in > a.ticket .tk-stub{ padding-top:14px !important; padding-bottom:14px !important; } }
/* ===== Hero layout pass (Oct 23, 2026) =====
   One left-aligned column: headline + tagline, then the ticket and its how-it-works strip as one unit.
   The ticket is shorter (920 max) so it overlaps the photo's lower tower without swallowing it; the gap above it is
   tightened; the strip matches the ticket's width and tilt so the two read as one object. */
@media (min-width:960px){
  .hero{ min-height:0 !important; padding-bottom:clamp(56px,6vw,88px); }
  .hero-in{ padding-top:clamp(56px,6vw,84px) !important; }
  .hero-in > a.ticket, .hero-in > .tk-below{ width:min(920px, calc(100vw - 2 * var(--gut) - 40px)) !important; max-width:min(920px, calc(100vw - 2 * var(--gut) - 40px)) !important; }
  .hero-in > a.ticket{ margin-top:clamp(44px,4.6vw,68px) !important; }
  .hero-in > .tk-below{ margin-top:clamp(18px,1.8vw,24px) !important; }
  .hero-in > .tk-below .tk-callout{ transform:rotate(-1.5deg); }
  .hero-in > a.ticket .tk-h{ --lh:clamp(44px,5vw,70px) !important; }
}
/* how-it-works strip, three deliberate parts: headline | details | stamp (Oct 23, 2026) */
.tk-below .tk-callout{ grid-template-columns:auto minmax(0,1fr) auto !important; column-gap:clamp(18px,2vw,28px) !important; padding:14px 20px 14px !important; }
.tk-below .tk-co-k{ grid-column:1 / -1; }
.tk-below .tk-co-t{ grid-column:1; padding-right:clamp(18px,2vw,28px); border-right:1px dashed rgba(17,20,127,.3); }
.tk-below .tk-co-m{ grid-column:2; }
.tk-below .tk-co-stamp{ grid-column:3; align-self:center; padding:6px 10px 5px; border:2px solid var(--orange-dk); font:900 clamp(15px,1.3vw,18px)/1 var(--display); letter-spacing:.06em; text-transform:uppercase; color:var(--orange-dk); white-space:nowrap; transform:rotate(-4deg); }

@media (max-width:640px){
  .tk-below .tk-callout{ grid-template-columns:1fr auto !important; row-gap:8px !important; }
  .tk-below .tk-co-t{ grid-column:1 / -1; padding-right:0; border-right:0; }
  .tk-below .tk-co-m{ grid-column:1; }
  .tk-below .tk-co-stamp{ grid-column:2; }
}
/* Two days. For good.: on the ticket's foot, under a dashed rule that echoes the stub's, aligned to the stub's last line */
@media (min-width:960px){
  .hero-in > a.ticket .tk-mfoot{ margin-top:auto !important; padding-top:12px; border-top:1px dashed rgba(243,236,226,.55); }
}
.tk-below .tk-co-m{ text-wrap:balance; max-width:34em; }
@media (min-width:960px){ .ticket .tk-bill3 .tk-grp > .tk-fk{ white-space:nowrap; } }
@media (min-width:960px){ .ticket .tk-row.tk-bill3{ grid-template-columns:minmax(0,1fr) minmax(0,1.22fr) minmax(0,1fr) !important; } }
/* tighter line-up columns (Oct 23, 2026): less space between columns, between lines, and around the venue */
@media (min-width:960px){
  .ticket .tk-row.tk-bill3{ column-gap:clamp(10px,1.1vw,14px) !important; }
  .ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(2), .ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(3){ padding-left:clamp(10px,1.1vw,14px) !important; }
}
.ticket .tk-bill3 .tk-list{ gap:0 !important; }
.ticket .tk-bill3 .tk-fn{ margin-top:2px !important; line-height:1.08 !important; }
.ticket .tk-bill3 .tk-when{ margin:2px 0 4px !important; }
.ticket .tk-bill3 .tk-more{ margin-top:5px !important; line-height:1.15 !important; }
.ticket .tk-bill3 .tk-grp > .tk-fk{ margin-bottom:0 !important; }
.tk-below .tk-co-m{ font:800 clamp(16px,1.4vw,19px)/1.15 var(--display) !important; letter-spacing:.03em; text-transform:uppercase; color:var(--navy) !important; }
/* the strip's middle is the claim button itself (Oct 23, 2026) */
.tk-below .tk-co-cta{ grid-column:2; justify-self:start; display:inline-flex; flex-direction:column; gap:4px; padding:12px 20px; background:var(--orange-btn); color:#fff; box-shadow:3px 3px 0 rgba(4,5,46,.35); transition:background .15s ease; }
.tk-below .tk-co-cta b{ font:800 15px/1 var(--body); letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; }
.tk-below .tk-co-cta i{ font-style:normal; margin-left:.3em; }
.tk-below .tk-co-cta small{ font:500 12px/1.1 var(--body); letter-spacing:.02em; color:rgba(255,255,255,.88); }
.tk-below:hover .tk-co-cta{ background:var(--orange-btn-hi); }
@media (max-width:640px){ .tk-below .tk-co-cta{ grid-column:1; } .tk-below .tk-co-cta b{ font-size:14px; letter-spacing:.1em; } }
@media (max-width:640px){ .tk-below .tk-callout{ grid-template-columns:1fr !important; } .tk-below .tk-co-cta{ grid-column:1; } .tk-below .tk-co-stamp{ grid-column:1 !important; justify-self:start; margin-top:4px; } }
/* foot row: Two days. For good. | Conference. Music. Film. Networking. (Oct 23, 2026) */
.ticket .tk-mfoot{ display:flex !important; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:6px 18px; }
.ticket .tk-mf-b{ display:flex; flex-wrap:wrap; gap:4px 14px; font:800 clamp(12px,1.05vw,14px)/1 var(--display); letter-spacing:.12em; color:var(--cream); opacity:.95; }
.ticket .tk-slist{ border-bottom:0 !important; padding-bottom:0 !important; }
/* the single floating claim button carries the how-it-works line + respond-by note (Oct 23, 2026) */
.claim-float .cf-lead{ font:800 13px/1.15 var(--display); letter-spacing:.06em; text-transform:uppercase; color:#fff; opacity:.92; }
.float-bar .claim-float{ gap:4px !important; padding:10px 20px !important; }
@media (max-width:640px){ .claim-float .cf-lead{ font-size:11px; text-align:center; } }
@media (max-width:420px){ .claim-float .cf-lead{ display:none; } .float-bar .claim-float .cf-s{ display:block !important; font-size:10px !important; white-space:nowrap; } }
/* hierarchy: the action leads, the lead line and note support it */
.float-bar .claim-float .cf-l{ font-size:17px !important; letter-spacing:.14em !important; }
.claim-float .cf-lead{ order:2; font:600 12px/1.25 var(--body) !important; letter-spacing:0 !important; text-transform:none !important; opacity:.95; }
.float-bar .claim-float .cf-l{ order:1; } .float-bar .claim-float .cf-s{ order:3; }
@media (max-width:420px){ .float-bar .claim-float .cf-s{ white-space:normal !important; text-align:center; line-height:1.25 !important; } .float-bar .claim-float .cf-l{ font-size:14px !important; } .float-bar{ align-items:stretch; } .catch-float{ min-height:0 !important; } }
@media (max-width:380px){ .float-bar .claim-float .cf-l{ font-size:12.5px !important; letter-spacing:.08em !important; } .float-bar .claim-float{ padding:8px 10px !important; } .catch-float{ padding:0 10px; font-size:12px; } }
/* tighter ticket margins -> a shorter ticket (Oct 23, 2026) */
@media (min-width:960px){
  .hero-in > a.ticket, .hero-in > .tk-below{ width:min(840px, calc(100vw - 2 * var(--gut) - 40px)) !important; max-width:min(840px, calc(100vw - 2 * var(--gut) - 40px)) !important; }
  .hero-in > a.ticket .tk-main{ padding-left:clamp(22px,2.2vw,30px) !important; padding-right:clamp(16px,1.6vw,22px) !important; }
  .ticket .tk-row.tk-bill3{ column-gap:10px !important; }
  .ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(2), .ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(3){ padding-left:10px !important; }
  .hero-in > a.ticket .tk-stub{ padding-left:16px !important; padding-right:16px !important; }
}
@media (min-width:960px){ .hero-in > a.ticket .tk-sfree{ font-size:clamp(38px,3.6vw,52px) !important; } .hero-in > a.ticket .tk-stub{ padding-right:22px !important; } }
/* ===== Art-direction pass (Oct 23, 2026) ===== */
/* 1. lower the ticket ~5vh; City Hall's upper tower stays clear */
@media (min-width:960px){ .hero-in > a.ticket{ margin-top:calc(clamp(36px,3.8vw,56px) + 4.5vh) !important; } }
/* 2a. brand band: one continuous tagline, a touch more compact */
@media (min-width:960px){ .hero-in > a.ticket .tk-h{ --lh:clamp(40px,4.4vw,62px) !important; margin-bottom:0; } }
/* 2b. program grid: date/time > category > venue > performers; middle column wider */
@media (min-width:960px){ .ticket .tk-row.tk-bill3{ grid-template-columns:minmax(0,.92fr) minmax(0,1.24fr) minmax(0,.92fr) !important; column-gap:12px !important; margin-top:14px !important; } }
.ticket .tk-bill3 .tk-grp > .tk-fk{ font-size:clamp(17px,1.6vw,22px) !important; line-height:1 !important; letter-spacing:.05em; }
.ticket .tk-bill3 .tk-prog{ display:block; margin:7px 0 0 !important; font:900 clamp(15px,1.35vw,18px)/1 var(--display) !important; letter-spacing:.08em !important; color:var(--navy) !important; }
.ticket .tk-bill3 .tk-when{ margin:4px 0 7px !important; font:700 clamp(11.5px,1vw,13px)/1.25 'IBM Plex Mono', monospace !important; letter-spacing:.04em !important; }
.ticket .tk-bill3 .tk-when > span{ color:var(--cream) !important; opacity:.9; }
.ticket .tk-bill3 .tk-fn{ margin-top:3px !important; font-size:clamp(13.5px,1.18vw,15.5px) !important; line-height:1.12 !important; }
.ticket .tk-bill3 .tk-more{ margin-top:6px !important; font-size:clamp(12.5px,1.08vw,14px) !important; line-height:1.2 !important; }
/* 3. footer: Two days. For good. alone */
.ticket .tk-mfoot{ justify-content:flex-start !important; }
/* 4. CTA anchored to the ticket's left edge on desktop, just below it */
@media (min-width:960px){
  .float-bar{ right:auto !important; left:calc(max(0px, (100vw - 1160px) / 2) + var(--gut)) !important; }
}
/* shorter laptop screens: less drop so the CTA clears the ticket */
@media (min-width:960px) and (max-height:860px){ .hero-in{ padding-top:clamp(36px,4vw,56px) !important; } .hero-in > a.ticket{ margin-top:clamp(28px,3vw,44px) !important; } }
/* tablets/phones: the brand line stays one continuous tagline, set under the logo */
@media (max-width:1023px){
  .ticket .tk-h .lockup{ flex-wrap:wrap; }
  .ticket .lk-tag{ display:flex !important; flex-wrap:wrap; align-items:baseline; column-gap:.3em; }
  .ticket .lk-tag .tk-tagx{ display:inline !important; white-space:nowrap; }
  .ticket .tk-title-m{ display:none !important; }
}
@media (max-width:640px){
  .ticket .tk-h .lk-tag{ flex-basis:100%; margin-left:0 !important; margin-top:8px; margin-bottom:0 !important; font-size:clamp(17px,5.4vw,22px) !important; }
}
@media (min-width:960px) and (max-height:760px){ .hero-in{ padding-top:28px !important; } .hero-in > a.ticket{ margin-top:22px !important; } }
.ticket .tk-when .tk-lc{ text-transform:none; letter-spacing:.02em; }
/* columns hug their content; the ticket shrinks to fit; more air either side of the stub (Oct 23, 2026) */
@media (min-width:960px){
  .ticket .tk-row.tk-bill3{ grid-template-columns:repeat(3, max-content) !important; column-gap:16px !important; }
  .ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(2), .ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(3){ padding-left:16px !important; }
  .hero-in > a.ticket .tk-main{ padding-right:24px !important; }
  .hero-in > a.ticket .tk-stub{ padding-left:30px !important; padding-right:34px !important; }
}
/* ===== Hero structure (Oct 23, 2026): fills the first screen; the ticket anchors to its bottom, just above the
   claim buttons (which sit 28px from the bottom, ~74px tall), at every screen height ===== */
@media (min-width:960px){
  .hero{ min-height:calc(100vh - 42px) !important; align-items:stretch !important; padding-bottom:0 !important; }
  .hero-in{ display:flex !important; flex-direction:column; padding-bottom:calc(28px + 74px + 32px) !important; }
  .hero-in > .tagline{ margin-bottom:clamp(28px,3vw,44px); }
  .hero-in > a.ticket{ margin-top:auto !important; }
  .hero-in > a.ticket .tk-main{ padding-left:clamp(34px,3.2vw,44px) !important; }
}
/* headline + tagline ride down with the ticket: the open space moves above them (Oct 23, 2026) */
@media (min-width:960px){
  .hero-in > .tk-head{ margin-top:auto !important; }
  .hero-in > .tagline{ margin-bottom:0 !important; }
  .hero-in > a.ticket{ margin-top:clamp(30px,3vw,44px) !important; }
}
/* split the difference: free space divides evenly above the headline and between tagline and ticket */
@media (min-width:960px){
  .hero-in > .tagline{ margin-bottom:clamp(30px,3vw,44px) !important; }
  .hero-in > a.ticket{ margin-top:auto !important; }
}
/* bigger headline + tagline on desktop (Oct 23, 2026) */
@media (min-width:960px){
  .hero .tk-head{ font-size:clamp(46px,4.2vw,64px) !important; line-height:1 !important; }
  .hero .hero-in > p.tagline, .hero .hero-in > .tk-head + .tagline{ font-size:clamp(28px,2.6vw,40px) !important; margin-top:14px !important; }
}
@media (min-width:960px){ .hero .hero-in > .tk-head{ max-width:none !important; white-space:nowrap; position:relative; z-index:2; } .hero .hero-in > .tagline{ max-width:none !important; position:relative; z-index:2; } }
/* bigger brand signature on the hero ticket; floating buttons back to the right (Oct 23, 2026) */
@media (min-width:960px){
  .hero-in > a.ticket .tk-h{ --lh:clamp(48px,5.2vw,74px) !important; }
  .float-bar{ left:auto !important; right:clamp(14px,2vw,28px) !important; }
}
@media (min-width:960px){ .hero-in > a.ticket .tk-h{ --lh:clamp(46px,4.8vw,66px) !important; } }
@media (min-width:960px){ .hero-in > a.ticket .tk-sfree{ font-size:clamp(46px,4.6vw,66px) !important; } .hero-in > a.ticket .tk-stub{ padding-left:22px !important; padding-right:26px !important; } } @media (max-width:959px){ .ticket .tk-sfree{ font-size:clamp(58px,15vw,72px) !important; } }
/* hero photo edge: same angle as before (run = 17.7% of the hero's height), moved right so it clears the headline (Oct 23, 2026) */
@media (min-width:960px){
  .hero-photo{ width:30% !important; clip-path:polygon(calc((100vh - 42px) * .177) 0, 100% 0, 100% 100%, 0 100%) !important; }
}

/* ── RSVP live ticket, rebuilt to match the hero ticket (Oct 27, 2026) ──
   brand line · holder · the three sessions (dimmed for a day they'll miss) · foot | stub: FREE, admit count, dates */
body[data-page="rsvp"] .ticket.lt{ width:100%; max-width:520px; margin:clamp(14px,1.6vw,22px) 0 0; transform:rotate(-1.5deg) !important; grid-template-columns:1fr clamp(104px,26%,128px) !important; color:var(--cream); }
body[data-page="rsvp"] .ticket.lt::before{ inset:10px 14px; }
body[data-page="rsvp"] .lt .lt-main{ padding:clamp(26px,2.4vw,32px) clamp(14px,1.4vw,20px) clamp(24px,2.2vw,30px) clamp(30px,2.8vw,38px) !important; min-width:0; }
.lt-top{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:4px 8px; }
.lt-logo{ height:clamp(20px,1.8vw,24px); width:auto; display:block; }
.lt-tag{ font:800 clamp(11px,.95vw,13px)/1 var(--display); letter-spacing:.12em; text-transform:uppercase; color:var(--cream); padding-bottom:1px; }
.lt-name{ margin-top:clamp(12px,1.2vw,16px); font:900 clamp(28px,2.5vw,36px)/.92 var(--display); text-transform:uppercase; color:#fff; text-shadow:2px 2px 0 #0b0d58; overflow-wrap:anywhere; }
.lt-name.is-name{ font-size:clamp(30px,2.8vw,40px); }
body[data-page="rsvp"] .lt .lt-party{ margin-top:6px; font-size:clamp(15px,1.3vw,18px); color:var(--navy); }
.lt-prog{ list-style:none; margin:clamp(14px,1.4vw,18px) 0 0; padding:0; display:grid; gap:9px; }
.lt-prog li{ display:grid; gap:2px; padding-top:9px; border-top:1px solid rgba(243,236,226,.45); transition:opacity .2s ease; }
.lt-when{ font:800 clamp(14px,1.2vw,16px)/1 var(--display); letter-spacing:.08em; text-transform:uppercase; color:var(--cream); }
.lt-what{ display:flex; flex-wrap:wrap; align-items:baseline; gap:0 8px; }
.lt-what b{ font:900 clamp(14px,1.2vw,16px)/1.1 var(--display); letter-spacing:.04em; text-transform:uppercase; color:var(--navy); }
.lt-what i{ font:500 10px/1.35 'IBM Plex Mono', monospace; font-style:normal; letter-spacing:.08em; text-transform:uppercase; color:var(--cream); }
.lt.lt-thu .lt-prog [data-day="sat"], .lt.lt-sat .lt-prog [data-day="thu"]{ opacity:.32; }
.lt-foot{ margin-top:clamp(12px,1.2vw,16px); padding-top:9px; border-top:1px dashed rgba(243,236,226,.7); font:800 clamp(13px,1.1vw,15px)/1.1 var(--display); letter-spacing:.1em; text-transform:uppercase; color:var(--cream); }
body[data-page="rsvp"] .lt .lt-stub{ display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:0 !important; padding:22px 18px 22px 16px !important; text-align:center; }
.lt-free{ font:900 clamp(34px,3vw,44px)/.9 var(--display); text-transform:uppercase; color:#fff; text-shadow:2px 2px 0 #0b0d58; }
.lt-adm{ display:flex; flex-direction:column; align-items:center; margin-top:14px; padding-top:12px; border-top:1px solid rgba(243,236,226,.55); width:100%; }
body[data-page="rsvp"] .lt .lt-admit{ font-size:10.5px !important; letter-spacing:.16em; line-height:1.15; }
body[data-page="rsvp"] .lt .lt-n{ margin-top:4px; font-size:clamp(46px,4vw,58px) !important; line-height:.85; }
body[data-page="rsvp"] .lt .tk-of{ margin-top:4px; font-size:11px; }
.lt-date{ display:flex; flex-direction:column; align-items:center; margin-top:14px; padding-top:12px; border-top:1px solid rgba(243,236,226,.55); width:100%; font:800 10.5px/1 var(--display); letter-spacing:.16em; text-transform:uppercase; color:var(--cream); }
.lt-date b{ margin-top:4px; font:900 clamp(20px,1.8vw,24px)/1 var(--display); letter-spacing:.02em; white-space:nowrap; }
body[data-page="rsvp"] .lt .tk-stamp{ right:auto; left:clamp(30px,2.8vw,38px); bottom:auto; top:clamp(18px,1.8vw,22px); font-size:13px; }
@media (prefers-reduced-motion:reduce){ .lt-prog li{ transition:none; } }
/* phones + tablets: the slim strip — brand, holder, party | FREE + count */
@media (max-width:959px){
  body[data-page="rsvp"] .ticket.lt{ max-width:none; transform:none !important; grid-template-columns:1fr auto !important; }
  body[data-page="rsvp"] .lt .lt-main{ padding:16px 12px 16px 22px !important; }
  body[data-page="rsvp"] .lt .lt-prog, body[data-page="rsvp"] .lt .lt-date, body[data-page="rsvp"] .lt .lt-foot{ display:none; }
  .lt-logo{ height:17px; } .lt-tag{ font-size:10.5px; }
  .lt-name{ margin-top:8px; font-size:24px; } .lt-name.is-name{ font-size:26px; }
  body[data-page="rsvp"] .lt .lt-stub{ padding:12px 18px 12px 16px !important; }
  .lt-free{ font-size:26px; }
  .lt-adm{ margin-top:6px; padding-top:6px; }
  body[data-page="rsvp"] .lt .lt-n{ font-size:34px !important; }
  body[data-page="rsvp"] .lt .tk-stamp{ position:static; display:inline-block; margin-top:8px; transform:rotate(-3deg); font-size:12px; }
}
.lt-logo{ height:clamp(26px,2.3vw,32px); }
.lt-top{ flex-direction:column; align-items:flex-start; gap:6px; }
.lt-what{ flex-direction:column; align-items:flex-start; gap:2px; }
.lt-lc{ text-transform:none; }
@media (max-width:959px){ .lt-logo{ height:20px; } .lt-top{ gap:4px; } }
/* who each session admits (Oct 27, 2026) */
.lt-what .lt-adm-l{ margin-top:4px; font:600 12px/1.25 var(--body); font-style:normal; color:#fff; }
.lt-what .lt-adm-l b{ font:900 13px/1 var(--display); letter-spacing:.06em; color:var(--navy); }
/* stub before the form fills in: ADMITS / YOU / and YOUR NETWORK (Oct 27, 2026) */
body[data-page="rsvp"] .lt:not(.lt-filled) .lt-adm-you .lt-n{ font-size:clamp(36px,3.1vw,46px) !important; margin-top:6px; }
body[data-page="rsvp"] .lt:not(.lt-filled) .lt-adm-you .tk-of{ margin-top:6px; font:600 11.5px/1.2 var(--body); letter-spacing:0; text-transform:none; color:#fff; }
body[data-page="rsvp"] .lt .lt-adm-you .tk-of b{ display:block; margin-top:2px; font:900 13px/1.05 var(--display); letter-spacing:.06em; color:var(--navy); }

/* ── RSVP, step by step (Oct 27, 2026): 01 claim your seat, then the rest opens ── */
body[data-page="rsvp"] .rs-k{ font:500 12px/1.3 'IBM Plex Mono', monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--orange-lt); }
body[data-page="rsvp"] .rs-h{ display:flex; align-items:baseline; gap:12px; margin-top:6px; }
body[data-page="rsvp"] .rs-h > span{ font-size:clamp(26px,2.4vw,34px); line-height:1; }
body[data-page="rsvp"] .rs-adm{ margin:8px 0 14px; font:600 15px/1.3 var(--body); color:rgba(243,236,226,.85); }
body[data-page="rsvp"] .rs-adm b{ font:800 16px/1 var(--display); letter-spacing:.08em; text-transform:uppercase; color:var(--orange-lt); }
body[data-page="rsvp"] .rs-gate-a{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; margin-top:18px; }
body[data-page="rsvp"] #rs-claim[disabled]{ opacity:1; cursor:default; background:transparent; color:var(--orange-lt); border-color:var(--orange-lt); }
body[data-page="rsvp"] .rs-cant{ color:rgba(243,236,226,.7); }
body[data-page="rsvp"] .rs-open{ margin:clamp(28px,3vw,40px) 0 0; padding:14px 18px; border-left:3px solid var(--orange); background:rgba(243,236,226,.06); font:500 16px/1.45 var(--body); color:var(--cream); scroll-margin-top:90px; }
body[data-page="rsvp"] .rs-open:focus{ outline:none; }
body[data-page="rsvp"] .rs-reg{ margin:0 0 4px; }
body[data-page="rsvp"] .rs-sess .rs-body{ margin-top:14px; }
body[data-page="rsvp"] .rs-sub{ margin:0 0 10px; font:600 14px/1.4 var(--body); color:rgba(243,236,226,.85); }
body[data-page="rsvp"] .rs-sub.rs-note{ font-weight:500; }
body[data-page="rsvp"] .rs-sess.rs-off .rs-h, body[data-page="rsvp"] .rs-sess.rs-off .rs-adm, body[data-page="rsvp"] .rs-sess.rs-off .rs-k{ opacity:.45; }
body[data-page="rsvp"] .rs-sess .gcards{ margin-top:0; }
body[data-page="rsvp"] .rs-no .rs-sess{ display:none; }
.lt .lt-prog li.lt-skip{ opacity:.32; }
/* step headings: the rule sits over the when · where line; the title in the display face, like "01 You" was */
body[data-page="rsvp"] .rs-step .rs-k{ margin-top:clamp(22px,2.6vw,30px); padding-top:16px; border-top:1px dashed rgba(243,236,226,.3); }
body[data-page="rsvp"] .slot-req + .rs-gate .rs-k{ margin-top:0; padding-top:0; border-top:0; }
body[data-page="rsvp"] .rs-step .slot-h.rs-h{ margin:6px 0 0; padding-top:0; border-top:0; flex-wrap:nowrap; }
body[data-page="rsvp"] .rs-step .slot-h.rs-h > span{ flex-basis:auto; font:900 clamp(26px,2.4vw,34px)/1 var(--display); text-transform:uppercase; letter-spacing:0; color:var(--cream); text-wrap:balance; }
body[data-page="rsvp"] .rs-step .slot-h.rs-h b{ flex:none; transform:translateY(-4px); }
body[data-page="rsvp"] .rs-reg input:checked + span{ background:rgba(233,85,47,.14) !important; border-color:var(--orange-lt) !important; border-style:solid !important; box-shadow:inset 0 0 0 1px var(--orange-lt) !important; color:#fff !important; font-weight:700; }
body[data-page="rsvp"] .rs-reg input:checked + span::before{ border-color:var(--orange-lt) !important; background-color:var(--orange-btn) !important; }
body[data-page="rsvp"] #rs-claim[disabled]{ background:transparent !important; color:var(--orange-lt) !important; border:2px solid var(--orange-lt) !important; box-shadow:none !important; }
/* how the night flows, under each row's admit line (Oct 27, 2026) */
.lt-what .lt-note{ margin-top:4px; font:italic 500 11.5px/1.35 var(--body); color:var(--cream); text-wrap:pretty; }
@media (max-width:959px){ body[data-page="rsvp"] .lt .lt-note{ display:none; } }
/* 01 opens the rest by itself: a hint before, a check after (Oct 27, 2026) */
body[data-page="rsvp"] .rs-hint{ margin:0; font:500 14px/1.4 var(--body); color:rgba(243,236,226,.7); }
body[data-page="rsvp"] .rs-claimed{ margin:0; font:800 15px/1 var(--display); letter-spacing:.14em; text-transform:uppercase; color:var(--cream); margin-bottom:6px; }
body[data-page="rsvp"] .rs-gate-a{ margin-top:14px; }
/* boxes start unticked, so an unticked session reads as an invitation, not disabled (Oct 27, 2026) */
body[data-page="rsvp"] .rs-sess.rs-off .rs-h, body[data-page="rsvp"] .rs-sess.rs-off .rs-adm, body[data-page="rsvp"] .rs-sess.rs-off .rs-k{ opacity:1; }
/* a count on each session row, in place of the stub's running total (Oct 27, 2026) */
.lt .lt-prog li{ grid-template-columns:minmax(0,1fr) auto; column-gap:8px; }
.lt .lt-prog .lt-when, .lt .lt-prog .lt-what{ grid-column:1; }
.lt .lt-prog .lt-cnt{ grid-column:2; grid-row:1 / span 2; align-self:start; display:flex; flex-direction:column; align-items:flex-end; line-height:1; }
.lt .lt-prog .lt-cnt[hidden]{ display:none; }
.lt .lt-prog .lt-cnt b{ font:900 26px/.9 var(--display); color:#fff; text-shadow:2px 2px 0 #0b0d58; }
.lt .lt-prog .lt-cnt i{ margin-top:3px; font:800 9.5px/1 var(--display); font-style:normal; letter-spacing:.12em; text-transform:uppercase; color:var(--navy); white-space:nowrap; }
body[data-page="rsvp"] .rs-cnt:empty{ display:none; }
body[data-page="rsvp"] .rs-sess .rs-cnt{ margin-top:12px; }
/* Joint Session guest 2: your Breakout guest unless changed (Oct 27, 2026) */
body[data-page="rsvp"] .gc-same{ margin:-2px 0 12px; font:italic 500 13.5px/1.4 var(--body); color:rgba(243,236,226,.75); }
body[data-page="rsvp"] .gc-same .linkish{ font-style:normal; color:var(--orange-lt); }
/* simple RSVP (Oct 27, 2026): who we'll invite, in your name */
body[data-page="rsvp"] .rs-sends{ margin:clamp(22px,2.6vw,30px) 0 0; padding:14px 18px; border-left:3px solid var(--orange); background:rgba(243,236,226,.06); font:600 16px/1.45 var(--body); color:var(--cream); }
body[data-page="rsvp"] .rs-no .rs-sends{ display:none; }

/* ── RSVP presentation pass (Oct 27, 2026) ── */
/* header: matches the home page; one calm line in place of the all-caps block */
body[data-page="rsvp"] .sp-back{ display:none; }   /* the top bar already says it */
.sp-title .sp-hl{ color:var(--orange-lt); }
body[data-page="rsvp"] .sp-sub{ margin-top:clamp(10px,1.2vw,14px); font:500 clamp(17px,1.5vw,20px)/1.4 var(--body); color:rgba(243,236,226,.85); }
body[data-page="rsvp"] .rs-gate > .rs-k:first-child{ margin-top:0; padding-top:0; border-top:0; }
/* breathing room between the name row and the email */
body[data-page="rsvp"] .rs-gate .grid2 + .field{ margin-top:14px; }
/* confirmation: readable on black */
body[data-page="rsvp"] .rsvp .rsvp-done h3{ color:var(--cream); }
body[data-page="rsvp"] .rsvp-done:focus{ outline:none; }
body[data-page="rsvp"] .rsvp-done .done-actions{ margin-top:4px; }
/* the stamp: lower right of the main ticket, clear of the logo */
body[data-page="rsvp"] .lt .tk-stamp{ top:auto; left:auto; right:clamp(16px,1.6vw,22px); bottom:clamp(40px,3.6vw,52px); transform:rotate(-8deg); }
/* the per-session counts, a step larger */
.lt .lt-prog .lt-cnt i{ font-size:11px; }
/* phones: get to step 01 sooner */
@media (max-width:600px){
  body[data-page="rsvp"] .sp-title{ font-size:clamp(34px,10vw,44px); }
  body[data-page="rsvp"] .sp-hero .sp-lockup .logo{ height:30px; }
  body[data-page="rsvp"] .sp-sub{ font-size:16px; }
}
body[data-page="rsvp"] .lt .tk-stamp{ top:clamp(22px,2.2vw,30px); bottom:auto; right:clamp(14px,1.4vw,20px); transform:rotate(-6deg); }
body[data-page="rsvp"] .rsvp .rsvp-done .btn.ghost{ color:var(--cream) !important; border-color:rgba(243,236,226,.7) !important; }
body[data-page="rsvp"] .rsvp .rsvp-done .btn.ghost:hover{ color:var(--orange-lt) !important; border-color:var(--orange-lt) !important; }
body[data-page="rsvp"] .rsvp .rsvp-done .done-foot .linkish{ color:rgba(243,236,226,.75); }
@media (min-width:960px){ body[data-page="rsvp"] .lt .tk-stamp{ top:auto; bottom:clamp(36px,3.2vw,46px); right:clamp(-112px,-7.6vw,-90px); transform:rotate(-12deg); z-index:2; white-space:nowrap; } }
@media (min-width:960px){ body[data-page="rsvp"] .lt .tk-stamp{ right:-58px; bottom:clamp(40px,3.4vw,50px); font-size:12px; padding:5px 9px; } }

/* RSVP ticket by tier (Oct 27, 2026): who joins (left) | where and when (right); each tier stays for everything below it */
.lt .lt-tiers li{ grid-template-columns:clamp(62px,5.6vw,78px) minmax(0,1fr) !important; column-gap:12px; padding-top:11px; }
.lt .lt-tiers .lt-who{ grid-column:1; display:flex; flex-direction:column; gap:5px; }
.lt .lt-tiers .lt-who > b{ font:900 clamp(17px,1.5vw,21px)/.95 var(--display); text-transform:uppercase; color:#fff; text-shadow:2px 2px 0 #0b0d58; }
.lt .lt-tiers .lt-cnt{ grid-row:auto; flex-direction:row; align-items:baseline; gap:4px; }
.lt .lt-tiers .lt-cnt b{ font-size:15px; text-shadow:none; color:var(--navy); }
.lt .lt-tiers .lt-cnt i{ margin:0; font-size:9.5px; color:var(--navy); }
.lt .lt-tiers .lt-ss{ grid-column:2; display:grid; gap:9px; }
.lt .lt-tiers .lt-s{ display:grid; gap:2px; }
.lt .lt-tiers .lt-sn{ font:900 clamp(14px,1.2vw,16px)/1.1 var(--display); letter-spacing:.04em; text-transform:uppercase; color:var(--navy); }
.lt .lt-tiers .lt-sv{ font:500 10px/1.35 'IBM Plex Mono', monospace; font-style:normal; letter-spacing:.08em; text-transform:uppercase; color:var(--cream); }
/* stub: "and YOUR NETWORK" carries weight next to YOU (Oct 27, 2026) */
body[data-page="rsvp"] .lt:not(.lt-filled) .lt-adm-you .tk-of{ margin-top:8px; font:700 14px/1.1 var(--body); }
body[data-page="rsvp"] .lt .lt-adm-you .tk-of b{ margin-top:3px; font:900 clamp(22px,2vw,28px)/.92 var(--display); letter-spacing:.01em; color:#fff; text-shadow:2px 2px 0 #0b0d58; }
@media (max-width:959px){ body[data-page="rsvp"] .lt .lt-adm-you .tk-of b{ font-size:18px; } }
body[data-page="rsvp"] .lt .lt-adm-you .tk-of b{ font-size:clamp(18px,1.55vw,22px); }
@media (max-width:959px){ body[data-page="rsvp"] .lt .lt-adm-you .tk-of b{ font-size:16px; } }
/* slim strip: stack YOUR / NETWORK and keep the stub inside the cream frame */
@media (max-width:959px){
  body[data-page="rsvp"] .lt .lt-stub{ padding:18px 30px 18px 18px !important; }
  body[data-page="rsvp"] .lt .lt-adm-you .tk-of b{ display:block; width:min-content; margin:3px auto 0; font-size:19px; line-height:.95; }
}
/* steps without an eyebrow: the heading carries the divider */
body[data-page="rsvp"] .rs-step .rs-h:first-child{ margin-top:clamp(26px,3vw,36px); padding-top:20px; border-top:1px dashed rgba(243,236,226,.3); }
body[data-page="rsvp"] .rs-gate > .rs-h:first-child{ margin-top:0; padding-top:0; border-top:0; }
/* step 01: the place and time read as the headline fact */
body[data-page="rsvp"] .rs-adm strong{ font-weight:800; color:#fff; text-decoration:underline; text-decoration-color:var(--orange-lt); text-decoration-thickness:2px; text-underline-offset:4px; }
body[data-page="rsvp"] .rs-adm strong{ display:block; margin-top:6px; font:900 clamp(20px,1.9vw,24px)/1.05 var(--display); letter-spacing:.03em; text-transform:uppercase; text-decoration:none; color:#fff; }
@media (max-width:600px){ body[data-page="rsvp"] .rs-adm strong{ font-size:18px; } }
/* notes: the same emphasis, kept inline so the sentence still reads */
body[data-page="rsvp"] .rs-note strong{ font:900 clamp(17px,1.5vw,19px)/1 var(--display); letter-spacing:.03em; text-transform:uppercase; color:#fff; }
/* back to bold white + orange underline, inline (Oct 27, 2026) */
body[data-page="rsvp"] .rs-adm strong, body[data-page="rsvp"] .rs-note strong{ display:inline; margin:0; font-family:var(--body); font-weight:800; font-size:inherit; line-height:inherit; letter-spacing:0; text-transform:none; color:#fff; text-decoration:underline; text-decoration-color:var(--orange-lt); text-decoration-thickness:2px; text-underline-offset:4px; }
/* step 01: the host's own sessions */
body[data-page="rsvp"] .rs-mine{ border:0; padding:0; margin:20px 0 4px; min-width:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
body[data-page="rsvp"] .rs-mine legend{ grid-column:1 / -1; padding:0; margin-bottom:10px; font:700 12px/1.2 var(--body); letter-spacing:.14em; text-transform:uppercase; }
body[data-page="rsvp"] .rs-ck > span{ display:grid !important; gap:3px; }
body[data-page="rsvp"] .rs-ck b{ font-weight:700; color:var(--cream); }
body[data-page="rsvp"] .rs-ck i{ font:500 10.5px/1.35 'IBM Plex Mono', monospace; font-style:normal; letter-spacing:.06em; text-transform:uppercase; color:var(--orange-lt); }
@media (max-width:600px){ body[data-page="rsvp"] .rs-mine{ grid-template-columns:1fr; } }
body[data-page="rsvp"] .rs-ck > span{ grid-template-columns:18px minmax(0,1fr); column-gap:12px; row-gap:3px; align-items:center; border-color:rgba(243,236,226,.3) !important; }
body[data-page="rsvp"] .rs-ck > span::before{ grid-row:1 / span 2; border-color:rgba(243,236,226,.6); }
body[data-page="rsvp"] .rs-ck b, body[data-page="rsvp"] .rs-ck i{ grid-column:2; }
body[data-page="rsvp"] .rs-ck input:checked + span{ background:rgba(233,85,47,.14) !important; border-color:var(--orange-lt) !important; border-style:solid !important; box-shadow:inset 0 0 0 1px var(--orange-lt) !important; }
body[data-page="rsvp"] .rs-ck input:checked + span::before{ border-color:var(--orange-lt) !important; background-color:var(--orange-btn) !important; }
body[data-page="rsvp"] .rs-ck input:checked + span b{ color:#fff !important; }
/* the host's sessions, grouped by day: three rows Thursday, one Saturday */
body[data-page="rsvp"] .rs-mine{ grid-template-columns:1fr !important; gap:18px; }
body[data-page="rsvp"] .rs-day{ display:grid; gap:8px; }
body[data-page="rsvp"] .rs-day-h{ margin:0; font:800 15px/1 var(--display); letter-spacing:.1em; text-transform:uppercase; color:var(--orange-lt); }
body[data-page="rsvp"] .rs-ck em{ grid-column:2; font:500 14px/1.3 var(--body); font-style:normal; color:rgba(243,236,226,.85); }
body[data-page="rsvp"] .rs-ck > span::before{ grid-row:1 / span 3; }
/* time + venue lines, larger (Oct 27, 2026) */
body[data-page="rsvp"] .rs-ck i{ margin-top:2px; font-size:13px; font-weight:600; letter-spacing:.05em; }
@media (max-width:600px){ body[data-page="rsvp"] .rs-ck i{ font-size:12px; } }
/* RSVP ticket names the event, not the holder (Oct 27, 2026) */
body[data-page="rsvp"] .lt .lt-event{ margin-top:clamp(14px,1.4vw,20px); font-size:clamp(40px,3.6vw,54px); line-height:.9; }
@media (max-width:959px){ body[data-page="rsvp"] .lt .lt-event{ font-size:30px; } }
@media (min-width:960px){ body[data-page="rsvp"] .lt .lt-main{ display:flex !important; flex-direction:column; } body[data-page="rsvp"] .lt .lt-foot{ margin-top:auto !important; } }
/* "Admits YOU and YOUR NETWORK" sits under THE LAUNCH (Oct 27, 2026) */
body[data-page="rsvp"] .lt .lt-main .lt-adm-main{ display:flex !important; flex-wrap:wrap; align-items:baseline; gap:4px 9px; margin:12px 0 0 !important; padding:0 !important; border:0 !important; text-align:left; }
body[data-page="rsvp"] .lt .lt-adm-main .lt-admit{ font:800 13px/1 var(--display); letter-spacing:.16em; text-transform:uppercase; color:var(--cream); }
body[data-page="rsvp"] .lt .lt-adm-main .lt-n{ margin:0 !important; font:900 clamp(26px,2.3vw,32px)/.9 var(--display) !important; color:#fff; text-shadow:2px 2px 0 #0b0d58; }
body[data-page="rsvp"] .lt .lt-adm-main .tk-of{ display:inline-flex !important; align-items:baseline; gap:9px; margin:0 !important; font:700 15px/1 var(--body) !important; color:#fff; }
body[data-page="rsvp"] .lt .lt-adm-main .tk-of b{ display:inline !important; width:auto !important; margin:0 !important; font:900 clamp(26px,2.3vw,32px)/.9 var(--display) !important; color:#fff; text-shadow:2px 2px 0 #0b0d58; white-space:nowrap; }
@media (max-width:959px){
  body[data-page="rsvp"] .lt .lt-main .lt-adm-main{ margin-top:8px !important; gap:3px 7px; }
  body[data-page="rsvp"] .lt .lt-adm-main .lt-n, body[data-page="rsvp"] .lt .lt-adm-main .tk-of b{ font-size:22px !important; }
  body[data-page="rsvp"] .lt .lt-adm-main .tk-of{ font-size:13px !important; gap:7px; }
}
body[data-page="rsvp"] .lt .lt-main .lt-adm-main{ flex-direction:row !important; justify-content:flex-start !important; width:auto !important; margin-bottom:18px !important; }
body[data-page="rsvp"] .lt .lt-adm-main > span{ flex:none !important; width:auto !important; display:inline-flex !important; }
body[data-page="rsvp"] .lt .lt-adm-main .lt-admit{ align-self:center; margin:0 !important; }
body[data-page="rsvp"] .lt .lt-adm-main .lt-admit{ font:800 14px/1 var(--display) !important; letter-spacing:.14em !important; color:var(--cream) !important; }
body[data-page="rsvp"] .lt .lt-adm-main .lt-n{ font-size:clamp(26px,2.3vw,32px) !important; }
@media (max-width:959px){ body[data-page="rsvp"] .lt .lt-adm-main .lt-admit{ font-size:12px !important; } body[data-page="rsvp"] .lt .lt-adm-main .lt-n{ font-size:22px !important; } }
/* review pass (Oct 27, 2026) */
/* the sessions question is a heading, above its day labels */
body[data-page="rsvp"] .rs-mine legend{ margin:8px 0 14px !important; font:900 clamp(20px,1.8vw,24px)/1.05 var(--display) !important; letter-spacing:.01em !important; text-transform:uppercase; color:var(--cream) !important; }
body[data-page="rsvp"] .rs-day-h{ font-size:14px; letter-spacing:.14em; }
/* session boxes: hairline solid, orange when ticked; the box lines up with the name */
body[data-page="rsvp"] .rs-ck > span{ border-style:solid !important; border-width:1px !important; border-color:rgba(243,236,226,.22) !important; align-items:start !important; padding:14px 16px !important; transition:border-color .15s ease, background-color .15s ease; }
body[data-page="rsvp"] .rs-ck:hover > span{ border-color:rgba(243,236,226,.5) !important; }
body[data-page="rsvp"] .rs-ck input:checked + span{ border-color:var(--orange-lt) !important; }
body[data-page="rsvp"] .rs-ck > span::before{ align-self:start; margin-top:1px; }
/* the hint sits right under the fields it's about */
body[data-page="rsvp"] .rs-gate .rs-hint{ margin:-4px 0 6px; font-size:13.5px; color:rgba(243,236,226,.7); }
/* step headings a size below the page title */
body[data-page="rsvp"] .rs-step .slot-h.rs-h > span{ font-size:clamp(22px,2vw,28px) !important; }
/* desktop: the ticket rides along under the header bar */
@media (min-width:960px){ body[data-page="rsvp"] .rsvp-side{ position:sticky !important; top:76px !important; } }
/* phones: the stub keeps its dates */
@media (max-width:959px){
  body[data-page="rsvp"] .lt .lt-date{ display:flex !important; margin-top:8px; padding-top:7px; font-size:9.5px; }
  body[data-page="rsvp"] .lt .lt-date b{ font-size:17px; }
}
body[data-page="rsvp"] .rs-gate .rs-hint{ margin:10px 0 4px !important; }
body[data-page="rsvp"] .rs-gate > .rs-h{ margin-bottom:18px !important; }
/* sessions: shaded until name + email are in, then snap live */
body[data-page="rsvp"] .rs-mine{ transition:opacity .35s ease, filter .35s ease; }
body[data-page="rsvp"] .rs-mine.rs-locked{ opacity:.32; filter:grayscale(1); }
body[data-page="rsvp"] .rs-mine.rs-locked .rs-ck, body[data-page="rsvp"] .rs-mine.rs-locked .rs-ck input{ cursor:not-allowed; }
body[data-page="rsvp"] .rs-mine.rs-locked .rs-ck:hover > span{ border-color:rgba(243,236,226,.22) !important; }
@keyframes rsLive{ 0%{ transform:translateY(6px); } 60%{ transform:translateY(-2px); } 100%{ transform:none; } }
@keyframes rsLiveBox{ 0%{ border-color:var(--orange-lt); } 100%{ border-color:rgba(243,236,226,.22); } }
body[data-page="rsvp"] .rs-mine.rs-live{ animation:rsLive .45s cubic-bezier(.2,.8,.2,1); }
body[data-page="rsvp"] .rs-mine.rs-live .rs-ck input:not(:checked) + span{ animation:rsLiveBox .9s ease; }
@media (prefers-reduced-motion:reduce){ body[data-page="rsvp"] .rs-mine, body[data-page="rsvp"] .rs-mine.rs-live, body[data-page="rsvp"] .rs-mine.rs-live .rs-ck span{ animation:none; transition:none; } }
/* can't make it (Oct 27, 2026): a quiet link under the fields; the decline hides the sessions and guests outright */
body[data-page="rsvp"] .rs-gate-a{ margin:4px 0 8px; }
body[data-page="rsvp"] .rs-gate .rs-cant{ font-size:14px; color:rgba(243,236,226,.7); }
body[data-page="rsvp"] .rs-gate .rs-cant:hover{ color:var(--cream); }
body[data-page="rsvp"] .rs-no .rs-mine{ display:none; }
body[data-page="rsvp"] .rs-no .rs-n5{ display:none; }
body[data-page="rsvp"] .rs-open{ margin:clamp(18px,2vw,24px) 0 4px; padding:16px 18px; border-left:3px solid var(--orange-lt); background:rgba(243,236,226,.06); }
body[data-page="rsvp"] .rs-open:focus{ outline:none; }
body[data-page="rsvp"] .rs-open-t{ margin:0; font:500 16px/1.45 var(--body); color:var(--cream); }
body[data-page="rsvp"] .rs-open .rs-claim{ margin-top:10px; font-weight:700; color:var(--orange-lt); }
/* Next: on to 02 */
body[data-page="rsvp"] .rs-next{ display:grid; gap:12px; justify-items:start; margin-top:clamp(20px,2.2vw,28px); }
body[data-page="rsvp"] .rs-next[hidden]{ display:none; }
body[data-page="rsvp"] .rs-next .form-error{ justify-self:stretch; }
@media (max-width:559px){ body[data-page="rsvp"] .rs-next-b{ justify-self:stretch; } }
body[data-page="rsvp"] .rs-sess{ scroll-margin-top:80px; }
/* sessions: a yes / no per row (Oct 27, 2026) */
body[data-page="rsvp"] .rs-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 18px; align-items:center; padding:14px 16px; border:1px solid rgba(243,236,226,.22); transition:border-color .15s ease, background-color .15s ease; }
body[data-page="rsvp"] .rs-row-t{ display:grid; gap:3px; transition:opacity .15s ease; }
body[data-page="rsvp"] .rs-row-t b{ font:700 16px/1.25 var(--body); color:var(--cream); }
body[data-page="rsvp"] .rs-row-t em{ font:500 14px/1.3 var(--body); font-style:normal; color:rgba(243,236,226,.85); }
body[data-page="rsvp"] .rs-row-t i{ margin-top:2px; font:600 13px/1.35 'IBM Plex Mono', monospace; font-style:normal; letter-spacing:.05em; text-transform:uppercase; color:var(--orange-lt); }
body[data-page="rsvp"] .rs-row:has(input[value="yes"]:checked){ border-color:var(--orange-lt); background:rgba(233,85,47,.14); box-shadow:inset 0 0 0 1px var(--orange-lt); }
body[data-page="rsvp"] .rs-row:has(input[value="yes"]:checked) .rs-row-t b{ color:#fff; }
body[data-page="rsvp"] .rs-row:has(input[value="no"]:checked) .rs-row-t{ opacity:.45; }
body[data-page="rsvp"] .rs-yn{ display:inline-flex; border:1px solid rgba(243,236,226,.45); }
body[data-page="rsvp"] .rs-yn label{ position:relative; display:block; }
body[data-page="rsvp"] .rs-yn input{ position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
body[data-page="rsvp"] .rs-yn span{ display:block; min-width:58px; padding:11px 14px; text-align:center; font:800 13px/1 var(--display); letter-spacing:.14em; text-transform:uppercase; color:var(--cream); transition:background-color .15s ease, color .15s ease; }
body[data-page="rsvp"] .rs-yn label + label span{ border-left:1px solid rgba(243,236,226,.45); }
body[data-page="rsvp"] .rs-yn label:hover span{ background:rgba(243,236,226,.08); }
body[data-page="rsvp"] .rs-yn input[value="yes"]:checked + span{ background:var(--orange-btn); color:#fff; }
body[data-page="rsvp"] .rs-yn input[value="no"]:checked + span{ background:var(--cream); color:#111; }
body[data-page="rsvp"] .rs-yn input:focus-visible + span{ outline:2px solid var(--orange-lt); outline-offset:2px; }
body[data-page="rsvp"] .rs-mine.rs-locked .rs-yn input{ cursor:not-allowed; }
body[data-page="rsvp"] .rs-mine.rs-locked .rs-yn label:hover span{ background:none; }
body[data-page="rsvp"] .rs-mine.rs-live .rs-row{ animation:rsLiveBox .9s ease; }
@media (max-width:480px){
  body[data-page="rsvp"] .rs-row{ grid-template-columns:1fr; }
  body[data-page="rsvp"] .rs-yn{ justify-self:start; }
  body[data-page="rsvp"] .rs-yn span{ min-width:72px; }
}
/* ticket: two admissions under THE LAUNCH (Oct 27, 2026) */
body[data-page="rsvp"] .lt .lt-adm2{ display:grid; margin:12px 0 16px; }
body[data-page="rsvp"] .lt .lt-a{ display:flex; align-items:baseline; gap:8px; margin:0; }
body[data-page="rsvp"] .lt .lt-a-net{ margin-top:10px; }
body[data-page="rsvp"] .lt .lt-adm2 .lt-admit{ font:800 13px/1 var(--display); letter-spacing:.14em; text-transform:uppercase; color:var(--cream); }
body[data-page="rsvp"] .lt .lt-a-net .lt-admit{ font:700 15px/1 var(--body); letter-spacing:0; text-transform:none; color:#fff; }
body[data-page="rsvp"] .lt .lt-ab{ font:900 clamp(24px,2.1vw,30px)/.95 var(--display); color:#fff; text-shadow:2px 2px 0 #0b0d58; white-space:nowrap; }
body[data-page="rsvp"] .lt .lt-for{ margin:3px 0 0; font:800 12px/1.2 var(--display); letter-spacing:.1em; text-transform:uppercase; color:var(--navy); }
@media (max-width:959px){
  body[data-page="rsvp"] .lt .lt-adm2{ margin:8px 0 4px; }
  body[data-page="rsvp"] .lt .lt-ab{ font-size:20px; }
  body[data-page="rsvp"] .lt .lt-a-net{ margin-top:6px; }
  body[data-page="rsvp"] .lt .lt-for{ font-size:10.5px; }
}
@media (min-width:960px){ body[data-page="rsvp"] .lt .lt-ab{ font-size:clamp(22px,1.85vw,26px); } }
/* hero ticket: EVENTS alone in the logo's tagline spot; THE LAUNCH · BUFFALO is its own headline under it (Oct 27, 2026) */
.hero-in > a.ticket:not(.ticket-blue) .tk-h{ display:block !important; }
.hero-in > a.ticket:not(.ticket-blue) .tk-h .lockup{ flex-wrap:nowrap !important; }
.hero-in > a.ticket:not(.ticket-blue) .tk-h .lk-tag{ display:block !important; flex-basis:auto !important; margin:0 0 calc(var(--lh) * -0.028) calc(var(--lh) * -0.086) !important; font-size:calc(var(--lh) * .42) !important; }
.hero-in > a.ticket:not(.ticket-blue) .tk-h .tk-title{ display:block !important; margin:clamp(12px,1.4vw,18px) 0 0 !important; padding:0 !important; border:0 !important; font-size:clamp(34px,5vw,68px) !important; line-height:.9 !important; letter-spacing:.02em; white-space:nowrap; }
/* the headline belongs to the logo block: snug under EVENTS, room before the dates; a tighter, solid dot (Oct 27, 2026) */
.hero-in > a.ticket:not(.ticket-blue) .tk-h .tk-title{ margin:clamp(8px,.9vw,12px) 0 clamp(22px,2.4vw,32px) !important; }
.hero-in > a.ticket:not(.ticket-blue) .tk-h .tk-title .tk-dot{ opacity:1; color:var(--cream); margin:0 -.1em; }
/* RSVP ticket: EVENTS in the logo's tagline spot (like the hero); THE LAUNCH / BUFFALO the headline on two lines (Oct 27, 2026) */
body[data-page="rsvp"] .lt-top{ --lh:clamp(26px,2.3vw,32px); flex-direction:row !important; flex-wrap:nowrap; align-items:flex-end !important; gap:0 !important; }
body[data-page="rsvp"] .lt-top .lt-logo{ height:var(--lh) !important; }
body[data-page="rsvp"] .lt-top .lt-tag{ margin:0 0 calc(var(--lh) * -0.028) calc(var(--lh) * -0.086); padding:0; font-size:calc(var(--lh) * .42) !important; letter-spacing:.02em; line-height:1; }
@media (max-width:959px){ body[data-page="rsvp"] .lt-top{ --lh:22px; } }
body[data-page="rsvp"] .lt-event .tk-dot{ opacity:1; margin:0 -.1em; }
body[data-page="rsvp"] .lt-event .lt-city{ display:block; } body[data-page="rsvp"] .lt-event .lt-city .tk-dot{ display:none; }
/* tablets (600–959): a scaled desktop ticket — capped width, slight tilt, foot + dates back — not the phone strip stretched wide (Oct 27, 2026) */
@media (min-width:600px) and (max-width:959px){
  body[data-page="rsvp"] .ticket.lt{ max-width:540px; transform:rotate(-1.2deg) !important; grid-template-columns:1fr 132px !important; margin-top:8px; }
  body[data-page="rsvp"] .lt .lt-main{ padding:26px 16px 24px 32px !important; }
  body[data-page="rsvp"] .lt-top{ --lh:26px; }
  body[data-page="rsvp"] .lt .lt-name.lt-event{ margin-top:14px; font-size:44px !important; }
  body[data-page="rsvp"] .lt .lt-foot, body[data-page="rsvp"] .lt .lt-date{ display:flex !important; }
  body[data-page="rsvp"] .lt .lt-stub{ padding:22px 22px 22px 16px !important; }
  body[data-page="rsvp"] .lt .lt-free{ font-size:40px; }
  body[data-page="rsvp"] .rsvp-ticket .tk-stub{ background-image:radial-gradient(circle, rgba(11,13,88,.9) 2.5px, transparent 3px) !important; }
  body[data-page="rsvp"] .lt .lt-ab{ font-size:24px; }
  body[data-page="rsvp"] .lt .lt-for{ font-size:11.5px; }
  body[data-page="rsvp"] .lt .lt-a-net{ margin-top:9px; }
}
/* hero ticket: lineup note at the bottom right of the main panel, on the foot line (Oct 27, 2026) */
.ticket .tk-mfoot{ display:flex !important; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 16px; }
.ticket .tk-mfoot .tk-change{ margin-left:auto; font:500 11px/1.2 'IBM Plex Mono', monospace; letter-spacing:.06em; text-transform:uppercase; color:var(--cream); opacity:.85; }

/* ── RSVP in four steps (Oct 27, 2026): pick sessions · bring your people · confirm ── */
/* 02: each session is one selectable card (a real checkbox, visually hidden); picked = orange + a check */
body[data-page="rsvp"] .rs-lede{ margin:2px 0 0; font:500 15px/1.45 var(--body); color:rgba(243,236,226,.82); }
body[data-page="rsvp"] .rs-pick{ position:relative; cursor:pointer; grid-template-columns:minmax(0,1fr) auto; min-height:64px; -webkit-tap-highlight-color:transparent; }
body[data-page="rsvp"] .rs-pick .rs-cb{ position:absolute; opacity:0; width:1px; height:1px; margin:0; pointer-events:none; }
body[data-page="rsvp"] .rs-tick{ position:relative; flex:none; width:30px; height:30px; border:1.5px solid rgba(243,236,226,.5); border-radius:50%; transition:background-color .15s ease, border-color .15s ease; }
body[data-page="rsvp"] .rs-tick::after{ content:''; position:absolute; left:50%; top:46%; width:7px; height:13px; border:solid #fff; border-width:0 2.5px 2.5px 0; transform:translate(-50%,-50%) rotate(45deg) scale(.4); opacity:0; transition:transform .15s ease, opacity .15s ease; }
body[data-page="rsvp"] .rs-pick:hover .rs-tick{ border-color:var(--orange-lt); }
body[data-page="rsvp"] .rs-pick:hover{ border-color:rgba(243,236,226,.45); }
body[data-page="rsvp"] .rs-pick .rs-cb:checked ~ .rs-tick{ background:var(--orange-btn); border-color:var(--orange-btn); }
body[data-page="rsvp"] .rs-pick .rs-cb:checked ~ .rs-tick::after{ opacity:1; transform:translate(-50%,-50%) rotate(45deg) scale(1); }
body[data-page="rsvp"] .rs-pick:has(.rs-cb:checked){ border-color:var(--orange-lt); background:rgba(233,85,47,.14); box-shadow:inset 0 0 0 1px var(--orange-lt); }
body[data-page="rsvp"] .rs-pick:has(.rs-cb:checked) .rs-row-t b{ color:#fff; }
body[data-page="rsvp"] .rs-pick:has(.rs-cb:focus-visible){ outline:2px solid var(--orange-lt); outline-offset:3px; }
body[data-page="rsvp"] .rs-mine.rs-locked .rs-pick{ cursor:not-allowed; }
body[data-page="rsvp"] .rs-mine.rs-locked .rs-pick:hover{ border-color:rgba(243,236,226,.22); }
body[data-page="rsvp"] .rs-mine.rs-locked .rs-pick:hover .rs-tick{ border-color:rgba(243,236,226,.5); }
@media (max-width:480px){ body[data-page="rsvp"] .rs-pick{ grid-template-columns:minmax(0,1fr) auto !important; align-items:start; } body[data-page="rsvp"] .rs-tick{ margin-top:2px; } }
@media (prefers-reduced-motion:reduce){ body[data-page="rsvp"] .rs-tick, body[data-page="rsvp"] .rs-tick::after{ transition:none; } }
body[data-page="rsvp"] .rs-next-b:disabled{ opacity:.35; cursor:not-allowed; }

/* passed steps fold to one line: what they chose, and Edit */
body[data-page="rsvp"] .rs-sum{ display:flex; align-items:baseline; justify-content:space-between; gap:6px 18px; margin-top:10px; padding:14px 16px; border:1px solid rgba(243,236,226,.18); background:rgba(243,236,226,.04); }
body[data-page="rsvp"] .rs-sum[hidden]{ display:none; }
body[data-page="rsvp"] .rs-sum-t{ margin:0; font:600 15px/1.45 var(--body); color:var(--cream); }
body[data-page="rsvp"] .rs-edit{ flex:none; color:var(--orange-lt); font:700 14px/1.2 var(--body); }
body[data-page="rsvp"] .rs-edit:hover{ color:#ffa47f; }

/* 03: two pathways, the same card language; the suggestion side marked as "not registered" by its quieter frame */
body[data-page="rsvp"] .rs-path{ margin-top:clamp(16px,1.8vw,22px); }
body[data-page="rsvp"] .rs-path[hidden]{ display:none; }
body[data-page="rsvp"] .rs-pb{ margin-top:clamp(26px,3vw,36px); padding-top:clamp(20px,2.2vw,26px); border-top:1px solid rgba(243,236,226,.14); }
body[data-page="rsvp"] .rs-pa[hidden] + .rs-moved[hidden] + .rs-pb{ margin-top:clamp(16px,1.8vw,22px); padding-top:0; border-top:0; }
body[data-page="rsvp"] .rs-path-h{ margin:0 0 6px; font:900 clamp(19px,1.6vw,22px)/1.1 var(--display); letter-spacing:.02em; text-transform:uppercase; color:var(--cream); }
body[data-page="rsvp"] .rs-path-h .opt-inline{ text-transform:none; letter-spacing:0; }
body[data-page="rsvp"] .rs-path .rs-sub{ margin-bottom:14px; font-weight:500; }
body[data-page="rsvp"] .gc-guest{ border-color:rgba(255,138,92,.55); }
body[data-page="rsvp"] .gc-guest .gc-when{ color:var(--orange-lt); }
body[data-page="rsvp"] .gc-sugg .gc-when{ color:rgba(243,236,226,.6); }
body[data-page="rsvp"] .rs-pb .gbar{ margin-top:12px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
body[data-page="rsvp"] .rs-pb .gcards:not(:has(.gcard:not([hidden]))){ display:none; }
body[data-page="rsvp"] .rs-pb .gparty{ margin:0; font:600 13px/1 'IBM Plex Mono', monospace; letter-spacing:.06em; color:rgba(243,236,226,.6); }
body[data-page="rsvp"] .rs-moved{ margin:clamp(16px,1.8vw,22px) 0 0; padding:12px 16px; border-left:3px solid var(--orange-lt); background:rgba(243,236,226,.05); font:500 14.5px/1.45 var(--body); color:var(--cream); }
body[data-page="rsvp"] .rs-moved[hidden]{ display:none; }
body[data-page="rsvp"] .rs-moved .linkish{ color:var(--orange-lt); font-weight:700; }

/* 04: the review */
body[data-page="rsvp"] #rs-h4:focus{ outline:none; }
body[data-page="rsvp"] .rs-review{ display:grid; gap:12px; margin-top:16px; }
body[data-page="rsvp"] .rs-review[hidden]{ display:none; }
body[data-page="rsvp"] .rs-rv{ padding:16px 18px; border:1px solid rgba(243,236,226,.2); background:rgba(243,236,226,.03); }
body[data-page="rsvp"] .rs-rv:first-child{ border-color:rgba(255,138,92,.55); }
body[data-page="rsvp"] .rs-rv-h{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:10px; }
body[data-page="rsvp"] .rs-rv-k{ margin:0; font:800 13px/1 var(--display); letter-spacing:.16em; text-transform:uppercase; color:var(--orange-lt); }
body[data-page="rsvp"] .rs-rv-l{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
body[data-page="rsvp"] .rs-rv-l li{ display:grid; gap:2px; }
body[data-page="rsvp"] .rs-rv-l li + li{ padding-top:12px; border-top:1px dashed rgba(243,236,226,.18); }
body[data-page="rsvp"] .rs-rv-l b{ font:700 16px/1.3 var(--body); color:#fff; }
body[data-page="rsvp"] .rs-rv-l span{ font:600 12.5px/1.4 'IBM Plex Mono', monospace; letter-spacing:.04em; text-transform:uppercase; color:rgba(243,236,226,.75); }
body[data-page="rsvp"] .rs-rv-sugg .rs-rv-k{ color:rgba(243,236,226,.75); }
body[data-page="rsvp"] .rs-rv-sugg .rs-rv-l span{ text-transform:none; letter-spacing:0; font:500 13.5px/1.4 var(--body); color:rgba(243,236,226,.65); }
body[data-page="rsvp"] .rs-rv-n{ margin:10px 0 0; font:500 14px/1.45 var(--body); color:rgba(243,236,226,.75); }
body[data-page="rsvp"] .rs-more{ margin-top:clamp(22px,2.6vw,30px); }
body[data-page="rsvp"] .rs-step #send{ margin-top:clamp(18px,2vw,24px); }
@media (max-width:559px){ body[data-page="rsvp"] .rs-step #send{ width:100%; } }
body[data-page="rsvp"] .rs-done-rv{ margin:18px 0 6px; }

/* autofill: keep filled fields dark, not the browser's pale blue */
body[data-page="rsvp"] .rsvp input:-webkit-autofill, body[data-page="rsvp"] .rsvp input:-webkit-autofill:hover, body[data-page="rsvp"] .rsvp input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--cream); caret-color:var(--cream); -webkit-box-shadow:0 0 0 1000px #1d1a18 inset !important; box-shadow:0 0 0 1000px #1d1a18 inset !important; transition:background-color 9999s ease 0s; }
body[data-page="rsvp"] .rsvp input:autofill{ background:#1d1a18 !important; color:var(--cream) !important; }
body[data-page="rsvp"] .rs-rv-who{ margin:0 0 10px; font:700 16px/1.3 var(--body); color:#fff; }
body[data-page="rsvp"] .rs-rv-who span{ font-weight:500; color:rgba(243,236,226,.7); }
/* 03: the guest's sessions, picked by the host out of their own: the same check language, smaller */
body[data-page="rsvp"] .gc-sess{ border:0; padding:0; margin:4px 0 0; min-width:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
body[data-page="rsvp"] .gc-sess legend{ grid-column:1 / -1; padding:0; margin-bottom:8px; font:700 12px/1.2 var(--body); letter-spacing:.14em; text-transform:uppercase; color:var(--cream); }
body[data-page="rsvp"] .gc-s{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:52px; padding:10px 12px; border:1px solid rgba(243,236,226,.22); cursor:pointer; transition:border-color .15s ease, background-color .15s ease; -webkit-tap-highlight-color:transparent; }
body[data-page="rsvp"] .gc-s[hidden]{ display:none; }
body[data-page="rsvp"] .gc-s .rs-cb{ position:absolute; opacity:0; width:1px; height:1px; margin:0; pointer-events:none; }
body[data-page="rsvp"] .gc-s-t{ display:grid; gap:2px; min-width:0; }
body[data-page="rsvp"] .gc-s-t b{ font:700 14px/1.25 var(--body); color:var(--cream); }
body[data-page="rsvp"] .gc-s-t i{ font:600 11px/1.2 'IBM Plex Mono', monospace; font-style:normal; letter-spacing:.06em; text-transform:uppercase; color:rgba(243,236,226,.6); }
body[data-page="rsvp"] .gc-s .rs-tick{ width:24px; height:24px; }
body[data-page="rsvp"] .gc-s .rs-tick::after{ width:6px; height:11px; }
body[data-page="rsvp"] .gc-s:hover{ border-color:rgba(243,236,226,.45); }
body[data-page="rsvp"] .gc-s:hover .rs-tick{ border-color:var(--orange-lt); }
body[data-page="rsvp"] .gc-s .rs-cb:checked ~ .rs-tick{ background:var(--orange-btn); border-color:var(--orange-btn); }
body[data-page="rsvp"] .gc-s .rs-cb:checked ~ .rs-tick::after{ opacity:1; transform:translate(-50%,-50%) rotate(45deg) scale(1); }
body[data-page="rsvp"] .gc-s:has(.rs-cb:checked){ border-color:var(--orange-lt); background:rgba(233,85,47,.12); }
body[data-page="rsvp"] .gc-s:has(.rs-cb:checked) .gc-s-t b{ color:#fff; }
body[data-page="rsvp"] .gc-s:has(.rs-cb:focus-visible){ outline:2px solid var(--orange-lt); outline-offset:2px; }
@media (max-width:480px){ body[data-page="rsvp"] .gc-sess{ grid-template-columns:1fr; } }
body[data-page="rsvp"] .gc-guest .gc-when:empty{ display:none; }
/* select all / clear all; choose from contacts (Oct 27, 2026) */
body[data-page="rsvp"] .rs-allbar{ grid-column:1 / -1; display:flex; justify-content:flex-end; margin:-4px 0 -2px; }
body[data-page="rsvp"] .rs-all, body[data-page="rsvp"] .gc-pick{ color:var(--orange-lt); font:700 14px/1.2 var(--body); }
body[data-page="rsvp"] .rs-all:hover, body[data-page="rsvp"] .gc-pick:hover{ color:#ffa47f; }
body[data-page="rsvp"] .rs-mine.rs-locked .rs-all{ color:rgba(243,236,226,.5); cursor:not-allowed; }
body[data-page="rsvp"] .gc-sess legend + .rs-allbar{ margin-top:-30px; margin-bottom:0; }
body[data-page="rsvp"] .gc-guest .gc-pick{ margin-left:auto; }
body[data-page="rsvp"] .gc-pick[hidden]{ display:none; }
/* more people, by email (Oct 27, 2026) */
body[data-page="rsvp"] .rs-mailbar{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:4px 0 0; }
body[data-page="rsvp"] .rs-mailmore{ min-height:48px; padding:0 22px; }
body[data-page="rsvp"] .rs-mailto{ font:600 13px/1.3 'IBM Plex Mono', monospace; letter-spacing:.04em; color:rgba(243,236,226,.65); }
body[data-page="rsvp"] .rs-sugg-form[hidden]{ display:none; }
body[data-page="rsvp"] .rs-mailmore span[aria-hidden]{ margin-left:10px; }

/* ── after the RSVP: INVITE YOUR NETWORK, one person at a time (Oct 27, 2026) ── */
body[data-page="rsvp"] .rs-net{ margin-top:clamp(26px,3vw,36px); padding:clamp(18px,2vw,24px); border:1px solid rgba(255,138,92,.55); background:rgba(233,85,47,.06); display:grid; gap:12px; justify-items:start; }
body[data-page="rsvp"] .rs-net-h{ margin:0; font:900 clamp(24px,2.2vw,30px)/1 var(--display); letter-spacing:.01em; text-transform:uppercase; color:#fff; }
body[data-page="rsvp"] .rs-net-sub{ margin:0; font:500 15px/1.5 var(--body); color:rgba(243,236,226,.85); }
body[data-page="rsvp"] .rs-net-count{ margin:2px 0 0; font:700 12.5px/1.2 'IBM Plex Mono', monospace; letter-spacing:.08em; text-transform:uppercase; color:var(--orange-lt); }
body[data-page="rsvp"] .rs-net-list{ list-style:none; margin:0; padding:0; width:100%; display:grid; }
body[data-page="rsvp"] .rs-net-list li{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 14px; padding:10px 0; border-top:1px dashed rgba(243,236,226,.2); }
body[data-page="rsvp"] .rs-net-list li:last-child{ border-bottom:1px dashed rgba(243,236,226,.2); }
body[data-page="rsvp"] .rs-net-who{ display:grid; gap:1px; flex:1 1 200px; min-width:0; }
body[data-page="rsvp"] .rs-net-who b{ font:700 15px/1.3 var(--body); color:#fff; }
body[data-page="rsvp"] .rs-net-who i{ font:500 13px/1.3 var(--body); font-style:normal; color:rgba(243,236,226,.6); overflow-wrap:anywhere; }
body[data-page="rsvp"] .rs-net-st{ font:600 11.5px/1.2 'IBM Plex Mono', monospace; letter-spacing:.06em; text-transform:uppercase; color:rgba(243,236,226,.7); }
body[data-page="rsvp"] .rs-net-mail, body[data-page="rsvp"] .rs-net-copy{ color:var(--orange-lt); font-weight:700; }
body[data-page="rsvp"] .rs-net-msg{ margin:0; font:500 14px/1.45 var(--body); color:var(--cream); }
body[data-page="rsvp"] .rs-net-done{ margin:0; font:600 15px/1.45 var(--body); color:var(--cream); }
body[data-page="rsvp"] .rs-net-form{ width:100%; display:grid; gap:12px; }
body[data-page="rsvp"] .rs-net-acts{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
body[data-page="rsvp"] .rs-net-acts .linkish{ color:rgba(243,236,226,.8); }
body[data-page="rsvp"] .rs-net-back{ margin:4px 0 0; font:500 13px/1.45 var(--body); color:rgba(243,236,226,.6); }
@media (max-width:559px){ body[data-page="rsvp"] .rs-net-go, body[data-page="rsvp"] .rs-net-prep{ width:100%; } }
/* arriving through someone's invitation */
body[data-page="rsvp"] .rs-invited{ margin:0 0 clamp(20px,2.4vw,28px); padding:14px 18px; border-left:3px solid var(--orange-lt); background:rgba(243,236,226,.05); display:grid; gap:4px; }
body[data-page="rsvp"] .rs-invited p{ margin:0; }
body[data-page="rsvp"] .rs-invited-k{ font:800 12px/1 var(--display); letter-spacing:.16em; text-transform:uppercase; color:var(--orange-lt); }
body[data-page="rsvp"] .rs-invited-t{ font:500 16px/1.4 var(--body); color:var(--cream); }
body[data-page="rsvp"] .rs-invited-t b{ color:#fff; }
body[data-page="rsvp"] .rs-invited-n{ font:500 14px/1.45 var(--body); color:rgba(243,236,226,.75); }
body[data-page="rsvp"] .rs-invited-bad{ border-left-color:#ff8a5c; }
body[data-page="rsvp"] .rs-net-mail{ font-size:14px; }
/* the heads-up to your guest: a note, then one clear action (Oct 27, 2026) */
body[data-page="rsvp"] .heads{ margin-top:clamp(18px,2vw,24px); padding:clamp(16px,1.8vw,20px); border:1px solid rgba(243,236,226,.2); background:rgba(243,236,226,.03); }
body[data-page="rsvp"] .heads-sub{ margin:6px 0 0; font:500 14px/1.45 var(--body); color:rgba(243,236,226,.7); }
body[data-page="rsvp"] .heads-t{ margin:14px 0 0; padding:14px 16px; border-left:2px solid var(--orange-lt); background:rgba(0,0,0,.25); white-space:pre-line; font:400 14.5px/1.55 var(--body); color:rgba(243,236,226,.88); }
body[data-page="rsvp"] .heads-a{ align-items:center; gap:10px 20px; margin-top:16px; }
body[data-page="rsvp"] .heads-a .heads-mail{ min-height:46px; padding:0 22px; font-size:13px; color:#fff !important; border-color:var(--orange-btn) !important; background:var(--orange-btn); }
body[data-page="rsvp"] .heads-a .heads-mail:hover{ background:var(--orange-btn-hi); color:#fff !important; }
body[data-page="rsvp"] .heads-a .linkish{ color:var(--orange-lt); font:700 14px/1.2 var(--body); }
body[data-page="rsvp"] .heads-a .heads-mail .heads-arr{ margin-left:10px; }
/* times now read h:mm (3:00 PM): keep each date + time on one line, a touch tighter (Oct 27, 2026) */
.ticket .tk-bill3 .tk-grp > .tk-fk{ white-space:nowrap; letter-spacing:.03em !important; }
@media (max-width:480px){ .ticket .tk-bill3 .tk-grp > .tk-fk{ font-size:15px !important; letter-spacing:.02em !important; } }
/* PLUS YOUR NETWORK: the ticket's headline benefit, set larger than the line above (Oct 27, 2026) */
body[data-page="rsvp"] .lt .lt-a-net{ margin-top:14px !important; }
body[data-page="rsvp"] .lt .lt-a-net .lt-ab{ font-size:clamp(26px,2.15vw,30px) !important; letter-spacing:.005em; }
body[data-page="rsvp"] .lt .lt-a-net + .lt-for{ margin-top:5px; }
@media (min-width:600px) and (max-width:959px){ body[data-page="rsvp"] .lt .lt-a-net .lt-ab{ font-size:30px !important; } }
@media (max-width:599px){ body[data-page="rsvp"] .lt .lt-a-net{ margin-top:8px !important; } body[data-page="rsvp"] .lt .lt-a-net .lt-ab{ font-size:24px !important; } }

/* ── RSVP type review (Oct 27, 2026): legible small type, parallel ticket lines, a clearer form ── */
/* ticket: YOU + 1 GUEST and PLUS YOUR NETWORK at one size; the navy lines and ADMITS big enough to read on orange */
body[data-page="rsvp"] .lt .lt-adm2 .lt-ab{ font-size:clamp(26px,2.15vw,30px) !important; letter-spacing:.005em; }
body[data-page="rsvp"] .lt .lt-for{ font-size:14px !important; line-height:1.2; letter-spacing:.06em; }
body[data-page="rsvp"] .lt .lt-adm2 .lt-admit{ font-size:12px !important; letter-spacing:.14em; }
@media (min-width:600px) and (max-width:959px){ body[data-page="rsvp"] .lt .lt-adm2 .lt-ab{ font-size:30px !important; } body[data-page="rsvp"] .lt .lt-for{ font-size:13.5px !important; } }
@media (max-width:599px){
  body[data-page="rsvp"] .lt .lt-adm2 .lt-ab{ font-size:24px !important; }
  body[data-page="rsvp"] .lt .lt-for{ font-size:12.5px !important; letter-spacing:.04em; }
  body[data-page="rsvp"] .lt .lt-adm2 .lt-admit{ font-size:11.5px !important; }
  body[data-page="rsvp"] .lt-top{ --lh:26px; }   /* the ticket's YOUR100/EVENTS: EVENTS readable on phones */
}
/* form: hints and links people need, readable; session names lead each card; labels in proportion to the inputs */
body[data-page="rsvp"] .rs-gate .rs-hint, body[data-page="rsvp"] .rs-cant{ font-size:15px !important; color:rgba(243,236,226,.8) !important; }
body[data-page="rsvp"] .rs-pick .rs-row-t b{ font-size:18px; line-height:1.25; }
body[data-page="rsvp"] .rsvp-form .field label{ font-size:14px; }
/* 02 before name + email: dimmed, but still legible */
body[data-page="rsvp"] .rs-mine.rs-locked{ opacity:.45 !important; }
/* the gap before 02 matches the rhythm between the other steps */
body[data-page="rsvp"] #rs-s2 > .rs-h:first-child{ margin-top:clamp(18px,2vw,24px) !important; }

/* "Can't make it? Let us know." — its own line, more presence, room above (Oct 28, 2026) */
body[data-page="rsvp"] .rs-gate-a{ flex-direction:column; align-items:flex-start; gap:0; }
body[data-page="rsvp"] .rs-gate .rs-cant{ margin-top:26px; font:600 16.5px/1.3 var(--body) !important; color:var(--cream) !important; text-decoration-color:rgba(232,140,74,.75); text-decoration-thickness:1.5px; text-underline-offset:5px; }
body[data-page="rsvp"] .rs-gate .rs-cant:hover{ color:var(--orange-lt) !important; }
body[data-page="rsvp"] .rs-gate .rs-claimed[hidden] + .rs-cant{ margin-top:18px; }
body[data-page="rsvp"] .rs-gate .rs-claimed{ margin-top:22px !important; }
/* "Can't make it?" now sits under 02's header */
body[data-page="rsvp"] #rs-s2 .rs-cant{ display:inline-block; margin:12px 0 6px; font:600 16.5px/1.3 var(--body) !important; color:var(--cream) !important; text-decoration-color:rgba(232,140,74,.75); text-decoration-thickness:1.5px; text-underline-offset:5px; }
body[data-page="rsvp"] #rs-s2 .rs-cant:hover{ color:var(--orange-lt) !important; }
body[data-page="rsvp"] .rsvp-done h3 .nb{ white-space:nowrap; }

/* confirmation page: events, guest and the heads-up fold into tap-to-open rows (Oct 28, 2026) */
body[data-page="rsvp"] .rs-fold > summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:12px; margin:0; padding-right:30px; position:relative; }
body[data-page="rsvp"] .rs-fold > summary::-webkit-details-marker{ display:none; }
body[data-page="rsvp"] .rs-fold > summary::after{ content:""; position:absolute; right:4px; top:50%; width:9px; height:9px; margin-top:-7px; border:solid var(--orange-lt); border-width:0 2px 2px 0; transform:rotate(45deg); transition:transform .2s; }
body[data-page="rsvp"] .rs-fold[open] > summary::after{ transform:rotate(-135deg); margin-top:-2px; }
body[data-page="rsvp"] .rs-fold > summary:focus-visible{ outline:2px solid var(--orange-lt); outline-offset:6px; }
body[data-page="rsvp"] .rs-fold[open] > summary{ margin-bottom:12px; }
body[data-page="rsvp"] .rs-fold .rs-rv-k{ display:block; flex:none; }
body[data-page="rsvp"] .rs-fold-m{ margin-left:auto; font:500 15px/1.3 var(--body); color:rgba(243,236,226,.8); text-align:right; }
body[data-page="rsvp"] .rs-fold[open] .rs-fold-m{ visibility:hidden; }
body[data-page="rsvp"] .rs-done-rv .rs-fold + .rs-fold{ margin-top:10px; }
body[data-page="rsvp"] details.heads > summary.heads-h{ display:block; }
body[data-page="rsvp"] details.heads:not([open]) > summary{ margin:0; }
/* two-line confirm button: "Confirm your RSVP." over "Invite More Guests (optional)" */
body[data-page="rsvp"] #send{ display:inline-flex; flex-direction:column; align-items:center; gap:6px; line-height:1.1; }
body[data-page="rsvp"] #send .send-sub{ display:block; font:600 12px/1.2 var(--body); letter-spacing:.06em; text-transform:none; opacity:.85; }
/* capacity: "Full" / "Only N left" on a session (Oct 28, 2026) */
body[data-page="rsvp"] .rs-cap{ display:inline-block; margin-left:10px; padding:3px 7px 2px; vertical-align:2px; font:800 11px/1 var(--display); letter-spacing:.12em; text-transform:uppercase; color:var(--orange-lt); border:1px solid rgba(255,138,92,.6); }
body[data-page="rsvp"] .rs-row.rs-full{ opacity:.5; cursor:not-allowed; }
body[data-page="rsvp"] .rs-row.rs-full .rs-cap{ color:var(--cream); border-color:rgba(243,236,226,.5); }
/* the waitlist under a full session (Nov 4, 2026) */
body[data-page="rsvp"] .rs-wl{ display:flex; gap:10px; align-items:flex-start; margin:-2px 0 10px; padding:10px 14px; border:1.5px dashed rgba(243,236,226,.45); cursor:pointer; font:500 14px/1.4 var(--body); color:var(--cream); }
body[data-page="rsvp"] .rs-wl input{ width:18px; height:18px; margin:1px 0 0; flex:none; accent-color:var(--orange); }
body[data-page="rsvp"] .rs-wl b{ display:block; font:800 13px/1.2 var(--display); letter-spacing:.1em; text-transform:uppercase; }
body[data-page="rsvp"] .rs-wl:has(input:checked){ border-style:solid; border-color:var(--orange); }
body[data-page="rsvp"] .rs-row[hidden] + .rs-wl{ display:none; }
/* "All for Free?!?" over "What's the catch?" (Oct 28, 2026) */
.catch-box, .catch-float{ flex-direction:column; justify-content:center; text-align:center; }
.catch-box .cb-1, .catch-float .cb-1{ display:block; }
.catch-box .cb-2, .catch-float .cb-2{ display:block; margin-top:4px; font-size:.78em; font-weight:600; opacity:.8; }
.catch-box .cb-1, .catch-float .cb-1{ text-transform:uppercase; letter-spacing:.06em; }
.catch-box .cb-2, .catch-float .cb-2{ font-size:1em; font-weight:700; opacity:1; margin-top:5px; }
/* ticket column 2: two stops, 6:00 PM Alleyway Theatre / 7:45 PM Buffalo Iron Works (Oct 28, 2026) */
.ticket .tk-bill3 .tk-list .tk-fn + .tk-sub.tk-prog{ margin-top:16px !important; }
@media (max-width:520px){
  .catch-float{ padding:0 11px !important; }
  .catch-float .cb-1{ font-size:12px; letter-spacing:.02em; }
  .catch-float .cb-2{ font-size:12px; margin-top:4px; }
}
/* column 2's stops: a time under the category, smaller than it (Oct 28, 2026) */
.ticket .tk-bill3 .tk-prog.tk-stop{ margin-top:10px !important; font-size:clamp(12.5px,1.1vw,15px) !important; }
.ticket .tk-bill3 .tk-list .tk-fn + .tk-prog.tk-stop{ margin-top:14px !important; }
.iw-stat-facts .iw-sf-acc{ font-style:normal; color:var(--orange); }
/* Launch Co-Host credit in the hero (Oct 28, 2026) */
.cohost{ display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; margin:clamp(14px,1.6vw,20px) 0 0; }
.cohost .ch-k{ font:800 clamp(13px,1.1vw,15px)/1 var(--display); letter-spacing:.16em; text-transform:uppercase; color:var(--orange-lt, #ff8a5c); }
.cohost .ch-plate{ display:inline-flex; align-items:center; padding:10px 16px; background:#fff; text-decoration:none; box-shadow:0 6px 18px rgba(4,5,46,.25); }
.cohost .ch-logo{ display:block; height:clamp(30px,2.8vw,40px); width:auto; }
.cohost .ch-name{ font:800 clamp(18px,1.6vw,22px)/1 var(--body); color:var(--navy); letter-spacing:.01em; }
@media (min-width:960px){
  .hero-in > .cohost{ order:2; margin-top:clamp(18px,2vw,26px) !important; margin-bottom:clamp(30px,3vw,44px) !important; position:relative; z-index:2; }
  .hero-in > .tagline:has(+ .cohost){ margin-bottom:0 !important; }
}
@media (max-width:959px){ .hero-in > .cohost{ margin-top:18px; } }
/* Lawley's logo has a second line (Insurance | Employee Benefits): taller, so it reads */
.cohost .ch-plate{ padding:6px 12px; }
.cohost .ch-logo{ height:clamp(52px,4.6vw,64px); }
/* co-host logo in white, straight on the navy: no plate (Oct 28, 2026) */
.cohost .ch-plate{ padding:0; background:none; box-shadow:none; }
.cohost .ch-name{ color:#fff; }

/* ===== Inaugural Launch Partners band (Oct 28, 2026) =====
   Deep navy, directly under the hero. A small tracked label with hairlines either side, then the three marks in white,
   divided by hairline rules. Heights are set per logo (--h) so they carry equal weight. */
.lp-band{ position:relative; background:#080a3c; color:#fff; border-top:1px solid rgba(255,255,255,.08); }
.lp-in{ max-width:1180px; margin:0 auto; padding:clamp(30px,3.6vw,48px) var(--gut,20px) clamp(34px,4vw,52px); }
.lp-k{ display:flex; align-items:center; gap:18px; margin:0 0 clamp(22px,2.6vw,32px); font:800 12px/1 var(--display); letter-spacing:.28em; text-transform:uppercase; color:var(--orange-lt, #ff8a5c); }
.lp-k::before, .lp-k::after{ content:""; flex:1; height:1px; background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.22)); }
.lp-k::after{ background:linear-gradient(90deg, rgba(255,255,255,.22), rgba(255,255,255,0)); }
.lp-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); align-items:center; }
.lp-list li{ display:flex; justify-content:center; align-items:center; min-height:72px; padding:0 clamp(16px,3vw,40px); }
.lp-list li + li{ border-left:1px solid rgba(255,255,255,.16); }
.lp-list a{ display:block; line-height:0; opacity:.92; transition:opacity .2s, transform .2s; }
.lp-list a:hover, .lp-list a:focus-visible{ opacity:1; transform:translateY(-1px); }
.lp-list a:focus-visible{ outline:2px solid var(--orange-lt, #ff8a5c); outline-offset:8px; }
.lp-list img{ display:block; height:var(--h); width:auto; max-width:100%; }
/* tablet: a touch smaller */
@media (max-width:959px){ .lp-list img{ height:calc(var(--h) * .82); } .lp-list li{ padding:0 14px; } }
/* phone: stacked, hairlines between */
@media (max-width:620px){
  .lp-k{ gap:12px; font-size:11px; letter-spacing:.22em; }
  .lp-list{ grid-template-columns:1fr; }
  .lp-list li{ min-height:0; padding:20px 0; }
  .lp-list li + li{ border-left:0; border-top:1px solid rgba(255,255,255,.12); }
  .lp-list li:first-child{ padding-top:4px; } .lp-list li:last-child{ padding-bottom:0; }
  .lp-list img{ height:calc(var(--h) * .85); }
}
.lp-k{ font-size:13px; }
/* closing ticket: "Bring one guest. Invite up to eight more." in the ticket's navy display caps, one per line (Oct 28, 2026) */
.ask-sub{ margin-top:clamp(12px,1.4vw,18px); font:900 clamp(20px,2.1vw,28px)/1.05 var(--display); letter-spacing:.03em; text-transform:uppercase; color:var(--navy-deep, #0b0d58); }
.ask-sub span{ display:block; position:relative; padding-left:1em; }
.ask-sub span + span{ margin-top:.45em; }
.ask-sub span::before{ content:'\2022'; position:absolute; left:0; }   /* bullets for the two lines (Nov 2, 2026) */
.ask-sub span:only-child{ padding-left:0; }
.ask-sub span:only-child::before{ content:none; }   /* one line (the You + 1 Guest site): no bullet */
/* Day 2: YOUR100/ SESSIONS lockup, then the sub head "Film & Music" (Oct 28, 2026) */
.day2-lk-sub{ margin:clamp(8px,1vw,12px) 0 0; font:800 clamp(20px,2vw,28px)/1 var(--display); letter-spacing:.06em; text-transform:uppercase; color:var(--orange-dk, #c4502c); }
.day2-lkw{ text-align:center; } .day2-lkw .sb-lock{ margin-left:auto; margin-right:auto; }
/* hero ends just below the ticket, so the launch partners band rises into the first screen (Oct 28, 2026; was full-screen
   height with room under the ticket for the floating claim buttons) */
@media (min-width:960px){
  .hero{ min-height:0 !important; }
  .hero-in{ padding-bottom:clamp(36px,3.4vw,52px) !important; }
}
@media (max-width:959px){ .hero{ padding-bottom:clamp(24px,4vw,40px) !important; } }
@media (min-width:960px){
  .hero-in{ padding-top:clamp(30px,3vw,48px) !important; }
  .hero-in > .tagline{ margin-bottom:clamp(20px,2vw,30px) !important; }
}

/* copyright line */
.ft-copy{ margin-top:10px; font-size:12px; opacity:.75; }

/* ™ at the top-right of the YOUR100 logo (logo is 1123.25 × 305.94, so its width = 3.6715 × --lh) */
.lockup{ position:relative; }
.lockup > .tm{ position:absolute; top:calc(var(--lh) * -0.04); left:calc(var(--lh) * 3.6715 + 2px); font:600 max(9px, calc(var(--lh) * 0.16))/1 'IBM Plex Sans', Arial, sans-serif; color:currentColor; opacity:.9; pointer-events:none; }
.tk-h .lockup > .tm, .hero h1 .lockup > .tm{ color:#fff; }

/* invite your network: the one-link-one-person rule, made prominent (Oct 28, 2026) */
body[data-page="rsvp"] .rs-net-rule{ width:100%; box-sizing:border-box; margin:2px 0; padding:12px 16px 13px; border-left:4px solid #ff8a5c; background:rgba(255,138,92,.13); }
body[data-page="rsvp"] .rs-net-rule-h{ margin:0 0 5px; font:900 15px/1.1 var(--display); letter-spacing:.06em; text-transform:uppercase; color:#ff8a5c; }
body[data-page="rsvp"] .rs-net-rule-t{ margin:0; font:500 15px/1.5 var(--body); color:#fff; }
body[data-page="rsvp"] .rs-net-rule-t b{ font-weight:800; }
body[data-page="rsvp"] .rs-net-back{ font-size:14px; color:rgba(243,236,226,.8); }

/* ── phones: a shorter hero ticket (Oct 28, 2026) ──
   the evening column in short (config: billing subs with only:'phone' / only:'wide'), and FREE + the dates as one slim strip */
.tk-only{ display:contents; }
.tk-only-phone{ display:none; }
@media (max-width:599px){
  .tk-only-wide{ display:none; }
  .tk-only-phone{ display:contents; }
  .hero-in > a.ticket .tk-stub{ display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:space-between !important; gap:12px; padding:14px 22px 16px !important; }
  .hero-in > a.ticket .tk-stub{ flex-wrap:nowrap !important; }
  /* the strip tears off along the bottom at every phone width, not only below 520px: from 521 to 599 it sat beside the lineup and covered it (Nov 4, 2026) */
  .hero-in > a.ticket{ grid-template-columns:1fr !important; }
  .hero-in > a.ticket .tk-stub{ background-image:radial-gradient(circle, rgba(11,13,88,.9) 2.5px, transparent 3px); background-size:14px 6px; background-repeat:repeat-x; background-position:left top; }
  .hero-in > a.ticket .tk-slist{ display:block !important; margin:0 !important; width:auto !important; flex:none !important; }
  .hero-in > a.ticket .tk-sfree{ margin:0 !important; }
  .hero-in > a.ticket .tk-sdate{ flex:none !important; width:auto !important; }
  /* tighter heading and padding */
  .hero-in > a.ticket .tk-main{ padding-top:24px !important; padding-bottom:18px !important; }
  .hero-in > a.ticket .tk-sd0::after{ content:" \00B7"; }
  .hero-in > a.ticket .tk-h{ --lh:clamp(30px,11vw,46px) !important; }
  .hero-in > a.ticket .tk-no{ margin-bottom:6px !important; }
  .hero-in > a.ticket .tk-row.tk-bill3 > .tk-bcol:nth-child(3){ padding-top:8px !important; }
  .hero-in > a.ticket .tk-sfree{ font-size:46px !important; line-height:1 !important; text-align:left !important; }
  .hero-in > a.ticket .tk-sdate{ display:grid !important; grid-template-columns:auto auto; column-gap:6px; justify-content:end; align-items:baseline; text-align:right; margin:0 !important; padding:0 !important; border:0 !important; }
  .hero-in > a.ticket .tk-sdate > span::before{ content:none !important; }
  .hero-in > a.ticket .tk-sd0{ grid-column:1; grid-row:1; }
  .hero-in > a.ticket .tk-sd3{ grid-column:2; grid-row:1; }
  .hero-in > a.ticket .tk-sd1{ grid-column:1; grid-row:2; }
  .hero-in > a.ticket .tk-sd2{ grid-column:2; grid-row:2; font-size:26px !important; line-height:1 !important; }
}

/* phones: the opening question as a lead-in, not a headline; the six passion networks two across (Oct 28, 2026) */
@media (max-width:520px){ .hk h2.hk-q1{ font-size:clamp(22px,6vw,25px) !important; line-height:1.22 !important; max-width:none !important; } }
@media (max-width:599px){
  .y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul{ grid-template-columns:1fr 1fr !important; column-gap:18px !important; row-gap:26px !important; align-items:center; }
  .y1m-nets-v2 .y1m-pillar-passion{ --cap:none; }
  .y1m-nets-v2 .y1m-pillar-passion li, .y1m-nets-v2 .y1m-pillar-passion li img{ width:100% !important; max-width:none !important; height:auto !important; }
}

/* phones: "What's with the name?" + the networks line fold behind a Read more link (Oct 28, 2026) */
.y1m-more{ display:none; }
@media (max-width:599px){
  .y1m-main:not(.y1m-open) > .y1m-name, .y1m-main:not(.y1m-open) > .y1m-netsline{ display:none; }
  .y1m-main:not(.y1m-open) > .y1m-more{ display:block; width:auto; text-align:left; margin:14px 0 0; padding:0; border:0; background:none; cursor:pointer;
    font:700 16px/1.4 var(--body); color:var(--navy); text-decoration:underline; text-decoration-color:#c84018; text-underline-offset:4px; text-decoration-thickness:2px; }
}

/* two-day ticket (Oct 29, 2026): room above the ticket's footer line */
.ticket .tk-bill2c + .tk-mfoot, .ticket .tk-main > .tk-bill2c ~ .tk-mfoot{ margin-top:clamp(20px,2.2vw,30px) !important; }
.ticket .tk-bill2c .tk-fn + .tk-sub{ margin-top:12px !important; }

/* "They will this time." in the same type as the question above it (Oct 29, 2026) */
.hk .hk-q.hk-q2{ max-width:21ch; font:500 clamp(30px,3.7vw,54px)/1.12 var(--body) !important; letter-spacing:-.018em; color:var(--navy); }
@media (max-width:520px){ .hk .hk-q.hk-q2{ font-size:clamp(22px,6vw,25px) !important; line-height:1.22 !important; } }

/* Issues | Experiences inside What's YOUR100?, just before the networks (Oct 29, 2026) */
.pgx.pgx-up{ background:var(--paper); border:0 !important; margin:0 !important; }
.pgx-up-lead{ padding-top:0; padding-bottom:clamp(28px,3vw,44px); }
.pgx-up-lead::before{ content:""; display:block; border-top:1px solid var(--line); margin-bottom:clamp(36px,4vw,56px); }
.pgx-up-lead p{ margin:0; max-width:30em; font:400 clamp(25px,2.4vw,34px)/1.22 var(--body); letter-spacing:-.012em; color:var(--navy); text-wrap:balance; }
@media (max-width:599px){ .pgx-up-lead p{ font-size:clamp(21px,5.9vw,24px); line-height:1.26; } }
.y1m:has(+ .pgx-up){ padding-bottom:clamp(40px,4.4vw,64px) !important; }
.y1m.y1m-cont{ border-top:0 !important; padding-top:clamp(8px,1vw,16px) !important; }

/* the floating Claim + Catch buttons, larger (Oct 29, 2026) */
@media (min-width:641px){
  .float-bar .claim-float{ padding:11px 22px !important; gap:4px !important; }
  .float-bar .claim-float .cf-l{ font-size:17px !important; }
  .float-bar .claim-float .cf-lead{ font-size:12.5px !important; }
  .float-bar .claim-float .cf-s{ font-size:12px !important; }
  .float-bar .catch-float{ padding:0 20px !important; }
  .float-bar .catch-float .cb-1, .float-bar .catch-float .cb-2{ font-size:14px !important; }
}
@media (max-width:640px){
  .float-bar .claim-float .cf-l{ font-size:14px !important; letter-spacing:.08em !important; white-space:nowrap; }
  .float-bar .claim-float .cf-s{ font-size:11.5px !important; white-space:normal !important; line-height:1.3 !important; }
  .float-bar .catch-float .cb-1, .float-bar .catch-float .cb-2{ font-size:11.5px !important; }
}
@media (max-width:420px){
  .float-bar .claim-float .cf-l{ font-size:13px !important; letter-spacing:.06em !important; }
  .float-bar .claim-float .cf-l > span[aria-hidden]{ display:none; }   /* no arrow: room for the title */
  .float-bar .claim-float{ padding-left:10px !important; padding-right:10px !important; }
  .float-bar .catch-float{ padding:0 10px !important; }
  .float-bar .catch-float .cb-1, .float-bar .catch-float .cb-2{ font-size:11.5px !important; }
}
/* phones: both small lines in the orange button (Oct 29, 2026) */
@media (max-width:420px){
  .float-bar .claim-float .cf-lead{ display:block !important; font-size:10.5px !important; line-height:1.25 !important; text-align:center; font-weight:600 !important; }
  .float-bar .claim-float .cf-s{ font-size:10.5px !important; line-height:1.25 !important; }
  .float-bar .claim-float{ gap:3px !important; padding-top:8px !important; padding-bottom:8px !important; }
}
/* ticket foot: "For good." in blue (Oct 29, 2026) */
.tk-mf-blue{ color:var(--navy, #13137a); }

/* ═══════════ Oct 29, 2026: editorial, design & UX refinement ═══════════ */
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

/* 1 · Hero: a quiet jump to the agenda, subordinate to the ticket */
.hero-lineup{ margin:clamp(14px,1.6vw,20px) 0 0; position:relative; z-index:2; }
.hero-lineup a{ font:600 15px/1.3 var(--body); letter-spacing:.01em; color:var(--cream); text-decoration:underline; text-decoration-color:rgba(255,138,92,.8); text-underline-offset:5px; text-decoration-thickness:1.5px; }
.hero-lineup a:hover{ color:#fff; text-decoration-color:var(--orange-lt); }
.hero-lineup a:focus-visible{ outline:2px solid var(--orange-lt); outline-offset:4px; }
@media (min-width:960px){ .hero-in > .hero-lineup{ order:4; } }

/* 2 · The hook: one statement; the payoff lands in orange */
.hk-in{ padding-top:clamp(44px,5.4vw,72px) !important; padding-bottom:clamp(44px,5.4vw,72px) !important; }
.hk h2.hk-q1{ max-width:none !important; width:min(100%, 63%); }
.hk .hk-q.hk-q2{ max-width:none !important; margin-top:clamp(16px,1.8vw,24px) !important; font-weight:800 !important; color:var(--orange-dk) !important; letter-spacing:-.02em; }
@media (max-width:959px){ .hk h2.hk-q1{ width:100%; } }

/* 3 · What's YOUR100?: the idea, its second beat, then the name as a quiet aside */
.y1m-idea-after{ margin-top:clamp(10px,1.2vw,16px) !important; }
.y1m-idea.y1m-idea-after{ text-wrap:wrap; }   /* longer paragraphs: pretty broke mid-paragraph (Nov 4, 2026) */
.y1m-name2{ margin-top:clamp(26px,3vw,38px); padding-top:clamp(20px,2.2vw,28px); border-top:1px solid var(--line); max-width:36em; }
.y1m-name-h{ margin:0 0 8px; font:800 clamp(16px,1.3vw,18px)/1.1 var(--display); letter-spacing:.12em; text-transform:uppercase; color:var(--navy); }
.y1m-name2 .y1m-p{ margin:0; font-size:clamp(15.5px,1.15vw,17px); line-height:1.6; color:var(--ink-2); }
.y1m .y1m-callout{ margin-bottom:0 !important; }

/* 4 · Issues | Experiences, compact: kicker, lockup, tagline, one line */
.pgx-compact .pgx-stage{ --stage-h:clamp(460px,37vw,550px) !important; }   /* room for the Built for… paragraphs (Oct 29, 2026; was clamp(440px,36vw,500px)) */
.pgx-e .pgx-blurb{ max-width:none; padding-right:clamp(0px,4vw,60px); }
.pgx-tagline{ margin:clamp(14px,1.6vw,22px) 0 0; font:800 clamp(30px,3.2vw,48px)/1 var(--display); letter-spacing:.005em; text-transform:uppercase; }
.pgx-i .pgx-tagline{ color:var(--navy); }
.pgx-e .pgx-tagline{ color:var(--orange); }
.pgx-blurb{ margin:clamp(10px,1.1vw,14px) 0 0; max-width:26em; font:400 clamp(16px,1.25vw,18.5px)/1.5 var(--body); }
.pgx-i .pgx-blurb{ color:var(--ink-2); }
.pgx-e .pgx-blurb{ color:var(--cream-2); }
.pgx-up-lead{ padding-bottom:clamp(20px,2.4vw,32px) !important; }

/* 5 · Eight founding networks */
.y1m-nets-top{ margin:0 0 clamp(26px,3vw,40px); }
.y1m-nets-top-h{ margin:0; font:800 clamp(34px,3.8vw,56px)/.98 var(--display); letter-spacing:.005em; text-transform:uppercase; color:var(--navy); }
.y1m-nets-top-h span{ display:block; }
.y1m-nets-top-h .nt-2{ color:var(--orange-dk); }
.y1m-nets-top-s{ margin:clamp(10px,1.2vw,16px) 0 0; font:500 clamp(19px,1.7vw,24px)/1.35 var(--body); color:var(--navy); }
.y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillar-passion ul{ row-gap:clamp(28px,3vw,40px) !important; }
.y1m-nets-pow{ margin-top:clamp(22px,2.4vw,32px) !important; padding-top:clamp(16px,1.8vw,22px) !important; }
.y1m.y1m-cont{ padding-bottom:clamp(48px,5vw,72px) !important; }

/* 6 · The black Launch transition: short and theatrical */
.pgx-mast2{ padding:clamp(48px,5.4vw,76px) 0 clamp(44px,5vw,68px) !important; }
.pgx-mast2 .m2-eye{ margin:0 0 clamp(10px,1.2vw,16px); font:800 clamp(13px,1.1vw,15px)/1 var(--display); letter-spacing:.24em; text-transform:uppercase; color:var(--orange-lt); }
.pgx-mast2 .pgx-mast-name{ margin:0; }
.pgx-mast2 .pgx-mast-date{ margin:clamp(12px,1.3vw,18px) 0 0; }
.m2-cols{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:clamp(20px,4vw,64px); margin-top:clamp(28px,3.2vw,44px); padding-top:clamp(22px,2.4vw,30px); border-top:1px solid var(--line-night); }
.m2-h{ margin:0 0 6px; font:800 clamp(28px,2.8vw,40px)/1 var(--display); letter-spacing:.01em; text-transform:uppercase; color:var(--cream); }
.m2-h.m2-acc{ color:var(--orange-lt); }
.m2-t{ margin:0; font:400 clamp(16px,1.25vw,18px)/1.5 var(--body); color:var(--cream-2); }
.m2-t .y1m-acc{ font-weight:600; color:var(--orange-lt); }
.m2-link{ margin:12px 0 0; }
.m2-link a{ font:600 14.5px/1.4 var(--body); color:var(--cream); text-decoration:underline; text-decoration-color:rgba(255,138,92,.7); text-underline-offset:4px; }
.m2-link a:hover{ color:#fff; }
@media (max-width:599px){ .m2-cols{ grid-template-columns:1fr; } }

/* 7 · Agenda: get to the first session faster */
.day-tab-l{ white-space:nowrap; }
.iw-chead{ padding-top:clamp(28px,3vw,40px); }
.iw-ck{ margin:0 0 clamp(8px,1vw,12px); font:800 clamp(14px,1.15vw,16px)/1 var(--display); letter-spacing:.2em; text-transform:uppercase; color:var(--orange-dk); }
.iw-chead .sb-lock, .iw-chead h3{ --lh:clamp(34px,3.4vw,50px) !important; margin:0; }
.iw-cvenue{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 18px; margin:clamp(12px,1.3vw,16px) 0 0; font:600 clamp(16px,1.25vw,18px)/1.3 var(--body); color:var(--navy); }
.iw-cv-by{ display:inline-flex; align-items:center; gap:10px; font:700 11px/1 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--ink-2); }
.iw-cv-by img{ height:24px; width:auto; }
.iw-chead + .ck-chip{ margin-top:10px !important; }

/* 8 · The one sticky claim */
.float-cta{ position:fixed; z-index:60; right:clamp(14px,2vw,28px); bottom:calc(clamp(14px,2vw,24px) + env(safe-area-inset-bottom)); opacity:0; transform:translateY(12px); pointer-events:none; transition:opacity .2s ease, transform .2s ease; }
.float-cta.on{ opacity:1; transform:none; pointer-events:auto; }
.float-cta a{ display:flex; flex-direction:column; gap:3px; padding:11px 20px 12px; background:var(--orange-btn); color:#fff; text-decoration:none; box-shadow:0 8px 24px rgba(0,0,0,.28); }
.float-cta a:hover{ background:var(--orange-btn-hi); }
.float-cta a:focus-visible{ outline:3px solid #fff; outline-offset:2px; }
.float-cta .fc-l{ font:800 16px/1.1 var(--display); letter-spacing:.14em; text-transform:uppercase; }
.float-cta .fc-s{ font:500 12.5px/1.2 var(--body); opacity:.92; }
@media (max-width:640px){
  .float-cta{ left:0; right:0; bottom:0; transform:translateY(100%); }
  .float-cta.on{ transform:none; }
  .float-cta a{ flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:56px; padding:9px 16px calc(9px + env(safe-area-inset-bottom)); text-align:center; box-shadow:0 -6px 20px rgba(0,0,0,.25); }
  .float-cta .fc-l{ font-size:16px; letter-spacing:.12em; white-space:nowrap; }
  .float-cta .fc-s{ font-size:12px; }
  body{ padding-bottom:calc(60px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion:reduce){ .float-cta{ transition:none; } }
/* agenda opener, tighter (Oct 29, 2026) */
.ag-band{ padding-top:clamp(40px,4.4vw,64px) !important; }
#agenda{ padding-top:0 !important; }
#agenda .iw-chead + .ck-chip{ margin-bottom:clamp(20px,2.2vw,30px) !important; }
#agenda > .wrap + .db .db-tx{ padding-top:clamp(28px,3vw,40px) !important; }
@media (max-width:599px){
  .day-tab-l{ font-size:clamp(16px,4.7vw,20px) !important; letter-spacing:0 !important; }
  .day-tab{ min-width:0; }
}
/* hero: Explore the lineup + Claim your free ticket, side by side (Oct 29, 2026) */
.hero-lineup{ display:flex; flex-wrap:wrap; gap:10px 28px; }
.y1m-nets-top-n{ margin:clamp(8px,1vw,12px) 0 0; max-width:40em; font:400 clamp(15.5px,1.15vw,17px)/1.55 var(--body); color:var(--ink-2); }

/* ═══ Day 2 · Ten Year Town, Oct 29, 2026: when + where up top, the live show as a selling point, preview before the songwriters ═══ */
.day2-lkw{ padding-top:clamp(22px,2.4vw,40px) !important; }
.day2-lkw + .day2-in{ padding-top:clamp(22px,2.4vw,36px) !important; }
.day2-when{ margin-top:6px; font:800 clamp(22px,2.2vw,30px)/1.1 var(--display); letter-spacing:.03em; text-transform:uppercase; color:var(--orange-dk); }
.day2-h{ margin-top:clamp(12px,1.4vw,18px) !important; }
.day2-tag{ margin-top:clamp(12px,1.4vw,16px) !important; }
.day2-x{ margin-top:10px !important; max-width:34em !important; font-size:16.5px !important; }
.day2-x em{ font-style:italic; }
.day2-live{ margin-top:clamp(18px,2vw,24px) !important; padding:2px 0 2px 16px !important; border-top:0 !important; border-left:4px solid var(--orange); }
.day2-live-h{ margin-top:4px; font:900 clamp(22px,2.2vw,30px)/1.05 var(--display); text-transform:uppercase; letter-spacing:.01em; color:var(--navy); }
.day2-live-x{ margin-top:4px !important; font:500 16px/1.5 var(--body) !important; color:var(--ink) !important; }
.day2-film-up{ margin-top:clamp(16px,1.8vw,22px) !important; }
.day2-film a:focus-visible{ outline:2px solid var(--orange-dk); outline-offset:4px; }
.day2-al{ margin-top:clamp(22px,2.4vw,30px) !important; }
.day2-artists{ gap:8px 24px !important; padding-top:12px !important; }
@media (min-width:960px){ .day2-art{ position:static !important; margin-top:clamp(40px,4vw,56px); } }
/* phones + tablets: date and title, then the art, then the rest */
@media (max-width:959px){
  .day2-in{ display:flex !important; flex-direction:column; gap:0 !important; }
  .day2-tx{ display:contents; }
  .day2-tx > *{ order:3; }
  .day2-tx > .iw-slug, .day2-tx > .day2-when, .day2-tx > .day2-h, .day2-tx > .day2-tag{ order:1; }
  .day2-art{ order:2 !important; margin:clamp(18px,3vw,26px) 0 4px !important; max-width:560px; }
}

/* ═══ Evening + Orange Ticket finale, Oct 29, 2026 ═══ */
/* header: no big 6:00 beside the lockup; the lineup line sells the night */
.iw-night .iw-banner{ font-size:clamp(33px,4.1vw,59px) !important; }
.iw-head.iw-head-nowhen{ grid-template-columns:1fr !important; }
.iw-head.iw-head-nowhen > .iw-when{ display:none !important; }
.iw-lineup{ margin-top:clamp(12px,1.4vw,18px); max-width:none; text-wrap:balance; font:800 clamp(20px,2vw,28px)/1.2 var(--display); letter-spacing:.02em; text-transform:uppercase; color:var(--orange-lt, #ff8a5c); }
.iw-night > .wrap:first-child{ padding-bottom:clamp(20px,2.4vw,32px) !important; }
/* the schedules: one time column, acts first, quieter notes */
.sb .iw-sub-t{ white-space:nowrap; }
.iw-sub-kind{ display:block; margin-top:2px; font:italic 600 14.5px/1.35 var(--body); color:var(--orange-lt, #ff8a5c); }
.iw-rooms-note{ display:block; margin-top:8px; font:500 13.5px/1.4 var(--body); color:rgba(243,236,226,.72); }
.iw-sub .iw-rooms-note{ grid-column:2; }
@media (max-width:420px){ .iw-sub .iw-rooms-note{ grid-column:1 / -1; } }
.sb .iw-rooms > div + div{ padding-top:8px; border-top:1px solid rgba(243,236,226,.12); }
.sb .iw-sub > li + li{ border-top:1px solid rgba(243,236,226,.14); padding-top:12px; margin-top:12px; }
/* who's invited: one line, closer to the ticket */
.ask{ padding-top:clamp(56px,6vw,84px) !important; }
/* the Orange Ticket: the whole ticket is the link (one link, stretched) */
.ticket.ask-ticket{ position:relative; }
.ask-claim::after{ content:''; position:absolute; inset:0; z-index:1; }
.ask-claim:focus-visible{ outline:none; }
.ticket.ask-ticket:has(.ask-claim:focus-visible){ outline:3px solid #fff; outline-offset:6px; }
.ticket.ask-ticket:has(.ask-claim:hover) .ask-claim{ color:#fff; }
/* footer: same signature, less black */
.ft{ padding-top:clamp(36px,4vw,56px) !important; padding-bottom:0 !important; }
.ft-mark{ margin-top:clamp(20px,2.6vw,36px) !important; margin-bottom:-8.5vw !important; }
.ft-row{ margin-top:14px !important; }
.ft-mark{ margin-top:clamp(12px,1.6vw,24px) !important; margin-bottom:-10vw !important; }
.ft-legal + .ft-legal, .ft-copy{ margin-top:6px !important; }

/* ═══ RSVP confirmation + Invite your network, Oct 29, 2026 ═══ */
body[data-page="rsvp"] .rs-ok h3{ margin-top:4px; }
body[data-page="rsvp"] .rs-ok-t{ margin-top:8px; display:flex; align-items:center; gap:10px; font:700 clamp(17px,1.4vw,19px)/1.3 var(--body); color:#fff; }
body[data-page="rsvp"] .rs-ok-mark{ display:inline-grid; place-items:center; width:24px; height:24px; flex:none; border-radius:50%; background:var(--orange-btn); color:#fff; font:800 14px/1 var(--body); }
body[data-page="rsvp"] .rs-ok-n{ margin-top:6px; color:rgba(243,236,226,.78); }
/* the rule: short and quiet */
body[data-page="rsvp"] .rs-net-rule{ padding:8px 14px 9px !important; background:none !important; border-left-width:3px !important; }
body[data-page="rsvp"] .rs-net-rule-h{ margin-bottom:3px !important; font-size:13.5px !important; }
body[data-page="rsvp"] .rs-net-rule-t{ font-size:14px !important; line-height:1.45 !important; color:rgba(243,236,226,.86) !important; }
/* your invitations */
body[data-page="rsvp"] .rs-inv{ width:100%; margin-top:6px; }
body[data-page="rsvp"] .rs-inv-h{ font:800 15px/1 var(--display); letter-spacing:.12em; text-transform:uppercase; color:#fff; }
body[data-page="rsvp"] .rs-inv .rs-net-count{ margin:4px 0 8px; }
body[data-page="rsvp"] .rs-net-used .rs-net-st{ color:var(--orange-lt); }
body[data-page="rsvp"] .rs-net-acts{ display:flex; flex-wrap:wrap; gap:4px 16px; flex-basis:100%; }
body[data-page="rsvp"] .rs-net-link{ font-size:14px; }
body[data-page="rsvp"] .rs-net-list li{ overflow-wrap:anywhere; }
/* return anytime */
body[data-page="rsvp"] .rs-back{ width:100%; margin-top:8px; padding-top:14px; border-top:1px solid rgba(243,236,226,.22); }
body[data-page="rsvp"] .rs-back-h{ font:800 18px/1 var(--display); letter-spacing:.06em; text-transform:uppercase; color:#fff; }
body[data-page="rsvp"] .rs-back-t{ margin-top:6px; font:400 15px/1.45 var(--body); color:rgba(243,236,226,.86); }
body[data-page="rsvp"] .rs-back-copy{ margin-top:10px; padding:9px 14px; background:none; border:1.5px solid rgba(243,236,226,.7); color:#fff; font:700 13px/1 var(--body); letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
body[data-page="rsvp"] .rs-back-copy:hover{ border-color:#fff; background:rgba(255,255,255,.06); }
body[data-page="rsvp"] .rs-back-copy:focus-visible, body[data-page="rsvp"] .rs-net-link:focus-visible{ outline:2px solid var(--orange-lt); outline-offset:3px; }
body[data-page="rsvp"] .rs-back-n{ margin-top:8px; font:400 13px/1.4 var(--body); color:rgba(243,236,226,.62); }
/* step 02 button, two lines (Oct 29, 2026): complete your reservation (everyone) + bring your people (optional) */
body[data-page="rsvp"] .rs-next-2l{ display:inline-flex; flex-direction:column; align-items:flex-start; gap:5px; text-align:left; padding-top:16px; padding-bottom:16px; }
body[data-page="rsvp"] .rs-next-2l .rs-nl1{ display:block; }
body[data-page="rsvp"] .rs-next-2l .rs-nl2{ display:block; font-size:.78em; letter-spacing:.1em; opacity:.88; }

/* ═══ Intentional line breaks, Oct 29, 2026 ═══
   headings balance their lines; running text avoids a lone last word (an orphan) */
h1, h2, h3, h4, .eyebrow, .tagline, .kicker, .hk-q, .sb-title, .sb-tag, .iw-banner, .iw-lineup, .day2-tag, .pgx-tagline, .m2-h, .y1m-nets-top-h, .ask-h, .ask-sub{ text-wrap:balance; }
p, li, dd, dt, figcaption, .tk-mf-a, .tk-fn, .tk-more, .sb-desc, .iw-text, .day2-x, .pgx-blurb, .y1m-idea, .y1m-p, .rs-net-sub, .rs-back-t, .ck-chip{ text-wrap:pretty; }
/* phrases that must not split */
.tk-mf-blue{ white-space:nowrap; }
.iw-sub-act > b, .day-tab-s, .day-tab-n, .sb-head, .pgx-mast-name{ text-wrap:balance; }
.iw-sub-guests small{ white-space:nowrap; }
.hk-q1 em{ white-space:nowrap !important; }
.hl-c2{ white-space:nowrap; }
@media (max-width:599px){ .hl-c2{ display:block; } }
@media (max-width:599px){
  .tk-mf-a .tk-mf-blue{ display:block; }   /* "For good." on its own line, by design */
  .m2-dl{ display:block; } .m2-dot{ display:none; }   /* the date: two lines, not a dangling · */
  .day-tab-n{ display:block; }
}
.eco-bar-go{ text-wrap:balance; }
.hero-lineup .hl-claim{ text-wrap:balance; }
body[data-page="rsvp"] .rs-row-t > *{ text-wrap:pretty; }
/* RSVP ticket stamp on phones (Oct 29, 2026): a compact box sized to its text, clear of the inner border */
@media (max-width:959px){
  body[data-page="rsvp"] .lt .tk-stamp, body[data-page="rsvp"] .rsvp-ticket .tk-stamp{ display:block !important; width:max-content !important; max-width:calc(100% - 24px); align-self:flex-start; margin:12px 0 4px 2px !important; padding:6px 12px 5px !important; text-align:center; white-space:nowrap; line-height:1.1; transform:rotate(-4deg) !important; transform-origin:left center; }
}

/* Issues | Experiences (compact, Oct 29, 2026): the topic line reads as a subhead, then a "Built for…" paragraph */
.pgx-compact .pgx-blurb{ margin-top:clamp(14px,1.5vw,20px); max-width:22em; font:600 clamp(21px,1.85vw,27px)/1.3 var(--body); letter-spacing:-.005em; }
.pgx-compact .pgx-i .pgx-blurb{ color:var(--navy); }
.pgx-compact .pgx-e .pgx-blurb{ color:var(--cream); max-width:none; }   /* full width: the diagonal float sets the left edge */
.pgx-built{ margin:clamp(14px,1.5vw,20px) 0 0; max-width:30em; font:400 clamp(16px,1.2vw,18px)/1.55 var(--body); text-wrap:pretty; }
.pgx-built strong{ font-weight:700; }
.pgx-i .pgx-built{ color:var(--ink-2); }
.pgx-i .pgx-built strong{ color:var(--orange-dk); }
.pgx-e .pgx-built{ color:var(--cream-2); max-width:none; padding-right:clamp(0px,4vw,60px); }
.pgx-e .pgx-built strong{ color:var(--orange-lt); }
@media (max-width:899px){ .pgx-compact .pgx-e{ padding-bottom:40px; } }   /* tighter under Engage through Entertainment (Oct 29, 2026) */
@media (min-width:900px){ .pgx-compact .pgx-tagline{ white-space:nowrap; } }   /* one line, like IDEAS. WORTH ACTING ON. (Oct 29, 2026) */
.y1m-nets-top-s .y1m-acc{ color:var(--orange-dk); font-weight:700; }   /* Profession / Hometown / Passions (Oct 30, 2026) */
.y1m-nets-top-n .y1m-acc{ color:var(--orange-dk); font-weight:700; }   /* eight Founding Networks for Good (Oct 30, 2026) */
.y1m-nets-logos-h{ margin:clamp(8px,1vw,14px) 0 clamp(18px,2vw,28px); font:800 clamp(26px,2.6vw,38px)/1 var(--display); letter-spacing:.01em; text-transform:uppercase; color:var(--navy); text-wrap:balance; }   /* Our Founding Networks for Good (Oct 30, 2026) */
@media (min-width:720px){ .y1m-pillar-profession .y1m-pillar-p, .y1m-pillar-hometown .y1m-pillar-p{ min-height:4.5em; } }   /* side by side: the two explainers take the same room, so the logos line up (Oct 30, 2026) */
@media (min-width:720px){ .y1m-grid > .y1m-nets-wide.y1m-nets-v2 .y1m-pillars ul > li.y1m-net-cjg > img{ transform:translateY(-8.5%); } }   /* the Justice Gap artwork has built-in space above it: lift it so its top lines up with Back to Buffalo's (Oct 30, 2026) */
.y1m-pillar-passion .y1m-pillar-p{ margin-bottom:calc(clamp(20px,2.2vw,28px) + 12px); }   /* a little more room above the Passions logos (Oct 30, 2026) */

/* What's YOUR100? polish (Oct 30, 2026) */
/* the orange statement: true semibold (the page loads DM Sans 400/500/700 only, so 600 was showing as bold).
   Its own family name, so no other 600 on the site changes. File: Google Fonts DM Sans 600, latin (OFL). */
@font-face{ font-family:'DM Sans Semi'; font-style:normal; font-weight:600; font-display:swap; src:url(../assets/fonts/dm-sans-600-latin.woff2) format('woff2'); }
.y1m-idea .y1m-acc{ font-family:'DM Sans Semi', var(--body); font-weight:600; }
/* the orange rule under the graphic: a short accent, not a divider */
.y1m-callout{ border-top:0 !important; background:linear-gradient(var(--orange-dk), var(--orange-dk)) left top / clamp(64px,7vw,96px) 2px no-repeat; }
/* Issues & Experiences, stacked (phones/tablets): ~26% less space between "We're producing year-round programming…" and ISSUES (Oct 30, 2026; was clamp(48px,11vw,72px)) */
@media (max-width:899px){ .pgx-compact .pgx-i > .pgx-kick{ margin-top:clamp(30px,7vw,52px) !important; } }

/* Afternoon run of show (Oct 30, 2026): speaker labels, closing line, keynote kicker, group head, divider */
.iw-splabel{ margin-top:24px; font:700 11.5px/1.3 var(--body); letter-spacing:.18em; text-transform:uppercase; color:#AD3613; }
.iw-splabel + .iw-spklist{ margin-top:10px; }
.iw-tbanote{ margin-top:14px; font:italic 400 14px/1.4 var(--body); color:var(--ink-2); opacity:.85; }
.iw-kick{ margin-top:8px; font:800 clamp(16px,1.5vw,19px)/1.15 var(--display); letter-spacing:.12em; text-transform:uppercase; color:#AD3613; }
.db-ghead .iw-teaser:first-of-type{ margin-top:16px; }
.db-divider{ margin:4px 0 14px !important; color:#AD3613 !important; }
.iw-teaser + .iw-teaser{ margin-top:12px; }
/* full afternoon head back (Oct 30, 2026): room between the day tabs and the banner */
#agenda > .wrap > .iw-banner:first-child{ margin-top:clamp(36px,4.5vw,64px); }
/* Sessions lockup: the tagline is just "Sessions"; "A Music Showcase" sits under it as a subhead (Oct 30, 2026) */
.sb-tagsub{ margin-top:clamp(8px,1vw,14px); font:800 clamp(20px,2.2vw,30px)/1 var(--display); letter-spacing:.14em; text-transform:uppercase; color:var(--cream); margin-bottom:6px; }
.iw-sub-after{ grid-column:2 !important; display:block; margin-top:10px; font:500 13.5px/1.4 var(--body); color:rgba(243,236,226,.72); }   /* same as .iw-rooms-note */
/* $1B panel (Oct 30, 2026): same width and minimum height (4:5), but it grows rather than clipping the longer stats + sources */
@media (min-width:900px){ .db-media .iw-stat{ aspect-ratio:auto !important; min-height:calc(min(416px,100%) * 1.25); } }
.db-media .iw-stat-src{ padding-top:14px; padding-bottom:2px; }
/* venue wordmark on its own under "Venue" (Oct 30, 2026): line up with the label */
.iw-hosts .vmark{ margin-top:8px; }
.iw-hosts .vmark-w{ align-items:flex-start; }
.iw-hosts .vmark-sub{ padding-left:2px; }
/* check-in line, bigger (Oct 30, 2026) */
#agenda .ck-chip{ font:700 clamp(20px,1.9vw,26px)/1.3 var(--body); }
/* Afternoon venue wordmark, larger (Oct 31, 2026) */
.iw-hosts .vmark-n{ font-size:clamp(34px,3.4vw,48px); }
.iw-hosts .vmark-sub{ margin-top:6px; font-size:clamp(11px,1vw,14px); letter-spacing:.24em; }
/* smallest phones (Nov 4, 2026): the title and the two lineup columns shrink to fit instead of running off the ticket's right edge */
@media (max-width:380px){
  .hero-in > a.ticket:not(.ticket-blue) .tk-h .tk-title{ font-size:min(34px, calc(100cqw / 8.6)) !important; }
  .hero-in > a.ticket .tk-row.tk-bill3{ column-gap:10px !important; }
  .hero-in > a.ticket .tk-bill3 > .tk-bcol:nth-child(2){ padding-left:9px !important; }
  .hero-in > a.ticket .tk-bill3 .tk-fk{ white-space:normal !important; font-size:13px !important; }
  .hero-in > a.ticket .tk-bill3 .tk-sub{ font-size:10px !important; letter-spacing:.03em !important; }
  .hero-in > a.ticket .tk-bill3 .tk-fn{ font-size:12.5px !important; }
}
/* CLE sponsor under the agenda's check-in line (Nov 5, 2026): it takes over the check-in's space before the rows */
#agenda .ck-chip:has(+ .iw-clesp){ margin-bottom:18px !important; }
#agenda .ck-chip + .iw-clesp{ margin:0 0 clamp(28px,3vw,40px); }
/* FREE POP-UP EVENT: one phrase in FREE's own type on the hero ticket's stub (Nov 5, 2026), stacked FREE / POP-UP / EVENT, each word sized to FREE's width */
.tk-pu[hidden]{ display:none !important; }
.ticket .tk-sfree .tk-pu-k{ display:block; margin-top:3px; }
.ticket .tk-sfree .tk-fit{ display:table; margin:0 auto; white-space:nowrap; line-height:.9; }   /* table: shrink-wraps each word; heroPopup.fit sizes POP-UP and EVENT to FREE's width */
.ticket .tk-sfree .tk-pu-k .tk-fit{ margin-top:.06em; }
/* tablets (the stub is still a column): FREE sized down so the stacked phrase fits the stub */
@media (min-width:600px) and (max-width:959px){ .ticket .tk-sfree:has(.tk-pu-k:not([hidden])){ font-size:clamp(34px,5.2vw,44px) !important; } }
/* phones (the stub is a strip along the bottom): FREE POP-UP EVENT stacked at left, the date block at right */
@media (max-width:599px){
  .hero-in > a.ticket .tk-stub:has(.tk-hdate){ justify-content:space-between !important; align-items:center !important; gap:16px; padding:16px 22px 18px !important; }
  .hero-in > a.ticket .tk-sfree{ font-size:30px !important; line-height:.9 !important; }
  .hero-in > a.ticket .tk-sfree .tk-fit{ margin-left:0; }
  .hero-in > a.ticket .tk-hdate{ align-items:flex-end; text-align:right; margin:0; }
  .hero-in > a.ticket .tk-hd-place{ align-self:stretch; text-align:right; }
}
/* FREE POP-UP EVENT on desktop: FREE a little smaller, so the stacked phrase keeps the stub its usual width */
@media (min-width:960px){ .hero-in > a.ticket .tk-sfree:has(.tk-pu-k:not([hidden])){ font-size:clamp(38px,3.4vw,50px) !important; } }
/* FREE POP-UP EVENT in the title's cream, not stark white (Nov 5, 2026) */
.hero-in > a.ticket .tk-sfree, .hero-in > a.ticket .tk-pu-main{ color:var(--cream) !important; }
/* the hero stub's date (Nov 5, 2026): NOV 19 + 21 big, then THU + SAT and DOWNTOWN BUFFALO in small mono caps; one spacing step (12px) through the stub */
.tk-hdate{ display:flex; flex-direction:column; align-items:center; gap:6px; margin-top:14px; color:var(--cream); text-align:center; }
.tk-hd-big{ font:900 clamp(22px,1.9vw,28px)/.95 var(--display); letter-spacing:.01em; text-transform:uppercase; white-space:nowrap; }
.tk-hd-day, .tk-hd-place{ font:700 clamp(10px,.85vw,12px)/1.2 'IBM Plex Mono', monospace; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.tk-hd-place{ margin-top:6px; padding-top:8px; border-top:1px solid rgba(243,236,226,.5); align-self:stretch; }

/* (Nov 6, 2026) the entertainment invitation: the quiet link to the full program, under the closing ticket */
.shows-full{ margin:0; padding:0 var(--gut, 16px) 48px; text-align:center; background:var(--night); font-size:14px; }
.shows-full a{ color:var(--cream-2); text-decoration:underline; text-underline-offset:3px; }
.shows-full a:hover{ color:var(--cream); }
.hero-lineup .hl-catch{ flex-basis:100%; }   /* (Nov 6, 2026) the entertainment invitation: What's the catch? on its own line, under the claim link */
/* (Nov 6, 2026) the entertainment invitation: the shows start right under the tabs (their intro block is gone), and the closing
   ticket keeps its usual size */
.shows .iw-night.iw-cut{ padding-top:calc(var(--cut) + 4px) !important; }
/* (Nov 6, 2026) Invite your network: one forwardable link (was one link per friend) */
.rs-share{ margin:18px 0 6px; padding:18px 18px 16px; border:2px solid var(--orange); border-radius:6px; background:rgba(233,85,47,.08); }
.rs-share-k{ margin:0 0 6px; font:700 11px/1 var(--mono, 'IBM Plex Mono', monospace); letter-spacing:.2em; text-transform:uppercase; color:var(--orange-lt, #ff8a5c); }
.rs-share-url{ margin:0 0 14px; font-size:15px; word-break:break-all; }
.rs-share-url a{ color:inherit; }
.rs-share-acts{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 12px; }
.rs-share-t{ margin:0; font-size:14px; opacity:.85; }
.rs-net-older{ margin:12px 0 0; font-size:13px; opacity:.75; }

/* ── WCAG 2.1 AA contrast (Nov 9, 2026) ──
   Small text needs 4.5:1. Cream (#f3ece2) and navy text on the bright orange (#E9552F) fall short, so surfaces that
   carry small text use the deeper brand orange (--orange-dk, #C63F1A) with white text: 5.1:1. */
.ticket:not(.ticket-blue){ --orange:var(--orange-dk); --cream:#fff; }
.ticket:not(.ticket-blue) .tk-when .tk-w1, .ticket:not(.ticket-blue) .tk-mf-blue{ color:#fff; }
.ticket:not(.ticket-blue) .tk-mf-blue{ text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; }
.ticket:not(.ticket-blue) .tk-mfoot .tk-change{ opacity:1; }
.ticket:not(.ticket-blue) .tm{ color:#fff; opacity:1; }
.rv-chips span:first-child{ background:var(--orange-dk); border-color:var(--orange-dk); }
.iw-show-name{ text-shadow:0 0 2px #000, 0 1px 3px rgba(0,0,0,.9), 0 0 16px rgba(0,0,0,.6) !important; }
.vmark-sub{ color:#5c636b; }
.iw-night .vmark-sub, .rsvp .vmark-sub{ color:rgba(243,236,226,.8); }
.hw-dash{ color:rgba(255,255,255,.65); }
.ticket:not(.ticket-blue) .tk-bill .tk-sub, .ticket:not(.ticket-blue) .tk-bill .tk-fnote, .ticket:not(.ticket-blue) .tk-bill .tk-prog, .ticket:not(.ticket-blue) .tk-bill3 .tk-prog{ color:#fff !important; }   /* was navy: 2.9:1 on the orange */

/* the menu's Upcoming Events In Development heading (Nov 10, 2026) */
.menu-sub .menu-soon-h{ margin:12px 0 2px; padding-top:12px; border-top:1px solid rgba(255,255,255,.18); }
.menu-sub .menu-soon-h b{ display:block; font:800 13px/1.25 var(--body); letter-spacing:.12em; text-transform:uppercase; color:#fff; }
.menu-sub .menu-soon-h small{ display:block; margin-top:3px; font:600 12px/1.2 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--orange-lt); }

/* a linked menu item with a small note under it, like Upcoming Events · In Development (Nov 10, 2026) */
.menu-sub a small{ display:block; margin-top:4px; font:600 12px/1.2 var(--body); letter-spacing:.12em; color:var(--orange-lt); }

/* the menu (Nov 10, 2026): flat list; the page you're on in orange with a thin orange underline (no box); RSVP · Buffalo, the
   one action, an orange button under the list */
.menu-list > li > a[aria-current="page"]{ color:var(--orange-lt); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:7px; text-decoration-color:var(--orange); }
.menu-list a:focus-visible{ outline-width:2px; }
.menu-panel:focus{ outline:none; }
.menu-rsvp.menu-go{ display:flex; gap:.4em; margin-top:24px; min-height:56px; padding:0 20px; font:800 clamp(19px,5vw,22px)/1 var(--display); letter-spacing:.08em; text-transform:uppercase; color:#fff; text-decoration:none; }
.menu-rsvp.menu-go:focus-visible{ outline:2px solid #fff; outline-offset:3px; }
