:root{
  color-scheme:light;
  --paper:#F3EBDA; --paper-2:#EAE0C8; --card:rgba(250,245,233,.82);
  --ink:#231C14; --muted:#5E5444; --line:#D2C3A2;
  --navy:#1E3354; --red:#8E2B22; --gold:#9C7A2C;
  --serif:"Libre Caslon Text","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --display:"IM Fell English","Libre Caslon Text",Georgia,serif;
  --sans:"Libre Franklin",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper) url("img/paper.jpg") repeat;background-size:512px;color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.65}
img{max-width:100%;display:block}
a{color:var(--navy);text-underline-offset:3px}
a:hover{color:var(--red)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:10}

/* header */
.top{border-bottom:1px solid var(--line);background:rgba(243,235,218,.92);position:sticky;top:0;z-index:5;backdrop-filter:blur(6px)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;flex-wrap:wrap;padding-block:10px}
.brand{font-family:var(--display);font-size:28px;color:var(--ink);text-decoration:none}
.brand b{color:var(--red);font-weight:400}
nav{display:flex;gap:20px;font-family:var(--sans);font-size:14px;font-weight:600;flex-wrap:wrap}
nav a{color:var(--muted);text-decoration:none}
nav a:hover,nav a[aria-current]{color:var(--ink)}

/* hero: engraved Capitol, title set in the open sky */
.hero{position:relative;max-width:1344px;margin:0 auto;aspect-ratio:1344/752;min-height:520px;
  background:url("img/capitol.jpg") center bottom/cover no-repeat;text-align:center;padding-top:clamp(36px,5vw,72px)}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:60px;background:linear-gradient(to bottom,transparent,var(--paper));pointer-events:none}
.eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:0 0 14px}
h1{font-family:var(--display);font-weight:400;font-size:clamp(52px,9vw,104px);line-height:.95;margin:0 0 6px;text-shadow:0 0 18px rgba(243,235,218,.9)}
h1 b{color:var(--red);font-weight:400}
.tag{font-family:var(--display);font-style:italic;font-size:clamp(24px,3.6vw,34px);color:var(--muted);margin:0;text-shadow:0 0 14px rgba(243,235,218,.95)}
.lede-band{padding:36px 0 52px;text-align:center;border-bottom:3px double var(--line)}
.lede{max-width:36em;margin:0 auto;font-size:clamp(19px,2.2vw,22px);line-height:1.6}
.cta{display:inline-flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:24px;font-family:var(--sans);font-size:15px;font-weight:600}
.btn{padding:11px 20px;border-radius:3px;text-decoration:none;border:1px solid var(--ink)}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.solid:hover{background:var(--red);border-color:var(--red);color:var(--paper)}
.btn.line{color:var(--ink)}
.btn.line:hover{background:var(--ink);color:var(--paper)}

/* sections */
section{padding:64px 0;border-bottom:1px solid var(--line)}
h2{font-family:var(--display);font-weight:400;font-size:clamp(32px,5vw,44px);line-height:1.12;margin:0 0 14px}
h3{font-family:var(--sans);font-size:15px;font-weight:700;letter-spacing:.02em;margin:0 0 6px}
.intro{max-width:40em;color:var(--muted);margin:0 0 28px}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;margin-bottom:36px}
.split .intro{margin:0}
.plate{margin:0;border:1px solid var(--line);padding:10px;background:var(--card);box-shadow:0 1px 0 rgba(0,0,0,.04),0 12px 30px -18px rgba(60,40,10,.45)}
.plate img{width:100%;height:auto}
.plate figcaption{font-family:var(--display);font-style:italic;font-size:16px;color:var(--muted);text-align:center;padding:10px 4px 2px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:3px;padding:22px}
.card p{margin:0;font-size:16.5px}
.num{font-family:var(--display);font-size:30px;color:var(--red);line-height:1;display:block;margin-bottom:10px}
.wide{margin:0 0 36px}
.principles{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px 36px}
.principles li{padding-left:24px;position:relative}
.principles li::before{content:"\2726";position:absolute;left:0;color:var(--gold);font-size:13px;top:5px}
.status{font-family:var(--sans);font-size:15px;background:var(--card);border-left:3px solid var(--gold);padding:14px 18px;max-width:46em;margin-top:32px}
.contact{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:720px}
.contact .card a{font-family:var(--sans);font-weight:600;word-break:break-word}

/* legal pages */
.doc{padding:48px 0 64px}
.doc .wrap{max-width:760px;background:var(--card);border:1px solid var(--line);padding:40px clamp(20px,5vw,56px) 48px;box-shadow:0 12px 30px -20px rgba(60,40,10,.4)}
.doc h1{font-size:clamp(38px,7vw,56px);text-align:left;margin-bottom:6px;text-shadow:none}
.doc .meta{font-family:var(--sans);font-size:14px;color:var(--muted);margin:0 0 32px}
.doc h2{font-size:28px;margin:36px 0 10px}
.doc ul{padding-left:22px}
.doc li{margin-bottom:6px}

/* footer */
footer{padding:36px 0 48px;font-family:var(--sans);font-size:14px;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px}
footer nav{font-weight:500}
.disc{flex-basis:100%;font-size:13px;margin:0}

@media (max-width:820px){
  .split{grid-template-columns:1fr;gap:24px}
  .principles{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:17px}
  .hero{aspect-ratio:auto;min-height:440px;background-size:auto 100%}
  section{padding:48px 0}
  .grid,.contact{grid-template-columns:1fr}
}
