:root {
  color-scheme: light;
  --ink: #13201c;
  --muted: #5f6e68;
  --faint: #7b8984;
  --paper: #ffffff;
  --wash: #f1f6f5;
  --line: #d8e2df;
  --sea: #0c8c76;
  --sea-dark: #076453;
  --sea-soft: #e7f5f1;
  --warn: #8c5a04;
  --warn-soft: #fff7e8;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--wash); }
body { min-width: 320px; min-height: 100vh; margin: 0; color: var(--ink); background: var(--wash); }
a { color: inherit; }
a:focus-visible { outline: 2px solid #12a98d; outline-offset: 3px; }
.shell { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }

.legal-header { height: 78px; border-bottom: 1px solid rgba(216,226,223,.85); background: rgba(255,255,255,.88); backdrop-filter: blur(14px); }
.legal-header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.legal-logo { display: inline-flex; align-items: center; gap: 10px; color: #15211d; text-decoration: none; font-size: 18px; font-weight: 760; letter-spacing: -.035em; }
.legal-logo svg { width: 29px; height: 29px; fill: none; stroke: #0f9d84; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.legal-header nav { display: flex; align-items: center; gap: 26px; }
.legal-header nav a { color: #61706a; text-decoration: none; font-size: 11px; }
.legal-header nav a:hover { color: var(--sea); }
.console-link { padding: 9px 13px; border: 1px solid #bdd8d1; border-radius: 7px; color: var(--sea-dark) !important; background: #f5fbf9; font-weight: 700; }

.legal-hero { padding: 82px 0 66px; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 82% 0, rgba(33,190,157,.14), transparent 35%), var(--paper); }
.eyebrow { margin: 0 0 15px; color: var(--sea); font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.legal-hero h1 { max-width: 790px; margin: 0; font-size: clamp(43px, 6vw, 70px); line-height: .98; letter-spacing: -.058em; font-weight: 650; }
.legal-hero > .shell > p:not(.eyebrow) { max-width: 700px; margin: 22px 0 0; color: var(--muted); font-size: 15px; line-height: 1.72; }
.policy-meta { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 8px; }
.policy-meta span { padding: 7px 10px; border: 1px solid #d4e2de; border-radius: 99px; color: #66756f; background: #f8fbfa; font-size: 8px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }


.legal-layout { padding: 54px 0 100px; display: grid; grid-template-columns: 235px minmax(0, 1fr); gap: 66px; align-items: start; }
.legal-toc { position: sticky; top: 28px; }
.legal-toc > span { display: block; margin-bottom: 12px; color: #82908a; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.legal-toc a { min-height: 37px; padding: 9px 11px; display: block; border-left: 2px solid #dbe5e2; color: #61706a; text-decoration: none; font-size: 10px; line-height: 1.45; }
.legal-toc a:hover, .legal-toc a.current { border-left-color: #13a78b; color: #08705e; background: linear-gradient(90deg, #e9f6f2, transparent); }
.legal-toc .toc-home { margin-top: 13px; border-left-color: transparent; color: var(--sea); font-weight: 700; }

.legal-document { min-width: 0; }
.plain-summary { margin-bottom: 42px; padding: 24px 25px; border: 1px solid #cce0da; border-radius: 12px; background: var(--sea-soft); }
.plain-summary > span { color: var(--sea); font-size: 8px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.plain-summary p { margin: 9px 0 0; color: #3c5e55; font-size: 12px; line-height: 1.72; }
.legal-document section { padding: 6px 0 34px; scroll-margin-top: 28px; }
.legal-document section + section { padding-top: 35px; border-top: 1px solid var(--line); }
.legal-document h2 { margin: 0 0 16px; color: #15221e; font-size: 24px; line-height: 1.2; letter-spacing: -.035em; }
.legal-document h3 { margin: 22px 0 9px; color: #293a34; font-size: 13px; }
.legal-document p, .legal-document li { color: #566760; font-size: 11px; line-height: 1.82; }
.legal-document p { margin: 0 0 13px; }.legal-document ul, .legal-document ol { margin: 10px 0 15px; padding-left: 22px; }.legal-document li + li { margin-top: 7px; }
.legal-document strong { color: #263832; }
.legal-document a { color: #087865; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.caps { color: #3c4d47 !important; font-size: 10px !important; font-weight: 680; letter-spacing: .015em; text-transform: uppercase; }
.policy-callout { margin: 18px 0; padding: 17px 19px; border-left: 3px solid #12a98d; border-radius: 0 8px 8px 0; background: #edf7f4; }
.policy-callout.warning { border-left-color: #c58616; background: #fff8eb; }.policy-callout p:last-child { margin-bottom: 0; }
.contact-block { margin-top: 18px; padding: 18px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }.contact-block p:last-child { margin-bottom: 0; }

.policy-grid { padding: 54px 0 105px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.policy-card { min-height: 230px; padding: 28px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); text-decoration: none; transition: border-color .18s, transform .18s, box-shadow .18s; }
.policy-card:hover { transform: translateY(-3px); border-color: #a9d2c7; box-shadow: 0 14px 34px rgba(31,70,60,.07); }
.policy-card > span { color: var(--sea); font: 800 8px ui-monospace, monospace; letter-spacing: .13em; }
.policy-card h2 { margin: 32px 0 10px; font-size: 23px; letter-spacing: -.035em; }.policy-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; }.policy-card strong { margin-top: auto; padding-top: 26px; color: var(--sea); font-size: 9px; }
.policy-card-wide { grid-column: 1 / -1; min-height: 190px; }

.legal-footer { min-height: 100px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); color: #74827d; font-size: 9px; }
.legal-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; }.legal-footer nav a { text-decoration: none; }.legal-footer nav a:hover { color: var(--sea); }

@media (max-width: 780px) {
  .legal-header nav a:not(.console-link) { display: none; }
  .legal-hero { padding: 60px 0 50px; }
  .legal-layout { grid-template-columns: 1fr; gap: 32px; padding-top: 30px; }
  .legal-toc { position: static; padding: 15px; display: flex; gap: 6px; overflow-x: auto; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }
  .legal-toc > span { display: none; }.legal-toc a { min-width: max-content; min-height: auto; padding: 7px 9px; border: 0; border-radius: 5px; background: #f2f6f5; }.legal-toc .toc-home { margin: 0; }
  .policy-grid { grid-template-columns: 1fr; }.policy-card-wide { grid-column: auto; }
}

@media (max-width: 560px) {
  .shell { width: min(100% - 28px, 1160px); }
  .legal-header { height: 68px; }.console-link { padding: 8px 10px; }
  .legal-hero h1 { font-size: 43px; }.legal-hero > .shell > p:not(.eyebrow) { font-size: 13px; }
  .policy-grid { padding-top: 30px; }.policy-card { min-height: 205px; padding: 23px; }
  .legal-document h2 { font-size: 21px; }.legal-document p, .legal-document li { font-size: 10px; }
  .legal-footer { padding: 25px 0; flex-direction: column; text-align: center; }
}
