:root{color-scheme:light;--paper:#f3f2e9;--ink:#111510;--lime:#d9ff70;--muted:#555c50;--line:#d5d8cc;font-family:"Plus Jakarta Sans","Avenir Next",Avenir,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}
html{scroll-padding-top:2rem}
body{margin:0;font-size:17px;line-height:1.8}
::selection{background:var(--lime);color:var(--ink)}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:3px solid #526c17;outline-offset:5px;border-radius:3px}
.skip-link{position:fixed;top:1rem;left:1rem;z-index:10;transform:translateY(-200%);padding:.8rem 1.2rem;background:var(--lime);font-weight:700}
.skip-link:focus{transform:none}
.site-header{max-width:1440px;margin:0 auto;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem clamp(1.25rem,5vw,5rem);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:0;font-size:1.7rem;letter-spacing:-.065em;font-weight:800;text-decoration:none;white-space:nowrap}
.brand>span:last-child{font-weight:450}
.brand-mark{position:relative;flex:none;width:28px;height:28px;margin-right:9px}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;width:15px;height:15px;border-radius:50%;background:var(--lime)}
.brand-mark:before{bottom:1px;left:0}.brand-mark:after{top:0;right:0}
.site-header nav{display:flex;gap:1.8rem;font-size:.9rem;font-weight:600}
.site-header nav a{display:inline-flex;min-height:44px;align-items:center;text-decoration:none}
.header-cta{display:inline-flex;align-items:center;gap:1rem;border-radius:99px;padding:.6rem .7rem .6rem 1.3rem;min-height:48px;background:var(--lime);font-size:.87rem;font-weight:750;text-decoration:none;white-space:nowrap}
.header-cta span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--lime);font-size:1.2rem}
.policy-hero{max-width:1280px;margin:0 auto;padding:4rem clamp(1.25rem,5vw,5rem) 4.5rem}
.back-link{display:inline-flex;min-height:44px;align-items:center;font-size:.85rem;color:var(--muted)}
h1{max-width:12ch;font-size:clamp(3rem,7.8vw,6.2rem);line-height:1.02;letter-spacing:-.065em;font-weight:700;margin:1.2rem 0 2rem}
.policy-hero>p{max-width:77ch;margin:1rem 0;overflow-wrap:anywhere}
.meta{color:var(--muted);font-size:.85rem}
.policy-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(2rem,4vw,4.5rem);max-width:1280px;margin:auto;padding:0 clamp(1.25rem,5vw,5rem) 6rem;align-items:start}
.policy-contents{border-top:2px solid var(--ink);padding-top:1.5rem}
.policy-contents h2{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;margin:0 0 1rem}
.policy-contents ol{list-style:none;padding:0;margin:0}
.policy-contents a{display:flex;align-items:baseline;gap:.8rem;min-height:44px;padding:.5rem 0;font-size:.85rem;line-height:1.5;text-decoration:none}
.policy-contents a:hover{text-decoration:underline}
.policy-contents a span{flex:none;color:var(--muted);font-size:.7rem;font-variant-numeric:tabular-nums}
.policy-sections{min-width:0;display:grid;gap:1.25rem}
.policy-section{padding:clamp(1.4rem,3.3vw,3.2rem);border:1px solid #e1e2d8;border-radius:20px;background:#fafaf5}
.section-number{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--lime);font-size:.75rem;font-weight:750;margin:0 0 1.5rem}
.policy-section h2{font-size:clamp(1.55rem,2.6vw,2.3rem);font-weight:650;line-height:1.17;letter-spacing:-.035em;margin:0 0 1.5rem;scroll-margin-top:2rem}
.policy-section>p:not(.section-number){font-size:1rem;line-height:1.85;margin:1.1rem 0;color:#343c30;overflow-wrap:anywhere}
.policy-section>p:last-child{margin-bottom:0}
.notice{border-left:3px solid #789827;background:#edf2df;padding:1.2rem 1.4rem;border-radius:0 12px 12px 0}
.site-footer{background:var(--ink);color:var(--paper);padding:2.8rem clamp(1.25rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.site-footer>a:not(.brand){display:inline-flex;align-items:center;min-height:44px;font-size:.85rem}
.site-footer a:focus-visible{outline-color:var(--lime)}
@media(min-width:1000px) and (min-height:800px){.policy-sidebar{position:sticky;top:2rem}}
@media(max-width:900px){.site-header{gap:1rem;flex-wrap:wrap;min-height:100px}.site-header nav{order:3;width:100%;justify-content:center;gap:2rem;border-top:1px solid var(--line);padding-top:.4rem}.policy-layout{grid-template-columns:1fr;gap:2rem}.policy-contents ol{display:grid;grid-template-columns:1fr 1fr;column-gap:1.5rem}.policy-hero{padding-top:2.5rem;padding-bottom:2.5rem}.site-header .brand{font-size:1.45rem}}
@media(max-width:520px){body{font-size:16px}.site-header{padding-top:1rem;padding-bottom:.8rem}.site-header .brand{font-size:1.25rem}.brand-mark{width:23px;height:23px;margin-right:6px}.brand-mark:before,.brand-mark:after{width:13px;height:13px}.header-cta{font-size:.7rem;gap:.5rem;padding-left:.8rem}.header-cta span{width:26px;height:26px}.policy-contents ol{grid-template-columns:1fr}.policy-contents a{font-size:.9rem}.policy-section{border-radius:15px}.policy-hero>p{line-height:1.75}.site-footer{align-items:flex-start;flex-direction:column}h1{font-size:clamp(2.7rem,11vw,3.8rem)}}
@media(prefers-reduced-motion:no-preference){a{transition:background-color 180ms ease,color 180ms ease}.header-cta:hover{background:#c8f44f}}
@media(forced-colors:active){.header-cta,.section-number{border:1px solid ButtonText}}
