:root { color-scheme:light; --paper:#F2EBDD; --ink:#2A2117; --muted:#534839; --line:rgba(42,33,23,.13); --forest:#143020; --accent:#8A7113; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:145px; }
body.legal-page { margin:0; background:var(--paper); color:var(--ink); font:16px/1.75 'Hanken Grotesk',Arial,sans-serif; -webkit-font-smoothing:antialiased; }
::selection { background:#D8BA24; color:#19230F; }
a { color:inherit; text-underline-offset:4px; overflow-wrap:anywhere; }
a:hover { color:var(--accent); }
a:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px; border-radius:3px; }
.legal-header { position:fixed; inset:0 0 auto; z-index:50; display:flex; justify-content:center; padding:15px 24px 18px; pointer-events:none; }
.legal-nav-shell { pointer-events:auto; width:100%; max-width:1180px; padding:10px 16px 10px 26px; background:rgba(242,235,221,.94); backdrop-filter:blur(16px); border:1px solid rgba(42,33,23,.08); border-radius:999px; box-shadow:0 12px 34px -14px rgba(42,33,23,.32); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.legal-header .brand { flex-shrink:0; }
.legal-header img { display:block; height:58px; width:auto; }
.legal-header nav { display:flex; align-items:center; gap:28px; }
.legal-header nav a { text-decoration:none; white-space:nowrap; font-size:14px; font-weight:500; color:#4A4133; }
.button,.legal-header nav a.button { display:inline-flex; align-items:center; justify-content:center; background:#D8BA24; color:#19230F; padding:11px 22px; border-radius:999px; text-decoration:none; font-size:14px; font-weight:600; line-height:1.5; }
.button:hover { background:#c5a91c; }
#main { max-width:1180px; margin:auto; padding:145px 32px 80px; }
.intro { max-width:760px; padding:24px 0 34px; }
.eyebrow,.folio { font-size:11px; font-weight:600; letter-spacing:2.4px; text-transform:uppercase; color:var(--accent); }
h1,h2 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; line-height:1.08; }
h1 { font-size:clamp(42px,5.5vw,70px); margin:18px 0 22px; letter-spacing:-.02em; }
h2 { font-size:34px; margin:8px 0 20px; }
.lead { font-size:18px; line-height:1.75; color:var(--muted); max-width:620px; margin:0; }
.updated { font-size:12px; color:#6B5E49; margin:22px 0 0; }
.policy-nav { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:40px; }
.policy-nav a { border:1px solid var(--line); padding:9px 18px; border-radius:999px; font-size:13px; font-weight:500; text-decoration:none; }
.policy-nav a[aria-current=page] { background:var(--forest); border-color:var(--forest); color:#F2EBDD; }
.legal-grid { display:grid; grid-template-columns:225px minmax(0,1fr); gap:42px; align-items:start; }
.legal-grid aside { position:sticky; top:145px; }
.contents { border-top:1px solid var(--line); padding:18px 0; }
.contents summary { cursor:pointer; font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:600; color:var(--accent); padding-bottom:18px; }
.contents nav a { display:block; margin:0 0 14px; font-size:14px; line-height:1.5; color:#534839; text-decoration:none; }
.contents nav a:hover { color:var(--accent); text-decoration:underline; }
.legal-grid article { min-width:0; background:#fff; border:1px solid rgba(42,33,23,.08); border-radius:16px; padding:6px 40px 32px; box-shadow:0 24px 60px -40px rgba(42,33,23,.3); }
.legal-grid section { padding:30px 0 24px; border-bottom:1px solid var(--line); }
.legal-grid section:last-of-type { border:0; }
.folio { margin:0 0 14px; }
article p { max-width:68ch; margin:0 0 18px; }
article p:last-child { margin-bottom:0; }
article li { padding-left:4px; margin-bottom:14px; }
article ul { padding-left:20px; }
.help { padding:26px; background:#FBF7EE; border:1px solid var(--line); border-radius:14px; margin-top:18px; }
.help h2 { margin-top:0; }
.legal-footer { background:var(--forest); color:#F2EBDD; padding:0 32px; }
.footer-inner { max-width:1116px; margin:auto; padding:42px 0 32px; }
.footer-top,.footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:24px; }
.footer-top { border-bottom:1px solid rgba(242,235,221,.16); padding-bottom:26px; }
.footer-brand { font-family:'Cormorant Garamond',Georgia,serif; font-size:30px; font-weight:600; text-decoration:none; }
.legal-footer nav { display:flex; gap:24px; flex-wrap:wrap; }
.legal-footer nav a { font-size:14px; text-decoration:none; }
.legal-footer a:hover { color:#D8BA24; }
.footer-bottom { padding-top:24px; align-items:flex-start; }
.footer-bottom p { margin:0; font-size:12px; line-height:1.8; color:#d5d4c8; }
.footer-bottom nav { gap:18px; }
.footer-bottom nav a { font-size:12px; }
.footer-bottom a[aria-current=page] { color:#D8BA24; }
.skip { position:fixed; top:-100px; left:20px; background:white; padding:10px; z-index:100; }
.skip:focus { top:10px; }
@media(max-width:980px) {
 .legal-header { padding:10px 12px 0; }
 .legal-nav-shell { border-radius:22px; padding:10px 14px; gap:10px; flex-wrap:wrap; }
 .legal-header img { height:44px; }
 .legal-header nav { width:100%; gap:20px; overflow-x:auto; flex-wrap:nowrap; scrollbar-width:none; }
 .legal-header nav a { flex:0 0 auto; font-size:13px; }
 .legal-grid { grid-template-columns:190px minmax(0,1fr); gap:28px; }
 .legal-grid article { padding-left:28px; padding-right:28px; }
}
@media(max-width:700px) {
 #main { padding:150px 20px 48px; }
 .intro { padding:16px 0 28px; }
 h1 { font-size:46px; }
 h2 { font-size:29px; }
 .lead { font-size:16px; }
 .policy-nav { gap:8px; margin-bottom:24px; }
 .policy-nav a { padding:8px 12px; font-size:12px; }
 .legal-grid { grid-template-columns:1fr; gap:18px; }
 .legal-grid aside { position:static; }
 .contents { border:1px solid var(--line); border-radius:12px; padding:15px 18px; }
 .contents summary { padding:0; }
 .contents[open] summary { padding-bottom:16px; }
 .contents nav a:last-child { margin-bottom:0; }
 .legal-grid article { padding:0 22px 22px; }
 .legal-grid section { padding:26px 0; }
 .help { padding:22px; }
 .legal-footer { padding:0 24px; }
 .legal-footer nav { gap:16px; }
 .footer-top,.footer-bottom { display:flex; flex-direction:column; align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { .legal-header,aside,.help,.skip,.policy-nav { display:none; } #main { padding:0; } .legal-grid { display:block; } .legal-grid article { box-shadow:none; border:0; padding:0; } body.legal-page { background:white; } .legal-footer { background:white; color:#2A2117; padding:0; } .footer-bottom p { color:inherit; } section { break-inside:avoid; } }
