:root {
  --green:#0d2318;
  --green-2:#12311f;
  --green-3:#0a1b12;
  --ink:#0c1b13;
  --gold:#c9a227;
  --gold-bright:#e9c46a;
  --gold-dim:#8f6a12;
  --ivory:#f6f1e4;
  --ivory-line:#e3d9bf;
  --burgundy:#6e1e23;
  --shadow:0 14px 34px -14px rgba(12,27,19,.35);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:"Inter",-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);
  background:var(--ivory);
  line-height:1.65;
}
a { color:inherit; text-decoration:none; }
a:hover { color:var(--burgundy); }
.wrap { max-width:1120px; margin:0 auto; padding:0 16px; }
.serif { font-family:"Playfair Display",Georgia,serif; }
.govbar {
  background:var(--green-3);
  color:#d9d0b6;
  font-size:.74rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-bottom:2px solid var(--gold);
}
.govbar .wrap { display:flex; justify-content:space-between; align-items:center; padding:8px 16px; gap:12px; flex-wrap:wrap; }
.govbar a { color:var(--gold-bright); font-weight:700; }
.masthead, .pagehead {
  background:
    radial-gradient(90% 60% at 50% 30%, rgba(233,196,106,.12), transparent 70%),
    linear-gradient(180deg, var(--green-3), var(--green) 60%, var(--green-2));
  color:var(--ivory);
  text-align:center;
  border-top:6px solid var(--gold);
  border-bottom:4px solid var(--gold);
}
.masthead { padding:54px 0 58px; }
.pagehead { padding:28px 0 32px; text-align:left; }
.crest { width:96px; height:96px; margin:0 auto 16px; display:block; }
.masthead .eyebrow, .pagehead .eyebrow {
  font-size:.78rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold-bright); font-weight:700; margin-bottom:8px;
}
.wordmark { font-size:clamp(2.4rem,7vw,4.2rem); line-height:1.02; font-weight:900; }
.wordmark .pal {
  background:linear-gradient(120deg,#e9c46a,#c9a227 45%,#f0d98a);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.masthead .tag { margin-top:12px; font-size:.86rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.masthead p.sub, .pagehead p.sub { max-width:760px; margin:14px auto 0; color:#d8d0b8; }
.pagehead p.sub { margin-left:0; }
.pagehead h1 { font-size:clamp(1.8rem,4vw,2.8rem); font-weight:900; }
.hero-cta { margin-top:22px; display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
nav {
  position:sticky; top:0; z-index:50;
  background:rgba(13,35,24,.97);
  border-bottom:1px solid var(--gold);
}
nav .wrap { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:11px 16px; }
nav .logo { font-family:"Playfair Display",serif; font-weight:900; font-size:1.2rem; color:var(--gold-bright); }
nav ul { display:flex; flex-wrap:wrap; gap:4px; list-style:none; margin:0; padding:0; flex:1; justify-content:flex-end; }
nav ul a {
  display:block; padding:7px 12px; font-size:.78rem; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase; color:#cfc7af; border-radius:4px;
}
nav ul a:hover, nav ul a[aria-current="page"] { background:var(--burgundy); color:var(--ivory); }
main section { padding:42px 0; }
h2 { font-family:"Playfair Display",serif; font-size:clamp(1.4rem,3vw,2rem); font-weight:900; color:var(--green-3); margin:22px 0 8px; }
.rule { height:3px; width:86px; background:linear-gradient(90deg,var(--gold),var(--gold-bright)); margin:6px 0 14px; border-radius:3px; }
p { margin-bottom:12px; max-width:820px; }
.disclosure { color:#465347; font-size:.9rem; border-left:3px solid var(--gold); padding:8px 14px; margin-bottom:20px; }
.notice { padding:20px; margin:20px 0; border:1px solid var(--ivory-line); border-left:5px solid var(--gold); background:#fffaf0; border-radius:6px; }
.notice h2 { margin-top:0; }
main p a, main li a { text-decoration:underline; text-underline-offset:3px; }
main a.cta { text-decoration:none; }
a:focus-visible { outline:3px solid var(--burgundy); outline-offset:4px; }
nav a:focus-visible, footer a:focus-visible { outline-color:var(--gold-bright); }
td, .notice, .disclosure { overflow-wrap:anywhere; }
.crumbs { font-size:.82rem; margin-bottom:10px; color:#d8d0b8; }
.crumbs a { color:var(--gold-bright); }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; margin-top:18px; }
.card {
  background:var(--ivory); border:1px solid var(--ivory-line); border-top:5px solid var(--gold);
  border-radius:10px; padding:18px; box-shadow:var(--shadow);
}
.card h3 { font-family:"Playfair Display",serif; font-size:1.1rem; margin-bottom:6px; }
.card p { font-size:.92rem; color:#4a4a4a; }
.cta {
  display:inline-block; font-weight:800; font-size:.9rem; letter-spacing:.04em;
  padding:12px 26px; border-radius:6px; text-transform:uppercase;
}
.cta.gold { background:linear-gradient(135deg,#e9c46a,#c9a227); color:var(--green-3); }
.cta.line { background:transparent; color:var(--ivory); border:1.5px solid var(--gold-bright); }
table { width:100%; border-collapse:collapse; font-size:.92rem; margin:14px 0 18px; border:1px solid var(--ivory-line); }
th { text-align:left; background:var(--green-3); color:var(--gold-bright); padding:12px; font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; }
td { padding:11px 12px; border-bottom:1px solid var(--ivory-line); }
tr:nth-child(even) td { background:#faf5e8; }
.faq h3 { font-family:"Playfair Display",serif; font-size:1.05rem; margin:18px 0 4px; }
ul.plain { margin:0 0 14px 18px; max-width:820px; }
.related { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.related a { border:1px solid var(--gold); color:var(--green-3); padding:6px 10px; border-radius:99px; font-size:.82rem; font-weight:700; }
.rg {
  background:var(--green-3); color:#d8d0b8; padding:22px 0; border-top:4px solid var(--gold);
}
.rg a { color:var(--gold-bright); font-weight:700; }
footer { background:var(--green-3); color:#c9c0aa; }
footer .wrap { padding:28px 16px 18px; font-size:.9rem; line-height:1.9; }
footer .brand { font-family:"Playfair Display",serif; color:var(--gold-bright); font-size:1.3rem; font-weight:900; }
footer a { color:var(--gold); }
footer .footbar { text-align:center; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; padding:12px 16px 16px; }
@media (max-width:720px) {
  nav { position:static; }
  nav ul { flex:0 0 100%; width:100%; justify-content:flex-start; }
  .hero-cta { flex-direction:column; align-items:center; }
  table { display:block; overflow-x:auto; }
}
