/* Layout: clinical case-file — white ground, deep healthcare blue; sections ruled like a chart; data in mono */
:root{
  --bg:#FFFFFF;--paper:#F3F6FA;--ink:#0E2233;--muted:#4F6175;--rule:#D7E0EA;
  --blue:#0B4C8C;--blue-deep:#08325E;--silver:#8A9BAE;--ok:#1F7A4D;--warn:#B4541A;--on-blue:#FFFFFF;--pale:#D3E2F2;
  --display:"Newsreader",Georgia,"Times New Roman",serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0A1622;--paper:#102131;--ink:#E6EEF6;--muted:#9DB0C3;--rule:#22384D;
  --blue:#6FA8E6;--blue-deep:#0E3A66;--silver:#6E8296;--ok:#5BC08B;--warn:#E8925A;--on-blue:#FFFFFF;--pale:#C9D8E8;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0A1622;--paper:#102131;--ink:#E6EEF6;--muted:#9DB0C3;--rule:#22384D;
  --blue:#6FA8E6;--blue-deep:#0E3A66;--silver:#6E8296;--ok:#5BC08B;--warn:#E8925A;--on-blue:#FFFFFF;--pale:#C9D8E8;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;margin:0}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg)}
a{color:var(--blue)}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}
.wrap{max-width:1140px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.12;text-wrap:balance;margin:0}
h1{font-size:clamp(2.4rem,6vw,4.4rem);letter-spacing:-.02em;line-height:1.03}
h1 em{font-style:italic;color:var(--blue)}
h2{font-size:clamp(1.8rem,3.8vw,2.6rem);letter-spacing:-.01em}
h3{font-size:1.25rem}
p{margin:0}
.eyebrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.lede{font-size:1.1rem;color:var(--muted);max-width:64ch}
.muted{color:var(--muted)}
.fine{font-size:.85rem;color:var(--muted);max-width:78ch}
section{padding-block:clamp(56px,8vw,96px);border-top:1px solid var(--rule)}
.sec-head{display:grid;gap:14px;margin-bottom:36px;max-width:780px}
.stack{display:grid;gap:16px}
.prose{display:grid;gap:14px;max-width:72ch}
.prose ul,.prose ol{margin:0;padding-left:20px;display:grid;gap:6px}

/* header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px}
.brand{display:flex;flex-direction:column;line-height:1.1;text-decoration:none;color:var(--ink)}
.brand b{font-family:var(--display);font-weight:600;font-size:1.2rem;letter-spacing:.02em}
.brand small{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}
.navlinks{display:flex;gap:18px;align-items:center;font-size:.9rem}
.navlinks a{text-decoration:none;color:var(--muted)}
.navlinks a:hover,.navlinks a[aria-current="page"]{color:var(--ink)}
.navlinks a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--blue)}
.menu-btn{display:none;background:none;border:1px solid var(--rule);border-radius:8px;padding:8px 12px;font:inherit;color:var(--ink);cursor:pointer}
.mobile-nav{border-top:1px solid var(--rule);padding-block:12px}
.mobile-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.mobile-nav a{display:block;padding:10px 0;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--rule)}
@media (max-width:1020px){.navlinks a:not(.btn){display:none}.menu-btn{display:inline-block}}
@media (max-width:560px){.navlinks .btn{display:none}}
section{scroll-margin-top:84px}
@media (min-width:1021px){.mobile-nav{display:none!important}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:999px;background:var(--blue);color:var(--on-blue);font-weight:500;text-decoration:none;border:1px solid var(--blue);font-family:var(--body);font-size:.95rem;cursor:pointer}
.btn:hover{background:var(--blue-deep);border-color:var(--blue-deep)}
.btn.ghost{background:transparent;color:var(--blue)}
.btn.ghost:hover{background:var(--paper)}
.navlinks .btn{color:var(--on-blue);padding:9px 16px}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* hero */
.hero{border-top:0;padding-block:clamp(44px,7vw,88px)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,60px);align-items:center}
.hero-grid>*{min-width:0}
.hero .lede{margin-top:20px}
.hero .row{margin-top:28px}
.page-hero{border-top:0;padding-block:clamp(40px,6vw,72px) clamp(32px,5vw,56px);background:var(--paper)}
.page-hero .lede{margin-top:16px}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}

/* case card */
.case{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:22px;font-family:var(--mono);font-size:.82rem;box-shadow:0 18px 40px -28px rgba(8,50,94,.45)}
.case-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:12px;border-bottom:1px dashed var(--silver);flex-wrap:wrap}
.case-top strong{font-family:var(--body);font-weight:600;font-size:.95rem}
.case-top span{color:var(--muted);font-size:.72rem}
.case ul{list-style:none;padding:14px 0 0;margin:0;display:grid;gap:8px}
.case li{display:grid;grid-template-columns:22px 1fr;gap:6px}
.st-done{color:var(--ok)}.st-prog{color:var(--blue)}.st-up{color:var(--silver)}.st-act{color:var(--warn)}
.next{margin-top:14px;padding:12px;border-radius:10px;background:var(--bg);border:1px solid var(--blue)}
.next b{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:4px}

/* grids and cards */
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:960px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{border:1px solid var(--rule);border-radius:14px;padding:24px;display:grid;gap:10px;align-content:start;min-width:0;background:var(--bg)}
.card.tint{background:var(--paper)}
.card .tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.card p{color:var(--muted);font-size:.95rem}
.card ul{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:6px;font-size:.95rem}
.fig b{display:block;font-family:var(--mono);font-weight:500;font-size:1.25rem;font-variant-numeric:tabular-nums;color:var(--ink)}
.fig small{font-family:var(--mono);font-size:.75rem;color:var(--muted)}
.more{font-weight:500;text-decoration:none}
.more::after{content:" →"}

/* stages */
.stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border-top:2px solid var(--blue)}
.stages li{padding:18px 14px 0 0;position:relative;min-width:0;display:grid;gap:6px;align-content:start}
.stages li::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--blue)}
.stages .k{font-family:var(--mono);font-size:.7rem;color:var(--muted);letter-spacing:.1em}
.stages b{font-size:.98rem}
.stages p{font-size:.86rem;color:var(--muted)}
.stages .opt::before{border-style:dashed}
@media (max-width:900px){.stages{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--blue);gap:20px;padding-left:22px}.stages li{padding:0}.stages li::before{top:5px;left:-30px}}

/* tables */
.tbl-wrap{overflow-x:auto}
table.rt{width:100%;border-collapse:collapse;font-size:.92rem}
.rt th,.rt td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--rule);vertical-align:top}
.rt th{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500;background:var(--paper)}
.rt td.num,.rt th.num{font-variant-numeric:tabular-nums;font-family:var(--mono);white-space:nowrap}
.rt tr.hl td{background:var(--paper)}
.rt caption{text-align:left;font-size:.85rem;color:var(--muted);padding-bottom:10px;caption-side:top}
@media (max-width:720px){
  .rt thead{display:none}
  .rt,.rt tbody{display:grid;gap:12px}
  .rt tr{display:grid;border:1px solid var(--rule);border-radius:12px;padding:8px 14px;background:var(--bg)}
  .rt td{display:grid;grid-template-columns:38% minmax(0,1fr);gap:10px;border:0;padding:6px 0}
  .rt td.num{white-space:normal}
  .rt td::before{content:attr(data-label);font-family:var(--mono);font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding-top:2px}
  .rt caption{display:block}
}
.badge{display:inline-block;font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--rule);color:var(--muted);white-space:nowrap}
.badge.off{border-color:var(--blue);color:var(--blue)}
.badge.ind{border-color:var(--silver)}
.badge.chk{border-color:var(--warn);color:var(--warn)}

/* question band */
.band{background:var(--blue-deep);color:var(--on-blue);border-top:0}
.band .eyebrow{color:#A9C8EA}
.band h2{color:var(--on-blue);max-width:24ch}
.band p{color:var(--pale);max-width:66ch}
.band .quote{margin-top:28px;font-family:var(--display);font-style:italic;font-size:clamp(1.4rem,3vw,2rem);color:#FFFFFF;border-left:2px solid #A9C8EA;padding-left:20px}
.band .grid .card{background:transparent;border-color:rgba(169,200,234,.35)}
.band .grid .card h3{color:#FFFFFF}
.band .grid .card p{color:var(--pale)}

/* forms and tools */
.tool{border:1px solid var(--rule);border-radius:16px;padding:clamp(20px,3vw,32px);background:var(--paper);display:grid;gap:20px}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fields .full{grid-column:1/-1}
@media (max-width:640px){.fields{grid-template-columns:1fr}}
.field{display:grid;gap:6px;min-width:0}
.field label,.field legend{font-weight:500;font-size:.92rem}
.field .hint{font-size:.8rem;color:var(--muted)}
input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:10px;padding:10px 12px;width:100%;min-width:0}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px}
fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}
.check{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-size:.9rem}
.check input{width:18px;height:18px;margin-top:3px;padding:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.result{border:1px solid var(--blue);border-radius:14px;padding:20px;background:var(--bg);display:grid;gap:12px}
.result table{width:100%;border-collapse:collapse;font-size:.92rem}
.result td{padding:7px 0;border-bottom:1px dashed var(--rule)}
.result td:last-child{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
.result tr.total td{font-weight:600;border-bottom:0}
.notice{border-left:3px solid var(--warn);padding:10px 14px;background:var(--bg);font-size:.9rem;color:var(--muted)}
.ok-msg{border-left:3px solid var(--ok);padding:12px 14px;background:var(--bg)}
.planner{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:m}
.planner li{border:1px solid var(--rule);border-radius:12px;padding:14px 16px;background:var(--bg);display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px}
.planner li.next-up{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.planner li.done{opacity:.6}
.planner .meta{font-size:.82rem;color:var(--muted);display:grid;gap:2px;margin-top:4px}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs button{font:inherit;font-size:.88rem;padding:8px 14px;border-radius:999px;border:1px solid var(--rule);background:var(--bg);color:var(--ink);cursor:pointer}
.tabs button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:var(--on-blue)}

/* faq */
.faq{display:grid;border-top:1px solid var(--rule);max-width:880px}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-family:var(--display);font-size:1.15rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--mono);color:var(--blue);font-size:1.3rem}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 0 20px;color:var(--muted);max-width:72ch;display:grid;gap:10px}
.faq-group{margin-top:32px}
.faq-group:first-child{margin-top:0}

/* cta + footer */
.cta{background:var(--paper)}
.cta-box{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.cta-box h2{max-width:22ch}
.mail{font-family:var(--mono);word-break:break-all;user-select:all}
.copied{font-size:.85rem;color:var(--ok);min-height:1.3em}
footer.site{border-top:1px solid var(--rule);padding-block:44px 56px;font-size:.86rem;color:var(--muted)}
.foot{display:grid;grid-template-columns:1fr 1fr 2fr;gap:28px}
.foot>*{min-width:0}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.foot a{color:var(--muted)}
.sig{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;line-height:2;color:var(--blue)}
.disc{font-size:.8rem;line-height:1.65}
@media (max-width:820px){.foot{grid-template-columns:1fr 1fr}.foot .disc{grid-column:1/-1}}
@media (max-width:480px){.foot{grid-template-columns:1fr}}

/* selling layer: trust strip, pros, steps, sticky CTA */
:root{--gold:#9A6A12;--gold-bg:#FBF3E2}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--gold:#E3BE6E;--gold-bg:#2A2312}}
:root[data-theme="dark"]{--gold:#E3BE6E;--gold-bg:#2A2312}
.free{display:inline-block;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);background:var(--gold-bg);border-radius:999px;padding:3px 10px}
.micro{font-size:.85rem;color:var(--muted);margin-top:12px}
.trust{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding-block:18px;background:var(--bg)}
.trust ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
.trust li{display:flex;gap:8px;align-items:center;font-size:.92rem;font-weight:500}
.trust li::before{content:"✓";color:var(--ok);font-family:var(--mono)}
.pros{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pros li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;color:var(--ink);font-size:.97rem}
.pros li::before{content:"✓";color:var(--ok);font-family:var(--mono);font-weight:500}
.pros li small{display:block;color:var(--muted);font-size:.82rem}
.route{border:1px solid var(--rule);border-radius:18px;padding:clamp(22px,3vw,32px);display:grid;gap:16px;align-content:start;background:var(--bg);min-width:0}
.route.ru{border-top:4px solid var(--silver)}
.route.in{border-top:4px solid var(--blue)}
.route h3{font-size:1.6rem}
.steps3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:s}
.steps3 li{border:1px solid var(--rule);border-radius:16px;padding:24px;display:grid;gap:10px;align-content:start;background:var(--bg);min-width:0}
.steps3 .n{font-family:var(--display);font-size:2.2rem;line-height:1;color:var(--blue)}
.steps3 .price{font-family:var(--mono);font-size:.82rem;color:var(--muted)}
@media (max-width:820px){.steps3{grid-template-columns:1fr}}
.quote-soft{font-family:var(--display);font-style:italic;font-size:clamp(1.3rem,2.6vw,1.8rem);line-height:1.3}
.sticky-cta{display:none}
@media (max-width:720px){
  .sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--bg);border-top:1px solid var(--rule);padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .sticky-cta .btn{width:100%}
  footer.site{padding-bottom:110px}
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- Russia in numbers band ---- */
.facts{background:var(--blue-deep);color:#FFFFFF;border-top:0;position:relative;overflow:hidden}
.facts::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 100% 0%,rgba(242,199,110,.12),transparent 60%);pointer-events:none}
.facts .wrap{position:relative}
.facts .eyebrow{color:#F2C76E}
.facts h2{color:#FFFFFF;max-width:22ch}
.facts .lede{color:#D3E2F2}
.fact-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 28px}
.fact-grid li{display:grid;gap:6px;align-content:start;border-top:1px solid rgba(169,200,234,.35);padding-top:18px;min-width:0}
.fact-grid b{font-family:var(--display);font-weight:500;font-size:clamp(2rem,3.4vw,2.7rem);line-height:1;color:#F2C76E;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em}
.fact-grid span{color:#FFFFFF;font-size:.97rem;line-height:1.45}
.fact-grid i{font-family:var(--display);font-size:1rem;color:#A9C8EA}
.fact-grid small{font-size:.78rem;color:#9FB6CF}
@media (max-width:960px){.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.fact-grid{grid-template-columns:1fr;gap:26px}}
.btn.gold{background:#F2C76E;border-color:#F2C76E;color:#2A1E05;font-weight:600}
.btn.gold:hover{background:#FFFFFF;border-color:#FFFFFF;color:#08325E}

/* ---- a month in Russia: stacked bars (validated palette, light and dark) ---- */
:root{--bar-rent:#1E5AA0;--bar-life:#6E9EE0;--bar-save:#D29A2A}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bar-rent:#2A63AA;--bar-life:#6496D6;--bar-save:#B4862A}}
:root[data-theme="dark"]{--bar-rent:#2A63AA;--bar-life:#6496D6;--bar-save:#B4862A}
.month{background:var(--paper)}
.budget{display:grid;gap:22px}
.bud{margin:0;display:grid;gap:14px;padding:clamp(20px,3vw,28px);border:1px solid var(--rule);border-radius:16px;background:var(--bg);min-width:0}
.bud figcaption{display:grid;gap:4px}
.bud figcaption b{font-family:var(--display);font-weight:500;font-size:1.5rem;line-height:1.15}
.bud figcaption span{color:var(--muted);font-size:.92rem}
.bud .net{font-size:.95rem;color:var(--muted)}
.bud .net b{color:var(--ink);font-variant-numeric:tabular-nums}
.bar{display:flex;gap:2px;height:30px;border-radius:6px;overflow:hidden;min-width:120px}
.seg{flex-basis:0;min-width:3px}
.seg.rent,.sw.rent{background:var(--bar-rent)}
.seg.life,.sw.life{background:var(--bar-life)}
.seg.save,.sw.save{background:var(--bar-save)}
.vals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}
.vals>div{display:grid;gap:2px;align-content:start;min-width:0}
.vals dt{font-size:.86rem;color:var(--muted);display:flex;align-items:center;gap:8px}
.vals dd{margin:0;font-family:var(--display);font-size:1.4rem;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--ink)}
.vals .save dd{font-size:1.75rem;font-weight:600}
.vals small{display:block;font-family:var(--body);font-weight:400;font-size:.84rem;color:var(--muted)}
.sw{display:inline-block;width:12px;height:12px;border-radius:3px;flex:none}
@media (max-width:600px){.vals{grid-template-columns:1fr;gap:10px}.vals>div{grid-template-columns:1fr auto;align-items:baseline;gap:10px}.vals dd{text-align:right}.vals .save dd{font-size:1.5rem}}

/* ---- polish ---- */
.free{justify-self:start}
.fig b{font-family:var(--display);font-weight:500;font-size:clamp(1.7rem,2.6vw,2.1rem);line-height:1.1;letter-spacing:-.01em}
.fig small{font-family:var(--body);font-size:.86rem}
.route.ru{border-top:4px solid var(--gold)}
.route.ru .eyebrow{color:var(--gold)}
.save-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 26px;padding:18px 22px;border-radius:14px;background:var(--gold-bg);border:1px solid color-mix(in srgb,var(--gold) 35%,transparent)}
.save-line b{font-family:var(--display);font-weight:600;font-size:clamp(1.9rem,4vw,2.5rem);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.save-line span{font-size:1rem;color:var(--ink);max-width:62ch}
