/* Module: website. Public site (home, packages, terms, FAQ, contact), the public header/footer, and the terms text
   used by the admin/reseller terms pages. Design: docs/design/Site.dc.html + SitePhones.dc.html.
   Everything except .terms-* is scoped to .is-public / .site-* so admin and reseller pages are untouched. */

.is-public {
  --s-forest: #14213D; --s-forest-2: #1E3158; --s-forest-line: #3C4B68; --s-forest-ink: #CBD8EE; --s-forest-quiet: #A9BCDD;
  --s-ink: #16213A; --s-body: #3E4C68; --s-muted: #5B6882; --s-line: #D3DCEB; --s-soft: #EAF1FE; --s-soft-ink: #1D4ED8;
  --s-shadow: 0 1px 2px rgba(20, 33, 61, .06), 0 6px 20px rgba(20, 33, 61, .06);
  --s-shadow-up: 0 2px 4px rgba(20, 33, 61, .08), 0 20px 44px rgba(20, 33, 61, .14);
  --s-ease: cubic-bezier(.2, .7, .2, 1);
  font-size: 16px; color: var(--s-ink);
}
.is-public .wrap { max-width: 1160px; padding-left: 20px; padding-right: 20px; width: 100%; }
.is-public main { display: block; }
.site h1, .site h2, .site h3 { font-weight: 700; line-height: 1.2; }

/* ---------- buttons ---------- */
.site-btn { font: inherit; font-weight: 700; border: 0; border-radius: 12px; min-height: 52px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; text-decoration: none; text-align: center; line-height: 1.2; transition: transform .2s var(--s-ease), filter .2s, box-shadow .2s, background-color .2s; }
.site-btn:hover { transform: translateY(-2px); filter: brightness(1.05); }
.site-btn:active { transform: scale(.97); }
.site-btn--lg { min-height: 58px; font-size: 18px; }
.site-btn--block { width: 100%; }
.site-btn--gold, .site-btn--gold:hover { background: var(--marigold); color: var(--s-forest); }
.site-btn--green, .site-btn--green:hover { background: var(--emerald); color: var(--white); }
.site-btn--dim, .site-btn--dim:hover { background: var(--s-forest-2); color: var(--white); min-height: 44px; padding: 0 18px; }
.site-btn--outline, .site-btn--outline:hover { background: transparent; color: var(--white); box-shadow: inset 0 0 0 1.5px var(--s-forest-line); }
.site-btn--plain, .site-btn--plain:hover { background: var(--white); color: var(--s-forest); box-shadow: inset 0 0 0 1px var(--s-line); }
.site-btn--line, .site-btn--line:hover { background: transparent; color: var(--emerald-dark); box-shadow: inset 0 0 0 1px var(--s-line); min-height: 46px; }

/* ---------- header (dark) ---------- */
.site-header.is-dark { background: var(--s-forest); color: var(--white); border-bottom: 0; }
.site-header.is-dark .wrap { display: flex; align-items: center; gap: 12px 28px; flex-wrap: wrap; padding-top: 14px; padding-bottom: 14px; }
.site-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--white); margin-right: auto; }
.site-brand:hover { color: var(--white); }
.site-brand b { font-family: var(--font-head); font-size: 22px; font-weight: 700; line-height: 1.1; }
.site-mark { flex: none; display: block; }
.site-header.is-dark .site-nav { flex: 0 1 auto; gap: 24px; font-weight: 600; }
.site-header.is-dark .site-nav a { color: var(--s-forest-ink); text-decoration: none; min-height: 44px; display: flex; align-items: center; padding: 0; transition: color .2s; }
.site-header.is-dark .site-nav a:hover, .site-header.is-dark .site-nav a[aria-current="page"] { color: var(--white); }
.site-header.is-dark .lang { background: var(--s-forest-2); border: 0; box-shadow: none; border-radius: 10px; padding: 3px; gap: 2px; font-size: 15px; }
.site-header.is-dark .lang a { color: var(--white); border-radius: 8px; min-height: 38px; padding: 0 12px; display: inline-flex; align-items: center; transition: background-color .2s, color .2s; }
.site-header.is-dark .lang a[aria-current="true"] { background: var(--white); color: var(--s-forest); }

/* ---------- page frame ---------- */
.site { display: flex; flex-direction: column; }
.site-section { padding: 72px 0; }
.site-section--white { background: var(--white); }
.site-section__head { max-width: 680px; margin: 0 0 28px; display: flex; flex-direction: column; gap: 6px; }
.site-section__head.is-center { margin-left: auto; margin-right: auto; text-align: center; }
.site-section__head h2, .site-rules__intro h2, .site-closing h2 { font-size: 36px; }
.site-section__head p { color: var(--s-muted); }
.site-card { background: var(--white); border-radius: 16px; box-shadow: var(--s-shadow); padding: 24px; min-width: 0; transition: transform .3s var(--s-ease), box-shadow .3s; }
.site-lift:hover { transform: translateY(-6px); box-shadow: var(--s-shadow-up); }
.site-center { text-align: center; margin-top: 24px; font-weight: 600; }
.site-stack { display: flex; flex-direction: column; gap: 22px; }
.site-narrow { max-width: 820px; }
.site-empty { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; color: var(--s-muted); padding: 40px 24px; }
.site-empty svg { color: var(--emerald); }

/* sub pages: dark title band that continues the header */
.site-pagehead { background: var(--s-forest); color: var(--white); padding: 40px 0 56px; }
.site-pagehead h1 { font-size: clamp(30px, 4.2vw, 44px); color: var(--white); }
.site-pagehead p { color: var(--s-forest-ink); font-size: 18px; margin-top: 8px; max-width: 680px; }
.site-pagehead + .site-section { padding-top: 0; }
.site-pagehead + .site-section > .wrap { margin-top: -28px; }
.site .panel { border: 0; box-shadow: var(--s-shadow); border-radius: 16px; overflow: hidden; }

/* ---------- hero ---------- */
.site-hero { background: var(--s-forest); color: var(--white); padding: 64px 0 88px; overflow: hidden; }
.site-hero__grid { display: flex; flex-wrap: wrap; align-items: center; gap: 32px 56px; }
.site-hero__text { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.site-kicker { background: var(--s-forest-2); color: var(--marigold); font-weight: 600; border-radius: 999px; padding: 4px 14px; font-size: 14px; }
.site-hero h1 { font-size: 56px; line-height: 1.15; color: var(--white); letter-spacing: -.01em; }
.site-hero__lead { font-size: 19px; color: var(--s-forest-ink); max-width: 520px; }
.site-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; align-self: stretch; }
.site-hero__cta .site-btn--gold { flex: 1 1 200px; max-width: 280px; }
.site-hero__cta .site-btn--outline { flex: 1 1 160px; max-width: 220px; }

/* floating profit card */
.site-profit { flex: 1 1 340px; min-width: 0; max-width: 440px; margin: 0 auto; background: var(--white); color: var(--s-ink); border-radius: 20px; padding: 24px; box-shadow: 0 30px 70px rgba(0, 0, 0, .35); }
.site-profit__title { color: var(--s-muted); font-size: 14px; font-weight: 600; }
.site-profit__paid { display: flex; justify-content: space-between; gap: 12px; margin-top: 14px; font-size: 17px; }
.site-profit__rows { margin: 10px 0 0; padding-top: 10px; border-top: 1px dashed var(--s-line); color: var(--s-body); display: flex; flex-direction: column; gap: 10px; }
.site-profit__row { display: flex; justify-content: space-between; gap: 12px; }
.site-profit__row dd { margin: 0; white-space: nowrap; }
.site-profit__result { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: var(--marigold); color: var(--s-forest); border-radius: 14px; padding: 14px 18px; margin-top: 16px; }
.site-profit__result strong:first-child { font-size: 17px; }
.site-profit__result strong.num { font-family: var(--font-head); font-size: 36px; line-height: 1; }
.site-profit__eq { text-align: center; color: var(--s-muted); font-size: 13px; margin-top: 10px; }

/* ---------- steps ---------- */
.site-steps, .site-packages { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr)); gap: 20px; align-items: stretch; }
.site-step { display: flex; flex-direction: column; gap: 8px; }
.site-step__num { width: 44px; height: 44px; border-radius: 12px; background: var(--s-forest); color: var(--marigold); display: flex; align-items: center; justify-content: center; font-family: var(--font-head); font-weight: 700; font-size: 22px; }
.site-step h3 { font-size: 19px; }
.site-step p { color: var(--s-body); }

/* ---------- packages ---------- */
.site-package { display: flex; flex-direction: column; gap: 12px; background: var(--paper); box-shadow: none; color: var(--s-ink); }
.site-package__head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.site-package h3 { font-size: 20px; }
.site-package__badge { background: var(--marigold); color: var(--s-forest); font-weight: 700; font-size: 13px; border-radius: 999px; padding: 2px 10px; white-space: nowrap; }
.site-package__price { color: var(--s-body); }
.site-package__price b { font-family: var(--font-head); font-weight: 700; font-size: 40px; line-height: 1; color: inherit; }
.site-package__price b { color: var(--s-ink); }
.site-package__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; flex: 1; color: var(--s-body); }
.site-package__list li::before { content: "·"; margin-right: 6px; font-weight: 700; }
.site-package.is-popular { background: var(--s-forest); color: var(--white); box-shadow: 0 20px 44px rgba(20, 33, 61, .25); }
.site-package.is-popular .site-package__price, .site-package.is-popular .site-package__list { color: var(--s-forest-ink); }
.site-package.is-popular .site-package__price b { color: var(--white); }
.site-package.is-popular .site-btn--gold { box-shadow: inset 0 0 0 1px var(--marigold); }
.site-package.is-popular:hover { box-shadow: 0 24px 56px rgba(20, 33, 61, .32); }

/* ---------- rules ---------- */
.site-rules { display: flex; flex-wrap: wrap; gap: 28px 56px; align-items: flex-start; }
.site-rules__intro { flex: 1 1 280px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.site-rules__intro p { color: var(--s-muted); margin-bottom: 10px; }
.site-rules__list { flex: 2 1 420px; min-width: 0; list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.site-rule { display: flex; gap: 14px; align-items: flex-start; padding: 16px 20px; }
.site-rule__num { flex: 0 0 32px; height: 32px; border-radius: 50%; background: var(--s-soft); color: var(--s-soft-ink); font-weight: 700; display: flex; align-items: center; justify-content: center; }
.site-rule p { color: var(--s-body); }
.site-rule:hover { transform: translateX(4px); }

/* ---------- closing band ---------- */
.site-closing { background: var(--emerald); color: var(--white); }
.site-closing__inner { padding-top: 48px; padding-bottom: 48px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; }
.site-closing h2 { color: var(--white); }
.site-closing p { margin-top: 6px; color: var(--s-soft); }

/* ---------- comparison table (/packages) ---------- */
.site-compare th[scope="row"] { position: sticky; left: 0; background: var(--white); color: var(--s-ink); font-weight: 600; font-size: 14.5px; white-space: normal; min-width: 150px; z-index: 1; }
.site-compare thead th { font-family: var(--font-head); font-size: 17px; color: var(--s-ink); background: var(--white); padding-top: 16px; padding-bottom: 14px; }
.site-compare thead th:first-child { position: sticky; left: 0; z-index: 2; color: var(--s-muted); font-family: var(--font-body); font-size: 13.5px; }
.site-compare thead th.is-popular, .site-compare td.is-popular { background: #F1F3F8; }
.site-compare thead th.is-popular span { display: inline-block; margin-left: 6px; vertical-align: middle; background: var(--marigold); color: var(--s-forest); font-family: var(--font-body); font-weight: 700; font-size: 12px; border-radius: 999px; padding: 1px 8px; }
.site-compare td { min-width: 130px; }
.site-compare td.num { text-align: left; }
.site-compare__price b { font-family: var(--font-head); font-size: 24px; }
.site-compare__price span { color: var(--s-muted); font-size: 13.5px; }
.site-compare tfoot td, .site-compare tfoot th { border-top: 1px solid var(--line); background: #FAFAFB; padding-top: 14px; padding-bottom: 14px; }
.site-compare tfoot th[scope="row"] { background: #FAFAFB; }
.site-compare .site-btn { min-height: 42px; padding: 0 16px; font-size: 15px; white-space: nowrap; }
.site-yesno { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.site-yesno.is-no { font-weight: 500; }
.is-yes { color: var(--emerald); }
.is-no { color: var(--slate); }
.site-note { color: var(--s-muted); font-size: 14px; }

/* ---------- FAQ ---------- */
.site-faq { display: flex; flex-direction: column; gap: 10px; }
.site-faq h2 { margin: 8px 0 4px; font-size: 24px; }
.site-faq__item { background: var(--white); border-radius: 14px; box-shadow: var(--s-shadow); padding: 0 20px; transition: box-shadow .25s; }
.site-faq__item:hover, .site-faq__item[open] { box-shadow: var(--s-shadow-up); }
.site-faq__item summary { cursor: pointer; list-style: none; font-family: var(--font-head); font-weight: 600; font-size: 17px; padding: 17px 32px 17px 0; position: relative; min-height: 44px; }
.site-faq__item summary::-webkit-details-marker { display: none; }
.site-faq__item summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; background: var(--s-soft); color: var(--s-soft-ink); font-size: 18px; font-weight: 600; display: flex; align-items: center; justify-content: center; transition: transform .25s var(--s-ease); }
.site-faq__item[open] summary::after { content: "−"; }
.site-faq__item p { padding: 0 0 18px; color: var(--s-body); }
.site-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- contact ---------- */
.site-contact { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 22px; align-items: start; }
.site-contact__list { margin: 0; display: flex; flex-direction: column; gap: 16px; }
.site-contact__list > div { display: flex; gap: 14px; align-items: center; }
.site-contact__icon { width: 44px; height: 44px; border-radius: 12px; background: var(--s-soft); color: var(--s-soft-ink); display: flex; align-items: center; justify-content: center; flex: none; }
.site-contact__list dt { color: var(--s-muted); font-size: 14px; }
.site-contact__list dd { margin: 0; font-family: var(--font-head); font-size: 21px; font-weight: 600; overflow-wrap: anywhere; }
.site-contact__list a { text-decoration: none; }
.site-contact__form .site-btn { min-height: 48px; }
.site-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- footer (dark) ---------- */
.site-foot { background: var(--s-forest); color: var(--s-forest-quiet); font-size: 14px; }
.site-foot__inner { display: flex; flex-wrap: wrap; gap: 16px 36px; align-items: center; padding-top: 32px; padding-bottom: 24px; }
.site-foot__brand { flex: 1 1 320px; display: flex; flex-direction: column; gap: 8px; }
.site-foot__name { display: inline-flex; align-items: center; gap: 10px; color: var(--white); text-decoration: none; align-self: flex-start; }
.site-foot__name:hover { color: var(--white); }
.site-foot__name b { font-family: var(--font-head); font-size: 19px; }
.site-foot__links { display: flex; gap: 4px 22px; flex-wrap: wrap; font-weight: 600; }
.site-foot__links a { color: var(--s-forest-ink); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
.site-foot__links a:hover { color: var(--white); }
.site-foot__bottom { flex-basis: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; border-top: 1px solid var(--s-forest-2); padding-top: 18px; }
.site-foot__help a { color: var(--s-forest-ink); text-decoration: none; }
.site-foot__help a:hover { color: var(--white); text-decoration: underline; }

/* ---------- motion (CSS only, off for reduced motion) ---------- */
@keyframes site-up { from { opacity: 0; translate: 0 18px; } }
@keyframes site-rowin { from { opacity: 0; translate: -12px 0; } }
@keyframes site-pop { 0% { opacity: 0; scale: .8; } 70% { scale: 1.04; } 100% { opacity: 1; scale: 1; } }
@keyframes site-float { 50% { translate: 0 -8px; } }
.site-rise > * { animation: site-up .7s var(--s-ease) both; }
.site-rise > :nth-child(2) { animation-delay: .1s; }
.site-rise > :nth-child(3) { animation-delay: .2s; }
.site-rise > :nth-child(4) { animation-delay: .3s; }
.site-profit { animation: site-up .7s .15s var(--s-ease) both, site-float 6s 1s ease-in-out infinite; }
.site-profit__row { animation: site-rowin .5s var(--s-ease) both; animation-delay: .5s; }
.site-profit__row:nth-child(2) { animation-delay: .8s; }
.site-profit__row:nth-child(3) { animation-delay: 1.1s; }
.site-profit__row:nth-child(n+4) { animation-delay: 1.4s; }
.site-profit__result { animation: site-pop .6s 1.9s var(--s-ease) both; }
.site-pagehead .wrap > * { animation: site-up .6s var(--s-ease) both; }
.site-pagehead .wrap > :nth-child(2) { animation-delay: .08s; }
@supports (animation-timeline: view()) {
  .site-reveal { animation: site-up linear both; animation-timeline: view(); animation-range: entry 0% entry 35%; }
}
@media (prefers-reduced-motion: reduce) {
  .is-public *, .is-public *::before, .is-public *::after { animation: none !important; transition: none !important; }
}

/* ---------- terms text (site, admin, reseller) ---------- */
.terms-page { display: flex; flex-direction: column; gap: 22px; }
.terms-body { font-size: 16px; line-height: 1.75; color: var(--ink); overflow-wrap: anywhere; }
article.terms-body.panel { padding: 26px 30px; }
.terms-body > * + * { margin-top: 12px; }
.terms-body h1, .terms-body h2, .terms-body h3 { margin-top: 22px; }
.terms-body h1 { font-size: 22px; }
.terms-body h2 { font-size: 19px; }
.terms-body ol, .terms-body ul { padding-left: 24px; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.terms-body li::marker { color: var(--emerald-dark); font-weight: 600; }
.terms-body strong { color: var(--forest); }
.terms-body a { overflow-wrap: anywhere; }
.terms-body blockquote { margin: 0; border-left: 3px solid var(--marigold); padding: 4px 0 4px 14px; color: var(--ink-2); }
.terms-body--preview { border: 1px solid var(--line); border-radius: var(--r-md); padding: 16px 18px; background: var(--paper); font-size: 15px; min-height: 180px; }
.terms-editor { font-size: 14.5px; line-height: 1.6; }

/* ---------- responsive ---------- */
@media (max-width: 900px) {
  .site-contact { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .site-header.is-dark .site-nav { display: none; }
  .site-hero { padding: 28px 0 48px; }
  .site-hero h1 { font-size: 34px; }
  .site-hero__lead { font-size: 17.5px; }
  .site-hero__cta .site-btn--gold, .site-hero__cta .site-btn--outline { max-width: none; }
  .site-section { padding: 40px 0; }
  .site-section__head h2, .site-rules__intro h2, .site-closing h2 { font-size: 26px; }
  .site-pagehead { padding: 28px 0 48px; }
  .site-pagehead p { font-size: 16.5px; }
  .site-closing__inner { padding-top: 36px; padding-bottom: 36px; }
  .site-closing .site-btn { width: 100%; }
}
@media (max-width: 600px) {
  .is-public .wrap { padding-left: 16px; padding-right: 16px; }
  .site-header.is-dark .wrap { gap: 10px; }
  .site-brand { gap: 8px; }
  .site-brand .site-mark { width: 32px; height: 32px; }
  .site-brand b { font-size: 19px; }
  .site-header.is-dark .lang a { padding: 0 8px; font-size: 14px; }
  .site-header.is-dark .site-btn--dim { padding: 0 12px; }
  .site-profit { padding: 20px; }
  .site-profit__result strong.num { font-size: 32px; }
  .site-rules__list { flex-basis: 100%; }
  article.terms-body.panel { padding: 20px 18px; }
  .site-compare th[scope="row"] { min-width: 120px; }
  .site-foot__bottom { flex-direction: column; }
}

/* ---------- brand: logo files, tagline ---------- */
.site-brand .logo, .site-foot__name .logo { flex: none; }
.site-tagline { color: var(--marigold); font-weight: 600; font-size: 17px; line-height: 1.4; margin: 0; }
.site-tagline b { color: var(--white); font-weight: 700; }
.auth-brand .site-tagline { font-size: 18px; }
.site-foot__tagline { color: var(--white); font-weight: 600; font-size: 16px; margin: 0; }
.site-foot__cols { display: flex; flex-wrap: wrap; gap: 8px 56px; }
.site-foot__col { display: flex; flex-direction: column; min-width: 150px; font-weight: 600; }
.site-foot__head { color: var(--white); font-size: 14px; font-weight: 700; margin-bottom: 2px; }
.site-foot__col a { color: var(--s-forest-ink); text-decoration: none; min-height: 40px; display: inline-flex; align-items: center; }
.site-foot__col a:hover, .site-foot__col a[aria-current="page"] { color: var(--white); }

/* ---------- legal pages (terms, privacy, refund) ---------- */
.legal-head, .legal-wrap { max-width: 1080px; }
.legal-head { display: flex; flex-direction: column; align-items: flex-start; }
.site-pagehead p.legal-meta { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; color: var(--s-forest-quiet); margin-top: 10px; }
.legal-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.legal-tabs a { min-height: 42px; padding: 0 16px; border-radius: 999px; background: var(--s-forest-2); color: var(--s-forest-ink); font-weight: 600; font-size: 15px; display: inline-flex; align-items: center; text-decoration: none; transition: background-color .2s, color .2s; }
.legal-tabs a:hover { color: var(--white); }
.legal-tabs a[aria-current="page"] { background: var(--white); color: var(--s-forest); }
.legal-wrap { display: flex; flex-direction: column; gap: 22px; }
.legal-wrap:not(.has-toc) .legal-main { max-width: 820px; width: 100%; }
.legal-wrap.has-toc { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 24px; align-items: start; }
.legal-main { min-width: 0; }
.legal-toc { position: sticky; top: 16px; padding: 14px 20px 18px; background: var(--white); }
.legal-toc summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-weight: 700; cursor: pointer; list-style: none; }
.legal-toc summary::-webkit-details-marker { display: none; }
.legal-toc summary::after { content: ""; width: 9px; height: 9px; border-right: 2px solid var(--s-muted); border-bottom: 2px solid var(--s-muted); rotate: 45deg; translate: 0 -3px; transition: rotate .2s; }
.legal-toc[open] summary::after { rotate: 225deg; translate: 0 2px; }
.legal-toc ol { margin: 4px 0 0; padding-left: 22px; display: flex; flex-direction: column; gap: 4px; font-size: 15px; line-height: 1.45; }
.legal-toc li::marker { color: var(--s-muted); font-weight: 600; }
.legal-toc a { color: var(--s-body); text-decoration: none; display: inline-block; padding: 4px 0; }
.legal-toc a:hover { color: var(--emerald-dark); text-decoration: underline; }
.legal-body h2 { scroll-margin-top: 20px; }
.legal-body h2:not(:first-child) { border-top: 1px solid var(--s-line); padding-top: 22px; margin-top: 26px; }
.legal-body h2:first-child { margin-top: 0; }
.legal-body ul { gap: 6px; }
.legal-foot { font-size: 15px; }

@media (max-width: 900px) {
  .legal-wrap.has-toc { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .legal-toc { position: static; }
}
@media (max-width: 760px) {
  .auth-brand__top .site-brand .logo__img { height: 40px; width: auto; }
}
@media (max-width: 600px) {
  .site-brand .logo__img { height: 38px; width: auto; }
  .site-foot__name .logo__img { height: 46px; width: auto; }
  .legal-tabs { gap: 6px; }
  .legal-tabs a { min-height: 40px; padding: 0 12px; font-size: 14px; }
  .site-tagline { font-size: 16px; }
}
