@font-face { font-family:Fraunces; font-style:normal; font-weight:300 700; font-display:swap; src:url('../assets/fonts/fraunces-latin.woff2') format('woff2'); }
@font-face { font-family:Fraunces; font-style:italic; font-weight:400; font-display:swap; src:url('../assets/fonts/fraunces-italic-latin.woff2') format('woff2'); }
@font-face { font-family:'Public Sans'; font-style:normal; font-weight:300 700; font-display:swap; src:url('../assets/fonts/public-sans-latin.woff2') format('woff2'); }
:root { --ink:#0d231f; --paper:#f6f0e6; --teal:#00665d; --rust:#9e4f39; --soft-rust:#d18768; --line:#c9c4b7; --display:Fraunces,Georgia,serif; --body:'Public Sans',Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:28px; }
body { margin:0; color:var(--ink); background:var(--paper); font:400 16px/1.6 var(--body); -webkit-font-smoothing:antialiased; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-family:var(--display); font-weight:400; line-height:1.02; letter-spacing:-.05em; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
[hidden] { display:none!important; }
:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.legal-shell { width:min(100% - 112px,1376px); margin-inline:auto; }
.legal-skip { position:fixed; z-index:1100; top:10px; left:10px; padding:10px 15px; color:var(--paper); background:var(--rust); transform:translateY(-200%); }
.legal-skip:focus { transform:none; }

.legal-hero { position:relative; overflow:hidden; color:var(--paper); background:var(--ink); }
.legal-hero::before { position:absolute; top:-30vw; right:-14vw; width:min(64vw,860px); aspect-ratio:1; border:1px solid #d187684c; border-radius:50%; box-shadow:0 0 0 82px #d1876810,0 0 0 164px #d1876809; content:''; }
.legal-hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:9%; align-items:end; padding-top:100px; padding-bottom:104px; }
.legal-hero h1 { font-size:clamp(58px,7.4vw,108px); }
.legal-hero h1 em { color:var(--soft-rust); font-style:italic; }
.legal-hero-copy { padding-bottom:10px; }
.legal-hero-copy p { max-width:440px; color:#d5ddd3; font:400 clamp(18px,1.5vw,23px)/1.42 var(--display); letter-spacing:-.02em; }
.legal-hero-copy span { display:block; margin-top:24px; color:#d2c0ae; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }

.legal-body { padding:96px 0 110px; }
.legal-layout { display:grid; grid-template-columns:minmax(220px,.34fr) minmax(0,1fr); gap:8%; align-items:start; }
.legal-toc { position:sticky; top:28px; }
.legal-kicker { display:block; color:var(--rust); font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.legal-toc ol { margin:18px 0 0; padding:0; border-top:1px solid var(--line); list-style:none; }
.legal-toc li { border-bottom:1px solid var(--line); }
.legal-toc a { display:grid; grid-template-columns:28px 1fr; gap:8px; padding:10px 0; color:#465647; font-size:13px; line-height:1.4; }
.legal-toc a span { color:var(--rust); font-size:10px; letter-spacing:.08em; padding-top:2px; }
.legal-toc a:hover { color:var(--teal); }

.legal-article { max-width:820px; }
.legal-section { padding:44px 0 50px; border-top:1px solid var(--line); }
.legal-section:first-child { padding-top:0; border-top:0; }
.legal-section h2 { display:grid; grid-template-columns:52px 1fr; align-items:baseline; font-size:clamp(30px,3.1vw,44px); line-height:1.1; }
.legal-section h2 span { color:var(--rust); font:600 11px/1 var(--body); letter-spacing:.12em; }
.legal-section-body { margin-top:24px; padding-left:52px; }
.legal-section-body p, .legal-section-body li { color:#425044; font-size:16px; line-height:1.75; }
.legal-section-body p + p, .legal-section-body p + ul, .legal-section-body ul + p, .legal-section-body ul + ul { margin-top:18px; }
.legal-section-body ul { margin:0; padding:0; list-style:none; }
.legal-section-body li { position:relative; padding-left:22px; }
.legal-section-body li + li { margin-top:8px; }
.legal-section-body li::before { position:absolute; top:.8em; left:0; width:10px; height:1px; background:var(--rust); content:''; }
.legal-section-body strong { color:var(--ink); font-weight:600; }
.legal-section-body a { color:var(--teal); border-bottom:1px solid currentColor; }
.legal-section-body a:hover { color:var(--rust); }

.legal-cta { color:var(--paper); background:var(--teal); }
.legal-cta-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:9%; align-items:end; padding-block:72px; }
.legal-cta h2 { font-size:clamp(40px,4.8vw,70px); }
.legal-cta h2 em { color:#f2c4ad; font-style:italic; }
.legal-cta p { max-width:420px; color:#d5e4dc; font-size:15px; line-height:1.65; }
.legal-line-link { display:inline-flex; margin-top:18px; padding:8px 0; border-bottom:1px solid currentColor; font-size:15px; }
.legal-line-link:hover { color:#f2c4ad; }

.legal-footer { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:20px; padding-block:38px 20px; }
.legal-footer-brand { display:flex; align-items:center; width:140px; height:76px; }
.legal-footer-brand img { width:100%; max-height:76px; object-fit:contain; }
.legal-footer > div:first-child > p { margin-top:14px; font:17px/1.25 var(--display); }
.legal-footer nav { display:flex; flex-wrap:wrap; align-content:start; gap:10px 25px; font-size:10px; }
.legal-footer nav a:hover, .legal-footer-fine a:hover { text-decoration:underline; text-underline-offset:5px; }
.legal-footer-fine { display:flex; align-content:start; justify-content:flex-end; flex-wrap:wrap; gap:12px 20px; color:#536153; font-size:9px; }
.legal-footer-fine span { flex-basis:100%; text-align:right; }
.legal-footer-fine a[aria-current='page'] { color:var(--rust); }

@media (max-width:900px) {
  .legal-shell { width:calc(100% - 64px); }
  .legal-hero-grid, .legal-cta-grid { gap:6%; }
  .legal-layout { grid-template-columns:1fr; gap:48px; }
  .legal-toc { position:static; }
  .legal-toc ol { columns:2; column-gap:28px; border-top:0; }
  .legal-toc li { break-inside:avoid; }
  .legal-footer { grid-template-columns:1fr 1fr; }
  .legal-footer-fine { justify-content:start; }
  .legal-footer-fine span { text-align:left; }
}
@media (max-width:700px) {
  .legal-shell { width:calc(100% - 40px); }
  .legal-hero-grid, .legal-cta-grid { grid-template-columns:1fr; gap:34px; }
  .legal-hero-grid { padding-top:64px; padding-bottom:72px; }
  .legal-hero h1 { font-size:clamp(50px,14vw,84px); }
  .legal-hero-copy { padding:0; }
  .legal-body { padding:60px 0 72px; }
  .legal-toc ol { columns:1; border-top:1px solid var(--line); }
  .legal-section { padding:34px 0 38px; }
  .legal-section h2 { grid-template-columns:40px 1fr; font-size:clamp(27px,8vw,36px); }
  .legal-section-body { margin-top:18px; padding-left:0; }
  .legal-cta-grid { padding-block:56px; }
  .legal-footer { grid-template-columns:1fr; gap:25px; padding-block:34px 18px; }
  .legal-footer-brand { width:120px; height:65px; }
  .legal-footer-brand img { max-height:65px; }
  .legal-footer nav { max-width:290px; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition-duration:.01ms!important; } }
