@font-face {
  font-family:Outfit;
  src:url('./assets/fonts/outfit-300.woff2') format('woff2');
  font-weight:300;
  font-style:normal;
  font-display:swap
}
@font-face {
  font-family:Outfit;
  src:url('./assets/fonts/outfit-400.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap
}
@font-face {
  font-family:Outfit;
  src:url('./assets/fonts/outfit.woff2') format('woff2');
  font-weight:500;
  font-style:normal;
  font-display:swap
}
@font-face {
  font-family:Outfit;
  src:url('./assets/fonts/outfit-600.woff2') format('woff2');
  font-weight:600;
  font-style:normal;
  font-display:swap
}
@font-face {
  font-family:Outfit;
  src:url('./assets/fonts/outfit-700.woff2') format('woff2');
  font-weight:700;
  font-style:normal;
  font-display:swap
}
@font-face {
  font-family:Inter;
  src:url('./assets/fonts/inter.woff2') format('woff2');
  font-weight:400 700;
  font-style:normal;
  font-display:swap
}
:root {
  --paper:#fef9f9;
  --ink:#470c0c;
  --dark:#1c0b0b;
  --red:#e8483f;
  --line:#e5d9d9;
  --gutter:clamp(22px,8.5vw,164px);
  --section:clamp(80px,8.3vw,160px)
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:112px
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Outfit,Arial,sans-serif;
  -webkit-font-smoothing:antialiased
}
h1,h2,h3,p,dl,dd {
  margin:0
}
button,a {
  -webkit-tap-highlight-color:transparent
}
button,input,select {
  font:inherit
}
button,a {
  touch-action:manipulation
}
button {
  cursor:pointer
}
a {
  color:inherit;
  text-decoration:none
}
img {
  max-width:100%;
  display:block
}
button {
  color:inherit
}
button:disabled {
  cursor:wait
}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid #ca3535;
  outline-offset:5px
}
::selection {
  background:#f3b8b8;
  color:var(--ink)
}
.skip-link {
  position:fixed;
  z-index:20;
  top:12px;
  left:12px;
  transform:translateY(-160%);
  padding:12px;
  background:#fff
}
.skip-link:focus {
  transform:translateY(0)
}
.site-header {
  position:absolute;
  z-index:10;
  top:16px;
  left:50%;
  transform:translateX(-50%);
  width:min(794px,calc(100% - 32px));
  min-height:80px;
  padding:10px 15px 10px 24px;
  border:1px solid #fff2;
  border-radius:60px;
  background:rgb(30 15 15 / 78%);
  backdrop-filter:blur(20px);
  display:flex;
  align-items:center;
  gap:25px;
  color:#fff
}
.wordmark {
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
  font-size:20px;
  font-weight:500;
  line-height:.8;
  letter-spacing:-.8px
}
.wordmark small {
  align-self:flex-end;
  font-size:19px;
  line-height:1
}
.brand-mark {
  display:block;
  width:29px;
  height:35px;
  background:currentColor;
  mask:url('./assets/logo-mark.png') center/contain no-repeat
}
.main-nav {
  display:flex;
  align-items:center;
  justify-content:center;
  flex:1;
  gap:25px;
  font-size:16px
}
.main-nav a {
  padding:12px 0
}
.main-nav a:hover {
  color:#ffb8b8
}
.nav-ticket {
  display:flex;
  align-items:center;
  gap:17px;
  justify-content:center;
  background:var(--paper);
  color:var(--ink);
  border-radius:40px;
  padding:17px 22px;
  white-space:nowrap;
  font-weight:500
}
.nav-ticket span {
  font-size:22px
}
.menu-toggle {
  display:none
}
.hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:1280px;
  background:var(--dark);
  color:#fff;
  text-align:center;
  padding:148px 24px 85px
}
.hero-photo {
  position:absolute;
  z-index:-3;
  inset:0;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:contain;
  object-position:center top
}
.hero:before {
  content:'';
  position:absolute;
  z-index:-2;
  inset:0;
  background:linear-gradient(180deg,#0f0f0f10 0%,#0f0f0f05 30%,#0f0f0f38 55%,#0f0f0f 100%)
}
.hero-content {
  position:relative;
  z-index:1;
  margin:auto;
  max-width:1160px
}
.hero h1 {
  font-size:clamp(52px,5.125vw,99px);
  font-weight:500;
  line-height:1.03;
  letter-spacing:-.045em;
  text-wrap:balance
}
.event-meta {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:30px;
  margin-top:62px;
  font-family:Inter,Arial,sans-serif;
  font-size:21px;
  line-height:1.5
}
.event-meta span+span {
  border-left:1px solid #ffffff70;
  padding-left:30px
}
.hero-ticket {
  display:inline-flex;
  align-items:center;
  gap:33px;
  justify-content:center;
  margin-top:78px;
  padding:15px 31px;
  min-width:340px;
  min-height:90px;
  border-radius:60px;
  background:#fdf2f2;
  color:var(--ink);
  font-size:23px;
  font-weight:500;
  transition:transform .2s,background .2s
}
.hero-ticket>span:first-child,.hero-ticket>span:last-child {
  font-size:42px;
  font-weight:300
}
.hero-ticket small {
  display:block;
  font-size:16px;
  font-weight:400;
  line-height:1.6
}
.hero-ticket:hover {
  background:#fff;
  transform:translateY(-3px)
}
.hero-pattern {
  position:absolute;
  z-index:-1;
  inset:auto -5% 180px;
  height:330px;
  background:var(--dark);
  mask:url('./assets/logo-mark.png') center/310px auto repeat;
  opacity:.88;
  transform:rotate(180deg)
}
.hero-stats {
  display:flex;
  justify-content:center;
  text-align:left;
  gap:clamp(50px,6.6vw,128px);
  margin:310px auto 0
}
.hero-stats dt {
  font-size:80px;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.15
}
.hero-stats dd {
  font-size:24px;
  margin-top:14px
}
@media(min-width:1921px) {
  .hero {
    min-height:max(1320px,56.25vw)
  }
}
@media(max-width:1100px) {
  .hero {
    min-height:1000px;
    padding-top:155px
  }
  .hero-stats {
    margin-top:220px
  }
  .hero-stats dt {
    font-size:64px
  }
  .hero-stats dd {
    font-size:20px
  }
}
@media(max-width:700px) {
  html {
    scroll-padding-top:90px
  }
  .site-header {
    min-height:64px;
    padding:10px 13px 10px 17px;
    gap:12px
  }
  .wordmark {
    font-size:17px
  }
  .wordmark small {
    font-size:15px
  }
  .brand-mark {
    width:23px;
    height:30px
  }
  .nav-ticket {
    font-size:13px;
    padding:12px 15px;
    gap:8px
  }
  .nav-ticket span {
    font-size:17px
  }
  .menu-toggle {
    display:flex;
    gap:8px;
    background:none;
    border:0;
    margin-left:auto;
    padding:12px 0;
    font-size:13px
  }
  .main-nav {
    display:none;
    position:absolute;
    top:74px;
    left:0;
    right:0;
    background:var(--dark);
    border:1px solid #fff2;
    border-radius:22px;
    padding:20px;
    align-items:stretch
  }
  .main-nav[data-open=true] {
    display:flex;
    flex-direction:column;
    gap:2px
  }
  .main-nav a {
    padding:12px
  }
  .hero {
    min-height:960px;
    padding:160px 22px 60px
  }
  .hero h1 {
    font-size:clamp(42px,8.2vw,60px)
  }
  .event-meta {
    flex-direction:column;
    gap:6px;
    font-size:15px;
    margin-top:36px
  }
  .event-meta span+span {
    border:0;
    padding:0
  }
  .hero-ticket {
    min-width:0;
    gap:24px;
    min-height:80px;
    margin-top:45px;
    font-size:21px;
    padding:12px 23px
  }
  .hero-ticket small {
    font-size:14px
  }
  .hero-stats {
    gap:26px;
    justify-content:space-between;
    margin-top:195px;
    text-align:center
  }
  .hero-stats dt {
    font-size:clamp(34px,7vw,50px)
  }
  .hero-stats dd {
    font-size:14px;
    max-width:100px;
    line-height:1.25
  }
  .hero-pattern {
    height:250px;
    bottom:190px;
    mask-size:220px auto
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
}
/* The supplied white navigation pill and burgundy action. */
.site-header {
  background:#fef9f9;
  color:var(--ink);
  border-color:#e5d9d9;
  box-shadow:0 4px 24px #14060618;
  backdrop-filter:none
}
.wordmark small {
  color:var(--red)
}
.nav-ticket {
  color:#fff;
  background:var(--ink)
}
.nav-ticket span {
  color:#ff8a80
}
.main-nav a:hover {
  color:#ab2922
}
.wrap {
  width:calc(100% - var(--gutter)*2);
  max-width:1595px;
  margin-inline:auto
}
.section {
  padding-block:var(--section)
}
h2 {
  font-size:clamp(40px,3.34vw,64px);
  font-weight:500;
  line-height:1.06;
  letter-spacing:-.045em
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:25px;
  margin-bottom:80px
}
.section-heading>p {
  font-size:16px;
  color:#8b6565
}
.press {
  text-align:center;
  padding:60px var(--gutter) 75px;
  color:#fff;
  background:var(--dark)
}
.press>p {
  font-size:24px;
  margin-bottom:45px
}
.press-logos {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6%;
  max-width:1569px;
  margin:auto
}
.press-logos img {
  width:11%;
  height:56px;
  object-fit:contain;
  filter:brightness(0) invert(1)
}
.press-logos img:nth-child(3) {
  width:19%
}
.press-logos img:nth-child(5) {
  height:64px;
  width:8%
}
.intro {
  overflow:hidden;
  background:var(--ink);
  color:#fff;
  padding-top:190px
}
.intro-copy {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:60px;
  align-items:start;
  margin-bottom:110px
}
.intro-copy h2 {
  font-size:clamp(32px,2.5vw,48px);
  font-weight:400;
  letter-spacing:-.035em
}
.intro-copy p {
  font-size:clamp(21px,1.67vw,32px);
  line-height:1.4;
  color:#ffffffb3;
  max-width:840px
}
.film {
  position:relative
}
.film video {
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center;
  background:#080808
}
.film-play {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:22px;
  border:0;
  color:#fff;
  background:linear-gradient(0deg,#0004,#0002);
  font-size:32px;
  font-weight:500
}
.play-circle {
  display:grid;
  place-items:center;
  width:clamp(78px,7.8vw,149px);
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid #fff9;
  background:#fff1;
  backdrop-filter:blur(8px);
  font-size:32px;
  padding-left:6px;
  transition:background .2s,transform .2s
}
.film-play:hover .play-circle {
  transform:scale(1.06);
  background:#ffffff40
}
.film-caption {
  font-size:13px;
  color:#aaa;
  margin-top:14px
}

.speakers {
  padding-top:110px;
  padding-bottom:100px
}
.speaker-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px
}
.speaker-card {
  min-width:0
}
.speaker-card>img {
  width:100%;
  aspect-ratio:306/409;
  height:auto;
  object-fit:cover;
  object-position:center 25%;
  background:#d8cccc;
  filter:saturate(.8);
  transition:filter .25s
}
.speaker-card:hover>img {
  filter:saturate(1)
}
.speaker-card h3 {
  font-size:clamp(22px,1.67vw,32px);
  font-weight:400;
  line-height:1.25;
  margin:20px 0 10px;
  letter-spacing:-.03em
}
.speaker-card>p {
  font-size:16px;
  line-height:1.4;
  min-height:45px
}
.speaker-bio {
  margin-top:22px
}
.speaker-bio summary {
  display:flex;
  justify-content:space-between;
  align-items:center;
  list-style:none;
  cursor:pointer;
  font-size:18px;
  min-height:44px
}
.speaker-bio summary::-webkit-details-marker {
  display:none
}
.speaker-bio summary span {
  color:var(--red);
  font-size:28px;
  transition:transform .2s
}
.speaker-bio[open] summary span {
  transform:rotate(90deg)
}
.speaker-bio>p {
  font-family:Inter,Arial,sans-serif;
  font-size:14px;
  line-height:1.6;
  margin:15px 0;
  color:#785959
}
.section-note {
  font-size:14px;
  color:#8b6565;
  margin-top:40px;
  max-width:640px;
  line-height:1.5
}
.agenda {
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:13%;
  padding-bottom:180px
}
.agenda-heading>p {
  font-size:clamp(22px,1.7vw,33px);
  font-weight:300;
  line-height:1.5;
  margin-top:26px
}
.agenda-rows {
  position:relative
}
.agenda-rows:before,.faq-list:before {
  content:'';
  position:absolute;
  left:-9%;
  top:0;
  width:5px;
  height:100%;
  background:radial-gradient(circle,var(--ink) 1.3px,transparent 1.8px) center top/5px 11px repeat-y;
  opacity:.22
}
.agenda-rows article {
  display:grid;
  grid-template-columns:.85fr 1fr;
  gap:38px;
  padding:30px 0;
  border-bottom:1px solid var(--line)
}
.agenda-rows article:first-child {
  padding-top:0
}
.agenda-rows h3 {
  font-size:24px;
  font-weight:500
}
.agenda-rows article p {
  font-size:16px;
  font-weight:300;
  margin-top:13px
}
.agenda-rows ul {
  list-style:none;
  padding:0;
  margin:0;
  font-size:18px;
  font-weight:300;
  line-height:2
}
.venue {
  height:clamp(600px,56.25vw,1080px);
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#fff;
  background:#4f5167
}
.venue img {
  position:absolute;
  z-index:-3;
  height:100%;
  object-fit:cover
}
.venue-exterior {
  left:0;
  width:62%;
  object-position:50% 50%
}
.venue-interior {
  right:0;
  width:65%;
  clip-path:polygon(25% 0,100% 0,100% 100%,0 100%);
  object-position:55% center
}
.venue:after {
  content:'';
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(130deg,#34334d8a,transparent 60%),linear-gradient(330deg,#311d72de,transparent 60%)
}
.venue h2 {
  position:absolute;
  top:9%;
  left:5.3%;
  font-size:clamp(50px,5.1vw,99px);
  max-width:800px
}
.venue>p {
  position:absolute;
  right:7.5%;
  bottom:8%;
  font-size:clamp(50px,5.1vw,99px);
  line-height:1.01;
  letter-spacing:-.045em;
  text-align:right;
  font-weight:500
}
.venue-directions {
  position:absolute;
  left:5.3%;
  bottom:8%;
  font-size:15px;
  text-decoration:underline;
  text-underline-offset:5px
}
.gallery {
  display:flex;
  gap:18px;
  overflow-x:auto;
  scrollbar-width:thin;
  padding:22px 0;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity
}
.gallery img {
  flex:0 0 auto;
  width:auto;
  height:clamp(210px,23.4vw,449px);
  object-fit:cover;
  scroll-snap-align:center
}
.gallery img:nth-child(1) {
  width:35%
}
.gallery img:nth-child(2) {
  width:25%
}
.gallery img:nth-child(3) {
  width:19%
}
.gallery img:nth-child(4) {
  width:42%
}
.gallery img:nth-child(5) {
  width:19%
}
.sponsors {
  padding-bottom:150px
}
.sponsor-intro {
  text-align:center;
  padding-inline:24px
}
.sponsor-intro h2 {
  font-size:clamp(55px,6.25vw,120px);
  letter-spacing:-.04em;
  line-height:1.03
}
.sponsor-intro h2 span {
  display:block;
  color:var(--red);
  margin-bottom:14px
}
.sponsor-intro>p {
  font-size:24px;
  line-height:1.3;
  max-width:530px;
  margin:48px auto 38px
}
.pill-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  background:var(--ink);
  color:#fff;
  border-radius:60px;
  min-height:60px;
  padding:17px 30px;
  font-size:17px;
  transition:background .2s,transform .2s
}
.pill-button:hover,.nav-ticket:hover {
  background:#6b1c1c
}
.pill-button span {
  color:#ff8a80;
  font-size:25px
}
.partner-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:27px;
  width:min(1228px,calc(100% - var(--gutter)*2));
  margin:68px auto 0
}
.partner-description {
  grid-column:span 2;
  align-self:start;
  font-size:24px;
  font-weight:400;
  line-height:1.3;
  max-width:270px;
  padding-top:26px
}
.partner-card {
  grid-column:span 2;
  min-height:360px;
  position:relative;
  border:1px solid #470c0c30;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:44px 34px;
  justify-content:flex-start;
  gap:55px;
  transition:background .2s,border-color .2s
}
.partner-card-large {
  min-height:400px
}
.partner-card h3 {
  font-size:22px;
  color:#b92f28;
  font-weight:400;
  text-align:center;
  line-height:1.3
}
.partner-card img {
  width:100%;
  max-width:270px;
  height:120px;
  object-fit:contain;
  filter:brightness(0);
  opacity:.85
}
.partner-card img.printing-logo {
  max-width:170px
}
.partner-arrow {
  position:absolute;
  bottom:22px;
  right:22px;
  color:var(--red);
  font-size:30px
}
a.partner-card:hover {
  background:#f8eeee;
  border-color:#b92f28
}
.tickets {
  padding-top:100px;
  padding-bottom:110px
}
.tickets>h2 {
  text-align:center;
  font-size:clamp(70px,6.25vw,120px)
}
.ticket-tabs {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  max-width:850px;
  margin:82px auto 90px;
  border-bottom:2px solid #470c0c25
}
.ticket-tabs button {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  gap:9px;
  padding:20px 10px 27px;
  border:0;
  background:none;
  font-size:34px;
  font-weight:400;
  min-width:0
}
.ticket-tabs button small {
  font-family:Inter,Arial,sans-serif;
  font-size:14px;
  color:#816060;
  line-height:1.5
}
.ticket-tabs button[aria-selected=true]:after {
  content:'';
  height:3px;
  background:var(--red);
  position:absolute;
  bottom:-2px;
  inset-inline:0
}
.ticket-tabs button[aria-selected=true] {
  color:#b92f28
}
.ticket-layout {
  display:grid;
  grid-template-columns:.75fr 1.5fr;
  gap:60px;
  align-items:center
}
.ticket-offer {
  padding-block:30px
}
.offer-title {
  font-size:clamp(25px,1.82vw,35px);
  line-height:1.15
}
.countdown {
  display:flex;
  align-items:flex-start;
  gap:7px;
  margin:28px 0;
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}
.countdown>div {
  display:flex;
  flex-direction:column
}
.countdown span,.countdown b {
  font-size:clamp(35px,3.4vw,66px);
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.05em
}
.countdown b {
  font-weight:300
}
.countdown small {
  font-size:12px;
  color:#816060;
  line-height:2;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-align:center
}
.offer-detail {
  max-width:320px;
  font-size:17px;
  line-height:1.5
}
.ticket-panels {
  min-width:0
}
.ticket-panel {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  background:#470c0c0a;
  margin-bottom:20px
}
.ticket-benefits {
  padding:35px 30px 38px;
  min-width:0
}
.ticket-benefits h3 {
  font-size:clamp(38px,3.34vw,64px);
  font-weight:500;
  letter-spacing:-.045em;
  margin-bottom:53px
}
.ticket-benefits>p {
  font-size:16px;
  margin-bottom:22px;
  font-weight:500
}
.ticket-benefits ul {
  padding:0;
  margin:0;
  list-style:none;
  display:grid;
  gap:18px
}
.ticket-benefits li {
  font-size:17px;
  line-height:1.4;
  position:relative;
  padding-left:21px
}
.ticket-benefits li:before {
  content:'✓';
  position:absolute;
  left:0;
  color:#b92f28
}
.ticket-price {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:30px;
  background:var(--ink);
  color:#fff;
  padding:36px 28px 27px;
  min-width:0
}
.ticket-kicker {
  font-size:18px;
  line-height:1.4;
  color:#ffdedb
}
.ticket-price .price {
  font-size:clamp(30px,2.5vw,48px);
  line-height:1.05;
  letter-spacing:-.035em;
  white-space:nowrap
}
.regular-price {
  font-size:16px;
  color:#dec2c2;
  margin-bottom:17px;
  text-decoration:line-through
}
.ticket-price small {
  display:block;
  font-size:12px;
  color:#d4b7b7;
  margin-top:12px
}
.buy-ticket {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  background:var(--red);
  color:#260606;
  min-height:64px;
  padding:15px 24px;
  border-radius:40px;
  font-size:22px;
  transition:background .2s
}
.buy-ticket:hover {
  background:#ff7f75
}
.buy-ticket span {
  font-size:27px
}
.booking-note {
  font-size:13px;
  text-align:right;
  color:#876969;
  margin-top:22px;
  line-height:1.5
}
.ticket-tabs[hidden],.ticket-panel[hidden],.film-play[hidden],.countdown[hidden] {
  display:none
}
.faq {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:13%;
  padding-top:180px;
  padding-bottom:210px
}
.faq h2 {
  font-size:clamp(42px,3.75vw,72px);
  line-height:1.3
}
.faq h2>span {
  color:#bd362e
}
.faq-list {
  position:relative
}
.faq-item {
  border-bottom:1px solid var(--line)
}
.faq-item:first-child {
  border-top:1px solid var(--line)
}
.faq-item summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-height:80px;
  padding:22px 16px;
  font-size:21px;
  font-weight:500;
  line-height:1.25
}
.faq-item summary::-webkit-details-marker {
  display:none
}
.faq-item summary>span {
  display:grid;
  place-items:center;
  flex-shrink:0;
  width:24px;
  height:24px;
  background:var(--red);
  color:#260606;
  font-size:22px;
  font-weight:300;
  transition:transform .2s
}
.faq-item[open] summary>span {
  transform:rotate(45deg)
}
.faq-item[open] summary {
  color:#b92f28
}
.faq-answer {
  padding:0 54px 26px 16px;
  font-family:Inter,Arial,sans-serif;
  color:#735050;
  font-size:15px;
  line-height:1.7
}
.faq-answer a {
  text-decoration:underline;
  text-underline-offset:4px
}
.faq-item summary:hover {
  background:#470c0c04
}
@media(hover:hover) {
  .pill-button:active,.hero-ticket:active,.buy-ticket:active {
    transform:scale(.98)
  }
}
@media(max-width:1200px) {
  .section-heading {
    margin-bottom:50px
  }
  .speaker-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:40px 20px
  }
  .speaker-card h3 {
    font-size:23px
  }
  .speaker-card>p {
    font-size:14px;
    min-height:60px
  }
  .agenda {
    gap:9%
  }
  .agenda-rows article {
    gap:20px
  }
  .partner-card {
    padding:35px 25px;
    min-height:280px;
    gap:36px
  }
  .partner-card-large {
    min-height:300px
  }
  .partner-card h3 {
    font-size:20px
  }
  .partner-description {
    font-size:21px
  }
  .ticket-layout {
    grid-template-columns:1fr;
    gap:35px
  }
  .ticket-offer {
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    column-gap:45px;
    padding:0
  }
  .ticket-offer .offer-detail {
    grid-column:1/-1;
    max-width:100%
  }
  .ticket-offer .offer-detail br {
    display:none
  }
  .countdown {
    justify-self:end
  }
  .ticket-price .price {
    font-size:48px
  }
  .ticket-benefits {
    padding:40px
  }
  .ticket-price {
    padding:40px
  }
  .faq {
    gap:10%
  }
  .faq-item summary {
    font-size:18px
  }
  .intro {
    padding-top:130px
  }
  .intro-copy {
    gap:40px
  }
}
@media(max-width:900px) {
  .speaker-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:40px 20px
  }
  .speaker-card>p {
    min-height:40px
  }
  .agenda {
    grid-template-columns:1fr;
    gap:50px;
    padding-bottom:90px
  }
  .agenda-rows:before,.faq-list:before {
    display:none
  }
  .agenda-rows article {
    grid-template-columns:1fr 1.2fr
  }
  .venue-directions {
    bottom:30px;
    font-size:13px
  }
  .venue>p {
    bottom:85px
  }
  .partner-grid {
    gap:18px
  }
  .partner-description {
    grid-column:1/-1;
    max-width:100%;
    padding:0 0 15px
  }
  .partner-card-large {
    grid-column:span 3;
    min-height:300px
  }
  .partner-card-small {
    min-height:240px;
    gap:25px;
    padding:30px 18px
  }
  .partner-card h3 {
    font-size:18px
  }
  .partner-card img {
    height:95px
  }
  .faq {
    grid-template-columns:1fr;
    gap:45px;
    padding-top:70px;
    padding-bottom:100px
  }
  .faq h2 br {
    display:none
  }
  .faq h2>span:after {
    content:' '
  }
  .sponsor-intro>p {
    font-size:21px
  }
  .intro-copy {
    grid-template-columns:1fr;
    gap:30px;
    margin-bottom:55px
  }
  .press {
    padding-top:35px;
    padding-bottom:55px
  }
  .press-logos {
    flex-wrap:wrap;
    justify-content:center;
    gap:30px 12%
  }
  .press-logos img,.press-logos img:nth-child(3),.press-logos img:nth-child(5) {
    width:21%;
    height:42px
  }
  
  .intro {
    padding-top:70px
  }
  .venue h2 {
    top:70px;
    left:6%
  }
  .gallery img:nth-child(n) {
    width:auto;
    max-width:80vw
  }
  .sponsors {
    padding-bottom:70px
  }
}
@media(max-width:700px) {
  .main-nav {
    background:var(--paper);
    border-color:var(--line)
  }
  .main-nav a:hover {
    color:#ab2922
  }
  .section-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:15px;
    margin-bottom:38px
  }
  .section-heading p {
    font-size:14px
  }
  .speakers {
    padding-top:75px;
    padding-bottom:45px
  }
  .speaker-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:35px 15px
  }
  .speaker-card h3 {
    font-size:22px;
    margin-top:17px
  }
  .speaker-card>p {
    font-size:13px;
    min-height:39px
  }
  .speaker-bio {
    margin-top:12px
  }
  .speaker-bio summary {
    font-size:16px
  }
  .speaker-bio>p {
    font-size:13px;
    line-height:1.5
  }
  .section-note {
    font-size:12px;
    margin-top:35px
  }
  .film-play {
    font-size:22px;
    gap:14px
  }
  .play-circle {
    font-size:23px
  }
  .film-caption {
    font-size:11px
  }
  .intro-copy h2 {
    font-size:34px
  }
  .intro-copy p {
    font-size:22px
  }
  .intro {
    padding-top:55px
  }
  
  .agenda {
    padding-top:60px;
    gap:40px
  }
  .agenda-rows h3 {
    font-size:21px
  }
  .agenda-rows ul {
    font-size:16px;
    line-height:1.8
  }
  .agenda-rows article p {
    font-size:14px
  }
  .agenda-heading>p {
    font-size:22px
  }
  .venue {
    height:720px
  }
  .venue-exterior {
    width:100%;
    height:60%!important;
    top:0;
    object-position:center 60%
  }
  .venue-interior {
    width:100%;
    height:65%!important;
    bottom:0;
    clip-path:polygon(0 20%,100% 0,100% 100%,0 100%)
  }
  .venue h2 {
    font-size:46px;
    top:40px;
    left:24px
  }
  .venue>p {
    font-size:49px;
    right:24px;
    bottom:90px
  }
  .venue-directions {
    left:24px;
    right:24px;
    bottom:35px;
    line-height:1.5
  }
  .gallery {
    gap:12px;
    padding-top:12px
  }
  .gallery img {
    height:240px
  }
  .sponsor-intro h2 {
    font-size:clamp(45px,9vw,65px)
  }
  .sponsor-intro>p {
    font-size:20px;
    margin-top:30px
  }
  .sponsor-intro .pill-button {
    font-size:16px
  }
  .partner-grid {
    width:calc(100% - 44px);
    gap:14px;
    margin-top:45px;
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .partner-description {
    grid-column:1/-1;
    font-size:20px;
    max-width:360px
  }
  .partner-card-large,.partner-card-small {
    grid-column:span 1;
    min-height:220px;
    padding:26px 17px;
    gap:25px
  }
  .partner-card h3 {
    font-size:16px
  }
  .partner-card img {
    height:75px
  }
  .partner-arrow {
    font-size:24px;
    bottom:12px;
    right:14px
  }
  .partner-card:last-child {
    grid-column:1/-1;
    min-height:200px
  }
  .partner-card:last-child img {
    width:100%;
    max-width:200px
  }
  .tickets {
    padding-top:45px;
    padding-bottom:60px
  }
  .tickets>h2 {
    font-size:70px
  }
  .ticket-tabs {
    margin:45px auto 40px
  }
  .ticket-tabs button {
    font-size:23px;
    gap:8px;
    padding:15px 5px 21px
  }
  .ticket-tabs button small {
    font-size:11px
  }
  .ticket-offer {
    display:block;
    padding-bottom:10px;
    text-align:center
  }
  .offer-title br {
    display:none
  }
  .offer-title {
    font-size:25px
  }
  .countdown {
    justify-content:center;
    margin:24px auto 22px;
    gap:8px
  }
  .countdown span,.countdown b {
    font-size:49px
  }
  .offer-detail {
    font-size:15px;
    max-width:330px!important;
    margin:auto
  }
  .ticket-panel {
    grid-template-columns:1fr
  }
  .ticket-benefits {
    padding:32px 26px
  }
  .ticket-benefits h3 {
    font-size:48px;
    margin-bottom:32px
  }
  .ticket-benefits li {
    font-size:16px
  }
  .ticket-price {
    padding:30px 26px;
    gap:27px
  }
  .ticket-price .price {
    font-size:48px
  }
  .ticket-kicker br {
    display:none
  }
  .ticket-kicker {
    font-size:16px
  }
  .ticket-price small {
    font-size:12px
  }
  .ticket-price .buy-ticket {
    min-height:60px
  }
  .booking-note {
    text-align:center;
    font-size:12px
  }
  .faq h2 {
    font-size:46px;
    line-height:1.08
  }
  .faq h2 br {
    display:block
  }
  .faq-item summary {
    padding:20px 3px;
    font-size:18px;
    min-height:77px;
    gap:16px
  }
  .faq-answer {
    padding:0 25px 25px 3px;
    font-size:14px
  }
  .faq-item summary>span {
    width:22px;
    height:22px
  }
  .press>p {
    font-size:20px;
    margin-bottom:30px
  }
  .press-logos img,.press-logos img:nth-child(3),.press-logos img:nth-child(5) {
    height:35px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
}
.included-guest {
  font-size:16px;
  color:#dec2c2;
  margin-bottom:17px
}
.ticket-price .price-expired {
  font-size:30px;
  white-space:normal;
  line-height:1.2
}
@media(max-width:700px) {
  html:not(.js) .site-header {
    flex-wrap:wrap;
    border-radius:26px
  }
  html:not(.js) .main-nav {
    display:flex;
    position:static;
    flex-basis:100%;
    order:5;
    border:0;
    padding:6px;
    gap:6px 18px;
    flex-wrap:wrap;
    justify-content:center;
    font-size:13px
  }
  html:not(.js) .main-nav a {
    padding:7px 0
  }
  html:not(.js) .menu-toggle {
    display:none
  }
  html:not(.js) .nav-ticket {
    margin-left:auto
  }
  html:not(.js) .hero {
    padding-top:220px
  }
}
@media(max-width:380px) {
  .site-header {
    gap:8px;
    padding-inline:12px
  }
  .wordmark {
    font-size:15px;
    gap:4px
  }
  .wordmark small {
    font-size:13px
  }
  .brand-mark {
    width:20px
  }
  .nav-ticket {
    padding:12px;
    font-size:12px
  }
  .nav-ticket span {
    display:none
  }
  .menu-toggle {
    font-size:12px;
    gap:5px
  }
  .hero {
    padding-inline:20px
  }
}
/* Partner rows follow the supplied 263 / 456 / 456 and 391 / 391 / 391 layout. */
.sponsor-intro h2 span {
  color:var(--ink)
}
.partner-grid {
  display:block
}
.partner-primary {
  display:grid;
  grid-template-columns:263fr 456fr 456fr;
  gap:27px
}
.partner-secondary {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:27px;
  margin-top:27px
}
.partner-primary>.partner-description,.partner-primary>.partner-card,.partner-secondary>.partner-card {
  grid-column:auto
}
.partner-card {
  border-color:var(--ink)
}
.partner-card-large,.partner-card-small {
  aspect-ratio:1;
  min-height:0
}
.partner-card h3 {
  color:var(--red);
  font-size:24px
}
.gallery img:nth-child(1) {
  width:calc(clamp(210px,23.4vw,449px)*1.5);
  margin-left:-11.65vw
}
.gallery img:nth-child(2) {
  width:clamp(210px,23.4vw,449px)
}
.gallery img:nth-child(3),.gallery img:nth-child(5) {
  width:calc(clamp(210px,23.4vw,449px)*.667)
}
.gallery img:nth-child(4) {
  width:calc(clamp(210px,23.4vw,449px)*1.78)
}
@media(max-width:1200px) {
  .partner-card h3 {
    font-size:19px;
    color:#b92f28
  }
  .partner-card {
    padding:28px 22px;
    gap:32px
  }
  .partner-card img {
    height:100px
  }
  .partner-description {
    font-size:20px
  }
}
@media(max-width:900px) {
  .partner-primary {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px
  }
  .partner-primary>.partner-description {
    grid-column:1/-1
  }
  .partner-secondary {
    gap:18px;
    margin-top:18px
  }
  .partner-card {
    gap:24px
  }
  .partner-card h3 {
    font-size:18px
  }
  .partner-card img {
    height:90px
  }
  .partner-card-small {
    min-height:220px;
    aspect-ratio:auto
  }
}
@media(max-width:700px) {
  .partner-primary,.partner-secondary {
    gap:14px
  }
  .partner-secondary {
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:14px
  }
  .partner-card {
    padding:25px 17px;
    gap:23px;
    min-height:210px;
    aspect-ratio:auto
  }
  .partner-card h3 {
    font-size:16px
  }
  .partner-card img {
    height:75px
  }
  .partner-secondary>.partner-card:last-child {
    grid-column:1/-1;
    min-height:200px
  }
  .gallery img:nth-child(1) {
    width:360px;
    margin-left:-48px
  }
  .gallery img:nth-child(2) {
    width:240px
  }
  .gallery img:nth-child(3),.gallery img:nth-child(5) {
    width:160px
  }
  .gallery img:nth-child(4) {
    width:427px
  }
}

/* Original Figma artwork: vectors retain their supplied geometry. */
.site-header .wordmark { min-height:44px; min-width:0; flex-shrink:1; }
.nav-wordmark { display:block; width:168px; max-width:100%; height:auto; object-fit:contain; }
.hero { background:var(--ink); }
.hero-pattern { inset:50vw 0 auto; height:43.873vw; background:url('./assets/motifs/hero-pixel-overlay.svg') center top/100% 100% no-repeat; mask:none; opacity:1; transform:none; }
.pixel-cta { display:inline-block; width:13px; height:15px; flex:0 0 13px; background:url('./assets/motifs/cta-three-pixel-right.svg') center/contain no-repeat; }
.hero-ticket { gap:32px; }
.hero-ticket .pixel-hero { display:block; width:13px; height:21px; flex:0 0 13px; background-position:center; background-size:contain; background-repeat:no-repeat; }
.pixel-hero-left { background-image:url('./assets/motifs/cta-four-pixel-left.svg'); }
.pixel-hero-right { background-image:url('./assets/motifs/cta-four-pixel-right.svg'); }
.hero-ticket>span:nth-child(2) { min-width:178px; }
.press { background:var(--ink); }
.press-logos { display:grid; grid-template-columns:1.2fr 1.5fr 1.7fr .85fr .8fr .6fr .7fr .7fr; align-items:center; gap:clamp(18px,2.5vw,48px); }
.press-logos>img,.press-logos>img:nth-child(n) { width:100%; height:auto; max-height:60px; filter:none; object-fit:contain; }
/* Original transparent artwork, with a white lettering layer above the blue city strip. */
.press-radio { display:grid; align-items:center; min-width:0; background:transparent; }
.press-logos .press-radio img { grid-area:1/1; display:block; width:100%; height:auto; max-height:60px; object-fit:contain; filter:none; }
.press-logos .press-radio .press-radio-lettering { filter:brightness(0) invert(1); clip-path:inset(0 0 34% 0); pointer-events:none; }
.press-ten { display:flex; align-items:center; gap:7px; color:white; font-size:17px; min-width:0; }
.press-ten img { width:54%; max-width:60px; height:auto; filter:none; }
.play-circle { width:149px; height:149px; border:0; border-radius:0; padding:0; background:url('./assets/motifs/play-button.svg') center/113px 113px no-repeat; backdrop-filter:none; }
.film-play:hover .play-circle { background-color:transparent; }

.speaker-bio summary { justify-content:flex-start; gap:12px; }
.pixel-expand { display:block; width:18px; height:18px; flex:0 0 18px; background:url('./assets/motifs/read-bio-expand.svg') center/contain no-repeat; }
.speaker-bio[open] summary .pixel-expand { transform:rotate(180deg); }
.agenda { grid-template-columns:42.1% 2% 55.9%; gap:0; align-items:start; }
.agenda-heading { padding-top:36px; }
.agenda-motif { width:32px; height:480px; max-width:none; }
.agenda-rows { padding:60px 0 0 15.7%; }
.agenda-rows:before,.faq-list:before { display:none; }
.agenda-rows article { grid-template-columns:40% 60%; gap:0; border:0; min-height:162px; padding:0 0 34px; }
.agenda-rows article:nth-child(2) { min-height:176px; }
.agenda-rows h3 { position:relative; font-size:24px; line-height:1; letter-spacing:-.035em; }
.agenda-rows h3:before { content:''; position:absolute; left:-36px; top:6px; width:11px; height:11px; background:var(--red); }
.agenda-rows article p { margin-top:9px; line-height:1; font-size:16px; }
.agenda-rows ul { font-size:18px; line-height:2; margin-top:-7px; }
/* Cover keeps the SVG square grid uniform and prevents transparent letterboxing. */
.venue-exterior { z-index:-2!important; width:57.475%; mask:url('./assets/motifs/venue-detailed-photo-mask.svg') center/cover no-repeat; clip-path:none; }
.venue-interior { z-index:-3!important; width:59.3%; clip-path:none; }
.gallery { width:100%; gap:18px; padding:22px 0; scrollbar-width:thin; }
.gallery img:nth-child(n) { margin-left:0; min-width:0; max-width:none; flex:1 1 0; width:0; height:clamp(230px,23.4vw,449px); }
.gallery img:nth-child(1) { flex-grow:1.5; }
.gallery img:nth-child(2) { flex-grow:1; }
.gallery img:nth-child(3),.gallery img:nth-child(5) { flex-grow:.667; }
.gallery img:nth-child(4) { flex-grow:1.78; }
.sponsor-intro { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; margin-inline:auto; text-align:center; }
.sponsor-intro h2 { width:100%; max-width:1000px; text-align:center; }
.partner-arrow { width:34px; height:35px; top:18px; right:18px; bottom:auto; background:url('./assets/motifs/partner-pixel-mark.svg') center/contain no-repeat; }
.partner-additional { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:calc((100% - 27px)/3*2); gap:27px; margin:27px auto 0; }
.partner-additional>.partner-card { grid-column:auto; }
.turquoise-brand { display:flex; align-items:center; flex-direction:column; gap:18px; width:100%; text-align:center; }
.turquoise-brand img { width:48px; height:48px; filter:none; opacity:1; }
.turquoise-brand span { font-family:Optima,Candara,'Segoe UI',sans-serif; font-weight:400; font-size:20px; letter-spacing:.15em; line-height:1.5; text-transform:uppercase; }
.quantity-selector { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:20px; margin:-35px auto 62px; }
.quantity-selector label { font-size:20px; }
.quantity-selector>p { width:100%; text-align:center; font-size:14px; color:#816060; margin-top:-7px; }
.quantity-stepper { display:flex; align-items:center; border:1px solid #470c0c38; border-radius:50px; padding:5px; gap:3px; }
.quantity-stepper button { display:grid; place-items:center; width:40px; height:40px; border:0; border-radius:50%; background:var(--ink); color:white; font-size:24px; line-height:1; transition:background .18s,transform .18s; }
.quantity-stepper button:hover:not(:disabled) { background:#8b2420; }
.quantity-stepper button:active:not(:disabled) { transform:scale(.94); }
.quantity-stepper button:disabled { opacity:.3; cursor:default; }
.quantity-stepper input { width:54px; height:40px; padding:0; border:0; outline-offset:3px; background:none; text-align:center; color:var(--ink); font-size:22px; font-variant-numeric:tabular-nums; -moz-appearance:textfield; appearance:textfield; }
.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button { appearance:none; margin:0; }
.quantity-breakdown { font-size:14px; color:#efd4d2; line-height:1.4; margin-top:10px; }
.ticket-benefits h3 { overflow-wrap:normal; }
.faq { width:calc(100% - 13.775vw); max-width:1656px; grid-template-columns:37.14% 1.94% 60.92%; gap:0; align-items:start; }
.faq-motif { width:32px; height:480px; max-width:none; margin-top:6px; }
.faq-list { padding-left:12.9%; padding-right:9.65%; }
.faq-item,.faq-item:first-child { border:0; }
.faq-item summary { min-height:80px; padding:22px 27px; gap:20px; font-size:21px; }
.faq-item summary:hover,.faq-item[open] summary { background:#fce6e5; color:var(--ink); }
.faq-item summary>.pixel-plus { display:block; width:18px; height:18px; flex:0 0 18px; background:url('./assets/motifs/faq-four-square-plus.svg') center/contain no-repeat; border-radius:0; }
.faq-item[open] summary>.pixel-plus { transform:rotate(45deg); }
.faq-answer { padding:2px 60px 25px 27px; }
.quantity-selector[hidden],.quantity-breakdown[hidden] { display:none; }
@media(min-width:1921px) { .hero-pattern { top:960px; height:842.36px; background-size:cover; } }
@media(max-width:1440px) {
 .agenda-rows h3 { font-size:21px; }
 .agenda-rows article p { font-size:15px; }
 .agenda-rows ul { font-size:16px; }
 .agenda-rows { padding-left:14%; }
 .agenda-rows article { grid-template-columns:42% 58%; }
 .agenda-heading>p { font-size:25px; }
 .faq-item summary { font-size:19px; padding-inline:22px; }
 .faq-list { padding-left:10%; padding-right:0; }
 .faq h2 { font-size:54px; }
 .partner-additional { width:calc((100% - 27px)/3*2); }
}
@media(max-width:1100px) {
 .hero { display:grid; grid-template-columns:minmax(0,1fr); min-height:0; padding:144px 0 60px; }
 .hero-content { display:contents; }
 .hero h1 { grid-row:1; margin-inline:22px; }
 .hero-photo { position:relative; z-index:0; grid-row:2; margin-top:30px; }
 .hero:before { display:none; }
 .hero .event-meta { grid-row:3; margin:28px 22px 0; }
 .hero .hero-ticket { grid-row:4; justify-self:center; margin:32px 22px 0; }
 .hero-stats { grid-row:5; width:calc(100% - 44px); margin:88px auto 0; }
 .hero-pattern { top:auto; bottom:-120px; height:430px; background-size:auto 100%; }
 .agenda { grid-template-columns:1fr 32px minmax(0,1.5fr); gap:30px; }
 .agenda-rows { padding-left:30px; }
 .agenda-heading { padding-top:45px; }
 .agenda-heading h2 { font-size:40px; }
 .agenda-heading>p { font-size:21px; }
 .agenda-rows article { grid-template-columns:1fr; gap:20px; min-height:auto; margin-bottom:32px; padding-bottom:0; }
 .agenda-rows article:nth-child(2) { min-height:auto; }
 .agenda-rows ul { margin:0; font-size:16px; line-height:1.75; }
 .agenda-rows h3:before { left:-27px; }
 .faq { grid-template-columns:1fr 26px minmax(0,1.7fr); gap:22px; }
 .faq-list { padding:0; }
 .faq h2 { font-size:44px; }
 .faq-motif { width:26px; height:390px; }
 .faq-item summary { font-size:18px; padding:22px 15px; }
 .faq-answer { padding-inline:15px 42px; }
 
 .partner-additional .partner-card { min-height:260px; }
}
@media(max-width:700px) {
 .nav-wordmark { width:clamp(90px,28vw,132px); height:auto; }
 .hero-pattern { bottom:-230px; }
 .hero-ticket { gap:24px; }
 .hero-ticket>span:nth-child(2) { min-width:156px; }
 .press-logos { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 22px; }
 .press-logos>img,.press-logos>img:nth-child(n) { width:100%; max-height:44px; }
 .press-ten { font-size:13px; gap:5px; }
 .press-logos .press-radio img { max-height:44px; }
 
 .play-circle { width:88px; height:88px; background-size:80px 80px; }
 .agenda { grid-template-columns:20px minmax(0,1fr); gap:30px 30px; }
 .agenda-heading { grid-column:1/-1; padding:0; }
 .agenda-motif { width:20px; height:480px; object-fit:fill; margin-top:8px; }
 .agenda-rows { padding:35px 0 0 10px; }
 .agenda-rows article { grid-template-columns:1fr; gap:19px; margin-bottom:35px; }
 .agenda-rows h3 { font-size:23px; }
 .agenda-rows h3:before { left:-25px; top:7px; width:9px; height:9px; }
 .agenda-rows article p { font-size:15px; }
 .agenda-rows ul { font-size:16px; line-height:1.8; }
 .venue { height:620px; }
 .venue-exterior { width:76%; height:100%!important; top:0; mask:url('./assets/motifs/venue-detailed-photo-mask.svg') right center/auto 100% no-repeat; object-position:45% center; }
 .venue-interior { width:100%; height:100%!important; bottom:0; object-position:70% center; }
 .venue h2 { font-size:44px; }
 .venue>p { font-size:45px; bottom:100px; }
 .gallery { gap:8px; padding:12px 0; }
 .gallery img:nth-child(n) { flex:0 0 auto; width:auto; height:200px; }

 .sponsor-intro h2 { font-size:clamp(42px,8.5vw,65px); }
 .partner-arrow { width:25px; height:25px; top:12px; right:12px; }
 .partner-additional { width:100%; gap:14px; margin-top:14px; }
 .partner-additional .partner-card { min-height:230px; padding:28px 15px; }
 .partner-additional>.partner-card:last-child { grid-column:auto; }
 .turquoise-brand { gap:10px; }
 .turquoise-brand img { width:35px; height:35px; }
 .turquoise-brand span { font-size:14px; letter-spacing:.09em; }
 .quantity-selector { margin:-12px auto 32px; gap:12px; }
 .quantity-selector label { font-size:18px; }
 .quantity-selector>p { font-size:13px; margin-top:0; }
 .quantity-stepper button { width:38px; height:38px; }
 .ticket-benefits h3 { font-size:44px; }
 .faq { width:calc(100% - 44px); grid-template-columns:18px minmax(0,1fr); gap:35px 14px; }
 .faq h2 { grid-column:1/-1; font-size:45px; }
 .faq-motif { width:18px; height:480px; object-fit:fill; }
 .faq-item summary { padding:20px 12px; font-size:17px; gap:12px; min-height:84px; }
 .faq-item summary>.pixel-plus { width:16px; height:16px; flex-basis:16px; }
 .faq-answer { padding:0 33px 24px 12px; font-size:14px; }
}
@media(min-width:1441px) { .faq-item { max-width:699px; } }
.agenda-rows article:last-child { min-height:0; padding-bottom:0; }

/* Lettering and accent spacing recovered from the original outlined SVG. */
.intro-copy h2 { display:flex; align-items:center; gap:26px; }
.intro-copy h2::before { content:''; flex:0 0 21.74px; width:21.74px; height:21.74px; background:var(--red); }
.sponsor-intro h2 { font-weight:500; text-wrap:balance; }
.sponsor-intro h2>span { color:var(--ink); font-weight:600; }
.sponsor-intro h2>strong { font-weight:600; }
.sponsor-intro>p em { color:var(--red); font-style:normal; }
@media(max-width:700px) { .intro-copy h2 { gap:15px; font-size:28px; }.intro-copy h2::before{width:13px;height:13px;flex-basis:13px;} }

@media(max-width:700px) {
 .ticket-tabs button { font-size:clamp(18px,5.5vw,23px); }
 .countdown { width:100%; gap:clamp(4px,1.5vw,8px); }
 .countdown span,.countdown b { font-size:clamp(36px,12vw,49px); }
 .partner-card .turquoise-brand img { width:35px; height:35px; }
}

.buy-ticket .pixel-cta { background:currentColor; mask:url('./assets/motifs/cta-three-pixel-right.svg') center/contain no-repeat; }
.menu-toggle { align-items:center; }
.menu-pixel { display:block; width:13px; height:12px; background:url('./assets/motifs/cta-three-pixel-down.svg') center/contain no-repeat; transition:transform .18s; }
.menu-toggle[aria-expanded=true] .menu-pixel { transform:rotate(180deg); }

/* The burgundy opening section dissolves into the paper ticket section. */
.brand-divider {
  height:auto;
  min-height:0;
  aspect-ratio:1920 / 448.3;
  margin:clamp(48px,5.528646vw,106.15px) 0 0;
  background:url('./assets/motifs/film-divider-seamless.svg?v=3-burgundy') center / 100% 100% no-repeat,linear-gradient(var(--ink) 49.96654026%,var(--paper) 49.96654026%);
}
/* The player already shows Sydney 2026; retain the descriptive caption for AT. */
.film-caption {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  margin:0;
}
@media(min-width:701px) {
  .speakers { padding-top:clamp(70px,5.445313vw,104.55px); }
  .speakers>.section-heading { margin-bottom:clamp(50px,4.883333vw,93.76px); }
}
@media(max-width:700px) {
  .brand-divider { height:160px; aspect-ratio:auto; background-size:auto 100%,100% 100%; }
}

/* Live Brisbane integrations use the supplied page's visual language. */
.tickets { position:relative; }
.anchor-alias { position:absolute; top:0; }
.checkout-status { padding:20px 24px; background:#fce6e5; color:var(--ink); border-left:3px solid var(--red); margin-top:20px; line-height:1.6; }
.checkout-status a { text-decoration:underline; text-underline-offset:3px; }
.buy-ticket[aria-busy="true"] { opacity:.7; cursor:wait; }
.signup { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px; border-top:1px solid #470c0c26; }
.signup-copy>.pixel-expand { margin-bottom:24px; }
.signup h2 { font-size:clamp(38px,3.7vw,64px); line-height:1.1; letter-spacing:-.045em; }
.signup-copy>p { margin-top:20px; font-size:20px; line-height:1.6; max-width:450px; }
.signup-form label { display:block; margin-bottom:12px; font-size:17px; }
.signup-field { display:flex; min-height:64px; border:1px solid #470c0c55; border-radius:8px; padding:6px; background:white; }
.signup-field input { width:100%; min-width:0; padding:12px 15px; border:0; background:transparent; color:var(--ink); font:inherit; font-size:18px; }
.signup-field button { display:flex; align-items:center; justify-content:center; gap:18px; flex-shrink:0; padding:14px 24px; border:0; border-radius:4px; background:var(--ink); color:white; font:inherit; font-size:18px; }
.signup-field button:hover { background:#71221f; }
.signup-field button:disabled { opacity:.55; cursor:wait; }
.signup-form>p { font-size:14px; line-height:1.6; margin-top:15px; }
.signup-form a { text-decoration:underline; text-underline-offset:3px; }
.capture-status { min-height:24px; }
.site-footer { padding:80px 0 30px; background:#f6ebeb; }
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:45px; }
.footer-brand img { width:170px; height:60px; }
.footer-brand p { margin-top:28px; font-size:18px; line-height:1.6; }
.footer-social { display:flex; flex-wrap:wrap; gap:22px; margin-top:26px; font-size:15px; }
.footer-grid nav { display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.footer-grid h3 { margin-bottom:10px; font-size:19px; }
.footer-grid nav a { font-size:16px; line-height:1.4; }
.site-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.footer-base { display:flex; flex-wrap:wrap; gap:24px; justify-content:space-between; border-top:1px solid #470c0c26; margin-top:70px; padding-top:28px; font-size:14px; }
@media(max-width:1100px) { .signup { gap:40px; }.footer-grid { grid-template-columns:repeat(3,1fr); }.footer-brand { grid-column:1/-1; } }
@media(max-width:700px) {
 .signup { grid-template-columns:1fr; gap:36px; }
 .signup-copy>p { font-size:18px; }
 .signup-field { flex-wrap:wrap; }
 .signup-field input { flex:1 1 100%; min-height:52px; }
 .signup-field button { width:100%; }
 .footer-grid { grid-template-columns:1fr 1fr; gap:36px 24px; }
 .footer-brand { grid-column:1/-1; }
 .site-footer { padding-top:50px; }
 .hero-stats dd { font-size:12px; max-width:none; }
 .hero-stats { gap:14px; }
}

.checkout-status:empty { padding:0; margin:0; border:0; }

/* Repeating the supplied strip keeps square pixels alongside longer agendas. */
.agenda-motif { display:block; align-self:stretch; height:auto; min-height:0; margin-top:0; background:url('./assets/motifs/agenda-pixel-strip.svg') left top / 100% auto repeat-y; }
.agenda-rows article:last-child { margin-bottom:0; }
.agenda-rows .session-subtitle { display:block; }


/* Compact partner lockups: wide plaques keep the artwork prominent. */
.partner-grid .partner-card {
  aspect-ratio: auto;
  min-height: 210px;
  padding: 24px 26px;
  gap: 20px;
  justify-content: center;
}
.partner-grid .partner-card h3 {
  width: calc(100% - 24px);
  font-size: 18px;
  line-height: 1.3;
}
.partner-grid .partner-card > img {
  height: 84px;
  max-width: 250px;
}
.partner-grid .partner-arrow { width: 25px; height: 25px; top: 14px; right: 14px; }
.partner-grid .turquoise-brand { gap: 10px; }
.partner-grid .turquoise-brand img { width: 38px; height: 38px; }
.partner-grid .turquoise-brand span { font-size: 17px; line-height: 1.35; }
@media (max-width: 900px) {
  .partner-grid .partner-card { min-height: 190px; padding: 22px 20px; gap: 16px; }
  .partner-grid .partner-card h3 { font-size: 16px; }
  .partner-grid .partner-card > img { height: 72px; }
}
@media (max-width: 700px) {
  .partner-grid .partner-card { min-height: 166px; padding: 18px 14px; gap: 14px; }
  .partner-grid .partner-card h3 { font-size: 14px; width: calc(100% - 20px); }
  .partner-grid .partner-card > img { height: 58px; }
  .partner-grid .partner-arrow { width: 19px; height: 19px; top: 10px; right: 10px; }
  .partner-grid .turquoise-brand { gap: 7px; }
  .partner-grid .turquoise-brand img { width: 30px; height: 30px; }
  .partner-grid .turquoise-brand span { font-size: 13px; letter-spacing: .06em; }
}

@media (max-width:700px) {
  .partner-grid .partner-secondary > .partner-card:last-child { min-height:166px; }
}


/* The attendee wall reuses the exact wordmarks supplied in the 2026 prospectus. */
.session-keynote { white-space:nowrap; }
.represented-companies { padding:74px 0 86px; background:var(--paper,#fef9f9); }
.companies-heading { text-align:center; margin:0 auto 42px; }
.companies-eyebrow { display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:18px; color:#8b5d5d; font-size:12px; letter-spacing:.14em; text-transform:uppercase; }
.companies-eyebrow::before { content:""; width:7px; height:7px; background:var(--red,#e8483f); }
.companies-heading h2 { margin:0; font-weight:400; font-size:clamp(32px,3.1vw,48px); line-height:1.12; letter-spacing:-.04em; }
.companies-heading>p:last-child { margin:20px auto 0; color:#8b5d5d; font-size:16px; line-height:1.5; }
/* The SVG converts the exact white wordmarks into an alpha mask, including on iOS.
   No filtered white rectangles or blend-mode compositing around the logos. */
.company-reels { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); align-items:center; gap:16px 26px; }
.company-reel, .company-wall { display:contents; }
.company-wall { list-style:none; padding:0; margin:0; }
.company-cell { display:flex; align-items:center; justify-content:center; min-width:0; min-height:66px; padding:10px 3px; }
.company-sprite {
  display:block;
  width:min(100%,var(--mark-width));
  background:#171313;
  -webkit-mask-image:url('./assets/brandmarks/2026-attendee-mask.svg?v=2');
  mask-image:url('./assets/brandmarks/2026-attendee-mask.svg?v=2');
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:var(--mark-size);
  mask-size:var(--mark-size);
  -webkit-mask-position:var(--mark-position);
  mask-position:var(--mark-position);
  mask-mode:alpha;
}
.companies-controls { display:none; }
@media(max-width:1200px) { .company-reels { grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px 32px; } .company-cell { min-height:72px; } }
@media(max-width:700px) {
  .represented-companies { padding:28px 0 40px; }
  .companies-heading { margin-bottom:22px; }
  .companies-heading h2 { font-size:30px; }
  .companies-heading>p:last-child { font-size:14px; max-width:290px; margin-top:14px; }
  .company-reels { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; }
  .company-reel {
    display:block;
    min-width:0;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-behavior:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 12px),transparent);
    mask-image:linear-gradient(to right,transparent,#000 12px,#000 calc(100% - 12px),transparent);
  }
  .company-reel::-webkit-scrollbar { display:none; }
  .company-reel:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
  .company-wall { display:flex; width:max-content; align-items:center; gap:0; }
  .company-cell { flex:0 0 146px; width:146px; min-height:68px; padding:12px 14px; }
  .company-sprite { max-height:44px; }
  .companies-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:14px; min-height:44px; }
  .companies-controls>p { margin:0; color:#8b5d5d; font-size:12px; }
  .companies-motion { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; min-width:82px; padding:8px 12px; border:1px solid #470c0c24; border-radius:999px; color:var(--ink); background:transparent; font:inherit; font-size:12px; cursor:pointer; transition:background-color 160ms ease,transform 160ms ease; }
  .companies-motion[hidden] { display:none; }
  .companies-motion:hover { background:#470c0c08; }
  .companies-motion:active { transform:scale(.97); }
  .companies-motion:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
  .companies-play-icon, .companies-motion[data-paused="true"] .companies-pause-icon { display:none; }
  .companies-motion[data-paused="true"] .companies-play-icon { display:block; }
  .session-keynote { font-size:15px; letter-spacing:-.025em; }
}
@media(max-width:360px) { .companies-heading h2 { font-size:28px; } .session-keynote { font-size:14px; } }
@media(prefers-reduced-motion:reduce) { .companies-motion { display:none; transition:none; } }

/* Keep the two adjacent paper sections connected. */
.speakers:has(+.represented-companies) { padding-bottom:45px; }


/* Supplied partner artwork: consistent white plaques preserve original colours. */
.partner-grid .partner-additional {
  width:100%;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.partner-grid .partner-additional > .partner-card { background:#fff; gap:14px; }
.partner-grid .partner-additional > .partner-card > img { height:116px; }
.partner-grid .partner-additional .turquoise-wordmark {
  width:100%;
  max-width:310px;
  filter:none;
  opacity:1;
}
.partner-grid .partner-additional .amcham-card > img {
  width:116px;
  max-width:100%;
  filter:none;
  opacity:1;
}
@media(max-width:900px) {
  .partner-grid .partner-additional { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:18px; }
  .partner-grid .partner-additional > .turquoise-card { grid-column:1/-1; }
  .partner-grid .partner-additional > .partner-card > img { height:100px; }
  .partner-grid .partner-additional .amcham-card > img { width:100px; }
}
@media(max-width:700px) {
  .partner-grid .partner-additional { gap:14px; margin-top:14px; }
  .partner-grid .partner-additional > .partner-card { gap:10px; }
  .partner-grid .partner-additional > .partner-card > img { height:88px; }
  .partner-grid .partner-additional .amcham-card > img { width:88px; }
  .partner-grid .partner-additional .turquoise-wordmark { max-width:310px; }
}


/* Stacked marks need more vertical room than wide wordmarks to remain readable. */
.company-logo { display:block; flex:none; width:auto; height:auto; max-width:100%; object-fit:contain; }
.company-cell--woolworths, .company-cell--salvation-army { min-height:100px; }
.company-logo--woolworths { width:87px; }
.company-logo--parliament-victoria { width:138px; }
.company-logo--cpa { width:138px; }
.company-logo--salvation-army { width:64px; filter:grayscale(1) contrast(2.5); }
@media(max-width:700px) {
  .company-cell { min-height:96px; padding:6px 10px; }
  .company-logo--woolworths { width:87px; }
  .company-logo--parliament-victoria, .company-logo--cpa { width:126px; }
}

/* CPA's complete lockup includes the crest; give the combined artwork a wider slot. */
.company-cell--cpa { grid-column:span 2; }
.company-logo--cpa { width:156px; }
@media(max-width:700px) {
  .company-cell--cpa { flex-basis:176px; width:176px; }
  .company-logo--cpa { width:156px; }
}

@media(min-width:701px) and (max-width:1200px) { .company-reels { grid-auto-flow:row dense; } }

/* Mobile press strip: rows wrap and centre, so an odd last row sits under the
   one above. Every child is sized explicitly: the SVG marks have no intrinsic
   height, and the two radio marks sit inside wrapper spans. */
@media(max-width:700px){
  .press-logos { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:22px 6%; }
  .press-logos > * { flex:0 0 19.5%; width:19.5%; max-width:19.5%; }
  .press-logos > img, .press-logos > img:nth-child(n), .press-logos .press-radio img { display:block; width:100%; height:34px; max-height:34px; object-fit:contain; }
  .press-logos .press-radio { display:grid; position:relative; }
  /* hero-scroll.css sets these two to height:auto; the supplied PNGs then collapse on a phone */
  body .press .press-logos > img.press-seven, body .press .press-logos > img.press-ten-news { height:34px; max-height:34px; object-fit:contain; }
}
