main:has(.policy-page){overflow:clip}.policy-shell{width:100%;margin-inline:auto}.policy-hero{background:radial-gradient(ellipse at 85% 100%,#163725 0,transparent 56%),var(--ink)}.policy-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;color:#b6c4bb;font-size:15px}.policy-breadcrumb a:hover{color:var(--green)}.policy-hero h1{text-wrap:pretty}.policy-hero p{margin-bottom:0}.policy-body{padding:clamp(24px,5vw,76px) var(--page-gutter) clamp(46px,7vw,100px);background:var(--paper);color:#17221b}.policy-layout{display:grid;grid-template-columns:clamp(220px,23vw,320px) minmax(0,1fr);gap:clamp(22px,3vw,52px);align-items:start}.policy-contents{position:sticky;top:116px;grid-column:1;grid-row:1;display:flex;flex-direction:column;max-height:calc(100vh - 140px);overflow:hidden;border:1px solid #cbd9ce;border-radius:14px;background:#fafcf9}.policy-contents h2,.policy-mobile-contents summary{margin:0 0 10px;color:#225739;font-size:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.policy-contents ul,.policy-mobile-contents ul,.policy-related ul{margin:0;padding:0;list-style:none}.policy-contents ul{overflow-y:auto;scrollbar-color:#92ac99 transparent;scrollbar-width:thin;padding:8px}.policy-contents a,.policy-mobile-contents a{display:grid;grid-template-columns:1.75rem minmax(0,1fr);align-items:baseline;gap:8px;padding:10px;border-radius:5px;color:#35493d;font-size:16px;line-height:1.45}.policy-contents a:hover,.policy-mobile-contents a:hover{background:#deebe1;color:#17472b}.policy-mobile-contents{display:none}.policy-article{grid-column:2;grid-row:1;padding:clamp(24px,4vw,60px);border:1px solid #d6ded7;border-radius:16px;background:#fff;color:#36423a;font-size:calc(clamp(15px, 1.25vw, 17px) + 3px);line-height:1.75;overflow-wrap:anywhere}.policy-intro{padding:16px 20px;border-left:3px solid #4d9f69;background:#eef5ee;color:#293a30}.policy-intro p:last-child,.policy-section>:last-child{margin-bottom:0}.policy-section{scroll-margin-top:118px;margin-top:clamp(27px,4vw,52px);padding-top:clamp(22px,3vw,36px);border-top:1px solid #d7dfd8}.policy-section:target h2{text-decoration:underline 2px #73aa83;text-underline-offset:.24em}.policy-related h2,.policy-section h2{margin-bottom:14px;color:#22613b;font-size:clamp(24px,2.7vw,37px);font-weight:650;line-height:1.16}.policy-section h3{margin:24px 0 8px;color:#28513a;font-size:calc(clamp(18px, 1.8vw, 24px) + 3px);line-height:1.28;letter-spacing:-.026em}.policy-article ol,.policy-article ul{margin:0 0 18px;padding-inline-start:24px}.policy-article li{margin-bottom:5px;padding-inline-start:4px}.policy-article li::marker{color:#33754b}.policy-article a{color:#225d38;text-decoration:underline;text-underline-offset:.21em}.policy-back{display:inline-flex;gap:10px;margin-top:28px;font-weight:600}.policy-related{margin-top:clamp(36px,5vw,72px)}.policy-related ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.policy-related a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:100%;padding:14px 18px;border:1px solid #cddace;border-radius:8px;color:#2d4636;line-height:1.45}.policy-related a:hover{border-color:#508663;background:#e4eee4}.policy-related svg{flex:0 0 16px;width:16px;height:16px;color:#22613b}.policy-page :is(a,summary):focus-visible{outline:2px solid #338752;outline-offset:3px}.policy-hero a:focus-visible{outline-color:var(--green)}@media (max-width:800px){.policy-layout{display:flex;flex-direction:column;gap:16px;align-items:stretch}.policy-contents{display:none}.policy-mobile-contents{display:block;padding:14px 16px;border:1px solid #cddace;border-radius:8px;background:#eef5ee}.policy-mobile-contents summary{margin:0;cursor:pointer}.policy-mobile-contents nav{margin-top:10px}}@media (max-width:560px){.policy-related ul{grid-template-columns:minmax(0,1fr)}}.policy-contents h2{margin:0;padding:18px;border-bottom:1px solid #dce7de;background:#e8f1e9}.policy-section-number{color:#22613b;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.policy-contents a:focus-visible,.policy-mobile-contents a:focus-visible{outline-offset:-2px}@media (max-width:800px){.policy-mobile-contents[open] nav{max-height:min(48svh,24rem);overflow-y:auto}}