.policy-hero{min-height:520px}
.policy-section{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:clamp(55px,9vw,150px);padding:clamp(90px,10vw,150px) clamp(24px,8vw,140px)}
.policy-intro{position:sticky;top:118px;align-self:start}
.policy-intro h2{margin:40px 0 28px;font:600 clamp(34px,4vw,55px)/1.55 var(--serif);letter-spacing:.01em}
.policy-intro h2 span{white-space:nowrap}
.policy-catch{margin:0;padding-left:22px;color:var(--forest);border-left:2px solid var(--brass);font:600 14px/2 var(--serif)}
.policy-lead{margin:0 0 55px;padding:0 0 38px;color:var(--ink);border-bottom:1px solid var(--forest);font-size:14px;line-height:2.2}
.policy-list{margin:0;padding:0;list-style:none}
.policy-list li{display:grid;grid-template-columns:58px 1fr;gap:25px;padding:34px 0;border-bottom:1px solid var(--line)}
.policy-list li:first-child{padding-top:0}
.policy-list>li>span{padding-top:5px;color:var(--brass);font:600 11px/1 var(--latin);letter-spacing:.12em}
.policy-list h3{margin:0 0 16px;color:var(--forest);font:600 clamp(19px,2vw,25px)/1.6 var(--serif)}
.policy-list p{margin:0;color:var(--muted);font-size:13px;line-height:2.15}
.policy-note{margin:42px 0 0;padding:24px 28px;color:#66716c;background:#f0f2ec;font-size:11px;line-height:2}
@media(max-width:850px){.policy-section{grid-template-columns:1fr;gap:48px}.policy-intro{position:static}.policy-intro h2{margin-top:28px}.policy-lead{margin-bottom:40px}}
@media(max-width:720px){.policy-hero{min-height:470px}.policy-hero h1{font-size:52px}.policy-intro h2{font-size:28px}.policy-list li{grid-template-columns:40px 1fr;gap:13px;padding:28px 0}.policy-list h3{font-size:19px}.policy-list p{font-size:12px}.policy-note{padding:20px;font-size:10px}}
