:root {
  --primary: #070d1a;
  --primary-2: #0f1c36;
  --primary-3: #040812;
  --ink: #0f172a;
  --accent: #f59e0b;
  --accent-bright: #fbbf24;
  --accent-dim: #b45309;
  --cyan: #06b6d4;
  --cyan-bright: #38bdf8;
  --cyan-dim: #0284c7;
  --bg-page: #f8fafc;
  --bg-card: #ffffff;
  --bg-card-alt: #f1f5f9;
  --border-line: #cbd5e1;
  --highlight: #2563eb;
  --shadow: 0 14px 34px -14px rgba(7, 13, 26, 0.28);
}
* { 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(--bg-page);
  line-height:1.65;
}
a { color:inherit; text-decoration:none; }
a:hover { color:var(--cyan-dim); }
.wrap { max-width:1120px; margin:0 auto; padding:0 16px; }
.serif { font-family:"Playfair Display",Georgia,serif; }
.govbar {
  background:var(--primary-3);
  color:#94a3b8;
  font-size:.74rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-bottom:2px solid var(--accent);
}
.govbar .wrap { display:flex; justify-content:space-between; align-items:center; padding:8px 16px; gap:12px; flex-wrap:wrap; }
.govbar a { color:var(--accent-bright); font-weight:700; }
.masthead, .pagehead {
  background:
    radial-gradient(90% 60% at 50% 30%, rgba(6, 182, 212, 0.16), transparent 70%),
    linear-gradient(180deg, var(--primary-3), var(--primary) 60%, var(--primary-2));
  color:#f8fafc;
  text-align:center;
  border-top:6px solid var(--accent);
  border-bottom:4px solid var(--cyan);
}
.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(--cyan-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, .wordmark .beta {
  background:linear-gradient(120deg,#38bdf8,#fbbf24 55%,#f59e0b);
  -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(--accent-bright); font-weight:600; }
.masthead p.sub, .pagehead p.sub { max-width:760px; margin:14px auto 0; color:#cbd5e1; }
.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(7,13,26,.97);
  border-bottom:1px solid var(--accent);
}
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(--accent-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:#cbd5e1; border-radius:4px;
}
nav ul a:hover, nav ul a[aria-current="page"] { background:var(--cyan-dim); color:#ffffff; }
main section { padding:42px 0; }
h2 { font-family:"Playfair Display",serif; font-size:clamp(1.4rem,3vw,2rem); font-weight:900; color:var(--primary); margin:22px 0 8px; }
.rule { height:3px; width:86px; background:linear-gradient(90deg,var(--accent),var(--cyan)); margin:6px 0 14px; border-radius:3px; }
p { margin-bottom:12px; max-width:820px; }
.disclosure { color:#475569; font-size:.9rem; border-left:3px solid var(--cyan); padding:8px 14px; margin-bottom:20px; }
.notice { padding:20px; margin:20px 0; border:1px solid #bae6fd; border-left:5px solid var(--cyan); background:#f0f9ff; border-radius:6px; }
.notice h2 { margin-top:0; color:var(--primary-2); }
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(--cyan-bright); outline-offset:4px; }
nav a:focus-visible, footer a:focus-visible { outline-color:var(--accent-bright); }
td, .notice, .disclosure { overflow-wrap:anywhere; }
.crumbs { font-size:.82rem; margin-bottom:10px; color:#cbd5e1; }
.crumbs a { color:var(--accent-bright); }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; margin-top:18px; }
.card {
  background:var(--bg-card); border:1px solid var(--border-line); border-top:5px solid var(--cyan);
  border-radius:10px; padding:18px; box-shadow:var(--shadow);
}
.card h3 { font-family:"Playfair Display",serif; font-size:1.1rem; margin-bottom:6px; color:var(--primary); }
.card p { font-size:.92rem; color:#475569; }
.card:hover { border-top-color:var(--accent); }
.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,#fbbf24,#f59e0b); color:var(--primary-3); }
.cta.line { background:transparent; color:#f8fafc; border:1.5px solid var(--cyan-bright); }
table { width:100%; border-collapse:collapse; font-size:.92rem; margin:14px 0 18px; border:1px solid var(--border-line); }
th { text-align:left; background:var(--primary-2); color:var(--accent-bright); padding:12px; font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; }
td { padding:11px 12px; border-bottom:1px solid var(--border-line); }
tr:nth-child(even) td { background:var(--bg-card-alt); }
.faq h3 { font-family:"Playfair Display",serif; font-size:1.05rem; margin:18px 0 4px; color:var(--primary); }
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(--cyan); color:var(--primary); padding:6px 10px; border-radius:99px; font-size:.82rem; font-weight:700; }
.related a:hover { background:var(--cyan); color:#ffffff; }
.rg {
  background:var(--primary-3); color:#cbd5e1; padding:22px 0; border-top:4px solid var(--accent);
}
.rg a { color:var(--accent-bright); font-weight:700; }
footer { background:var(--primary-3); color:#94a3b8; }
footer .wrap { padding:28px 16px 18px; font-size:.9rem; line-height:1.9; }
footer .brand { font-family:"Playfair Display",serif; color:var(--accent-bright); font-size:1.3rem; font-weight:900; }
footer a { color:var(--cyan-bright); }
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; }
}
