:root{--ink:#0d2731;--muted:#5f747c;--teal:#087d83;--teal-dark:#045b61;--blue:#1667a8;--gold:#d8a832;--paper:#f6faf9;--line:#dce8e6;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif;line-height:1.72}
a{color:var(--teal-dark)}
.policyShell{min-height:100vh;background:radial-gradient(circle at 85% 4%,rgba(216,168,50,.16),transparent 23rem),linear-gradient(180deg,#edf7f5 0,#f8fbfa 28rem)}
.policyNav{height:84px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(13,39,49,.1);background:rgba(255,255,255,.86);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}
.policyNav img{width:168px;height:auto;display:block}
.backLink{text-decoration:none;font-size:.9rem;font-weight:700;letter-spacing:.02em;display:flex;gap:.5rem;align-items:center}
.policyHero{padding:88px clamp(22px,7vw,112px) 72px;max-width:1440px;margin:auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:56px;align-items:end}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--teal);font-size:.75rem;font-weight:800;margin:0 0 18px}
.policyHero h1{font-size:clamp(3rem,7vw,6.7rem);line-height:.93;letter-spacing:-.065em;margin:0;max-width:850px;font-weight:750}
.policyHero h1 em{display:block;color:var(--teal);font-family:Georgia,serif;font-weight:400}
.heroIntro{border-left:3px solid var(--gold);padding-left:24px;color:var(--muted);font-size:1.04rem}
.heroIntro strong{display:block;color:var(--ink);margin-bottom:8px}
.policyLayout{max-width:1260px;margin:auto;padding:0 clamp(22px,5vw,76px) 100px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:64px;align-items:start}
.toc{position:sticky;top:112px;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 18px 45px rgba(13,39,49,.06)}
.toc b{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--teal);margin-bottom:15px}
.toc a{display:block;text-decoration:none;color:#3d555d;font-size:.88rem;padding:7px 0;border-bottom:1px solid #edf2f1}
.toc a:last-child{border:0}
.policyContent{background:var(--white);border:1px solid var(--line);border-radius:26px;padding:clamp(28px,5vw,72px);box-shadow:0 22px 60px rgba(13,39,49,.07)}
.summary{font-size:1.15rem;color:#38515a;margin:0 0 42px;padding:0 0 34px;border-bottom:1px solid var(--line)}
.policySection{scroll-margin-top:110px;margin:0 0 46px}
.sectionNo{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:#e8f5f2;color:var(--teal-dark);font-weight:800;font-size:.84rem;margin-bottom:10px}
.policySection h2{font-size:clamp(1.45rem,3vw,2rem);line-height:1.2;letter-spacing:-.025em;margin:0 0 15px}
.policySection h3{font-size:1.02rem;margin:24px 0 8px}
.policySection p,.policySection li{color:#526a72}
.policySection ul{padding-left:22px}
.policySection li{margin:8px 0}
.noticeBox{padding:24px 26px;border-radius:16px;background:linear-gradient(135deg,#eaf7f4,#f7fbfa);border-left:4px solid var(--teal);margin:24px 0}
.contactCard{background:var(--ink);color:#fff;border-radius:20px;padding:30px;margin-top:24px}
.contactCard p,.contactCard address{color:#d8e5e7;font-style:normal}
.contactCard a{color:#f7c84b}
.policyFooter{padding:34px clamp(22px,5vw,76px);background:#08242c;color:#c8dadd;display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:.86rem}
.policyFooter img{width:130px;filter:brightness(0) invert(1)}
.policyFooter a{color:#fff}
@media(max-width:850px){.policyHero{grid-template-columns:1fr;padding-top:58px}.policyLayout{grid-template-columns:1fr}.toc{position:relative;top:auto}.policyNav{height:72px}.policyNav img{width:140px}.policyFooter{flex-direction:column;align-items:flex-start}}
@media(max-width:520px){.policyHero h1{font-size:3.05rem}.policyContent{border-radius:18px}.backLink span{display:none}.policyHero{padding-bottom:44px}.policyLayout{padding-bottom:60px}}
