  :root{
    --navy:#14213d; --navy-2:#1d2d52; --cream:#f7f1e3; --paper:#fffaf0;
    --red:#c8102e; --gold:#e9b949; --ink:#1b1b1b; --muted:#5b5b5b;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--cream);color:var(--ink);font-family:"Source Serif 4",Georgia,serif;font-size:19px;line-height:1.6}
  a{color:var(--red)}
  .wrap{max-width:1040px;margin:0 auto;padding:0 20px}
  .label{font-family:Inter,system-ui,sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}

  /* Hero */
  .hero{background:var(--navy);color:var(--paper);position:relative;overflow:hidden}
  .hero::after{content:"";position:absolute;inset:auto 0 0 0;height:10px;background:repeating-linear-gradient(90deg,var(--red) 0 40px,var(--paper) 40px 80px)}
  .hero .wrap{padding:56px 20px 76px;display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}
  .kicker{color:var(--gold)}
  h1{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;line-height:.92;font-size:clamp(3.4rem,10vw,7.2rem);margin:.2em 0 .25em;letter-spacing:.01em}
  h1 .q{color:var(--gold)}
  .lede{font-size:1.2rem;max-width:34em;color:#e8e4d8;margin:0 0 1.6em}
  .btns{display:flex;flex-wrap:wrap;gap:12px}
  .btn{font-family:Inter,system-ui,sans-serif;font-weight:700;font-size:.95rem;text-decoration:none;padding:14px 22px;border-radius:999px;display:inline-block}
  .btn-primary{background:var(--red);color:#fff}
  .btn-primary:hover{background:#a60d26}
  .btn-ghost{border:2px solid var(--paper);color:var(--paper)}
  .btn-ghost:hover{background:var(--paper);color:var(--navy)}

  .table-art{width:100%;max-width:360px;justify-self:center}

  /* Countdown */
  .count{background:var(--gold);color:var(--navy)}
  .count .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 28px;padding:16px 20px;text-align:center}
  .count strong{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:1.6rem;letter-spacing:.02em}

  section{padding:72px 0}
  h2{font-family:Anton,Impact,sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(2.1rem,5vw,3.2rem);line-height:1;margin:.3em 0 .6em;color:var(--navy)}

  /* Details */
  .details-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
  .card{background:var(--paper);border:2px solid var(--navy);border-radius:14px;padding:28px;box-shadow:8px 8px 0 var(--navy)}
  .card dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:14px 18px}
  .card dt{font-family:Inter,system-ui,sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);padding-top:.25em}
  .card dd{margin:0}
  .card .links{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px}
  .card .links .btn{padding:11px 18px;font-size:.88rem}
  .btn-navy{background:var(--navy);color:var(--paper)}
  .btn-navy:hover{background:var(--navy-2)}
  .btn-outline{border:2px solid var(--navy);color:var(--navy)}
  .btn-outline:hover{background:var(--navy);color:var(--paper)}
  .map{border:2px solid var(--navy);border-radius:14px;overflow:hidden;min-height:320px;box-shadow:8px 8px 0 var(--navy)}
  .map iframe{width:100%;height:100%;min-height:320px;border:0;display:block}

  /* Invitation */
  .invite{background:var(--paper);border-top:2px solid var(--navy);border-bottom:2px solid var(--navy)}
  .letter{max-width:720px;margin:0 auto}
  blockquote{margin:0;font-size:clamp(1.3rem,2.6vw,1.65rem);line-height:1.45;font-style:italic;color:var(--navy);border-left:6px solid var(--red);padding:4px 0 4px 26px}
  .sig{margin-top:18px;font-family:Inter,system-ui,sans-serif;font-weight:700;color:var(--muted);font-size:.95rem}

  /* Questions */
  .qs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:10px}
  .qcard{background:var(--navy);color:var(--paper);border-radius:14px;padding:26px}
  .qcard .n{font-family:Anton,Impact,sans-serif;color:var(--gold);font-size:2.4rem;line-height:1}
  .qcard p{margin:.5em 0 0;font-size:1.12rem}
  .intro{max-width:44em}

  /* Vote */
  .vote{background:var(--red);color:#fff;text-align:center}
  .vote h2{color:#fff}
  .vote p{max-width:36em;margin:0 auto 1.4em;font-size:1.15rem}
  .vote .btn{background:#fff;color:var(--red)}
  .vote .btn:hover{background:var(--cream)}

  footer{background:var(--navy);color:#cfd3dd;font-family:Inter,system-ui,sans-serif;font-size:.85rem;padding:28px 0;text-align:center}
  .disclaimer{display:inline-block;border:1px solid #cfd3dd;padding:8px 14px;margin-top:8px;color:#fff}


  /* Site nav */
  .nav{background:var(--navy);border-bottom:1px solid rgba(255,250,240,.15);position:sticky;top:0;z-index:10}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;padding-bottom:12px}
  .nav .brand{font-family:Anton,Impact,sans-serif;color:var(--paper);text-decoration:none;font-size:1.15rem;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
  .nav .brand span{color:var(--gold)}
  .nav ul{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
  .nav a.tab{font-family:Inter,system-ui,sans-serif;font-weight:700;font-size:.85rem;color:var(--paper);text-decoration:none;padding:8px 14px;border-radius:999px;display:inline-block}
  .nav a.tab:hover{background:rgba(255,250,240,.12)}
  .nav a.tab[aria-current="page"]{background:var(--gold);color:var(--navy)}
  @media (max-width:560px){.nav .brand{display:none}.nav ul{justify-content:flex-start}.nav a.tab{font-size:.8rem;padding:8px 12px}}

  @media (max-width:820px){
    body{font-size:18px}
    .hero .wrap{grid-template-columns:1fr;padding:40px 16px 64px;gap:24px}
    .table-art{max-width:240px;order:-1;justify-self:start}
    .details-grid,.qs{grid-template-columns:1fr}
    .wrap{padding:0 16px}
    section{padding:52px 0}
    .card{box-shadow:5px 5px 0 var(--navy)}
    .map{box-shadow:5px 5px 0 var(--navy)}
  }
