@font-face{
  font-family:"Onest";
  src:url("fonts/onest-var.woff2") format("woff2");
  font-weight:100 900;
  font-display:swap
}
@font-face{
  font-family:"JetBrains Mono";
  src:url("fonts/jetbrains-mono-var.woff2") format("woff2");
  font-weight:100 800;
  font-display:swap
}

@font-face{font-family:"Oswald";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/oswald-700-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Oswald";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/oswald-700-cyrillic.woff2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}

:root{--void:#050505;--panel:#130d1d;--ink:#f7f8f5;--muted:#c1bbc9;--signal:#b5ff16;--violet:#6d00df;--lime:#b5ff16;--line:#362a43;--shell:1120px;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--void);scroll-padding-top:7rem}
body{margin:0;color:var(--ink);background:var(--void);font-family:"Onest",Arial,sans-serif;font-size:1.0625rem;line-height:1.65;overflow-wrap:anywhere}
a{color:inherit;text-underline-offset:.2em}
img{display:block;max-width:100%;height:auto}
a,button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 0 6px #410079}
[id]{scroll-margin-top:7rem}
.shell{width:min(100% - 48px,var(--shell));margin-inline:auto}
.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:12px 16px;color:var(--void);background:var(--lime);border-radius:8px;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.site-header{position:sticky;z-index:20;top:0;border-bottom:1px solid #7d36c8;background:var(--violet)}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.wordmark{min-height:44px;display:inline-flex;align-items:center;gap:12px;font-size:1.125rem;font-weight:800;letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.brand-icon{width:40px;height:40px;flex:0 0 40px;border-radius:10px}
.site-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.site-nav a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:8px;color:#fff;font-size:.9375rem;font-weight:650;text-decoration:none;white-space:nowrap}
.site-nav a:hover{background:#4f00a6}
.site-nav a[aria-current="page"]{color:var(--void);background:var(--lime)}
main{padding:24px 0 0}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;color:var(--muted);font-size:.8125rem;line-height:1.5}
.breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{overflow-wrap:anywhere;text-wrap:balance}
h1{margin-bottom:0;font-size:clamp(2rem,1.25rem + 3vw,3.625rem);line-height:1.1;font-weight:800;letter-spacing:-.035em}
h2{margin-bottom:0;font-size:clamp(1.5rem,1.1rem + 1vw,2rem);line-height:1.2;letter-spacing:-.025em}
h3{margin-bottom:12px;font-size:1.1875rem;line-height:1.35;letter-spacing:-.015em}
p{max-width:70ch;text-wrap:pretty}
.button,.text-link{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:10px;font-size:1rem;font-weight:750;line-height:1.4;text-decoration:none}
.button{border:0;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.button-primary{color:var(--void);background:var(--lime)}
.button-primary:hover{background:#d1ff75}
.button:active{transform:translateY(1px)}
.text-link{padding-inline:0;color:var(--muted);text-decoration:underline}
.page-intro{padding:32px 0 28px;max-width:880px}
.page-kicker,.recovery-kicker{margin:0 0 16px;color:var(--lime);font-size:.9375rem;font-weight:650}
.page-intro h1{max-width:25ch}
.page-lede{max-width:66ch;margin:20px 0 22px;color:var(--muted);font-size:1.125rem;line-height:1.65}
.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px}
.page-actions:empty{display:none}
.page-toc{padding:16px 0 22px;border-top:1px solid var(--line)}
.inline-links{display:flex;flex-wrap:wrap;gap:0 24px;margin-top:12px}
.inline-links a{min-height:44px;display:inline-flex;align-items:center;gap:8px;color:var(--lime);font-size:.9375rem;font-weight:650}
.inline-links a:hover{text-decoration-thickness:2px}
.page-toc .inline-links{margin:0}
.page-toc a{color:var(--muted);font-size:.875rem}
.quick-links{padding:24px 0 32px;border-top:1px solid var(--line)}
.quick-links h2{margin-bottom:12px;font-size:1.125rem}
.quick-link-list{display:flex;flex-wrap:wrap;gap:10px}
.quick-link-list a{min-height:48px;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px;border:1px solid #61407c;border-radius:10px;background:#1b0b2a;font-size:1rem;font-weight:650;text-decoration:none}
.quick-link-list a:hover{border-color:var(--lime);color:var(--lime)}
.content-section{padding:40px 0;border-top:1px solid var(--line)}
.story-lane{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.5fr);gap:52px}
.lane-heading,.story-beats,.beat-copy{min-width:0}
.lane-heading p{max-width:36ch;margin:16px 0 0;color:var(--muted);font-size:1rem}
.story-beat{padding:24px 0;border-bottom:1px solid var(--line)}
.story-beat:first-child{padding-top:0}
.story-beat:last-child{border-bottom:0;padding-bottom:0}
.beat-copy p{margin:0;color:var(--muted)}
.guide-steps{margin:0;padding:0 0 0 2rem}
.guide-steps>.story-beat{padding-left:.5rem}
.guide-steps>.story-beat::marker{color:var(--lime);font-weight:750;font-variant-numeric:tabular-nums}
.check-number{display:inline-block;min-width:1.5em;color:var(--lime);font-variant-numeric:tabular-nums}
.faq-section{padding:40px 0;border-top:1px solid var(--line)}
.section-heading p{margin:14px 0 0;color:var(--muted)}
.faq-grid{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
.faq-item{padding:22px 0;border-top:1px solid var(--line)}
.faq-item p{margin:0;color:var(--muted)}
.story-end{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:22px 36px;margin:24px 0 56px;padding:30px;background:#211032;border-radius:12px;border:1px solid #61407c}
.story-end h2{font-size:1.625rem}
.story-end p{margin:10px 0 0;color:var(--muted);max-width:55ch}
.related{padding:36px 0 48px;border-top:1px solid var(--line)}
.route-link{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none}
.route-link strong{font-size:1rem;font-weight:600}
.route-link em{color:var(--muted);font-size:.8125rem;font-style:normal;white-space:nowrap}
.route-link:hover strong{color:var(--lime)}
.site-footer{border-top:1px solid var(--line);background:#0e0815}
.footer-inner{padding:36px 0}
.footer-brand{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:28px}
.footer-brand p{margin:0;color:var(--muted);font-size:.9375rem}
.footer-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.footer-group{border-top:1px solid var(--line);padding-top:18px}
.footer-group h2{margin-bottom:10px;font-size:1.0625rem;font-weight:750;color:var(--ink);letter-spacing:0}
.footer-group nav{display:grid}
.footer-group a{min-height:44px;display:flex;align-items:center;padding:7px 0;font-size:.9375rem;color:var(--muted);text-decoration:none}
.footer-group a:hover{color:var(--lime)}
.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}
.eyebrow{color:var(--lime);font-size:.9375rem;font-weight:650}
.lede{max-width:65ch;font-size:1.125rem;color:var(--muted)}
@media(max-width:900px){.story-lane{grid-template-columns:1fr;gap:24px}.lane-heading p{max-width:65ch}.faq-grid{grid-template-columns:1fr;gap:0}}
@media(max-width:600px){
  body{font-size:1rem}.shell{width:calc(100% - 36px)}
  .header-inner{min-height:64px;gap:0 12px;padding:8px 0}.header-inner>.wordmark span{display:none}.brand-icon{width:36px;height:36px;flex-basis:36px}.header-inner>.wordmark{flex:0 0 44px}
  .site-nav{flex:1 1 230px;justify-content:space-between;gap:0}.site-nav a{padding:8px;font-size:.8125rem;flex:1 1 auto}
  main{padding-top:12px}.page-intro{padding:24px 0}.page-lede{font-size:1rem;margin:18px 0 22px}.page-actions{align-items:stretch;flex-direction:column}.page-actions .button{width:100%}
  .content-section{padding:28px 0}.story-lane{gap:22px}.lane-heading p{margin-top:12px}.story-beat{padding:22px 0}
  .quick-links{padding:20px 0 24px}.quick-link-list{display:grid;grid-template-columns:1fr;gap:8px}.quick-link-list a{min-width:0}
  .page-toc{padding:12px 0 18px}.page-toc .inline-links{gap:0 20px}.inline-links a{max-width:100%}
  .related{padding:28px 0 36px}.story-end{padding:24px;margin-bottom:36px}.story-end .button{width:100%}
  .footer-directory{grid-template-columns:1fr;gap:20px}.footer-brand{align-items:flex-start;flex-direction:column;margin-bottom:24px}.footer-inner{padding:28px 0}
}

.home-route main{padding:0}
.home-route .site-header[data-embedded-header]{
  width:100%;
  position:absolute;
  z-index:20;
  top:0;
  border:0;
  background:transparent
}
.home-route .header-inner{width:calc(100% - 80px);max-width:none;min-height:128px}
.home-route .wordmark{gap:20px;color:#fff;font-size:1.75rem}
.home-route .brand-icon{width:56px;height:56px;flex-basis:56px;border-radius:15px}
.home-route .site-nav{gap:38px}
.home-route .site-nav a{
  padding-inline:8px;
  color:#fff;
  border:0;
  border-radius:0;
  font-size:1.02rem
}
.home-route .site-nav a:hover{color:var(--lime);background:transparent}
/* Home first fold, concept A v2 (2026-09-19): a poster-scaled stage that fits both the viewport width and height.
   HTML wordmark (Oswald) sits above the transparent phone-and-ribbon render; the copy block lives inside the violet field.
   All hero sizes use container units of the stage, so the composition keeps its proportions on any screen. */
.home-stage{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(ellipse at 56% 45%,rgb(139 30 255/.55) 0 18%,transparent 62%),
    radial-gradient(circle at 8% 78%,rgb(121 21 219/.6),transparent 48%),
    linear-gradient(112deg,#5a14bd 0%,#6d00df 48%,#5d12c4 100%)
}
.home-hero{
  --mark-x:56.5%;
  --mark-y:41%;
  --mark-w:10.5%;
  position:relative;
  width:min(100%,calc((100svh - 32px) * 1536 / 960));
  min-width:min(100%,1040px);
  margin-inline:auto;
  aspect-ratio:1536/960;
  container-type:inline-size
}
.home-heading{position:absolute;z-index:2;inset:0;margin:0;pointer-events:none}
.home-word{
  position:absolute;
  left:3.6cqw;
  margin:0;
  font-family:"Oswald","Onest",Arial,sans-serif;
  font-weight:700;
  font-size:19.5cqw;
  line-height:.84;
  letter-spacing:-.01em;
  color:#fff
}
.home-word-hit{top:9.5cqw}
.home-word-wave{top:26cqw}
.home-art{
  position:absolute;
  z-index:1;
  left:6cqw;
  top:3.5cqw;
  width:100%;
  aspect-ratio:1536/1024;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 93%,transparent)
}
.home-art picture,.home-art picture img{display:block;width:100%;height:100%}
.home-screen-mark{
  position:absolute;
  left:var(--mark-x);
  top:var(--mark-y);
  width:var(--mark-w);
  height:auto;
  /* Match the screen plane; the far edge recedes with the phone. */
  transform:translate(-50%,-50%) perspective(120cqw) rotateY(20deg) skew(1.5deg,4.5deg);
  border-radius:22%
}
.home-copy{position:absolute;z-index:3;left:3.6cqw;right:3.6cqw;top:43.5cqw;bottom:0}
.home-platform{
  position:absolute;
  right:0;
  top:-29cqw;
  width:16cqw;
  margin:0;
  color:var(--lime);
  font-size:3.4cqw;
  font-weight:900;
  line-height:.88;
  letter-spacing:-.04em;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgb(40 0 90/.35)
}
.home-platform span{display:block}
.home-tagline{max-width:34cqw;margin:0 0 .9cqw;font-size:max(1.25rem,2.25cqw);font-weight:700;line-height:1.16;letter-spacing:-.02em}
.home-nobr{white-space:nowrap}
.home-subline{max-width:40cqw;margin:0 0 1.8cqw;font-size:max(.95rem,1.2cqw);line-height:1.4;color:#fff}
.home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8cqw 2.4cqw;margin:0 0 1.2cqw}
.home-first-cta{min-width:23cqw;min-height:max(48px,4.3cqw);padding-inline:2cqw;color:#050505;background:#fff;border-color:#e5e5e5;border-radius:max(10px,1.1cqw);font-size:max(1.05rem,1.45cqw)}
.home-first-cta:hover{background:var(--lime)}
.home-store-link{min-height:44px;display:inline-flex;align-items:center;padding:.5cqw 0;color:#fff;font-size:max(1rem,1.25cqw);font-weight:600;text-decoration:underline;text-underline-offset:.25em}
.home-store-link::after{content:" \2192"}
.home-store-link:hover{color:var(--lime)}
.home-proof{margin:0;padding-left:3cqw;color:#fff;font-size:max(.9rem,1.1cqw)}
.home-note{position:absolute;right:0;bottom:2.4cqw;width:24cqw;margin:0;text-align:right;color:#fff;font-size:max(.875rem,.98cqw);line-height:1.35}
/* three-step strip under the fold (concept A second screen) */
.home-steps{border-top:1px solid #1f1f24;background:#050505}
.home-steps .shell{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:calc(100% - 136px);max-width:none}
.home-step{display:grid;grid-template-columns:60px minmax(0,1fr);gap:20px;align-items:start;padding:36px 28px;border-right:1px solid #24262b;color:#fff;text-decoration:none}
.home-step:last-child{border-right:0}
.home-step:hover strong{color:var(--lime)}
.home-step-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--violet)}
.home-step-icon svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-step-copy{display:grid;gap:6px;padding-top:6px}
.home-step-copy strong{font-size:1.35rem;font-weight:700;line-height:1.15}
.home-step-copy span{color:var(--muted);font-size:1rem;line-height:1.45}
.home-plans{padding:72px 0 76px;border-top:1px solid #1f1f24;background:var(--violet);color:#fff}
.home-plans .shell{width:calc(100% - 136px);max-width:none}
.home-plans-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:24px 48px;align-items:end;margin-bottom:34px}
.home-plans-head h2{margin:0;font-family:"Oswald","Onest",sans-serif;font-weight:700;font-size:clamp(2.5rem,4.5vw,4rem);line-height:.9;letter-spacing:-.01em;text-transform:uppercase}
.home-plans-head p{max-width:640px;margin:0 0 .35em;font-size:1.08rem;line-height:1.5;color:rgb(255 255 255/.86)}
.home-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.home-plan{position:relative;display:grid;gap:6px;align-content:start;min-width:0;padding:30px 26px 26px;border:1px solid rgb(255 255 255/.24);border-radius:14px;background:rgb(0 0 0/.24)}
.home-plan-best{background:#050505;border-color:#050505}
.home-plan-badge{position:absolute;top:18px;right:18px;padding:5px 11px;border-radius:999px;background:var(--lime);color:#050505;font-size:.74rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.home-plan-term{font-size:1.05rem;font-weight:700;color:rgb(255 255 255/.86)}
.home-plan-price{margin-top:10px;font-family:"Oswald","Onest",sans-serif;font-weight:700;font-size:3.6rem;line-height:1;white-space:nowrap}
.home-plan-price span{font-size:1.7rem;font-weight:600}
.home-plan-note{min-height:1.5em;font-size:1rem;line-height:1.5;color:var(--lime)}
.home-plan-cta{margin-top:18px;min-height:52px;padding-inline:14px;border-radius:12px;color:#050505;background:#fff;border-color:#fff;font-size:1rem}
.home-plan-cta:hover{background:var(--lime);border-color:var(--lime)}
.home-plan-best .home-plan-cta{background:var(--lime);border-color:var(--lime)}
.home-plan-best .home-plan-cta:hover{background:#fff;border-color:#fff}
.home-plans-caption{margin:22px 0 0;font-size:.95rem;line-height:1.5;color:rgb(255 255 255/.86)}
@media(max-width:1279px){.home-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.home-continuation{padding:40px 0 0;background:#000}
.home-continuation>.shell{width:calc(100% - 136px);max-width:none}
.home-guide-title{max-width:24ch;margin:0 0 20px;font-size:clamp(2rem,4.2vw,3.75rem);line-height:1.06;letter-spacing:-.04em}
.home-continuation-lede{max-width:1160px;margin:0 0 36px;font-size:clamp(1.2rem,1.6vw,1.55rem);line-height:1.5;color:var(--muted)}
.home-continuation .lane-heading h3{margin:0;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.15}
.home-continuation .beat-copy h4{margin:0 0 12px;font-size:1.1875rem;line-height:1.35;letter-spacing:-.015em}
@media(min-width:901px){.home-continuation .lane-heading{position:sticky;top:32px;align-self:start}}




@media(max-width:1023px){
  .home-route .header-inner{width:calc(100% - 28px);min-height:64px}
  .home-route .header-inner>.wordmark{font-size:1rem}
  .home-route .header-inner>.wordmark span{display:none}
  .home-route .brand-icon{width:36px;height:36px;flex-basis:36px;border-radius:10px}
  .home-route .header-inner>.wordmark{min-width:44px;min-height:44px;justify-content:center}
  .home-route .site-nav{gap:4px}
  .home-route .site-nav a{font-size:.8125rem;padding-inline:8px}
  .home-hero{--mark-x:52.2%;--mark-y:40%;--mark-w:15%;width:min(100%,560px);min-width:0;aspect-ratio:auto;padding-top:calc(min(100vw,560px) * 1.2);container-type:inline-size}
  .home-heading{bottom:auto;height:calc(min(100vw,560px) * 1.2)}
  .home-art{left:24%;top:12cqw;width:72%;aspect-ratio:1024/1536;-webkit-mask-image:none;mask-image:none}
  .home-screen-mark{transform:translate(-50%,-50%) perspective(100cqw) rotateY(14deg) skew(-.4deg,2.8deg)}
  .home-word{left:4cqw;font-size:31cqw;line-height:.86;letter-spacing:0}
  .home-word-hit{top:max(70px,17cqw)}
  .home-word-wave{top:auto;bottom:0}
  .home-copy{position:static;padding:5cqw 4cqw 8cqw}
  .home-platform{position:static;width:auto;margin:0 0 3cqw;font-size:clamp(1.15rem,5.6cqw,2.2rem);line-height:1;text-shadow:none}
  .home-platform span{display:inline}
  .home-tagline{max-width:none;margin-bottom:2.5cqw;font-size:clamp(1.5rem,6.6cqw,2.6rem)}
  .home-subline{max-width:none;margin-bottom:5cqw;font-size:clamp(.95rem,3.6cqw,1.2rem)}
  .home-actions{flex-direction:column;align-items:stretch;gap:3cqw;margin-bottom:3cqw}
  .home-first-cta{min-width:0;width:100%;min-height:56px;padding-inline:16px;border-radius:12px;font-size:1.05rem}
  .home-store-link{align-self:center;min-height:44px;padding:.4rem 0;font-size:1rem}
  .home-proof{padding:0;text-align:center;font-size:.95rem}
  .home-note{position:static;width:auto;margin:4cqw 0 0;text-align:center;font-size:.85rem}
  .home-steps .shell{grid-template-columns:1fr;width:calc(100% - 28px)}
  .home-step{padding:22px 6px;border-right:0;border-bottom:1px solid #24262b}
  .home-step:last-child{border-bottom:0}
  .home-plans{padding:44px 0 48px}
  .home-plans .shell{width:calc(100% - 28px)}
  .home-plans-head{grid-template-columns:1fr;gap:14px;margin-bottom:22px}
  .home-plans-head h2{font-size:clamp(2.25rem,8vw,3.25rem)}
  .home-plans-head p{margin-bottom:0;font-size:1rem}
  .home-plan{padding:22px 18px 20px}
  .home-plan-price{font-size:3rem}
  .home-continuation{padding-top:36px}
  .home-continuation>.shell{width:calc(100% - 28px)}
    .home-continuation-lede{margin-bottom:28px;font-size:1.12rem;line-height:1.55}
}

/* A short recovery flow for readers who already have a configuration. */
.recovery-page>.shell{max-width:1120px}
.recovery-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:56px;
  align-items:center;
  padding:32px 0 44px
}
.recovery-kicker{margin:0 0 20px;color:var(--lime);font-size:.9rem;font-weight:650}
.recovery-page h1{max-width:14ch;font-size:clamp(2.25rem,4.5vw,3.5rem);line-height:1.08;letter-spacing:-.035em;font-weight:800;overflow-wrap:anywhere}
.recovery-lede{max-width:46ch;margin:24px 0 30px;color:#c8c5ce;font-size:1.125rem;line-height:1.65;text-wrap:pretty}
.recovery-cta{min-height:56px;gap:34px;padding:0 26px;border-radius:10px;background:var(--lime);color:var(--void);box-shadow:none}
.recovery-cta:hover{background:#ceff69}
.recovery-cta span{font-size:1.4rem;font-weight:500}
.recovery-host{max-width:38ch;margin:14px 0 0;color:var(--muted);font-size:.875rem;line-height:1.5}
.recovery-guide{padding:32px;border:1px solid #352a42;border-radius:14px;background:#130d1d}
.recovery-page h2{font-size:1.375rem;font-weight:720;line-height:1.3;letter-spacing:-.02em}
.recovery-guide ol{list-style:none;padding:0;margin:26px 0 0}
.recovery-step{display:flex;gap:18px;padding:22px 0;border-top:1px solid #352a42}
.recovery-step:first-child{border:0;padding-top:0}
.recovery-step:last-child{padding-bottom:0}
.recovery-number{display:flex;align-items:center;justify-content:center;flex:0 0 30px;height:30px;border-radius:50%;background:#2d1947;color:#e0c5ff;font-size:.875rem;font-weight:750}
.recovery-step h3{margin:2px 0 8px;font-size:1.0625rem;line-height:1.35;letter-spacing:0}
.recovery-step p{margin:0;color:#bcb7c5;font-size:.9375rem;line-height:1.65}
.recovery-note{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:64px;padding:30px 0;border-top:1px solid #302936;border-bottom:1px solid #302936}
.recovery-note p{max-width:65ch;margin:0;color:#bcb7c5;font-size:1rem;line-height:1.7}
.recovery-links{display:flex;flex-wrap:wrap;gap:8px 30px;padding:22px 0 50px}
.recovery-links a{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:#c8c5ce;font-size:.875rem;text-decoration:none}
.recovery-links a:hover{color:var(--lime);text-decoration:underline;text-underline-offset:5px}
.recovery-links a span{color:var(--lime)}
@media(max-width:880px){
  .recovery-grid{grid-template-columns:1fr;gap:36px;padding:32px 0 40px}
  .recovery-page h1{max-width:20ch;font-size:clamp(2rem,5.5vw,3rem)}
  .recovery-lede{max-width:58ch}
  .recovery-note{grid-template-columns:1fr;gap:14px}
}
@media(max-width:480px){
  .recovery-page>.shell{width:calc(100% - 36px)}
  .recovery-kicker{margin-bottom:16px}
  .recovery-page h1{font-size:2rem;line-height:1.12}
  .recovery-lede{margin:20px 0 24px;font-size:1rem}
  .recovery-cta{justify-content:space-between;width:100%;padding-inline:22px}
  .recovery-host{max-width:none;font-size:.875rem}
  .recovery-guide{padding:24px 20px}
  .recovery-step{gap:14px}
  .recovery-page h2{font-size:1.25rem}
  .recovery-links{display:grid;grid-template-columns:1fr;gap:0;padding-bottom:32px}
  .recovery-links a{justify-content:space-between}
}


@media(max-width:640px){.home-plan-grid{grid-template-columns:1fr}.home-plan-badge{position:static;justify-self:start;margin-bottom:6px}}
@media(prefers-reduced-motion:no-preference) and (pointer:fine){
  .home-art{transform:translate(calc(var(--px,0)*8px),calc(var(--py,0)*6px));transition:transform .4s ease-out}
  .home-step-icon{transition:transform .2s ease-out}.home-step:hover .home-step-icon{transform:translateY(-2px)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.page-actions,.page-toc,.related,.home-art{display:none}body{background:white;color:black}.shell{width:100%}.story-lane{display:block}.home-stage,.home-continuation{background:white}.beat-copy p,.lane-heading p,.page-lede{color:black}}

.recovery-note p+p{margin-top:14px}

/* ---------- /oplata/: своя страница оплаты (UX-015, 2026-09-28) ----------
   Форма одной тёмной панелью: шаги почта → СБП → срок разделены линиями, а не фоном-разделителем (UX-016:
   фон контейнера не может лечь полосой на заголовок шага). Строки сроков повторяют тарифы главной: Oswald для
   суммы, выбранная строка заливается фиолетовым. Кнопка оплаты в липкой панели внизу формы. */
button.button{font:inherit;font-weight:750;cursor:pointer;-webkit-appearance:none;appearance:none}
button.button[disabled]{color:#9a92a8;background:#2a1b3b;cursor:not-allowed;transform:none}
.pay-page .page-intro{padding:24px 0 22px}
.pay-page .page-intro h1{max-width:none;font-size:clamp(2rem,1.3rem + 2vw,2.75rem)}
.pay-page .page-lede{margin-bottom:0}
.pay-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:28px 48px;align-items:start;padding:8px 0 56px}
.pay{position:relative;display:grid;min-width:0;border:1px solid #61407c;border-radius:14px;background:var(--panel);overflow:clip}
.pay [hidden]{display:none!important}
.pay-step{margin:0;padding:26px 28px 28px;border:0;min-width:0}
.pay-step+.pay-step{border-top:1px solid var(--line)}
.pay-label{display:flex;align-items:baseline;gap:14px;margin:0 0 16px;padding:0;font-size:1.125rem;font-weight:750;line-height:1.3}
.pay-step>legend.pay-label{float:left;width:100%}
.pay-step>legend.pay-label~*{clear:both}
.pay-step::after{content:"";display:block;clear:both}
.pay-num{font-family:"Oswald","Onest",sans-serif;font-size:1.25rem;font-weight:700;line-height:1;color:var(--lime);font-variant-numeric:tabular-nums}
.pay input[type=email]{width:100%;max-width:30rem;min-height:54px;padding:0 16px;border:1px solid #61407c;border-radius:10px;background:var(--void);color:var(--ink);font:inherit;transition:border-color .18s ease}
.pay input[type=email]::placeholder{color:#a39bb1}
.pay input[type=email]:hover{border-color:#9b79bb}
.pay input[type=email]:focus-visible{border-color:var(--lime)}
.pay input[type=email]:disabled{opacity:.7}
.pay-hint{margin:12px 0 0;max-width:60ch;color:var(--muted);font-size:.9375rem}
.method{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;row-gap:2px;align-items:center;padding:14px 18px;border:1px solid #61407c;border-radius:10px;background:var(--void)}
.method input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;pointer-events:none}
.pm-ico{grid-row:1/3;width:26px;height:32px}
.method b{font-size:1rem;line-height:1.3}
.method span{max-width:48ch;color:var(--muted);font-size:.9375rem;line-height:1.5}
.tariffs{display:grid;gap:10px}
.tariff{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;grid-template-areas:"dot term sum" "dot per sum";column-gap:16px;row-gap:3px;align-items:center;min-height:80px;padding:16px 20px;border:1px solid #61407c;border-radius:12px;background:var(--void);cursor:pointer;transition:border-color .18s ease,background-color .2s ease}
.tariff:hover{border-color:var(--lime)}
.tariff input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.tariff-dot{grid-area:dot;display:grid;place-items:center;width:20px;height:20px;border:2px solid #9b79bb;border-radius:50%;transition:border-color .18s ease}
.tariff-dot::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--lime);transform:scale(0);transition:transform .22s cubic-bezier(.22,1,.36,1)}
.tariff-term{grid-area:term;display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;font-size:1.0625rem;font-weight:750;line-height:1.3}
.tariff-badge{padding:3px 9px;border-radius:999px;background:var(--lime);color:var(--void);font-size:.6875rem;font-weight:800;line-height:1.4;letter-spacing:.04em;text-transform:uppercase}
.tariff-per{grid-area:per;color:var(--muted);font-size:.875rem;line-height:1.45}
.tariff-sum{grid-area:sum;justify-self:end;font-family:"Oswald","Onest",sans-serif;font-size:2rem;font-weight:700;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}
.tariff:is(.is-picked,:has(input:checked)){border-color:var(--violet);background:var(--violet)}
.tariff:is(.is-picked,:has(input:checked)) .tariff-dot{border-color:var(--lime)}
.tariff:is(.is-picked,:has(input:checked)) .tariff-dot::after{transform:scale(1)}
.tariff:is(.is-picked,:has(input:checked)) .tariff-per{color:#fff}
.tariff:has(input:focus-visible){outline:3px solid #fff;outline-offset:3px}
.pay[data-state=busy] .tariff{cursor:progress}
.pay-dock{position:sticky;bottom:0;z-index:2;display:grid;gap:10px;padding:16px 28px 18px;border-top:1px solid #61407c;background:#1b0b2a}
.pay-submit{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px}
.pay-picked{font-weight:700;font-variant-numeric:tabular-nums}
.pay-submit .button{min-width:230px}
.pay-status{margin:0;max-width:66ch;color:var(--muted);font-size:.9375rem}
.pay-status:empty{display:none}
.pay-status[data-tone=err]{color:#ffc3cc;font-weight:650}
.pay-status[data-tone=wait]{color:var(--ink)}
.pay-status[data-tone=wait]::before{content:"";display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:50%;background:var(--lime);vertical-align:1px;animation:pay-pulse 1.1s ease-in-out infinite}
@keyframes pay-pulse{0%,100%{opacity:.35}50%{opacity:1}}
.pay-after{display:flex;flex-wrap:wrap;align-items:center;gap:6px 24px}
.pay-note{margin:0;max-width:none;padding:18px 28px 22px;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}
.pay[data-state=success] .pay-step,.pay[data-state=success] .pay-dock,.pay[data-state=success] .pay-note{display:none}
.pay-done{display:grid;justify-items:start;padding:40px 28px 36px}
.pay-done:focus{outline:none}
.pay-done::before{content:"";width:56px;height:56px;margin-bottom:18px;border-radius:50%;background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23050505' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/26px 26px no-repeat}
.pay-done-kicker{margin:0;color:var(--lime);font-size:.9375rem;font-weight:650}
.pay-done-title{display:block;margin-top:8px;font-family:"Oswald","Onest",sans-serif;font-size:clamp(2.25rem,1.6rem + 2.6vw,3.5rem);font-weight:700;line-height:.95;text-transform:uppercase}
.pay-done p{margin:16px 0 0;max-width:54ch}
.pay-done .pay-done-next{margin-top:8px;color:var(--muted)}
.pay-done-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 26px;margin-top:26px}
.pay noscript{display:block;padding:20px 28px;border-top:1px solid var(--line)}
.pay-fallback{margin:10px 0 0;padding-left:18px}
.pay-fallback li+li{margin-top:6px}
.pay-fallback a{color:var(--lime)}
/* Окно оплаты поверх страницы. Режим ставит checkout.js (data-mode): frame показывает страницу СБП с QR-кодом
   на широком экране с мышью, app показывает одну кнопку в приложение банка. */
.pay-modal{width:min(calc(100% - 32px),720px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #61407c;border-radius:14px;background:var(--panel);color:var(--ink);overflow:auto}
.pay-modal::backdrop{background:rgb(5 5 5/.84)}
.pay-modal[open]{display:grid;gap:14px;padding:22px 24px 24px}
.pay-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.pay-modal-kicker{margin:0;color:var(--lime);font-size:.9375rem;font-weight:650}
.pay-modal-title{margin:4px 0 0;font-size:1.5rem;line-height:1.2}
.pay-modal-title b{color:var(--lime);white-space:nowrap;font-variant-numeric:tabular-nums}
.pay-modal-term{margin:4px 0 0;color:var(--muted);font-size:.9375rem}
.pay-modal-close{flex:none;min-height:44px;padding:8px 18px;border:1px solid #61407c;color:var(--ink);background:transparent}
.pay-modal-close:hover{border-color:var(--lime);color:var(--lime)}
.pay-modal-hint{margin:0;max-width:60ch;color:var(--muted)}
.pay-frame{display:block;width:100%;height:min(58dvh,520px);border:0;border-radius:10px;background:#fff}
.pay-modal-open{justify-self:start}
.pay-modal .pay-status{margin:0}
.pay-modal-foot{margin:0;color:var(--muted);font-size:.9375rem}
.pay-modal-foot a{color:var(--lime)}
.pay-modal:not([data-mode=app]) .pay-modal-hint-mobile,.pay-modal:not([data-mode=app]) .pay-modal-open{display:none}
.pay-modal[data-mode=app] .pay-frame,.pay-modal[data-mode=app] .pay-modal-hint-desktop,.pay-modal[data-mode=app] .pay-modal-foot{display:none}
.pay-modal[data-mode=app] .pay-modal-open{width:100%}
@media(prefers-reduced-motion:no-preference){.pay-modal[open]{animation:pay-in .24s cubic-bezier(.22,1,.36,1)}.pay-modal[open]::backdrop{animation:pay-fade .24s ease-out}}
@keyframes pay-in{from{opacity:0;transform:translateY(12px)}}
@keyframes pay-fade{from{opacity:0}}
.pay-aside{display:grid;gap:14px;min-width:0;padding-top:6px}
.pay-aside h2{font-size:1.25rem}
.pay-facts{display:grid;margin:0;padding:0;list-style:none}
.pay-facts li{display:grid;gap:4px;padding:16px 0;border-top:1px solid var(--line)}
.pay-facts b{font-size:1rem;line-height:1.35}
.pay-facts span{color:var(--muted);font-size:.9375rem;line-height:1.55}
.pay-faq{margin-top:8px}
@media(min-width:901px){.pay-aside{position:sticky;top:100px}}
@media(max-width:900px){.pay-grid{grid-template-columns:1fr;gap:32px;padding-bottom:40px}}
@media(max-width:600px){
  .pay-step{padding:22px 18px 24px}
  .pay-dock{padding:12px 18px 14px}
  .pay-note{padding:16px 18px 20px}
  .pay noscript{padding:18px}
  .pay-done{padding:32px 18px 28px}
  .pay-submit{flex-wrap:nowrap}
  .pay-picked{font-size:.875rem;line-height:1.25}
  .pay-submit .button{flex:0 0 auto;min-width:0;padding-inline:18px}
  .pay-after .button{width:100%}
  .pay-modal[open]{padding:18px 16px 20px}
  .tariff{min-height:74px;padding:14px 16px;column-gap:12px}
  .tariff-sum{font-size:1.625rem}
}
@media(max-width:420px){
  .pay-picked{display:none}
  .pay-submit .button{width:100%}
  .tariff{grid-template-columns:22px minmax(0,1fr);grid-template-areas:"dot term" "dot per" "dot sum";row-gap:4px}
  .tariff-sum{justify-self:start;margin-top:4px}
}

/* ---------- запомненная почта оплаты: меню кабинета в шапке (account.js) ---------- */
.site-nav{margin-left:auto}
.header-account{position:relative;flex:0 0 auto}
.header-account-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 12px 0 4px;border-radius:999px;color:#fff;font-size:.9375rem;font-weight:650;list-style:none;cursor:pointer}
.header-account-toggle::-webkit-details-marker{display:none}
.header-account-toggle:hover,.header-account[open]>.header-account-toggle{background:#4f00a6}
.home-route .header-account-toggle:hover,.home-route .header-account[open]>.header-account-toggle{background:rgb(255 255 255/.14)}
.account-avatar{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--lime);color:var(--void);font-size:1rem;font-weight:800;line-height:1}
.account-mail{max-width:26ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-caret{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
.header-account[open] .account-caret{transform:translateY(2px) rotate(-135deg)}
.account-menu{position:absolute;z-index:30;top:calc(100% + 10px);right:0;display:grid;gap:12px;width:min(320px,calc(100vw - 32px));padding:18px;border:1px solid #61407c;border-radius:12px;background:var(--panel);color:var(--ink)}
.account-menu-text{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.5}
.account-menu-text b{display:block;color:var(--ink);overflow-wrap:anywhere}
.account-login{width:100%}
.account-menu-hint{margin:0;color:var(--muted);font-size:.8125rem;line-height:1.5}
.account-forget{justify-self:start;min-height:44px;padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.account-forget:hover{color:var(--lime)}
@media(max-width:1100px){.account-mail{display:none}.header-account-toggle{gap:6px;padding:0 8px 0 4px}}
@media(max-width:600px){
  html[data-account] .header-inner{gap:0 8px}
  html[data-account] .site-nav{flex:1 1 0;min-width:0}
  html[data-account] .site-nav a{padding-inline:5px}
  .account-caret{display:none}
  .header-account-toggle{justify-content:center;width:44px;height:44px;padding:0}
  .header-account-toggle .account-avatar{flex-basis:34px;width:34px;height:34px}
}
@media(max-width:360px){html[data-account] .site-nav a{font-size:.75rem;padding-inline:3px}}
