.legal-page { background:#f6f8f7; color:#18352d; font-family:Inter,"Segoe UI",sans-serif; line-height:1.7; }
.legal-container { width:min(1160px,calc(100% - 64px)); margin-inline:auto; }
.legal-header { background:#fff; border-bottom:1px solid #e0e8e3; }
.legal-nav { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:16px; }
.legal-nav img { height:38px; width:auto; }
.legal-nav nav { display:flex; align-items:center; gap:26px; font-size:13px; font-weight:600; }
.legal-nav a[aria-current] { color:#006c49; text-decoration:underline; text-underline-offset:8px; }
.legal-home { padding:9px 15px; border:1px solid #d7e3dc; border-radius:8px; }
.legal-hero { padding:56px 0 48px; border-bottom:1px solid #dce8df; background:radial-gradient(ellipse at 95% 0,#d9e9db,transparent 55%),linear-gradient(120deg,#fafaf1,#edf5ef); }
.legal-eyebrow { display:block; color:#006c49; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; }
.legal-hero h1 { margin:14px 0 18px; font-size:clamp(36px,4.5vw,56px); font-weight:700; line-height:1.1; letter-spacing:-.045em; }
.legal-hero p { max-width:620px; color:#52665c; font-size:17px; }
.legal-meta { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:24px; font-size:11px; color:#5a6d61; }
.legal-grid { display:grid; grid-template-columns:230px minmax(0,1fr); align-items:start; gap:40px; padding-block:40px 56px; }
.legal-index { position:sticky; top:24px; }
.legal-index h2 { font-size:11px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; margin-bottom:14px; }
.legal-index ol { list-style:none; margin:0; padding:0; display:grid; gap:2px; }
.legal-index li a { display:block; padding:7px 10px; border-radius:6px; font-size:12px; color:#53665c; }
.legal-index li a:hover { background:#e7efe9; color:#006c49; }
.legal-related { display:block; margin-top:20px; padding-top:18px; border-top:1px solid #dce5df; font-size:12px; color:#006c49; font-weight:600; }
.legal-card { min-width:0; padding:36px 44px; background:#fff; border:1px solid #dfe8e2; border-radius:16px; box-shadow:0 8px 32px #18352d05; }
.legal-summary { padding:22px 24px; background:#f0f6f1; border-left:3px solid #168460; border-radius:0 10px 10px 0; margin-bottom:34px; }
.legal-summary p { margin:10px 0; font-size:14px; line-height:1.75; }
.legal-summary small { font-size:11px; color:#637669; }
.legal-copy { font-size:14px; color:#53645b; overflow-wrap:anywhere; }
.legal-copy h2 { color:#18352d; font-size:21px; font-weight:650; line-height:1.35; letter-spacing:-.025em; margin:34px 0 14px; padding-top:26px; border-top:1px solid #e8ede9; scroll-margin-top:24px; }
.legal-copy h2:first-child { border:0; padding-top:0; margin-top:0; }
.legal-copy p { margin:12px 0; }
.legal-copy ul { list-style:disc; padding-left:22px; margin:14px 0; }
.legal-copy li { padding-left:3px; margin:8px 0; }
.legal-copy li::marker { color:#168460; }
.legal-copy strong { color:#254738; font-weight:600; }
.legal-copy a,.legal-document-end a { color:#006c49; text-decoration:underline; text-underline-offset:3px; }
.legal-document-end { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; border-top:1px solid #e3eae5; margin-top:32px; padding-top:24px; font-size:12px; font-weight:600; }
.legal-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; border-top:1px solid #dfe7e2; padding-block:24px; font-size:11px; color:#607367; }
.legal-page a:focus-visible { outline:3px solid #168460; outline-offset:4px; }
.legal-skip { position:fixed; top:-100px; left:16px; padding:12px; background:#fff; z-index:30; }
.legal-skip:focus { top:12px; }
@media(max-width:850px) { .legal-grid { grid-template-columns:1fr; gap:24px; } .legal-index { position:static; } .legal-index ol { grid-template-columns:repeat(2,minmax(0,1fr)); } .legal-index { padding:20px; border:1px solid #dfe8e2; border-radius:12px; background:#fff; } }
@media(max-width:580px) { .legal-container { width:calc(100% - 32px); } .legal-nav { flex-wrap:wrap; gap:16px; } .legal-nav nav { flex-wrap:wrap; gap:18px; font-size:12px; } .legal-home { padding:0; border:0; } .legal-hero { padding:36px 0; } .legal-hero p { font-size:15px; } .legal-grid { padding-block:24px 36px; } .legal-card { padding:24px 20px; } .legal-summary { padding:18px; } .legal-copy h2 { font-size:19px; } .legal-index ol { grid-template-columns:1fr; } }
@media print { .legal-header,.legal-index,.legal-footer,.legal-document-end,.legal-skip { display:none; } .legal-page,.legal-hero,.legal-card { background:white; } .legal-container { width:100%; } .legal-hero { padding:0 0 20px; } .legal-grid { display:block; padding:20px 0; } .legal-card { border:0; box-shadow:none; padding:0; } .legal-copy h2 { break-after:avoid; } }
