/* Policy pages — same palette as the home page: the app icon's three blues,
   its background tint, white, and a deep blue for text. */
:root{
  --blue-1:#1E78F0; --blue-2:#2D8BF7; --blue-3:#59AEFF; --tint:#EAF3FF;
  --white:#FFFFFF; --text:#0B2A55; --text-soft:#4A6283; --line:#D3E4FB;
}
*{ margin:0; padding:0; box-sizing:border-box; }
body{ background:var(--white); color:var(--text); font-family:'Inter', system-ui, sans-serif; -webkit-font-smoothing:antialiased; line-height:1.7; }
h1,h2,.brand-name,.price{ font-family:'Plus Jakarta Sans', 'Inter', sans-serif; letter-spacing:-0.02em; }
a{ color:var(--blue-1); }
a:hover{ color:var(--blue-2); }
:focus-visible{ outline:3px solid var(--blue-3); outline-offset:3px; border-radius:6px; }
.wrap{ max-width:820px; margin:0 auto; padding:0 24px; }
header{ position:sticky; top:0; z-index:5; background:rgba(255,255,255,0.9); backdrop-filter:saturate(180%) blur(12px); border-bottom:1px solid var(--line); }
header nav{ display:flex; align-items:center; justify-content:space-between; height:64px; }
.brand{ display:flex; align-items:center; gap:10px; color:var(--text); text-decoration:none; }
.app-logo{ width:34px; height:34px; border-radius:10px; display:block; box-shadow:0 2px 8px rgba(30,120,240,0.2); flex-shrink:0; }
.brand-name{ font-weight:800; font-size:17px; }
.back{ font-size:14px; font-weight:500; color:var(--text-soft); text-decoration:none; }
.back:hover{ color:var(--blue-1); }
.doc{ padding-top:56px; padding-bottom:80px; }
.kicker{ font-size:13px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--blue-1); margin-bottom:12px; }
h1{ font-weight:800; font-size:clamp(32px, 5vw, 44px); line-height:1.15; }
.updated{ font-size:14px; color:var(--text-soft); margin:10px 0 28px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.lead{ font-size:18px; color:var(--text-soft); margin-bottom:12px; }
section{ margin-top:36px; }
h2{ font-weight:700; font-size:21px; margin-bottom:10px; }
p{ margin-bottom:10px; }
ul{ margin:4px 0 12px 22px; }
li{ margin-bottom:6px; }
li::marker{ color:var(--blue-3); }
.fine{ font-size:14px; color:var(--text-soft); margin-top:14px; }
/* pricing page: equal-weight country prices */
.plans{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:28px; }
.plan{ background:var(--white); border:1px solid var(--line); border-radius:22px; padding:26px; }
.plan-pro{ border:2px solid var(--blue-1); box-shadow:0 16px 40px rgba(30,120,240,0.14); }
.plan-name{ font-family:'Plus Jakarta Sans', sans-serif; font-weight:800; font-size:20px; margin-bottom:14px; }
.prices{ display:grid; grid-template-columns:1fr; gap:10px; margin-bottom:16px; }
.price-box{ background:var(--tint); border-radius:14px; padding:14px 10px; text-align:center; }
.price-country{ font-size:12.5px; font-weight:600; color:var(--text-soft); }
.price{ font-weight:800; font-size:28px; color:var(--blue-1); line-height:1.25; }
.price-per{ font-size:12.5px; color:var(--text-soft); }
.price-note{ font-size:13.5px; color:var(--text-soft); margin-bottom:14px; }
.ticks{ list-style:none; margin:0; }
.ticks li{ padding-left:24px; position:relative; font-size:15px; }
.ticks li::before{ content:'✓'; position:absolute; left:0; color:var(--blue-1); font-weight:700; }
footer{ border-top:1px solid var(--line); padding:28px 0 36px; }
.foot{ display:flex; flex-direction:column; gap:12px; font-size:13.5px; color:var(--text-soft); }
.foot-links{ display:flex; flex-wrap:wrap; gap:8px 20px; font-size:14px; }
.foot-links a{ color:var(--text-soft); text-decoration:none; }
.foot-links a:hover, .foot-links a[aria-current="page"]{ color:var(--blue-1); }
@media (max-width:640px){ .plans{ grid-template-columns:1fr; } .back{ display:none; } }
/* shiny cards — same finish as the home page */
.plan, .price-box{ position:relative; overflow:hidden; isolation:isolate;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.95), 0 1px 2px rgba(11,42,85,0.06), 0 8px 20px rgba(30,120,240,0.10), 0 22px 48px rgba(11,42,85,0.10); }
.plan{ background:linear-gradient(160deg, #FFFFFF 0%, #FFFFFF 45%, var(--tint) 100%); }
.price-box{ background:linear-gradient(160deg, #FFFFFF 0%, var(--tint) 55%, #DCEBFE 100%); }
.plan-pro{ box-shadow:inset 0 1px 0 rgba(255,255,255,0.95), 0 2px 4px rgba(11,42,85,0.06), 0 18px 40px rgba(30,120,240,0.22), 0 40px 80px rgba(30,120,240,0.16); }
.plan::before, .price-box::before{ content:''; position:absolute; inset:0 0 auto 0; height:55%; z-index:-1; pointer-events:none; background:linear-gradient(180deg, rgba(255,255,255,0.85), rgba(255,255,255,0)); }
.plan::after, .price-box::after{ content:''; position:absolute; top:-60%; left:-80%; width:45%; height:220%; pointer-events:none; background:linear-gradient(105deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.75) 50%, rgba(255,255,255,0) 100%); transform:rotate(18deg); opacity:0; }
.plan:hover::after, .price-box:hover::after{ animation:sheen 0.9s ease forwards; }
@keyframes sheen{ 0%{ left:-80%; opacity:0; } 15%{ opacity:1; } 100%{ left:140%; opacity:0; } }
@media (prefers-reduced-motion: reduce){ *{ animation:none !important; } }
/* phones: short country label keeps the two price boxes equal */
.price-country{ white-space:nowrap; }
.price-country .short{ display:none; }
@media (max-width:640px){
  .wrap{ padding:0 18px; }
  .doc{ padding-top:36px; padding-bottom:56px; }
  .price-country .long{ display:none; }
  .price-country .short{ display:inline; }
  .price{ font-size:26px; }
  .plan{ padding:20px 16px; }
}
