*, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; overflow-x: clip; -webkit-text-size-adjust: 100%; }
  body { margin: 0; background: var(--color-bg); color: var(--color-text); -webkit-font-smoothing: antialiased; overflow-x: clip; }
  img, svg, iframe, video { max-width: 100%; }
  img { height: auto; }
  footer { padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
  a { color: var(--color-accent); }
  a:hover { color: var(--color-accent-300); }
  h1, h2, h3 { text-wrap: balance; }
  p { text-wrap: pretty; }
  summary::-webkit-details-marker { display: none; }
  summary { list-style: none; }
  [data-reveal] { transition: opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1); }
  [data-reveal="out"] { opacity: 0; transform: translateY(16px); }
  [data-navlinks], [data-navcta] { display: none; }
  [data-sticky] { display: flex; }
  [data-burger] { display: inline-flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; margin-left: auto; width: 48px; height: 48px; flex: none; padding: 0; border: 1px solid var(--color-divider); border-radius: var(--radius-md); background: transparent; cursor: pointer; }
  [data-burger]:hover { background: color-mix(in srgb, var(--color-accent) 12%, transparent); }
  [data-burger]:active { background: color-mix(in srgb, var(--color-accent-400) 22%, transparent); }
  [data-burger]:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
  [data-burger] span { display: block; width: 20px; height: 1.5px; border-radius: 2px; background: var(--color-neutral-200); transition: transform .28s cubic-bezier(.2,.7,.3,1), opacity .18s ease; }
  [data-burger][aria-expanded="true"] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  [data-burger][aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  [data-burger][aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
  [data-scrim] { position: fixed; inset: 0; z-index: 90; background: rgba(6,6,10,.62); opacity: 0; pointer-events: none; transition: opacity .28s ease; }
  [data-scrim][data-open] { opacity: 1; pointer-events: auto; }
  [data-drawer] { position: fixed; top: 0; right: 0; z-index: 95; display: flex; flex-direction: column; width: min(86vw, 360px); max-width: 100%; height: 100%; height: 100dvh; padding: calc(14px + env(safe-area-inset-top)) clamp(18px, 6vw, 28px) calc(22px + env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; background: color-mix(in srgb, var(--color-bg) 94%, var(--color-surface)); border-left: 1px solid var(--color-divider); box-shadow: -24px 0 60px rgba(0,0,0,.5); transform: translateX(102%); visibility: hidden; transition: transform .32s cubic-bezier(.2,.7,.3,1), visibility 0s .32s; }
  [data-drawer][data-open] { transform: none; visibility: visible; transition: transform .32s cubic-bezier(.2,.7,.3,1), visibility 0s; }
  [data-drawer-link] { display: flex; align-items: center; min-height: 54px; padding: 6px 2px; font-family: var(--font-heading); font-size: 17px; color: var(--color-neutral-200); text-decoration: none; border-bottom: 1px solid var(--color-divider); }
  [data-drawer-link]:hover { color: var(--color-accent-200); }
  [data-drawer-link]:active { color: var(--color-accent-300); }
  [data-drawer-link]:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
  [data-drawer-close] { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-left: auto; padding: 0; border: 1px solid var(--color-divider); border-radius: var(--radius-md); background: transparent; color: var(--color-neutral-300); font-size: 18px; line-height: 1; cursor: pointer; }
  [data-drawer-close]:hover { background: color-mix(in srgb, var(--color-accent) 12%, transparent); color: var(--color-neutral-100); }
  [data-drawer-close]:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
  [data-mapfade] { display: none; }
  @media (min-width: 768px) {
    [data-mapfade] { display: block; }
    [data-maplegend] { position: absolute; left: clamp(18px, 4vw, 56px); bottom: clamp(14px, 2vw, 28px); padding: 0; }
  }
  @media (min-width: 1024px) {
    [data-navlinks] { display: flex; }
    [data-navcta] { display: inline-flex; }
    [data-burger], [data-scrim], [data-drawer] { display: none !important; }
    [data-sticky] { display: none; }
    footer { padding-bottom: 0; }
  }
  @keyframes ctaPulse { 0%, 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--color-accent) 0%, transparent); } 50% { box-shadow: 0 0 22px 1px color-mix(in srgb, var(--color-accent) 30%, transparent); } }
  @keyframes ctaSweep { 0% { transform: translateX(-180%) skewX(-18deg); } 55%, 100% { transform: translateX(320%) skewX(-18deg); } }
  [data-cta] { position: relative; overflow: hidden; isolation: isolate; animation: ctaPulse 4.2s ease-in-out infinite; }
  [data-cta]::after { content: ""; position: absolute; top: 0; bottom: 0; width: 34%; z-index: 2; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--color-accent) 26%, transparent), transparent); animation: ctaSweep 5.6s ease-in-out infinite; pointer-events: none; }
  [data-cta-gold] { animation-name: ctaPulseGold; }
  [data-cta-gold]::after { background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent); mix-blend-mode: overlay; animation-duration: 4.8s; }
  @keyframes ctaPulseGold { 0%, 100% { box-shadow: 0 10px 30px rgba(226,188,114,.15); } 50% { box-shadow: 0 12px 40px rgba(226,188,114,.42); } }
  @keyframes waPulse { 0%, 100% { box-shadow: 0 10px 28px rgba(0,0,0,.45), 0 0 0 0 rgba(37,211,102,.42); } 50% { box-shadow: 0 10px 28px rgba(0,0,0,.45), 0 0 0 14px rgba(37,211,102,0); } }
  [data-wafab] { position: fixed; right: clamp(16px, 2.4vw, 28px); bottom: calc(84px + env(safe-area-inset-bottom)); z-index: 80; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 999px; background: #25d366; color: #fff; text-decoration: none; animation: waPulse 3.6s ease-in-out infinite; transition: background .2s ease, transform .2s ease; }
  [data-wafab]:hover { background: #1fb958; transform: translateY(-2px); }
  [data-wafab]:active { background: #189c49; transform: translateY(0); }
  [data-wafab]:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
  @media (min-width: 1024px) {
    [data-wafab] { bottom: clamp(20px, 3vw, 32px); }
  }
  @keyframes prBar { from { transform: scaleY(.15); } to { transform: scaleY(1); } }
  @keyframes prSweep { from { transform: translateX(-100%); } to { transform: translateX(300%); } }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    [data-reveal] { opacity: 1 !important; transform: none !important; transition: none; }
    [data-reveal="out"] { opacity: 1 !important; transform: none !important; }
    [data-bar], [data-sweep], [data-cta], [data-cta]::after, [data-wafab] { animation: none !important; }
    [data-drawer], [data-scrim], [data-burger] span { transition: none !important; }
  }
