/* ════════════════════════════════════════════════════════════════
   Alina Robu - site de prezentare
   Paleta pastreaza ADN-ul BrainMap (violet electric + indigo profund),
   dar urca registrul: serif editorial, sticla, gradiente moi, miscare.
   ════════════════════════════════════════════════════════════════ */

:root{
  --ink:#141130;
  --ink-2:#3A3560;
  --muted:#6B6690;
  --cream:#FBF8F6;
  --cream-2:#F4F0FB;
  --line:rgba(20,17,48,.10);
  --line-2:rgba(20,17,48,.06);
  --night:#100C26;
  --night-2:#191234;

  --accent:#7C5CFF;
  --accent-2:#B79BFF;
  --accent-soft:rgba(124,92,255,.10);

  --r-xs:12px; --r-sm:18px; --r:24px; --r-lg:34px; --r-xl:48px;
  --shadow-sm:0 2px 10px rgba(20,17,48,.05);
  --shadow:0 20px 60px -24px rgba(20,17,48,.22);
  --shadow-lg:0 40px 120px -40px rgba(20,17,48,.38);

  --serif:'Fraunces',ui-serif,Georgia,'Times New Roman',serif;
  --sans:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --ui:'Sora','Inter',ui-sans-serif,system-ui,sans-serif;

  --head-h:76px;
  --ease:cubic-bezier(.22,.9,.28,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head-h) + 20px);-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);color:var(--ink);background:var(--cream);
  line-height:1.68;font-size:17px;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--accent);color:#fff}

h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.06;letter-spacing:-.02em;color:var(--ink);font-variation-settings:'SOFT' 0,'WONK' 0}
h1{font-size:clamp(46px,7.4vw,92px);letter-spacing:-.035em}
h2{font-size:clamp(32px,4.2vw,54px);letter-spacing:-.028em}
h3{font-size:clamp(21px,2.1vw,27px);letter-spacing:-.02em}
h4{font-size:19px;letter-spacing:-.01em}
p{text-wrap:pretty}

.wrap{width:min(1200px,100% - 48px);margin-inline:auto}
.wrap-n{width:min(880px,100% - 48px);margin-inline:auto}
@media(max-width:640px){.wrap,.wrap-n{width:min(100% - 32px,100%)}}

/* ── tipografie utilitara ─────────────────────────────── */
.eyebrow{
  font-family:var(--ui);font-weight:700;font-size:11.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:'';width:26px;height:1.5px;background:currentColor;opacity:.55;border-radius:2px}
.eyebrow.center::after{content:'';width:26px;height:1.5px;background:currentColor;opacity:.55;border-radius:2px}
.lead{font-size:clamp(18px,1.55vw,21.5px);line-height:1.6;color:var(--ink-2)}
.muted{color:var(--muted)}
.serif-i{font-style:italic;font-variation-settings:'SOFT' 40,'WONK' 1}

/* ── butoane ──────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--ui);font-weight:600;font-size:14.5px;letter-spacing:-.005em;
  padding:15px 28px;border-radius:999px;border:1.5px solid transparent;
  position:relative;overflow:hidden;isolation:isolate;white-space:nowrap;
  transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out),color .3s,border-color .3s,background .3s;
}
.btn .ico{transition:transform .45s var(--ease-out)}
.btn:hover{transform:translateY(-2px)}
.btn:hover .ico{transform:translateX(4px)}
.btn:active{transform:translateY(0)}
.btn-fill{background:linear-gradient(120deg,var(--accent) 0%,var(--accent-2) 100%);color:#fff;box-shadow:0 14px 34px -14px color-mix(in srgb,var(--accent) 70%,transparent)}
.btn-fill::after{
  content:'';position:absolute;inset:0;z-index:-1;opacity:0;
  background:linear-gradient(120deg,var(--accent-2) 0%,var(--accent) 100%);
  transition:opacity .45s var(--ease-out);
}
.btn-fill:hover::after{opacity:1}
.btn-fill:hover{box-shadow:0 22px 44px -16px color-mix(in srgb,var(--accent) 70%,transparent)}
.btn-line{border-color:var(--line);color:var(--ink);background:rgba(255,255,255,.6);backdrop-filter:blur(8px)}
.btn-line:hover{border-color:var(--accent);color:var(--accent);background:#fff}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{box-shadow:0 20px 40px -18px rgba(20,17,48,.7)}
.btn-white{background:#fff;color:var(--ink)}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.8)}
.btn-sm{padding:11px 20px;font-size:13px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:34px}

/* ── bara de progres ──────────────────────────────────── */
.progress{
  position:fixed;top:0;left:0;height:2.5px;width:0;z-index:200;
  background:linear-gradient(90deg,var(--accent),var(--accent-2));
  box-shadow:0 0 18px color-mix(in srgb,var(--accent) 60%,transparent);
  transition:width .12s linear;
}

/* ── header ───────────────────────────────────────────── */
.site-head{
  position:fixed;top:0;left:0;right:0;z-index:120;height:var(--head-h);
  display:flex;align-items:center;
  transition:background .5s var(--ease),box-shadow .5s var(--ease),backdrop-filter .5s,border-color .5s;
  border-bottom:1px solid transparent;
}
.site-head.solid{background:color-mix(in srgb,var(--cream) 86%,transparent);backdrop-filter:blur(16px) saturate(1.5);border-bottom-color:var(--line-2)}
.site-head.hide{transform:translateY(-100%);transition:transform .45s var(--ease)}
/* ATENȚIE: fără width:100% aici - ar bate width-ul din .wrap și meniul s-ar
   lipi de marginile ecranului. Bara are gutiere mai mari decât restul paginii. */
.head-inner{display:flex;align-items:center;gap:26px}
.site-head .wrap{width:min(1340px,100% - 72px)}
@media(max-width:1100px){.site-head .wrap{width:min(1340px,100% - 44px)}}
.brandmark{display:flex;align-items:center;gap:12px;flex:0 0 auto;min-width:0}
.brandmark .sigil{
  width:38px;height:38px;border-radius:12px;flex:0 0 auto;position:relative;
  background:linear-gradient(140deg,#7C5CFF,#E4557E 55%,#17B98A);
  display:grid;place-items:center;color:#fff;font-family:var(--serif);font-size:19px;
  box-shadow:0 8px 22px -8px rgba(124,92,255,.7);
  transition:transform .6s var(--ease-out);
}
.brandmark:hover .sigil{transform:rotate(-8deg) scale(1.06)}
.brandmark b{font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:-.02em;display:block;line-height:1.1}
.brandmark span{display:block;font-family:var(--ui);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

.mainnav{display:flex;align-items:center;gap:4px;margin-left:auto;font-family:var(--ui);font-size:13.5px;font-weight:500}
.mainnav>*{position:relative}
.mainnav a.nl{padding:10px 11px;border-radius:999px;color:var(--ink-2);transition:color .25s,background .25s;display:inline-flex;align-items:center;gap:6px}
.mainnav a.nl:hover,.mainnav .has-mega:hover>a.nl{color:var(--ink);background:rgba(20,17,48,.045)}
.mainnav a.nl.cur{color:var(--accent)}
.caret{width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.5;transition:transform .3s}
.has-mega:hover .caret{transform:rotate(225deg) translateY(-2px)}

.mega{
  position:absolute;top:calc(100% + 10px);left:50%;translate:-50% 0;
  width:min(680px,92vw);padding:14px;border-radius:26px;
  background:rgba(255,255,255,.86);backdrop-filter:blur(22px) saturate(1.6);
  border:1px solid var(--line);box-shadow:var(--shadow-lg);
  display:grid;grid-template-columns:1fr 1fr;gap:6px;
  opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transform-origin:top center;
  transition:opacity .35s var(--ease-out),transform .35s var(--ease-out),visibility .35s;
}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.mega a{display:flex;gap:12px;padding:12px 14px;border-radius:16px;transition:background .25s,transform .35s var(--ease-out)}
.mega a:hover{background:var(--cream-2);transform:translateX(3px)}
.mega .dot{width:9px;height:9px;border-radius:50%;margin-top:7px;flex:0 0 auto;box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 18%,transparent)}
/* cap de lista in meniul mare: desparte cele sase directii ale Alinei de
   terapiile de la cabinetul Dr. Nemes. Tine ambele coloane. */
.mega-cap{
  grid-column:1/-1;display:block;margin:10px 14px 4px;padding-top:12px;
  border-top:1px solid var(--line-2);
  font-family:var(--ui);font-size:10.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);
}
.mega b{display:block;font-family:var(--ui);font-weight:600;font-size:13.5px;color:var(--ink)}
.mega i{display:block;font-style:normal;font-size:12px;color:var(--muted);line-height:1.45;margin-top:2px}

.head-cta{margin-left:6px}
.burger{display:none;width:44px;height:44px;border-radius:14px;margin-left:auto;position:relative;border:1px solid var(--line);background:rgba(255,255,255,.6)}
.burger i{position:absolute;left:12px;width:20px;height:1.8px;background:var(--ink);border-radius:2px;transition:transform .45s var(--ease-out),opacity .3s}
.burger i:nth-child(1){top:16px}
.burger i:nth-child(2){top:22px}
.burger i:nth-child(3){top:28px}
body.menu-open .burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.menu-open .burger i:nth-child(2){opacity:0}
body.menu-open .burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.drawer{
  position:fixed;inset:0;z-index:110;background:var(--night);color:#fff;
  padding:calc(var(--head-h) + 24px) 0 40px;overflow-y:auto;
  clip-path:circle(0% at calc(100% - 44px) 38px);
  transition:clip-path .7s var(--ease-out);
}
body.menu-open .drawer{clip-path:circle(150% at calc(100% - 44px) 38px)}
.drawer a{display:block;font-family:var(--serif);font-size:clamp(28px,7vw,42px);padding:9px 0;border-bottom:1px solid rgba(255,255,255,.09);opacity:0;transform:translateY(18px)}
body.menu-open .drawer a{animation:dIn .6s var(--ease-out) forwards;animation-delay:calc(var(--i) * 55ms + .15s)}
@keyframes dIn{to{opacity:1;transform:none}}
.drawer a small{display:block;font-family:var(--ui);font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.45;margin-top:2px}

/* pagina nu mai fuge in spatele sertarului cat e deschis */
body.menu-open{overflow:hidden}

/* Cu sertarul deschis bara ramane deasupra lui (z-index 120 fata de 110), deci
   trece de pe crem pe noapte: altfel marca si pastilele de limba erau inchis pe
   inchis, iar linkurile sertarului treceau pe sub ele la derulare. */
body.menu-open .site-head{background:color-mix(in srgb,var(--night) 88%,transparent);backdrop-filter:blur(14px);border-bottom-color:rgba(255,255,255,.07);box-shadow:none}
body.menu-open .brandmark b{color:#fff}
body.menu-open .brandmark>span>span{color:rgba(255,255,255,.5)}
body.menu-open .burger{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.07)}
body.menu-open .burger i{background:#fff}
body.menu-open .site-head .limbi{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08)}
body.menu-open .site-head .limbi .lm{color:rgba(255,255,255,.62)}
body.menu-open .site-head .limbi .lm.on{color:#fff;background:var(--accent)}

/* ── bara pe telefon ──────────────────────────────────────
   Sub 620px subtitlul marcii („Psihoterapeut integrativ specialist") nu mai
   incape langa burger si i se urca peste el. Ramane numele si sigiliul, iar
   pastilele de limba trec langa burger, la vedere, fara sertar. */
@media(max-width:620px){
  .head-inner{gap:12px}
  .brandmark{gap:10px}
  .brandmark .sigil{width:34px;height:34px;border-radius:11px;font-size:17px}
  .brandmark b{font-size:17.5px;white-space:nowrap}
  .brandmark>span>span{display:none}
  .site-head .limbi{margin-left:auto}
  .burger{width:42px;height:42px}
  .burger i{left:11px}
}
/* ecrane foarte inguste (iPhone SE): totul se strange cu cate un pas, ca
   numele sa ramana pe un rand langa pastile si burger. */
@media(max-width:380px){
  .head-inner{gap:8px}
  .brandmark{gap:8px}
  .brandmark b{font-size:16px}
  .site-head .limbi{padding:2px;gap:1px}
  .site-head .limbi .lm{padding:5px 6px;font-size:10.5px}
  .burger{width:40px;height:40px}
  .burger i{left:10px}
  .burger i:nth-child(1){top:14px}
  .burger i:nth-child(2){top:20px}
  .burger i:nth-child(3){top:26px}
}

/* Sertarul are 22 de randuri: la marimea de titlu ajungea la trei ecrane si
   ultimele intrari se aprindeau dupa 1,3s, cand omul derulase deja peste ele.
   Pe telefon randurile se string, iar intrarea in scena e de trei ori mai iute. */
@media(max-width:720px){
  .drawer{padding:calc(var(--head-h) + 14px) 0 34px;overscroll-behavior:contain}
  .drawer a{font-size:20px;padding:8px 0;line-height:1.18}
  .drawer a small{font-size:9.5px;letter-spacing:.13em;margin-top:3px;opacity:.5}
  body.menu-open .drawer a{animation-delay:calc(var(--i) * 18ms + .08s)}
}

/* ── reveal la scroll ─────────────────────────────────── */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:calc(var(--d,0) * 1ms)}
[data-reveal].in{opacity:1;transform:none}
[data-reveal="scale"]{transform:translateY(30px) scale(.965)}
[data-reveal="left"]{transform:translateX(-30px)}
[data-reveal="right"]{transform:translateX(30px)}
[data-reveal="mask"]{opacity:1;transform:none;clip-path:inset(0 0 100% 0)}
[data-reveal="mask"].in{clip-path:inset(0 0 0 0);transition:clip-path 1.1s var(--ease-out)}

/* ── hero ─────────────────────────────────────────────── */
.hero{position:relative;padding:calc(var(--head-h) + 72px) 0 90px;overflow:clip}
.hero-bg{position:absolute;inset:-10% -10% 0;z-index:-2;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;will-change:transform}
.orb.o1{width:46vw;height:46vw;background:radial-gradient(circle at 30% 30%,#B79BFF,#7C5CFF 60%,transparent 72%);top:-14vw;right:-8vw;animation:float1 22s ease-in-out infinite}
.orb.o2{width:34vw;height:34vw;background:radial-gradient(circle at 60% 40%,#FF9BB6,#E4557E 60%,transparent 72%);top:24vw;left:-12vw;opacity:.34;animation:float2 26s ease-in-out infinite}
.orb.o3{width:28vw;height:28vw;background:radial-gradient(circle at 50% 50%,#7FE3C0,#17B98A 60%,transparent 72%);bottom:-8vw;right:16vw;opacity:.26;animation:float1 30s ease-in-out infinite reverse}
@keyframes float1{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-4vw,4vw,0) scale(1.08)}}
@keyframes float2{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(5vw,-3vw,0) scale(1.1)}}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.032;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.hero h1{margin:20px 0 0}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln>span{display:block;transform:translateY(105%);animation:up 1.15s var(--ease-out) forwards;animation-delay:calc(var(--i) * 110ms + .1s)}
@keyframes up{to{transform:none}}
/* numele stă pe un singur rând, orice s-ar întâmpla */
.hero h1.nume .ln>span{white-space:nowrap}
/* gradientul stă pe loc (mov → roz, fără verde); miscarea e doar o lumina care trece peste litere */
.hero h1 em{position:relative;display:inline-block;font-style:italic;font-variation-settings:'SOFT' 60,'WONK' 1;
  background:linear-gradient(100deg,#7C5CFF 0%,#A559D8 46%,#E4557E 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1 em::after{
  content:attr(data-t);position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,transparent 34%,rgba(255,255,255,.72) 50%,transparent 66%);
  background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:glint 7s linear infinite}
@keyframes glint{0%{background-position:-40% 50%}52%,100%{background-position:150% 50%}}
.hero .lead{max-width:52ch;margin-top:22px;opacity:0;animation:fadeUp .9s var(--ease-out) .62s forwards}
.hero .cta-row{opacity:0;animation:fadeUp .9s var(--ease-out) .76s forwards}
.hero .eyebrow{opacity:0;animation:fadeUp .8s var(--ease-out) .3s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

.portrait{position:relative;opacity:0;animation:fadeUp 1.2s var(--ease-out) .35s forwards}
.portrait .frame{
  position:relative;border-radius:220px 220px 30px 30px;overflow:hidden;
  box-shadow:var(--shadow-lg);background:var(--cream-2);
  transform:translateZ(0);
}
.portrait .frame::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(20,17,48,.35));opacity:.5}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 22%;transition:transform 1.4s var(--ease-out)}
.portrait:hover img{transform:scale(1.04)}
.portrait .ring{
  position:absolute;inset:-26px;border-radius:240px 240px 50px 50px;border:1px dashed rgba(124,92,255,.35);
  animation:spinSlow 44s linear infinite;pointer-events:none;
}
@keyframes spinSlow{to{transform:rotate(360deg)}}
.chip-float{
  position:absolute;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);
  border:1px solid var(--line);border-radius:999px;padding:11px 18px;
  font-family:var(--ui);font-size:12.5px;font-weight:600;box-shadow:var(--shadow);
  display:flex;align-items:center;gap:9px;white-space:nowrap;
  animation:bob 7s ease-in-out infinite;
}
.chip-float .dot{width:8px;height:8px;border-radius:50%}
.chip-float.c1{top:12%;left:-14%;animation-delay:0s}
.chip-float.c2{top:46%;right:-12%;animation-delay:1.4s}
.chip-float.c3{bottom:9%;left:-9%;animation-delay:2.6s}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@media(max-width:1080px){.chip-float{display:none}}


/* semn mare de apa in hero-ul specializarii */
.hero .mark{
  position:absolute;right:2vw;top:52%;translate:0 -50%;z-index:-1;pointer-events:none;
  font-size:min(34vw,460px);line-height:1;color:color-mix(in srgb,var(--accent) 13%,transparent);
  animation:bob 12s ease-in-out infinite;
}
@media(max-width:900px){.hero .mark{font-size:46vw;opacity:.5;right:-6vw}}

/* ── titluri rulante ──────────────────────────────────── */
.ticker{border-block:1px solid var(--line-2);padding:16px 0;overflow:hidden;background:rgba(255,255,255,.5);backdrop-filter:blur(6px);position:relative;z-index:2}
.ticker-track{display:flex;gap:0;width:max-content;animation:marq 78s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker span{font-family:var(--ui);font-size:12.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);padding:0 30px;display:inline-flex;align-items:center;gap:30px;white-space:nowrap}
.ticker span::after{content:'✦';color:var(--accent);font-size:10px}
@keyframes marq{to{transform:translateX(-50%)}}

/* ── sectiuni ─────────────────────────────────────────── */
.sec{padding:clamp(72px,9vw,130px) 0;position:relative}
.sec.tight{padding:clamp(56px,6vw,86px) 0}
.sec-head{max-width:760px;margin-bottom:56px}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head h2{margin:18px 0 0}
.sec-head .lead{margin-top:20px}
.bg-soft{background:linear-gradient(180deg,transparent,var(--cream-2) 18%,var(--cream-2) 82%,transparent)}
.bg-night{background:var(--night);color:#EDEAFB}
.bg-night h2,.bg-night h3,.bg-night h4{color:#fff}
.bg-night .lead,.bg-night p{color:#BDB7DC}
.bg-night .eyebrow{color:var(--accent-2)}

/* ── carduri specializari ─────────────────────────────── */
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.spec-card{
  --c:var(--accent);
  position:relative;padding:32px 30px 28px;border-radius:var(--r-lg);
  background:#fff;border:1px solid var(--line-2);overflow:hidden;isolation:isolate;
  display:flex;flex-direction:column;min-height:290px;
  transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out),border-color .5s;
  transform-style:preserve-3d;
}
.spec-card::before{
  content:'';position:absolute;inset:0;z-index:-1;opacity:0;
  background:radial-gradient(120% 90% at 12% 0%,color-mix(in srgb,var(--c) 16%,transparent),transparent 62%);
  transition:opacity .6s var(--ease-out);
}
.spec-card:hover{transform:translateY(-8px);box-shadow:0 40px 80px -40px color-mix(in srgb,var(--c) 55%,transparent);border-color:color-mix(in srgb,var(--c) 28%,transparent)}
.spec-card:hover::before{opacity:1}
.spec-card .num{position:absolute;top:24px;right:28px;font-family:var(--serif);font-size:54px;color:color-mix(in srgb,var(--c) 16%,transparent);line-height:1;transition:color .5s}
.spec-card:hover .num{color:color-mix(in srgb,var(--c) 30%,transparent)}
.spec-card .glyph{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:19px;color:#fff;background:linear-gradient(140deg,var(--c),color-mix(in srgb,var(--c) 45%,#fff));box-shadow:0 12px 26px -12px var(--c);transition:transform .6s var(--ease-out)}
.spec-card:hover .glyph{transform:rotate(-8deg) scale(1.08)}
.spec-card h3{margin:22px 0 10px;font-size:24px}
.spec-card p{font-size:15px;color:var(--muted);line-height:1.6}
.spec-card .go{margin-top:auto;padding-top:22px;font-family:var(--ui);font-size:13px;font-weight:600;color:var(--c);display:inline-flex;align-items:center;gap:8px}
.spec-card .go .ico{transition:transform .5s var(--ease-out)}
.spec-card:hover .go .ico{transform:translateX(6px)}
@media(max-width:980px){.spec-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:660px){.spec-grid{grid-template-columns:1fr}}

/* ── cifre ────────────────────────────────────────────── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line-2);border-radius:var(--r);overflow:hidden;border:1px solid var(--line-2)}
.stat{background:var(--cream);padding:36px 28px;text-align:center;transition:background .4s}
.stat:hover{background:#fff}
.stat b{display:block;white-space:nowrap;font-family:var(--serif);font-size:clamp(38px,4.6vw,58px);line-height:1;letter-spacing:-.03em;
  background:linear-gradient(120deg,var(--ink),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat>span{display:block;margin-top:12px;font-size:13.5px;color:var(--muted);line-height:1.45}
.stat b span{font:inherit;color:inherit;display:inline;margin:0;letter-spacing:inherit}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,1fr)}}

/* ── despre / split ───────────────────────────────────── */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,72px);align-items:start}
.split.rev{grid-template-columns:.95fr 1.05fr}
/* .mid = cele două coloane se centrează una față de alta pe verticală */
.split.mid{align-items:center}
.prose p+p{margin-top:19px}
.prose p{color:var(--ink-2)}
.prose .first::first-letter{
  font-family:var(--serif);font-size:3.55em;float:left;line-height:.86;padding:6px 12px 0 0;color:var(--accent);
}
.panel{
  background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:34px;
  box-shadow:var(--shadow-sm);position:relative;overflow:hidden;
}
.panel::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2),transparent)}
.panel h4{font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.ticks{list-style:none;display:grid;gap:13px}
.ticks li{display:flex;gap:13px;font-size:15px;line-height:1.55;color:var(--ink-2)}
.ticks li::before{
  content:'';flex:0 0 auto;width:19px;height:19px;border-radius:50%;margin-top:3px;
  background:color-mix(in srgb,var(--accent) 14%,transparent);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C5CFF' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:12px;background-position:center;background-repeat:no-repeat;
}
@media(max-width:900px){.split,.split.rev{grid-template-columns:1fr}}

/* ── citat ────────────────────────────────────────────── */
/* citatul: cutie strânsă pe conținut, text centrat, fără spațiu mort */
.quote{position:relative;padding:clamp(30px,3.4vw,46px) clamp(26px,4vw,54px);border-radius:var(--r-lg);
  background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 10%,#fff),#fff 60%);
  border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);overflow:hidden;text-align:center}
.quote::before{content:'”';position:absolute;top:-56px;left:50%;translate:-50% 0;font-family:var(--serif);font-size:200px;color:color-mix(in srgb,var(--accent) 12%,transparent);line-height:1}
.quote q{quotes:none;font-family:var(--serif);font-size:clamp(21px,2.4vw,30px);line-height:1.3;letter-spacing:-.02em;display:block;position:relative;max-width:30ch;margin-inline:auto}
.quote .sig{margin-top:18px;font-family:var(--ui);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);position:relative}

/* ── pasi numerotati ──────────────────────────────────── */
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line-2);border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden}
.step{background:#fff;padding:32px 30px;position:relative;transition:background .45s}
.step:hover{background:color-mix(in srgb,var(--accent) 5%,#fff)}
.step .n{font-family:var(--ui);font-size:11.5px;font-weight:700;letter-spacing:.18em;color:var(--accent);display:block;margin-bottom:14px}
.step h4{margin-bottom:9px;font-family:var(--serif);font-size:21px}
.step p{font-size:14.5px;color:var(--muted);line-height:1.6}
.steps.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.steps.three{grid-template-columns:1fr}}
@media(max-width:760px){.steps{grid-template-columns:1fr}}

/* ── chenare cu idei (pastel, o culoare per card) ─────── */
.ideas{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.icard{
  --tc:var(--accent);position:relative;padding:30px 28px;border-radius:var(--r);
  background:color-mix(in srgb,var(--tc) 8%,#fff);
  border:1px solid color-mix(in srgb,var(--tc) 24%,#fff);
  display:flex;flex-direction:column;overflow:hidden;
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out),border-color .4s;
}
.icard::after{content:'';position:absolute;width:150px;height:150px;border-radius:50%;right:-60px;top:-60px;
  background:radial-gradient(circle,color-mix(in srgb,var(--tc) 22%,transparent),transparent 70%);pointer-events:none}
.icard:hover{transform:translateY(-6px);box-shadow:0 34px 70px -34px color-mix(in srgb,var(--tc) 60%,transparent);border-color:color-mix(in srgb,var(--tc) 45%,#fff)}
.icard .ilabel{
  font-family:var(--ui);font-weight:700;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:color-mix(in srgb,var(--tc) 78%,#000);display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
}
.icard .ilabel::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--tc)}
.icard h4{font-family:var(--serif);font-size:21px;line-height:1.18;margin:14px 0 11px;color:color-mix(in srgb,var(--tc) 42%,var(--ink))}
.icard p{font-size:14.5px;line-height:1.62;color:var(--ink-2)}
@media(max-width:900px){.ideas{grid-template-columns:1fr}}

/* ── tabele ───────────────────────────────────────────── */
.tblwrap{
  overflow-x:auto;border:1px solid var(--line-2);border-radius:var(--r);background:#fff;
  box-shadow:var(--shadow-sm);-webkit-overflow-scrolling:touch;
}
.tbl{width:100%;border-collapse:collapse;min-width:620px;font-size:15px}
.tbl th{
  font-family:var(--ui);font-weight:700;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:color-mix(in srgb,var(--accent) 70%,var(--muted));text-align:left;padding:18px 24px;white-space:nowrap;
  background:color-mix(in srgb,var(--accent) 6%,#fff);border-bottom:1px solid color-mix(in srgb,var(--accent) 16%,transparent);
}
.tbl td{padding:19px 24px;border-bottom:1px solid var(--line-2);color:var(--ink-2);vertical-align:top;line-height:1.55}
.tbl tbody tr{transition:background .35s}
.tbl tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,#fff)}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl td:first-child{font-family:var(--ui);font-weight:600;color:var(--ink);width:26%}
.tbl.two td:first-child{font-family:var(--serif);font-weight:600;font-size:17px;letter-spacing:-.01em;width:42%;color:var(--ink)}
.tbl.two td:last-child{color:var(--ink-2)}
.tbl-note{margin-top:16px;font-size:13.5px;color:var(--muted)}
.tbl-hint{display:none;margin-top:12px;font-size:12.5px;color:var(--muted)}
@media(max-width:700px){.tbl-hint{display:block}.tbl th,.tbl td{padding:15px 18px}}

/* ── etichete ─────────────────────────────────────────── */
.tags{display:flex;flex-wrap:wrap;gap:10px}
.tag{
  font-family:var(--ui);font-size:13px;font-weight:500;padding:10px 18px;border-radius:999px;
  background:#fff;border:1px solid var(--line-2);color:var(--ink-2);
  transition:transform .4s var(--ease-out),border-color .3s,color .3s,background .3s;
}
.tag:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,#fff)}
.bg-night .tag{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:#D9D4F2}

/* ── banda CTA ────────────────────────────────────────── */
.band{
  position:relative;border-radius:var(--r-xl);padding:clamp(46px,6vw,84px) clamp(28px,5vw,72px);
  background:linear-gradient(135deg,var(--night) 0%,#2A1E5C 55%,color-mix(in srgb,var(--accent) 70%,#2A1E5C) 100%);
  color:#fff;overflow:hidden;isolation:isolate;text-align:center;
}
.band::before{content:'';position:absolute;width:60%;aspect-ratio:1;border-radius:50%;top:-30%;right:-10%;z-index:-1;
  background:radial-gradient(circle,color-mix(in srgb,var(--accent) 55%,transparent),transparent 68%);filter:blur(40px);animation:float1 20s ease-in-out infinite}
.band h2{color:#fff;max-width:20ch;margin-inline:auto}
.band p{color:rgba(255,255,255,.8);max-width:56ch;margin:20px auto 0;font-size:17px}
.band .cta-row{justify-content:center}

/* ── presa ────────────────────────────────────────────── */
.logowall{overflow:hidden;position:relative;padding:8px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logowall-track{display:flex;gap:64px;width:max-content;align-items:center;animation:marq 46s linear infinite}
.logowall:hover .logowall-track{animation-play-state:paused}
.logowall img{height:44px;width:auto;object-fit:contain;filter:grayscale(1) contrast(.85);opacity:.62;transition:filter .5s,opacity .5s,transform .5s}
.logowall a:hover img{filter:none;opacity:1;transform:scale(1.06)}

.press-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.press{
  display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:var(--r);
  background:#fff;border:1px solid var(--line-2);
  transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),border-color .4s;
}
.press:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}
.press .logo{height:36px;display:flex;align-items:center}
.press .logo img{height:100%;width:auto;object-fit:contain;filter:grayscale(1) contrast(.9);opacity:.85;transition:filter .4s,opacity .4s}
.press:hover .logo img{filter:none;opacity:1}
.press b{font-family:var(--ui);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.press p{font-family:var(--serif);font-size:18px;line-height:1.28;letter-spacing:-.015em;color:var(--ink)}
.press .arr{margin-top:auto;padding-top:8px;font-size:13px;color:var(--accent);font-family:var(--ui);font-weight:600;display:inline-flex;gap:7px;align-items:center}
.press:hover .arr .ico{transform:translateX(5px)}
.press .arr .ico{transition:transform .45s var(--ease-out)}
@media(max-width:900px){.press-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.press-grid{grid-template-columns:1fr}}

/* ── video ────────────────────────────────────────────── */
.vid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.vfac{
  position:relative;aspect-ratio:16/9;border-radius:var(--r-sm);overflow:hidden;width:100%;
  background:var(--night-2) center/cover no-repeat;border:1px solid var(--line-2);
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out);
}
.vfac::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,12,38,.05),rgba(16,12,38,.5));transition:opacity .5s;opacity:.85}
.vfac:hover{transform:translateY(-5px) scale(1.012);box-shadow:var(--shadow)}
.vfac:hover::after{opacity:.6}
.vfac .play{
  position:absolute;inset:0;margin:auto;width:56px;height:56px;border-radius:50%;
  background:rgba(255,255,255,.94);display:grid;place-items:center;z-index:2;
  transition:transform .5s var(--ease-out),background .3s;
}
.vfac .play::before{content:'';border-left:15px solid var(--ink);border-block:9px solid transparent;margin-left:4px}
.vfac:hover .play{transform:scale(1.13);background:#fff}
.vfac .play::after{content:'';position:absolute;inset:-8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);animation:pulse 2.6s ease-out infinite}
@keyframes pulse{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.5);opacity:0}}

/* miniatura cu titlu dedesubt: liste lungi de filmari, unde posterele singure
   nu spun nimic. Butonul ramane acelasi .vfac, ca sa mearga acelasi lightbox. */
.vid-grid.titrate{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:26px 18px}
.vtit{margin:0;display:flex;flex-direction:column;gap:11px}
.vtit figcaption{font-family:var(--ui);font-size:13.5px;line-height:1.45;color:var(--ink-2);font-weight:500}

/* ── tarife ───────────────────────────────────────────── */
.tarif-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin-bottom:46px}
.tarif{
  position:relative;background:#fff;border:1px solid var(--line-2);
  border-radius:var(--r-sm);padding:26px 24px 24px;border-top:3px solid var(--c);
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out);
}
.tarif:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.tarif-top{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.tarif-top h3{margin:0;font-size:20px}
.tarif .amount{font-family:var(--ui);font-size:13px;color:var(--ink-2);white-space:nowrap}
.tarif .amount b{font-family:var(--serif);font-size:27px;color:var(--c);margin-right:4px}
.tarif .amount small{display:block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.tarif p{margin:0 0 12px;font-size:14.5px;line-height:1.6;color:var(--ink-2)}
.tarif .who{font-size:13.5px;color:var(--muted)}
.tarif .badge{
  display:inline-block;font-family:var(--ui);font-size:11.5px;font-weight:600;
  letter-spacing:.04em;padding:6px 12px;border-radius:999px;
  color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);
}

.lightbox{position:fixed;inset:0;z-index:300;background:rgba(10,7,26,.92);backdrop-filter:blur(10px);display:none;place-items:center;padding:24px}
.lightbox.on{display:grid;animation:fade .35s ease}
@keyframes fade{from{opacity:0}}
.lightbox .box{width:min(1040px,100%);aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lg);animation:pop .5s var(--ease-out)}
@keyframes pop{from{transform:scale(.94);opacity:0}}
.lightbox iframe{width:100%;height:100%;border:0}
.lightbox .x{position:absolute;top:22px;right:26px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:22px;display:grid;place-items:center;transition:background .3s,transform .4s}
.lightbox .x:hover{background:rgba(255,255,255,.24);transform:rotate(90deg)}

/* ── carti ────────────────────────────────────────────── */
.books{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.book{
  --c:var(--accent);
  position:relative;padding:32px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line-2);
  display:flex;flex-direction:column;overflow:hidden;
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out);
}
.book:hover{transform:translateY(-6px);box-shadow:0 44px 90px -44px color-mix(in srgb,var(--c) 55%,transparent)}
/* semn discret de carte, nu copertă falsă la dimensiune mare;
   când vin coperțile reale, se pune un <img> în locul lui */
.book .cover-img{width:auto;max-height:210px;border-radius:6px;margin-bottom:22px;box-shadow:0 14px 30px -14px rgba(20,17,48,.45);transition:transform .55s var(--ease-out)}
.book:hover .cover-img{transform:translateY(-3px) rotate(-2deg)}
.book .mini{
  width:58px;height:76px;border-radius:3px 7px 7px 3px;margin-bottom:22px;position:relative;flex:0 0 auto;
  background:linear-gradient(150deg,color-mix(in srgb,var(--c) 85%,#000) 0%,var(--c) 55%,color-mix(in srgb,var(--c) 45%,#fff) 100%);
  box-shadow:0 10px 22px -12px color-mix(in srgb,var(--c) 80%,transparent),inset -8px 0 16px -12px rgba(0,0,0,.5);
  transition:transform .55s var(--ease-out);
}
.book .mini::before{content:'';position:absolute;left:6px;top:0;bottom:0;width:1.5px;background:rgba(255,255,255,.34)}
.book:hover .mini{transform:rotate(-5deg) translateY(-3px)}
.book .mini.hatch{
  background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--c) 14%,#fff),color-mix(in srgb,var(--c) 14%,#fff) 6px,color-mix(in srgb,var(--c) 26%,#fff) 6px,color-mix(in srgb,var(--c) 26%,#fff) 12px);
  box-shadow:none;border:1px dashed color-mix(in srgb,var(--c) 45%,#fff);
}
.book b{font-family:var(--ui);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--c)}
.book h3{margin:10px 0 12px;font-size:23px}
.book p{font-size:14.5px;color:var(--muted);line-height:1.62}
.book .arr{margin-top:auto;padding-top:20px;font-family:var(--ui);font-weight:600;font-size:13px;color:var(--c);display:inline-flex;gap:8px;align-items:center}
.book.slot{border-style:dashed;border-color:color-mix(in srgb,var(--c) 40%,transparent);background:color-mix(in srgb,var(--c) 4%,#fff);box-shadow:none}
.book.slot:hover{transform:none;box-shadow:none}
.book code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:color-mix(in srgb,var(--c) 10%,#fff);padding:2px 6px;border-radius:6px}
@media(max-width:900px){.books{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.books{grid-template-columns:1fr}}

/* ── publicatii ───────────────────────────────────────── */
.pubs{display:grid;gap:2px;background:var(--line-2);border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden}
.pub{background:#fff;padding:26px 30px;display:flex;gap:24px;align-items:flex-start;transition:background .4s,padding-left .5s var(--ease-out)}
.pub:hover{background:color-mix(in srgb,var(--accent) 5%,#fff);padding-left:38px}
.pub .yr{font-family:var(--ui);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--accent);padding-top:5px;flex:0 0 auto}
.pub h4{font-family:var(--serif);font-size:19px;line-height:1.32;font-weight:600;margin-bottom:7px}
.pub small{color:var(--muted);font-size:13px}
.pub .arr{margin-left:auto;flex:0 0 auto;color:var(--accent);opacity:0;transform:translateX(-6px);transition:opacity .4s,transform .4s var(--ease-out);padding-top:4px}
.pub:hover .arr{opacity:1;transform:none}

/* ── academia: volume + preturi ───────────────────────── */
.vols{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.vol{
  position:relative;padding:28px 26px;border-radius:var(--r);background:#fff;border:1px solid var(--line-2);
  transition:transform .55s var(--ease-out),box-shadow .5s var(--ease-out);overflow:hidden;
}
.vol:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.vol .age{font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--accent)}
.vol .st{position:absolute;top:24px;right:22px;font-family:var(--ui);font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:var(--cream-2);color:var(--muted)}
.vol .st.on{background:color-mix(in srgb,#17B98A 15%,#fff);color:#0E8C66}
.vol h3{margin:14px 0 10px;font-size:22px}
.vol p{font-size:14px;color:var(--muted);line-height:1.58}
@media(max-width:1000px){.vols{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.vols{grid-template-columns:1fr}}

.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.price{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:34px 30px;display:flex;flex-direction:column;position:relative;transition:transform .55s var(--ease-out),box-shadow .5s}
.price:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.price.top{border-color:color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:0 30px 70px -36px color-mix(in srgb,var(--accent) 60%,transparent);transform:scale(1.025)}
.price.top:hover{transform:translateY(-6px) scale(1.025)}
.price .flag{position:absolute;top:-13px;left:50%;translate:-50% 0;background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;font-family:var(--ui);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:7px 16px;border-radius:999px;white-space:nowrap}
.price h3{font-size:22px;margin-bottom:8px}
.price .p{font-family:var(--serif);font-size:44px;letter-spacing:-.03em;margin:18px 0 4px;line-height:1}
.price .old{font-size:13px;color:var(--muted)}
.price ul{list-style:none;display:grid;gap:11px;margin:22px 0 26px}
.price li{font-size:14.5px;color:var(--ink-2);display:flex;gap:11px}
.price li::before{content:'✓';color:var(--accent);font-weight:700}
.price .btn{margin-top:auto;width:100%}
@media(max-width:900px){.prices{grid-template-columns:1fr}.price.top{transform:none}}

/* ── FAQ ──────────────────────────────────────────────── */
.faq{border-top:1px solid var(--line-2)}
.faq details{border-bottom:1px solid var(--line-2)}
.faq summary{list-style:none;cursor:pointer;padding:26px 46px 26px 0;position:relative;font-family:var(--serif);font-size:clamp(19px,2vw,23px);letter-spacing:-.015em;transition:color .3s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--accent)}
.faq summary::after{content:'';position:absolute;right:8px;top:50%;width:13px;height:13px;margin-top:-7px;
  border-right:1.8px solid var(--accent);border-bottom:1.8px solid var(--accent);transform:rotate(45deg);transition:transform .4s var(--ease-out)}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq .ans{padding:0 60px 28px 0;color:var(--ink-2);animation:fadeUp .5s var(--ease-out)}

/* ── mic banner de nota ───────────────────────────────── */
.note{display:flex;gap:16px;padding:22px 26px;border-radius:var(--r);background:color-mix(in srgb,var(--accent) 7%,#fff);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);font-size:14.5px;color:var(--ink-2)}
.note b{color:var(--accent);font-family:var(--ui);font-size:13px}

/* ── navigare intre specializari ──────────────────────── */
.nextprev{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
.np{
  --c:var(--accent);padding:30px;border-radius:var(--r);background:#fff;border:1px solid var(--line-2);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;
  min-height:132px;transition:transform .5s var(--ease-out),box-shadow .5s,border-color .4s;
}
.np:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--c) 30%,transparent)}
.np small{font-family:var(--ui);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.np b{font-family:var(--serif);font-weight:600;font-size:22px;color:var(--c)}
@media(max-width:640px){.nextprev{grid-template-columns:1fr}}

/* ── footer ───────────────────────────────────────────── */
footer.site{background:var(--night);color:#B9B3D8;padding:80px 0 34px;position:relative;overflow:hidden}
footer.site::before{content:'';position:absolute;width:70vw;aspect-ratio:1;border-radius:50%;top:-40vw;left:-10vw;
  background:radial-gradient(circle,rgba(124,92,255,.28),transparent 66%);filter:blur(40px)}
footer.site .fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:44px;position:relative}
footer.site h4{color:#fff;font-family:var(--ui);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:20px;font-weight:700}
footer.site ul{list-style:none;display:grid;gap:11px;font-size:14.5px}
footer.site a:hover{color:#fff}
footer.site .fbrand b{font-family:var(--serif);font-size:26px;color:#fff;display:block;letter-spacing:-.02em}
footer.site .fbrand p{font-size:14.5px;margin-top:14px;max-width:34ch;color:#9A94BE}
footer.site .socials{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
footer.site .socials a{font-family:var(--ui);font-size:12px;padding:9px 15px;border-radius:999px;border:1px solid rgba(255,255,255,.14);transition:background .3s,border-color .3s,transform .4s var(--ease-out)}
footer.site .socials a:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.3);transform:translateY(-2px)}
footer.site .fbot{margin-top:56px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:#7E789F;position:relative}
@media(max-width:900px){footer.site .fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){footer.site .fgrid{grid-template-columns:1fr}}

/* ── chat ─────────────────────────────────────────────── */
.chat-fab{
  position:fixed;right:24px;bottom:24px;z-index:150;display:flex;align-items:center;gap:12px;
  padding:13px 22px 13px 15px;border-radius:999px;color:#fff;
  background:linear-gradient(120deg,#E4557E,#FF9BB6);
  box-shadow:0 20px 44px -16px rgba(228,85,126,.75);
  font-family:var(--ui);font-weight:600;font-size:14px;
  transition:transform .5s var(--ease-out),box-shadow .5s;
}
.chat-fab:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 26px 54px -16px rgba(228,85,126,.85)}
.chat-fab .av{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:15px;position:relative}
.chat-fab .av::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);animation:pulse 2.8s ease-out infinite}
body.chat-open .chat-fab{transform:scale(.6);opacity:0;pointer-events:none}
/* cu sertarul deschis, butonul de chat statea peste linkurile meniului */
body.menu-open .chat-fab{transform:scale(.6);opacity:0;pointer-events:none}
@media(max-width:520px){.chat-fab span.t{display:none}.chat-fab{padding:14px;border-radius:50%}}

.chat-panel{
  position:fixed;right:24px;bottom:24px;z-index:160;width:min(408px,calc(100vw - 32px));height:min(640px,calc(100vh - 48px));
  background:#fff;border-radius:28px;box-shadow:var(--shadow-lg);border:1px solid var(--line);
  display:flex;flex-direction:column;overflow:hidden;
  opacity:0;visibility:hidden;transform:translateY(26px) scale(.96);transform-origin:bottom right;
  transition:opacity .45s var(--ease-out),transform .55s var(--ease-out),visibility .45s;
}
body.chat-open .chat-panel{opacity:1;visibility:visible;transform:none}
.chat-head{padding:20px 22px;color:#fff;background:linear-gradient(125deg,#E4557E,#C0407F 60%,#7C5CFF);display:flex;align-items:center;gap:14px;position:relative;overflow:hidden}
.chat-head::before{content:'';position:absolute;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.14);top:-120px;right:-40px;filter:blur(10px)}
.chat-head .av{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:20px;position:relative}
.chat-head b{display:block;font-family:var(--ui);font-size:15px;position:relative}
.chat-head small{display:block;font-size:11.5px;opacity:.86;position:relative}
.chat-head .x{margin-left:auto;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:17px;position:relative;transition:background .3s,transform .4s}
.chat-head .x:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}
.chat-log{flex:1;overflow-y:auto;padding:22px 20px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,#FDFBFF,#FBF8F6);scroll-behavior:smooth}
.msg{max-width:84%;padding:13px 17px;border-radius:20px;font-size:14.5px;line-height:1.6;animation:msgIn .45s var(--ease-out) both}
@keyframes msgIn{from{opacity:0;transform:translateY(10px) scale(.97)}}
.msg.bot{background:#fff;border:1px solid var(--line-2);border-bottom-left-radius:7px;align-self:flex-start;box-shadow:var(--shadow-sm);color:var(--ink-2)}
.msg.me{background:linear-gradient(120deg,#E4557E,#F07E9F);color:#fff;border-bottom-right-radius:7px;align-self:flex-end}
.msg strong{color:var(--ink);font-weight:600}
.msg.bot a{color:#E4557E;text-decoration:underline;text-underline-offset:3px}
.typing{display:flex;gap:5px;padding:15px 18px;background:#fff;border:1px solid var(--line-2);border-radius:20px;border-bottom-left-radius:7px;align-self:flex-start;width:fit-content}
.typing i{width:7px;height:7px;border-radius:50%;background:#E4557E;opacity:.4;animation:dot 1.3s infinite}
.typing i:nth-child(2){animation-delay:.18s}
.typing i:nth-child(3){animation-delay:.36s}
@keyframes dot{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-5px);opacity:1}}
/* padding-top = aerul dintre ultimul mesaj și prima întrebare sugerată */
.chat-sug{display:flex;gap:8px;padding:20px 18px 12px;flex-wrap:wrap}
.chat-sug button{font-family:var(--ui);font-size:12.5px;padding:9px 14px;border-radius:999px;border:1px solid color-mix(in srgb,#E4557E 30%,transparent);color:#C0407F;background:color-mix(in srgb,#E4557E 7%,#fff);transition:background .3s,transform .4s var(--ease-out)}
.chat-sug button:hover{background:color-mix(in srgb,#E4557E 14%,#fff);transform:translateY(-2px)}
.chat-form{display:flex;gap:10px;padding:14px 16px 16px;border-top:1px solid var(--line-2);background:#fff}
.chat-form input{flex:1;border:1px solid var(--line);border-radius:999px;padding:13px 18px;font-family:var(--sans);font-size:14.5px;outline:none;transition:border-color .3s,box-shadow .3s;background:var(--cream)}
.chat-form input:focus{border-color:#E4557E;box-shadow:0 0 0 4px rgba(228,85,126,.12);background:#fff}
.chat-form button{width:46px;height:46px;border-radius:50%;background:linear-gradient(120deg,#E4557E,#FF9BB6);color:#fff;display:grid;place-items:center;flex:0 0 auto;transition:transform .4s var(--ease-out),box-shadow .4s}
.chat-form button:hover{transform:scale(1.06) rotate(-8deg);box-shadow:0 12px 26px -10px rgba(228,85,126,.8)}
.chat-note{font-size:10.5px;color:var(--muted);text-align:center;padding:0 20px 12px;background:#fff;line-height:1.45}

/* ── accesibilitate ───────────────────────────────────── */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:6px}

/* meniul are acum si „Dr. Alina Diana Nemes": sub ~1150px nu mai incape langa
   marca si butonul de programare, deci trece in sertar mai devreme decat restul. */
@media(max-width:1150px){
  .mainnav,.head-cta{display:none}
  .burger{display:block}
}

@media(max-width:900px){
  .mainnav,.head-cta{display:none}
  .burger{display:block}
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .portrait{max-width:400px;margin-inline:auto;width:100%}
  .hero{padding-top:calc(var(--head-h) + 44px)}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.05ms !important;scroll-behavior:auto !important}
  [data-reveal]{opacity:1 !important;transform:none !important;clip-path:none !important}
  .hero h1 .ln>span{transform:none}
}

/* tranzitii intre pagini (Safari 18+, Chrome 126+) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtOut .32s var(--ease) both}
::view-transition-new(root){animation:vtIn .48s var(--ease-out) both}
@keyframes vtOut{to{opacity:0;transform:translateY(-10px)}}
@keyframes vtIn{from{opacity:0;transform:translateY(14px)}}

/* ════════════════════════════════════════════════════════════════
   PROGRAMĂRI - pagina /programare/, tariful de pe direcții
   ════════════════════════════════════════════════════════════════ */

/* Titlu care nu se rupe la mijloc de propozitie: sta pe un rand cat timp
   incape in latimea paginii, si abia pe telefon curge pe doua. */
.hero h1.h1-rand{max-width:none;text-wrap:balance}
.hero h1.h1-rand .ln>span{white-space:normal}
/* titlurile lungi coboara in corp cat sa incapa pe un rand pe ecran de laptop */
.hero h1.h1-rand.lung{font-size:clamp(30px,4.4vw,56px);letter-spacing:-.028em}

/* pasii, ca trei casete separate, nu ca un tabel lipit */
.steps.desprinse{background:none;border:0;gap:18px;overflow:visible}
.steps.desprinse .step{
  border:1px solid var(--line-2);border-radius:var(--r);box-shadow:var(--shadow-sm);
  padding:28px 26px;
}
.steps.desprinse .step:hover{background:#fff;box-shadow:var(--shadow);transform:translateY(-3px)}
.steps.desprinse .step{transition:transform .4s var(--ease-out),box-shadow .4s,background .4s}

/* ── formularul de programare ───────────────────────────── */
.bk{width:min(1000px,100%);margin-inline:auto;display:flex;flex-direction:column;gap:18px}
.bk-pas{
  background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);
  padding:30px 32px;box-shadow:var(--shadow-sm);
}
.bk-pas>h3{display:flex;align-items:center;gap:14px;margin-bottom:22px;font-size:23px}
.bk-n{
  flex:none;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;
  font-family:var(--ui);font-size:14px;font-weight:700;color:#fff;
  background:linear-gradient(140deg,var(--accent),var(--accent-2));
  box-shadow:0 10px 22px -12px var(--accent);
}
.bk-nota{margin-top:16px;font-size:13.5px;color:var(--muted);line-height:1.6}

/* serviciile, ca niste cartonase de ales */
.bk-servicii{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.bk-serv{cursor:pointer;display:block}
.bk-serv input{position:absolute;opacity:0;width:0;height:0}
.bk-serv-in{
  display:block;height:100%;padding:18px 20px;border-radius:var(--r);
  border:1.5px solid var(--line);background:#FDFCFF;transition:.28s var(--ease-out);
}
.bk-serv-in b{display:block;font-family:var(--serif);font-size:19px;letter-spacing:-.01em}
.bk-serv-in i{display:block;margin-top:6px;font-style:normal;font-size:13.5px;color:var(--muted);line-height:1.55}
.bk-serv-in em{
  display:block;margin-top:14px;font-style:normal;font-family:var(--ui);
  font-size:17px;font-weight:700;color:var(--c);
}
.bk-serv-in em small{font-family:var(--sans);font-size:12.5px;font-weight:500;color:var(--muted)}
.bk-serv:hover .bk-serv-in{border-color:color-mix(in srgb,var(--c) 45%,transparent);transform:translateY(-2px)}
.bk-serv input:checked+.bk-serv-in{
  border-color:var(--c);background:color-mix(in srgb,var(--c) 6%,#fff);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 14%,transparent);
}
.bk-serv input:focus-visible+.bk-serv-in{outline:2.5px solid var(--accent);outline-offset:3px}

/* calendarul */
.bk-cal{max-width:440px}
.bk-cal-cap{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.bk-cal-cap b{font-family:var(--serif);font-size:20px;text-transform:capitalize;letter-spacing:-.01em}
.bk-sageata{
  width:36px;height:36px;border-radius:12px;border:1px solid var(--line);background:#fff;
  font-size:17px;line-height:1;color:var(--ink-2);transition:.2s;
}
.bk-sageata:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.bk-sageata:disabled{opacity:.3;cursor:not-allowed}
.bk-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px}
.bk-dow span{
  text-align:center;font-family:var(--ui);font-size:11px;font-weight:700;
  letter-spacing:.1em;color:var(--muted);
}
.bk-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.bk-zi{
  aspect-ratio:1;border-radius:14px;border:1px solid transparent;background:transparent;
  display:grid;place-items:center;position:relative;
  font-family:var(--ui);font-size:14.5px;font-weight:600;color:var(--ink-2);transition:.2s var(--ease-out);
}
.bk-zi.goala{background:none;border:0}
.bk-zi.inchisa{color:color-mix(in srgb,var(--ink) 24%,transparent);font-weight:500}
.bk-zi:not(.inchisa):not(.goala){
  background:color-mix(in srgb,var(--accent) 7%,#fff);
  border-color:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);
}
.bk-zi i{position:absolute;bottom:7px;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.55}
.bk-zi:hover:not(.inchisa):not(.goala){transform:translateY(-2px);border-color:var(--accent)}
.bk-zi.aleasa{
  background:linear-gradient(140deg,var(--accent),var(--accent-2));color:#fff;border-color:transparent;
  box-shadow:0 12px 26px -12px var(--accent);
}
.bk-zi.aleasa i{opacity:.9}
.bk-legenda{margin-top:16px;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:8px}
.bk-legenda .pastila{
  width:14px;height:14px;border-radius:6px;flex:none;
  background:color-mix(in srgb,var(--accent) 12%,#fff);
  border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);
}

/* calendarul si orele, una langa alta: altfel jumatatea din dreapta a casetei
   ramanea goala pe ecran de laptop */
.bk-doua{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px;align-items:start}
.bk-cal{max-width:none}

/* orele */
.bk-ore{padding-left:38px;border-left:1px solid var(--line-2);min-height:100%}
.bk-astept{font-size:14px;color:var(--muted);line-height:1.6;max-width:26ch}
.bk-ore h4{font-family:var(--ui);font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.bk-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.bk-chip{
  padding:11px 20px;border-radius:99px;border:1.5px solid var(--line);background:#fff;
  font-family:var(--ui);font-size:14.5px;font-weight:600;color:var(--ink-2);transition:.2s var(--ease-out);
}
.bk-chip:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
.bk-chip.on{
  background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;border-color:transparent;
  box-shadow:0 12px 26px -14px var(--accent);
}

/* datele de contact */
.bk-campuri{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bk-campuri label{display:block}
.bk-campuri label.lat{grid-column:1/-1}
.bk-campuri span{
  display:block;margin-bottom:8px;font-family:var(--ui);font-size:12px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}
.bk-campuri span small{font-weight:500;letter-spacing:0;text-transform:none;font-size:12px;opacity:.8}
.bk-campuri input,.bk-campuri textarea{
  width:100%;padding:13px 16px;border:1.5px solid var(--line);border-radius:var(--r-xs);
  background:#FDFCFF;font-family:var(--sans);font-size:15.5px;color:var(--ink);transition:.2s;
}
.bk-campuri textarea{resize:vertical;min-height:96px;line-height:1.6}
.bk-campuri input::placeholder,.bk-campuri textarea::placeholder{color:color-mix(in srgb,var(--ink) 34%,transparent)}
.bk-campuri input:focus,.bk-campuri textarea:focus{
  outline:0;border-color:var(--accent);background:#fff;
  box-shadow:0 0 0 3px var(--accent-soft);
}
.bk-acord{
  display:flex;gap:12px;align-items:flex-start;margin-top:20px;
  font-size:13.5px;color:var(--muted);line-height:1.6;cursor:pointer;
}
.bk-acord input{margin-top:3px;width:17px;height:17px;accent-color:var(--accent);flex:none}

/* bara de jos */
.bk-jos{
  display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;
  background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 8%,#fff),color-mix(in srgb,#E4557E 7%,#fff));
  border:1px solid var(--line-2);border-radius:var(--r-lg);padding:22px 26px;
}
.bk-sumar{font-size:15px;color:var(--ink-2)}
.bk-sumar b{font-family:var(--serif);font-size:19px;color:var(--ink)}
.bk-sumar small{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
.bk-plata{text-align:center;font-size:13.5px;color:var(--muted);max-width:60ch;margin-inline:auto}
.bk-eroare{
  text-align:center;font-size:14px;font-weight:600;color:#C0344C;
  background:rgba(217,69,95,.08);border-radius:var(--r-xs);padding:12px 16px;
}
.bk-fara,.bk-incarcare{font-size:14.5px;color:var(--muted)}
.bk-fara a{color:var(--accent);font-weight:600}

/* confirmarea */
.bk-gata{
  width:min(680px,100%);margin-inline:auto;text-align:center;
  background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);
  padding:48px 40px;box-shadow:var(--shadow);
}
.bk-bifa{
  display:inline-grid;place-items:center;width:60px;height:60px;border-radius:50%;
  background:linear-gradient(140deg,#17B98A,#0E9384);color:#fff;font-size:27px;margin-bottom:22px;
  box-shadow:0 16px 34px -16px #0E9384;
}
.bk-gata h3{font-size:29px;margin-bottom:14px}
.bk-gata>p{color:var(--ink-2);max-width:48ch;margin-inline:auto}
.bk-bilet{
  margin:28px 0 22px;text-align:left;background:var(--cream-2);
  border-radius:var(--r);padding:6px 22px;
}
.bk-rand{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid var(--line-2)}
.bk-rand:last-child{border-bottom:0}
.bk-rand span{font-size:13.5px;color:var(--muted)}
.bk-rand b{font-size:14.5px;text-align:right}
.bk-gata .cta-row{justify-content:center;margin-top:26px}

/* ── tarifele ───────────────────────────────────────────── */
.pret-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pret-card{
  background:#fff;border:1px solid var(--line-2);border-radius:var(--r);
  padding:28px 26px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
  transition:transform .45s var(--ease-out),box-shadow .45s;
}
.pret-card:hover{transform:translateY(-5px);box-shadow:0 36px 70px -40px color-mix(in srgb,var(--c) 60%,transparent)}
.pret-card .glyph{
  width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:17px;color:#fff;
  background:linear-gradient(140deg,var(--c),color-mix(in srgb,var(--c) 45%,#fff));
  box-shadow:0 12px 24px -14px var(--c);
}
.pret-card h4{margin:18px 0 10px;font-size:21px}
.pret-card b{font-family:var(--ui);font-size:26px;font-weight:700;color:var(--c);letter-spacing:-.02em}
.pret-card b small{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--muted);letter-spacing:0}
.pret-card p{margin-top:12px;font-size:14px;color:var(--muted);line-height:1.6}
.pret-card .go{
  margin-top:auto;padding-top:20px;font-family:var(--ui);font-size:13px;font-weight:600;
  color:var(--c);display:inline-flex;align-items:center;gap:8px;
}
.pret-card .go .ico{transition:transform .5s var(--ease-out)}
.pret-card:hover .go .ico{transform:translateX(6px)}
.pret-card.fara b{color:var(--muted);font-size:20px}

/* tariful, in panoul de pe fiecare directie. Numele e altul decat `.tarif`
   fiindca acela e deja luat de cardurile de pret de la Dr. Nemes. */
.pret-panou{
  margin-top:26px;padding-top:22px;border-top:1px solid var(--line-2);
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;
}
.pret-panou .et{
  font-family:var(--ui);font-size:11px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);
}
.pret-panou b{font-family:var(--ui);font-size:27px;font-weight:700;color:var(--c);letter-spacing:-.02em}
.pret-panou b small{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--muted);letter-spacing:0}
.pret-panou .nota{font-size:13px;color:var(--muted);line-height:1.55}
.pret-panou .btn{margin-top:8px}

@media(max-width:900px){
  .bk-doua{grid-template-columns:1fr;gap:26px}
  .bk-ore{padding-left:0;border-left:0;padding-top:24px;border-top:1px solid var(--line-2)}
  .bk-astept{max-width:none}
  .bk-servicii{grid-template-columns:1fr}
  .bk-campuri{grid-template-columns:1fr 1fr}
  .pret-grid{grid-template-columns:repeat(2,1fr)}
  .steps.desprinse{grid-template-columns:1fr}
}
@media(max-width:620px){
  .bk-pas{padding:24px 20px;border-radius:var(--r)}
  .bk-campuri{grid-template-columns:1fr}
  .bk-jos{flex-direction:column;align-items:stretch;text-align:center}
  .bk-jos .btn{justify-content:center}
  .pret-grid{grid-template-columns:1fr}
  .bk-gata{padding:36px 22px}
}

/* meniul lui Dr. Nemes: o singura coloana, mai ingust decat cel cu cele sase directii */
.mega.ingusta{width:min(420px,92vw);grid-template-columns:1fr}

/* randul de jos al cardului de tarif: insigna „si pentru animale" la stanga,
   linkul catre pagina terapiei la dreapta */
.tarif-jos{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.tarif-jos .go{
  font-family:var(--ui);font-size:12.5px;font-weight:600;color:var(--c);
  display:inline-flex;align-items:center;gap:7px;margin-left:auto;
}
.tarif-jos .go .ico{transition:transform .5s var(--ease-out)}
.tarif:hover .tarif-jos .go .ico{transform:translateX(5px)}
/* cardul devine coloana, ca randul de jos sa stea lipit de baza la toate patru */
.tarif{display:flex;flex-direction:column}

/* Numele intreg al Dr. Nemes plus sageata meniului ei au ingrosat bara:
   la 1440px linkurile incepeau sa curga pe doua randuri. Nu se rup niciodata
   in cuvinte, iar intre 1150 si 1500 se string putin, cat sa incapa. */
.mainnav a.nl{white-space:nowrap}
@media(max-width:1500px){
  .mainnav{gap:0;font-size:13px}
  .mainnav a.nl{padding:10px 8px}
  .head-inner{gap:18px}
  .head-cta{padding:11px 16px}
}

/* Idei orizontale: cate un card pe rand, cu eticheta si titlul in stanga si
   textul in dreapta. Se folosesc acolo unde ideile stau intr-o coloana
   ingusta, unde trei carduri verticale ies subtiri si inalte. */
.ideas.orizontale{grid-template-columns:1fr;gap:14px}
.ideas.orizontale .icard{
  display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);
  column-gap:26px;row-gap:6px;align-items:start;padding:24px 26px;
}
.ideas.orizontale .icard .ilabel{grid-column:1;grid-row:1}
.ideas.orizontale .icard h4{grid-column:1;grid-row:2;margin:0;font-size:19px}
.ideas.orizontale .icard p{grid-column:2;grid-row:1/3;align-self:center;margin:0}
.ideas.orizontale .icard::after{width:110px;height:110px;right:-45px;top:-45px}
@media(max-width:560px){
  .ideas.orizontale .icard{grid-template-columns:1fr;row-gap:10px}
  .ideas.orizontale .icard p{grid-column:1;grid-row:3}
}

/* precizarile de sub tarifele Dr. Nemes: ce nu e inclus si cum se programeaza */
.tarif-precizari{max-width:74ch;margin-top:8px}

/* ── paginile de produs: cadrul cu pagina de pe brainscan ──
   Continutul din iframe e al Institutului si nu se stilizeaza de aici; noi
   punem doar antetul paginii, rama si nota de sub el. */
.produs{padding-top:calc(var(--head-h) + 26px);padding-bottom:60px}
.produs-cap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.produs-cap .inapoi{font-family:var(--ui);font-size:13px;font-weight:600;color:var(--muted);transition:color .25s}
.produs-cap .inapoi:hover{color:var(--accent)}
.produs-nume{
  display:inline-flex;align-items:center;gap:10px;font-family:var(--ui);font-size:14px;font-weight:600;
  color:var(--ink);background:color-mix(in srgb,var(--c) 8%,#fff);
  border:1px solid color-mix(in srgb,var(--c) 26%,transparent);
  padding:8px 16px;border-radius:999px;
}
.produs-nume i{font-style:normal;color:var(--c)}
.produs-nume b{color:var(--c);font-weight:700}
.produs-cadru{
  display:block;width:100%;border:0;background:#fff;
  /* inaltimea o pune produse.js: de rezerva intai, apoi cea trimisa de pagina */
  height:6000px;
}
.produs-jos{margin-top:34px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.produs-jos .bk-nota{max-width:62ch;margin:0}
.produs-jos .cta-row{margin:0}
.produs-fara{text-align:center;padding:60px 24px;color:var(--muted)}
@media(max-width:640px){
  .produs{padding-top:calc(var(--head-h) + 16px)}
  .produs-jos{flex-direction:column;align-items:flex-start}
}
/* linia de scapare de sub cadru: daca browserul refuza incadrarea (sau tine
   minte un refuz vechi), omul are pe ce sa apese ca sa ajunga la pagina */
.produs-scapare{width:min(1200px,100% - 48px);margin:14px auto 0;text-align:center;font-size:13px;color:var(--muted)}
.produs-scapare a{color:var(--accent);font-weight:600}

/* ── comutatorul de limbă ─────────────────────────────────
   Trei pastile mici între meniu și butonul de programare. Nu duce la prima
   pagină a celeilalte limbi, ci la pagina curentă tradusă (vezi `i18n.mjs`),
   așa că din „Sexologie" ajungi în „Sexology", nu înapoi la început.
   Pe telefon meniul intră în sertar, dar comutatorul rămâne în bară, lângă
   burger, ca limba să se schimbe fără să deschizi meniul. */
.limbi{
  display:flex;align-items:center;gap:2px;margin-left:10px;padding:3px;
  border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.55);
  font-family:var(--ui);font-size:11.5px;font-weight:600;letter-spacing:.06em;
}
.limbi .lm{
  padding:5px 9px;border-radius:999px;color:var(--muted);
  transition:color .25s,background .25s;line-height:1;
}
.limbi a.lm:hover{color:var(--ink);background:rgba(20,17,48,.06)}
.limbi .lm.on{color:#fff;background:var(--accent)}

/* bara se strânge înainte de 1500px: comutatorul se strânge cu ea */
@media(max-width:1500px){
  .limbi{margin-left:6px}
  .limbi .lm{padding:5px 7px}
}
/* de la 1150px în jos meniul intră în sertar, dar comutatorul rămâne în bară:
   limba se schimbă dintr-o atingere, fără să deschizi sertarul. */
@media(max-width:1150px){
  .limbi{margin-left:auto}
  .burger{margin-left:0}
}

/* Numele produsului pe platforma Institutului, lângă cel tradus. Apare doar în
   engleză și în italiană, unde cele două diferă: înăuntru, în iframe, produsul
   se cheamă tot românește, iar omul trebuie să recunoască ce a deschis. */
.produs-nume em{
  font-style:normal;font-weight:500;color:var(--muted);
  padding-left:9px;margin-left:1px;border-left:1px solid color-mix(in srgb,var(--c) 30%,transparent);
}

/* Secțiune scurtă: un titlu și un rând de pastile, atât. Cu padding întreg jos,
   peste care vine padding întreg sus de la secțiunea următoare, rămâne o bandă
   goală mai înaltă decât conținutul ei. Se taie doar spațiul de dedesubt;
   cel de sus rămâne, ca titlul să nu se lipească de ce e înainte. */
.sec.scurta{padding-bottom:clamp(28px,3.2vw,46px)}

/* „Individual sau în cuplu": ședința de cuplu nu are tarif propriu, e aceeași
   ședință, deci nu primește card separat ci un rând sub numele serviciului.
   Apare doar pe direcțiile marcate cu `cuplu: true` în date. */
.cuplu{
  display:block;font-family:var(--ui);font-size:11px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--c,var(--accent));
  margin-top:10px;
}
.bk-serv-in .cuplu{margin-top:12px}
.pret-panou .cuplu{margin:10px 0 0}

/* Unde are loc ședința: la cabinet sau online. Două pastile, în pasul 1, sub
   cardurile de serviciu — e o proprietate a ședinței, nu a persoanei, deci nu
   stă lângă datele de contact. Implicit e „la cabinet"; cine vrea online
   comută, iar alegerea merge mai departe în emailuri și în panoul Alinei. */
.bk-loc{border:0;padding:0;margin:22px 0 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bk-loc legend{
  float:left;width:100%;font-family:var(--ui);font-size:11.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;
}
.bk-loc label{cursor:pointer;position:relative}
.bk-loc input{position:absolute;opacity:0;width:0;height:0}
.bk-loc span{
  display:inline-flex;align-items:center;padding:11px 22px;border-radius:999px;
  border:1px solid var(--line);background:#fff;font-family:var(--ui);
  font-size:14px;font-weight:600;color:var(--ink-2);transition:all .25s var(--ease);
}
.bk-loc label:hover span{border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--ink)}
.bk-loc input:checked+span{
  background:linear-gradient(120deg,var(--accent),var(--accent-2));
  border-color:transparent;color:#fff;
  box-shadow:0 10px 26px -12px color-mix(in srgb,var(--accent) 70%,transparent);
}
.bk-loc input:focus-visible+span{outline:2.5px solid var(--accent);outline-offset:3px}
