:root {
  color-scheme: dark;
  --ink: #0a0a0a;
  --paper: #f2f0ea;
  --surface: #151515;
  --surface-raised: #202020;
  --muted: #8a8a84;
  --green: #00d96f;
  --line: rgba(255, 255, 255, 0.18);
}

* { box-sizing: border-box; }
[hidden] { display:none !important; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--ink);
  color: var(--paper);
  font-family: "Inter", sans-serif;
  overflow-x: hidden;
}
a { color: inherit; }
.grain {
  position: fixed;
  inset: 0;
  z-index: 20;
  pointer-events: none;
  opacity: .065;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
.site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem clamp(1.1rem, 4vw, 4rem);
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.brand { display: inline-flex; align-items: center; text-decoration: none; }
.brand img { display:block; width:3.8rem; height:3.8rem; object-fit:contain; object-position:left center; }
.header-actions { display:flex; align-items:center; gap:1rem; }
.header-meta { display: flex; align-items: center; gap: .55rem; text-transform: uppercase; letter-spacing: .14em; font-size: .72rem; font-weight: 700; }
.header-meta b { color:var(--green); }
.hero { position: relative; min-height: 100svh; overflow: hidden; display: grid; align-items: end; isolation: isolate; }
.hero-media { position:absolute; inset:0; z-index:-3; overflow:hidden; }
.hero-image { width: 100%; height: 100%; object-fit: cover; object-position: 59% center; transform: scale(1.025); animation: heroIn 1.4s cubic-bezier(.2,.7,.2,1) both; }
.hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(3,5,3,.98) 0%, rgba(3,5,3,.9) 33%, rgba(3,5,3,.25) 68%, rgba(3,5,3,.36) 100%), linear-gradient(0deg, rgba(3,5,3,.75), transparent 45%); }
.court-lines { position: absolute; z-index: -1; inset: auto -6vw -20vh auto; width: min(62vw, 50rem); opacity: .16; stroke: var(--green); stroke-width: 1.5; transform: rotate(-8deg) perspective(800px) rotateX(50deg); }
.hero-content { width: min(49rem, 92vw); margin: 0 0 clamp(5.5rem, 11vh, 8rem) clamp(1.1rem, 7vw, 7rem); }
.eyebrow { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; font: 700 .72rem/1 "Inter", sans-serif; text-transform: uppercase; letter-spacing: .15em; color: var(--green); }
.eyebrow span + span { color: #d9ded9; padding-left: 1rem; border-left: 1px solid var(--line); }
h1 { margin: 0; max-width: 11.5ch; font: 700 clamp(3.7rem, 7.5vw, 7.6rem)/.89 "Space Grotesk", sans-serif; letter-spacing: -.075em; }
h1 em { color: transparent; font-style: normal; -webkit-text-stroke: 1.5px var(--green); text-shadow: 0 0 40px rgba(0,231,120,.08); }
.hero-copy { max-width: 39rem; margin: 1.55rem 0 1.8rem; color: #d5d9d5; font-size: clamp(1.02rem, 1.45vw, 1.22rem); line-height: 1.55; }
.event-strip { display: grid; grid-template-columns: repeat(3, minmax(7rem, 10rem)); width: fit-content; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.event-strip div { padding: .9rem 1.25rem .9rem 0; }
.event-strip div + div { padding-left: 1.25rem; border-left: 1px solid var(--line); }
.event-strip span, .event-strip strong { display: block; }
.event-strip span { color: var(--muted); font-size: .67rem; text-transform: uppercase; letter-spacing: .13em; }
.event-strip strong { margin-top: .26rem; font: 700 .94rem/1.1 "Space Grotesk", sans-serif; }
.hero-actions { display: flex; align-items: center; gap: 1.5rem; margin-top: 1.7rem; }
.button { appearance:none; display: inline-flex; align-items: center; justify-content: center; gap: 1.5rem; min-height: 3.55rem; padding: 0 1.45rem; text-decoration: none; font:700 1rem/1 "Space Grotesk",sans-serif; border: 1px solid var(--green); cursor:pointer; }
.button-primary { background: var(--green); color: #031009; box-shadow: 0 0 2rem rgba(0,231,120,.17); transition: transform .2s ease, box-shadow .2s ease; }
.button-primary:hover { transform: translateY(-3px); box-shadow: 0 .8rem 2.4rem rgba(0,231,120,.25); }
.text-link { color: #dfe4df; text-underline-offset: .35rem; font-size: .92rem; }
.shuttle { position: absolute; right: 7vw; top: 22%; width: 4.1rem; color: var(--green); opacity: .82; filter: drop-shadow(0 0 18px rgba(0,231,120,.35)); animation: drift 6s ease-in-out infinite; }
.shuttle svg { width: 100%; stroke: currentColor; stroke-width: 2; }
.section-pad { padding: clamp(5.5rem, 10vw, 9rem) max(1.1rem, 7vw); }
.section-tag { display: flex; align-items: center; gap: .8rem; margin-bottom: clamp(2.5rem,5vw,5rem); color: var(--green); text-transform: uppercase; font: 700 .72rem/1 "Inter",sans-serif; letter-spacing: .15em; }
.section-tag span { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid rgba(0,231,120,.55); border-radius: 50%; }
.manifesto { background: var(--ink); border-bottom: 1px solid var(--line); }
.manifesto-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(17rem,.55fr); gap: clamp(2rem,7vw,8rem); align-items: end; }
.manifesto h2, .format-head h2, .builders-copy h2, .ticket-copy h2, .faq h2 { margin: 0; font: 700 clamp(2.65rem,5.6vw,6.2rem)/.98 "Space Grotesk",sans-serif; letter-spacing: -.065em; }
.manifesto h2 em, .builders-copy h2 em { color: var(--green); font-style: normal; }
.manifesto-copy { color: #bfc4bf; line-height: 1.65; font-size: 1.02rem; }
.number-rail { display: grid; grid-template-columns: repeat(4,1fr); margin-top: clamp(4rem,8vw,8rem); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.number-rail div { padding: 1.55rem 1.2rem 1.55rem 0; }
.number-rail div + div { border-left: 1px solid var(--line); padding-left: 1.4rem; }
.number-rail strong { display: block; font: 700 clamp(2.2rem,4.4vw,4.8rem)/1 "Space Grotesk",sans-serif; letter-spacing: -.07em; }
.number-rail span { display: block; margin-top: .35rem; color: var(--muted); text-transform: uppercase; letter-spacing: .12em; font-size: .66rem; }
.image-break { position: relative; min-height: min(78vw,56rem); overflow: hidden; }
.image-break picture { position:absolute; inset:0; }
.image-break img { width: 100%; height: 100%; object-fit: cover; object-position: center 43%; filter: saturate(.8) contrast(1.04); }
.image-break::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,7,5,.04),rgba(5,7,5,.72)); }
.image-caption { position: absolute; z-index: 2; left: max(1.1rem,7vw); right: max(1.1rem,7vw); bottom: 2rem; display: flex; justify-content: space-between; font: 700 clamp(2.5rem,7vw,7.8rem)/.8 "Space Grotesk",sans-serif; letter-spacing: -.08em; text-transform: uppercase; }
.image-caption span:nth-child(2) { color: transparent; -webkit-text-stroke: 1.5px var(--paper); }
.image-caption span:nth-child(3) { color: var(--green); }
.image-mark { position: absolute; z-index:2; right:6vw; top:5vw; width:clamp(6rem,15vw,13rem); stroke:var(--green); stroke-width:1.2; animation: spin 18s linear infinite; }
.run-of-show { background: var(--paper); color: var(--ink); }
.run-of-show .section-tag, .details .section-tag { color:#00763e; }
.format-head { display:grid; grid-template-columns:1.4fr .6fr; gap:6vw; align-items:end; margin-bottom:5rem; }
.format-head p { color:#4e534e; line-height:1.65; }
.timeline { list-style:none; margin:0; padding:0; border-top:1px solid #b9bcb8; }
.timeline li { position:relative; display:grid; grid-template-columns:minmax(5rem,.26fr) 1fr auto; gap:2rem; align-items:center; padding:1.55rem 0; border-bottom:1px solid #c6c9c5; overflow:hidden; }
.timeline li::before { content:""; position:absolute; inset:0; background:var(--green); transform:translateX(-102%); transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.timeline li:hover::before { transform:translateX(0); }
.timeline li > * { position:relative; z-index:1; }
.timeline .time { font:700 .8rem "Inter",sans-serif; letter-spacing:.12em; }
.timeline strong { display:block; font:700 clamp(1.25rem,2.2vw,2rem) "Space Grotesk",sans-serif; }
.timeline p { margin:.25rem 0 0; color:#60645f; }
.timeline b { color:#d0d3cf; font:700 2rem "Space Grotesk",sans-serif; }
.for-builders { overflow:hidden; }
.builders-copy { max-width:72rem; margin:0 auto; }
.builders-copy p { color:#bbc0bb; line-height:1.7; max-width:39rem; }
.audience-list { display:flex; flex-wrap:wrap; gap:.65rem; margin:2rem 0; }
.audience-list span { padding:.78rem 1rem; border:1px solid rgba(255,255,255,.2); border-radius:99rem; font-weight:600; }
.builders-copy .fine-print { color:#7f8780; font-size:.9rem; }
.ticket-includes { background:#0a0e0b; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.ticket-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:10vw; align-items:end; }
.price { display:block; color:var(--green); font:700 clamp(4rem,9vw,10rem)/.8 "Space Grotesk",sans-serif; letter-spacing:-.09em; margin-bottom:2rem; }
.include-list { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.include-list li { display:flex; align-items:center; gap:1rem; padding:1.25rem 0; border-bottom:1px solid var(--line); font-size:1.02rem; }
.include-list span { color:var(--green); font:700 .7rem "Inter",sans-serif; }
.details { background:var(--paper); color:var(--ink); }
.details-card { position:relative; display:grid; grid-template-columns:minmax(9rem,.35fr) 1fr; border:1px solid #b6bab5; }
.date-block { display:grid; place-items:center; align-content:center; min-height:29rem; border-right:1px solid #b6bab5; }
.date-block span { color:#00763e; font:700 1rem "Inter",sans-serif; letter-spacing:.18em; }
.date-block strong { font:700 clamp(6rem,13vw,13rem)/.85 "Space Grotesk",sans-serif; letter-spacing:-.1em; }
.date-block small { text-transform:uppercase; letter-spacing:.16em; }
.detail-copy { padding:clamp(2rem,5vw,5rem); }
.detail-copy h2 { max-width:12ch; margin:0 0 3rem; font:700 clamp(2.4rem,5vw,5.5rem)/.94 "Space Grotesk",sans-serif; letter-spacing:-.07em; }
.detail-row { display:grid; grid-template-columns:7rem 1fr; gap:1rem; padding:1rem 0; border-top:1px solid #c8cbc7; }
.detail-row span { color:#676c67; }
.details-shuttle { position:absolute; right:2rem; top:2rem; width:4rem; stroke:#008849; stroke-width:2; transform:rotate(18deg); }
.faq { background:var(--ink); }
.faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; }
.accordion { border-top:1px solid var(--line); }
.accordion details { border-bottom:1px solid var(--line); }
.accordion summary { list-style:none; display:flex; justify-content:space-between; align-items:center; gap:1rem; cursor:pointer; padding:1.45rem 0; font:600 1.05rem "Space Grotesk",sans-serif; }
.accordion summary::-webkit-details-marker { display:none; }
.accordion summary span { color:var(--green); font-size:1.5rem; transition:transform .25s ease; }
.accordion details[open] summary span { transform:rotate(45deg); }
.accordion p { margin:-.35rem 3rem 1.4rem 0; color:#aeb4ae; line-height:1.65; }
.register-section { position:relative; min-height:82vh; display:grid; place-items:center; overflow:hidden; background:var(--green); color:#031009; text-align:center; }
.register-inner { position:relative; z-index:2; }
.register-kicker { display:block; text-transform:uppercase; letter-spacing:.18em; font:700 .72rem "Inter",sans-serif; }
.register-inner h2 { margin:1.2rem 0 1.5rem; font:700 clamp(3.3rem,8vw,8.7rem)/.83 "Space Grotesk",sans-serif; letter-spacing:-.08em; }
.register-inner h2 em { color:transparent; font-style:normal; -webkit-text-stroke:1.5px #031009; }
.register-inner p { max-width:31rem; margin:0 auto 2rem; font-size:1.05rem; line-height:1.55; }
.button-dark { min-width:min(100%,23rem); border-color:#031009; background:#031009; color:var(--paper); cursor:pointer; }
.button-dark:hover { transform:translateY(-3px); }
.register-inner small { display:block; margin-top:1rem; opacity:.64; }
.register-lines { position:absolute; inset:-20%; transform:rotate(-8deg); opacity:.18; }
.register-lines i { position:absolute; left:0; right:0; height:1px; background:#031009; }
.register-lines i:nth-child(1){top:20%}.register-lines i:nth-child(2){top:40%}.register-lines i:nth-child(3){top:60%}.register-lines i:nth-child(4){top:80%}
footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem; padding:2rem max(1.1rem,4vw); background:#030403; border-top:1px solid var(--line); color:#979d97; font-size:.8rem; text-transform:uppercase; letter-spacing:.12em; }
.footer-brand { display:flex; align-items:center; color:var(--paper); text-transform:none; letter-spacing:0; font-weight:700; }
.footer-brand img { width:3.2rem; height:3.2rem; object-fit:contain; }
footer p { margin:0; } footer a { justify-self:end; }
.mobile-cta { display:none; }
.cashfree-button-form { display:flex; justify-content:center; margin:0; }
.cashfree-button { display:inline-flex; align-items:center; min-width:min(100%,23rem); padding:.72rem 1rem; border:1px solid #000; border-radius:.75rem; background:#000; color:#fff; text-decoration:none; box-shadow:0 .9rem 2rem rgba(0,0,0,.18); transition:transform .2s ease,box-shadow .2s ease; }
.cashfree-button:hover { transform:translateY(-3px); box-shadow:0 1.2rem 2.5rem rgba(0,0,0,.24); }
.cashfree-logo { width:2.7rem; height:2.7rem; flex:0 0 auto; }
.cashfree-button-copy { display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; padding:0 .75rem; }
.cashfree-button-copy strong { font:700 1rem "Space Grotesk",sans-serif; }
.cashfree-button-copy small { display:flex; align-items:center; gap:.3rem; margin-top:.28rem; color:#c9cec9; font-size:.66rem; }
.cashfree-button-copy small img { width:1rem; height:1rem; }
[data-cashfree-link].sold-out { opacity:.48; pointer-events:none; cursor:not-allowed; }
.confirmation-page { min-height:100dvh; display:grid; place-items:center; padding:1.2rem; background:#050705; color:var(--paper); }
.confirmation-card { width:min(48rem,100%); padding:clamp(2rem,6vw,5rem); border:1px solid var(--line); background:#0a0e0b; text-align:center; }
.confirmation-card .brand { width:max-content; margin:0 auto 4rem; }
.confirmation-kicker { color:var(--green); text-transform:uppercase; letter-spacing:.17em; font:700 .72rem "Inter",sans-serif; }
.confirmation-card h1 { margin:1rem 0 1.5rem; font:700 clamp(3.4rem,9vw,7rem)/.86 "Space Grotesk",sans-serif; letter-spacing:-.075em; }
.confirmation-card h1 em { color:var(--green); font-style:normal; }
.confirmation-card p { max-width:35rem; margin:0 auto 2rem; color:#b7bdb7; line-height:1.65; }
.confirmation-card .button { margin:0 auto; }
.confirmation-home { display:block; margin-top:1.3rem; color:#aeb4ae; text-decoration:underline; text-underline-offset:.3rem; }
.ticket-page { min-height:100dvh; background:var(--ink); color:var(--paper); }
.ticket-header { display:flex; align-items:center; justify-content:space-between; width:min(72rem,calc(100% - 2.2rem)); margin:0 auto; padding:1.1rem 0; border-bottom:1px solid var(--line); }
.ticket-header .brand { width:7.5rem; height:4.25rem; overflow:hidden; }
.ticket-header .brand img { width:7.5rem; height:7.5rem; margin-top:-1.65rem; object-fit:cover; object-position:center; mix-blend-mode:screen; }
.ticket-header-meta { color:var(--muted); font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.ticket-shell { width:min(72rem,calc(100% - 2.2rem)); margin:0 auto; padding:clamp(2.2rem,6vw,6rem) 0; }
.ticket-state { min-height:24rem; display:grid; place-items:center; color:var(--muted); }
.ticket-state-card { max-width:33rem; text-align:center; }
.ticket-state-card h1 { max-width:none; margin-bottom:1rem; font-size:clamp(2.5rem,8vw,5rem); }
.ticket-state-card p { line-height:1.65; }
.ticket-pass { display:grid; grid-template-columns:minmax(0,1fr) minmax(18rem,.58fr); border:1px solid var(--line); background:var(--surface); }
.ticket-pass-main { padding:clamp(1.6rem,5vw,4.5rem); }
.ticket-pass-side { display:flex; flex-direction:column; justify-content:center; padding:clamp(1.6rem,4vw,3.5rem); border-left:1px solid var(--line); background:var(--paper); color:var(--ink); }
.ticket-status-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:clamp(3rem,7vw,6rem); }
.ticket-status { display:inline-flex; align-items:center; gap:.55rem; color:var(--green); font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.ticket-status::before { content:""; width:.5rem; height:.5rem; border-radius:50%; background:currentColor; }
.ticket-preview-note { padding:.45rem .6rem; border:1px solid var(--line); color:var(--muted); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; }
.ticket-event-label { color:var(--green); font-size:.72rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.ticket-pass h1 { max-width:10ch; margin:.8rem 0 1.4rem; font-size:clamp(3.2rem,7vw,7.2rem); }
.ticket-holder { margin:0 0 2.5rem; color:#c7cbc7; font-size:clamp(1rem,2vw,1.3rem); }
.ticket-holder strong { color:var(--paper); }
.ticket-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.ticket-fact { padding:1rem 1rem 1rem 0; }
.ticket-fact + .ticket-fact { padding-left:1rem; border-left:1px solid var(--line); }
.ticket-fact span,.ticket-fact strong { display:block; }
.ticket-fact span { color:var(--muted); font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; }
.ticket-fact strong { margin-top:.4rem; font-family:"Space Grotesk",sans-serif; font-size:.95rem; }
.ticket-id-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:2rem; color:var(--muted); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.ticket-id-row strong { color:var(--green); font-family:"Space Grotesk",sans-serif; }
.ticket-qr-label { color:#555851; font-size:.68rem; font-weight:700; letter-spacing:.14em; text-align:center; text-transform:uppercase; }
.ticket-qr { display:grid; place-items:center; width:min(100%,17rem); aspect-ratio:1; margin:1rem auto; padding:1rem; background:#fff; }
.ticket-qr img,.ticket-qr canvas { display:block; width:100% !important; height:auto !important; }
.ticket-qr-fallback { display:grid; place-items:center; width:100%; height:100%; padding:1rem; border:1px solid #c9c7c0; color:#555851; font-size:.75rem; line-height:1.5; text-align:center; overflow-wrap:anywhere; }
.ticket-scan-copy { margin:0 auto; max-width:18rem; color:#555851; font-size:.83rem; line-height:1.55; text-align:center; }
.ticket-page-actions { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:1.3rem; color:var(--muted); font-size:.82rem; }
.ticket-page-actions a { text-underline-offset:.3rem; }
.reveal { opacity:0; transform:translateY(2rem); transition:opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal.visible { opacity:1; transform:translateY(0); }
@keyframes heroIn { from { opacity: 0; transform: scale(1.08); } to { opacity: 1; transform: scale(1.025); } }
@keyframes pulse { 50% { transform: scale(.75); box-shadow: 0 0 0 .55rem rgba(0,231,120,0); } }
@keyframes drift { 50% { transform: translate(-1.1rem, 1.2rem) rotate(7deg); } }
@keyframes lineMove { 50% { transform: scaleX(.55); transform-origin: left; } }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes dash { to { stroke-dashoffset:-240; } }
@media (max-width: 720px) {
  .site-header { padding-top: 1rem; }
  .brand img { width:3.2rem; height:3.2rem; }
  .header-actions { gap:.55rem; }
  .header-meta { font-size:.58rem; letter-spacing:.08em; }
  .hero { display:block; min-height:auto; padding-top:63svh; }
  .hero-media { height:68svh; bottom:auto; }
  .hero-image { object-position:center 50%; }
  .hero-shade { height:69svh; bottom:auto; background:linear-gradient(0deg,rgba(3,5,3,.98),rgba(3,5,3,.02) 55%),linear-gradient(90deg,rgba(3,5,3,.35),transparent); }
  .hero-content { position:relative; z-index:2; margin:-7rem 1.1rem 0; padding-bottom:4.8rem; width:auto; }
  h1 { max-width:10ch; font-size:clamp(3.05rem,15vw,4.6rem); }
  .hero-copy { max-width: 33rem; }
  .event-strip { width: 100%; grid-template-columns: repeat(3,1fr); }
  .event-strip div { padding-right: .55rem; }
  .event-strip div + div { padding-left: .65rem; }
  .event-strip strong { font-size: .83rem; }
  .hero-actions { align-items: stretch; flex-direction: column; gap: 1rem; }
  .button { width: 100%; }
  .text-link { text-align: center; }
  .shuttle { display: none; }
  .section-pad { padding-top:5rem; padding-bottom:5rem; }
  .manifesto-grid, .format-head, .ticket-grid, .faq-grid { grid-template-columns:1fr; }
  .manifesto h2, .format-head h2, .builders-copy h2, .ticket-copy h2, .faq h2 { font-size:clamp(2.45rem,11vw,4rem); }
  .number-rail { grid-template-columns:repeat(2,1fr); }
  .number-rail div:nth-child(3) { border-left:0; border-top:1px solid var(--line); }
  .number-rail div:nth-child(4) { border-top:1px solid var(--line); }
  .image-break { min-height:40rem; }
  .image-break img { object-position:center; }
  .image-caption { flex-direction:column; gap:.25rem; font-size:clamp(3rem,15vw,5rem); }
  .format-head { margin-bottom:2.5rem; }
  .timeline li { grid-template-columns:4rem 1fr; gap:1rem; }
  .timeline li b { display:none; }
  .timeline p { font-size:.9rem; }
  .ticket-grid { gap:3rem; }
  .details-card { grid-template-columns:1fr; }
  .date-block { min-height:auto; padding:2rem; border-right:0; border-bottom:1px solid #b6bab5; }
  .date-block strong { font-size:7rem; }
  .detail-row { grid-template-columns:5rem 1fr; }
  .details-shuttle { width:3rem; }
  .faq-grid { gap:3rem; }
  .register-section { min-height:43rem; }
  footer { grid-template-columns:1fr auto; }
  footer p { display:none; }
  .mobile-cta { position:fixed; z-index:30; left:1rem; right:1rem; bottom:1rem; display:flex; align-items:center; justify-content:center; min-height:3.4rem; border:0; background:var(--green); color:#031009; font-weight:800; box-shadow:0 1rem 3rem rgba(0,0,0,.35); transform:translateY(140%); transition:transform .25s ease; }
  .mobile-cta.show { transform:translateY(0); }
  .cashfree-button { width:100%; }
  .ticket-header { align-items:flex-start; }
  .ticket-header-meta { max-width:10rem; line-height:1.45; text-align:right; }
  .ticket-pass { grid-template-columns:1fr; }
  .ticket-pass-side { border-left:0; border-top:1px solid var(--line); }
  .ticket-status-row { align-items:flex-start; flex-direction:column; margin-bottom:3rem; }
  .ticket-pass h1 { font-size:clamp(3.2rem,15vw,5.2rem); }
  .ticket-facts { grid-template-columns:1fr; }
  .ticket-fact { padding:1rem 0; }
  .ticket-fact + .ticket-fact { padding-left:0; border-left:0; border-top:1px solid var(--line); }
  .ticket-page-actions { align-items:flex-start; flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
