:root { --red:#ed1c24; --ink:#0b0b0d; --paper:#f4f1ea; --white:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1160px, calc(100% - 40px)); margin-inline:auto; }
.nav { height:82px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:10; }
.brand { display:flex; align-items:center; }
.brand-logo { display:block; width:82px; height:64px; object-fit:cover; border-radius:50%; }
.footer-logo { width:90px; height:68px; }
.nav-cta { font-size:12px; font-weight:900; letter-spacing:.1em; border-bottom:3px solid var(--red); padding:10px 0 7px; }
.hero { background:var(--ink); color:white; position:relative; overflow:hidden; }
.hero-lines { position:absolute; inset:0; opacity:.12; background:repeating-linear-gradient(105deg, transparent 0 92px, #fff 94px 95px); }
.hero-grid { min-height:660px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; position:relative; }
.hero-copy { padding:72px 0 80px; position:relative; z-index:2; }
.eyebrow { margin:0 0 18px; color:white; font-size:12px; letter-spacing:.18em; font-weight:900; }
.eyebrow.red { color:var(--red); }
h1,h2 { font-family:Impact, "Arial Black", sans-serif; margin:0; text-transform:uppercase; line-height:.87; letter-spacing:.01em; }
h1 { font-size:clamp(68px, 8.2vw, 126px); }
h1 em { color:var(--red); font-style:normal; }
.hero-text { max-width:590px; color:#c8c8cb; font-size:19px; line-height:1.6; margin:28px 0 32px; }
.hero-actions { display:flex; gap:24px; align-items:center; flex-wrap:wrap; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:30px; min-height:54px; padding:0 24px; border:0; font-weight:900; font-size:12px; letter-spacing:.1em; cursor:pointer; }
.primary { background:var(--red); color:white; box-shadow:7px 7px 0 white; }
.primary:hover { transform:translate(-2px,-2px); box-shadow:9px 9px 0 white; }
.text-link { font-size:11px; letter-spacing:.11em; font-weight:900; padding:16px 0; }
.hero-visual { min-height:620px; position:relative; }
.backboard { position:absolute; width:210px; height:135px; border:10px solid white; right:7%; top:13%; transform:skew(-4deg); }
.backboard span { position:absolute; width:82px; height:58px; border:7px solid white; bottom:-7px; left:52px; }
.rim { position:absolute; width:92px; height:18px; border:8px solid var(--red); right:17%; top:35%; border-radius:50%; z-index:4; }
.ball { position:absolute; width:70px; height:70px; border-radius:50%; display:grid; place-items:center; background:var(--red); color:white; font-size:22px; right:30%; top:26%; box-shadow:inset 0 0 0 4px white; z-index:8; }
.dunker { position:absolute; width:250px; height:290px; right:25%; top:31%; transform:rotate(-24deg); z-index:5; }
.dunker span { position:absolute; display:block; background:white; border-radius:30px; }
.dunker .head { width:50px; height:50px; left:97px; top:0; border-radius:50%; }
.dunker .body { width:72px; height:140px; left:86px; top:43px; background:var(--red); transform:skew(-8deg); }
.dunker .arm { width:34px; height:142px; top:30px; transform-origin:top; }
.dunker .arm-one { left:100px; transform:rotate(-62deg); }
.dunker .arm-two { left:140px; transform:rotate(48deg); }
.dunker .leg { width:39px; height:170px; top:160px; transform-origin:top; }
.dunker .leg-one { left:91px; transform:rotate(34deg); }
.dunker .leg-two { left:132px; transform:rotate(-31deg); }
.trampoline { position:absolute; width:280px; height:24px; border:8px solid white; border-radius:50%; bottom:10%; left:7%; transform:rotate(-10deg); }
.flight-copy { position:absolute; right:-10px; bottom:7%; display:flex; flex-direction:column; font-family:Impact, sans-serif; font-size:43px; line-height:.8; color:#333338; }
.ticker { min-height:58px; display:flex; gap:32px; align-items:center; justify-content:center; white-space:nowrap; overflow:hidden; background:var(--red); font-size:12px; letter-spacing:.16em; font-weight:900; }
.ticker i { font-style:normal; color:var(--ink); }
.experience { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; padding-block:110px; }
.section-heading h2, .formats h2, .booking h2 { font-size:clamp(54px, 6vw, 82px); }
.section-heading > p:last-child, .booking-copy > p { font-size:17px; line-height:1.7; color:#555; max-width:520px; }
.benefit-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#cbc7bd; border:1px solid #cbc7bd; }
.benefit-grid article { background:var(--paper); padding:30px; min-height:210px; }
.benefit-grid article > span { color:var(--red); font-size:12px; font-weight:900; }
.benefit-grid h3 { margin:34px 0 10px; text-transform:uppercase; font-size:20px; }
.benefit-grid p { margin:0; color:#666; line-height:1.55; font-size:14px; }
.formats { background:var(--red); color:white; padding:100px 0; }
.formats-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.formats ul { margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.45); }
.formats li { display:grid; gap:8px; padding:21px 0; border-bottom:1px solid rgba(255,255,255,.45); }
.formats li b { text-transform:uppercase; font-size:17px; }
.formats li span { color:#ffd5d6; font-size:14px; }
.booking { display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; padding-block:110px; }
.contact-stack { display:grid; gap:8px; margin-top:35px; font-weight:900; }
.contact-stack a:first-child { color:var(--red); font-size:25px; }
form { background:white; padding:38px; border:1px solid #d8d3c9; box-shadow:12px 12px 0 var(--ink); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
label { display:grid; gap:8px; margin-bottom:18px; text-transform:uppercase; font-weight:900; font-size:10px; letter-spacing:.1em; }
input,select,textarea { width:100%; border:1px solid #bdb9b0; background:#faf9f6; padding:14px; color:var(--ink); font:inherit; font-size:14px; text-transform:none; letter-spacing:normal; border-radius:0; }
input:focus,select:focus,textarea:focus { outline:3px solid rgba(237,28,36,.2); border-color:var(--red); }
textarea { resize:vertical; }
.submit { width:100%; box-shadow:6px 6px 0 var(--ink); }
.form-note { margin:16px 0 0; color:#777; font-size:11px; text-align:center; }
footer { background:var(--ink); color:white; padding:45px 0; }
.footer-inner { display:grid; grid-template-columns:1fr 1.4fr auto; align-items:center; gap:30px; }
.footer-inner p { color:#aaa; font-size:13px; line-height:1.5; }
.footer-inner > a { color:var(--red); font-weight:900; font-size:12px; letter-spacing:.1em; }
@media (max-width:850px) {
  .hero-grid,.experience,.formats-grid,.booking { grid-template-columns:1fr; }
  .hero-copy { padding-bottom:0; }
  .hero-visual { min-height:520px; }
  .experience,.booking { gap:45px; padding-block:75px; }
  .formats-grid { gap:45px; }
  .footer-inner { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .shell { width:min(100% - 28px,1160px); }
  .nav { height:70px; }
  .nav-cta { font-size:10px; }
  .hero-grid { min-height:auto; }
  h1 { font-size:60px; }
  .hero-text { font-size:16px; }
  .hero-visual { min-height:440px; transform:scale(.82); transform-origin:top center; margin-bottom:-70px; }
  .benefit-grid,.field-row { grid-template-columns:1fr; }
  form { padding:24px; box-shadow:7px 7px 0 var(--ink); }
  .ticker { justify-content:flex-start; padding-left:20px; }
}
