/* Sub-pages: buy, download, guide, privacy, recover.
   Loaded after home.css and uses its tokens. */

body.sub{display:flex;flex-direction:column;min-height:100vh}
body.sub > main{flex:1}
.container{width:min(100% - 2 * var(--gutter),var(--max));margin-inline:auto}
.center{text-align:left}

.btn-lg{min-height:56px;padding:.9rem 1.75rem;font-size:1.0625rem}
.btn-full{width:100%}
.btn-outline,.btn-secondary{background:transparent;color:var(--text);border-color:var(--rule-strong)}
.btn-outline:hover,.btn-secondary:hover{border-color:var(--text)}

code{font-size:.875em;background:var(--ink-2);padding:.1em .35em;border-radius:2px}
:not(pre) > code{overflow-wrap:anywhere}
pre code{background:none;padding:0}

/* ── single-card pages: buy, recover ───────────────────── */
.buy-main,.recover-main{display:flex;justify-content:center;padding:3rem var(--gutter) 5rem}
.card{width:100%;max-width:520px;padding:1.5rem;border:1px solid var(--rule-strong);border-radius:var(--r);background:var(--ink-1)}
@media (min-width:600px){.card{padding:2.25rem}}
.card h1{font-family:var(--f-display);font-size:clamp(2rem,6vw,2.75rem);line-height:1.02;letter-spacing:-.02em;margin-bottom:.75rem}
.subtitle{color:var(--text-dim);margin-bottom:1.5rem}
.help-text{font-size:.875rem;line-height:1.5;color:var(--text-dim);margin:.5rem 0 0}
.help-text a,.assurances a,.subtitle a{color:var(--text)}

.plans{display:grid;gap:.6rem;margin-bottom:.75rem}
.plan{position:relative;display:block;cursor:pointer}
.plan input{position:absolute;opacity:0;pointer-events:none}
.plan-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .75rem;align-items:baseline;padding:.9rem 1rem;border:1px solid var(--rule-strong);border-radius:var(--r);background:var(--ink-0);transition:border-color .15s ease}
.plan:hover .plan-box{border-color:var(--text-dim)}
.plan input:checked + .plan-box{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}
.plan input:focus-visible + .plan-box{outline:2px solid var(--text);outline-offset:3px}
.plan input:disabled + .plan-box{opacity:.55;cursor:not-allowed}
.plan-name{font-weight:600}
.plan-tag{margin-left:.5rem;padding:.1rem .4rem;border-radius:2px;background:var(--text);color:var(--ink-0);font:500 .6875rem/1.4 var(--f-mono);letter-spacing:.04em;text-transform:uppercase;vertical-align:1px}
.plan-price{font-family:var(--f-display);font-size:1.75rem;line-height:1;text-align:right}
.plan-price small{font:400 .75rem/1 var(--f-mono);color:var(--text-dim)}
.plan-note{grid-column:1 / -1;font-size:.875rem;color:var(--text-dim);line-height:1.45}
.plan-hint{margin:0 0 1.5rem}

.features{list-style:none;margin:0 0 1.75rem;padding:0;border-top:1px solid var(--rule)}
.features li{display:flex;gap:.75rem;padding:.55rem 0;border-bottom:1px solid var(--rule);color:var(--text-dim);font-size:.9375rem}
.features li::before{content:"\2713";flex:none;color:var(--text)}

.form-group{margin-bottom:1.1rem}
.form-group label{display:block;margin-bottom:.4rem;font:500 .75rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}
.form-group input{width:100%;min-height:48px;padding:.7rem .9rem;border:1px solid var(--rule-strong);border-radius:var(--r);background:var(--ink-0);color:var(--text);font:400 1rem/1.3 var(--f-mono)}
.form-group input:focus{outline:2px solid var(--text);outline-offset:2px;border-color:var(--text)}

.btn-pay{width:100%;min-height:52px;margin-top:.5rem;padding:.8rem 1rem;border:1px solid var(--accent-edge);border-radius:var(--r);background:var(--accent);color:oklch(0.18 0.01 70);font:600 1rem/1.2 var(--f-body);cursor:pointer;transition:background-color .15s ease,transform .1s ease}
.btn-pay:hover{background:var(--accent-hover)}
.btn-pay:active{background:var(--accent-press);transform:translateY(1px)}
.btn-pay:disabled{opacity:.5;cursor:not-allowed;transform:none}

.error-msg{display:none;margin-top:1rem;padding:.7rem .9rem;border:1px solid var(--leak);border-radius:var(--r);background:var(--leak-wash);color:var(--text);font-size:.9375rem}
.error-msg::before{content:"\2715\00a0";color:var(--leak)}

.assurances{list-style:none;margin:1.5rem 0 0;padding:1.25rem 0 0;border-top:1px solid var(--rule)}
.assurances li{padding:.3rem 0;font-size:.875rem;line-height:1.5;color:var(--text-dim)}
.assurances strong{color:var(--text);font-weight:600}

.next-steps{margin-top:1.25rem;padding:1rem;border:1px solid var(--rule);border-radius:var(--r);background:var(--ink-0);font-size:.9375rem}
.next-steps > strong{font:500 .75rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}
.next-steps ol{margin:.6rem 0 .75rem 1.2rem;padding:0;color:var(--text-dim)}
.next-steps li{margin-bottom:.3rem}
.next-steps strong{color:var(--text);font-weight:600}
.result-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--rule)}
.result-row .label{font:500 .75rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}
.result-row .value{font:600 .9375rem/1.3 var(--f-mono)}
.copy-btn{min-height:44px;padding:0 1rem;border:1px solid var(--rule-strong);border-radius:var(--r);background:transparent;color:var(--text);font:500 .9375rem/1 var(--f-body);cursor:pointer;transition:border-color .15s ease}
.copy-btn:hover{border-color:var(--text)}

/* ── shared section frame (download, guide) ────────────── */
.section{padding:3.5rem 0;border-top:1px solid var(--rule)}
.section-header h2,.section h2{font-family:var(--f-display);font-size:clamp(2rem,5.5vw,3.25rem);line-height:1.02;letter-spacing:-.02em;margin-bottom:1.25rem}

/* ── download ──────────────────────────────────────────── */
.download-hero{padding:3.5rem 0 4rem}
.download-hero h1{font-size:clamp(2.75rem,10vw,5.5rem);line-height:.96;max-width:14ch;margin-bottom:1.5rem}
.download-hero-note,.download-hero-mobile{color:var(--text-dim);max-width:34rem}
#dl-auto-btn{display:flex;width:fit-content;max-width:100%;flex-direction:column;align-items:flex-start;gap:.25rem;margin:.5rem 0 .75rem}
#dl-auto-btn[hidden]{display:none !important}
.dl-meta{font:400 .8125rem/1.4 var(--f-mono);color:var(--text-dim)}
#dl-auto-btn .dl-meta{color:oklch(0.18 0.01 70);opacity:.75}
.download-hero-jump{display:inline-flex;align-items:center;min-height:44px;color:var(--text-dim)}
.download-other-grid{display:grid;border-top:1px solid var(--rule-strong)}
.download-card{display:grid;gap:.5rem;padding:1.1rem 0;border-bottom:1px solid var(--rule)}
.download-card h3{font-family:var(--f-display);font-size:1.75rem;line-height:1.1}
.download-card p{margin:0}
@media (min-width:800px){
  .download-card{grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);align-items:center;gap:1.5rem}
}
.download-steps{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule-strong);counter-reset:d}
.download-steps li{position:relative;padding:1rem 0 1rem 2.75rem;border-bottom:1px solid var(--rule);counter-increment:d;color:var(--text-dim)}
.download-steps li::before{content:"0" counter(d);position:absolute;left:0;top:1.05rem;font:500 .8125rem/1.7 var(--f-mono);color:var(--text-faint)}
.download-steps strong{color:var(--text)}
.download-guide-cta{margin-top:2rem;display:grid;gap:1rem;justify-items:start}
.download-guide-cta p{margin:0;color:var(--text-dim);max-width:34rem}

/* ── guide ─────────────────────────────────────────────── */
.guide-hero{padding:3.5rem 0 4rem;border-top:0}
.hero-kicker{font:500 .8125rem/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:1.25rem}
.guide-hero h1{font-size:clamp(2.5rem,8.5vw,5rem);line-height:.98;max-width:18ch;margin-bottom:1.5rem}
.hero-sub{color:var(--text-dim);font-size:1.1875rem;max-width:40rem}
.guide-step-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
.guide-step-inner > *{min-width:0}
.guide-step-num{display:block;font:500 .8125rem/1 var(--f-mono);letter-spacing:.06em;color:var(--text-faint);margin-bottom:.75rem}
.guide-step-content p,.guide-step-content li{color:var(--text-dim);max-width:42rem}
.guide-step-content strong{color:var(--text);font-weight:600}
.guide-step-content a{color:var(--text)}
.guide-step-tip{padding:.75rem 0 .75rem 1rem;border-left:2px solid var(--rule-strong)}
.guide-step-screenshot{margin:0;min-width:0}
.guide-step-screenshot img{border-radius:var(--r);outline:1px solid var(--shot-edge);outline-offset:-1px}
.guide-step-screenshot figcaption{margin:.6rem 0 1.25rem;font:400 .8125rem/1.5 var(--f-mono);color:var(--text-faint)}
.guide-config-examples{margin:1rem 0 1.25rem;padding:0;list-style:none;display:grid;gap:1.25rem}
.guide-config-examples li{min-width:0}
.guide-config-path{display:block;margin:.25rem 0 .5rem;font-size:.8125rem}
.guide-pre-wrap{position:relative}
.guide-step-content pre{margin:0;padding:.9rem 1rem;overflow-x:auto;border:1px solid var(--rule);border-radius:var(--r);background:var(--ink-1);font:400 .8125rem/1.6 var(--f-mono);color:var(--text)}
.guide-pre-wrap.can-scroll pre:focus-visible{outline:2px solid var(--text);outline-offset:2px}
.guide-cta{display:grid;gap:1rem;justify-items:start}
.guide-cta p{color:var(--text-dim);max-width:42rem;margin:0}
.guide-cta-actions{display:flex;flex-wrap:wrap;gap:.75rem}
@media (min-width:960px){
  .guide-step-inner{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:4rem;align-items:start}
  .guide-step-inner.reverse .guide-step-content{order:2}
  .guide-step-inner.reverse .guide-step-screenshot{order:1}
  .guide-step-screenshot{position:sticky;top:calc(var(--header-h) + 1.5rem)}
}

/* ── privacy ───────────────────────────────────────────── */
.policy-main{padding:3rem var(--gutter) 5rem}
.policy{max-width:46rem;margin-inline:auto}
.policy h1{font-size:clamp(2.5rem,8vw,4rem);line-height:.98;margin-bottom:.75rem}
.policy h2{font-family:var(--f-display);font-size:1.875rem;line-height:1.1;letter-spacing:-.01em;margin:2.5rem 0 .75rem}
.policy p,.policy li{color:var(--text-dim)}
.policy ul{padding-left:1.25rem}
.policy li{margin:.4rem 0}
.policy strong{color:var(--text);font-weight:600}
.policy a{color:var(--text)}
.updated{font:400 .8125rem/1.5 var(--f-mono);color:var(--text-faint);margin-bottom:1.5rem}
.summary{margin:1.5rem 0 0;padding:1rem 1.25rem;border:1px solid var(--rule-strong);border-radius:var(--r);background:var(--ink-1)}
.summary ul{margin:0}
.consent-reset{min-height:44px;padding:0 1.1rem;border:1px solid var(--rule-strong);border-radius:var(--r);background:transparent;color:var(--text);font:600 .9375rem/1 var(--f-body);cursor:pointer;transition:border-color .15s ease}
.consent-reset:hover{border-color:var(--text)}
