@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&family=IBM+Plex+Sans:wght@400;500&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --graphite:#1A1A1E;
  --graphite-2:#232329;
  --amber:#E8A33D;
  --steel:#5B6670;
  --paper:#F4F1EC;
  --paper-dim:#B4B2A9;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--graphite);
  color:var(--paper);
  font-family:'IBM Plex Sans',system-ui,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
a{color:inherit}
.hero{
  position:relative;flex:1;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;padding:2rem 1.5rem;overflow:hidden;
  background:linear-gradient(107deg,var(--graphite) 0%,var(--graphite) 50%,var(--graphite-2) 50%,var(--graphite-2) 100%);
}
.hero::before{
  content:"";position:absolute;top:-20%;left:50%;width:2px;height:140%;
  background:var(--amber);transform:translateX(-50%) rotate(17deg);transform-origin:center;opacity:.9;
}
.hero__inner{position:relative;z-index:1;opacity:0;transform:translateY(14px);animation:rise .8s cubic-bezier(.2,.7,.2,1) forwards}
.eyebrow,.kicker{
  font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.32em;
  color:var(--amber);text-transform:uppercase;
}
.eyebrow{margin-bottom:1.4rem}
.wordmark{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:.02em;font-size:clamp(2.8rem,11vw,6.5rem);line-height:.95}
.tagline{margin-top:1.5rem;font-size:clamp(.95rem,2.4vw,1.15rem);color:var(--paper-dim);max-width:34ch;margin-left:auto;margin-right:auto}

.site-head{
  padding:1.35rem clamp(1.25rem,4vw,3.5rem);display:flex;justify-content:space-between;align-items:center;
  border-bottom:1px solid rgba(244,241,236,.12);background:var(--graphite);
}
.site-head__brand{font-family:'Space Grotesk',sans-serif;font-weight:700;text-decoration:none;letter-spacing:.03em}
.site-head__back{font-family:'IBM Plex Mono',monospace;font-size:.75rem;color:var(--paper-dim);text-decoration:none;border-bottom:1px solid transparent}
.site-head__back:hover{color:var(--paper);border-color:var(--amber)}

.policy-shell{width:min(100% - 2rem,920px);margin:0 auto;padding:clamp(3rem,7vw,6rem) 0}
.policy-intro{margin-bottom:3rem}
.policy-intro .kicker{margin-bottom:1rem}
.policy-title{font-family:'Space Grotesk',sans-serif;font-size:clamp(2.4rem,7vw,5rem);line-height:1;letter-spacing:-.025em}
.policy-game{color:var(--amber)}
.policy-date{margin-top:1.2rem;color:var(--paper-dim);font-family:'IBM Plex Mono',monospace;font-size:.78rem}
.policy-card{
  background:var(--paper);color:var(--graphite);padding:clamp(1.5rem,5vw,4rem);
  border-radius:10px;box-shadow:0 18px 60px rgba(0,0,0,.2);
}
.policy-card h2{font-family:'Space Grotesk',sans-serif;font-size:1.45rem;line-height:1.25;margin:2.6rem 0 .8rem}
.policy-card h2:first-child{margin-top:0}
.policy-card h3{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;margin:1.5rem 0 .5rem}
.policy-card p{margin:.75rem 0;color:#35353a}
.policy-card ul{margin:.75rem 0 .75rem 1.25rem;color:#35353a}
.policy-card li{margin:.35rem 0}
.policy-card a{color:var(--graphite);text-decoration-color:var(--amber);text-decoration-thickness:2px;text-underline-offset:2px}
.notice{border-left:3px solid var(--amber);padding:.1rem 0 .1rem 1rem;margin:1.2rem 0;color:#35353a}
.policy-card .muted{color:#68686d;font-size:.92rem}

.foot{
  background:var(--paper);color:var(--graphite);padding:2.5rem 1.5rem;display:flex;flex-wrap:wrap;
  gap:1.5rem 2.5rem;align-items:center;justify-content:space-between;
}
.foot__brand{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:.02em}
.foot__meta{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.15em;color:var(--steel);text-transform:uppercase}
.links{display:flex;flex-wrap:wrap;gap:.4rem}
.links a{
  font-family:'IBM Plex Mono',monospace;font-size:.8rem;letter-spacing:.04em;text-decoration:none;
  padding:.5rem .85rem;border:1px solid rgba(26,26,30,.18);border-radius:6px;color:var(--graphite);
  transition:border-color .18s ease,color .18s ease;
}
.links a:hover{border-color:var(--amber);color:var(--steel)}
.links a:focus-visible,.mail:focus-visible,.site-head a:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.mail{color:var(--graphite);text-decoration:none;border-bottom:2px solid var(--amber);font-weight:500;padding-bottom:1px}
@keyframes rise{to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){
  .foot{align-items:flex-start;flex-direction:column}
  .policy-card{border-radius:8px}
}
@media(prefers-reduced-motion:reduce){.hero__inner{animation:none;opacity:1;transform:none}html{scroll-behavior:auto}}
