:root { --legal-body: "Avenir Next", Avenir, "Nunito Sans", Arial, sans-serif; --legal-heading: "Arial Rounded MT Bold", "Avenir Next", Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-padding-top:110px; }
body { margin:0; background:#f7f3e9; color:#082f62; font-family:YSBody,Arial,sans-serif; font-size:19px; line-height:1.55; }
a { color:inherit; text-underline-offset:.18em; }
a:focus-visible, button:focus-visible { outline:3px solid #285640; outline-offset:5px; }
.legal-header { position:absolute; z-index:5; top:0; width:100%; padding:24px 3vw; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.legal-brand { display:flex; align-items:center; gap:8px; width:230px; flex:none; }
.legal-brand img:first-child { width:32%; }
.legal-brand img:last-child { width:65%; }
.legal-header nav { display:flex; flex-wrap:wrap; gap:10px; }
.legal-header nav a { padding:10px 20px; border-radius:99px; background:#f7f3e9; text-decoration:none; font-weight:700; font-size:17px; }
.legal-header nav a[aria-current] { background:#d7b889; }
.legal-hero { position:relative; isolation:isolate; overflow:hidden; border-radius:0 0 clamp(48px,8vw,120px) clamp(48px,8vw,120px); background:#87a990; text-align:center; padding:190px 24px 90px; }
.legal-hero__pattern { position:absolute; z-index:-1; inset:-30% -5%; width:110%; height:160%; color:#87a990; pointer-events:none; animation:legal-pattern 14s ease-in-out infinite alternate; }
.legal-hero h1 { font-family:YSHeading,Arial,sans-serif; font-size:clamp(64px,8.33vw,128px); letter-spacing:-.025em; line-height:.94; font-weight:700; margin:0 auto 28px; max-width:1000px; }
.legal-hero h1 span { display:block; }
.legal-hero .legal-dot { display:inline; color:#bc945f; }
.legal-hero p { font-size:clamp(19px,1.65vw,25px); line-height:1.35; max-width:650px; margin:0 auto; }
.legal-copy { width:min(65%,880px); margin:0 auto; padding:90px 0 100px; overflow-wrap:anywhere; }
.legal-copy h2 { font-family:YSHeading,Arial,sans-serif; font-size:clamp(25px,2.6vw,36px); letter-spacing:-.035em; line-height:1.12; margin:0 0 22px; }
.legal-copy p { margin:0 0 20px; }
.legal-copy section { margin:56px 0 0; scroll-margin-top:40px; }
.legal-copy ul,.legal-copy ol { padding-left:1.3em; margin:18px 0 24px; }
.legal-copy li { padding-left:.2em; margin-bottom:8px; }
.legal-copy strong { font-weight:700; }
.legal-doclinks { display:flex; flex-wrap:wrap; gap:12px 24px; font-size:17px; margin:28px 0 48px; }
.legal-toc { background:#87a990; border-radius:24px; padding:30px; margin:40px 0 64px; }
.legal-toc h2 { font-size:25px; }
.legal-toc a { text-decoration:none; }
.legal-toc ol { list-style:none; padding-left:0; }
.legal-toc a:hover { text-decoration:underline; }
.legal-contact { border-radius:28px; background:#ead8bc; padding:32px; }
.legal-footer { background:#87a990; border-radius:44px 44px 0 0; padding:48px max(24px,5vw) 28px; }
.legal-footer__top { display:flex; align-items:flex-start; justify-content:space-between; gap:32px; }
.legal-footer nav { display:flex; flex-direction:column; gap:10px; }
.legal-footer__bottom { margin-top:50px; display:flex; justify-content:space-between; gap:24px; font-size:16px; }
.legal-skip { position:fixed; top:-100px; left:20px; z-index:20; background:#f7f3e9; padding:12px; }
.legal-skip:focus { top:12px; }
@keyframes legal-pattern { to { transform:rotate(4deg) scale(1.04); } }
@media(max-width:767px) {
  body { font-size:18px; line-height:1.5; }
  .legal-header { padding:18px 20px; gap:16px; align-items:flex-start; }
  .legal-brand { width:clamp(130px, 40vw, 165px); }
  .legal-header nav { gap:6px; justify-content:flex-end; min-width:0; }
  .legal-header nav a { font-size:15px; padding:7px 12px; }
  .legal-header nav a[aria-current] { display:none; }
  .legal-header nav a { max-width:125px; text-align:center; }
  .legal-hero { padding:155px 20px 64px; }
  .legal-hero h1 { font-size:clamp(36px,9.6vw,74px); letter-spacing:-.025em; line-height:1; margin-bottom:24px; }
  .legal-hero p { font-size:20px; max-width:29ch; }
  .legal-copy { width:auto; margin:0 24px; padding:55px 0 64px; }
  .legal-copy section { margin-top:42px; }
  .legal-copy h2 { font-size:27px; }
  .legal-toc { padding:24px; margin:32px 0 48px; }
  .legal-contact { padding:24px; }
  .legal-footer__top,.legal-footer__bottom { flex-direction:column; }
  .legal-footer__bottom { margin-top:32px; gap:12px; }
}
@media(prefers-reduced-motion:reduce) { .legal-hero__pattern { animation:none; } }
body { font-family:var(--legal-body); }
.legal-hero h1,.legal-copy h2 { font-family:var(--legal-heading); }
.legal-header nav a { transition:transform .25s ease, background-color .25s ease; }
.legal-header nav a:is(:hover,:focus-visible,.ys-link-selected) { transform:translateY(-3px); background:#d7b889; }
.legal-header nav a:active { transform:translateY(1px); }
@media print { .legal-header,.legal-footer,.legal-toc,.legal-hero__pattern,.legal-doclinks { display:none; } .legal-hero { padding:20px 0; background:none; } .legal-hero h1 { font-size:40px; } .legal-copy { width:100%; padding:30px 0; } }
