:root{
  --brand-primary:#3fd6c7;
  --brand-blue:#00a7df;
  --brand-lime:#b8d411;
  --brand-indigo:#495aac;
  --brand-purple:#9900cc;
  --brand-yellow:#f3e61b;
  --brand-red:#ff0000;
  --brand-terracotta:#b77860;
  --brand-sky:#7eb8cb;
  --brand-green:#00af99;
  --brand-orange:#fd9949;
  --brand-magenta:#e43676;
  --brand-pink:#faa6d2;
  --ink:#173f3b;
  --muted:#566d6a;
  --teal-dark:#006b62;
  --teal-soft:#e9fbf9;
  --surface:#f2f7f6;
  --paper:#fff;
  --line:#d4e6e3;
  --draft-bg:#fff7d1;
  --draft-line:#e3c932;
  --draft-ink:#584a00;
  --danger-soft:#fff1f5;
  --danger:#941248;
  --shadow:0 22px 60px rgba(23,63,59,.12);
  --radius:22px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  min-width:280px;
  min-height:100vh;
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 4% 3%,rgba(63,214,199,.16),transparent 24rem),
    radial-gradient(circle at 96% 28%,rgba(250,166,210,.12),transparent 22rem),
    var(--surface);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
}

img{display:block;max-width:100%}
a{color:var(--teal-dark);text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--teal-dark);outline-offset:3px}

.skip-link{
  position:fixed;
  z-index:100;
  top:10px;
  left:12px;
  transform:translateY(-160%);
  border-radius:10px;
  padding:10px 14px;
  color:#fff;
  background:var(--ink);
  font-weight:800;
  text-decoration:none;
}
.skip-link:focus{transform:translateY(0)}

.draft-banner{
  border-bottom:1px solid var(--draft-line);
  padding:10px max(18px,calc((100vw - 1180px)/2));
  color:var(--draft-ink);
  background:var(--draft-bg);
  font-size:.88rem;
  line-height:1.45;
  text-align:center;
}
.draft-banner strong{font-weight:950;letter-spacing:.04em}

.site-header{
  position:sticky;
  z-index:20;
  top:0;
  border-bottom:1px solid rgba(212,230,227,.9);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px);
}
.site-header-inner{
  width:min(1180px,calc(100% - 36px));
  min-height:78px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.brand-link{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--ink);
  text-decoration:none;
}
.brand-link img{
  width:92px;
  height:62px;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.brand-link span{min-width:0}
.brand-link strong,.brand-link small{display:block}
.brand-link strong{font-size:.98rem;line-height:1.2}
.brand-link small{margin-top:3px;color:var(--muted);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}
.back-link{
  flex:0 0 auto;
  border:1px solid var(--line);
  border-radius:12px;
  padding:9px 13px;
  color:var(--ink);
  background:#fff;
  font-size:.82rem;
  font-weight:850;
  text-decoration:none;
}
.back-link:hover{border-color:var(--brand-primary);background:var(--teal-soft)}

.legal-shell{
  width:min(1180px,calc(100% - 36px));
  margin:30px auto 64px;
}
.legal-hero{
  position:relative;
  overflow:hidden;
  margin-bottom:18px;
  border:1px solid rgba(63,214,199,.42);
  border-radius:var(--radius);
  padding:clamp(26px,5vw,50px);
  background:linear-gradient(135deg,#fff 0%,#edfcfa 70%,#dcf8f5 100%);
  box-shadow:var(--shadow);
}
.legal-hero:after{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:5px;
  content:"";
  background:linear-gradient(90deg,var(--brand-blue),var(--brand-lime),var(--brand-indigo),var(--brand-purple),var(--brand-yellow),var(--brand-red),var(--brand-terracotta),var(--brand-sky),var(--brand-green),var(--brand-orange),var(--brand-magenta),var(--brand-pink));
}
.eyebrow{
  display:inline-flex;
  border-radius:999px;
  padding:6px 10px;
  color:var(--teal-dark);
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(0,107,98,.18);
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.legal-hero h1{
  max-width:800px;
  margin:14px 0 10px;
  font-size:clamp(2.15rem,5vw,4rem);
  line-height:.98;
  letter-spacing:-.05em;
}
.legal-hero p{max-width:760px;margin:0;color:var(--muted);font-size:1.05rem}
.document-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;color:var(--muted);font-size:.8rem}
.document-meta strong{color:var(--ink)}

.legal-layout{
  display:grid;
  grid-template-columns:minmax(210px,250px) minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.legal-nav{
  position:sticky;
  top:98px;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 30px rgba(23,63,59,.07);
}
.legal-nav strong{display:block;margin-bottom:10px;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase}
.legal-nav a{
  display:block;
  margin:3px 0;
  border-radius:10px;
  padding:8px 10px;
  color:var(--muted);
  font-size:.86rem;
  font-weight:750;
  text-decoration:none;
}
.legal-nav a:hover,.legal-nav a[aria-current="page"]{color:var(--ink);background:var(--teal-soft)}
.legal-nav a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--brand-primary)}
.legal-nav hr{height:1px;margin:14px 0;border:0;background:var(--line)}

.legal-document{
  min-width:0;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:clamp(24px,5vw,54px);
  background:var(--paper);
  box-shadow:0 12px 34px rgba(23,63,59,.08);
}
.legal-document section{
  scroll-margin-top:110px;
  margin-top:42px;
  padding-top:4px;
}
.legal-document section:first-child{margin-top:0}
.legal-document h2{
  margin:0 0 13px;
  color:var(--ink);
  font-size:clamp(1.35rem,3vw,1.75rem);
  line-height:1.2;
  letter-spacing:-.025em;
}
.legal-document h3{margin:26px 0 8px;font-size:1.05rem;line-height:1.3}
.legal-document p{margin:0 0 14px}
.legal-document ul,.legal-document ol{margin:10px 0 16px;padding-left:1.35rem}
.legal-document li+li{margin-top:8px}
.legal-document strong{color:var(--ink)}

.draft-card,.info-card,.warning-card{
  margin:0 0 24px;
  border:1px solid var(--draft-line);
  border-radius:16px;
  padding:18px 20px;
  color:var(--draft-ink);
  background:var(--draft-bg);
}
.info-card{border-color:#a8ded9;color:var(--ink);background:var(--teal-soft)}
.warning-card{border-color:#efbed1;color:#67213c;background:var(--danger-soft)}
.draft-card p:last-child,.info-card p:last-child,.warning-card p:last-child{margin-bottom:0}
.draft-card strong:first-child,.info-card strong:first-child,.warning-card strong:first-child{display:block;margin-bottom:5px}

.pending-field{
  display:inline;
  border-radius:5px;
  padding:.08em .35em;
  color:var(--danger);
  background:var(--danger-soft);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  font-weight:850;
}
.status-chip{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 9px;
  color:var(--draft-ink);
  background:var(--draft-bg);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.data-table-wrap{
  max-width:100%;
  margin:18px 0 22px;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:14px;
}
.data-table{width:100%;border-collapse:collapse;font-size:.88rem;line-height:1.5}
.data-table th,.data-table td{min-width:145px;border-bottom:1px solid var(--line);padding:13px 14px;text-align:left;vertical-align:top}
.data-table th{color:var(--ink);background:#f3faf8;font-size:.76rem;letter-spacing:.025em;text-transform:uppercase}
.data-table tr:last-child td{border-bottom:0}

.rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.rule-card{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fbfdfd}
.rule-card span{display:block;color:var(--teal-dark);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.rule-card strong{display:block;margin:6px 0 4px;font-size:1.22rem;line-height:1.2}
.rule-card p{margin:0;color:var(--muted);font-size:.86rem}

.source-list{font-size:.84rem}
.source-list a{overflow-wrap:anywhere}
.top-link{display:inline-flex;margin-top:24px;font-size:.82rem;font-weight:850}

.site-footer{
  border-top:1px solid var(--line);
  background:#fff;
}
.site-footer-inner{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto;
  padding:28px 0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  color:var(--muted);
  font-size:.78rem;
}
.site-footer p{max-width:460px;margin:0}
.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px 16px}
.footer-links a{color:var(--muted)}

@media (max-width:800px){
  .site-header{position:static}
  .site-header-inner{min-height:70px}
  .brand-link img{width:72px;height:50px}
  .brand-link small{display:none}
  .back-link{padding:8px 10px;font-size:.75rem}
  .legal-shell{margin-top:18px}
  .legal-layout{grid-template-columns:1fr}
  .legal-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .legal-nav strong,.legal-nav hr{grid-column:1/-1}
  .legal-nav a{margin:0}
  .rule-grid{grid-template-columns:1fr}
  .site-footer-inner{display:block}
  .footer-links{justify-content:flex-start;margin-top:16px}
}

@media (max-width:480px){
  body{font-size:15px}
  .draft-banner{padding-inline:15px;font-size:.78rem}
  .site-header-inner,.legal-shell,.site-footer-inner{width:min(100% - 24px,1180px)}
  .brand-link{gap:7px}
  .brand-link img{width:62px;height:44px}
  .brand-link strong{font-size:.82rem}
  .back-link{max-width:112px;text-align:center;line-height:1.25}
  .legal-hero{padding:25px 21px}
  .legal-hero h1{font-size:2.25rem}
  .legal-document{padding:24px 19px}
  .legal-nav{grid-template-columns:1fr}
  .legal-nav strong,.legal-nav hr{grid-column:auto}
  .data-table th,.data-table td{min-width:170px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}

@media print{
  body{background:#fff;color:#000;font-size:11pt}
  .skip-link,.draft-banner,.site-header,.legal-nav,.site-footer,.top-link{display:none}
  .legal-shell{width:100%;margin:0}
  .legal-hero,.legal-document{border:0;box-shadow:none}
  .legal-hero{padding:0 0 20px;background:#fff}
  .legal-hero:after{display:none}
  .legal-layout{display:block}
  .legal-document{padding:0}
  a{color:#000;text-decoration:none}
  .legal-document section{break-inside:avoid}
}
