:root { --forest:#173D31; --lilac:#E0E3F3; --cream:#F7F5F0; --paper:#FFFCF8; --yellow:#F3D474; }
html { scroll-padding-top:96px; }
body { background:var(--lilac); color:var(--forest); -webkit-font-smoothing:antialiased; }
a:focus-visible, button:focus-visible { outline:3px solid var(--yellow); outline-offset:4px; }
.skip-link { position:absolute; z-index:100; top:-100px; left:16px; padding:10px 14px; border-radius:8px; background:var(--cream); color:var(--forest); font-weight:700; }
.skip-link:focus { top:12px; }

.legal-header { position:sticky; top:0; z-index:30; height:86px; background:var(--forest); color:var(--lilac); border:0; box-shadow:0 1px 0 rgba(224,227,243,.17); }
.legal-nav { width:min(calc(100% - 112px),1312px); gap:30px; justify-content:flex-start; }
.legal-nav .brand img { width:116px; height:auto; }
.legal-links { display:flex; align-items:center; gap:36px; margin-left:auto; }
.legal-links a { min-height:44px; display:inline-flex; align-items:center; font-size:14px; font-weight:600; text-decoration:none; }
.legal-links a:hover, .legal-links a[aria-current="page"] { text-decoration:underline; text-underline-offset:7px; }
.legal-links .mobile-only { display:none; }
.legal-cta { min-height:46px; display:inline-flex; align-items:center; justify-content:center; padding:0 21px; border-radius:100px; background:var(--lilac); color:var(--forest); text-decoration:none; font-size:14px; font-weight:700; white-space:nowrap; }
.legal-cta:hover { background:var(--cream); }
.legal-menu-button { display:none; }

.legal-main { width:100%; max-width:none; margin:0; padding:0; }
.legal-intro { max-width:none; margin:0; padding:86px max(24px,calc((100vw - 980px)/2)) 98px; background:var(--forest); color:var(--lilac); }
.legal-intro .eyebrow { color:var(--lilac); }
.legal-intro h1 { max-width:980px; margin:0 0 24px; color:var(--lilac); font-size:clamp(56px,7.4vw,104px); line-height:.97; }
.legal-intro p { max-width:760px; color:var(--lilac); font-size:18px; line-height:1.5; }
.legal-intro .legal-updated { margin-top:24px!important; color:var(--lilac); opacity:.85; }
.legal-body { width:min(calc(100% - 48px),820px); max-width:none; margin:0 auto; padding:76px 0 112px; color:var(--forest); font-size:16px; line-height:1.75; }
.legal-body h2 { margin:58px 0 17px; font-size:clamp(27px,3vw,35px); line-height:1.13; letter-spacing:-.04em; }
.legal-body h2:first-child { margin-top:0; }
.legal-body h3 { font-size:20px; }
.legal-body p { margin-bottom:19px; }
.legal-body a { text-decoration-thickness:1px; text-underline-offset:3px; }
.legal-body li { margin:8px 0; }
.legal-footer { padding:34px 0; background:var(--forest); color:var(--lilac); border:0; }
.legal-footer-inner { width:min(calc(100% - 112px),1312px); flex-wrap:wrap; }
.legal-footer a { color:inherit; text-decoration:underline; text-underline-offset:4px; }

@media(max-width:760px) {
  .legal-header { height:76px; }
  .legal-nav { width:calc(100% - 40px); gap:12px; }
  .legal-nav .brand img { width:103px; }
  .legal-links { display:none; }
  .legal-links.open { position:absolute; top:76px; left:0; right:0; display:flex; align-items:stretch; flex-direction:column; gap:0; margin:0; padding:12px 20px 20px; background:var(--forest); box-shadow:0 14px 24px rgba(12,40,29,.22); }
  .legal-links.open a { min-height:48px; }
  .legal-links .mobile-only { display:none; }
  .legal-links.open .mobile-only { display:flex; }
  .legal-cta { margin-left:auto; min-height:44px; padding:0 15px; font-size:12px; }
  .legal-menu-button { display:block; width:44px; height:44px; padding:10px; border:0; border-radius:8px; background:transparent; color:var(--lilac); }
  .legal-menu-button span { display:block; height:2px; margin:6px 0; background:currentColor; }
  .legal-intro { padding:72px 24px 85px; }
  .legal-intro h1 { font-size:clamp(52px,10vw,76px); }
  .legal-body { padding:65px 0 90px; }
  .legal-footer-inner { width:calc(100% - 40px); }
}
@media(max-width:560px) {
  .legal-header { height:68px; }
  .legal-nav .brand img { width:93px; }
  .legal-links.open { top:68px; }
  .legal-cta { padding:0 12px; }
  .legal-intro { padding:64px 20px 72px; }
  .legal-intro h1 { font-size:clamp(48px,12vw,64px); }
  .legal-intro p { font-size:16px; }
  .legal-body { width:calc(100% - 40px); font-size:15.5px; }
  .legal-body h2 { font-size:27px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
