:root { color-scheme: light; --ink:#132c25; --forest:#183f32; --lime:#d6f36a; --ivory:#f5f3ec; --muted:#58675e; --line:#d8ded4; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--ivory); font-synthesis:none; -webkit-text-size-adjust:100%; }
* { box-sizing:border-box; }
body { margin:0; }
a { color:inherit; text-underline-offset:4px; text-decoration-thickness:1px; }
a:hover { color:#346448; }
a:focus-visible { outline:3px solid #4d7257; outline-offset:5px; border-radius:2px; }
::selection { color:var(--ink); background:var(--lime); }
.legal-shell { width:min(calc(100% - 40px),1120px); margin-inline:auto; }
.brand-header { min-height:104px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--line); }
.brand-link { display:inline-flex; min-height:44px; align-items:center; }
.brand-link img { display:block; width:196px; max-width:100%; height:auto; }
.operator-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:13px; font-weight:600; text-decoration:none; white-space:nowrap; }
.page-intro { padding:64px 0 40px; border-bottom:1px solid var(--line); }
.eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 18px; font-size:11px; letter-spacing:.14em; font-weight:750; text-transform:uppercase; }
.eyebrow > span { width:9px; height:9px; background:var(--forest); border:2px solid var(--forest); box-shadow:0 0 0 4px var(--lime); border-radius:50%; margin:4px; }
h1 { margin:0; font-size:clamp(42px,7vw,76px); line-height:1.03; font-weight:780; letter-spacing:-.065em; }
.intro { margin:22px 0 12px; font-size:clamp(17px,2vw,21px); line-height:1.5; color:var(--muted); letter-spacing:-.02em; }
.updated { margin:0; font-size:12px; line-height:1.7; color:var(--muted); }
.policy-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:64px; padding:40px 0 72px; align-items:start; }
.contents { position:sticky; top:28px; display:flex; flex-direction:column; gap:4px; }
.contents a { display:flex; min-height:44px; align-items:center; font-size:13px; font-weight:650; text-decoration:none; }
.policy-copy { max-width:720px; }
.policy-copy p { margin:0 0 18px; font-size:15px; line-height:1.85; overflow-wrap:anywhere; }
.policy-copy strong { font-weight:700; }
.policy-copy section { margin-top:36px; padding-top:28px; border-top:1px solid var(--line); scroll-margin-top:24px; }
h2 { margin:0 0 16px; font-size:25px; line-height:1.25; font-weight:750; letter-spacing:-.035em; }
.policy-copy .contact-card { background:var(--forest); color:var(--ivory); padding:28px; border:0; border-radius:16px; }
.contact-card h2 { font-size:36px; letter-spacing:-.045em; }
.policy-copy .contact-card .eyebrow { font-size:10px; color:var(--lime); margin-bottom:10px; letter-spacing:.14em; }
.contact-card address { font-size:15px; font-style:normal; line-height:1.85; margin:20px 0; }
.contact-card a:hover { color:var(--lime); }
.contact-card a:focus-visible { outline-color:var(--lime); }
.policy-copy .contact-card p:last-child { margin-bottom:0; }
.policy-copy .changes { font-size:13px; color:var(--muted); margin:28px 0 0; }
.brand-footer { border-top:1px solid var(--line); padding:24px 0 32px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px 24px; font-size:12px; color:var(--muted); }
.brand-footer a { display:inline-flex; align-items:center; min-height:44px; }
.brand-footer > span { display:inline-flex; align-items:center; min-height:44px; }
.skip-link { position:absolute; z-index:3; left:20px; top:8px; background:var(--lime); color:var(--ink); padding:12px 16px; transform:translateY(-200%); }
.skip-link:focus { transform:translateY(0); }
@media(max-width:700px) { .brand-header { min-height:88px; } .brand-link img { width:168px; } .operator-link { font-size:11px; gap:4px; } .page-intro { padding:40px 0 30px; } .policy-layout { grid-template-columns:1fr; gap:28px; padding-top:24px; } .contents { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 14px; padding-bottom:22px; border-bottom:1px solid var(--line); } .contents a { font-size:12px; } .policy-copy p { font-size:15px; line-height:1.8; } h2 { font-size:24px; } .policy-copy .contact-card { padding:24px; } .brand-footer { flex-direction:column; gap:0; } }
@media(max-width:350px) { .legal-shell { width:calc(100% - 32px); } .brand-link img { width:154px; } .operator-link { font-size:10px; } .policy-copy .contact-card { padding:20px; } }
@media print { :root { background:#fff; color:#000; } .legal-shell { width:100%; } .contents,.skip-link,.operator-link { display:none; } .policy-layout { display:block; padding-top:24px; } .policy-copy { max-width:none; } .page-intro { padding:28px 0; } .policy-copy .contact-card { background:none; color:#000; padding:24px 0; } .policy-copy .contact-card .eyebrow { color:#000; } .brand-footer { padding-bottom:0; } h2 { break-after:avoid; } }
