.policy-page { background:#f1effc; }
.policy-page .site-header { position:sticky; top:12px; z-index:50; background:rgba(255,255,255,.88); }
.policy-page main { position:relative; }
.policy-shell { width:min(1280px,calc(100% - 64px)); margin-inline:auto; }
.policy-hero { position:relative; margin-top:-140px; padding:250px 0 92px; overflow:hidden; color:#fff; background:radial-gradient(circle at 78% 23%,rgba(130,103,255,.85),transparent 30%),radial-gradient(circle at 14% 86%,rgba(255,105,179,.35),transparent 28%),linear-gradient(135deg,#111652 0%,#28217f 48%,#6731aa 100%); }
.policy-hero::before { content:""; position:absolute; inset:0; opacity:.38; background-image:radial-gradient(circle,#fff 1px,transparent 1.5px); background-size:44px 44px; mask-image:linear-gradient(to bottom,#000,transparent 84%); }
.policy-hero__glow { position:absolute; right:-90px; bottom:-180px; width:520px; aspect-ratio:1; border:1px solid rgba(255,255,255,.28); border-radius:50%; box-shadow:0 0 0 48px rgba(255,255,255,.04),0 0 0 100px rgba(255,255,255,.025); }
.policy-hero__inner { position:relative; }
.policy-kicker { display:inline-flex; padding:9px 15px; border:1px solid rgba(255,255,255,.28); border-radius:999px; color:#ffd8b8; background:rgba(255,255,255,.08); font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.policy-hero h1 { max-width:980px; margin:24px 0 0; font-size:clamp(42px,5.5vw,76px); line-height:.98; letter-spacing:-.055em; }
.policy-hero p { max-width:720px; margin:25px 0 0; color:rgba(255,255,255,.75); font-size:clamp(16px,1.4vw,20px); line-height:1.55; }
.policy-hero__meta { margin-top:34px; display:flex; flex-wrap:wrap; gap:10px; }
.policy-hero__meta span { padding:11px 15px; border-radius:13px; background:rgba(255,255,255,.1); font-size:12px; font-weight:750; }
.policy-layout { padding:72px 0 110px; display:grid; grid-template-columns:280px minmax(0,1fr); gap:54px; align-items:start; }
.policy-toc { position:sticky; top:150px; padding:24px; border:1px solid rgba(255,255,255,.9); border-radius:24px; background:rgba(255,255,255,.67); box-shadow:0 18px 45px rgba(59,45,135,.09); backdrop-filter:blur(14px); }
.policy-toc>strong { display:block; margin-bottom:16px; font-size:17px; }
.policy-toc nav { display:grid; gap:5px; }
.policy-toc a { padding:10px 8px; display:grid; grid-template-columns:30px 1fr; gap:7px; align-items:start; border-radius:10px; color:#57516d; font-size:12px; line-height:1.35; transition:.2s ease; }
.policy-toc a span { color:#ff7114; font-weight:900; }
.policy-toc a:hover { color:#211c63; background:#fff; transform:translateX(3px); }
.policy-document { min-width:0; display:grid; gap:20px; }
.policy-document>section { position:relative; padding:42px 48px; scroll-margin-top:145px; border:1px solid rgba(255,255,255,.94); border-radius:30px; background:rgba(255,255,255,.82); box-shadow:0 20px 50px rgba(53,41,126,.08); }
.policy-section__number { position:absolute; top:35px; right:40px; color:rgba(94,70,196,.1); font-size:54px; font-weight:950; line-height:1; }
.policy-document h2 { position:relative; max-width:760px; margin:0 72px 25px 0; color:#17164c; font-size:clamp(24px,2.4vw,34px); line-height:1.08; letter-spacing:-.035em; }
.policy-document p,.policy-document li { color:#4f4a62; font-size:15px; line-height:1.72; }
.policy-document p { margin:0 0 18px; }
.policy-document ol { margin:0; padding-left:24px; display:grid; gap:15px; }
.policy-document li { padding-left:8px; }
.policy-document li::marker { color:#ff7114; font-weight:900; }
.policy-document a { color:#5436bd; font-weight:750; text-decoration:underline; text-decoration-color:rgba(84,54,189,.3); text-underline-offset:3px; overflow-wrap:anywhere; }
.policy-document strong { color:#292451; }
.policy-document h3 { margin:34px 0 15px; color:#252052; font-size:19px; }
.offer-list { margin:0 0 24px; padding:22px 24px 22px 42px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 28px; border-radius:20px; color:#4f4a62; background:#f5f2ff; font-size:15px; line-height:1.5; }
.offer-list li::marker { color:#ff7114; }
.offer-approved { margin-top:28px!important; padding:17px 20px; border-radius:15px; background:#f5f2ff; }
.policy-contact { padding:32px 38px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-radius:26px; color:#fff; background:linear-gradient(120deg,#211b75,#6540c6); box-shadow:0 20px 45px rgba(73,46,171,.22); }
.policy-contact span { font-size:17px; font-weight:750; }
.policy-contact a { min-height:52px; padding:0 20px; display:inline-flex; align-items:center; gap:18px; border-radius:14px; color:#fff; background:linear-gradient(135deg,#ff9410,#ff5e00); text-decoration:none; }
.policy-footer { margin-top:0; }
.policy-footer .footer-bottom a { color:#ffd2ad; }
@media(max-width:980px){
  .policy-page .site-header{top:8px}
  .policy-hero{margin-top:-118px;padding:210px 0 76px}
  .policy-layout{grid-template-columns:1fr;gap:24px}
  .policy-toc{position:relative;top:auto}
  .policy-toc nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .policy-shell{width:calc(100% - 28px)}
  .policy-page .site-header{position:relative;top:auto}
  .policy-hero{margin-top:-90px;padding:160px 0 58px}
  .policy-hero h1{font-size:clamp(37px,11vw,52px)}
  .policy-hero__meta{display:grid}
  .policy-layout{padding:34px 0 70px}
  .policy-toc{padding:20px}
  .policy-toc nav{grid-template-columns:1fr}
  .policy-document>section{padding:32px 22px;border-radius:24px}
  .policy-section__number{top:25px;right:22px;font-size:44px}
  .policy-document h2{margin-right:50px;font-size:25px}
  .policy-document p,.policy-document li{font-size:14px;line-height:1.65}
  .policy-contact{padding:25px 22px;display:grid}
  .offer-list{grid-template-columns:1fr;font-size:14px}
}
