/* ============================================================
   DUENDE — Studio Balet & Dans · design system „Linia mișcării"
   Porcelain & Ink · Cormorant Garamond + Albert Sans
   ============================================================ */

:root{
  --paper:#FBF7F1;
  --paper-2:#F4EBDF;
  --card:#FFFDF9;
  --ink:#1A1512;
  --ink-2:#453C36;
  --muted:#857567;
  --rose:#E7C6C4;
  --rose-2:#D3A3A4;
  --carmine:#A21C33;
  --carmine-deep:#7E1527;
  --stage:#171110;
  --stage-2:#221A18;
  --stage-ink:#F7F0E8;
  --stage-muted:#BCA99C;
  --line:rgba(26,21,18,.14);
  --line-soft:rgba(26,21,18,.08);
  --display:'Cormorant Garamond',Georgia,serif;
  --sans:'Albert Sans',system-ui,sans-serif;
  --r:4px; --r-lg:14px;
  --shadow:0 1px 2px rgba(26,21,18,.05),0 10px 34px -18px rgba(26,21,18,.22);
  --shadow-lg:0 2px 6px rgba(26,21,18,.08),0 24px 60px -24px rgba(26,21,18,.32);
  --wrap:1200px;
  --gold:var(--carmine); /* alias pt. componente moștenite */
  --warn:#B3261E;
  --brand:var(--carmine); --brand-dark:var(--carmine-deep); --gold-bright:var(--rose);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html:focus-within{scroll-behavior:smooth}
body{
  font-family:var(--sans);font-size:16.5px;line-height:1.65;color:var(--ink);
  background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
::selection{background:var(--carmine);color:#fff}
:focus-visible{outline:2.5px solid var(--carmine);outline-offset:3px;border-radius:2px}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.04;letter-spacing:-.01em;text-wrap:balance}
p{max-width:68ch}
main{display:block}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(20px,4.5vw,48px)}
.sec{padding-block:clamp(78px,11vw,150px);position:relative}
.sec-cream{background:var(--paper-2)}
.sec-stage{background:var(--stage);color:var(--stage-ink)}

/* ---------- capete de secțiune ---------- */
.sec-head{margin-bottom:clamp(38px,6vw,68px)}
.kicker{
  display:flex;align-items:center;gap:14px;
  font-size:.78rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--carmine);
  margin-bottom:18px;
}
.kicker::after{content:"";height:1px;flex:0 1 130px;background:var(--carmine);opacity:.35}
.kicker .no{font-family:var(--display);font-weight:500;font-style:italic;font-size:1.05rem;letter-spacing:0;color:var(--muted)}
.sec-stage .kicker{color:var(--rose)}
.sec-stage .kicker::after{background:var(--rose)}
.sec-title{font-size:clamp(2.3rem,5.4vw,4.1rem)}
.sec-title em{font-style:italic;font-weight:500;color:var(--carmine)}
.sec-stage .sec-title em{color:var(--rose)}
.sec-sub{margin-top:16px;color:var(--muted);font-size:1.05rem;max-width:56ch}
.sec-stage .sec-sub{color:var(--stage-muted)}

/* ---------- butoane ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 28px;border-radius:999px;border:1.5px solid var(--ink);
  font-weight:600;font-size:.98rem;letter-spacing:.01em;text-decoration:none;cursor:pointer;
  background:transparent;color:var(--ink);
  transition:transform .25s cubic-bezier(.2,.7,.2,1),background .25s,color .25s,border-color .25s,box-shadow .25s;
}
.btn svg{width:18px;height:18px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn-solid{background:var(--ink);color:var(--paper)}
.btn-solid:hover{background:var(--carmine);border-color:var(--carmine);color:#fff;box-shadow:0 14px 30px -14px rgba(162,28,51,.55)}
.btn-ghost:hover{border-color:var(--carmine);color:var(--carmine)}
.btn-rose{background:var(--carmine);border-color:var(--carmine);color:#fff}
.btn-rose:hover{background:var(--carmine-deep);border-color:var(--carmine-deep);box-shadow:0 14px 30px -14px rgba(162,28,51,.55)}
.btn-lg{padding:17px 34px;font-size:1.04rem}
.btn-wa{border-color:rgba(26,21,18,.25)}
.btn-wa:hover{border-color:#1FAF57;color:#128C46}
/* iconuri de brand în culorile lor oficiale */
.ic-wa{color:#25D366}
.fb-round{
  width:46px;height:46px;border-radius:50%;flex:none;align-self:center;
  display:inline-flex;align-items:center;justify-content:center;
  background:#1877F2;color:#fff;text-decoration:none;
  transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s;
}
.fb-round svg{width:22px;height:22px}
.fb-round:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(24,119,242,.65)}

/* ============================================================
   HEADER
   ============================================================ */
.site-head{
  position:fixed;inset-inline:0;top:0;z-index:80;
  transition:background .3s,box-shadow .3s,transform .35s;
}
.site-head.scrolled{background:rgba(251,247,241,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line-soft)}
.site-head.hidden{transform:translateY(-100%)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand .bname{font-family:var(--display);font-weight:600;font-size:1.5rem;letter-spacing:.11em;text-transform:uppercase}
.main-nav{display:flex;align-items:center;gap:clamp(16px,2.4vw,32px)}
.main-nav a:not(.btn){
  font-size:.93rem;font-weight:600;text-decoration:none;color:var(--ink-2);
  padding-block:6px;position:relative;
}
.main-nav a:not(.btn)::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--carmine);
  transition:right .3s cubic-bezier(.2,.7,.2,1);
}
.main-nav a:not(.btn):hover::after{right:0}
.main-nav .btn{padding:11px 22px;font-size:.9rem}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:10px;margin-right:-10px;z-index:92}
.nav-toggle svg{width:26px;height:26px;display:block}

/* meniu mobil */
.mnav{
  position:fixed;inset:0;z-index:90;background:var(--paper);display:flex;flex-direction:column;
  padding:max(18px,env(safe-area-inset-top)) clamp(22px,6vw,40px) 40px;
  opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;
}
.mnav.open{opacity:1;visibility:visible}
.mnav-top{display:flex;align-items:center;justify-content:space-between;padding-block:8px}
.mm-close{background:none;border:none;cursor:pointer;padding:10px;margin-right:-10px}
.mm-close svg{width:26px;height:26px}
.mnav-links{display:flex;flex-direction:column;gap:4px;margin-top:8vh}
.mnav-links a{
  font-family:var(--display);font-size:clamp(2rem,8vw,2.9rem);font-weight:600;text-decoration:none;
  padding-block:10px;border-bottom:1px solid var(--line-soft);display:flex;justify-content:space-between;align-items:center;
}
.mnav-links a .mi{font-family:var(--sans);font-size:.8rem;font-weight:600;color:var(--muted);letter-spacing:.1em}
.mnav-cta{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding-top:30px}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  min-height:100svh;display:flex;flex-direction:column;justify-content:center;
  position:relative;overflow:clip;padding-top:90px;
}
#ribbon{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.hero-fall{position:absolute;inset:0;z-index:0;pointer-events:none;display:none;align-items:center;justify-content:center}
.hero-fall svg{width:min(88vw,980px);height:auto;opacity:.9}
.no-webgl .hero-fall{display:flex}
.hero-in{position:relative;z-index:2}
.hero-kicker{
  display:inline-flex;align-items:center;gap:12px;
  font-size:.8rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-2);
  margin-bottom:26px;
}
.hero-kicker .dot{width:7px;height:7px;border-radius:50%;background:var(--carmine);flex:none}
.hero h1{
  font-size:clamp(3.1rem,9.2vw,7.6rem);font-weight:500;line-height:.98;letter-spacing:-.02em;
  max-width:11ch;
}
.hero h1 em{font-style:italic;color:var(--carmine)}
.hero h1 .hl{display:block}
.hero-lead{
  margin-top:28px;font-size:clamp(1.02rem,1.6vw,1.22rem);color:var(--ink-2);max-width:52ch;
}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.hero-note{margin-top:22px;font-size:.88rem;color:var(--muted);display:flex;align-items:center;gap:9px}
.hero-note svg{width:15px;height:15px;color:var(--carmine);flex:none}
.hero-side{
  position:absolute;right:clamp(8px,2vw,26px);top:50%;transform:translateY(-50%);z-index:2;
  writing-mode:vertical-rl;font-size:.7rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);
  display:flex;align-items:center;gap:16px;white-space:nowrap;
}
@media (max-height:760px){.hero-side{display:none}}
.hero-side::before{content:"";width:1px;height:74px;background:var(--carmine);opacity:.45}
.scroll-cue{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:.7rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);text-decoration:none;
}
.scroll-cue .line{width:1px;height:44px;background:var(--ink);opacity:.35;position:relative;overflow:hidden}
.scroll-cue .line::after{content:"";position:absolute;inset:0;background:var(--carmine);transform:translateY(-100%);animation:cue 2.2s cubic-bezier(.6,0,.3,1) infinite}
@keyframes cue{40%{transform:translateY(0)}80%,100%{transform:translateY(100%)}}
/* indicatorul de scroll apare doar când are loc real sub conținutul hero */
@media (max-height:940px){.scroll-cue{display:none}}

/* intrări hero */
.rise{opacity:0;transform:translateY(26px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
.rise.d1{animation-delay:.08s}.rise.d2{animation-delay:.2s}.rise.d3{animation-delay:.34s}.rise.d4{animation-delay:.48s}.rise.d5{animation-delay:.62s}
@keyframes rise{to{opacity:1;transform:none}}

/* ============================================================
   MARQUEE discipline
   ============================================================ */
/* pista e scoasă din flux (absolute) ca lățimea ei max-content să nu
   umfle viewport-ul de layout pe mobil; fade la margini prin mask */
.mq{
  position:relative;border-block:1px solid var(--line);background:var(--paper);overflow:clip;
  height:clamp(56px,5.6vw,68px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}
/* animația pornește DOAR după ce main.js atașează clona (clasa .mq-on) —
   altfel lățimea pistei se dublează în timpul rulării și banda „sare" */
.mq-track{position:absolute;inset-block:0;left:0;display:flex;align-items:center;gap:0;width:max-content}
.mq-track.mq-on{animation:mq 44s linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
.mq-row{display:flex;align-items:center;flex:none}
.mq-row span{
  font-family:var(--display);font-size:clamp(1.1rem,1.6vw,1.4rem);font-weight:600;
  letter-spacing:.02em;color:var(--ink);padding-inline:clamp(20px,2.4vw,32px);white-space:nowrap;
}
.mq-row span:nth-of-type(even){font-style:italic;font-weight:500;color:var(--carmine)}
.mq-row svg{width:12px;height:12px;color:var(--rose-2);opacity:.85;flex:none}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
.mq-row svg.mq-mark{width:16px;height:22px;opacity:1}
@keyframes mq{to{transform:translateX(-50%)}}

/* ============================================================
   MANIFEST — interludiu „scenă"
   ============================================================ */
.manifest{position:relative;overflow:clip}
.manifest::before{ /* spot de scenă */
  content:"";position:absolute;left:50%;top:-18%;width:120vmin;height:120vmin;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(231,198,196,.16),rgba(231,198,196,.05) 46%,transparent 70%);
  pointer-events:none;
}
.manifest .rings{
  position:absolute;right:-16vmin;bottom:-34vmin;width:88vmin;height:88vmin;pointer-events:none;opacity:.5;
}
.manifest .rings svg{width:100%;height:100%;animation:spin 78s linear infinite;transform-origin:50% 50%}
@keyframes spin{to{transform:rotate(360deg)}}
.manifest-quote{
  font-family:var(--display);font-weight:500;font-style:italic;
  font-size:clamp(1.7rem,4.2vw,3.15rem);line-height:1.22;letter-spacing:-.005em;
  max-width:22ch;text-wrap:balance;
}
.manifest-quote strong{font-weight:600;font-style:normal;color:var(--rose)}
.manifest-att{margin-top:26px;display:flex;align-items:center;gap:14px;color:var(--stage-muted);font-size:.92rem}
.manifest-att::before{content:"";width:44px;height:1px;background:var(--rose);opacity:.6}
.manifest-att em{font-family:var(--display);font-style:italic;font-weight:500;font-size:1.3em;line-height:1;color:var(--rose)}
.manifest-body{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);max-width:980px}
.manifest-body p{color:var(--stage-muted);font-size:1.02rem}
.manifest-body p strong{color:var(--stage-ink);font-weight:600}

/* ============================================================
   CURSURI
   ============================================================ */
.courses{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.course{
  background:var(--paper);padding:clamp(26px,3vw,40px);position:relative;overflow:clip;
  display:flex;flex-direction:column;gap:14px;min-height:300px;
  transition:background .35s;
}
.course:hover{background:var(--card)}
.course::after{
  content:"";position:absolute;inset-inline:0;bottom:0;height:2.5px;background:var(--carmine);
  transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1);
}
.course:hover::after{transform:scaleX(1)}
.course .glyph{width:64px;height:64px;color:var(--ink);opacity:.9}
.course .glyph .accent{color:var(--carmine)}
.course:hover .glyph{color:var(--carmine)}
.course .glyph svg{width:100%;height:100%;overflow:visible}
.course h3{font-size:1.72rem;font-weight:600}
.course .age{
  align-self:flex-start;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--carmine);border:1px solid currentColor;border-radius:999px;padding:5px 12px;
}
.course p{font-size:.96rem;color:var(--ink-2);flex:1}
/* nota de subsol a cardului: „notă de voce" — ancorată jos, clar diferențiată */
.course .more,.course p.more{
  flex:0 0 auto;margin-top:auto;border-top:1px solid var(--line-soft);padding-top:12px;
  font-family:var(--display);font-style:italic;font-weight:500;font-size:1.06rem;color:var(--carmine);
}

/* desen pe linie (glyph) — animat la reveal */

/* ============================================================
   METODA / DE CE DUENDE
   ============================================================ */
.method{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,6vw,90px);align-items:center}
.method-fig{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.method-fig svg{width:min(100%,440px);height:auto}
.method-fig .fig-cap{
  font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:center;
}
.mlist{display:flex;flex-direction:column}
.mitem{display:flex;gap:22px;padding-block:24px;border-top:1px solid var(--line)}
.mitem:last-child{border-bottom:1px solid var(--line)}
.mitem .mno{font-family:var(--display);font-style:italic;font-size:1.3rem;color:var(--carmine);flex:none;width:34px;padding-top:2px}
.mitem h3{font-size:1.42rem;margin-bottom:6px}
.mitem p{font-size:.97rem;color:var(--ink-2)}

/* ============================================================
   ECHIPA
   ============================================================ */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,28px)}
.tcard{border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:26px;display:flex;flex-direction:column;gap:14px;transition:transform .3s,box-shadow .3s}
.tcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.tmono{
  width:64px;height:64px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--rose) 0%,var(--rose-2) 100%);
  font-family:var(--display);font-weight:600;font-size:1.5rem;color:var(--carmine-deep);
}
.tcard h3{font-size:1.4rem}
.tcard .trole{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--carmine)}
.tcard p{font-size:.92rem;color:var(--ink-2)}
.founder-quote{
  margin-top:clamp(30px,5vw,54px);padding:clamp(26px,4vw,44px);border-left:2.5px solid var(--carmine);
  background:var(--card);border-radius:0 var(--r-lg) var(--r-lg) 0;box-shadow:var(--shadow);
}
.founder-quote blockquote{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(1.25rem,2.4vw,1.7rem);line-height:1.35;max-width:44ch}
.founder-quote figcaption{margin-top:14px;font-size:.9rem;color:var(--muted)}

/* ============================================================
   PROGRAM — grila săptămânii (chips de curs, editabile în CMS)
   ============================================================ */
.orar-banner{
  display:flex;gap:16px;align-items:flex-start;
  background:var(--card);border:1px solid var(--line);border-left:3px solid var(--rose-2);
  border-radius:0 var(--r-lg) var(--r-lg) 0;padding:18px 22px;margin-top:clamp(22px,3vw,32px);box-shadow:var(--shadow);
}
.age-pill{
  display:inline-block;white-space:nowrap;margin-inline:1px;padding:2px 10px 3px;
  border:1px solid var(--carmine);border-radius:999px;
  font-size:.78rem;font-weight:700;letter-spacing:.05em;color:var(--carmine);
  font-feature-settings:"lnum" 1;transform:translateY(-1px);
}
.orar-banner>svg{width:22px;height:22px;flex:none;color:var(--carmine);margin-top:2px}
.orar-banner p{font-size:.97rem;color:var(--ink-2);max-width:none}
.orar-banner a{color:var(--carmine);font-weight:700;text-decoration:none}
.orar-banner a:hover{text-decoration:underline}

.week{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.day{background:var(--card);padding:18px 14px 20px;display:flex;flex-direction:column;gap:14px;min-height:216px;min-width:0}
.day-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line-soft);padding-bottom:10px}
.day-name{font-size:.76rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-2)}
.day.today{background:#FBF2ED}
.day.today .day-head::after{
  content:"azi";font:700 .6rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;
  color:#fff;background:var(--carmine);border-radius:999px;padding:4px 9px;
}
.day-list{display:flex;flex-direction:column;gap:10px}
.day-list:empty::after{content:"—";color:var(--muted);font-size:.9rem}
.cls{
  position:relative;background:var(--paper);border:1px solid var(--line-soft);border-radius:10px;
  padding:11px 13px 12px 16px;display:flex;flex-direction:column;gap:3px;min-width:0;
}
.cls::before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--rose-2)}
.day.today .cls::before{background:var(--carmine)}
/* sloturi cu înălțime rezervată: ora (1 rând) + cursul (2 rânduri) + instructorul
   (2 rânduri) — toate chip-urile au aceeași înălțime, iar fiecare linie de
   informație stă la aceeași poziție verticală în toate cardurile */
.cls-time{font-size:.76rem;font-weight:700;letter-spacing:.07em;color:var(--carmine);font-feature-settings:"lnum" 1}
.cls-name{font-family:var(--display);font-weight:600;font-size:1.16rem;line-height:1.18;min-height:2.36em;color:var(--ink);overflow-wrap:break-word}
.cls-who{font-size:.78rem;line-height:1.5;min-height:3em;color:var(--muted);overflow-wrap:break-word}
.day-list .ed-add{margin-top:2px;justify-content:center}

.orar-note{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:18px;font-size:.88rem;color:var(--muted);max-width:none}
@media (min-width:861px){.orar-note span{white-space:nowrap}}
.orar-note span{display:inline-flex;align-items:center;gap:8px}
.orar-note svg{width:14px;height:14px;color:var(--carmine);flex:none}

/* ============================================================
   REZULTATE
   ============================================================ */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,4vw,48px);margin-block:clamp(34px,5vw,58px) clamp(30px,4vw,48px)}
.stat{min-width:0;border-top:1px solid rgba(231,198,196,.38);padding-top:20px}
.stat .sv{
  display:block;font-family:var(--display);font-weight:500;font-size:clamp(3rem,5.4vw,4.4rem);
  line-height:1;color:var(--rose);font-feature-settings:"lnum" 1;letter-spacing:-.01em;
}
.stat .sv .su{font-size:.52em}
.stat .sl{margin-top:12px;font-size:.95rem;line-height:1.5;color:var(--stage-muted);max-width:30ch}
.stat .sl strong{color:var(--stage-ink);font-weight:600}
.medals{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,34px)}
.medal{border:1px solid rgba(247,240,232,.16);border-radius:var(--r);padding:24px 26px;background:var(--stage-2)}
.medal h3{font-size:1.3rem;color:var(--stage-ink);display:flex;align-items:center;gap:12px}
.medal h3 svg{width:19px;height:19px;color:var(--rose);flex:none}
.medal p{margin-top:8px;font-size:.93rem;color:var(--stage-muted)}

/* ============================================================
   GALERIE
   ============================================================ */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:14px;grid-auto-flow:dense}
.gallery .shot{position:relative;border-radius:var(--r);overflow:hidden;background:var(--paper-2)}
.gallery .shot img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.03);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}
.gallery .shot:hover img{transform:scale(1.045);filter:saturate(1) contrast(1.03)}
.gallery .g-big{grid-column:span 2;grid-row:span 2}
.gallery figcaption{
  position:absolute;inset-inline:0;bottom:0;padding:14px 16px 12px;font-size:.82rem;color:#fff;
  background:linear-gradient(transparent,rgba(23,17,16,.72));opacity:0;transition:opacity .35s;
}
.gallery .shot:hover figcaption{opacity:1}

/* lightbox galerie */
body:not(.editmode) .gallery .shot img{cursor:zoom-in}
.glb{position:fixed;inset:0;z-index:120;background:rgba(18,13,12,.93);display:flex;align-items:center;justify-content:center;padding:20px}
.glb-stage{position:relative;max-width:min(92vw,1060px);max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:12px;touch-action:pan-y}
.glb-img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:12px;background:#000;user-select:none;-webkit-user-drag:none;transition:opacity .18s ease,transform .18s ease}
.glb-meta{display:flex;align-items:center;gap:14px;color:var(--stage-ink);font-size:.88rem}
.glb-count{font-weight:700;letter-spacing:.08em;color:var(--stage-muted);font-variant-numeric:tabular-nums}
.glb-cap{font-weight:600}
.glb-btn{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:46px;height:46px;border:1.5px solid rgba(247,240,232,.4);border-radius:50%;
  background:rgba(23,17,16,.55);backdrop-filter:blur(4px);color:#fff;
  display:grid;place-items:center;cursor:pointer;transition:background .2s,transform .2s;
}
.glb-btn:hover{background:var(--carmine);transform:translateY(-50%) scale(1.06)}
.glb-btn svg{width:20px;height:20px}
.glb-btn.prev{left:-64px}
.glb-btn.next{right:-64px}
@media (max-width:1200px){.glb-btn.prev{left:8px}.glb-btn.next{right:8px}}
@media (pointer:coarse){.glb-btn{width:40px;height:40px}}
.glb-x{position:absolute;top:-46px;right:0;z-index:2;background:none;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:6px}
/* pe overlay întunecat, inelul carmin de focus ar citi ca „eroare" — focus soft alb */
.glb{outline:none}
.glb-x:focus-visible,.glb-btn:focus-visible{outline:2px solid rgba(247,240,232,.7);outline-offset:3px;border-radius:10px}

/* ============================================================
   TESTIMONIALE
   ============================================================ */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.6vw,30px)}
.quote{
  border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:clamp(24px,3vw,34px);
  display:flex;flex-direction:column;gap:16px;position:relative;
}
.quote::before{
  content:"„";font-family:var(--display);font-size:4.6rem;line-height:.6;color:var(--rose-2);
  display:block;height:.45em;
}
.quote p{font-size:.99rem;color:var(--ink-2);flex:1}
.quote footer{font-size:.85rem;font-weight:600;color:var(--muted)}
.fb-link{margin-top:clamp(28px,4vw,40px)}
.fb-link a{color:var(--carmine);font-weight:600;text-decoration:none}
.fb-link a:hover{text-decoration:underline}

/* ============================================================
   FAQ
   ============================================================ */
.faq{max-width:820px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding-block:22px;font-family:var(--display);font-size:1.35rem;font-weight:600;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary .fx{flex:none;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:transform .3s,background .3s,color .3s,border-color .3s}
.faq summary .fx svg{width:14px;height:14px}
.faq details[open] summary .fx{transform:rotate(45deg);background:var(--carmine);border-color:var(--carmine);color:#fff}
.faq .fa{padding:0 0 24px;color:var(--ink-2);font-size:.98rem;max-width:60ch}

/* ============================================================
   CONTACT
   ============================================================ */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:start}
.c-item{display:flex;gap:18px;padding-block:20px;border-top:1px solid var(--line)}
.c-item:first-child{border-top:none;padding-top:0}
.c-item .ci{flex:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--carmine)}
.c-item .ci svg{width:19px;height:19px}
.c-item h3{font-size:1.15rem;font-family:var(--sans);font-weight:700;letter-spacing:.02em}
.c-item p,.c-item a{font-size:.97rem;color:var(--ink-2);text-decoration:none;overflow-wrap:anywhere}
.c-item a:hover{color:var(--carmine)}
.c-item .cbig{font-family:var(--sans);font-size:1.05rem;font-weight:700;letter-spacing:.01em;color:var(--ink);display:block;margin-top:3px;font-feature-settings:"lnum" 1}
.c-item .cbig:hover{color:var(--carmine)}
.c-item .cnote{font-size:.85rem;color:var(--muted);margin-top:5px}
.map-card{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--card);box-shadow:var(--shadow)}
.map-frame{aspect-ratio:4/3.1;position:relative;background:var(--paper-2);overflow:clip}
/* iframe-ul e mai înalt decât rama și tăiat jos — ascunde bara de atribuire OSM;
   creditul © rămâne în .map-attr, în colțul hărții */
.map-frame iframe{position:absolute;top:0;left:0;width:100%;height:calc(100% + 36px);border:0;filter:saturate(.6) contrast(1.02)}
/* overlay-ul de navigație (model Best Move): orice atingere a hărții pornește direcțiile */
.map-go{position:absolute;inset:0;z-index:3;display:block;text-decoration:none;border-radius:0}
.map-go:focus-visible{outline-offset:-4px}
.map-cue{ /* mereu vizibil — e afordanța de tap, mai ales pe mobil */
  position:absolute;right:14px;bottom:14px;z-index:2;pointer-events:none;
  display:inline-flex;align-items:center;gap:8px;
  background:var(--ink);color:#fff;font-size:.82rem;font-weight:700;
  padding:9px 15px;border-radius:999px;box-shadow:var(--shadow-lg);
  transition:transform .25s;
}
.map-cue svg{width:15px;height:15px;color:var(--rose)}
.map-card:hover .map-cue{transform:translateY(-2px)}
.map-attr{
  position:absolute;left:10px;bottom:10px;z-index:2;pointer-events:none;
  font-size:.66rem;font-weight:600;color:rgba(26,21,18,.55);
  background:rgba(251,247,241,.75);padding:2px 7px;border-radius:6px;
}
.editmode .map-go{pointer-events:none}

/* ============================================================
   FOOTER
   ============================================================ */
.site-foot{background:var(--stage);color:var(--stage-muted);padding-block:clamp(48px,7vw,80px) 34px}
.foot-top{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:flex-end;padding-bottom:38px;border-bottom:1px solid rgba(247,240,232,.13)}
.foot-brand .bname{font-family:var(--display);font-weight:600;font-size:2rem;letter-spacing:.12em;text-transform:uppercase;color:var(--stage-ink)}
.foot-brand p{margin-top:8px;font-size:.92rem;max-width:38ch}
.foot-cta{display:flex;gap:12px;flex-wrap:wrap}
.foot-cta .btn{border-color:rgba(247,240,232,.35);color:var(--stage-ink)}
.foot-cta .btn:hover{border-color:var(--rose);color:var(--rose)}
.foot-cta .btn-rose{background:var(--carmine);border-color:var(--carmine);color:#fff}
.foot-cta .btn-rose:hover{background:var(--carmine-deep)}
.foot-grid{display:flex;justify-content:space-between;gap:26px;flex-wrap:wrap;padding-block:30px;font-size:.9rem}
.foot-grid a{color:var(--stage-muted);text-decoration:none}
.foot-grid a:hover{color:var(--stage-ink)}
.foot-col h4{font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--stage-ink);margin-bottom:12px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.foot-base{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:26px;border-top:1px solid rgba(247,240,232,.13);font-size:.82rem}
.foot-base a{color:inherit}

/* ============================================================
   REVEAL la scroll
   ============================================================ */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
.reveal.reveal-on{opacity:1;transform:none}
.reveal.rd1{transition-delay:.08s}.reveal.rd2{transition-delay:.16s}.reveal.rd3{transition-delay:.24s}.reveal.rd4{transition-delay:.32s}

/* ============================================================
   EDITOR (mod editare CMS)
   ============================================================ */
.editmode .ed-on{outline:1.5px dashed transparent;outline-offset:3px;border-radius:4px;cursor:text;transition:outline-color .15s,background .15s}
.editmode .ed-on:hover{outline-color:var(--carmine);background:rgba(162,28,51,.07)}
.editmode .ed-editing{outline:2px solid var(--carmine);background:rgba(162,28,51,.07)}
.editmode .ed-on-img{outline:1.5px dashed var(--carmine);outline-offset:3px;cursor:grab}
.editmode .ed-on-img.ed-tap{cursor:pointer}
.editmode .ed-grabbing{cursor:grabbing}
.ed-fab{position:fixed;z-index:95;display:none;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;background:var(--carmine);color:#fff;border:none;font:600 .82rem/1 var(--sans);cursor:pointer;box-shadow:var(--shadow-lg)}
.ed-fab-ic{display:grid;place-items:center}.ed-fab-ic svg{width:15px;height:15px}
.ed-exit{position:fixed;right:18px;bottom:18px;z-index:95;display:none;align-items:center;gap:9px;padding:13px 19px;border-radius:999px;background:var(--ink);color:#fff;border:none;font:600 .95rem/1 var(--sans);cursor:pointer;box-shadow:var(--shadow-lg)}.ed-seo{position:fixed;left:18px;bottom:18px;z-index:95;display:none;align-items:center;gap:9px;padding:13px 19px;border-radius:999px;background:var(--ink);color:#fff;border:none;font:600 .95rem/1 var(--sans);cursor:pointer;box-shadow:var(--shadow-lg);text-decoration:none}
.ed-exit svg{width:18px;height:18px;color:var(--rose)}
.ed-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);z-index:96;padding:11px 20px;border-radius:999px;background:var(--ink);color:#fff;font-size:.88rem;font-weight:500;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none}
.ed-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.ed-toast.warn{background:var(--warn)}
.ed-add{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:1.5px dashed var(--carmine);background:rgba(162,28,51,.07);color:var(--carmine);font:600 .86rem/1 var(--sans);cursor:pointer}
.ed-add svg{width:16px;height:16px}
.gallery .ed-add{display:grid;place-content:center;border-radius:var(--r);min-height:160px}
.ed-del{position:absolute;top:-7px;right:-7px;z-index:6;width:20px;height:20px;padding:0;border-radius:50%;background:var(--warn);color:#fff;border:2px solid #fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 7px -1px rgba(25,24,20,.4);transition:transform .15s}
.ed-del svg{width:11px;height:11px}
.ed-del:hover{transform:scale(1.12)}
.gallery .ed-del{top:10px;right:10px;width:30px;height:30px}
.gallery .ed-del svg{width:15px;height:15px}
.ed-drop{outline:2.5px dashed var(--carmine)!important;outline-offset:3px;background:rgba(162,28,51,.09)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1060px){
  .courses{grid-template-columns:repeat(2,1fr)}
  .team{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:repeat(3,1fr);grid-auto-rows:160px}
  .week{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:860px){
  .main-nav{display:none}
  .nav-toggle{display:block}
  .method{grid-template-columns:1fr}
  .method-fig{min-height:0;order:-1}
  .method-fig svg{width:min(72vw,360px)}
  .manifest-body{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
  .medals{grid-template-columns:1fr}
  .quotes{grid-template-columns:1fr}
  .hero-side{display:none}
  /* săptămâna devine listă de zile: ziua la stânga, orele la dreapta */
  .week{grid-template-columns:1fr}
  .day{min-height:0;display:grid;grid-template-columns:92px minmax(0,1fr);gap:6px 14px;align-items:start;padding:16px 14px}
  .day-head{border-bottom:none;padding-bottom:0;flex-direction:column;align-items:flex-start;gap:8px}
}
@media (max-width:640px){
  body{font-size:15.8px}
  .courses{grid-template-columns:1fr}
  .course{min-height:0}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:140px;gap:10px}
  .team{grid-template-columns:1fr}
  .hero{padding-top:104px;min-height:92svh}
  .hero-cta{flex-wrap:nowrap;gap:8px}
  .hero-cta .btn{flex:1 1 auto;justify-content:center;padding:11px 12px;font-size:.82rem}
  .hero-cta .btn-wa{flex:0 0 auto;font-size:0;gap:0;padding:12px}
  .scroll-cue{display:none}
  .foot-top{flex-direction:column;align-items:flex-start}
  .stats{grid-template-columns:1fr;gap:22px}
  .day{grid-template-columns:1fr}
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rise,.reveal{opacity:1;transform:none;animation:none}
  .mq-track{animation:none}
  #ribbon{display:none}
  .hero-fall{display:flex}
}

/* ============================================================
   BRAND — logo-ul clientului (script „Duende" + semnul cu trei panglici),
   adaptat cromatic la sistemul „Porcelain & Ink": roșul devine carmin,
   movul un prun adânc, galbenul un auriu cald; scânteia albă devine roz
   pe fundal deschis (altfel ar dispărea) și crem pe fundal închis.
   Culorile se controlează prin variabile, deci același simbol
   funcționează pe hârtie, pe scenă și în footer.
   ============================================================ */
:root{
  --lg-red:#A21C33;--lg-plum:#7A2E5C;--lg-gold:#D4A03A;--lg-spark:#D3A3A4;
  --lg-ink:#1A1512;--lg-tag:#A21C33;
}
.sec-stage,.site-foot,.glb{--lg-ink:#F7F0E8;--lg-tag:#D3A3A4;--lg-spark:#F7F0E8;--lg-red:#C2233E;--lg-plum:#8E3A70}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.brand{display:flex;align-items:center;text-decoration:none}
.logo{display:block;height:54px;width:calc(54px * 336 / 157);overflow:visible}
.logo-m{width:calc(50px * 336 / 157)}
.logo-f{width:calc(88px * 336 / 157)}
/* la scroll, sigla se micșorează prin transform (fără reflow, fără salt) */
.site-head .logo{transform-origin:left center;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.site-head.scrolled .logo{transform:scale(.86)}
/* header: siglă | meniu centrat în spațiul dintre siglă și buton | telefon */
@media (min-width:861px){
  .head-in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(16px,2.5vw,36px)}
  .main-nav{justify-self:center}
  .head-cta{justify-self:end;padding:11px 22px;font-size:.9rem}
}
@media (max-width:860px){.head-cta{display:none}}
.logo-m{height:50px}
.logo-f{height:88px}
.foot-motto{margin-top:12px;font-family:var(--display);font-style:italic;font-weight:500;font-size:1.3rem;color:var(--rose);letter-spacing:.005em}
.foot-brand p{max-width:40ch}
.foot-top{align-items:center}
.mq-mark{width:16px;height:22px;flex:none;opacity:.9}
.mq-row svg.mq-mark{color:inherit}

/* motto — semnătura studioului la finalul manifestului */
.motto{
  margin-top:clamp(40px,6vw,64px);padding-top:clamp(26px,4vw,38px);border-top:1px solid rgba(247,240,232,.14);
  display:flex;align-items:center;gap:clamp(16px,2.4vw,26px);flex-wrap:wrap;
}
.motto-mark{width:34px;height:48px;flex:none;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}
.motto-text{
  font-family:var(--display);font-weight:500;font-size:clamp(1.5rem,3.2vw,2.35rem);line-height:1.15;letter-spacing:-.005em;
  color:var(--stage-ink);max-width:none;text-wrap:balance;
}
.motto-text em{font-style:italic;color:var(--rose)}

/* ============================================================
   CURSURI — cardul: eyebrow (rândul 1) + titlu (rândul 2) în stânga,
   doodle-ul pe o singură linie în dreapta, pe ambele rânduri;
   descrierea și nota dedesubt
   ============================================================ */
.course{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,1fr);grid-template-rows:auto auto 1fr auto;
  grid-template-areas:"age glyph" "title glyph" "desc desc" "more more";gap:10px clamp(10px,1.4vw,18px);align-content:start}
/* eyebrow: un singur rând, întotdeauna */
.course .age{grid-area:age;align-self:start;justify-self:start;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:.66rem;letter-spacing:.1em;padding:4px 10px;line-height:1.35}
/* titlu: maximum două rânduri */
.course h3{grid-area:title;align-self:start;font-size:clamp(1.2rem,1.5vw,1.45rem);line-height:1.1;text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* doodle: 20% din rând, în dreapta, centrat pe cele două rânduri */
.course .glyph{grid-area:glyph;align-self:center;justify-self:end;width:100%;height:auto;aspect-ratio:1;opacity:1;color:var(--ink);display:block;margin:0}
.course .glyph svg{width:100%;height:100%;overflow:visible;clip-path:inset(0 0 0 0);transition:color .35s}
.reveal .glyph svg{clip-path:inset(0 100% 0 0)}
.reveal-on .glyph svg{clip-path:inset(0 0 0 0);transition:clip-path 1.5s cubic-bezier(.4,0,.2,1) .1s,color .35s}
.course:hover .glyph{color:var(--carmine)}
.course .desc{grid-area:desc;margin-top:4px}
.course .more,.course p.more{grid-area:more;margin-top:auto}
@media (max-width:640px){.course h3{font-size:1.45rem}}

/* ============================================================
   ECHIPA — carduri cu fotografie și vinietă; citatul e ultima placă
   ============================================================ */
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
.team{display:contents}
.team-grid .tcard{position:relative;aspect-ratio:3/4;border:none;border-radius:var(--r);overflow:hidden;background:var(--paper-2);padding:0;display:block;gap:0;box-shadow:var(--shadow)}
.team-grid .tcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.tcard .tphoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:saturate(.9);transition:transform .9s cubic-bezier(.2,.7,.2,1);border-radius:var(--r)}
.team-grid .tcard:hover .tphoto{transform:scale(1.03)}
.tcard .tveil{position:absolute;left:0;right:0;bottom:0;height:56%;pointer-events:none;border-radius:0 0 var(--r) var(--r);
  background:linear-gradient(180deg,rgba(23,17,16,0) 0%,rgba(23,17,16,.42) 30%,rgba(23,17,16,.84) 100%)}
.tcard .tbody{position:absolute;left:0;right:0;bottom:0;padding:18px 20px 20px;display:flex;flex-direction:column;gap:5px;pointer-events:none}
.tcard .tbody>*{pointer-events:auto;max-width:none}
.tcard .trole{color:var(--rose);text-shadow:0 1px 2px rgba(0,0,0,.35)}
.tcard h3{color:#fff;font-size:1.42rem;line-height:1.08;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.tcard .tdesc{color:rgba(247,240,232,.86);font-size:.88rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.35)}
/* citatul fondatoarei: o placă deschisă, de hârtie — un pull-quote, nu un card de echipă */
.tquote{position:relative;aspect-ratio:3/4;margin:0;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(24px,2.6vw,34px);display:flex;flex-direction:column;justify-content:center;gap:18px;overflow:hidden;box-shadow:none}
.tquote::before{content:"„";position:absolute;left:clamp(18px,2vw,26px);top:-4px;font-family:var(--display);font-size:9rem;line-height:1;color:var(--rose);opacity:.9;pointer-events:none}
.tquote .mark{position:absolute;top:22px;right:22px;width:26px;height:36px;opacity:.9}
.tquote blockquote{position:relative;margin-top:40px;font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(1.2rem,1.6vw,1.5rem);line-height:1.32;color:var(--ink);text-wrap:pretty}
.tquote figcaption{position:relative;display:flex;align-items:center;gap:12px;font-size:.82rem;color:var(--muted)}
.tquote figcaption::before{content:"";width:28px;height:1.5px;background:var(--carmine);flex:none}
@media (max-width:1060px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.team-grid{grid-template-columns:1fr}.team-grid .tcard,.tquote{aspect-ratio:4/4.6}}
/* editor: foto schimbabilă + reîncadrare prin drag; × și ⠿ rămân vizibile */
.editmode .team-grid .tcard{overflow:visible}
.editmode .tcard .tphoto{outline:1.5px dashed var(--carmine);outline-offset:3px;cursor:grab}
.editmode .tcard .tphoto.ed-grabbing{cursor:grabbing}
.editmode .team-grid .ed-add-card{aspect-ratio:3/4;min-height:0}

/* program — locul unde se ține ora (Sala mare / Sala mică), ultimul rând al chip-ului */
.cls-loc{display:flex;align-items:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:.72rem;font-weight:700;letter-spacing:.05em;color:var(--ink-2);min-height:1.4em}
.cls-loc svg{width:12px;height:12px;flex:none;color:var(--carmine)}
.cls-loc span{flex:1 1 auto;min-width:0}
.editmode .cls-loc span:empty::before{content:"Sala…";color:var(--muted);font-weight:500}

/* FAQ — întrebarea e într-un span editabil, pictograma rămâne la dreapta */
.faq summary .fq{flex:1 1 auto;min-width:0}

/* sec-head cu buton la dreapta (Jurnal) */
.sec-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.sec-head-cta{flex:none;margin-bottom:6px}
.jmore{display:none;margin-top:26px}
@media (max-width:640px){.sec-head-cta{display:none}.jmore{display:block}}

/* ============================================================
   JURNAL / BLOG — carduri + pagini
   ============================================================ */
.jgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.6vw,30px)}
.jcard{
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:clip;position:relative;
  transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s;
}
.jcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.jcard .jframe{position:relative;aspect-ratio:16/9;overflow:clip;background:var(--paper-2)}
.jcard .jframe img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.jcard:hover .jframe img{transform:scale(1.04)}
.jcard .jbody{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.jmeta{display:flex;align-items:center;gap:10px;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--carmine);font-feature-settings:"lnum" 1}
.jmeta .jdot{width:4px;height:4px;border-radius:50%;background:var(--rose-2)}
.jmeta .jread{color:var(--muted);font-weight:600;letter-spacing:.08em;text-transform:none;font-size:.78rem}
.jcard h3{font-size:1.42rem;line-height:1.12;text-wrap:balance}
.jcard p{font-size:.94rem;color:var(--ink-2);flex:1}
.jcard .jlink{font-family:var(--display);font-style:italic;font-weight:500;font-size:1.02rem;color:var(--carmine);margin-top:4px}
.jempty{color:var(--muted);grid-column:1/-1}

/* pagini blog */
.page{padding-top:118px}
.crumbs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.84rem;font-weight:600;color:var(--muted);margin-bottom:clamp(22px,3vw,34px)}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{color:var(--carmine)}
.crumbs svg{width:12px;height:12px;color:var(--rose-2);flex:none}
.crumbs .cur{color:var(--carmine);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46ch}
.blog-head{margin-bottom:clamp(34px,5vw,56px)}
.blog-head .sec-title{font-size:clamp(2.4rem,5.6vw,4.4rem)}
.blog-list{padding-bottom:clamp(60px,9vw,120px)}

.article{max-width:800px;margin-inline:auto;padding-bottom:clamp(60px,9vw,120px)}
.article-head{margin-bottom:clamp(24px,3.5vw,36px)}
.article-head h1{font-size:clamp(2.2rem,5.2vw,3.9rem);font-weight:600;line-height:1.05;letter-spacing:-.015em;margin-top:16px;text-wrap:balance}
.article-head .jmeta{margin-top:18px}
.article-cover{margin:0 0 clamp(28px,4vw,40px)}
.article-cover .jframe{display:block;position:relative;aspect-ratio:16/9;overflow:clip;border-radius:var(--r);background:var(--paper-2);box-shadow:var(--shadow)}
.article-cover .jframe img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.article-cover figcaption{margin-top:10px;font-size:.82rem;color:var(--muted)}
.article-body{font-size:1.08rem;line-height:1.78;color:var(--ink-2)}
.article-body>*{max-width:none}
.article-body p{margin:0 0 1.15em}
.article-body h2{font-size:clamp(1.55rem,3vw,2.1rem);color:var(--ink);margin:1.5em 0 .55em;line-height:1.12}
.article-body h3{font-size:1.28rem;color:var(--ink);margin:1.3em 0 .45em}
.article-body ul{margin:0 0 1.2em 1.2em;padding:0}
.article-body li{margin:.35em 0;padding-left:4px}
.article-body li::marker{color:var(--carmine)}
.article-body blockquote{
  margin:1.6em 0;padding:4px 0 4px 26px;border-left:2.5px solid var(--carmine);
  font-family:var(--display);font-style:italic;font-weight:500;font-size:1.4rem;line-height:1.35;color:var(--ink);
}
.article-body blockquote cite{display:block;margin-top:8px;font:600 .8rem/1.4 var(--sans);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.article-body figure.a-img{margin:1.7em 0}
.article-body figure.a-img img{width:100%;height:auto;border-radius:var(--r);box-shadow:var(--shadow)}
.article-body figure.a-img figcaption{margin-top:10px;font-size:.84rem;color:var(--muted)}
.a-embed{margin:1.7em 0;background:var(--paper-2);border-radius:var(--r);overflow:clip}
.a-embed iframe{display:block;width:100%;border:0}
.a-embed--video iframe{aspect-ratio:16/9;height:auto}
.a-embed--tall{max-width:420px;margin-inline:auto}
.a-embed--tall iframe{height:720px}
.article-foot{margin-top:clamp(40px,6vw,64px);padding-top:30px;border-top:1px solid var(--line)}
.article-cta{
  display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;
  padding:clamp(22px,3.5vw,34px);border-left:2.5px solid var(--carmine);background:var(--card);border-radius:0 var(--r-lg) var(--r-lg) 0;box-shadow:var(--shadow);
}
.article-cta h3{font-size:1.5rem}
.article-cta p{margin-top:6px;color:var(--muted);font-size:.95rem}
.related{margin-top:clamp(48px,7vw,80px)}
.related .kicker{margin-bottom:22px}
.related .jgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
.share{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:.84rem;color:var(--muted)}
.share button,.share a{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-2);font:600 .82rem var(--sans);cursor:pointer;text-decoration:none}
.share button:hover,.share a:hover{border-color:var(--carmine);color:var(--carmine)}

@media (max-width:1060px){
  .jgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .related .jgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .jgrid,.related .jgrid{grid-template-columns:1fr}
  .logo{height:44px;width:calc(44px * 336 / 157)}
  .site-head.scrolled .logo{transform:scale(.9)}
  .logo-f{height:70px;width:calc(70px * 336 / 157)}
  .page{padding-top:100px}
}

/* ============================================================
   EDITOR v2 — × la 50% în afara colțului, ⠿ pentru reordonare,
   „+" pe poziția următoare, editor de articole tip Notion
   ============================================================ */
.editmode .course,.editmode .tcard,.editmode .mitem,.editmode .faq details,.editmode .jcard{overflow:visible;position:relative}
.editmode .courses,.editmode .team,.editmode .mlist,.editmode .faq{overflow:visible}
.ed-del{top:-14px;right:-14px;width:28px;height:28px}
.ed-del svg{width:13px;height:13px}
.mlist .ed-del,.faq .ed-del{top:50%;right:-14px;transform:translateY(-50%)}
.mlist .ed-del:hover,.faq .ed-del:hover{transform:translateY(-50%) scale(1.12)}
.gallery .ed-del{top:10px;right:10px;width:30px;height:30px;transform:none}
.ed-drag{
  position:absolute;top:-14px;left:-14px;z-index:6;width:28px;height:28px;border-radius:50%;
  background:var(--ink);color:#fff;border:2px solid #fff;display:grid;place-items:center;cursor:grab;
  box-shadow:0 2px 7px -1px rgba(25,24,20,.4);touch-action:none;user-select:none;
}
.ed-drag svg{width:13px;height:13px}
.mlist .ed-drag,.faq .ed-drag{top:50%;left:-14px;transform:translateY(-50%)}
.ed-drag:active{cursor:grabbing}
.ed-item.ed-dragging{opacity:.35;outline:2px dashed var(--carmine);outline-offset:4px}
.ed-ghost{position:fixed;z-index:200;pointer-events:none;opacity:.92;box-shadow:var(--shadow-lg);transform-origin:0 0;background:var(--card);border-radius:var(--r)}
body.ed-drag-on{user-select:none;-webkit-user-select:none;cursor:grabbing}
body.ed-drag-on *{cursor:grabbing!important}

/* „+" pe următoarea poziție */
.ed-add-card{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;
  border:1.5px dashed var(--carmine);background:rgba(162,28,51,.05);color:var(--carmine);cursor:pointer;
  font:600 .9rem var(--sans);border-radius:var(--r);transition:background .2s;
}
.ed-add-card:hover{background:rgba(162,28,51,.1)}
.ed-add-card .plus{width:52px;height:52px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center}
.ed-add-card .plus svg{width:22px;height:22px}
.courses .ed-add-card{min-height:300px}
.mlist .ed-add,.faq .ed-add{margin-top:14px}
.day-list .ed-add{margin-top:2px;justify-content:center}
.jgrid .ed-add-card{min-height:260px}
.editmode .courses{background:transparent;gap:14px;border:none}
.editmode .course{border:1px solid var(--line)}

/* selector de ilustrație (cursuri) */
.editmode .course .glyph{cursor:pointer;outline:1.5px dashed transparent;outline-offset:6px;border-radius:6px;transition:outline-color .15s}
.editmode .course .glyph:hover{outline-color:var(--carmine)}
.ed-glyphs{
  position:absolute;z-index:120;left:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-lg);padding:12px;display:grid;grid-template-columns:repeat(4,72px);gap:8px;
}
.ed-glyphs button{width:72px;height:72px;border:1.5px solid var(--line);border-radius:8px;background:var(--paper);cursor:pointer;display:grid;place-items:center;color:var(--ink);padding:6px}
.ed-glyphs button svg{width:56px;height:56px}
.ed-glyphs button:hover,.ed-glyphs button.on{border-color:var(--carmine);color:var(--carmine);background:rgba(162,28,51,.06)}
.ed-glyphs .ed-glyphs-cap{grid-column:1/-1;font-size:.72rem;color:var(--muted);text-align:center;padding-top:4px}

/* FAQ deschis complet în editare (ca să se vadă răspunsurile) */
.editmode .faq summary .fx{pointer-events:none;opacity:.35}

/* ---------- editor articole ---------- */
[data-ph]:empty::before,.ed-empty[data-ph]::before{content:attr(data-ph);color:var(--muted);opacity:.55;pointer-events:none;font-style:italic}
.editmode .article-body>.ed-hot{min-height:1.5em}
.editmode #a-title:empty{min-height:1.1em}
.editmode #a-title{cursor:text}
.ed-abar{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 8px;padding:10px 12px;
  border:1px solid var(--line);border-radius:12px;background:var(--card);font-size:.84rem;
}
.ed-abar label{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:600}
.ed-abar input[type=date]{font:inherit;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}
.ed-abar .sp{flex:1}
.ed-abar button{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-2);font:600 .82rem var(--sans);cursor:pointer}
.ed-abar button:hover{border-color:var(--carmine);color:var(--carmine)}
.ed-abar button.danger:hover{border-color:var(--warn);color:var(--warn)}
.ed-abar button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.ed-cover-empty{
  display:flex;align-items:center;justify-content:center;gap:12px;aspect-ratio:16/6;
  border:1.5px dashed var(--carmine);border-radius:var(--r);background:rgba(162,28,51,.05);color:var(--carmine);font:600 .92rem var(--sans);cursor:pointer;margin-bottom:clamp(28px,4vw,40px);
}
.ed-cover-empty svg{width:22px;height:22px}
.editmode .article-cover .jframe{outline:1.5px dashed var(--carmine);outline-offset:4px;cursor:grab}
.editmode .article-cover .jframe.ed-grabbing{cursor:grabbing}
.ed-cover-tools{position:absolute;top:10px;right:10px;z-index:5;display:flex;gap:6px}
.ed-cover-tools button{padding:7px 11px;border-radius:999px;border:none;background:rgba(26,21,18,.82);color:#fff;font:600 .78rem var(--sans);cursor:pointer;display:inline-flex;align-items:center;gap:6px;backdrop-filter:blur(4px)}
.ed-cover-tools button svg{width:13px;height:13px}
.ed-cover-tools button:hover{background:var(--carmine)}
.ed-excerpt{margin:0 0 14px;padding:12px 14px;border:1.5px dashed var(--line);border-radius:10px;font-size:.92rem;color:var(--ink-2);cursor:text;min-height:44px}
.ed-excerpt:focus{outline:2px solid var(--carmine);border-color:transparent}

/* blocuri */
.editmode .article-body{position:relative}
.editmode .article-body>*{position:relative}
.editmode .article-body>.ed-hot{outline:1.5px dashed transparent;outline-offset:8px;border-radius:4px;cursor:text;transition:outline-color .15s,background .15s}
.editmode .article-body>.ed-hot:hover{outline-color:rgba(162,28,51,.45)}
.editmode .article-body>.ed-editing{outline:2px solid var(--carmine);background:rgba(162,28,51,.04)}
.editmode .article-body>*:hover .ed-bhandle,.editmode .article-body>.ed-editing .ed-bhandle{opacity:1}
.ed-bhandle{
  position:absolute;left:-54px;top:0;z-index:7;display:flex;flex-direction:column;gap:4px;opacity:0;transition:opacity .15s;
}
.ed-bhandle button{
  width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink-2);cursor:pointer;display:grid;place-items:center;
  box-shadow:0 2px 8px -3px rgba(25,24,20,.3);padding:0;
}
.ed-bhandle button svg{width:14px;height:14px}
.ed-bhandle button:hover{border-color:var(--carmine);color:var(--carmine)}
.ed-bhandle .grip{cursor:grab;touch-action:none}
.ed-bmenu{
  position:absolute;z-index:130;left:-54px;top:36px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);
  padding:8px;min-width:230px;display:flex;flex-direction:column;gap:2px;font-size:.88rem;
}
.ed-bmenu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--ink);font:500 .88rem var(--sans);cursor:pointer;text-align:left}
.ed-bmenu button:hover{background:rgba(162,28,51,.07);color:var(--carmine)}
.ed-bmenu button.on{background:rgba(26,21,18,.06)}
.ed-bmenu button .k{margin-left:auto;font-size:.72rem;color:var(--muted);font-weight:600;letter-spacing:.04em}
.ed-bmenu button svg{width:16px;height:16px;flex:none;color:var(--muted)}
.ed-bmenu hr{border:none;border-top:1px solid var(--line-soft);margin:4px 0}
.ed-bmenu .danger:hover{background:rgba(179,38,30,.08);color:var(--warn)}
.ed-add-block{
  display:flex;align-items:center;gap:10px;margin:14px 0 0;padding:12px 14px;border:1.5px dashed var(--line);border-radius:10px;color:var(--muted);font:600 .86rem var(--sans);cursor:pointer;
}
.ed-add-block:hover{border-color:var(--carmine);color:var(--carmine);background:rgba(162,28,51,.04)}
.ed-add-block svg{width:16px;height:16px}
.ed-slash{
  position:absolute;z-index:130;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:8px;min-width:250px;
}
.ed-slash .ed-slash-t{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:4px 10px 6px}
.ed-block-ghost{opacity:.4;outline:2px dashed var(--carmine);outline-offset:6px}
.a-img.ed-hot-img{cursor:pointer}
.editmode .a-img figcaption[contenteditable]{outline:2px solid var(--carmine)}
.ed-hint{font-size:.78rem;color:var(--muted);margin-top:10px}
.ed-hint kbd{font:600 .72rem var(--sans);border:1px solid var(--line);border-radius:5px;padding:1px 6px;background:var(--paper)}
@media (max-width:900px){.ed-bhandle{left:-40px}.ed-bmenu{left:-40px}}

/* ============================================================
   HERO — „Linia": desen continuu (varianta A aleasă de owner, 2026-09-02)
   ============================================================ */
.ani-line{position:absolute;z-index:1;right:1%;top:53%;transform:translateY(-50%);height:min(82%,640px);width:auto;pointer-events:none;overflow:visible}
.ani-line .fig{fill:none;stroke:var(--ink);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity 1.4s ease;animation:breathe 7s ease-in-out infinite}
.ani-line .fig.show,.ani-line .fig.static{opacity:.86}
.ani-line .fig.leave{opacity:0;transition:opacity 1.1s ease .5s}          /* se stinge blând, în timp ce linia se retrage */
.ani-line .fig path{stroke-dasharray:var(--L,1) var(--L,1);stroke-dashoffset:var(--L,0)}
.ani-line .fig.static path{stroke-dasharray:none;stroke-dashoffset:0}
.ani-line .fig.show path{animation:draw var(--D,4s) cubic-bezier(.3,0,.2,1) var(--S,0s) forwards}
.ani-line .fig.leave path{animation:erase var(--E,.8s) cubic-bezier(.55,0,.6,1) var(--ES,0s) forwards}   /* linia se ridică de pe hârtie, în ordinea în care a fost trasă */
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes erase{from{stroke-dashoffset:0}to{stroke-dashoffset:calc(-1 * var(--L,1))}}
@keyframes breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-side{z-index:3}
@media (max-width:1060px){.ani-line{height:min(56%,440px);right:-3%;top:44%}}
@media (max-width:640px){
  /* pe telefon: conținutul coboară la baza hero-ului, iar dansatoarea ocupă spațiul liber de sus-dreapta */
  .hero{min-height:96svh;justify-content:flex-end;padding-bottom:72px}
  .ani-line{height:min(38%,330px);right:-4%;top:78px;bottom:auto;transform:none;opacity:.85}
}
@media (prefers-reduced-motion:reduce){.ani-line .fig{animation:none}.ani-line .fig path{animation:none;stroke-dasharray:none;stroke-dashoffset:0}}

/* footer: buton de administrare în rândul de bază */
.foot-admin{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.btn-admin{padding:9px 16px;font-size:.82rem;border-color:rgba(247,240,232,.35);color:var(--stage-ink);gap:8px}
.btn-admin svg{width:14px;height:14px;color:var(--rose)}
.btn-admin:hover{border-color:var(--rose);color:var(--rose)}

/* ============================================================
   SECȚIUNEA 01 — „Umbra" (varianta E aleasă de owner, 2026-09-02)
   ============================================================ */
.manifest .wrap{position:relative;z-index:2}
.manifest .wall{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 74% 62%,rgba(231,198,196,.14),rgba(231,198,196,.04) 38%,transparent 62%)}
.shadowbox{position:absolute;z-index:1;right:-7%;bottom:-4%;height:100%;width:auto;pointer-events:none;overflow:visible;filter:blur(9px)}
.shadowbox .sil{fill:rgba(231,198,196,.24);opacity:0;transform-box:fill-box;transform-origin:50% 100%;transition:opacity 2.6s ease}
.shadowbox .sil.on{opacity:1;animation:shdrift 9s ease-in-out infinite alternate}
@keyframes shdrift{from{transform:translateX(-14px) scale(1)}to{transform:translateX(16px) scale(1.035)}}
.manifest .floorline{position:absolute;left:0;right:0;bottom:8%;height:1px;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(231,198,196,.22) 40%,rgba(231,198,196,.22) 75%,transparent)}
@media (max-width:900px){.shadowbox{height:72%;right:-14%;bottom:-2%}}
@media (prefers-reduced-motion:reduce){.shadowbox .sil.on{animation:none}}

/* articole: linkuri ca butoane + embed-uri */
.a-link{margin:1.5em 0}
.a-link .a-btn{gap:10px;max-width:100%;text-align:left}
.a-link .a-btn .a-btn-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60ch}
.a-link .a-btn svg{width:16px;height:16px;flex:none;color:var(--carmine)}
.editmode .a-link .a-btn-label{cursor:text}
.a-embed{box-shadow:var(--shadow)}
.a-embed--video{aspect-ratio:16/9}
.a-embed--video iframe{width:100%;height:100%}

/* rețele sociale: iconițe rotunde în culorile oficiale (Facebook albastru, Instagram gradient) */
.hero-social{display:flex;align-items:center;gap:10px;margin-top:22px}
.soc{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;flex:none;
  transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.soc svg{width:20px;height:20px}
.soc-fb{background:#1877F2}
.soc-ig,.ig-round{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
.soc:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(26,21,18,.45)}
.soc-label{margin-left:6px;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ig-round{width:46px;height:46px;border-radius:50%;flex:none;align-self:center;display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.ig-round svg{width:22px;height:22px}
.ig-round:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(214,36,159,.6)}
.mnav-social{margin-top:6px;justify-content:center}
.fb-link a+a{margin-left:14px}
@media (max-width:640px){.hero-social{margin-top:18px}}

/* ============================================================
   RECENZII — Google + Facebook, un rând care curge continuu (buclă măsurată în px)
   ============================================================ */
.rev-links{display:flex;gap:10px;flex-wrap:wrap;flex:none;margin-bottom:6px}
.rev-links .btn{padding:11px 18px;font-size:.88rem;gap:9px}
.rev-src-btn{width:16px;height:16px}
/* butoane sursă recenzii — sigla oficială, în culorile ei, pe placă albă */
.rev-links .rev-btn{padding:9px 16px 9px 11px;gap:10px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);font-weight:600;letter-spacing:0;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s}
.rev-links .rev-btn .rev-logo{width:22px;height:22px;flex:none}
.rev-links .rev-btn::after{content:"";width:13px;height:13px;flex:none;margin-left:1px;opacity:.4;transition:opacity .25s,transform .25s;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A1512' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/contain no-repeat}
.rev-links .rev-btn:hover{background:#fff;color:var(--ink);border-color:rgba(26,21,18,.28);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.rev-links .rev-btn:hover::after{opacity:.8;transform:translate(1.5px,-1.5px)}
.rev-marquee{position:relative;overflow:hidden;margin-top:clamp(8px,1vw,14px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.rev-track{display:flex;align-items:stretch;width:max-content;padding:8px 0 22px}
.rev-track.ready{animation:rev-scroll var(--rev-dur,70s) linear infinite}
.rev-set{display:flex;align-items:stretch;gap:clamp(14px,1.6vw,22px);padding-right:clamp(14px,1.6vw,22px)}
.rev-marquee:hover .rev-track,.rev-marquee:focus-within .rev-track{animation-play-state:paused}
@keyframes rev-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-1 * var(--rev-loop,50%)),0,0)}}
.rev-card{flex:0 0 clamp(292px,26vw,352px);height:var(--rev-card-h,240px);margin:0;display:flex;flex-direction:column;gap:14px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px 18px;box-shadow:var(--shadow);position:relative}
.rev-card .rev-top{display:flex;align-items:center;gap:12px}
.rev-card .rev-av{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;background:linear-gradient(135deg,var(--rose) 0%,var(--rose-2) 100%);font-family:var(--display);font-weight:600;font-size:1.05rem;color:var(--carmine-deep)}
.rev-card .rev-id{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.rev-card .rev-name{font-size:.92rem;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rev-card .rev-when{display:inline-flex;align-items:center;gap:2px;font-size:.74rem;color:var(--muted);letter-spacing:.02em}
.rev-card .rev-when svg{width:12px;height:12px;color:var(--carmine)}
.rev-card .rev-when svg+svg{margin-left:-1px}
.rev-card .rev-src{width:17px;height:17px;flex:none;color:var(--ink);opacity:.38}
.rev-card blockquote{margin:0;flex:1;min-height:0;font-family:var(--display);font-style:italic;font-weight:500;font-size:1.12rem;line-height:1.38;color:var(--ink-2);
  display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;text-wrap:pretty}
@media (max-width:640px){.rev-card{flex-basis:min(82vw,320px);--rev-card-h:228px}.rev-links{width:100%}.rev-links .btn{flex:1 1 auto;justify-content:center}}
@media (prefers-reduced-motion:reduce){
  .rev-track,.rev-track.ready{animation:none}
  .rev-marquee{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-mask-image:none;mask-image:none}
  .rev-card{scroll-snap-align:start}
}
