/* One native sticky scene: the paper reaches the CTA before the scene releases. */
.site-header { --nav-glass:var(--paper); --nav-edge:var(--paper); }
.hero-scene { position:relative; isolation:isolate; background:#101010; }
.hero-scene .hero { grid-template-rows:auto; overflow:hidden; background:#101010; }
.hero-scene .hero-content { padding:132px 0 64px; }
.hero-scene .hero .event-meta { margin-top:32px; }
.hero-scene .hero .hero-action .hero-ticket {
  --dock-step:18px;
  position:relative;
  isolation:isolate;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  justify-content:center;
  font-size:22px;
  font-weight:400;
  transition:color 180ms ease;
}
.hero-scene .hero-ticket::before {
  content:'';
  position:absolute;
  z-index:-1;
  inset:0;
  background:var(--paper);
  clip-path:var(--hero-button-shape,polygon(var(--dock-step) 0,calc(100% - var(--dock-step)) 0,calc(100% - var(--dock-step)) var(--dock-step),100% var(--dock-step),100% calc(100% - var(--dock-step)),calc(100% - var(--dock-step)) calc(100% - var(--dock-step)),calc(100% - var(--dock-step)) 100%,var(--dock-step) 100%,var(--dock-step) calc(100% - var(--dock-step)),0 calc(100% - var(--dock-step)),0 var(--dock-step),var(--dock-step) var(--dock-step)));
}
.hero-scene .hero .hero-action .hero-ticket > span:nth-child(2) { flex:0 1 auto; }
.hero-scene .hero-ticket small { display:none; }
.hero-scene .hero-ticket .pixel-hero-left { display:inline-flex; transform:scaleX(-1); }
.hero-scene .hero .hero-action .hero-ticket:is(:hover,:active,:focus-visible) { transform:none; background:transparent; color:var(--offer-blue); }
.hero-dock-tabs { display:none; }
.hero-scene.is-pinned .hero-dock-tabs { display:block; position:absolute; inset:0; pointer-events:none; }
.hero-dock-tabs::before,.hero-dock-tabs::after { content:''; position:absolute; top:calc(var(--dock-step) * -1); width:calc(var(--dock-step) + 1px); height:calc(var(--dock-step) + 1px); background:var(--paper); }
/* Both outer edges use the button's measured coordinates. The one-pixel
   seam overlap points inward, keeping the outside corners perfectly flush. */
.hero-dock-tabs::before { left:var(--dock-left); }
.hero-dock-tabs::after { left:calc(var(--dock-right) - var(--dock-step) - 1px); }
.hero-dock-tooth {
  position:absolute;
  top:0;
  width:var(--dock-cell,var(--dock-step));
  height:var(--dock-cell,var(--dock-step));
  background:var(--paper);
  transform:translateY(calc(-1 * var(--dock-tooth-rise,0px)));
  pointer-events:none;
}
.hero-dock-bridge { display:none; position:absolute; top:-1px; left:calc(var(--dock-left) + var(--dock-step)); width:calc(var(--dock-right) - var(--dock-left) - var(--dock-step) * 2); height:2px; background:var(--paper); pointer-events:none; }
/* Final-dock paint overlaps only the already-white interior. The measured
   outside corners stay untouched, including at fractional browser zoom. */
.hero-dock-tabs.is-docked .hero-dock-bridge { display:block; }
.hero-dock-tabs.is-docked .hero-dock-tooth::after { content:''; position:absolute; inset:-1px; background:var(--paper); }
.hero-reveal {
  --reveal-step:min(7.6923vw, calc(var(--reveal-height, 300px) / 3));
  position:relative;
  z-index:5;
  min-height:max(240px,calc(var(--reveal-step) * 3 + 24px));
  padding:72px 0 32px;
  color:var(--ink);
}
.hero-reveal::before {
  content:'';
  position:absolute;
  z-index:-1;
  inset:0 0 -1px;
  background:var(--paper);
  clip-path:polygon(0 calc(var(--reveal-step) * 3), 7.6923% calc(var(--reveal-step) * 3), 7.6923% calc(var(--reveal-step) * 2), 15.3846% calc(var(--reveal-step) * 2), 15.3846% var(--reveal-step), 23.0769% var(--reveal-step), 23.0769% 0, 76.9231% 0, 76.9231% var(--reveal-step), 84.6154% var(--reveal-step), 84.6154% calc(var(--reveal-step) * 2), 92.3077% calc(var(--reveal-step) * 2), 92.3077% calc(var(--reveal-step) * 3), 100% calc(var(--reveal-step) * 3), 100% 100%, 0 100%);
}
.hero-reveal::after { content:''; position:absolute; z-index:-1; top:var(--reveal-step); left:0; width:100%; height:var(--reveal-step); background:var(--paper); clip-path:polygon(0 0,7.6923% 0,7.6923% 100%,92.3077% 100%,92.3077% 0,100% 0,100% 100%,0 100%); }
.hero-reveal .hero-stats {
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,4vw,64px);
  width:52%;
  max-width:800px;
  margin:0 auto;
  padding:0;
  text-align:center;
  text-shadow:none;
  color:var(--ink);
}
.hero-reveal .hero-stats dt { font-size:clamp(32px,4.8vw,72px); line-height:1.08; letter-spacing:-.055em; }
.hero-reveal .hero-stats dd { max-width:none; margin:16px 0 0; font-size:clamp(14px,1.3vw,20px); line-height:1.35; }
.hero-scene.is-pinned { height:calc(var(--scene-height) + var(--reveal-height)); }
.hero-scene.is-pinned .hero { position:sticky; top:var(--scene-top); height:var(--scene-height); min-height:0; grid-template-rows:minmax(0,1fr); }
.hero-scene.is-pinned .hero-content { padding-bottom:0; }
.hero-scene.is-pinned .hero-reveal { position:absolute; top:var(--scene-height); width:100%; height:var(--reveal-height); min-height:0; }
.press { position:relative; background:var(--paper); color:var(--ink); padding-top:48px; padding-bottom:64px; }
.press.press-in-stair {
  z-index:6;
  margin-top:calc(-1 * var(--press-lift, 0px));
  background:transparent;
}
.press .press-logos img { filter:brightness(0); }
.press .press-logos > img:nth-child(1), .press .press-logos > img:nth-child(2) { filter:none; mix-blend-mode:multiply; }
.press .press-logos .press-radio img { filter:none; mix-blend-mode:multiply; }
.press .press-logos .press-radio .press-radio-lettering { display:none; }
.press-ten { color:var(--ink); }
.intro { background:var(--paper); color:var(--ink); padding-top:70.4px; }
.intro-copy { margin-bottom:64px; }
.intro-copy p { color:#505050; }
.intro .brand-divider { background:none; height:0; min-height:0; aspect-ratio:auto; margin:0; }
.intro .film { margin-bottom:0; }
.tickets { border-top:1px solid var(--line); }
@media(max-width:1366px) {
  .hero-scene .hero-content { padding-top:128px; }
  .hero-scene .hero .event-meta { margin-top:24px; }
  .hero-reveal { min-height:max(210px,calc(var(--reveal-step) * 3 + 24px)); padding-top:64px; }
}
@media(max-width:700px) {
  .hero-scene .hero .hero-action .hero-ticket { --dock-step:12px; font-size:20px; }
  .hero-scene .hero-content { padding-top:120px; }
  .hero-scene .hero-action { margin-top:30px; }
  .hero-reveal { --reveal-step:min(7.6923vw,40px,calc(var(--reveal-height,300px) / 3)); min-height:max(190px,calc(var(--reveal-step) * 3 + 24px)); padding-top:calc(min(23.0769vw,120px) + 20px); padding-bottom:12px; }
  .hero-reveal .hero-stats { width:calc(100% - 44px); max-width:480px; gap:12px; }
  .hero-reveal .hero-stats dt { font-size:clamp(30px,9vw,48px); }
  .hero-reveal .hero-stats dd { margin-top:10px; font-size:12px; }
  .press { padding-top:16px; padding-bottom:20px; }
  .press > p { margin-bottom:18px; }
  .press-logos { row-gap:18px; }
  /* Tall-phone reveal slack can extend behind the following section. */
  .intro { position:relative; z-index:1; padding-top:64px; }
  .intro-copy { margin-bottom:16px; }
  .intro-copy p { font-size:21px; }
}
@media(prefers-reduced-motion:reduce) {
  .press.press-in-stair { margin-top:0; background:var(--paper); }
  .hero-scene.is-pinned .hero-dock-tabs { display:none; }
  .hero-scene.is-pinned { height:auto; }
  .hero-scene.is-pinned .hero { position:relative; top:auto; height:auto; }
  .hero-scene.is-pinned .hero-content { padding-bottom:64px; }
  .hero-scene.is-pinned .hero-reveal { position:relative; top:auto; height:auto; min-height:max(190px,calc(var(--reveal-step) * 3 + 24px)); }
}

/* Supplied current media artwork keeps its authentic colour and proportions. */
.press .press-logos img { filter:none; }
.press .press-logos > img.press-afr { height:clamp(14px,1.9vw,28px); max-height:none; object-fit:cover; object-position:center; }
.press .press-logos > img.press-seven, .press .press-logos > img.press-ten-news { width:100%; height:auto; object-fit:contain; }

.press > p[data-brand-eyebrow] { justify-content:center; }
