.policy-page { min-height:100vh; color:var(--ink); background:#f7f2e9; }
.policy-topbar { min-height:82px; padding:12px clamp(20px,5vw,74px); display:flex; align-items:center; justify-content:space-between; gap:24px; background:#32133f; color:#fff; }
.policy-brand { width:178px; display:block; line-height:0; }
.policy-brand img { width:100%; height:auto; display:block; }
.policy-topbar nav { display:flex; align-items:center; gap:25px; color:rgba(255,255,255,.85); font-size:.81rem; font-weight:600; }
.policy-topbar nav a:hover { color:#e9cf92; }
.policy-main { width:min(1190px,calc(100% - 48px)); margin:0 auto; padding:33px 0 68px; }
.policy-back { display:inline-flex; margin-bottom:20px; color:#725a78; font-size:.77rem; font-weight:600; }
.policy-heading { max-width:850px; margin-bottom:23px; }
.policy-heading .eyebrow { margin:0 0 11px; }
.policy-heading h1 { margin:0; color:#281d2b; font-family:var(--serif); font-size:clamp(2.45rem,5vw,4.2rem); font-weight:400; line-height:1.05; letter-spacing:-.04em; }
.policy-heading > p:last-child { max-width:750px; margin:15px 0 0; color:#766d75; font-size:.94rem; line-height:1.65; }
.policy-draft { margin:24px 0 29px; padding:16px 19px; border:1px solid rgba(166,119,57,.28); border-left:4px solid #c89c49; border-radius:10px; background:#fff9ed; }
.policy-draft strong { color:#573d28; font-size:.81rem; }
.policy-draft p { margin:5px 0 0; color:#776b68; font-size:.75rem; line-height:1.6; }
.policy-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:38px; align-items:start; }
.policy-index { position:sticky; top:18px; padding:17px 15px; display:grid; gap:5px; border:1px solid rgba(50,19,63,.1); border-radius:13px; background:#fffdfa; }
.policy-index strong { margin:0 0 6px; color:#50355a; font-size:.73rem; }
.policy-index a { padding:8px 9px; border-radius:7px; color:#756a74; font-size:.69rem; line-height:1.35; }
.policy-index a:hover { color:#32133f; background:#f4edf5; }
.policy-content { min-width:0; }
.policy-content section { position:relative; padding:0 0 25px 47px; margin:0 0 24px; border-bottom:1px solid rgba(50,19,63,.11); scroll-margin-top:20px; }
.policy-content section:last-child { border-bottom:0; }
.policy-number { position:absolute; top:0; left:0; width:31px; height:31px; display:grid; place-items:center; border-radius:50%; color:#715738; background:#f1e7d3; font-size:.66rem; font-weight:700; }
.policy-content h2 { margin:0 0 10px; color:#382142; font-family:var(--serif); font-size:1.55rem; font-weight:500; line-height:1.22; }
.policy-content p { margin:9px 0 0; color:#706771; font-size:.81rem; line-height:1.75; }
.policy-content ul { margin:12px 0 0; padding-left:20px; color:#706771; font-size:.78rem; line-height:1.75; }
.policy-content li { padding-left:3px; margin:4px 0; }
.policy-example { margin:14px 0 5px; padding:13px 15px; display:grid; gap:5px; border-left:3px solid #927397; border-radius:0 9px 9px 0; background:#f2edf2; }
.policy-example strong { color:#4b3352; font-size:.73rem; }
.policy-example span { color:#756b75; font-size:.72rem; line-height:1.55; }
.policy-example--warm { border-color:#c99d4b; background:#faf3e5; }
.policy-example--warm strong { color:#614a2e; }
.policy-next { margin-top:23px; padding:22px 25px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-radius:15px; background:#eee6da; }
.policy-next .eyebrow { margin:0 0 6px; font-size:.58rem; }
.policy-next h2 { margin:0; color:#35203d; font-family:var(--serif); font-size:1.45rem; font-weight:500; }
.policy-next p:last-child { margin:6px 0 0; color:#7b7279; font-size:.71rem; }
.policy-next .button { flex:0 0 auto; font-size:.75rem; }
.policy-footer { min-height:69px; padding:16px clamp(20px,5vw,74px); display:flex; align-items:center; justify-content:space-between; gap:18px; color:#726873; background:#efe7db; font-size:.68rem; }
.policy-footer a:first-child { color:#50315a; font-weight:700; letter-spacing:.08em; }
.policy-footer a:last-child { color:#62496b; font-weight:600; }
@media(max-width:760px) { .policy-topbar { min-height:70px; } .policy-brand { width:145px; } .policy-topbar nav { gap:14px; font-size:.71rem; } .policy-main { width:calc(100% - 32px); padding-top:25px; } .policy-layout { grid-template-columns:1fr; gap:18px; } .policy-index { position:static; display:flex; flex-wrap:wrap; align-items:center; gap:5px; } .policy-index strong { width:100%; } .policy-index a { padding:7px 9px; border:1px solid rgba(50,19,63,.08); } .policy-content section { padding-left:42px; } }
@media(max-width:480px) { .policy-topbar { padding-inline:15px; flex-wrap:wrap; gap:9px; } .policy-brand { width:130px; } .policy-topbar nav { width:100%; order:3; justify-content:center; padding-top:8px; border-top:1px solid rgba(255,255,255,.12); } .policy-main { width:calc(100% - 24px); } .policy-heading h1 { font-size:2.45rem; } .policy-heading > p:last-child { font-size:.84rem; } .policy-draft { padding:13px; } .policy-content section { padding-left:39px; } .policy-content h2 { font-size:1.32rem; } .policy-content p { font-size:.76rem; } .policy-next { align-items:flex-start; flex-direction:column; padding:18px; } .policy-footer { flex-wrap:wrap; justify-content:center; text-align:center; font-size:.62rem; } }
