@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
                 U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
                 U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF,
                 U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/manrope-vietnamese.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1,
                 U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323,
                 U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/manrope-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

:root {
  color-scheme: light;

  --ink:        #102420;
  --ink-2:      #3b4b45;
  --ink-3:      #63756d;
  --ink-4:      #8e9d96;
  --line:       #dce6df;
  --line-2:     #eaf0ec;
  --rule:       #102420;
  --ground:     #faf9f5;
  --card:       #ffffff;
  --card-2:     #edf5ef;

  --brand:      #0c5241;
  --brand-2:    #0a4436;
  --brand-3:    #edf5ef;
  --brand-ink:  #ffffff;
  --brand-deep: #08382c;
  --brand-ink-2:#0c5241;

  --gold:       #c5a65c;
  --gold-2:     #dcc18a;
  --gold-bg:    #f7f0dd;
  --gold-text:  #6e5410;

  --ochre:      #e4572e;
  --ochre-bg:   #fdece6;
  --ochre-text: #a5320f;

  --mint:       #00c08b;

  --good:       #067a54;
  --good-bg:    #e0f3ea;
  --good-text:  #04543a;
  --warn:       #b46b00;
  --warn-bg:    #fff2da;
  --warn-text:  #7a4708;
  --bad:        #d13b1c;
  --bad-bg:     #fdeae5;
  --bad-text:   #9c2a11;

  --s-1: 4px;  --s-2: 8px;  --s-3: 12px; --s-4: 16px;
  --s-5: 24px; --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px;

  --radius:    14px;
  --radius-lg: 20px;
  --radius-sm: 9px;
  --radius-pill: 999px;

  --control:    48px;
  --control-sm: 40px;
  --control-lg: 58px;

  --shadow:    0 1px 2px rgba(16,36,32,.04), 0 2px 10px rgba(16,36,32,.04);
  --shadow-lg: 0 2px 6px rgba(16,36,32,.05), 0 20px 48px rgba(16,36,32,.10);

  --font: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
          "Helvetica Neue", Arial, "Noto Sans", sans-serif,
          "Apple Color Emoji", "Segoe UI Emoji";
  --font-display: var(--font);
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

  --wrap: 1272px;
  --header-h: 76px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --ink:        #eef2ee;
    --ink-2:      #c2cdc7;
    --ink-3:      #94a39b;
    --ink-4:      #6d7d75;
    --line:       #26332e;
    --line-2:     #1c2621;
    --rule:       #eef2ee;
    --ground:     #0c1512;
    --card:       #121e1a;
    --card-2:     #17251f;
    --brand:      #147a60;
    --brand-2:    #4cc4a2;
    --brand-3:    #16251f;
    --brand-ink:  #05201a;
    --brand-deep: #0a2e25;
    --gold:       #c5a65c;
    --gold-2:     #dcc18a;
    --gold-bg:    #241e10;
    --gold-text:  #d8be82;
    --ochre:      #d1603a;
    --ochre-bg:   #2a1710;
    --ochre-text: #e89370;
    --good:       #4cc4a2;
    --good-bg:    #10261f;
    --good-text:  #6fd8b6;
    --warn:       #d3922f;
    --warn-bg:    #281e0f;
    --warn-text:  #ecb864;
    --bad:        #de5f47;
    --bad-bg:     #2a1411;
    --bad-text:   #f1937f;
    --shadow:     0 1px 2px rgba(0,0,0,.5);
    --shadow-lg:  0 1px 3px rgba(0,0,0,.55), 0 12px 32px rgba(0,0,0,.45);
  }
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --ink:        #eef2ee;
  --ink-2:      #c2cdc7;
  --ink-3:      #94a39b;
  --ink-4:      #6d7d75;
  --line:       #26332e;
  --line-2:     #1c2621;
  --rule:       #eef2ee;
  --ground:     #0c1512;
  --card:       #121e1a;
  --card-2:     #17251f;
  --brand:      #147a60;
  --brand-2:    #4cc4a2;
  --brand-3:    #16251f;
  --brand-ink:  #05201a;
  --brand-deep: #0a2e25;
  --gold:       #c5a65c;
  --gold-2:     #dcc18a;
  --gold-bg:    #241e10;
  --gold-text:  #d8be82;
  --ochre:      #d1603a;
  --ochre-bg:   #2a1710;
  --ochre-text: #e89370;
  --good:       #4cc4a2;
  --good-bg:    #10261f;
  --good-text:  #6fd8b6;
  --warn:       #d3922f;
  --warn-bg:    #281e0f;
  --warn-text:  #ecb864;
  --bad:        #de5f47;
  --bad-bg:     #2a1411;
  --bad-text:   #f1937f;
  --shadow:     0 1px 2px rgba(0,0,0,.5);
  --shadow-lg:  0 1px 3px rgba(0,0,0,.55), 0 12px 32px rgba(0,0,0,.45);
}

* { box-sizing: border-box; }

[hidden] { display: none !important; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;

  min-height: 100vh;
  display: flex;
  flex-direction: column;

  font: 16px/24px var(--font);
  color: var(--ink);
  background: var(--ground);
  -webkit-font-smoothing: antialiased;
}

img, svg { max-width: 100%; height: auto; vertical-align: middle; }

a { color: var(--brand-2); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--brand); }

:where(h1,h2,h3,h4) { margin: 0 0 var(--s-3); }

h1 {
  font-size: 40px; line-height: 40px;
  font-weight: 800;
  letter-spacing: -0.038em;
}
h2 {
  font-size: 28px; line-height: 32px;
  font-weight: 800;
  letter-spacing: -0.032em;
}
@media (min-width: 560px) {
  h1 { font-size: 56px; line-height: 56px; }
  h2 { font-size: 34px; line-height: 38px; }
}
@media (min-width: 1040px) {
  h1 { font-size: 76px; line-height: 76px; }
  h2 { font-size: 42px; line-height: 46px; }
}
h3 { font-size: 18px; line-height: 24px; font-weight: 700; letter-spacing: -0.015em; }
h4 { font-size: 14px; line-height: 20px; font-weight: 700; letter-spacing: -0.005em; }
p  { margin: 0 0 var(--s-4); }

.sans { font-family: var(--font); }
.serif { font-family: var(--font-display); }

.lede { font-size: 18px; line-height: 27px; color: var(--ink-2); }
.muted { color: var(--ink-3); }
.small { font-size: 13px; line-height: 20px; }
.tiny  { font-size: 12px; line-height: 18px; }
.mono  { font-family: var(--font-mono); font-size: 13px; line-height: 20px; }
.nowrap { white-space: nowrap; }
.center { text-align: center; }
.right  { text-align: right; }
.num-t  { font-variant-numeric: tabular-nums; }
.strike { text-decoration: line-through; }

.eyebrow {
  display: block;
  font-family: var(--font);
  font-size: 12px; line-height: 18px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-3);
  padding-bottom: var(--s-2);
  border-bottom: 1px solid var(--rule);
  margin-bottom: var(--s-5);
}
.eyebrow-gold { color: var(--gold-text); border-bottom-color: var(--gold); }
.eyebrow-light { color: rgba(255,255,255,.62); border-bottom-color: rgba(255,255,255,.28); }

.wrap {
  max-width: var(--wrap);
  margin-inline: auto;

  padding-inline: var(--s-5);
}
.wrap-narrow { max-width: 720px; }
.wrap-mid    { max-width: 900px; }

main {
  display: block; padding-block: var(--s-7) var(--s-9);
  flex: 1 0 auto;

  min-width: 0;
}
main.flush { padding-block-start: 0; }

.stack > * + * { margin-top: var(--s-4); }
.stack-sm > * + * { margin-top: var(--s-2); }
.stack-lg > * + * { margin-top: var(--s-7); }

.row { display: flex; gap: var(--s-3); align-items: center; flex-wrap: wrap; }
.row-tight { gap: var(--s-2); }
.row-between { display: flex; gap: var(--s-4); align-items: center; justify-content: space-between; flex-wrap: wrap; }
.row-top { align-items: flex-start; }
.spacer { flex: 1 1 auto; }

.grid { display: grid; gap: var(--s-5); }

.grid > * { min-width: 0; }
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }

@media (min-width: 720px) {
  .grid-2 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(3, 1fr); }
  .sidebar-right { grid-template-columns: minmax(0,1fr) 340px; align-items: start; }
  .sidebar-left  { grid-template-columns: 280px minmax(0,1fr); align-items: start; }
}
@media (min-width: 1020px) {
  .grid-4 { grid-template-columns: repeat(4, 1fr); }
}

.cols-ruled { display: grid; gap: 0; }
.cols-ruled > * { padding: var(--s-5) 0; border-top: 1px solid var(--line); }
@media (min-width: 720px) {
  .cols-ruled { grid-template-columns: repeat(3, 1fr); }
  .cols-ruled > * { padding: 0 var(--s-5); border-top: 0; border-left: 1px solid var(--line); }
  .cols-ruled > *:first-child { padding-left: 0; border-left: 0; }
  .cols-ruled > *:last-child { padding-right: 0; }
}

.masthead {
  position: sticky; top: 0; z-index: 50;
  background: var(--ground);
  border-bottom: 1px solid var(--rule);
}
.masthead-inner {
  display: flex; align-items: center; gap: var(--s-5);
  min-height: var(--header-h);
  max-width: var(--wrap); margin-inline: auto; padding-inline: var(--s-5);
}

.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); flex: 0 0 auto; }
.brand:hover { color: var(--ink); }

.brand-mark {
  width: 30px; height: 30px; flex: 0 0 30px;
  color: var(--brand); display: block; overflow: visible;
}

.band-ink .brand-mark, .hero .brand-mark { color: #fff; }
.brand-name {
  font-family: var(--font-display);
  font-weight: 600; font-size: 21px; line-height: 28px; letter-spacing: -.02em;
}
.brand-name b { color: var(--brand-2); font-weight: 600; }

.nav { display: none; gap: 0; align-items: center; }
@media (min-width: 960px) { .nav { display: flex; } }
.nav a {

  color: var(--ink-2); text-decoration: none; font-size: 14px; line-height: 22px; font-weight: 560;
  padding: 8px 13px; border-radius: var(--radius-sm);
}
.nav a:hover { color: var(--ink); background: var(--card-2); }
.nav a[aria-current="page"] { color: var(--ink); box-shadow: inset 0 -2px 0 var(--gold); }

.nav-toggle {
  display: inline-grid; place-items: center; margin-left: auto;
  width: var(--control-sm); height: var(--control-sm); border: 1px solid var(--line); border-radius: var(--radius);
  background: transparent; color: var(--ink); cursor: pointer;
}
@media (min-width: 960px) { .nav-toggle { display: none; } }

.mobile-nav { border-top: 1px solid var(--line); background: var(--ground); padding: var(--s-3) var(--s-5) var(--s-5); }
.mobile-nav a { display: block; padding: 12px 2px; color: var(--ink); text-decoration: none; font-weight: 560; border-bottom: 1px solid var(--line-2); }
.mobile-nav a:last-child { border-bottom: 0; }
@media (min-width: 960px) { .mobile-nav { display: none !important; } }

.notif-dot {
  display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: 999px; background: var(--ochre); color: #fff; font-size: 12px; line-height: 18px; font-weight: 700;
}

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 20px; border-radius: var(--radius);
  border: 1px solid transparent; background: var(--brand); color: var(--brand-ink);
  font: inherit; font-size: 15px; font-weight: 620; line-height: 20px; letter-spacing: -.005em;
  text-decoration: none; cursor: pointer;
  transition: background .12s ease, border-color .12s ease, transform .06s ease;
  min-height: var(--control);
}
.btn:hover { background: var(--brand-deep); color: var(--brand-ink); }
.btn:active { transform: translateY(1px); }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .45; pointer-events: none; }

.btn-2 { background: transparent; color: var(--ink); border-color: var(--rule); }
.btn-2:hover { background: var(--ink); color: var(--ground); border-color: var(--ink); }
.btn-ghost { background: transparent; color: var(--brand-2); border-color: transparent; padding-inline: 4px; }
.btn-ghost:hover { background: transparent; color: var(--brand); text-decoration: underline; }
.btn-gold { background: var(--gold); color: #231700; border-color: var(--gold); }
.btn-gold:hover { background: #c98c14; color: #231700; }
.btn-good { background: var(--good); } .btn-good:hover { background: var(--good-text); }
.btn-bad  { background: var(--bad); }  .btn-bad:hover  { background: var(--bad-text); }
.btn-sm { padding: 9px 14px; font-size: 13px; line-height: 20px; min-height: var(--control-sm); }
.btn-lg { padding: 16px 28px; font-size: 16px; line-height: 24px; min-height: var(--control-lg); }
.btn-block { display: flex; width: 100%; }

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 2px solid var(--gold); outline-offset: 2px; border-radius: var(--radius-sm);
}

.card {
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius); padding: var(--s-5);
  transition: border-color .12s ease, box-shadow .12s ease;
}
.card-tight { padding: var(--s-4); }
.card-flat { box-shadow: none; }
.card-lift { box-shadow: var(--shadow); }
.card-link { display: block; text-decoration: none; color: inherit; }
.card-link:hover { border-color: var(--rule); box-shadow: var(--shadow-lg); color: inherit; }

.panel { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.panel-head {
  padding: var(--s-4) var(--s-5); border-bottom: 1px solid var(--rule);
  background: var(--card); display: flex; align-items: center; gap: var(--s-3); flex-wrap: wrap;
}
.panel-head h2, .panel-head h3 { margin: 0; font-family: var(--font); font-size: 16px; line-height: 24px; font-weight: 680; letter-spacing: 0; }
.panel-body { padding: var(--s-5); }
.panel-foot { padding: var(--s-4) var(--s-5); border-top: 1px solid var(--line); background: var(--card-2); }

.statement { font-variant-numeric: tabular-nums; }
.statement-row {
  display: flex; justify-content: space-between; gap: var(--s-4);
  padding: 9px 0; border-bottom: 1px solid var(--line-2);
  font-size: 14px; line-height: 21px;
}
.statement-row:last-child { border-bottom: 0; }
.statement-row .label { color: var(--ink-2); }

.statement-row { flex-wrap: wrap; }
.statement-row .label,
.statement-row .value { min-width: 0; }
.statement-row .value { font-weight: 560; overflow-wrap: anywhere; }
.statement-row .value.num,
.statement-total .value { white-space: nowrap; }
.statement-row .note { display: block; font-size: 12px; line-height: 18px; color: var(--ink-4); margin-top: 1px; }
.statement-row.missing .value { color: var(--ochre-text); font-weight: 700; }
.statement-total {
  display: flex; justify-content: space-between; gap: var(--s-4);
  padding: var(--s-3) 0 0; margin-top: var(--s-2);
  border-top: 2px solid var(--rule);
  font-size: 16px; line-height: 24px; font-weight: 700;
}
.statement-total .value { white-space: nowrap; }

.figure {
  font-family: var(--font-display);
  font-size: 40px; line-height: 40px; font-weight: 600;
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
}
.figure-sm { font-size: 26px; line-height: 28px; }
@media (min-width: 560px)  { .figure { font-size: 56px; line-height: 56px; } }
@media (min-width: 1040px) { .figure { font-size: 76px; line-height: 76px; }
                             .figure-sm { font-size: 32px; line-height: 34px; } }
.figure-gold { color: var(--gold-text); }

.badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 8px; border-radius: var(--radius-sm);
  font-size: 12px; font-weight: 650; line-height: 18px; letter-spacing: .01em;
  background: var(--card-2); color: var(--ink-2); white-space: nowrap;
  border: 1px solid var(--line);
}
.badge-good { background: var(--good-bg); color: var(--good-text); border-color: transparent; }
.badge-warn { background: var(--warn-bg); color: var(--warn-text); border-color: transparent; }
.badge-bad  { background: var(--bad-bg);  color: var(--bad-text);  border-color: transparent; }
.badge-brand { background: var(--brand-3); color: var(--brand-2); border-color: transparent; }
.badge-gold { background: var(--gold-bg); color: var(--gold-text); border-color: transparent; }
.badge-lg { font-size: 13px; line-height: 20px; padding: 5px 11px; }

.chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm);
  background: var(--card); color: var(--ink-2); font-size: 13px; line-height: 20px; text-decoration: none;
}
a.chip:hover { border-color: var(--rule); color: var(--ink); }
.chip[aria-pressed="true"], .chip.on { background: var(--ink); border-color: var(--ink); color: var(--ground); font-weight: 600; }

.verified { display: inline-flex; align-items: center; gap: 5px; color: var(--good-text); font-weight: 650; font-size: 12px; line-height: 18px; }
.credential { font-family: var(--font-mono); font-size: 12px; line-height: 18px; color: var(--ink-3); letter-spacing: .01em; }

.field { display: block; margin-bottom: var(--s-4); }
.field > label, .label {
  display: block; font-size: 13px; line-height: 20px; font-weight: 640; color: var(--ink); margin-bottom: 6px;
}
.hint { display: block; font-size: 12px; color: var(--ink-3); margin-top: 4px; line-height: 18px; }
.req { color: var(--ochre); font-weight: 700; }

input[type=text], input[type=email], input[type=password], input[type=tel],
input[type=number], input[type=date], input[type=search], input[type=url],
select, textarea {
  width: 100%; padding: 12px 14px; min-height: var(--control);
  font: inherit; font-size: 16px; line-height: 24px;
  color: var(--ink);
  background: var(--card);
  border: 1px solid var(--line); border-radius: var(--radius-sm);
  transition: border-color .12s ease, box-shadow .12s ease;
}
textarea { min-height: 120px; resize: vertical; line-height: 24px; }
input:focus, select:focus, textarea:focus {
  border-color: var(--ink); box-shadow: inset 0 -2px 0 var(--gold); outline: none;
}
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"] {
  border-color: var(--bad); box-shadow: inset 0 -2px 0 var(--bad);
}
input::placeholder, textarea::placeholder { color: var(--ink-4); }

select {

  background-color: var(--card);
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23736a5f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 13px center;
  background-size: 12px 8px;
  padding-right: 36px;
  appearance: none;
}

.money-input { position: relative; display: block; }
.money-input input { padding-left: 28px; font-variant-numeric: tabular-nums; }
.money-input::before {
  content: "$"; position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: var(--ink-3); font-weight: 600; pointer-events: none; z-index: 1;
}

fieldset { border: 0; padding: 0; margin: 0 0 var(--s-5); }
legend { padding: 0; font-size: 14px; line-height: 21px; font-weight: 660; margin-bottom: var(--s-2); }

.choice {
  display: flex; gap: var(--s-3); align-items: flex-start;
  padding: 13px 15px; border: 1px solid var(--line); border-radius: var(--radius-sm);
  background: var(--card); cursor: pointer; margin-bottom: var(--s-2);
  transition: border-color .12s ease, background .12s ease;
}
.choice:hover { border-color: var(--ink-3); }
.choice input { margin: 3px 0 0; width: 18px; height: 18px; min-height: 0; flex: 0 0 18px; accent-color: var(--brand); }
.choice-body { flex: 1; min-width: 0; }
.choice-title { font-weight: 620; font-size: 15px; line-height: 24px; }
.choice-note { font-size: 13px; line-height: 20px; color: var(--ink-3); margin-top: 2px; display: block; }
.choice:has(input:checked) { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }

.choice-grid { display: grid; gap: var(--s-2); }
@media (min-width: 640px) { .choice-grid-2 { grid-template-columns: 1fr 1fr; } }

.check-inline { display: inline-flex; gap: 8px; align-items: flex-start; font-size: 14px; line-height: 21px; }
.check-inline input { width: 18px; height: 18px; min-height: 0; margin: 2px 0 0; flex: 0 0 18px; accent-color: var(--brand); }

.form-actions { display: flex; gap: var(--s-3); flex-wrap: wrap; align-items: center; margin-top: var(--s-5); }

.note {
  padding: var(--s-4); border-radius: var(--radius-sm);
  border-left: 3px solid var(--line); background: var(--card-2);
  font-size: 14px; line-height: 21px;
}
.note-good { background: var(--good-bg); border-left-color: var(--good); color: var(--good-text); }
.note-warn { background: var(--warn-bg); border-left-color: var(--warn); color: var(--warn-text); }
.note-bad  { background: var(--bad-bg);  border-left-color: var(--bad);  color: var(--bad-text); }
.note-brand{ background: var(--brand-3); border-left-color: var(--brand); color: var(--ink); }
.note strong { font-weight: 700; }
.note p:last-child { margin-bottom: 0; }
.note-title { font-weight: 700; margin-bottom: 4px; display: block; }

.flash { margin-bottom: var(--s-5); }

.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
table.data {
  width: 100%; font-size: 14px; line-height: 21px;

  border-collapse: separate; border-spacing: 0;
}
table.data th, table.data td { padding: 11px 14px; text-align: left; border-bottom: 1px solid var(--line-2); vertical-align: top; }
table.data thead th { border-bottom: 1px solid var(--rule); }
table.data th { font-size: 12px; line-height: 18px; text-transform: uppercase; letter-spacing: .1em; color: var(--ink-3); font-weight: 700; white-space: nowrap; }
table.data tbody tr:last-child td { border-bottom: 0; }
table.data td.num, table.data th.num { text-align: right; font-variant-numeric: tabular-nums; }

@media (max-width: 719px) {
  table.stackable, table.stackable tbody, table.stackable tr, table.stackable td { display: block; width: 100%; }
  table.stackable thead { display: none; }
  table.stackable tr {
    border: 1px solid var(--line); border-radius: var(--radius-sm);
    margin-bottom: var(--s-3); padding: var(--s-3); background: var(--card);
  }
  table.stackable td { border: 0; padding: 5px 0; display: flex; gap: var(--s-3); justify-content: space-between; }
  table.stackable td::before {
    content: attr(data-label); font-size: 12px; line-height: 18px; font-weight: 650; color: var(--ink-3);
    flex: 0 0 auto; text-transform: uppercase; letter-spacing: .06em;
  }
  table.stackable td[data-label=""], table.stackable td.drop-mobile { display: none; }
  table.stackable td.num { text-align: right; }
}

.steps { display: flex; gap: 0; list-style: none; padding: 0; margin: 0 0 var(--s-6); overflow-x: auto; }
.steps li { display: flex; align-items: center; gap: var(--s-2); padding-right: var(--s-4); white-space: nowrap; font-size: 13px; line-height: 20px; color: var(--ink-3); }
.steps li + li::before { content: ""; width: 22px; height: 1px; background: var(--line); margin-right: var(--s-4); flex: 0 0 22px; }
.step-dot {
  width: 24px; height: 24px; flex: 0 0 24px; border-radius: 50%;
  display: grid; place-items: center; font-size: 12px; line-height: 18px; font-weight: 700;
  background: var(--card-2); color: var(--ink-3); border: 1px solid var(--line);
}
.steps li.on { color: var(--ink); font-weight: 650; }
.steps li.on .step-dot { background: var(--ink); color: var(--ground); border-color: var(--ink); }
.steps li.done { color: var(--good-text); }
.steps li.done .step-dot { background: var(--good-bg); color: var(--good-text); border-color: transparent; }

.step-n {
  display: block;
  font-family: var(--font-display);
  font-size: 42px; font-weight: 600; line-height: 42px;
  color: var(--gold); letter-spacing: -.04em;
}

.gate-list { list-style: none; padding: 0; margin: 0; }
.gate-list li { display: flex; gap: var(--s-3); padding: var(--s-3) 0; border-bottom: 1px solid var(--line-2); align-items: flex-start; }
.gate-list li:last-child { border-bottom: 0; }
.gate-mark { width: 22px; height: 22px; flex: 0 0 22px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; line-height: 18px; font-weight: 800; }
.gate-done { background: var(--good-bg); color: var(--good-text); }
.gate-now  { background: var(--ink); color: var(--ground); }
.gate-wait { background: transparent; color: var(--ink-4); border: 1px solid var(--line); }

.quote-card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); overflow: hidden; }
.quote-card.best { border-color: var(--rule); box-shadow: var(--shadow-lg); }
.quote-head { padding: var(--s-4) var(--s-5); display: flex; gap: var(--s-3); align-items: flex-start; border-bottom: 1px solid var(--line-2); }
.quote-body { padding: var(--s-5); }
.quote-total { font-family: var(--font-display); font-size: 32px; font-weight: 600; letter-spacing: -.025em; font-variant-numeric: tabular-nums; line-height: 38px; }
.quote-split { display: grid; gap: 0; font-size: 14px; line-height: 21px; margin-top: var(--s-4); font-variant-numeric: tabular-nums; }
.quote-split div { display: flex; justify-content: space-between; gap: var(--s-3); padding: 8px 0; border-bottom: 1px solid var(--line-2); }
.quote-split div:last-child { border-bottom: 0; }
.quote-split .total { border-top: 2px solid var(--rule); border-bottom: 0; margin-top: 2px; padding-top: 10px; font-weight: 700; font-size: 15px; line-height: 24px; }

.avatar {
  width: var(--control-sm); height: var(--control-sm); flex: 0 0 var(--control-sm); border-radius: var(--radius-sm);
  background: var(--brand-3); color: var(--brand-2);
  display: grid; place-items: center; font-weight: 700; font-size: 15px; line-height: 24px;
}
.avatar-lg { width: 68px; height: 68px; flex-basis: 68px; font-size: 26px; line-height: 32px; border-radius: var(--radius); }
.avatar-sm { width: 30px; height: 30px; flex-basis: 30px; font-size: 12px; line-height: 18px; }

.stars { display: inline-flex; gap: 1px; color: var(--gold); font-size: 14px; line-height: 21px; }
.stars .off { color: var(--line); }

.stat { padding: var(--s-4) 0; border-top: 2px solid var(--rule); }
.stat-value { font-family: var(--font-display); font-size: 32px; font-weight: 600; letter-spacing: -.025em; font-variant-numeric: tabular-nums; line-height: 38px; }
.stat-label { font-size: 12px; line-height: 18px; color: var(--ink-3); margin-top: 3px; }

.msg-list { display: flex; flex-direction: column; gap: var(--s-3); }
.msg { max-width: 78%; padding: 12px 14px; border-radius: var(--radius); font-size: 14px; line-height: 21px; }
.msg-them { background: var(--card-2); border: 1px solid var(--line); align-self: flex-start; }
.msg-me { background: var(--brand); color: #fff; align-self: flex-end; }
.msg-me a { color: #b7e6d5; }
.msg-sys { align-self: center; max-width: 100%; background: transparent; border: 1px dashed var(--line); color: var(--ink-3); font-size: 13px; line-height: 20px; text-align: center; }
.msg-meta { font-size: 12px; line-height: 18px; color: var(--ink-4); margin-top: 3px; }
.msg-me .msg-meta { color: rgba(255,255,255,.6); }

.timeline { list-style: none; padding: 0; margin: 0; position: relative; }
.timeline::before { content: ""; position: absolute; left: 5px; top: 8px; bottom: 8px; width: 1px; background: var(--line); }
.timeline li { position: relative; padding: 0 0 var(--s-4) var(--s-6); }
.timeline li::before {
  content: ""; position: absolute; left: 0; top: 6px; width: 11px; height: 11px;
  border-radius: 50%; background: var(--ground); border: 2px solid var(--ink-4);
}
.timeline li.done::before { background: var(--good); border-color: var(--good); }
.timeline-title { font-weight: 620; font-size: 14px; line-height: 21px; }
.timeline-when { font-size: 12px; line-height: 18px; color: var(--ink-4); }

.hero {
  position: relative;
  background: var(--brand-deep) url("/img/hero.webp") right center / cover no-repeat;
  color: #fff;
  padding-block: var(--s-9) var(--s-10);
  overflow: hidden;
}

.hero::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(100deg,
    var(--brand-deep) 0%, rgba(4,36,28,.94) 34%, rgba(4,36,28,.55) 62%, rgba(4,36,28,.15) 100%);
  pointer-events: none;
}
@media (max-width: 899px) {
  .hero::before { background: linear-gradient(180deg, rgba(4,36,28,.93) 0%, rgba(4,36,28,.97) 70%); }
}
.hero > * { position: relative; }
.hero h1 { color: #fff; max-width: 13ch; }
.hero .lede { color: rgba(255,255,255,.8); max-width: 50ch; }
.hero-points { list-style: none; padding: 0; margin: var(--s-6) 0 0; display: grid; gap: var(--s-3); }
.hero-points li { display: flex; gap: 10px; align-items: flex-start; color: rgba(255,255,255,.8); font-size: 14px; line-height: 21px; }
.hero-points svg { flex: 0 0 18px; margin-top: 2px; color: var(--gold-2); }
.hero .btn-2 { color: #fff; border-color: rgba(255,255,255,.4); }
.hero .btn-2:hover { background: #fff; color: var(--brand-deep); border-color: #fff; }

.hero-paper {
  background: var(--ground); color: var(--ink);
  border-radius: var(--radius); padding: var(--s-5);
  box-shadow: 0 24px 60px rgba(0,0,0,.34);
}
.hero-card { background: var(--card); color: var(--ink); border-radius: var(--radius); padding: var(--s-5); box-shadow: 0 24px 60px rgba(0,0,0,.34); }

.band { padding-block: var(--s-9); }
.band-tight { padding-block: var(--s-8); }
.band-tint { background: var(--card-2); border-block: 1px solid var(--line); }
.band-ink { background: var(--ink); color: var(--ground); }
.band-ink h2, .band-ink h3 { color: var(--ground); }
.band-ink p, .band-ink li { color: rgba(253,251,246,.74); }
.band-ink .btn-2 { color: var(--ground); border-color: rgba(253,251,246,.4); }
.band-ink .btn-2:hover { background: var(--ground); color: var(--ink); }
.band-ink .statement-row { border-bottom-color: rgba(253,251,246,.14); }
.band-ink .statement-total { border-top-color: rgba(253,251,246,.6); }
.band-ink .eyebrow { color: rgba(253,251,246,.62); border-bottom-color: rgba(253,251,246,.28); }

.band-brand { background: var(--brand-deep); color: #fff; padding-block: var(--s-9); }
.band-brand h2, .band-brand h3 { color: #fff; }
.band-brand p, .band-brand li { color: rgba(255,255,255,.76); }
.band-brand .eyebrow { color: rgba(255,255,255,.62); border-bottom-color: rgba(255,255,255,.28); }
.band-brand .btn-2 { color: #fff; border-color: rgba(255,255,255,.4); }
.band-brand .btn-2:hover { background: #fff; color: var(--brand-deep); }
.band-brand .step-n { color: var(--gold-2); }

.pull {
  font-family: var(--font-display);
  font-size: 21px; line-height: 28px;
  letter-spacing: -.018em;
  color: var(--ink);
  margin: var(--s-6) 0;
  padding-left: var(--s-5);
  border-left: 2px solid var(--gold);
}
.band-ink .pull, .hero .pull, .band-brand .pull { color: #fff; }

.trust-strip {
  display: flex; flex-wrap: wrap; gap: var(--s-3) var(--s-6);
  align-items: center; justify-content: center;
  padding: var(--s-4) var(--s-5);
  border-bottom: 1px solid var(--line);
  background: var(--ground);
}
.trust-item { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; line-height: 18px; font-weight: 600; color: var(--ink-2); }
.trust-item .ico { color: var(--brand-2); width: 16px; height: 16px; }

.foot { border-top: 1px solid var(--rule); background: var(--ground); padding-block: var(--s-8) var(--s-6); }
.foot .foot-head { font-size: 12px; line-height: 18px; text-transform: uppercase; letter-spacing: .14em; color: var(--ink-3); margin-bottom: var(--s-3); }
.foot a:not(.btn):not(.brand):not(.foot-legal a) {
  display: block; padding: 4px 0; color: var(--ink-2);
  text-decoration: none; font-size: 14px; line-height: 21px;
}
.foot a:not(.btn):hover { color: var(--ink); text-decoration: underline; }
.foot-legal { border-top: 1px solid var(--line); margin-top: var(--s-6); padding-top: var(--s-5); font-size: 12px; color: var(--ink-3); line-height: 19px; }

.foot .foot-legal a { display: inline; padding: 0; font-size: inherit; line-height: inherit; text-decoration: underline; }

.divider { height: 1px; background: var(--line); border: 0; margin-block: var(--s-5); }
.rule-top { border-top: 2px solid var(--rule); padding-top: var(--s-4); }
.rule-gold::after {
  content: ""; display: block; width: 44px; height: 3px;
  background: var(--gold); margin-top: var(--s-3);
}
.tag-list { display: flex; gap: 6px; flex-wrap: wrap; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.skip-link {
  position: absolute; top: 0; z-index: 100;
  width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);
  background: var(--ink); color: var(--ground); padding: 12px 18px;
  white-space: nowrap;
}
.skip-link:focus {
  width: auto; height: auto; overflow: visible; clip-path: none;
  inset-inline-start: 0; color: var(--ground);
}

details.faq { border-bottom: 1px solid var(--line); padding: var(--s-4) 0; }
details.faq summary { cursor: pointer; font-weight: 620; font-size: 16px; line-height: 24px; list-style: none; display: flex; justify-content: space-between; gap: var(--s-3); }
details.faq summary::-webkit-details-marker { display: none; }
details.faq summary::after { content: "+"; color: var(--gold-text); font-size: 21px; line-height: 24px; flex: 0 0 auto; font-weight: 400; }
details.faq[open] summary::after { content: "\2212"; }
details.faq .faq-body { padding-top: var(--s-3); color: var(--ink-2); font-size: 15px; line-height: 24px; max-width: 68ch; }

.empty { text-align: center; padding: var(--s-8) var(--s-4); color: var(--ink-3); }
.empty .empty-title, .empty h3 { color: var(--ink); font-family: var(--font-display); font-size: 21px; line-height: 28px; }

.pill-nav { display: flex; gap: var(--s-2); overflow-x: auto; padding-bottom: var(--s-2); }
.pill-nav a {
  padding: 8px 14px; border-radius: var(--radius-sm); background: transparent; border: 1px solid var(--line);
  color: var(--ink-2); text-decoration: none; font-size: 14px; line-height: 21px; white-space: nowrap; font-weight: 560;
}
.pill-nav a[aria-current="page"] { background: var(--ink); border-color: var(--ink); color: var(--ground); }

.doc-body { max-width: 70ch; }
.doc-body h3 { margin-top: var(--s-5); }
.doc-body ul, .doc-body ol { padding-left: var(--s-5); margin-bottom: var(--s-4); }
.doc-body li { margin-bottom: var(--s-2); }
.doc-body blockquote {
  margin: var(--s-4) 0; padding: var(--s-2) 0 var(--s-2) var(--s-4);
  border-left: 2px solid var(--gold); color: var(--ink-2);
  font-family: var(--font-display); font-size: 18px; line-height: 27px;
}

.agreement {
  font-size: 14px; line-height: 21px; max-height: 460px; overflow-y: auto;
  padding: var(--s-5); border: 1px solid var(--line); border-radius: var(--radius-sm);
  background: var(--card-2);
}
.agreement h3 { margin-top: var(--s-5); font-size: 15px; line-height: 24px; }
.agreement h3:first-child { margin-top: 0; }
.agreement ol { padding-left: var(--s-5); }
.sign-box { border: 1px dashed var(--ink-4); border-radius: var(--radius-sm); padding: var(--s-4); background: var(--card); }
.sign-name { font-family: var(--font-display); font-size: 21px; line-height: 28px; font-style: italic; color: var(--ink); }

.versus { display: grid; gap: var(--s-4); }
@media (min-width: 620px) { .versus { grid-template-columns: 1fr 1fr; } }
.hero-card .versus, .hero-paper .versus { grid-template-columns: 1fr; }
.versus-card { border-radius: var(--radius-sm); padding: var(--s-4); border: 1px solid var(--line); background: var(--card); }
.versus-bad { border-top: 3px solid var(--ochre); }
.versus-good { border-top: 3px solid var(--good); }
.versus-card .label { font-size: 12px; line-height: 18px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.versus-bad .label { color: var(--ochre-text); }
.versus-good .label { color: var(--good-text); }

.demo-bar {
  background: var(--gold-bg);
  color: var(--gold-text);
  border-bottom: 1px solid var(--gold);
  padding: 9px var(--s-5);
  font-size: 13px; line-height: 20px; text-align: center;
}
.demo-bar a { color: inherit; font-weight: 700; }

.ico {
  width: 1.05em; height: 1.05em; flex: 0 0 auto;
  display: inline-block; vertical-align: -0.15em;
}

.btn .ico { width: 16px; height: 16px; }
.btn-lg .ico { width: 18px; height: 18px; }
.btn-sm .ico { width: 15px; height: 15px; }
.hero-points .ico { width: 18px; height: 18px; margin-top: 2px; }
.verified .ico { width: 14px; height: 14px; }
.stars .ico { width: 14px; height: 14px; }
.nav-toggle .ico { width: 20px; height: 20px; }
.gate-mark .ico { width: 12px; height: 12px; }

.reveal { transform: translateY(12px); transition: transform .5s cubic-bezier(.2,.7,.3,1); }
.reveal.in { transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal.in { transform: none; transition: none; }
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.print-only { display: none; }

@page { margin: 18mm 16mm; }

@media print {
  :root {
    --ink: #000;
    --ink-2: #1c1c1c;
    --ink-3: #3d3d3d;
    --ink-4: #5a5a5a;
    --ground: #fff;
    --card: #fff;
    --card-2: #fff;
    --line: #c4c4c4;
    --line-2: #d8d8d8;
    --rule: #8a8a8a;
    --brand: #000;
    --brand-2: #000;
    --brand-3: #eee;
  }
}

@media print {
  .masthead, .foot, .nav, .btn, .no-print, .demo-bar,
  .ask-fab, .langpick, .acctpick, .toc, .crumbs, form, .guide-search,
  .flash, .pagination { display: none !important; }
  .print-only { display: block; }
  body { background: #fff; color: #000; font-size: 11pt; line-height: 1.45; }
  .wrap, .wrap-mid, .wrap-narrow { max-width: none; margin: 0; padding: 0; }
  main { padding: 0; }
  .card, .panel { border: 1px solid #999; box-shadow: none; break-inside: avoid; }
  .note { border: 1px solid #999; break-inside: avoid; }

  h1, h2, h3, h4 { break-after: avoid; page-break-after: avoid; }
  tr, li, .anatomy-row, .statement-row { break-inside: avoid; }

  thead { display: table-header-group; }
  tfoot { display: table-footer-group; }
  table { width: 100%; border-collapse: collapse; }
  .table-scroll { overflow: visible !important; }

  a { text-decoration: none; color: #000; }
  .doc-body a[href^="http"]::after,
  .legal a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; word-break: break-all; }

  .figure-plate, .band-photo, .hero::before { display: none !important; }
}

@media (max-width: 559px) {
  .masthead-inner { padding-inline: var(--s-4); gap: var(--s-3); }

  .masthead .auth-links > :not(.nav-toggle) { display: none; }
  .wrap { padding-inline: var(--s-4); }
}

.langpick { position: relative; flex: 0 0 auto; }
.langpick > summary {
  list-style: none; cursor: pointer; user-select: none;
  display: inline-flex; align-items: center; gap: 7px;
  padding: 0 13px; min-height: var(--control-sm);
  border: 1px solid var(--line); border-radius: var(--radius);
  font-size: 13px; line-height: 20px; font-weight: 560; color: var(--ink-2); background: var(--card);
  white-space: nowrap;
}
.langpick > summary::-webkit-details-marker { display: none; }
.langpick > summary:hover { color: var(--ink); border-color: var(--ink-4); }
.langpick[open] > summary { border-color: var(--rule); color: var(--ink); }
.langpick .ico { width: 15px; height: 15px; flex: 0 0 15px; }
.langpick-now { max-width: 12ch; overflow: hidden; text-overflow: ellipsis; }
.langpick-compact .langpick-now { display: none; }
@media (min-width: 1100px) { .langpick-compact .langpick-now { display: inline; } }

.langpick-menu {

  position: absolute; z-index: 60; top: calc(100% + 6px); inset-inline-end: 0;
  width: min(92vw, 460px); max-width: calc(100vw - 32px);
  background: var(--card); border: 1px solid var(--rule); border-radius: var(--radius);
  box-shadow: var(--shadow-lg); padding: var(--s-4);
}
.foot .langpick-menu, .mobile-nav .langpick-menu { inset-inline-end: auto; inset-inline-start: 0; }
.langpick-head {
  font-size: 12px; line-height: 18px; letter-spacing: .09em; text-transform: uppercase;
  color: var(--ink-3); padding-bottom: var(--s-3); margin-bottom: var(--s-3);
  border-bottom: 1px solid var(--line);
}
.langpick-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  gap: 2px; max-height: min(60vh, 420px); overflow-y: auto;
}
.langpick-grid a {
  display: block; padding: 8px 9px; border-radius: var(--radius-sm);
  text-decoration: none; color: var(--ink); line-height: 18px;
}
.langpick-grid a:hover { background: var(--card-2); }
.langpick-grid a[aria-current="true"] { background: var(--brand-3); color: var(--brand); }
.langpick-grid .endonym { display: block; font-size: 14px; line-height: 21px; font-weight: 560; }
.langpick-grid .tiny { display: block; }

.lang-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--s-3); }
.lang-tile {
  display: block; padding: var(--s-4); text-decoration: none; color: var(--ink);
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--card);
}
.lang-tile:hover { border-color: var(--rule); }
.lang-tile.is-current { border-color: var(--brand); border-width: 2px; }
.lang-tile .endonym { display: block; font-size: 18px; line-height: 27px; font-weight: 620; margin-bottom: 2px; }

.mobile-nav-lang { padding: var(--s-3) var(--s-5) var(--s-4); }

[dir="rtl"] .statement-row .value,
[dir="rtl"] .statement-total .value { text-align: left; }
[dir="rtl"] .btn .ico { transform: scaleX(-1); }
[dir="rtl"] .toc { border-left: 0; border-right: 1px solid var(--line); padding-left: 0; padding-right: var(--s-4); }
[dir="rtl"] .ticks li, [dir="rtl"] .crosses li { padding-left: 0; padding-right: 26px; }
[dir="rtl"] .ticks li::before, [dir="rtl"] .crosses li::before { left: auto; right: 2px; }

.chat {
  border: 1px solid var(--rule); border-radius: var(--radius);
  background: var(--card); overflow: hidden;
}
.chat-log {
  padding: var(--s-5); display: flex; flex-direction: column; gap: var(--s-5);
  max-height: 60vh; overflow-y: auto; min-height: 220px;
}
.chat-msg { display: flex; gap: var(--s-3); align-items: flex-start; }
.chat-msg-me { flex-direction: row-reverse; }
.chat-avatar {
  flex: 0 0 32px; width: 32px; height: 32px; border-radius: var(--radius-sm);
  background: var(--brand); color: #fff; display: grid; place-items: center;
  font-size: 12px; line-height: 18px; font-weight: 800; letter-spacing: -.02em;
}
.chat-msg-me .chat-avatar { background: var(--ink); }
.chat-bubble {
  flex: 1 1 auto; min-width: 0; font-size: 15px; line-height: 24px; color: var(--ink);
}
.chat-bubble p { margin: 0 0 .7em; }
.chat-bubble p:last-child { margin-bottom: 0; }
.chat-bubble ul, .chat-bubble ol { margin: .4em 0 .8em; padding-left: 20px; }
.chat-msg-me .chat-bubble {
  background: var(--card-2); border: 1px solid var(--line);
  border-radius: var(--radius); padding: var(--s-3) var(--s-4);
  max-width: 46ch; flex: 0 1 auto;
}
.chat-msg-blocked .chat-bubble {
  color: var(--ink-2); border-left: 3px solid var(--gold); padding-left: var(--s-4);
}

.chat-form {
  display: flex; gap: var(--s-3); align-items: flex-end;
  padding: var(--s-4); border-top: 1px solid var(--line); background: var(--card-2);
}
.chat-form textarea {
  flex: 1 1 auto; min-width: 0; resize: vertical; min-height: var(--control); max-height: 200px;
  font: inherit; font-size: 15px; line-height: 24px; padding: 11px 13px;
  border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--card); color: var(--ink);
}
.chat-form textarea:focus { outline: 2px solid var(--brand); outline-offset: 1px; border-color: var(--brand); }
.chat-form .btn { flex: 0 0 auto; }

.chat-typing { display: inline-flex; gap: 4px; align-items: center; color: var(--ink-3); font-size: 14px; line-height: 21px; }
.chat-typing i {
  width: 5px; height: 5px; border-radius: 50%; background: var(--ink-4);
  animation: chatdot 1.1s infinite ease-in-out;
}
.chat-typing i:nth-child(2) { animation-delay: .15s; }
.chat-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes chatdot { 0%, 60%, 100% { transform: translateY(0); } 30% { transform: translateY(-4px); } }
@media (prefers-reduced-motion: reduce) { .chat-typing i { animation: none; } }

.ask-fab {
  position: fixed; z-index: 50; inset-inline-end: 18px; bottom: 18px;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 18px; border-radius: 999px; min-height: var(--control);
  background: var(--brand); color: #fff; text-decoration: none;
  font-size: 14px; line-height: 21px; font-weight: 600; box-shadow: var(--shadow-lg);
}
.ask-fab:hover { background: var(--brand-deep); color: #fff; }
.ask-fab .ico { width: 17px; height: 17px; }
@media print { .ask-fab { display: none; } }

.guide-search {
  display: flex; align-items: center; gap: var(--s-3);
  border: 1px solid var(--rule); border-radius: var(--radius);
  background: var(--card); padding: 6px 6px 6px var(--s-4);
}
.guide-search .ico { width: 18px; height: 18px; flex: 0 0 18px; color: var(--ink-3); }
.guide-search input {
  flex: 1 1 auto; min-width: 0; border: 0; background: transparent;
  font: inherit; font-size: 15px; line-height: 24px; padding: 10px 0; color: var(--ink);
}
.guide-search input:focus { outline: none; }
.guide-search:focus-within { box-shadow: 0 0 0 2px var(--brand-3); border-color: var(--brand); }

.guide-section + .guide-section { border-top: 1px solid var(--line); padding-top: var(--s-7); }
.guide-section h2 a { color: inherit; text-decoration: none; }
.guide-section h2 a:hover { color: var(--brand-2); }

.guide-grid { display: grid; gap: 0; }
.guide-grid > * { border-top: 1px solid var(--line); }
@media (min-width: 700px) {
  .guide-grid { grid-template-columns: repeat(2, 1fr); column-gap: var(--s-7); }
}
@media (min-width: 1040px) {
  .guide-grid { grid-template-columns: repeat(3, 1fr); }
}

.guide-card {
  display: block; text-decoration: none; color: var(--ink);
  padding: var(--s-5) 0; position: relative;
}
.guide-card::after {
  content: ""; position: absolute; inset-inline: 0; top: -1px; height: 2px;
  background: var(--gold); transform: scaleX(0); transform-origin: left;
  transition: transform .25s ease;
}
.guide-card:hover::after { transform: scaleX(1); }
.guide-card h2, .guide-card h3 {
  font-family: var(--font-display); font-size: 21px; font-weight: 600;
  line-height: 24px; margin: var(--s-3) 0 var(--s-2); color: var(--ink);
}
.guide-card:hover h2, .guide-card:hover h3 { color: var(--brand-2); }
.guide-card-sm h3 { font-size: 16px; line-height: 24px; }
.guide-card p { margin: 0 0 var(--s-3); }
.guide-meta { display: block; font-size: 12px; line-height: 18px; color: var(--ink-3); }

.crumbs { font-size: 13px; line-height: 20px; color: var(--ink-3); margin-bottom: var(--s-4); }
.crumbs a { color: var(--ink-2); }
.crumbs span { padding: 0 6px; color: var(--ink-3); }

.doc-meta {
  display: flex; flex-wrap: wrap; gap: var(--s-4);
  font-size: 12px; line-height: 18px; color: var(--ink-3);
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  padding: var(--s-3) 0; margin: var(--s-5) 0 var(--s-6);
}

.doc-layout { display: grid; gap: var(--s-7); align-items: start; }
.doc-layout > * { min-width: 0; }
@media (min-width: 1040px) {
  .doc-layout { grid-template-columns: 250px minmax(0, 1fr); gap: var(--s-8); }
  .toc { position: sticky; top: calc(var(--header-h) + 20px); }
}

.toc { border-left: 1px solid var(--line); padding-left: var(--s-4); font-size: 13px; line-height: 20px; }
.toc ol { list-style: none; padding: 0; margin: var(--s-3) 0 0; }
.toc li { margin: 0; }
.toc ol a { display: block; padding: 5px 0; color: var(--ink-2); text-decoration: none; line-height: 19px; }
.toc ol a:hover { color: var(--brand-2); }
.toc ol .toc-l3 a { padding-left: var(--s-3); color: var(--ink-3); font-size: 12px; line-height: 18px; }

.anchor {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap;
  color: var(--ink-4); text-decoration: none; font-weight: 400;
}
h2:hover > .anchor, h3:hover > .anchor, h4:hover > .anchor, .anchor:focus {
  position: static; width: auto; height: auto; overflow: visible;
  clip-path: none; margin-left: 8px;
}

.doc-body h2 { font-size: 26px; line-height: 32px; margin-top: var(--s-7); }
.doc-body h3 { font-size: 18px; line-height: 24px; margin-top: var(--s-6); }
@media (min-width: 700px) { .doc-body h2 { font-size: 32px; line-height: 38px; } }
.doc-body > p, .doc-body > ul, .doc-body > ol { max-width: 68ch; }
.doc-body blockquote {
  margin: var(--s-5) 0; padding: 0 0 0 var(--s-5);
  border-left: 3px solid var(--gold); color: var(--ink-2);
  font-family: var(--font-display); font-size: 18px; line-height: 27px;
}
.doc-body hr { border: 0; border-top: 1px solid var(--line); margin: var(--s-6) 0; }
.doc-body code {
  font-family: var(--font-mono); font-size: .9em;
  background: var(--card-2); padding: 1px 5px; border-radius: var(--radius-sm);
}
pre.code {
  background: var(--card-2); border: 1px solid var(--line); border-radius: var(--radius);
  padding: var(--s-4); overflow-x: auto; font-family: var(--font-mono); font-size: 13px; line-height: 20px;
}
pre.code code { background: none; padding: 0; }

.note-law {
  background: var(--card-2);
  border: 1px solid var(--line); border-left: 3px solid var(--rule);
}
.note-law .note-title { color: var(--ink); }

.ticks, .crosses { list-style: none; padding: 0; margin: var(--s-3) 0 0; }
.ticks li, .crosses li { position: relative; padding-left: 26px; margin-bottom: var(--s-2); line-height: 21px; }
.ticks li::before {
  content: ""; position: absolute; left: 2px; top: .42em;
  width: 12px; height: 7px;
  border-left: 2px solid var(--good); border-bottom: 2px solid var(--good);
  transform: rotate(-45deg);
}
.crosses li::before {
  content: "\00d7"; position: absolute; left: 4px; top: -.05em;
  color: var(--ochre); font-size: 18px; line-height: 27px;
}

.figure      { font-weight: 800; letter-spacing: -.045em; }
.stat-value  { font-weight: 800; font-size: 32px; line-height: 38px; letter-spacing: -.035em; }

.step-n {
  font-weight: 800; font-size: 42px; line-height: 46px; letter-spacing: -.05em;
  color: var(--ink); padding-top: var(--s-4);
  border-top: 5px solid var(--gold); display: inline-block;
}
.band-ink .step-n, .band-photo .step-n, .band-brand .step-n { color: #fff; }
.pull        { font-weight: 700; letter-spacing: -.025em; border-left-width: 4px; }
.brand-name  { font-weight: 800; letter-spacing: -.045em; font-size: 21px; line-height: 28px; }
.panel-head h2, .panel-head h3 { font-weight: 750; letter-spacing: -.015em; }
.guide-card h2, .guide-card h3 { font-weight: 750; letter-spacing: -.025em; }
.doc-body blockquote { font-weight: 600; letter-spacing: -.02em; }

.eyebrow {
  display: inline-block;
  font-size: 12px; line-height: 18px; font-weight: 800; letter-spacing: .18em;
  color: var(--ink); border-bottom-width: 2px;
}
.eyebrow-gold  { color: var(--gold-text); border-bottom-color: var(--gold); }
.eyebrow-light { color: var(--gold-2); border-bottom-color: var(--gold); }

.btn {
  border-radius: var(--radius);
  font-weight: 700; letter-spacing: -.012em;
  min-height: var(--control); padding: 13px 22px;
}
.btn:hover { background: var(--brand-2); }
.btn-gold { background: var(--gold); color: #1a1200; border-color: var(--gold); font-weight: 800; }
.btn-gold:hover { background: var(--gold-2); color: #1a1200; border-color: var(--gold-2); }

.btn-2 { border-width: 2px; font-weight: 700; padding-block: 12px; }
.btn-2.btn-sm { padding-block: 8px; }
.btn-2.btn-lg { padding-block: 16px; }
.btn-lg { padding: 17px 32px; font-size: 16px; line-height: 24px; min-height: var(--control-lg); }

.figures {
  display: grid; gap: 0;
  border-top: 2px solid var(--rule);
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.figures > div {
  padding: var(--s-5) var(--s-5) var(--s-5) 0;
  border-right: 1px solid var(--line);
}

.figures > div + div { padding-left: var(--s-5); }
.figures > div:last-child { border-right: 0; }
.figures .n {
  display: block; font-size: 34px; line-height: 34px; font-weight: 800;
  letter-spacing: -.05em; font-variant-numeric: tabular-nums;
}
@media (min-width: 700px)  { .figures .n { font-size: 42px; line-height: 42px; } }
@media (min-width: 1040px) { .figures .n { font-size: 56px; line-height: 56px; } }
.figures .l { display: block; margin-top: 8px; font-size: 13px; line-height: 20px; color: var(--ink-2); font-weight: 600; }
.figures .s { display: block; margin-top: 2px; font-size: 12px; line-height: 18px; color: var(--ink-3); }
.figures .n-gold { color: var(--gold-text); }
.figures .n-green { color: var(--brand); }

.band-photo {
  position: relative;
  background: var(--brand-deep) center / cover no-repeat;
  color: #fff;
  padding-block: var(--s-9);
  overflow: hidden;
}
.band-photo::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(11,13,12,.95) 0%, rgba(11,13,12,.88) 40%,
              rgba(11,13,12,.55) 70%, rgba(11,13,12,.2) 100%);
}
@media (max-width: 899px) {
  .band-photo::before { background: rgba(11,13,12,.9); }
}
.band-photo > * { position: relative; }
.band-photo h2, .band-photo h3 { color: #fff; }
.band-photo p, .band-photo li { color: rgba(255,255,255,.78); }
.band-photo .eyebrow { color: var(--gold-2); border-bottom-color: var(--gold); }
.band-photo .btn-2 { color: #fff; border-color: rgba(255,255,255,.5); }
.band-photo .btn-2:hover { background: #fff; color: var(--ink); border-color: #fff; }
.band-photo .pull { color: #fff; border-left-color: var(--gold); }
.band-photo .statement-row { border-bottom-color: rgba(255,255,255,.16); }
.band-photo .statement-row .label { color: rgba(255,255,255,.72); }
.band-photo .statement-row .value,
.band-photo .statement-total { color: #fff; }
.band-photo .statement-total { border-top-color: rgba(255,255,255,.6); }

.band-hero-img { background-image: url("/img/hero.webp"); }
.band-verify   { background-image: url("/img/verify.webp"); }
.band-guides   { background-image: url("/img/guides.webp"); }

.figure-plate {
  display: block; width: 100%; aspect-ratio: 3 / 2;
  object-fit: cover; border-radius: var(--radius); background: var(--card-2);
}

.trust-strip {
  background: var(--ink); color: rgba(255,255,255,.86);
  border-bottom: 0; padding-block: var(--s-4);
  justify-content: center; gap: var(--s-3) var(--s-7);
}
.trust-item { color: rgba(255,255,255,.86); font-weight: 650; }
.trust-item .ico { color: var(--gold); }

.band-ink { background: var(--ink); }
.band-ink p, .band-ink li { color: rgba(255,255,255,.76); }
.band-ink .eyebrow { color: var(--gold-2); border-bottom-color: var(--gold); }
.band-ink .statement-row { border-bottom-color: rgba(255,255,255,.16); }
.band-ink .statement-total { border-top-color: rgba(255,255,255,.6); }
.band-tint { background: var(--card-2); }

.card { border-radius: var(--radius); }
.card-link:hover { border-color: var(--brand); }
.panel { border-radius: var(--radius); }

.rule-gold::after {
  content: ""; display: block; width: 72px; height: 5px;
  background: var(--gold); margin-top: var(--s-4); border-radius: var(--radius-sm);
}

.masthead { border-bottom: 2px solid var(--rule); }
.nav a { font-weight: 650; }
.nav a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--gold); }
.brand-mark { width: 32px; height: 32px; flex: 0 0 32px; }

.statement-row .note,
.statement-total .note {
  background: none; border: 0; padding: 0; border-radius: 0;
  font-weight: 400; box-shadow: none;
  line-height: 18px;
}

.plate {
  background: rgba(11,13,12,.82);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--radius);
  padding: var(--s-5);
  backdrop-filter: blur(2px);
}
.plate .statement-row .label { color: rgba(255,255,255,.74); }
.plate .statement-row .note { color: rgba(255,255,255,.5); }
.plate .statement-row .value, .plate .statement-total { color: #fff; }

.band-photo .hero-paper,
.band-ink .hero-paper,
.hero .hero-paper { color: var(--ink); }
.band-photo .hero-paper p,
.band-ink .hero-paper p,
.hero .hero-paper p { color: var(--ink-2); }
.band-photo .hero-paper .muted,
.band-ink .hero-paper .muted,
.hero .hero-paper .muted { color: var(--ink-3); }
.band-photo .hero-paper .statement-row .label,
.band-ink .hero-paper .statement-row .label,
.hero .hero-paper .statement-row .label { color: var(--ink-2); }
.band-photo .hero-paper .statement-row .note,
.band-ink .hero-paper .statement-row .note,
.hero .hero-paper .statement-row .note { color: var(--ink-3); }
.band-photo .hero-paper .statement-row.missing .value { color: var(--ochre-text); }
.band-photo .hero-paper .statement-row .value,
.band-photo .hero-paper .statement-total,
.band-ink .hero-paper .statement-row .value,
.band-ink .hero-paper .statement-total,
.hero .hero-paper .statement-row .value,
.hero .hero-paper .statement-total { color: var(--ink); }
.band-photo .hero-paper .statement-row,
.band-ink .hero-paper .statement-row { border-bottom-color: var(--line); }
.band-photo .hero-paper .statement-total,
.band-ink .hero-paper .statement-total { border-top-color: var(--rule); }
.band-photo .hero-paper .eyebrow,
.band-ink .hero-paper .eyebrow { color: var(--gold-text); border-bottom-color: var(--gold); }

.doc-body .table-scroll {
  margin: var(--s-5) 0 var(--s-6);
  border-top: 2px solid var(--rule);
}
.doc-body table.data th { padding-top: var(--s-3); }
.doc-body table.data td { border-bottom-color: var(--line); }

.doc-body table.data th:first-child,
.doc-body table.data td:first-child { padding-left: 0; }
.doc-body table.data th:last-child,
.doc-body table.data td:last-child { padding-right: 0; }

html {
  scroll-padding-top: calc(var(--header-h) + 26px);
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

.cmp {
  background: rgba(6, 26, 20, .92);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: var(--radius);
  padding: var(--s-5);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .38);
  backdrop-filter: blur(6px);
}
.cmp-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--s-3); flex-wrap: wrap;
  padding-bottom: var(--s-4); margin-bottom: var(--s-2);
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}
.cmp-head .tiny { color: rgba(255, 255, 255, .58); }

.cmp-row {
  display: grid; gap: 0 var(--s-4);
  grid-template-columns: minmax(0, 1fr) auto;
  padding: var(--s-4) 0;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.cmp-row:last-of-type { border-bottom: 0; }
.cmp-who { grid-column: 1; grid-row: 1; }
.cmp-name { display: block; font-size: 15px; line-height: 24px; font-weight: 700; color: #fff; }
.cmp-cred { display: block; font-size: 12px; line-height: 18px; color: rgba(255, 255, 255, .56); }
.cmp-split {
  grid-column: 1 / -1; grid-row: 2;
  display: flex; gap: var(--s-4); flex-wrap: wrap;
  margin-top: 6px; padding-top: 6px;
  border-top: 1px dashed rgba(255, 255, 255, .14);
  font-size: 13px; line-height: 20px; color: rgba(255, 255, 255, .8);
  font-variant-numeric: tabular-nums;
}
.cmp-split i { font-style: normal; color: rgba(255, 255, 255, .5); margin-right: 6px; }
.cmp-total {
  grid-column: 2; grid-row: 1; align-self: start; text-align: right;
  font-size: 21px; line-height: 28px; font-weight: 800; color: #fff;
  letter-spacing: -.03em; font-variant-numeric: tabular-nums; white-space: nowrap;
}
.cmp-flag {
  display: block; font-size: 12px; line-height: 18px; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase; color: var(--gold-2);
}
.cmp-row.is-best .cmp-total { color: var(--gold-2); }
.cmp-foot {
  margin-top: var(--s-4); padding-top: var(--s-4);
  border-top: 1px solid rgba(255, 255, 255, .16);
  font-size: 13px; line-height: 20px; color: rgba(255, 255, 255, .68);
}
.cmp-foot strong { color: #fff; }

.anatomy {
  background: var(--card);
  border: 1px solid var(--rule);
  border-radius: var(--radius);
  padding: var(--s-5);
  font-variant-numeric: tabular-nums;
}
.anatomy-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--s-3); flex-wrap: wrap;
  padding-bottom: var(--s-4); border-bottom: 2px solid var(--rule);
  font-size: 13px; line-height: 20px; font-weight: 700;
}
.anatomy-sec {
  margin-top: var(--s-5); margin-bottom: var(--s-2);
  font-size: 12px; line-height: 18px; font-weight: 800;
  letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3);
}
.anatomy-row {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--s-4); padding: 8px 0; border-bottom: 1px solid var(--line-2);
}
.anatomy-row .al { font-size: 14px; line-height: 21px; color: var(--ink-2); }
.anatomy-row .al i {
  display: block; font-style: normal;
  font-size: 12px; line-height: 18px; color: var(--ink-4);
}
.anatomy-row .av { font-size: 14px; line-height: 21px; font-weight: 650; white-space: nowrap; }
.anatomy-row.is-strong { border-bottom-color: var(--line); }
.anatomy-row.is-strong .al, .anatomy-row.is-strong .av { color: var(--ink); font-weight: 750; }
.anatomy-total {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--s-4); margin-top: var(--s-4); padding-top: var(--s-4);
  border-top: 2px solid var(--rule);
  font-size: 18px; line-height: 27px; font-weight: 800; letter-spacing: -.02em;
}
.anatomy-total span:last-child { font-size: 26px; line-height: 32px; white-space: nowrap; }

@media (max-width: 899px) {
  .cmp { padding: var(--s-4); }
  .cmp-total { font-size: 18px; line-height: 27px; }
}

.acctpick { position: relative; flex: 0 0 auto; }
.acctpick > summary {
  list-style: none; cursor: pointer; user-select: none;
  display: inline-flex; align-items: center; position: relative;
  min-height: var(--control-sm); padding: 0 6px;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--card);
}
.acctpick > summary::-webkit-details-marker { display: none; }
.acctpick > summary:hover { border-color: var(--ink-4); }
.acctpick[open] > summary { border-color: var(--rule); }
.acct-warn {
  position: absolute; top: -6px; inset-inline-end: -6px;
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--bad); color: #fff;
  font-size: 12px; line-height: 18px; font-weight: 800; text-align: center;
  border: 2px solid var(--ground);
}

.acctpick-menu {
  position: absolute; z-index: 60; top: calc(100% + 6px); inset-inline-end: 0;
  width: min(92vw, 300px); max-width: calc(100vw - 32px);
  background: var(--card); border: 1px solid var(--rule); border-radius: var(--radius);
  box-shadow: var(--shadow-lg); overflow: hidden;
}
.acctpick-head { padding: var(--s-4); border-bottom: 1px solid var(--line); background: var(--card-2); }
.acctpick-name { font-weight: 750; font-size: 15px; line-height: 24px; letter-spacing: -.015em; }
.acctpick-links { padding: 6px; border-bottom: 1px solid var(--line); }
.acctpick-links a {
  display: block; padding: 8px 10px; border-radius: var(--radius-sm);
  font-size: 14px; line-height: 21px; color: var(--ink-2); text-decoration: none;
}
.acctpick-links a:hover { background: var(--card-2); color: var(--ink); }
.acctpick-links a.is-warn { color: var(--bad-text); font-weight: 700; }
.acctpick-out { padding: 8px; }

.msg-tools {
  display: flex; gap: var(--s-3); align-items: center;
  margin-top: 4px; font-size: 12px; line-height: 18px;
}
.msg-tools button {
  background: none; border: 0; padding: 0; cursor: pointer;
  font: inherit; color: var(--brand-2); text-decoration: underline;
  text-underline-offset: 2px;
}
.msg-tools button:hover { color: var(--brand); }
.msg-tools button[disabled] { color: var(--ink-4); cursor: default; text-decoration: none; }

.band { padding-block: var(--s-9); }
.band-tight { padding-block: var(--s-8); }
@media (min-width: 1040px) {
  .band { padding-block: 120px; }
  .band-tight { padding-block: 84px; }
}

.band-paper { background: var(--card); }
.band-paper + .band-paper { border-top: 1px solid var(--line); }

@media (min-width: 1040px) {
  h1 { font-size: 68px; line-height: 68px; letter-spacing: -0.04em; }
  h2 { font-size: 40px; line-height: 46px; letter-spacing: -0.03em; }
}
.lede { font-size: 18px; line-height: 29px; color: var(--ink-2); }

.lede { max-width: 62ch; }

@media (min-width: 1040px) { .lede { font-size: 19px; line-height: 31px; } }

.statement, .anatomy, .cmp, table.data td.num, table.data th.num,
.figures .n, .quote-total, .stat-value, .cmp-total {
  font-variant-numeric: tabular-nums;
}

.eyebrow {
  display: inline-block; border-bottom: 0;
  font-size: 12px; line-height: 18px; font-weight: 800; letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gold-text);
  margin-bottom: var(--s-4);
}
.eyebrow-gold { color: var(--gold-text); }
.eyebrow-light { color: var(--gold-2); }

.rule-gold::after { width: 48px; height: 3px; margin-top: var(--s-4); border-radius: 2px; }

.hl { color: var(--brand); position: relative; white-space: nowrap; }
.hl::after {
  content: "";
  position: absolute; left: -.015em; right: -.015em; bottom: -.055em; height: .17em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M3.5 8.6C42 3.4 122 2.6 196.5 6.4' fill='none' stroke='%23c5a65c' stroke-width='5.5' stroke-linecap='round'/%3E%3C/svg%3E")
              center / 100% 100% no-repeat;
  pointer-events: none;
}

.btn {
  border-radius: var(--radius-sm);
  font-weight: 700; letter-spacing: -.01em;
  padding: 14px 24px;
  box-shadow: none;
}
.btn:hover { background: var(--brand-deep); }
.btn-2 {
  background: var(--card); color: var(--ink);
  border-width: 1px; border-color: var(--line); padding-block: 14px;
  box-shadow: var(--shadow);
}
.btn-2:hover { background: var(--card); color: var(--brand); border-color: var(--brand); }
.btn-2.btn-sm { padding-block: 9px; }
.btn-2.btn-lg { padding-block: 18px; }
.btn-lg { padding: 18px 30px; }

.btn-sm { padding: 9px 14px; font-size: 13px; line-height: 20px; }
.btn-gold { background: var(--gold); color: #2b2005; border-color: var(--gold); font-weight: 800; }
.btn-gold:hover { background: var(--gold-2); color: #2b2005; border-color: var(--gold-2); }
.btn-ghost { color: var(--ink-2); box-shadow: none; }
.btn-ghost:hover { color: var(--brand); }

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 2px solid var(--brand); outline-offset: 3px; border-radius: var(--radius-sm);
}
.btn-gold:focus-visible, .band-forest :focus-visible, .band-mint :focus-visible {
  outline-color: var(--ink);
}
.band-forest a:focus-visible, .band-forest button:focus-visible { outline-color: var(--gold-2); }

.card {
  border-radius: var(--radius);
  border-color: var(--line);
  box-shadow: var(--shadow);
  padding: var(--s-5);
}
.card-link:hover { border-color: var(--brand); box-shadow: var(--shadow-lg); }
.panel { border-radius: var(--radius); border-color: var(--line); }
.panel-head { border-bottom-color: var(--line); }

.masthead {
  background: var(--card);
  border-bottom: 1px solid var(--line);
}
.masthead-inner { min-height: var(--header-h); gap: var(--s-4); }
.nav a { font-weight: 600; color: var(--ink-2); padding: 9px 14px; border-radius: var(--radius-sm); }
.nav a:hover { color: var(--brand); background: var(--brand-3); }
.nav a[aria-current="page"] { color: var(--brand); background: var(--brand-3); box-shadow: none; }
.brand-mark { width: 34px; height: 34px; flex: 0 0 34px; }
.brand-name { font-weight: 800; letter-spacing: -.04em; font-size: 22px; line-height: 30px; }
.brand-name b { color: var(--brand); }
.nav-toggle { border-color: var(--line); border-radius: var(--radius-sm); }

.demo-bar {
  background: var(--gold-bg); color: #5a4410;
  border-bottom: 1px solid rgba(197,166,92,.55);
  padding: 10px var(--s-5); font-size: 13px; line-height: 20px;
}
.demo-bar a { color: #4a3708; }

.hero {
  position: relative;
  background: var(--ground);
  color: var(--ink);
  padding-block: var(--s-8) var(--s-9);
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}

.hero::before {
  content: "";
  position: absolute; inset: 0;
  background: url("/img/hero-art.webp") right bottom / auto 100% no-repeat;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 24%, #000 54%);
          mask-image: linear-gradient(to right, transparent 0%, transparent 24%, #000 54%);
  pointer-events: none;
}
.hero > * { position: relative; }
.hero h1 { color: var(--ink); max-width: 12ch; }
.hero .lede { color: var(--ink-2); max-width: 46ch; }
.hero .btn-2 { color: var(--ink); border-color: var(--line); background: var(--card); }
.hero .btn-2:hover { background: var(--card); color: var(--brand); border-color: var(--brand); }
.hero .brand-mark { color: var(--brand); }

@media (max-width: 899px) {
  .hero { padding-block: var(--s-7) 220px; }
  .hero::before {
    background-position: right bottom;
    background-size: 150% auto;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, transparent 46%, #000 72%);
            mask-image: linear-gradient(to bottom, transparent 0%, transparent 46%, #000 72%);
  }
}

.hero-pill {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 15px; margin-bottom: var(--s-5);
  border-radius: var(--radius-pill);
  background: var(--brand-3); color: var(--brand);
  border: 1px solid rgba(12,82,65,.14);
  font-size: 13px; line-height: 20px; font-weight: 700; letter-spacing: -.005em;
}

.hero-points { list-style: none; padding: 0; margin: var(--s-6) 0 0; display: grid; gap: var(--s-3); }
.hero-points li {
  display: flex; gap: 10px; align-items: flex-start;
  color: var(--ink-2); font-size: 14px; line-height: 22px; max-width: 54ch;
}
.hero-points svg, .hero-points .ico { flex: 0 0 18px; margin-top: 2px; color: var(--brand); }

.cmp {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: var(--s-5);
  box-shadow: var(--shadow-lg);
  backdrop-filter: none;
  color: var(--ink);
}
@media (min-width: 900px) { .cmp { padding: var(--s-6); } }

.cmp-head {
  display: block;
  padding-bottom: var(--s-5); margin-bottom: var(--s-4);
  border-bottom: 1px solid var(--line);
}
.cmp-title {
  display: block; font-size: 21px; line-height: 28px; font-weight: 800;
  letter-spacing: -.028em; color: var(--ink);
}
.cmp-head .tiny { display: block; margin-top: 3px; color: var(--ink-3); font-size: 13px; line-height: 20px; }

.cmp-row {
  display: grid; gap: 0 var(--s-4);
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: start;
  padding: var(--s-4);
  margin-bottom: var(--s-3);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
}
.cmp-row:last-of-type { margin-bottom: 0; }
.cmp-row.is-best { background: var(--brand-3); border-color: rgba(12,82,65,.28); }

.cmp-badge {
  grid-column: 1; grid-row: 1;
  width: 38px; height: 38px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--brand-3); color: var(--brand);
  font-size: 15px; line-height: 24px; font-weight: 800;
  border: 1px solid rgba(12,82,65,.18);
}
.cmp-row.is-best .cmp-badge { background: var(--brand); color: #fff; border-color: var(--brand); }

.cmp-who { grid-column: 2; grid-row: 1; min-width: 0; }
.cmp-name { display: block; font-size: 15px; line-height: 24px; font-weight: 750; color: var(--ink); letter-spacing: -.015em; }
.cmp-cred { display: block; font-size: 12px; line-height: 18px; color: var(--ink-3); }
.cmp-flag {
  display: inline-block; margin-top: 4px;
  padding: 2px 9px; border-radius: var(--radius-pill);
  background: var(--gold-bg); color: var(--gold-text);
  border: 1px solid rgba(197,166,92,.5);

  font-size: 12px; line-height: 18px; font-weight: 800;
  letter-spacing: .04em; text-transform: uppercase; white-space: nowrap;
}

.cmp-split {
  grid-column: 1 / -1; grid-row: 2;
  display: flex; gap: var(--s-6); flex-wrap: wrap;
  margin-top: var(--s-4); padding-top: var(--s-4);
  border-top: 1px solid var(--line);
  font-size: 15px; line-height: 22px; font-weight: 650; color: var(--ink);
}
.cmp-row.is-best .cmp-split { border-top-color: rgba(12,82,65,.18); }
.cmp-split i {
  display: block; font-style: normal; font-weight: 500;
  font-size: 12px; line-height: 18px; color: var(--ink-3); margin: 0 0 1px;
}

.cmp-total {
  grid-column: 3; grid-row: 1; align-self: start; text-align: right;
  font-size: 15px; line-height: 22px; font-weight: 650; color: var(--ink);
  white-space: nowrap;
}
.cmp-total i {
  display: block; font-style: normal; font-weight: 500;
  font-size: 12px; line-height: 18px; color: var(--ink-3);
}
.cmp-total b { font-size: 23px; line-height: 30px; font-weight: 800; letter-spacing: -.03em; }
.cmp-row.is-best .cmp-total b { color: var(--brand); }

.cmp-foot {
  margin-top: var(--s-5); padding-top: var(--s-4);
  border-top: 1px solid var(--line);
  font-size: 13px; line-height: 20px; color: var(--ink-3);
}
.cmp-foot strong { color: var(--ink); font-weight: 750; }
.cmp-illus { display: block; margin-top: 6px; font-size: 12px; line-height: 18px; color: var(--ink-4); }

@media (max-width: 460px) {
  .cmp-row { grid-template-columns: 34px minmax(0, 1fr); }
  .cmp-badge { width: 34px; height: 34px; }
  .cmp-total { grid-column: 1 / -1; grid-row: 3; text-align: left; margin-top: var(--s-3); }
  .cmp-total i { display: inline; margin-right: 6px; }
}

.trust-strip {
  background: var(--card); color: var(--ink-2);
  border-bottom: 1px solid var(--line);
  padding-block: var(--s-5);
  gap: 0;
  justify-content: center;
}
.trust-item {
  display: inline-flex; align-items: center; gap: 10px;
  color: var(--ink-2); font-weight: 600; font-size: 13px; line-height: 20px;
  padding-inline: var(--s-6);
  border-inline-start: 1px solid var(--line);
  max-width: 30ch;
}
.trust-item:first-child { border-inline-start: 0; }
.trust-item .ico { color: var(--brand); width: 20px; height: 20px; }
@media (max-width: 900px) {
  .trust-strip { gap: var(--s-4) 0; }
  .trust-item { border-inline-start: 0; padding-inline: var(--s-4); }
}

.figures {
  border-top: 0;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.figures > div {
  padding: var(--s-4) var(--s-5);
  border-right: 1px solid var(--line);
  text-align: center;
}
.figures > div + div { padding-left: var(--s-5); }
.figures > div:last-child { border-right: 0; }
.figures .n { color: var(--brand); font-weight: 800; letter-spacing: -.045em; }
.figures .n-gold { color: var(--gold-text); }
.figures .n-green { color: var(--brand); }
.figures .l { color: var(--ink); font-weight: 700; margin-top: 10px; font-size: 14px; line-height: 21px; }
.figures .s { color: var(--ink-3); max-width: 28ch; margin-inline: auto; margin-top: 5px; }
@media (max-width: 700px) {
  .figures > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .figures > div:last-child { border-bottom: 0; }
}

.how-grid { display: grid; gap: var(--s-5); }
@media (min-width: 760px) { .how-grid { grid-template-columns: repeat(3, 1fr); } }
.how-card {
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius); padding: var(--s-6);
  box-shadow: var(--shadow);
}
.how-top {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--s-4); margin-bottom: var(--s-5);
}
.how-n {
  font-size: 15px; line-height: 24px; font-weight: 800;
  color: var(--ink-4); letter-spacing: .02em;
  font-variant-numeric: tabular-nums;
}
.how-ico {
  width: 40px; height: 40px; border-radius: var(--radius-sm);
  display: grid; place-items: center;
  background: var(--brand-3); color: var(--brand);
}
.how-ico .ico { width: 20px; height: 20px; }
.how-card h3 { font-size: 18px; line-height: 26px; font-weight: 750; letter-spacing: -.02em; margin-bottom: 8px; }
.how-card p { color: var(--ink-3); font-size: 14px; line-height: 22px; margin: 0; }

.band-forest {
  position: relative;
  background: #0c5241 url("/img/forest.webp") center / cover no-repeat;
  color: #fff;
  padding-block: var(--s-9);
  overflow: hidden;
}
@media (min-width: 1040px) { .band-forest { padding-block: 120px; } }
.band-forest > * { position: relative; }
.band-forest h2, .band-forest h3, .band-forest h4 { color: #fff; }
.band-forest p, .band-forest li { color: rgba(255,255,255,.82); }
.band-forest .lede { color: rgba(255,255,255,.86); }
.band-forest .eyebrow { color: var(--gold-2); }
.band-forest .small, .band-forest .tiny { color: rgba(255,255,255,.72); }
.band-forest .muted { color: rgba(255,255,255,.66); }
.band-forest a:not(.btn) { color: #fff; }
.band-forest .btn-2 {
  background: transparent; color: #fff; border-color: rgba(255,255,255,.45);
  box-shadow: none;
}
.band-forest .btn-2:hover { background: #fff; color: var(--brand); border-color: #fff; }
.band-forest .rule-gold::after { background: var(--gold-2); }
.band-forest .pull { color: #fff; border-left-color: var(--gold-2); }
.band-forest .step-n { color: #fff; border-top-color: var(--gold-2); }
.band-forest .ticks li::before, .band-forest .crosses li::before { color: var(--gold-2); }

.band-mint {
  position: relative;
  background: var(--brand-3) url("/img/mint.webp") center / cover no-repeat;
  color: var(--ink);
  padding-block: var(--s-8);
  overflow: hidden;
  border-block: 1px solid var(--line);
}
.band-mint > * { position: relative; }
.band-mint h2 { color: var(--ink); }
.band-mint p { color: var(--ink-2); }

.band-photo::before {
  background: linear-gradient(100deg, rgba(8,56,44,.95) 0%, rgba(8,56,44,.88) 40%,
              rgba(8,56,44,.6) 70%, rgba(8,56,44,.25) 100%);
}
@media (max-width: 899px) { .band-photo::before { background: rgba(8,56,44,.92); } }
.band-photo .eyebrow { color: var(--gold-2); }

.band-ink { background: var(--brand-ink-2); color: #fff; }
.band-ink h2, .band-ink h3 { color: #fff; }
.band-ink p, .band-ink li { color: rgba(255,255,255,.8); }
.band-ink .eyebrow { color: var(--gold-2); }
.band-tint { background: var(--brand-3); border-block: 1px solid var(--line); }

.hero-paper, .band-forest .hero-paper, .band-mint .hero-paper {
  background: var(--card); color: var(--ink);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: var(--s-6);
  box-shadow: var(--shadow-lg);
}
.band-forest .hero-paper { border-color: transparent; box-shadow: 0 24px 60px rgba(4,28,22,.28); }
.band-forest .hero-paper p,
.band-mint .hero-paper p { color: var(--ink-2); }
.band-forest .hero-paper .muted,
.band-mint .hero-paper .muted { color: var(--ink-3); }
.band-forest .hero-paper .small,
.band-forest .hero-paper .tiny { color: var(--ink-3); }
.band-forest .hero-paper .eyebrow { color: var(--gold-text); }
.band-forest .hero-paper h2, .band-forest .hero-paper h3 { color: var(--ink); }
.band-forest .hero-paper a:not(.btn) { color: var(--brand); }
.band-forest .hero-paper .statement-row { border-bottom-color: var(--line); }
.band-forest .hero-paper .statement-row .label { color: var(--ink-2); }
.band-forest .hero-paper .statement-row .note { color: var(--ink-3); }
.band-forest .hero-paper .statement-row .value,
.band-forest .hero-paper .statement-total { color: var(--ink); }
.band-forest .hero-paper .statement-row.missing .value { color: var(--ochre-text); }
.band-forest .hero-paper .statement-total { border-top-color: var(--rule); }

.paper-title {
  display: block; font-size: 19px; line-height: 27px; font-weight: 800;
  letter-spacing: -.025em; color: var(--ink);
  padding-bottom: var(--s-4); margin-bottom: var(--s-2);
  border-bottom: 1px solid var(--line);
}
.band-forest .hero-paper .statement-total .value { color: var(--brand); font-size: 26px; line-height: 32px; }

.plate {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: var(--s-6);
  backdrop-filter: none;
  box-shadow: var(--shadow);
  color: var(--ink);
}
.plate .statement-row .label { color: var(--ink-2); }
.plate .statement-row .note { color: var(--ink-3); }
.plate .statement-row .value, .plate .statement-total { color: var(--ink); }

.band-forest .plate {
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.22);
  backdrop-filter: blur(3px);
  box-shadow: none;
  color: #fff;
}
.band-forest .plate .statement-row { border-bottom-color: rgba(255,255,255,.18); }
.band-forest .plate .statement-row .label { color: rgba(255,255,255,.8); }
.band-forest .plate .statement-row .note { color: rgba(255,255,255,.58); }
.band-forest .plate .statement-row .value,
.band-forest .plate .statement-total { color: #fff; }
.band-forest .plate .statement-total { border-top-color: rgba(255,255,255,.55); }
.band-forest .plate .tiny { color: rgba(255,255,255,.66); }

.shield-note {
  display: flex; gap: var(--s-4); align-items: flex-start;
  padding: var(--s-5);
  border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--brand-3);
  margin: var(--s-6) 0;
}
.shield-note .ico { width: 24px; height: 24px; flex: 0 0 24px; color: var(--brand); margin-top: 1px; }
.shield-note p { margin: 0; color: var(--ink-2); font-size: 15px; line-height: 24px; }
.shield-note strong { color: var(--ink); }

.seq { list-style: none; padding: 0; margin: 0; position: relative; counter-reset: seq; }
.seq::before {
  content: ""; position: absolute; inset-inline-start: 19px; top: 14px; bottom: 14px;
  width: 2px; background: var(--line);
}
.seq li {
  position: relative; counter-increment: seq;
  padding: 0 0 var(--s-6) 58px;
}
.seq li:last-child { padding-bottom: 0; }
.seq li::before {
  content: counter(seq, decimal-leading-zero);
  position: absolute; inset-inline-start: 0; top: 0;
  width: 40px; height: 40px; border-radius: 50%;
  display: grid; place-items: center;
  background: var(--card); color: var(--brand);
  border: 2px solid var(--line);
  font-size: 13px; line-height: 20px; font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.seq-title { font-weight: 750; font-size: 16px; line-height: 26px; letter-spacing: -.015em; color: var(--ink); padding-top: 7px; }
.seq-note { color: var(--ink-3); font-size: 14px; line-height: 22px; margin-top: 3px; max-width: 60ch; }

.cat-grid { display: grid; gap: var(--s-4); }
@media (min-width: 720px) { .cat-grid { grid-template-columns: repeat(3, 1fr); } }

@media (min-width: 720px) {
  .cat-grid > :last-child {
    grid-column: span 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "title count" "desc count";
    align-items: center; column-gap: var(--s-7); row-gap: 4px;
  }
  .cat-grid > :last-child h3 { grid-area: title; margin-bottom: 0; align-self: end; }
  .cat-grid > :last-child p { grid-area: desc; margin-bottom: 0; align-self: start; }
  .cat-grid > :last-child .cat-more {
    grid-area: count; margin-top: 0; padding-top: 0; border-top: 0;
    align-self: center; white-space: nowrap;
  }
}
.cat-card {
  display: flex; flex-direction: column;
  background: var(--card); border: 1px solid var(--line);
  border-radius: var(--radius); padding: var(--s-5);
  text-decoration: none; color: inherit;
  box-shadow: var(--shadow);
  transition: border-color .12s ease, box-shadow .12s ease;
}
.cat-card:hover { border-color: var(--brand); box-shadow: var(--shadow-lg); color: inherit; }
.cat-card h3 { font-size: 17px; line-height: 25px; font-weight: 750; letter-spacing: -.02em; margin-bottom: 6px; }
.cat-card p { color: var(--ink-3); font-size: 14px; line-height: 22px; margin: 0 0 var(--s-5); }
.cat-more {
  margin-top: auto; padding-top: var(--s-4);
  border-top: 1px solid var(--line);
  display: flex; align-items: center; gap: 8px;
  color: var(--brand); font-weight: 700; font-size: 14px; line-height: 21px;
}
.cat-card:hover .cat-more { gap: 11px; }
.cat-more .ico { transition: transform .12s ease; }

.table-region { position: relative; }
.table-region .table-scroll {
  border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--card);
}

.table-region table.data { min-width: 640px; }
.table-region table.data th { padding: 14px 18px; color: var(--ink-3); border-bottom-color: var(--line); }
.table-region table.data thead th { border-bottom: 1px solid var(--line); background: var(--card-2); }
.table-region table.data td { padding: 16px 18px; border-bottom-color: var(--line-2); }
.table-region table.data tbody tr:hover { background: var(--brand-3); }
.table-region table.data td a { color: var(--ink); font-weight: 700; text-decoration: none; }
.table-region table.data td a:hover { color: var(--brand); text-decoration: underline; }
.scroll-hint { display: none; font-size: 12px; line-height: 18px; color: var(--ink-3); margin-bottom: var(--s-3); }
@media (max-width: 760px) { .scroll-hint { display: block; } }

details.faq {
  border: 1px solid var(--line); border-bottom: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
  padding: var(--s-4) var(--s-5);
  margin-bottom: var(--s-3);
  box-shadow: var(--shadow);
}
details.faq[open] { border-color: var(--brand); }
details.faq summary {
  font-weight: 700; font-size: 16px; line-height: 26px; letter-spacing: -.015em;
  align-items: flex-start; gap: var(--s-5);
}
details.faq summary:hover { color: var(--brand); }

details.faq summary::after {
  content: ""; width: 9px; height: 9px; flex: 0 0 9px;
  border-right: 2px solid var(--ink-3); border-bottom: 2px solid var(--ink-3);
  transform: rotate(-45deg); transform-origin: center;
  margin-top: 8px; margin-inline-end: 3px;
  transition: transform .18s ease;
}
details.faq[open] summary::after { transform: rotate(45deg); border-color: var(--brand); }
details.faq .faq-body { padding-top: var(--s-4); color: var(--ink-2); font-size: 15px; line-height: 25px; }
[dir="rtl"] details.faq summary::after { transform: rotate(135deg); }
[dir="rtl"] details.faq[open] summary::after { transform: rotate(45deg); }

.foot { background: var(--card); border-top: 1px solid var(--line); padding-block: var(--s-8) var(--s-6); }
.foot .foot-head { color: var(--ink); letter-spacing: .12em; }
.foot a:not(.btn):not(.brand):not(.foot-legal a) { color: var(--ink-3); }
.foot a:not(.btn):hover { color: var(--brand); }
.foot-legal { border-top: 1px solid var(--line); color: var(--ink-3); }
.foot .foot-legal a { color: var(--brand); }

.ask-fab { border-radius: var(--radius-pill); box-shadow: var(--shadow-lg); }

.anatomy {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: var(--s-6);
  box-shadow: var(--shadow);
}
.anatomy-head { border-bottom: 1px solid var(--rule); }
.anatomy-row { border-bottom-color: var(--line-2); }
.anatomy-total { border-top: 2px solid var(--rule); }
.statement-total { border-top: 2px solid var(--rule); }

.avatar { border-radius: 50%; background: var(--brand-3); color: var(--brand); }
.badge { border-radius: var(--radius-pill); }
.chip { border-radius: var(--radius-pill); }
.verified { color: var(--brand); }

.reveal { transform: translateY(10px); }

.split { display: grid; gap: var(--s-7); align-items: start; }
@media (min-width: 900px) {
  .split { grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: var(--s-8); }
  .split-even { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .split-lead { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); }
}
@media (min-width: 1180px) { .split { gap: var(--s-9); } }

.hero-split { display: grid; gap: var(--s-7); align-items: start; }
@media (min-width: 900px) {
  .hero-split { grid-template-columns: minmax(0, 1fr) 400px; gap: var(--s-8); }
}

@media (min-width: 1180px) {
  .hero-split { grid-template-columns: minmax(0, 1fr) 470px; gap: var(--s-9); }
}

.sec-head { margin-bottom: var(--s-7); }
.sec-head > h2, .sec-head > h1 { max-width: 34ch; }
.sec-head p { color: var(--ink-3); margin-bottom: 0; max-width: 54ch; }
.sec-head-wide > h2 { max-width: 46ch; }
.sec-bar {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: var(--s-5); flex-wrap: wrap; margin-bottom: var(--s-7);
}
.sec-bar .sec-head { margin-bottom: 0; flex: 1 1 340px; }

.ask-fab {
  transition: transform .22s cubic-bezier(.2,.7,.3,1), opacity .18s ease;
}
.ask-fab.is-stowed {
  transform: translateY(140%);
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 559px) {
  .form-actions { gap: var(--s-3); }
  .form-actions > .btn:not(.btn-sm) { width: 100%; }
  .hero .form-actions > .btn { width: 100%; }
}

.split-mid { align-items: start; }

.figure-plate {
  aspect-ratio: auto;
  height: 240px;
  object-fit: cover;
  border-radius: var(--radius);
}
@media (min-width: 900px)  { .figure-plate { height: 340px; } }
@media (min-width: 1180px) { .figure-plate { height: 420px; } }

.title-sm { font-size: 26px; line-height: 32px; font-weight: 800; letter-spacing: -.03em; }
@media (min-width: 700px) { .title-sm { font-size: 32px; line-height: 38px; } }

.panel-head h2, .panel-head h3 { font-size: 18px; line-height: 26px; font-weight: 750; letter-spacing: -.02em; }

.statement-row .note,
.statement-total .note,
.anatomy-row .al i,
.cmp-illus,
.how-n,
.timeline-when,
.msg-meta { color: var(--ink-3); }

.title-lg {
  font-size: 32px; line-height: 38px; font-weight: 800; letter-spacing: -.035em;
  max-width: 24ch;
}
@media (min-width: 700px)  { .title-lg { font-size: 44px; line-height: 50px; } }
@media (min-width: 1040px) { .title-lg { font-size: 52px; line-height: 58px; } }

.page-title,
.doc > .wrap > h1,
.doc > .wrap-mid > h1 { font-size: 32px; line-height: 38px; letter-spacing: -.035em; max-width: 30ch; }
@media (min-width: 700px) {
  .page-title,
  .doc > .wrap > h1,
  .doc > .wrap-mid > h1 { font-size: 44px; line-height: 50px; }
}
@media (min-width: 1040px) {
  .page-title,
  .doc > .wrap > h1,
  .doc > .wrap-mid > h1 { font-size: 52px; line-height: 58px; }
}

.chip[aria-pressed="true"], .chip.on {
  background: var(--brand); border-color: var(--brand); color: #fff;
}
.pill-nav a[aria-current="page"] { background: var(--brand); border-color: var(--brand); color: #fff; }

.resourcepick > summary {
  width: auto;
  padding-inline: 10px;
  gap: 6px;
  font-size: 14px;
  font-weight: 650;
  color: var(--ink-2);
}
.resourcepick > summary .ico { width: 14px; height: 14px; opacity: .6; }
.resourcepick[open] > summary .ico { transform: rotate(45deg); }
.resourcepick .acctpick-menu { min-width: 260px; }

.resourcepick .acctpick-links a { line-height: 19px; padding-block: 9px; }

@media (max-width: 899px) { .resourcepick { display: none; } }

.mobile-nav-group {
  padding: var(--s-4) var(--s-5) 6px;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.mobile-nav-group:first-child { padding-top: var(--s-2); }

@view-transition { navigation: auto; }

::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 130ms;
  animation-timing-function: ease;
}

.masthead { view-transition-name: masthead; }
.foot { view-transition-name: sitefoot; }

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) { animation: none; }
}

.wrap > p,
.stack-lg > p { max-width: 68ch; }

.note { max-width: 78ch; }
.card .note,
.panel .note,
.doc-body .note { max-width: none; }

.wrap .wrap { max-width: none; padding-inline: 0; margin-inline: 0; }

.wrap-narrow,
.wrap-mid { margin-inline: max(0px, (100% - var(--wrap)) / 2) auto; }

.wrap-center { margin-inline: auto; }

.plate > p { max-width: 72ch; }

@media (max-width: 699px) {
  .ask-fab {
    inset-inline-end: 14px; bottom: 14px;
    width: 52px; height: 52px; min-height: 0;
    padding: 0; justify-content: center; gap: 0;
  }
  .ask-fab .ask-fab-label { display: none; }
  .ask-fab .ico { width: 21px; height: 21px; }
}

@media (max-width: 699px) { .foot { padding-bottom: calc(var(--s-8) + 52px); } }
@media (min-width: 700px) { .foot { padding-bottom: calc(var(--s-8) + 60px); } }

@media (max-width: 699px) {
  .foot a:not(.btn):not(.brand):not(.foot-legal a) { padding-block: 11px; }
  .foot .brand,
  .masthead .brand { min-height: 44px; }

}

@media (max-width: 719px) {
  table.stackable td {
    display: block; padding: 6px 0; border: 0;
  }
  table.stackable td::before {
    display: block; margin-bottom: 1px;
  }
  table.stackable td.num {
    display: flex; gap: var(--s-3); justify-content: space-between; align-items: baseline;
  }
  table.stackable td.num::before { margin-bottom: 0; }
  table.stackable td[data-label=""]::before { display: none; }
}

@media (max-width: 699px) {
  .toc ol a { padding-block: 12px; }
  .toc ol .toc-l3 a { padding-block: 12px; }
}

.form-actions .small,
.row-between > a.small { display: inline-block; padding-block: 10px; }

.field-error { color: var(--bad-text); font-weight: 600; }

[aria-invalid="true"] {
  border-color: var(--bad-text);
  box-shadow: 0 0 0 1px var(--bad-text);
}

.foot .foot-head { font-size: 12px; font-weight: 700; }

.print-stamp { display: none; }
@media print {
  .print-stamp {
    display: block;
    margin-top: 10mm; padding-top: 3mm;
    border-top: 1px solid #999;
    font-size: 8.5pt; color: #444; word-break: break-all;
  }
}

.card-title {
  font-family: var(--font-display);
  font-size: 16px; line-height: 22px; font-weight: 700; color: var(--ink);
}

@media (max-width: 699px) {
  label.chip,
  label.choice-chip,
  .choice-grid label { min-height: 40px; display: inline-flex; align-items: center; }
}
