/* The nZone — base styles. Most layout lives inline in the page markup. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#FFFFFF;-webkit-font-smoothing:antialiased}
a{color:#1E2D47;text-decoration:none}
a:hover{color:#0F1828}
[hidden]{display:none !important}
:focus-visible{outline:3px solid #F2B544;outline-offset:2px}
input:focus-visible,textarea:focus-visible{outline:3px solid #F2B544;outline-offset:0;border-color:#1E2D47 !important}

/* Sports ticker */
@keyframes sb-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.sb-run{animation:sb-ticker 40s linear infinite}

/* Alternating course photos */
@keyframes nz-fade{0%,40%{opacity:0}50%,90%{opacity:1}100%{opacity:0}}
.nz-alt{animation:nz-fade 14s ease-in-out infinite}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .sb-run,.nz-alt{animation:none}
}

/* Phones */
@media (max-width: 640px){
  /* hero wordmark stacks as "ONE" / "ZONE." */
  .hero-h1{white-space:normal !important;font-size:30vw !important}
  /* who-it's-for table: drop the position column, keep status on one line */
  .who-table{font-size:12px !important}
  .who-table th:first-child,.who-table td:first-child{display:none}
  .who-table th,.who-table td{padding:14px 12px !important}
  .who-table td:last-child{white-space:nowrap}
  /* footer watermark fits the screen */
  .nz-watermark{font-size:23vw !important;bottom:96px !important}
  /* tighter vertical rhythm on small screens */
  section[style*="padding: 120px 24px"],section[style*="padding: 128px 24px"]{padding-top:72px !important;padding-bottom:72px !important}
  section[style*="padding: 0 24px 128px"],section[style*="padding: 0 24px 120px"]{padding-bottom:72px !important}
}

#contact-submit[disabled]{opacity:.6;cursor:wait}

/* Cookie notice */
.nz-cookie { font-family: 'Archivo', system-ui, sans-serif; position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 1000; max-width: 760px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 14px 14px 14px 20px; background: #1E2D47; color: #fff; border-radius: 12px; box-shadow: 0 12px 32px rgba(14, 22, 38, 0.28); font-size: 15px; line-height: 1.45; }
.nz-cookie[hidden] { display: none; }
.nz-cookie p { margin: 0; flex: 1 1 300px; }
.nz-cookie a { color: #F2B544; text-decoration: underline; }
.nz-cookie-btns { display: flex; gap: 8px; }
.nz-cookie button { font: inherit; font-weight: 700; padding: 10px 18px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.35); background: transparent; color: #fff; cursor: pointer; }
.nz-cookie button.nz-cookie-accept { background: #F2B544; border-color: #F2B544; color: #1E2D47; }
.nz-cookie button:focus-visible { outline: 2px solid #F2B544; outline-offset: 2px; }
.nz-cookie-settings { padding: 12px 0; text-transform: uppercase; background: none; border: 0; color: inherit; font: inherit; letter-spacing: inherit; cursor: pointer; }
@media (max-width: 520px) { .nz-cookie-btns { flex: 1 1 100%; } .nz-cookie-btns button { flex: 1; } }
