@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght,SOFT,WONK@9..144,400,30,1;9..144,500,30,1;9..144,600,30,1&family=DM+Sans:wght@400;500;600;700&display=swap');

:root { --ink:#162922; --midnight:#101e1b; --cream:#faf7ee; --muted:#5f6e67; --sage:#dce6da; --lilac:#ded1f4; --pink:#f2cee0; --gold:#bd946b; --line:#e2e7de; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:'DM Sans',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-underline-offset:3px; }
button,a { -webkit-tap-highlight-color:transparent; }
.site-header { display:flex; align-items:center; justify-content:space-between; padding:22px clamp(24px,6vw,92px); border-bottom:1px solid rgba(30,55,42,.10); }
.brand { font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:27px; text-decoration:none; letter-spacing:-1.3px; }
.brand span:first-child { font-style:italic; color:#55715d; }
.brand-star { margin-left:6px; color:#aa83cd; font-size:19px; vertical-align:top; }
.small-link { text-decoration:none; font-size:12px; letter-spacing:.06em; color:#52675a; font-weight:600; }
.small-link:hover { text-decoration:underline; }
.layout { max-width:1332px; margin:0 auto; padding:0 clamp(24px,6vw,92px) 100px; }
.policy-intro { padding-top:70px; }
.eyebrow { font-weight:700; font-size:11px; letter-spacing:.15em; color:#516a59; display:flex; align-items:center; gap:10px; }
.eyebrow-dot { width:7px; height:7px; border-radius:100%; background:#a58ccd; display:inline-block; }
.hero-row { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.section-kicker { margin:42px 0 12px; color:#a17c60; letter-spacing:.08em; font-size:12px; font-weight:600; text-transform:uppercase; }
h1,h2,h3 { font-family:'Fraunces',Georgia,serif; }
h1 { margin:0; font-size:clamp(45px,5.2vw,75px); letter-spacing:-.055em; line-height:1.09; font-weight:500; }
h1 em { color:#64836d; font-style:italic; }
.intro-text { max-width:690px; color:#596960; line-height:1.8; font-size:17px; margin:26px 0 10px; }
.visual-mark { position:relative; flex:0 0 215px; height:215px; border-radius:50%; background:radial-gradient(circle at 30% 25%,#e8d7ed 0%,#b6c8b3 55%,#eee6cf 100%); display:flex; align-items:center; justify-content:center; transform:rotate(-13deg); opacity:.9; box-shadow:0 8px 60px rgba(64,93,68,.08); }
.visual-mark span { color:rgba(255,255,255,.85); font-size:115px; line-height:1; font-weight:300; }
.visual-mark small { font-size:8px; white-space:nowrap; letter-spacing:.13em; position:absolute; bottom:33px; color:#586c68; }
.notice { border:1px solid #e7dac7; background:#faf1df; border-radius:12px; padding:14px 17px; font-size:12px; line-height:1.6; color:#765e3b; margin-top:46px; }
.document-layout { margin-top:48px; border-top:1px solid var(--line); display:grid; grid-template-columns:minmax(210px,265px) minmax(0,1fr); gap:clamp(38px,5vw,86px); }
.sidebar { padding-top:42px; align-self:start; position:sticky; top:20px; max-height:calc(100vh - 40px); overflow:auto; scrollbar-width:thin; }
.side-label { font-size:11px; letter-spacing:.12em; color:#6d7e72; font-weight:700; margin-bottom:21px; }
.sidebar #TOC ul { padding:0; margin:0; list-style:none; }
.sidebar #TOC li { list-style:none; margin:0 0 6px; }
.sidebar #TOC a { display:block; text-decoration:none; color:#637368; font-size:12px; padding:6px 0; line-height:1.5; }
.sidebar #TOC a:hover,.sidebar #TOC a:focus { color:#36543e; text-decoration:underline; }
.sidebar-help { background:var(--sage); border-radius:15px; padding:18px; margin-top:36px; }
.sidebar-help p { font-size:13px; line-height:1.55; font-weight:600; margin:0 0 10px; }
.sidebar-help a { font-size:12px; font-weight:700; }
.policy-content { min-width:0; max-width:810px; padding-top:34px; }
.policy-content h1 { display:none; }
.policy-content > p:first-of-type { font-size:12px; color:var(--muted); margin-top:0; }
.policy-content h2 { font-weight:500; font-size:clamp(24px,2.45vw,34px); letter-spacing:-.04em; line-height:1.22; scroll-margin-top:45px; margin:64px 0 19px; padding-top:30px; border-top:1px solid var(--line); }
.policy-content h2:first-of-type { margin-top:6px; border-top:0; padding-top:0; }
.policy-content h3 { font-weight:500; font-size:22px; margin-top:25px; }
.policy-content p,.policy-content li { line-height:1.9; color:#394b41; font-size:14px; }
.policy-content p { margin:0 0 16px; }
.policy-content strong { color:#1e3729; font-weight:700; }
.policy-content ul,.policy-content ol { padding-left:24px; }
.policy-content li { padding-left:4px; margin:4px 0; }
.policy-content li::marker { color:#7c9984; }
.policy-content a { color:#426b51; }
.policy-content blockquote { border-left:3px solid var(--lilac); padding-left:15px; margin-left:0; }
.policy-content hr { border:0; border-top:1px solid var(--line); margin:42px 0 30px; }
.site-footer { border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; padding:27px clamp(24px,6vw,92px); color:#809086; font-size:12px; gap:20px; }
.home-page { min-height:100vh; display:flex; flex-direction:column; background:radial-gradient(circle at 80% 23%,#e5def0 0,transparent 34%),linear-gradient(120deg,#f8f5eb,#e8f0e8); }
.home-content { width:min(100%,1130px); margin:auto; padding:80px 55px 130px; }
.home-content h1 { margin:36px 0 24px; font-size:clamp(65px,9vw,120px); }
.home-content p:not(.draft-disclaimer) { max-width:545px; font-size:18px; line-height:1.8; color:#536859; }
.pill-link { display:inline-flex; align-items:center; gap:18px; margin-top:25px; padding:15px 23px; text-decoration:none; color:var(--cream); background:var(--midnight); border-radius:50px; font-size:13px; font-weight:600; }
.pill-link:hover { background:#385844; }
.draft-disclaimer { color:#8d918b; font-size:11px; margin-top:38px; }
@media(max-width:860px) { .visual-mark { display:none; } .document-layout { grid-template-columns:1fr; gap:0; } .sidebar { position:static; max-height:none; padding:12px 0 24px; border-bottom:1px solid var(--line); } .sidebar #TOC ul { columns:2; column-gap:25px; } .sidebar-help { display:none; } .policy-content { padding-top:10px; } .policy-intro { padding-top:47px; } }
@media(max-width:550px) { .site-header { padding:17px 22px; } .brand { font-size:25px; } .small-link { font-size:11px; max-width:155px; text-align:right; } .layout { padding:0 23px 60px; } .hero-row { display:block; } .intro-text { font-size:15px; line-height:1.7; } .policy-intro { padding-top:44px; } .document-layout { margin-top:35px; } .sidebar #TOC ul { columns:1; } .sidebar #TOC a { padding:3px 0; } .policy-content h2 { margin-top:45px; } .policy-content p,.policy-content li { font-size:13px; line-height:1.85; } .site-footer { flex-direction:column; align-items:flex-start; padding:26px 23px; } .home-content { padding:70px 25px; } }
