.policy-shell { min-height: 100vh; overflow: hidden; }
.policy-home-link { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border: 1px solid rgba(36,214,255,.28); border-radius: 12px; color: #eaf7ff; background: rgba(8,20,33,.82); text-decoration: none; font-size: 12px; font-weight: 760; transition: border-color .2s ease, color .2s ease, transform .2s ease; }
.policy-home-link::before { content: "←"; margin-right: 8px; color: var(--lime); }
.policy-home-link:hover { border-color: rgba(183,255,60,.58); color: #fff; transform: translateY(-1px); }
.policy-home-link:focus-visible, .policy-nav a:focus-visible, .policy-page a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.policy-page { padding: 56px 0 28px; }
.policy-hero { max-width: 980px; padding: 52px 54px; border: 1px solid rgba(80,154,219,.42); border-radius: 26px; background: linear-gradient(135deg, rgba(11,25,42,.94), rgba(5,13,24,.86)); box-shadow: 0 28px 90px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.045); position: relative; overflow: hidden; }
.policy-hero::after { content: ""; position: absolute; width: 390px; height: 390px; right: -170px; top: -230px; border-radius: 50%; background: radial-gradient(circle, rgba(183,255,60,.16), rgba(36,214,255,.06) 38%, transparent 70%); }
.policy-kicker { color: var(--cyan); font-size: 10px; font-weight: 850; letter-spacing: 2px; }
.policy-hero h1 { margin: 13px 0 18px; font-size: clamp(42px, 7vw, 76px); line-height: .98; letter-spacing: -3.4px; }
.policy-hero > p { max-width: 760px; margin: 0; color: #aab8c8; font-size: 16px; line-height: 1.8; }
.policy-hero strong { color: #f4faff; }
.policy-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.policy-meta span { padding: 8px 11px; border: 1px solid rgba(126,163,201,.24); border-radius: 8px; color: #7f91a6; background: rgba(4,13,23,.52); font-size: 10px; letter-spacing: .25px; }
.policy-nav { display: flex; flex-wrap: wrap; gap: 9px; margin: 25px 0 18px; }
.policy-nav a { padding: 10px 13px; border: 1px solid rgba(126,163,201,.18); border-radius: 999px; background: rgba(8,18,30,.7); color: #9aabbd; text-decoration: none; font-size: 11px; transition: color .2s ease, border-color .2s ease, background-color .2s ease; }
.policy-nav a:hover { color: #fff; border-color: rgba(36,214,255,.5); background: rgba(15,37,55,.88); }
.policy-layout { display: grid; gap: 13px; max-width: 1180px; }
.policy-card { display: grid; grid-template-columns: 60px minmax(0,1fr); gap: 26px; padding: 32px 34px; border: 1px solid rgba(111,153,190,.22); border-radius: 18px; background: linear-gradient(145deg, rgba(13,26,42,.84), rgba(6,15,26,.78)); box-shadow: inset 0 1px 0 rgba(255,255,255,.025); scroll-margin-top: 20px; }
.policy-card:hover { border-color: rgba(36,214,255,.34); }
.section-number { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(36,214,255,.32); border-radius: 14px; color: var(--cyan); background: rgba(36,214,255,.05); font-size: 10px; font-weight: 850; letter-spacing: 1px; }
.policy-card h2 { margin: 2px 0 14px; font-size: 23px; letter-spacing: -.5px; }
.policy-card h3 { margin: 23px 0 7px; color: #dce8f3; font-size: 13px; }
.policy-card p, .policy-card li { color: #92a2b5; font-size: 13px; line-height: 1.82; }
.policy-card p { margin: 0 0 12px; }
.policy-card p:last-child { margin-bottom: 0; }
.policy-card ul { margin: 4px 0 15px; padding-left: 20px; }
.policy-card li { padding-left: 5px; margin: 6px 0; }
.policy-card li::marker { color: var(--lime); }
.policy-card strong { color: #dce8f3; }
.policy-card code { padding: 2px 6px; border: 1px solid rgba(126,163,201,.2); border-radius: 5px; background: #07111d; color: var(--lime); font-size: 11px; }
.policy-card a { color: var(--cyan); text-underline-offset: 3px; }
.policy-summary { border-color: rgba(183,255,60,.35); background: linear-gradient(145deg, rgba(22,39,33,.72), rgba(7,18,28,.84)); }
.policy-summary .section-number { border-color: rgba(183,255,60,.42); color: var(--lime); background: rgba(183,255,60,.06); }
.policy-contact { border-color: rgba(36,214,255,.35); }
.policy-shell .site-footer a { color: #72869d; text-decoration: none; }
.policy-shell .site-footer a:hover { color: var(--cyan); }

@media (max-width: 760px) {
  .policy-page { padding-top: 30px; }
  .policy-hero { padding: 38px 30px; border-radius: 21px; }
  .policy-hero h1 { letter-spacing: -2.2px; }
  .policy-card { grid-template-columns: 1fr; gap: 17px; padding: 27px 25px; }
  .section-number { width: 40px; height: 40px; border-radius: 12px; }
}

@media (max-width: 480px) {
  .policy-home-link { width: 42px; overflow: hidden; white-space: nowrap; padding: 0 13px; color: transparent; gap: 0; }
  .policy-home-link::before { color: var(--lime); margin: 0; font-size: 18px; }
  .policy-hero { padding: 31px 23px; }
  .policy-hero h1 { font-size: 42px; }
  .policy-hero > p { font-size: 14px; }
  .policy-nav { gap: 7px; }
  .policy-nav a { font-size: 10px; padding: 9px 11px; }
  .policy-card { padding: 24px 21px; }
  .policy-card h2 { font-size: 21px; }
  .policy-card p, .policy-card li { font-size: 12px; }
}
