/* ══════════════════════════════════════════════════════════════
   audit.truscas — pagina de audit pentru clinici private
   Paletă derivată din portocaliul propriilor ilustrații (#F9560F).
   Fundal deschis, cald, primitor. Toate perechile de text trec AA.
   ══════════════════════════════════════════════════════════════ */
:root{   /* doar ce e specific paginii de audit; restul vine din tokens.css */
  --teal-deep:#0C6960;   /* bifele pe paper-2: teal simplu da 4.23:1 */
  --teal-soft:#DFF1EE;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:5rem;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--f-body);font-size:clamp(1rem,.5vw + .9rem,1.12rem);
  line-height:1.62;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--flame-deep);}
:focus-visible{outline:2.5px solid var(--flame-deep);outline-offset:3px;border-radius:2px;}
.shell{max-width:var(--shell);margin-inline:auto;padding-inline:var(--pad);}
section{padding-block:clamp(3rem,8vw,6.5rem);}
/* grain: warmth, not texture-for-its-own-sake */
.grain{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/><feColorMatrix type='saturate' values='0'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='.045'/></svg>");}
/* NU `body > *:not(.grain)` — bate .skip / .rail / .sticky pe specificitate si le
   strica position. Ridicam doar continutul, care n-are position propriu. */
main,footer{position:relative;z-index:1;}
/* ── type ─────────────────────────────────────────────────── */
h1,h2,h3{font-family:var(--f-display);font-optical-sizing:auto;margin:0;text-wrap:balance;}
/* D-01: h1 mostenea margin:0 din reset si nimic nu-l suprascria, asa ca titlul
   de 70px sta lipit de lede. Spatiul se pune pe toate trei, nu doar pe h2. */
.hero h1{margin-bottom:clamp(1rem,2vw,1.4rem);}
h1{font-weight:700;font-size:clamp(2.3rem,6.4vw,4.4rem);line-height:1.02;letter-spacing:-.025em;}
h1 em{font-style:italic;color:var(--flame-deep);font-weight:600;}
h2{font-weight:600;font-size:clamp(1.6rem,3.6vw,2.6rem);line-height:1.1;letter-spacing:-.02em;margin-bottom:.9rem;}
h2 em{font-style:italic;color:var(--flame-deep);}
h3{font-weight:600;font-size:1.16rem;line-height:1.28;letter-spacing:-.01em;margin-bottom:.4rem;}
p{margin:0 0 1rem;max-width:64ch;}
.lede{font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.52;color:var(--ink-2);max-width:38ch;}
.sub{color:var(--ink-2);max-width:60ch;}
.note{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
      color:var(--ink-3);margin:0;}
.kicker{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
        color:var(--flame-deep);margin:0 0 .8rem;}
.kicker span{color:var(--ink-3);}
.kicker--c{display:flex;align-items:center;gap:.85rem;}
.kicker--c::after{content:"";flex:1;height:1px;background:var(--rule);}
/* ── buttons ──────────────────────────────────────────────── */
.btn b{font-weight:700;letter-spacing:.045em;}
.btn--sm{padding:.6rem .9rem;font-size:.82rem;}
.cta{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.6rem 0 1.1rem;}
/* ── hero ─────────────────────────────────────────────────── */
.hero{padding-block:clamp(2.5rem,7vw,5rem) clamp(2rem,5vw,4rem);}
.hero__in{display:grid;gap:clamp(1.6rem,4vw,3rem);align-items:center;}
@media(min-width:60rem){.hero__in{grid-template-columns:1.05fr .95fr;}}
.hero__art img{width:100%;max-width:30rem;margin-inline:auto;}
/* Pe telefon desenul urca deasupra titlului si impingea h1 la 471px dintr-un ecran
   de 812 — pe o pagina care primeste trafic rece, propunerea trebuie sa fie prima.
   Ramane sus, dar mult mai mic; h1 urca cu ~110px. */
/* Pe o pagina care primeste trafic rece, propunerea trebuie sa fie prima.
   Fara `order:-1` desenul coboara sub butoane, iar titlul urca la ~180px.
   Daca vrei desenul sus, readauga `order:-1` — atat. */
@media(max-width:59.9rem){.hero__art img{max-width:11rem;}}
/* ── decalajul ────────────────────────────────────────────── */
.gap-sec{background:var(--paper-2);border-block:1px solid var(--rule);}
.gap{display:grid;gap:1.2rem;align-items:center;margin:1.4rem 0 1.2rem;}
@media(min-width:48rem){.gap{grid-template-columns:1fr auto 1fr;gap:2rem;}}
.gap__fig{text-align:center;}
/* B-04: blocul tinea doua procente fara sursa. Acum tine doua propozitii, deci
   corpul scade si textul are voie sa curga pe doua randuri. */
.gap__fig b{display:block;font-family:var(--f-display);font-weight:700;
            font-size:clamp(1.5rem,3.4vw,2.35rem);line-height:1.12;letter-spacing:-.02em;
            color:var(--teal);max-width:16ch;margin-inline:auto;text-wrap:balance;}
.gap__fig--low b,.gap__fig--low .pc{color:var(--flame-deep);}
.gap__fig em{display:block;font-style:normal;font-size:.95rem;color:var(--ink-2);
             max-width:22ch;margin:.4rem auto 0;}
.gap__arrow svg{width:clamp(4rem,10vw,7rem);height:2.4rem;fill:none;stroke:var(--ink-3);stroke-width:2;}
@media(max-width:47.9rem){.gap__arrow{transform:rotate(90deg);justify-self:center;}}
.gap__note{max-width:52ch;color:var(--ink-2);margin:0;}
/* ── nota personala pentru cine vine din email ─────────────── */
.quiet{padding-block:clamp(2.4rem,6vw,4rem);}
.mail{margin:0;background:var(--flame-soft);border:1px solid rgba(249,86,15,.35);
      padding:clamp(1.5rem,4vw,2.6rem);display:grid;gap:clamp(1.2rem,3vw,2.4rem);align-items:center;}
@media(min-width:56rem){.mail{grid-template-columns:1fr 13rem;}}
.mail .kicker{color:var(--flame-on-soft);margin-bottom:1rem;}
.mail__big{font-family:var(--f-display);font-weight:400;font-style:italic;
           font-size:clamp(1.18rem,2.3vw,1.6rem);line-height:1.38;color:var(--ink);
           margin:0;max-width:none;}
.mail__big b{font-style:normal;font-weight:600;}
.mail__art{justify-self:center;}
.mail__art img{width:100%;max-width:11rem;}
@media(max-width:55.9rem){.mail__art img{max-width:7.5rem;}}
/* ── ce primiți ───────────────────────────────────────────── */
.items{list-style:none;margin:2rem 0 0;padding:0;display:grid;
       gap:2.2rem 1.6rem;border-top:1px solid var(--rule);padding-top:2rem;}
@media(min-width:40rem){.items{grid-template-columns:repeat(2,1fr);}}
@media(min-width:60rem){.items{grid-template-columns:repeat(3,1fr);}}
@media(min-width:78rem){.items{grid-template-columns:repeat(5,1fr);gap:2.4rem 1.5rem;}}
/* fiecare pas: numar — rand liber — titlu — rand liber — text */
.items li{position:relative;padding-top:.9rem;border-top:2px solid var(--flame);}
.items li:nth-child(2){border-top-color:var(--sun-rule);}
.items li:nth-child(3){border-top-color:var(--teal);}
.items li:nth-child(4){border-top-color:var(--flame);}
.items li:nth-child(5){border-top-color:var(--sun-rule);}
.items__n{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.16em;color:var(--flame-deep);
          display:block;margin:0 0 1.35rem;}
.items h3{font-size:1.08rem;line-height:1.25;margin:0 0 1.15rem;min-height:2.6em;}
.items p{color:var(--ink-2);font-size:.93rem;line-height:1.5;margin:0;}
@media(max-width:77.9rem){.items h3{min-height:0;}}
/* ── dovada ───────────────────────────────────────────────── */
.proof{background:var(--paper-2);border-block:1px solid var(--rule);}
/* disciplinele, ca sa se vada dintr-o privire ce intra in joc */
.caps{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;margin:1.4rem 0 0;padding:0;}
.caps li{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
         color:var(--ink-2);background:var(--card);border:1px solid var(--rule);
         padding:.42rem .65rem;line-height:1;}
.caps li.is-key{color:var(--flame-on-soft);border-color:var(--flame);background:var(--flame-soft);}
/* 4.9:1;
   pe clasa, nu pe pozitie — altfel reordonarea listei evidentiaza alt element */
.cases{display:grid;gap:clamp(1.1rem,2.2vw,1.5rem);margin-top:2rem;}
.case{background:var(--card);border:1px solid var(--rule);display:flex;flex-direction:column;
      overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease;}
.case:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
/* rânduri late: imaginea trece de la stânga la dreapta și înapoi */
@media(min-width:56rem){
  .case{flex-direction:row;align-items:stretch;}
  .case:nth-child(even){flex-direction:row-reverse;}
  .case__media{width:44%;flex:none;aspect-ratio:auto;}
  .case__body{flex:1;display:flex;flex-direction:column;justify-content:center;
              padding:clamp(1.5rem,3vw,2.4rem);}
}
.case__media{background:var(--paper-3);overflow:hidden;aspect-ratio:16/10;}
.case__media img{width:100%;height:100%;object-fit:cover;
                 transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.case:hover .case__media img{transform:scale(1.035);}
.case__media--todo{display:grid;place-items:center;border:0;background:
  repeating-linear-gradient(135deg,var(--paper-3) 0 12px,var(--paper-2) 12px 24px);}
.case__media--todo span{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3);border:1px dashed var(--ink-3);padding:.5rem .8rem;background:var(--paper);}
.case__body{padding:1.4rem 1.35rem 1.6rem;}
/* specificitate ridicata intentionat: `.case__body p` (0,1,1) bate `.case__cat` (0,1,0)
   si ii suprascria marimea si culoarea */
.case__body .case__cat{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.2em;
           text-transform:uppercase;color:var(--ink-3);margin:0 0 .8rem;font-weight:400;line-height:1.7;
           max-width:none;}
/* 64ch din regula `p` se masoara in mono mic si rupea randul */
.case__body .case__cat b{color:var(--flame-deep);font-weight:400;}
.case__body .case__cat span{color:var(--ink-3);}
.case__body p{font-size:.97rem;color:var(--ink-2);}
.case__what{font-size:.9rem!important;color:var(--ink-3)!important;margin:0!important;
            padding-top:.8rem;border-top:1px solid var(--rule-2);}
.case__what b{color:var(--ink-2);}
.cases__more{margin:1.6rem 0 0;color:var(--ink-3);font-size:.95rem;}
/* ── cum decurge ──────────────────────────────────────────── */
.steps{display:grid;gap:1.4rem;margin-top:2rem;counter-reset:s;}
@media(min-width:56rem){.steps{grid-template-columns:repeat(3,1fr);gap:2rem;}}
.step{border-top:3px solid var(--flame);padding-top:1rem;}
.step:nth-child(2){border-top-color:var(--sun-rule);}
.step:nth-child(3){border-top-color:var(--teal);}
.step__day{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
           color:var(--ink-3);display:block;margin-bottom:.5rem;}
.step p{color:var(--ink-2);font-size:.97rem;margin:0;}
/* ── cine ─────────────────────────────────────────────────── */
.who__in{display:grid;gap:clamp(1.6rem,4vw,3rem);align-items:center;}
@media(min-width:60rem){.who__in{grid-template-columns:.8fr 1.2fr;}}
.who__art img{width:100%;max-width:24rem;margin-inline:auto;}
@media(max-width:59.9rem){.who__art img{max-width:13rem;}}
.who p{color:var(--ink-2);}
.who p b{color:var(--ink);}
/* ── AEO — rupe ritmul: indigo, auroră animată, grilă tehnică ── */
.aeo{position:relative;overflow:hidden;isolation:isolate;
     --aeo-ink:#0B0B1F; --aeo-vio:#8B7BFF; --aeo-cy:#45E0D2; --aeo-txt:#DCDCF2;
     background:var(--aeo-ink);color:var(--aeo-txt);}
.aeo__bg{position:absolute;inset:0;z-index:-1;overflow:hidden;}
.aeo__aur{position:absolute;width:70vmax;height:70vmax;border-radius:50%;filter:blur(70px);opacity:.55;}
.aeo__aur--1{background:radial-gradient(circle,rgba(139,123,255,.55),transparent 62%);
             left:-14%;top:-34%;animation:aur1 26s ease-in-out infinite alternate;}
.aeo__aur--2{background:radial-gradient(circle,rgba(69,224,210,.42),transparent 62%);
             right:-18%;bottom:-38%;animation:aur2 32s ease-in-out infinite alternate;}
@keyframes aur1{to{transform:translate(16%,12%) scale(1.18);}}
@keyframes aur2{to{transform:translate(-14%,-10%) scale(1.22);}}
.aeo__grid{position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(220,220,242,.07) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(220,220,242,.07) 1px,transparent 1px);
  background-size:58px 58px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 40%,#000 30%,transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 40%,#000 30%,transparent 78%);}
.aeo .kicker{color:var(--aeo-cy);}
.aeo .kicker--c::after{background:rgba(220,220,242,.2);}
.aeo h2{color:#fff;}
.aeo h2 em{color:var(--aeo-vio);font-style:italic;}
.aeo p{color:#B9B9D8;}
.aeo__head{display:grid;gap:2.4rem;align-items:center;}
@media(min-width:62rem){.aeo__head{grid-template-columns:1.05fr .95fr;gap:3rem;}}
/* fereastra de demonstrație */
.ae{border:1px solid rgba(220,220,242,.18);border-radius:10px;overflow:hidden;
    background:rgba(10,10,30,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    box-shadow:0 24px 60px -28px rgba(0,0,0,.9);}
.ae__chrome{display:flex;align-items:center;gap:.4rem;padding:.6rem .8rem;
            border-bottom:1px solid rgba(220,220,242,.14);background:rgba(255,255,255,.03);}
.ae__chrome i{width:9px;height:9px;border-radius:50%;background:rgba(220,220,242,.24);}
.ae__chrome span{margin-left:.6rem;font-family:var(--f-mono);font-size:.56rem;letter-spacing:.16em;
                 text-transform:uppercase;color:#8B8BAE;}
.ae__ask{padding:1.1rem 1rem;border-bottom:1px solid rgba(220,220,242,.12);}
.ae__q{font-family:var(--f-mono);font-size:.82rem;line-height:1.5;color:#fff;}
.ae__caret{display:inline-block;width:8px;height:1.05em;background:var(--aeo-cy);
           vertical-align:-.18em;margin-left:2px;animation:aeBlink 1.05s steps(1) infinite;}
@keyframes aeBlink{50%{opacity:0;}}
.ae__out{list-style:none;margin:0;padding:.5rem;display:grid;gap:.2rem;}
.ae__out li{display:flex;gap:.7rem;align-items:baseline;padding:.6rem .65rem;border-radius:6px;
            opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;}
.ae__out li.on{opacity:1;transform:none;}
.ae__rank{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;color:var(--aeo-cy);min-width:1.4em;}
.ae__body b{display:block;font-family:var(--f-body);font-weight:600;font-size:.9rem;color:#fff;}
.ae__body em{display:block;font-style:normal;font-family:var(--f-mono);font-size:.58rem;
             letter-spacing:.1em;color:#8B8BAE;margin-top:.2rem;}
.ae__you{background:rgba(139,123,255,.14);border:1px dashed rgba(139,123,255,.5);}
.ae__you .ae__rank{color:var(--aeo-vio);}
.ae__you .ae__body b{color:var(--aeo-vio);}
.aeo__note{max-width:62ch;margin:2.2rem 0 0;}
.aeo__grid3{display:grid;gap:1px;background:rgba(220,220,242,.14);
            border:1px solid rgba(220,220,242,.14);border-radius:8px;overflow:hidden;margin-top:2.4rem;}
@media(min-width:64rem){.aeo__grid3{grid-template-columns:repeat(3,1fr);}}
.aeo__grp{background:rgba(11,11,31,.72);padding:1.4rem 1.25rem 1.6rem;}
.aeo__grp .kicker{font-size:.58rem;letter-spacing:.13em;white-space:nowrap;}
@media(max-width:63.9rem){.aeo__grp .kicker{white-space:normal;}}
.aeo__grp ul{margin:0;padding:0;list-style:none;display:grid;gap:1rem;}
.aeo__grp li{font-size:.94rem;line-height:1.5;color:#ACACCB;}
.aeo__grp li b{color:#fff;}
.aeo__promise{margin:1.9rem 0 0;padding-top:1.3rem;border-top:1px solid rgba(220,220,242,.18);max-width:70ch;}
.aeo__promise b{color:var(--aeo-cy);}
/* ── pachet + preț ────────────────────────────────────────── */
.pack{display:grid;gap:1.1rem;margin:2rem 0;}
@media(min-width:60rem){.pack{grid-template-columns:1.25fr 1fr 1fr;}}
.mod{border:1px solid var(--rule);background:var(--card);padding:1.5rem 1.4rem 1.7rem;
     display:flex;flex-direction:column;}
.mod--core{border:2px solid var(--flame);background:var(--flame-soft);}
.mod .mod__tag{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
          color:var(--flame-deep);margin:0 0 .8rem;font-weight:400;line-height:1.7;}
/* D-14: pe cardul evidentiat eticheta sta pe flame-soft, unde flame-deep da 4.47:1 */
.mod--core .mod__tag{color:var(--flame-on-soft);}
.mod .mod__tag--opt{color:var(--ink-3);}
.mod p{font-size:.97rem;color:var(--ink-2);}
.mod__price{margin:auto 0 0!important;padding-top:1rem;}
.mod__price b{display:block;font-family:var(--f-display);font-weight:700;
              font-size:clamp(1.8rem,4vw,2.5rem);line-height:1;letter-spacing:-.03em;color:var(--ink);}
.mod__price span{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;
                 text-transform:uppercase;color:var(--ink-3);display:block;margin-top:.4rem;}
.guar{display:grid;gap:1.6rem;border:1px solid var(--rule);background:var(--paper-2);
      padding:clamp(1.3rem,3vw,2rem);}
@media(min-width:60rem){.guar{grid-template-columns:1.15fr .85fr;gap:2.6rem;}}
.guar__big{font-family:var(--f-display);font-weight:600;font-size:clamp(1.25rem,2.6vw,1.7rem);
           line-height:1.2;letter-spacing:-.02em;color:var(--ink);max-width:22ch;}
.guar__main p:last-child{color:var(--ink-2);font-size:.97rem;margin:0;}
.guar__list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;align-content:center;}
.guar__list li{font-size:.95rem;padding-left:1.7rem;position:relative;color:var(--ink-2);}
.guar__list li::before{position:absolute;left:0;top:0;font-family:var(--f-mono);font-weight:700;}
.guar__list .yes::before{content:"✓";color:var(--teal-deep);}
.guar__list .no::before{content:"×";color:var(--ink-2);}
/* "—" nu se citea ca excludere */
.price__after{margin:1.6rem 0 0;color:var(--ink-2);font-size:.97rem;max-width:66ch;}
/* ── FAQ ──────────────────────────────────────────────────── */
.faq{background:var(--paper-2);border-block:1px solid var(--rule);}
.faq__list{border-top:1px solid var(--rule);margin-top:1.4rem;}
.faq details{border-bottom:1px solid var(--rule);}
.faq summary{font-family:var(--f-display);font-weight:600;font-size:clamp(1.02rem,1.9vw,1.2rem);
             padding:1.1rem 2.2rem 1.1rem 0;cursor:pointer;list-style:none;position:relative;
             color:var(--ink);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:.3rem;top:50%;transform:translateY(-50%);
                    font-family:var(--f-mono);color:var(--flame-deep);font-size:1.15rem;
                    transition:transform .25s ease;}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.faq details p{margin:0 0 1.2rem;color:var(--ink-2);font-size:.99rem;max-width:64ch;}
/* ── final ────────────────────────────────────────────────── */
.end__in{display:grid;gap:clamp(1.6rem,4vw,3rem);align-items:center;}
@media(min-width:60rem){.end__in{grid-template-columns:1.15fr .85fr;}}
.end p{color:var(--ink-2);}
.end__art img{width:100%;max-width:22rem;margin-inline:auto;}
@media(max-width:59.9rem){.end__art img{max-width:13rem;}}
.foot{border-top:1px solid var(--rule);padding-block:2rem 3rem;}
.foot__in{display:flex;flex-wrap:wrap;gap:.6rem 2rem;font-family:var(--f-mono);font-size:.68rem;
          letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.foot__in a{color:var(--flame-deep);text-decoration:none;margin-left:auto;}
.foot__in a:hover{color:var(--ink);}
/* ── sticky CTA (mobil + după fold) ───────────────────────── */
.sticky{position:fixed;left:50%;bottom:1rem;transform:translate(-50%,150%);z-index:70;
        background:var(--flame-deep);color:#fff;text-decoration:none;font-weight:600;
        font-size:.92rem;padding:.85rem 1.3rem;box-shadow:var(--shadow);
        transition:transform .4s cubic-bezier(.2,.8,.2,1);white-space:nowrap;}
.sticky.is-on{transform:translate(-50%,0);}
@media(min-width:60rem){.sticky{display:none;}}
/* ── reveal ───────────────────────────────────────────────── */
.rise{opacity:0;transform:translateY(18px);
      transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1);}
.rise.is-in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .aeo__aur{animation:none!important;}
  .ae__caret{animation:none!important;opacity:0;}
  .ae__out li{opacity:1!important;transform:none!important;}
  *{animation:none!important;transition:none!important;}
  .rise{opacity:1!important;transform:none!important;}
  .sticky{transition:none;}
}
/* paragrafele-punte merg pe toata latimea, ca sa se alinieze cu grilele de dedesubt */
.wide, .wide p, blockquote.wide p{max-width:none;}
/* ── formular ────────────────────────────────────────────── */
.form{margin:1.6rem 0 1.2rem;display:grid;gap:1rem;max-width:34rem;}
@media(min-width:34rem){.form__row{grid-template-columns:1fr 1fr;}}
.f > span,.f legend{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;
                    text-transform:uppercase;color:var(--ink-3);padding:0;}
/* fara opacity — cobora contrastul sub AA */
.f--set{border:0;margin:0;padding:0;display:grid;gap:.5rem;}
.f--set legend{margin-bottom:.15rem;}
.chk{display:flex;align-items:center;gap:.55rem;font-size:.95rem;color:var(--ink-2);cursor:pointer;}
.chk input{width:1.05rem;height:1.05rem;accent-color:var(--flame-deep);flex:none;}
.chk input:checked + span{color:var(--ink);}
.btn--full{display:block;width:100%;text-align:center;margin-top:auto;}
/* Eticheta celui de-al treilea buton se rupe pe doua randuri, ceea ce impingea
   pretul lui cu un rand mai sus decat celelalte doua. Aceeasi inaltime peste tot. */
.mod .btn--full{margin-top:1.1rem;min-height:3.4em;display:flex;align-items:center;
                justify-content:center;text-align:center;line-height:1.25;}
/* al treilea card se rupe pe doua randuri si dezaliniaza preturile */
@media(min-width:52rem){.mod h3{min-height:2.4em;}}
/* Alternanta paper / paper-2 se rupea intre .steps-sec si .who — doua benzi
   identice una dupa alta, cu ~208px de gol nemotivat intre ele. */
.who{background:var(--paper-2);border-block:1px solid var(--rule);}
/* Ultima pereche de benzi identice consecutive: nota personala si „Ce primiti".
   Nu le schimb culoarea — ar produce alta pereche mai sus — ci marchez granita. */
#continut{border-top:1px solid var(--rule-2);}

/* ── pastila de sectiuni ────────────────────────────────────────
   Bara de sectiuni a disparut: indemnul a coborat fizic in pagina, iar
   ancorele au trecut intr-o pastila verticala, fixa pe marginea din dreapta,
   la mijlocul ecranului. Pe ecran lat iese in afara coloanei de continut —
   marginea e libera oricum; pe ecran ingust sta la cativa pixeli de margine.
   Sus ramane doar meniul site-ului, lipicios, ca pe restul paginilor. */
.rail{position:fixed;top:50%;transform:translateY(-50%);
      right:clamp(6px,1.4vw,22px);
      z-index:40;   /* sub .mnav(45): meniul mobil deschis o acopera */
      display:flex;flex-direction:column;
      /* Raza containerului se deduce din cea a butonului, ca formele sa fie
         concentrice: acelasi centru de arc, deci elementul activ sta in colt
         cu o margine egala de jur imprejur. Cu 999px, containerul devenea
         semicerc la capete si se batea cu dreptunghiul rotunjit din el. */
      --rail-pad:.3rem;
      --link-r:1.375rem;   /* jumatate din min-height-ul unui buton: 2.75rem */
      padding:var(--rail-pad);
      border-radius:calc(var(--link-r) + var(--rail-pad));
      background:rgba(253,248,240,.92);
      backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
      border:1px solid var(--rule);
      box-shadow:0 12px 34px -22px rgba(28,25,23,.75);}
.rail a{display:flex;align-items:center;justify-content:center;
        min-height:2.75rem;   /* 44px: tinta de atingere pe telefon */
        padding:.4rem .8rem;border-radius:var(--link-r);
        font-family:var(--f-mono);font-size:.6rem;letter-spacing:.09em;
        text-transform:uppercase;text-align:center;white-space:nowrap;
        color:var(--ink-3);text-decoration:none;line-height:1;
        transition:color .25s,background-color .25s;}
.rail a:hover{color:var(--ink);background:var(--paper-2);}
.rail a:focus-visible{outline:2px solid var(--flame);outline-offset:-2px;}
/* sectiunea in care esti acum — altfel pastila e o lista fara pozitie */
.rail a.is-current{color:var(--flame-deep);background:var(--paper-2);font-weight:700;}
/* Pragul vine din geometrie, nu din ochi. Coloana de continut e fixata la 72rem,
   deci marginea libera de langa ea masoara (100vw - 72rem) / 2. Pastila cu
   etichete are nevoie de ~140px (118 in engleza, „WHAT YOU GET" fiind cea mai
   lata, plus distanta pana la margine), asa ca marginea devine libera abia de la
   72rem + 2 x 140px ≈ 1440px. Sub acest prag raman doar punctele; eticheta ramane
   in DOM, ascunsa vizual, ca s-o citeasca cititorul de ecran si sa apara la focus.
   Cu etichete sub 1440px, sfarsitul randurilor lungi ar intra sub pastila. */
@media(max-width:90rem){
  .rail{--link-r:.9rem;}   /* container de ~44px: peste 22px raza redevine semicerc */
  .rail a{min-width:2rem;padding:.5rem;}
  .rail a span{position:absolute;width:1px;height:1px;margin:-1px;
               overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
  .rail a::before{content:"";width:7px;height:7px;border-radius:50%;
                  border:1.5px solid currentColor;
                  transition:background-color .25s,transform .25s;}
  .rail a.is-current::before{background:currentColor;transform:scale(1.25);}
  /* Pastila are voie sa stea peste marginea paginii — acolo nu e text. Rezerv
     doar diferenta pana la amprenta ei, nu un culoar intreg: `max()` ia
     marginea normala acolo unde e deja destul de lata. Fara asta, ultimele
     patru-cinci caractere de pe randurile lungi intrau sub pastila. */
  .shell{padding-right:max(var(--pad),3.5rem);}
}

/* Sub prag ai doar puncte, adica exact pe latimile de laptop. Cu mouse, pastila
   se deschide in etichete cat tii cursorul pe ea — sau cand intri in ea cu
   tastatura. Acoperirea textului devine atunci temporara si ceruta, nu permanenta.
   Pe ecranele tactile nu se aplica: acolo nu exista hover, iar o pastila care se
   deschide la atingere ar inghiti primul tap. */
@media(max-width:90rem) and (hover:hover) and (pointer:fine){
  .rail:hover,.rail:focus-within{--link-r:1.375rem;}
  .rail:hover a,.rail:focus-within a{min-width:0;padding:.4rem .8rem;}
  .rail:hover a::before,.rail:focus-within a::before{display:none;}
  .rail:hover a span,.rail:focus-within a span{position:static;width:auto;height:auto;
    margin:0;overflow:visible;clip-path:none;white-space:nowrap;}
}
@media print{.rail{display:none;}}

/* Indemnul, acum in pagina: la finalul listei din „Ce primiti" si dupa cele
   sapte zile. Nota sta langa buton pe ecran lat si sub el pe ecran ingust. */
.cta--inline{align-items:center;gap:.7rem 1.1rem;
             margin:clamp(1.8rem,4vw,2.6rem) 0 0;}
.note--inline{margin:0;}
