/* ==========================================================================
   One Medica — stiluri principale
   Paletă: indigo var(--navy-500) + auriu var(--gold-500) (culorile siglei), pe alb
   ========================================================================== */

:root{
  /* albastru regal */
  --navy-950:#070420;
  --navy-900:#0c0938;
  --navy-800:#151158;
  --navy-700:#1e1880;
  --navy-600:#281fa3;
  --navy-500:#3124c6;
  --navy-400:#6a5ce8;

  /* auriu */
  --gold-700:#7e6203;
  --gold-600:#a07c03;
  --gold-500:#c09503;
  --gold-300:#ddb42e;
  --gold-100:#f5ebcf;

  /* neutre reci */
  --paper:#fcfbff;
  --paper-2:#f3f2fd;
  --line:#e2e0f4;
  --ink:#080520;
  --ink-2:#3d3a5e;
  --muted:#6e6b93;
  /* text deschis peste fundaluri închise */
  --ice:#e9e7ff;
  --slate:#9591bd;

  --radius-s:12px;
  --radius:20px;
  --radius-l:32px;

  --shadow-s:0 2px 10px rgba(var(--navy-900-rgb,12,9,56),.06);
  --shadow-m:0 18px 40px -22px rgba(var(--navy-900-rgb,12,9,56),.32);
  --shadow-l:0 40px 90px -40px rgba(var(--navy-900-rgb,12,9,56),.5);

  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  /* fontul siglei — folosit pe titlul principal, ca hero-ul să lege de brand */
  --font-brand:"Bricolage Grotesque","Manrope",-apple-system,"Segoe UI",sans-serif;
  --font-body:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;

  --shell:1200px;
  --ease:cubic-bezier(.22,.75,.28,1);
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}

body{
  margin:0;
  font-family:var(--font-body);
  font-size:clamp(15.5px,.4vw + 14.6px,17px);
  line-height:1.65;
  color:var(--ink-2);
  background:var(--paper);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

img,svg,iframe{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:500;
  color:var(--navy-900);
  line-height:1.08;
  letter-spacing:-.02em;
  margin:0;
  font-variation-settings:"SOFT" 0,"WONK" 0;
}
h1{
  font-family:var(--font-brand);
  font-size:clamp(2.5rem,6vw,4.4rem);
  font-weight:600;
  letter-spacing:-.035em;
  font-variation-settings:"wdth" 100,"opsz" 96;
}
h2{font-size:clamp(2rem,3.9vw,3.2rem)}
h3{font-size:clamp(1.2rem,1.5vw,1.4rem)}
em{font-style:italic}
h1 em,h2 em{
  font-style:italic;
  /* auriu metalic: ambele capete închise, sclipirea la mijloc — pe alb are contrast */
  background:linear-gradient(100deg,var(--grad-dark-a,var(--gold-600)),var(--grad-mid,#d3a91a) 45%,var(--grad-dark-b,var(--gold-700)));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
/* h1 e pe Bricolage Grotesque, care n-are italic real: un oblic sintetic ar arăta
   prost la corpul ăsta, deci accentul se face din greutate. h2 rămâne pe Fraunces,
   unde italicul e desenat. */
h1 em{font-style:normal;font-weight:800}
/* Italic leans to the right and its last letter sticks out of the box of the <em>: with a gradient clipped to the text
   (or any overflow) that letter was cut. A little room on the right keeps it whole, in every heading and section head. */
h1 em,h2 em,h3 em,.section-head em,.page-hero em{padding-right:max(8px,.14em)}

.shell{width:min(100% - 2.6rem,var(--shell));margin-inline:auto}

.skip-link{
  position:fixed;top:-100px;left:1rem;z-index:200;padding:.7rem 1.1rem;
  background:var(--navy-900);color:#fff;border-radius:0 0 12px 12px;
}
.skip-link:focus{top:0}

:focus-visible{outline:2.5px solid var(--navy-500);outline-offset:3px;border-radius:6px}

/* ---------- bară de progres ---------- */
.scroll-rail{position:fixed;inset:0 0 auto 0;height:3px;z-index:120;background:transparent;pointer-events:none}
.scroll-rail span{
  display:block;height:100%;width:0;
  background:linear-gradient(90deg,var(--navy-700),var(--gold-500),var(--gold-300));
  box-shadow:0 0 14px rgba(var(--gold-500-rgb,192,149,3),.6);
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:110;
  padding:1.05rem 0;
  transition:padding .35s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease),backdrop-filter .35s;
}
.site-header::before{
  content:"";position:absolute;inset:0;opacity:0;
  background:rgba(246,249,245,.82);
  backdrop-filter:blur(16px) saturate(1.4);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
  border-bottom:1px solid rgba(var(--navy-700-rgb,30,24,128),.10);
  border-radius:0;
  transition:opacity .35s var(--ease),inset .35s var(--ease),border-radius .35s var(--ease),box-shadow .35s var(--ease);
}
/* On scroll the bar detaches from the top and side edges and rounds its
   corners. The extra 10px of padding keeps the content centred in the pill. */
.site-header.is-stuck{padding:calc(.55rem + 10px) 0}
.site-header.is-stuck::before,
.site-header.is-stuck.is-over-hero:not(.is-hero-dark)::before{
  opacity:1;inset:10px 14px;border-radius:999px;
  /* glass card look, but almost opaque so nothing shows through */
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,247,255,.96));
  border:1px solid rgba(255,255,255,.9);
  box-shadow:
    0 0 0 1px rgba(var(--navy-600-rgb,40,31,163),.10),          /* thin outer edge */
    inset 0 1px 0 rgba(255,255,255,1),      /* top highlight */
    0 12px 32px -14px rgba(var(--navy-700-rgb,30,24,128),.35);  /* soft drop shadow */
}

.header-inner{display:flex;align-items:center;gap:1.6rem;position:relative}

.brand{display:flex;align-items:center;gap:.85rem;margin-right:auto;min-width:0}
.brand-logo{display:block;flex:none;line-height:0}
.brand-logo img{height:42px;width:auto;transition:transform .5s var(--ease)}
.brand:hover .brand-logo img{transform:scale(1.04)}
/* varianta albă apare doar când antetul stă peste un fundal închis */
.brand-logo .logo-light{display:none}
.is-hero-dark .brand-logo .logo-color{display:none}
.is-hero-dark .brand-logo .logo-light{display:block}

.brand-tag{
  padding-left:.85rem;border-left:1px solid var(--line);
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);line-height:1.4;max-width:11rem;
}
.is-hero-dark .brand-tag{color:rgba(233,231,255,.6);border-left-color:rgba(233,231,255,.22)}

.site-nav{display:flex;align-items:center;gap:.35rem}
.site-nav a{
  position:relative;padding:.5rem .78rem;font-size:.925rem;font-weight:500;
  color:var(--ink-2);border-radius:999px;transition:color .25s,background .25s;
}
.site-nav a::after{
  content:"";position:absolute;left:.78rem;right:.78rem;bottom:.28rem;height:1.5px;
  background:var(--navy-500);transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--ease);
}
.site-nav a:hover::after,.site-nav a.active::after{transform:scaleX(1)}
.site-nav a.active{color:var(--navy-700)}
.is-hero-dark .site-nav a{color:rgba(235,233,255,.82)}
.is-hero-dark .site-nav a:hover,.is-hero-dark .site-nav a.active{color:#fff}
.is-hero-dark .site-nav a::after{background:var(--gold-500)}

.nav-cta{
  margin-left:.5rem;background:var(--navy-900);color:#fff !important;
  padding:.62rem 1.15rem !important;box-shadow:var(--shadow-m);
}
.nav-cta::after{display:none !important}
.nav-cta:hover{background:var(--navy-700);transform:translateY(-1px)}
.is-hero-dark .nav-cta{background:var(--gold-500);color:var(--navy-950) !important}
.is-hero-dark .nav-cta:hover{background:var(--gold-300)}

.nav-account{
  display:inline-flex !important;align-items:center;gap:.45rem;margin-left:.3rem;
  border:1px solid var(--line);padding:.4rem .8rem .4rem .5rem !important;
}
.nav-account::after{display:none !important}
.nav-account:hover{border-color:var(--gold-500)}
.nav-account.active{border-color:var(--gold-500);background:var(--gold-100)}
.nav-account-avatar{
  display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;
  background:var(--navy-900);color:#fff;font-size:.72rem;font-weight:700;flex:none;
  object-fit:cover;   /* when it's the Google profile picture instead of the initial */
}
.is-hero-dark .nav-account{border-color:rgba(255,255,255,.3)}
.is-hero-dark .nav-account-avatar{background:var(--gold-500);color:var(--navy-950)}

.header-phone{
  display:none;align-items:center;gap:.45rem;font-weight:600;font-size:.9rem;
  color:var(--navy-700);
}
.header-phone svg{width:18px;height:18px}

.nav-toggle{
  display:none;width:44px;height:44px;border:0;background:transparent;
  padding:0;cursor:pointer;position:relative;
}
.nav-toggle span{
  display:block;height:2px;width:22px;margin:5px auto;border-radius:2px;
  background:var(--navy-900);transition:transform .35s var(--ease),opacity .2s;
}
.is-hero-dark .nav-toggle span{background:#fff}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ==========================================================================
   BUTOANE
   ========================================================================== */
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.95rem 1.6rem;border-radius:999px;border:1px solid transparent;
  font-weight:600;font-size:.95rem;cursor:pointer;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s,color .3s,border-color .3s;
}
.btn svg{width:19px;height:19px;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-primary{
  background:linear-gradient(120deg,var(--navy-800),var(--navy-700) 55%,var(--navy-600));
  color:#fff;
  box-shadow:0 16px 34px -16px rgba(var(--navy-800-rgb,21,17,88),.55),inset 0 0 0 1px rgba(var(--gold-300-rgb,221,180,46),.28);
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 44px -18px rgba(var(--navy-800-rgb,21,17,88),.65),inset 0 0 0 1px rgba(var(--gold-300-rgb,221,180,46),.45);
}
.btn-ghost{border-color:rgba(255,255,255,.28);color:#eef3ff;background:rgba(255,255,255,.04)}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5)}
.btn-light{background:var(--gold-300);color:var(--navy-950);box-shadow:0 16px 34px -18px rgba(var(--gold-300-rgb,221,180,46),.6)}
.btn-light:hover{background:#fff;transform:translateY(-2px)}
.btn-block{width:100%;justify-content:center}

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:center;
  padding:9rem 0 6rem;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(120% 90% at 78% 8%,#241b8f 0%,transparent 55%),
    radial-gradient(90% 70% at 8% 88%,var(--navy-700) 0%,transparent 60%),
    linear-gradient(165deg,var(--navy-900) 0%,#0f0a45 45%,var(--navy-950) 100%);
  color:#e9e7ff;
}
.hero-bg{position:absolute;inset:-12% -5%;z-index:-1}

.orb{position:absolute;border-radius:50%;filter:blur(70px);will-change:transform}
.orb-a{width:46vw;height:46vw;left:-8vw;top:2vw;background:radial-gradient(circle at 35% 35%,rgba(var(--gold-500-rgb,192,149,3),.42),transparent 68%)}
.orb-b{width:36vw;height:36vw;right:-4vw;top:24vh;background:radial-gradient(circle at 50% 50%,rgba(var(--navy-500-rgb,49,36,198),.4),transparent 66%)}
.orb-c{width:26vw;height:26vw;left:38vw;bottom:-8vw;background:radial-gradient(circle at 50% 50%,rgba(var(--gold-300-rgb,221,180,46),.22),transparent 70%)}

.topo{position:absolute;inset:auto 0 -6% 0;width:110%;height:70%;opacity:.85;will-change:transform}

/* Subtle wave motion: each contour line drifts slowly, with its own duration
   and delay so the lines move like a swell instead of in lockstep.
   (Amplitudes are in SVG units; the viewBox is 1200 wide.) */
.topo path{
  animation:topoWave 14s ease-in-out infinite;
  transform-box:fill-box;transform-origin:center;
}
.topo path:nth-child(1){animation-duration:15s;animation-delay:-2s}
.topo path:nth-child(2){animation-duration:17s;animation-delay:-6s}
.topo path:nth-child(3){animation-duration:19s;animation-delay:-10s}
.topo path:nth-child(4){animation-duration:16s;animation-delay:-4s}
.topo path:nth-child(5){animation-duration:18s;animation-delay:-8s}
.topo path:nth-child(6){animation-duration:20s;animation-delay:-12s}
@keyframes topoWave{
  0%,100%{transform:translate(0,0) scaleY(1)}
  33%{transform:translate(-36px,16px) scaleY(1.12)}
  66%{transform:translate(30px,-14px) scaleY(.9)}
}

.ecg{
  position:absolute;left:0;right:0;top:56%;height:200px;width:100%;opacity:.45;
  will-change:transform;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 16%,#000 34%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 16%,#000 34%,#000 100%);
}
.ecg-line{
  fill:none;stroke:var(--gold-500);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 0 8px rgba(var(--gold-500-rgb,192,149,3),.7));
  stroke-dasharray:2400;stroke-dashoffset:2400;
  animation:trace 7s linear infinite;
}
@keyframes trace{
  0%{stroke-dashoffset:2400}
  60%{stroke-dashoffset:0}
  100%{stroke-dashoffset:-2400}
}

.hero-grain{
  position:absolute;inset:0;opacity:.32;mix-blend-mode:overlay;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

.hero-inner{
  display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center;
  position:relative;
}

.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;margin:0 0 1.3rem;
  font-size:.75rem;font-weight:600;letter-spacing:.19em;text-transform:uppercase;
  color:var(--navy-600);
}
.eyebrow .dot{
  width:7px;height:7px;border-radius:50%;background:var(--gold-500);
  box-shadow:0 0 0 4px rgba(var(--gold-500-rgb,192,149,3),.18);
  animation:pulseDot 2.6s ease-in-out infinite;
}
@keyframes pulseDot{
  0%,100%{box-shadow:0 0 0 3px rgba(var(--gold-500-rgb,192,149,3),.16)}
  50%{box-shadow:0 0 0 8px rgba(var(--gold-500-rgb,192,149,3),.04)}
}
.eyebrow.light,.hero .eyebrow{color:var(--gold-300)}

.hero h1{color:#fff;text-wrap:balance}
.hero h1 em{
  background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)) 60%,var(--grad-light,#f0dfae));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero .lede{
  max-width:52ch;margin:1.6rem 0 2.4rem;font-size:1.09rem;
  color:rgba(230,228,255,.78);font-weight:300;
}

.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:3.2rem}

.hero-chips{display:flex;flex-wrap:wrap;gap:2.2rem}
.hero-chips li{position:relative;padding-left:1rem}
.hero-chips li::before{
  content:"";position:absolute;left:0;top:.45rem;bottom:.45rem;width:2px;
  background:linear-gradient(var(--gold-500),transparent);border-radius:2px;
}
.hero-chips strong{display:block;font-size:1.02rem;color:#fff;font-weight:600;letter-spacing:-.01em}
.hero-chips span{font-size:.82rem;color:rgba(233,231,255,.6)}

/* card flotant */
.hero-card-stack{position:relative;will-change:transform}
.hcard{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius-l);
  backdrop-filter:blur(20px) saturate(1.3);
  -webkit-backdrop-filter:blur(20px) saturate(1.3);
  box-shadow:var(--shadow-l);
}
.hcard-main{padding:1.7rem;animation:float 8s ease-in-out infinite}
.hcard-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.6rem}
.pill{
  display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .8rem;border-radius:999px;
  font-size:.76rem;font-weight:600;letter-spacing:.02em;
  background:rgba(var(--gold-500-rgb,192,149,3),.16);color:var(--gold-300);border:1px solid rgba(var(--gold-500-rgb,192,149,3),.3);
}
.pill i{width:7px;height:7px;border-radius:50%;background:var(--gold-500);animation:blink 2s infinite}
.pill.is-closed{background:rgba(142,155,192,.14);color:var(--slate);border-color:rgba(142,155,192,.32)}
.pill.is-closed i{background:var(--slate)}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.hcard-time{font-family:var(--font-display);font-size:1.5rem;color:#fff;letter-spacing:-.02em}

.wave{height:74px;margin-bottom:1.2rem;border-radius:14px;overflow:hidden;background:rgba(var(--navy-900-rgb,12,9,56),.35)}
.wave svg{width:100%;height:100%}
.wave-line{
  fill:none;stroke:var(--gold-300);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:600;stroke-dashoffset:600;animation:trace2 4.5s linear infinite;
  filter:drop-shadow(0 0 6px rgba(var(--gold-300-rgb,221,180,46),.8));
}
@keyframes trace2{0%{stroke-dashoffset:600}70%{stroke-dashoffset:0}100%{stroke-dashoffset:-600}}
.hcard-label{margin:0;font-family:var(--font-display);font-size:1.22rem;color:#fff}
.hcard-meta{margin:.25rem 0 0;font-size:.85rem;color:rgba(233,231,255,.62)}

.hcard-sub{
  display:flex;align-items:center;gap:.9rem;padding:1rem 1.2rem;
  margin:-1.4rem 0 0 auto;width:82%;position:relative;z-index:2;
  animation:float 8s ease-in-out infinite reverse;
}
.hcard-icon{
  width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:14px;
  background:rgba(var(--gold-500-rgb,192,149,3),.16);color:var(--gold-300);
}
.hcard-icon svg{width:22px;height:22px}
.hcard-sub strong{display:block;font-size:.95rem;color:#fff}
.hcard-sub small{font-size:.78rem;color:rgba(233,231,255,.6)}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

.scroll-hint{
  position:absolute;left:50%;bottom:2rem;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.6rem;
  font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(233,231,255,.5);
}
.scroll-hint-line{
  width:1px;height:46px;background:linear-gradient(rgba(var(--gold-300-rgb,221,180,46),0),var(--gold-500));
  position:relative;overflow:hidden;
}
.scroll-hint-line::after{
  content:"";position:absolute;left:-1px;width:3px;height:12px;border-radius:3px;
  background:var(--gold-300);animation:slideDown 2.2s ease-in-out infinite;
}
@keyframes slideDown{0%{top:-14px;opacity:0}30%{opacity:1}100%{top:46px;opacity:0}}

/* ==========================================================================
   MARQUEE
   ========================================================================== */
.marquee{
  background:var(--navy-950);color:var(--gold-100);
  padding:1.05rem 0;overflow:hidden;border-block:1px solid rgba(var(--gold-500-rgb,192,149,3),.16);
}
.marquee-track{
  display:flex;align-items:center;gap:2.4rem;width:max-content;
  animation:slide 34s linear infinite;
}
.marquee span{
  font-family:var(--font-display);font-size:1.35rem;font-style:italic;
  white-space:nowrap;opacity:.85;
}
.marquee i{color:var(--gold-500);font-style:normal;font-size:.7rem}
@keyframes slide{to{transform:translateX(-50%)}}

/* ==========================================================================
   SECȚIUNI GENERICE
   ========================================================================== */
.section{padding:clamp(5rem,9vw,8.5rem) 0;position:relative}
.section-head{max-width:62ch;margin-bottom:3.6rem}
.section-head.center{margin-inline:auto;text-align:center}
.section-lede{font-size:1.06rem;color:var(--muted);margin:1.2rem 0 0;font-weight:300}
.section-lede.light{color:rgba(230,228,255,.76)}
.section-lede strong{color:var(--navy-700);font-weight:600}
.light .section-lede strong,.section-lede.light strong{color:var(--gold-300)}

/* animații de intrare */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.09s}
.reveal[data-delay="2"]{transition-delay:.18s}
.reveal[data-delay="3"]{transition-delay:.27s}
.reveal[data-delay="4"]{transition-delay:.36s}
.reveal[data-delay="5"]{transition-delay:.45s}

/* ==========================================================================
   SPECIALITĂȚI
   ========================================================================== */
.specialties{background:var(--paper)}
.specialties::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(var(--navy-700-rgb,30,24,128),.09) 1px,transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(70% 55% at 50% 40%,#000,transparent);
  mask-image:radial-gradient(70% 55% at 50% 40%,#000,transparent);
}
.spec-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
  gap:1.4rem;position:relative;
}
.spec-card{
  position:relative;overflow:hidden;isolation:isolate;
  padding:2.2rem 1.8rem 1.8rem;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);
  box-shadow:var(--shadow-s);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s;
}
.spec-card::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:0;
  background:linear-gradient(165deg,#0f0a45,var(--navy-700) 55%,var(--navy-600));
  transition:opacity .5s var(--ease);
}
.spec-card::after{
  content:"";position:absolute;right:-40px;top:-40px;width:170px;height:170px;z-index:-1;
  border-radius:50%;background:radial-gradient(circle,rgba(var(--gold-500-rgb,192,149,3),.35),transparent 70%);
  opacity:0;transition:opacity .6s var(--ease),transform .6s var(--ease);transform:scale(.6);
}
.spec-card:hover{
  transform:translateY(-10px);border-color:transparent;
  box-shadow:0 38px 70px -34px rgba(var(--navy-900-rgb,12,9,56),.62);
}
.spec-card:hover::before{opacity:1}
.spec-card:hover::after{opacity:1;transform:scale(1)}

.spec-num{
  position:absolute;top:1.5rem;right:1.7rem;
  font-family:var(--font-display);font-size:2.6rem;font-style:italic;
  color:var(--line);line-height:1;transition:color .5s;
}
.spec-card:hover .spec-num{color:rgba(var(--gold-300-rgb,221,180,46),.3)}

.spec-icon{
  display:grid;place-items:center;width:56px;height:56px;border-radius:18px;
  background:linear-gradient(150deg,var(--gold-100),#eef3ff);
  color:var(--navy-600);margin-bottom:1.5rem;
  transition:background .5s,color .5s,transform .5s var(--ease);
}
.spec-icon svg{width:30px;height:30px}
.spec-card:hover .spec-icon{
  background:rgba(255,255,255,.1);color:var(--gold-300);transform:rotate(-6deg) scale(1.06);
}

.spec-card h3{margin-bottom:.6rem;transition:color .4s}
.spec-card p{margin:0 0 1.4rem;font-size:.94rem;color:var(--muted);transition:color .4s}
.spec-card:hover h3{color:#fff}
.spec-card:hover p{color:rgba(230,228,255,.78)}

.spec-list{border-top:1px solid var(--line);padding-top:1.1rem;margin-bottom:1.4rem;transition:border-color .4s}
.spec-list li{
  position:relative;padding-left:1.35rem;font-size:.9rem;color:var(--ink-2);
  margin-bottom:.5rem;transition:color .4s;
}
.spec-list li::before{
  content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;
  background:var(--navy-500);transition:background .4s;
}
.spec-card:hover .spec-list{border-color:rgba(255,255,255,.16)}
.spec-card:hover .spec-list li{color:rgba(230,228,255,.86)}
.spec-card:hover .spec-list li::before{background:var(--gold-500)}

.spec-link{
  display:inline-flex;align-items:center;gap:.45rem;font-weight:600;font-size:.9rem;
  color:var(--navy-600);transition:color .4s,gap .3s var(--ease);
}
.spec-link:hover{gap:.8rem}
.spec-card:hover .spec-link{color:var(--gold-300)}

/* ==========================================================================
   ANALIZE
   ========================================================================== */
.lab{
  background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950));
  color:#e9e7ff;overflow:hidden;isolation:isolate;
}
.lab h2{color:#fff}
.lab h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.lab-bg{position:absolute;inset:-10% 0;z-index:-1;pointer-events:none}
.lab-glow{
  position:absolute;right:-10vw;top:0;width:60vw;height:60vw;border-radius:50%;filter:blur(90px);
  background:radial-gradient(circle,rgba(var(--navy-600-rgb,40,31,163),.5),transparent 65%);will-change:transform;
}
.lab-cells{position:absolute;inset:0;width:100%;height:100%;will-change:transform}

.lab-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:start}

.lab-steps{margin:2.6rem 0;display:grid;gap:1.1rem}
.lab-step{display:flex;gap:1rem;align-items:flex-start}
.step-num{
  flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--font-display);font-size:1.05rem;
  border:1px solid rgba(var(--gold-500-rgb,192,149,3),.35);color:var(--gold-300);background:rgba(var(--gold-500-rgb,192,149,3),.08);
}
.lab-step strong{display:block;color:#fff;font-size:1rem;margin-bottom:.15rem}
.lab-step p{margin:0;font-size:.9rem;color:rgba(233,231,255,.62)}

.lab-panel{
  background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);
  border-radius:var(--radius-l);padding:2rem 1.9rem;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:var(--shadow-l);
}
.lab-panel h3{color:#fff;margin-bottom:1.4rem;font-size:1.3rem}
.pack-list li{
  display:flex;flex-direction:column;gap:.15rem;padding:.95rem 0;
  border-bottom:1px dashed rgba(255,255,255,.13);
  transition:padding-left .35s var(--ease);
}
.pack-list li:last-child{border-bottom:0}
.pack-list li:hover{padding-left:.5rem}
.pack-list span{font-weight:600;color:#fff;font-size:.98rem}
.pack-list em{font-style:normal;font-size:.84rem;color:rgba(233,231,255,.58)}
.pack-note{margin:1.3rem 0 0;font-size:.82rem;color:rgba(233,231,255,.5)}

/* ==========================================================================
   EXPERIENȚA
   ========================================================================== */
.experience{background:var(--paper-2)}
.exp-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:4.5rem;align-items:center}

.values{margin-top:2.6rem;display:grid;gap:1.5rem}
.value{display:flex;gap:1.1rem;align-items:flex-start}
.value-ico{
  flex:none;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;
  background:#fff;color:var(--navy-600);box-shadow:var(--shadow-s);
}
.value-ico svg{width:24px;height:24px}
.value strong{display:block;color:var(--navy-900);font-size:1rem;margin-bottom:.1rem}
.value p{margin:0;font-size:.9rem;color:var(--muted)}

.stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;will-change:transform}
.stat{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:1.9rem 1.5rem;text-align:left;box-shadow:var(--shadow-s);
  position:relative;overflow:hidden;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
}
.stat::after{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(var(--gold-500),var(--navy-600));transform:scaleY(0);transform-origin:top;
  transition:transform .5s var(--ease);
}
.stat:hover{transform:translateY(-5px);box-shadow:var(--shadow-m)}
.stat:hover::after{transform:scaleY(1)}
.stat strong{
  display:block;font-family:var(--font-display);font-size:2.5rem;font-weight:500;
  color:var(--navy-700);line-height:1;letter-spacing:-.03em;
}
.stat span{display:block;margin-top:.5rem;font-size:.85rem;color:var(--muted)}
.stat:nth-child(even){margin-top:1.6rem}

/* ==========================================================================
   PROGRAM
   ========================================================================== */
.schedule{background:var(--paper);overflow:hidden}
.sched-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:4.5rem;align-items:center}

.dial-wrap{position:relative;width:min(100%,320px);margin-inline:auto;aspect-ratio:1}
.dial{width:100%;height:100%;color:var(--navy-700);transform:rotate(-90deg)}
.dial-track{fill:none;stroke:var(--line);stroke-width:14}
.dial-open{
  fill:none;stroke:var(--navy-500);stroke-width:14;stroke-linecap:round;
  filter:drop-shadow(0 6px 16px rgba(var(--navy-500-rgb,49,36,198),.35));
  transition:stroke-dashoffset 1.2s var(--ease);
}
#dialTicks line{stroke:rgba(var(--navy-700-rgb,30,24,128),.28);stroke-width:1.4;stroke-linecap:round}
#dialNeedle{transform-origin:120px 120px;transition:transform 1.2s var(--ease)}

.dial-center{
  position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:.15rem;
}
.dial-label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.dial-center strong{
  font-family:var(--font-display);font-size:2.9rem;font-weight:500;color:var(--navy-900);
  line-height:1;letter-spacing:-.03em;
}
.dial-center strong i{font-style:normal;color:var(--navy-500);margin:0 .06em}
.dial-days{font-size:.78rem;color:var(--muted)}

.dial-status{
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  margin:1.6rem 0 0;font-size:.9rem;font-weight:600;color:var(--navy-700);
}
.dial-status i{width:8px;height:8px;border-radius:50%;background:var(--navy-500);animation:blink 2s infinite}
.dial-status.closed{color:var(--muted)}
.dial-status.closed i{background:var(--slate)}

.hours-list{margin-top:2.4rem;border-top:1px solid var(--line)}
.hours-list li{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:1rem .4rem;border-bottom:1px solid var(--line);
  transition:background .35s,padding-left .35s var(--ease);
}
.hours-list li:hover{background:rgba(var(--navy-500-rgb,49,36,198),.05);padding-left:1rem}
.hours-list span{font-weight:500;color:var(--navy-900)}
.hours-list em{font-style:normal;font-family:var(--font-display);font-size:1.1rem;color:var(--navy-600)}
.hours-list li.highlight{
  background:linear-gradient(100deg,rgba(var(--navy-500-rgb,49,36,198),.09),transparent);
  border-radius:0 14px 14px 0;
}
.hours-list li.highlight em{color:var(--navy-700)}

/* ==========================================================================
   CONTACT + HARTĂ
   ========================================================================== */
.contact{background:var(--paper-2)}
.contact-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:1.6rem;align-items:stretch}

.map-card{
  position:relative;border-radius:var(--radius-l);overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow-m);background:#fff;min-height:440px;
}
.map-card iframe{
  width:100%;height:100%;min-height:440px;border:0;
  filter:grayscale(.35) saturate(1.15) contrast(1.03);
  transition:filter .6s var(--ease);
}
.map-card:hover iframe{filter:grayscale(0) saturate(1.2)}
.map-badge{
  position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;
  display:flex;align-items:center;gap:.9rem;padding:1rem 1.2rem;
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-radius:20px;box-shadow:var(--shadow-m);
}
.map-pin{
  width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:13px;
  background:var(--navy-900);color:var(--gold-300);
}
.map-pin svg{width:22px;height:22px}
.map-badge strong{display:block;color:var(--navy-900);font-size:.98rem}
.map-badge small{font-size:.82rem;color:var(--muted)}
.map-link{
  margin-left:auto;flex:none;padding:.55rem 1rem;border-radius:999px;
  background:var(--navy-900);color:#fff;font-size:.85rem;font-weight:600;
  transition:background .3s,transform .3s var(--ease);
}
.map-link:hover{background:var(--navy-600);transform:translateY(-1px)}

.contact-cards{display:grid;gap:.9rem;align-content:start}
/* „Contract CNAS” pe cardurile persoanelor (opțiune a secțiunii) */
.cnas-badge{display:inline-flex;align-items:center;gap:.4rem;margin:.5rem 0 0;padding:.28rem .75rem;border-radius:99px;font-size:.78rem;font-weight:700;line-height:1.3}
.cnas-badge i{font-size:1rem}
.cnas-badge.is-yes{background:#e3f6ec;color:#137a4a}
.cnas-badge.is-no{background:var(--paper-2);color:var(--muted);font-weight:600}
/* „Indicații de orientare”: cardul mare de sub hartă, cu textul liber al sediului (mijloace de transport, repere) */
.dir-card{display:flex;gap:1.4rem;align-items:flex-start;margin-top:1.6rem;padding:2rem 2.2rem;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow-s)}
.dir-card[hidden]{display:none}
.dir-ico{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--gold-100);color:var(--gold-500);font-size:1.7rem}
.dir-body{flex:1;min-width:0}
.dir-body h3{margin:0 0 .8rem;font-size:1.35rem}
.dir-body .prose>*:first-child{margin-top:0}
.dir-body .prose>*:last-child{margin-bottom:0}
@media (max-width:640px){.dir-card{flex-direction:column;gap:1rem;padding:1.4rem 1.3rem}}
.contact[data-variant="5"] .dir-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none}
.contact[data-variant="5"] .dir-body h3,.contact[data-variant="5"] .dir-body .prose{color:rgba(230,228,255,.9)}
.contact[data-variant="5"] .dir-body .prose a{color:var(--gold-300)}
.contact[data-variant="5"] .dir-ico{background:rgba(255,255,255,.1)}
.ccard{
  display:flex;align-items:center;gap:1rem;padding:1.25rem 1.3rem;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-s);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
}
a.ccard:hover{transform:translateX(5px);box-shadow:var(--shadow-m);border-color:rgba(var(--navy-500-rgb,49,36,198),.4)}
.ccard-ico{
  width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:14px;
  background:linear-gradient(150deg,var(--gold-100),#eef3ff);color:var(--navy-600);
}
.ccard-ico svg{width:22px;height:22px}
.ccard small{display:block;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.ccard strong{display:block;color:var(--navy-900);font-size:.98rem;margin-top:.15rem;font-weight:600}

/* ==========================================================================
   PROGRAMARE
   ========================================================================== */
.booking{
  background:linear-gradient(150deg,var(--navy-900),var(--navy-800) 60%,var(--navy-950));
  color:#e9e7ff;overflow:hidden;isolation:isolate;
}
.booking h2{color:#fff}
.booking h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.booking-bg{position:absolute;inset:-20% 0;z-index:-1}
.orb-d{width:40vw;height:40vw;left:-10vw;bottom:-10vw;background:radial-gradient(circle,rgba(var(--navy-500-rgb,49,36,198),.35),transparent 68%)}
.orb-e{width:34vw;height:34vw;right:-8vw;top:-6vw;background:radial-gradient(circle,rgba(var(--gold-500-rgb,192,149,3),.28),transparent 68%)}

.booking-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:start}

.booking-phone{
  display:inline-flex;flex-direction:column;margin-top:2.4rem;padding:1.2rem 1.6rem;
  border-radius:var(--radius);border:1px dashed rgba(var(--gold-300-rgb,221,180,46),.35);
  background:rgba(var(--gold-500-rgb,192,149,3),.06);transition:background .35s,transform .35s var(--ease);
}
.booking-phone:hover{background:rgba(var(--gold-500-rgb,192,149,3),.13);transform:translateY(-2px)}
.booking-phone span{font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-300)}
.booking-phone strong{font-family:var(--font-display);font-size:1.75rem;color:#fff;letter-spacing:-.02em}

.booking-form{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);
  border-radius:var(--radius-l);padding:2.2rem;
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:var(--shadow-l);
}
.field{margin-bottom:1.1rem;display:flex;flex-direction:column}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field label{
  font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(233,231,255,.72);margin-bottom:.45rem;
}
.field label i{font-style:normal;text-transform:none;letter-spacing:0;color:rgba(233,231,255,.45);font-weight:400}
.field input,.field select,.field textarea{
  width:100%;padding:.85rem 1rem;border-radius:14px;
  background:rgba(var(--navy-950-rgb,7,4,32),.35);border:1px solid rgba(255,255,255,.14);
  color:#fff;font-size:.95rem;transition:border-color .3s,background .3s,box-shadow .3s;
}
.field textarea{resize:vertical;min-height:96px;font-family:inherit}
.field select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ddb42e' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.4rem;
}
.field select option{background:var(--navy-900);color:#fff}
.field input::placeholder,.field textarea::placeholder{color:rgba(233,231,255,.35)}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--gold-500);background:rgba(var(--navy-950-rgb,7,4,32),.55);
  box-shadow:0 0 0 4px rgba(var(--gold-500-rgb,192,149,3),.14);
}
.field.invalid input,.field.invalid select{border-color:#e88f7a;box-shadow:0 0 0 4px rgba(232,143,122,.12)}
.err{display:block;min-height:0;font-size:.78rem;color:#f0a893;margin-top:.35rem}
.err:empty{margin:0}

.consent{display:flex;gap:.7rem;align-items:flex-start;margin:.4rem 0 .2rem;cursor:pointer}
.consent input{
  appearance:none;width:20px;height:20px;flex:none;margin-top:.15rem;border-radius:6px;
  border:1px solid rgba(255,255,255,.3);background:rgba(var(--navy-950-rgb,7,4,32),.35);cursor:pointer;
  transition:background .25s,border-color .25s;position:relative;
}
.consent input:checked{background:var(--gold-500);border-color:var(--gold-500)}
.consent input:checked::after{
  content:"";position:absolute;left:6.5px;top:2.5px;width:5px;height:10px;
  border:solid var(--navy-950);border-width:0 2.4px 2.4px 0;transform:rotate(42deg);
}
.consent span{font-size:.85rem;color:rgba(233,231,255,.68);line-height:1.5}
.booking-form > .err{margin-bottom:.8rem}
.booking-form .btn{margin-top:1rem}

.form-note{margin:1rem 0 0;font-size:.78rem;color:rgba(233,231,255,.5);text-align:center}
.form-note strong{color:var(--gold-300)}

.form-success{
  display:flex;gap:.9rem;align-items:center;margin-top:1.3rem;padding:1.1rem 1.2rem;
  border-radius:18px;background:rgba(var(--gold-500-rgb,192,149,3),.12);border:1px solid rgba(var(--gold-500-rgb,192,149,3),.32);
  animation:popIn .5s var(--ease);
}
@keyframes popIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.form-success .tick{
  width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:50%;
  background:var(--gold-500);color:var(--navy-950);
}
.form-success .tick svg{width:20px;height:20px}
.form-success strong{display:block;color:#fff;font-size:.98rem}
.form-success p{margin:.1rem 0 0;font-size:.86rem;color:rgba(233,231,255,.7)}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{background:var(--navy-950);color:rgba(233,231,255,.7);padding:4.5rem 0 2rem}
.footer-inner{display:flex;flex-wrap:wrap;gap:2.5rem 3rem}
.footer-inner>.footer-col{flex:1 1 180px;min-width:0}
.footer-inner>.footer-brand{flex:1.6 1 280px;min-width:0}
.footer-brand-title{font-family:var(--font-body);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-300);margin:0 0 .6rem;font-weight:600}
.footer-col-text p{font-size:.92rem;margin:0;max-width:36ch}
.footer-logo{display:block;height:52px;width:auto;margin-bottom:1.1rem}
.footer-note{margin-top:.9rem !important;font-size:.9rem;max-width:38ch;color:rgba(233,231,255,.55)}
.footer-col h4{
  font-family:var(--font-body);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-300);margin-bottom:1.1rem;font-weight:600;
}
.footer-col li{margin-bottom:.6rem;font-size:.92rem}
.footer-col a{transition:color .25s,padding-left .25s var(--ease)}
.footer-col a:hover{color:var(--gold-300);padding-left:.25rem}
.footer-bottom{
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;
  margin-top:3.5rem;padding-top:1.6rem;border-top:1px solid rgba(var(--gold-300-rgb,221,180,46),.13);
}
.footer-bottom small{font-size:.78rem;color:rgba(233,231,255,.42)}

/* Footer — model 2: deschis */
.site-footer[data-variant="2"]{background:var(--paper-2);color:var(--ink-2);border-top:1px solid var(--line)}
.site-footer[data-variant="2"] .footer-col h4,.site-footer[data-variant="2"] .footer-brand-title{color:var(--navy-700)}
.site-footer[data-variant="2"] .footer-note,.site-footer[data-variant="2"] .footer-bottom small{color:var(--muted)}
.site-footer[data-variant="2"] .footer-col a:hover{color:var(--navy-500)}
.site-footer[data-variant="2"] .footer-bottom{border-top-color:var(--line)}
.site-footer[data-variant="2"] .footer-bottom a{color:var(--navy-600)}
.site-footer[data-variant="2"] .footer-logo:not(.logo-invert){filter:none}
.site-footer[data-variant="2"] .footer-social a{color:var(--navy-700);border-color:var(--line)}
/* Footer — model 3: închis, centrat */
.site-footer[data-variant="3"] .footer-inner{justify-content:center;text-align:center}
.site-footer[data-variant="3"] .footer-inner>.footer-brand{flex:1 1 100%;display:flex;flex-direction:column;align-items:center}
.site-footer[data-variant="3"] .footer-note{margin-inline:auto}
.site-footer[data-variant="3"] .footer-social{justify-content:center}
.site-footer[data-variant="3"] .footer-col-text p{margin-inline:auto}
.site-footer[data-variant="3"] .footer-bottom{justify-content:center;text-align:center}

/* ---------- back to top ---------- */
.to-top{
  position:fixed;right:1.4rem;bottom:1.4rem;z-index:100;
  width:48px;height:48px;display:grid;place-items:center;border-radius:50%;
  background:var(--navy-900);color:var(--gold-300);box-shadow:var(--shadow-m);
  opacity:0;visibility:hidden;transform:translateY(14px);
  transition:opacity .4s,visibility .4s,transform .4s var(--ease),background .3s;
}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{background:var(--navy-600)}
.to-top svg{width:20px;height:20px}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1080px){
  .brand-tag{display:none}
  .hero-inner{grid-template-columns:1fr;gap:3.5rem}
  .hero-card-stack{max-width:440px}
  .lab-inner,.exp-grid,.sched-grid,.booking-inner{grid-template-columns:1fr;gap:3rem}
  .contact-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr;max-width:520px}
  .footer-inner{gap:2.5rem}
}

@media (max-width:860px){
  html{scroll-padding-top:80px}
  .nav-toggle{display:block}
  .header-phone{display:none}
  .site-header{padding:.7rem 0}
  .site-header::before{opacity:1}
  .site-header.is-hero-dark::before{opacity:0}

  .site-nav{
    position:absolute;top:calc(100% + .55rem);left:0;right:0;
    flex-direction:column;align-items:stretch;gap:.15rem;padding:1rem;
    background:rgba(var(--navy-900-rgb,12,9,56),.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    border-radius:24px;box-shadow:var(--shadow-l);
    opacity:0;visibility:hidden;transform:translateY(-12px) scale(.98);
    transition:opacity .3s var(--ease),transform .35s var(--ease),visibility .3s;
  }
  .site-nav.open{opacity:1;visibility:visible;transform:none}
  .site-nav a{color:rgba(235,233,255,.85) !important;padding:.85rem 1rem;font-size:1rem}
  .site-nav a::after{display:none}
  .nav-cta{margin:.5rem 0 0;text-align:center;justify-content:center;background:var(--gold-500);color:var(--navy-950) !important}

  .hero{padding:7.5rem 0 5rem;min-height:auto}
  .hero-chips{gap:1.4rem}
  .hero-chips li{flex:1 1 130px}
  .scroll-hint{display:none}
  .marquee span{font-size:1.15rem}
  .stat:nth-child(even){margin-top:0}
  .field-row{grid-template-columns:1fr}
  .booking-form,.lab-panel{padding:1.5rem}
  .map-badge{flex-wrap:wrap;left:.8rem;right:.8rem;bottom:.8rem}
  .map-link{margin-left:0;width:100%;text-align:center}
  .footer-inner>.footer-col,.footer-inner>.footer-brand{flex-basis:100%}
  .to-top{right:1rem;bottom:1rem;width:44px;height:44px}
}

@media (max-width:480px){
  .shell{width:min(100% - 1.8rem,var(--shell))}
  .stats{grid-template-columns:1fr}
  .hcard-sub{width:100%;margin-left:0}
  .spec-card{padding:1.8rem 1.4rem 1.5rem}
}

/* ---------- preferințe de mișcare reduse ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important;
  }
  .reveal{opacity:1;transform:none}
}

/* ---------- print ---------- */
@media print{
  .site-header,.to-top,.scroll-rail,.marquee,.hero-bg,.booking-form,.scroll-hint{display:none !important}
  body{background:#fff;color:#000}
  .hero,.lab,.booking,.site-footer{background:#fff !important;color:#000 !important}
}

/* ==========================================================================
   HERO PE FUNDAL DESCHIS
   --------------------------------------------------------------------------
   Restul paginii alternează secțiuni albe cu secțiuni bleumarin. Hero-ul poate
   fi oricare dintre cele două: implicit e bleumarin (regulile .hero de mai sus),
   iar clasa `hero--light` îl trece pe alb. Perechea ei obligatorie e
   `data-header-theme="light"`, care spune JS-ului să nu mai treacă antetul pe
   text deschis cât timp stă peste hero.
   ========================================================================== */
.hero--light{
  color:var(--navy-900);
  background:
    radial-gradient(110% 80% at 82% 4%,rgba(var(--navy-500-rgb,49,36,198),.11) 0%,transparent 58%),
    radial-gradient(80% 70% at 4% 94%,rgba(var(--gold-500-rgb,192,149,3),.13) 0%,transparent 62%),
    linear-gradient(170deg,#fff 0%,#fcfbff 46%,#f3f6ff 100%);
}

/* ---------- straturi de fundal ---------- */
.hero--light .orb-a{background:radial-gradient(circle at 35% 35%,rgba(var(--navy-500-rgb,49,36,198),.22),transparent 68%)}
.hero--light .orb-b{background:radial-gradient(circle at 50% 50%,rgba(var(--gold-500-rgb,192,149,3),.24),transparent 66%)}
.hero--light .orb-c{background:radial-gradient(circle at 50% 50%,rgba(var(--navy-400-rgb,106,92,232),.16),transparent 70%)}

/* stop-color e atribut de prezentare, deci îl putem rescrie din CSS */
.hero--light .topo{opacity:.95}
.hero--light .topo linearGradient stop:nth-child(1){stop-color:var(--navy-500);stop-opacity:.42}
.hero--light .topo linearGradient stop:nth-child(2){stop-color:var(--gold-500);stop-opacity:.30}
.hero--light .topo linearGradient stop:nth-child(3){stop-color:var(--navy-400);stop-opacity:.08}

.hero--light .ecg{
  opacity:.55;
  /* pe alb linia se vede mult mai tare, deci o ținem departe de titlu și butoane */
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 26%,#000 50%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 26%,#000 50%,#000 100%);
}
.hero--light .ecg-line{
  stroke:var(--navy-500);
  filter:drop-shadow(0 0 7px rgba(var(--navy-500-rgb,49,36,198),.35));
}

/* pe alb, textura funcționează în multiply, nu în overlay */
.hero--light .hero-grain{opacity:.10;mix-blend-mode:multiply}

/* ---------- tipografie ---------- */
.hero--light .eyebrow{color:var(--gold-700)}
.hero--light .eyebrow .dot{
  background:var(--gold-500);
  animation:pulseDotGold 2.6s ease-in-out infinite;
}
@keyframes pulseDotGold{
  0%,100%{box-shadow:0 0 0 3px rgba(var(--gold-500-rgb,192,149,3),.20)}
  50%{box-shadow:0 0 0 8px rgba(var(--gold-500-rgb,192,149,3),.05)}
}
.hero--light h1{color:var(--navy-900)}
.hero--light h1 em{
  background:linear-gradient(100deg,var(--grad-dark-a,var(--gold-600)),var(--grad-mid,#d3a91a) 45%,var(--grad-dark-b,var(--gold-700)));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero--light .lede{color:#4d4a70}

/* ---------- butoane ---------- */
.hero--light .btn-ghost{
  color:var(--navy-600);border-color:rgba(var(--navy-600-rgb,40,31,163),.26);background:rgba(255,255,255,.6);
}
.hero--light .btn-ghost:hover{background:#fff;border-color:var(--navy-500)}

/* ---------- chipsuri ---------- */
.hero--light .hero-chips li::before{background:linear-gradient(var(--gold-500),transparent)}
.hero--light .hero-chips strong{color:var(--navy-900)}
.hero--light .hero-chips span{color:var(--muted)}

/* ---------- cardurile flotante ---------- */
.hero--light .hcard{
  background:rgba(255,255,255,.74);
  border-color:rgba(var(--navy-600-rgb,40,31,163),.13);
  box-shadow:0 40px 90px -42px rgba(var(--navy-800-rgb,21,17,88),.42);
}
.hero--light .pill{
  background:rgba(var(--navy-500-rgb,49,36,198),.09);color:var(--navy-600);border-color:rgba(var(--navy-500-rgb,49,36,198),.22);
}
.hero--light .pill i{background:var(--navy-500)}
.hero--light .pill.is-closed{
  background:rgba(110,107,147,.12);color:var(--muted);border-color:rgba(110,107,147,.28);
}
.hero--light .pill.is-closed i{background:var(--muted)}
.hero--light .hcard-time{color:var(--navy-900)}
.hero--light .wave{background:rgba(var(--navy-500-rgb,49,36,198),.055)}
.hero--light .wave-line{
  stroke:var(--navy-500);filter:drop-shadow(0 0 5px rgba(var(--navy-500-rgb,49,36,198),.35));
}
.hero--light .hcard-label{color:var(--navy-900)}
.hero--light .hcard-meta{color:var(--muted)}
.hero--light .hcard-icon{background:rgba(var(--gold-500-rgb,192,149,3),.15);color:var(--gold-700)}
.hero--light .hcard-sub strong{color:var(--navy-900)}
.hero--light .hcard-sub small{color:var(--muted)}

/* ---------- indicatorul de derulare ---------- */
.hero--light .scroll-hint{color:rgba(var(--navy-800-rgb,21,17,88),.42)}
.hero--light .scroll-hint-line{background:linear-gradient(rgba(var(--navy-500-rgb,49,36,198),0),var(--navy-500))}
.hero--light .scroll-hint-line::after{background:var(--gold-500)}

/* ---------- antetul, cât timp stă peste hero-ul deschis ---------- */
.site-header.is-over-hero:not(.is-hero-dark)::before{
  background:rgba(252,253,255,.86);border-bottom-color:rgba(var(--navy-600-rgb,40,31,163),.10);
}

/* ==========================================================================
   SUBPAGINI — listarea specialităților și paginile individuale
   --------------------------------------------------------------------------
   Prima pagină are hero-ul ei, înalt, cu parallax. Subpaginile primesc un
   antet mai scurt, pe același fundal deschis, ca să nu concureze cu ea.
   ========================================================================== */

/* pe subpagini antetul nu stă niciodată peste un hero închis, deci fundalul
   lui trebuie să fie vizibil din primul pixel, nu doar după derulare */
body.is-subpage .site-header::before{opacity:1}

.page-hero{
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(8rem,13vw,11rem) 0 clamp(3.5rem,6vw,5.5rem);
  background:
    radial-gradient(100% 70% at 85% 0%,rgba(var(--navy-500-rgb,49,36,198),.10) 0%,transparent 58%),
    radial-gradient(70% 60% at 0% 100%,rgba(var(--gold-500-rgb,192,149,3),.11) 0%,transparent 62%),
    linear-gradient(170deg,#fff 0%,#fcfbff 55%,#f3f2fd 100%);
}
.page-hero-bg{position:absolute;inset:-30% -10%;z-index:-1;pointer-events:none}
.page-hero-bg .orb-a{width:34vw;height:34vw;left:-6vw;top:-4vw;background:radial-gradient(circle at 40% 40%,rgba(var(--navy-500-rgb,49,36,198),.18),transparent 68%)}
.page-hero-bg .orb-b{width:28vw;height:28vw;right:-4vw;bottom:-6vw;background:radial-gradient(circle at 50% 50%,rgba(var(--gold-500-rgb,192,149,3),.20),transparent 66%)}

.bc-bar{margin-top:13px}

.breadcrumb{
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.8rem;
  font-size:.82rem;color:var(--muted);
}
.breadcrumb a{color:var(--navy-600);font-weight:500}
.breadcrumb a:hover{text-decoration:underline;text-underline-offset:3px}
.breadcrumb span{opacity:.45}
.breadcrumb strong{color:var(--ink-2);font-weight:600}

.page-hero h1{color:var(--navy-900);max-width:18ch;text-wrap:balance}
.page-lede{
  max-width:60ch;margin:1.5rem 0 0;font-size:1.06rem;font-weight:300;color:var(--muted);
}

.zone-hero-head{display:flex;align-items:center;gap:1.1rem}
.zone-hero-icon{width:52px;height:52px;object-fit:contain;flex:none}

.page-facts{display:flex;flex-wrap:wrap;gap:2.4rem;margin-top:2.6rem}
.page-facts li{position:relative;padding-left:1rem}
.page-facts li::before{
  content:"";position:absolute;left:0;top:.35rem;bottom:.35rem;width:2px;border-radius:2px;
  background:linear-gradient(var(--gold-500),transparent);
}
.page-facts strong{
  display:block;font-family:var(--font-display);font-size:1.5rem;font-weight:500;
  color:var(--navy-900);line-height:1.1;letter-spacing:-.02em;
}
.page-facts span{font-size:.83rem;color:var(--muted)}

/* buton „fantomă" pentru fundaluri deschise (cel de bază e pentru fundal închis) */
.btn-ghost-dark{
  color:var(--navy-600);border-color:rgba(var(--navy-600-rgb,40,31,163),.26);background:rgba(255,255,255,.6);
}
.btn-ghost-dark:hover{background:#fff;border-color:var(--navy-500)}

.spec-more{margin:2.6rem 0 0;text-align:center}

/* ---------- antetul unei pagini de specialitate ---------- */
.spec-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.spec-hero-icon{
  display:grid;place-items:center;width:62px;height:62px;border-radius:20px;
  background:linear-gradient(150deg,var(--gold-100),#eef3ff);
  color:var(--navy-600);margin-bottom:1.6rem;
}
.spec-hero-icon svg{width:34px;height:34px}
.spec-hero .hero-actions{margin:2.4rem 0 0}


/* ---------- lista de servicii ---------- */
.spec-services{background:var(--paper)}
.service-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem}
.service{
  display:flex;gap:1.1rem;align-items:flex-start;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:1.6rem 1.5rem;box-shadow:var(--shadow-s);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
}
.service:hover{transform:translateY(-4px);box-shadow:var(--shadow-m);border-color:rgba(var(--navy-500-rgb,49,36,198),.28)}
.service-num{
  flex:none;font-family:var(--font-display);font-size:1.1rem;font-style:italic;
  width:38px;height:38px;display:grid;place-items:center;border-radius:50%;
  background:var(--gold-100);color:var(--gold-700);
}
.service h3{font-size:1.05rem;margin-bottom:.35rem}
.service p{margin:0;font-size:.9rem;color:var(--muted)}

/* ---------- pagina Servicii: tabelul clinicii ---------- */
.svc-group+.svc-group{margin-top:2.2rem}
.svc-group-title{display:flex;align-items:center;gap:.6rem;margin:0 0 .8rem;font-family:var(--font-display);font-size:1.3rem;color:var(--navy-900)}
.svc-group-count{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 .45rem;border-radius:99px;background:var(--gold-100);color:var(--gold-700);font-family:var(--font-body,inherit);font-size:.78rem;font-weight:700}
.svc-table-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-s)}
.svc-table{width:100%;border-collapse:collapse}
.svc-table thead th:first-child{border-top-left-radius:var(--radius)}
.svc-table thead th:last-child{border-top-right-radius:var(--radius)}
.svc-table thead th{padding:.9rem 1.2rem;text-align:left;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--gold-100)}
.svc-table tbody tr{border-top:1px solid var(--line);transition:background .2s}
.svc-table tbody tr:hover{background:rgba(var(--gold-500-rgb,192,149,3),.05)}
.svc-table td,.svc-table tbody th{padding:1rem 1.2rem;vertical-align:middle;text-align:left}
.svc-table tbody th{font-weight:inherit;width:48%}
.svc-name{display:block;font-weight:600;color:var(--navy-900)}
.svc-type{display:inline-block;margin-top:.2rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.svc-desc{display:block;margin-top:.3rem;font-size:.85rem;color:var(--muted);line-height:1.45}
.svc-price{white-space:nowrap;font-weight:700;color:var(--navy-600)}
.svc-who{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}
.svc-avatar{width:34px;height:34px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--gold-100);color:var(--navy-900);
  font-size:.72rem;font-weight:700;text-decoration:none;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--gold-500);transition:transform .2s}
.svc-avatar{position:relative;overflow:visible;flex:none;min-width:34px;aspect-ratio:1/1}
.svc-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.svc-avatar span{border-radius:50%}
.svc-avatar:hover{transform:translateY(-2px)}
.svc-avatar[data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);
  padding:.35rem .65rem;border-radius:8px;background:var(--navy-900);color:#fff;font-size:.78rem;font-weight:600;white-space:nowrap;
  pointer-events:none;opacity:0;transition:opacity .15s,transform .15s;z-index:5}
.svc-avatar[data-tip]::before{content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);border:5px solid transparent;
  border-top-color:var(--navy-900);border-bottom:0;pointer-events:none;opacity:0;transition:opacity .15s;z-index:5}
.svc-avatar[data-tip]:hover::after,.svc-avatar[data-tip]:focus-visible::after{opacity:1;transform:translate(-50%,0)}
.svc-avatar[data-tip]:hover::before,.svc-avatar[data-tip]:focus-visible::before{opacity:1}
.svc-avatar.is-staff{box-shadow:0 0 0 1px var(--line)}
.svc-avatar img{width:100%;height:100%;object-fit:cover}
.svc-label{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:99px;background:var(--gold-100);color:var(--navy-900);font-size:.8rem;font-weight:600}
.svc-label i{color:var(--gold-500)}
/* modelul 3: un singur tabel, tipurile ca benzi închise */
.svc-table-one .svc-band th{padding:.75rem 1.2rem;background:var(--navy-900);color:#fff;font-family:var(--font-display);font-size:1.05rem;font-weight:600;text-align:left;width:auto}
.svc-table-one .svc-band .svc-group-count{margin-left:.5rem;background:rgba(255,255,255,.16);color:#fff}
.svc-table-one tbody+tbody{border-top:0}
.svc-table-one tbody tr:not(.svc-band):nth-child(even){background:rgba(var(--gold-500-rgb,192,149,3),.05)}
.svc-table-one .svc-band{border-top:0}
.svc-table-one thead th:first-child{border-top-left-radius:var(--radius)}
.svc-table-one tbody:last-of-type tr:last-child>*:first-child{border-bottom-left-radius:var(--radius)}
.svc-table-one tbody:last-of-type tr:last-child>*:last-child{border-bottom-right-radius:var(--radius)}
@media (max-width:700px){.svc-table-one .svc-band th{display:block;padding:.7rem 1rem}}

/* modelul 2: cartonașe pe tip */
.svc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
.svc-card{display:flex;flex-direction:column;gap:.7rem;padding:1.2rem 1.3rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-s);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s}
.svc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-m);border-color:var(--gold-500)}
.svc-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.svc-card .svc-name{margin:0;font-size:1rem}
.svc-card .svc-desc{margin:0}
.svc-card .svc-who{margin-top:auto;padding-top:.4rem}
@media (max-width:700px){
  .svc-table thead{display:none}
  .svc-table,.svc-table tbody,.svc-table tr,.svc-table td,.svc-table tbody th{display:block;width:auto}
  .svc-table tbody tr{padding:.9rem 1rem}
  .svc-table td,.svc-table tbody th{padding:.35rem 0}
  .svc-table td[data-label]::before{content:attr(data-label);display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem}
}

/* ---------- serviciile echipei unei specialități ---------- */
.tsv-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem}
.tsv{display:flex;flex-direction:column;gap:.7rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.5rem;box-shadow:var(--shadow-s)}
.tsv-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.tsv h3{font-size:1.05rem;margin:0}
.tsv-price{flex:none;font-weight:700;color:var(--navy-600);font-size:.9rem}
.tsv-desc{margin:0;font-size:.9rem;color:var(--muted)}
.tsv-people{list-style:none;margin:auto 0 0;padding:.4rem 0 0;display:flex;flex-wrap:wrap;gap:.45rem}
.tsv-people a{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:99px;background:var(--gold-100);color:var(--navy-900);font-size:.82rem;font-weight:600;text-decoration:none;transition:box-shadow .2s}
.tsv-people a:hover{box-shadow:var(--shadow-s)}
.tsv-people i{color:var(--gold-500)}

/* ---------- „când să programezi" ---------- */
.spec-reasons{
  background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950));
  color:var(--ice);overflow:hidden;
}
.spec-reasons h2{color:#fff}
.spec-reasons h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.reasons-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.reasons-urgent{
  margin:2rem 0 0;padding:1rem 1.2rem;border-radius:16px;font-size:.9rem;
  background:rgba(var(--gold-500-rgb,192,149,3),.10);border:1px dashed rgba(var(--gold-300-rgb,221,180,46),.4);
  color:rgba(233,231,255,.85);
}
.reasons-urgent strong{color:var(--gold-300)}
.reasons-list{display:grid;gap:.2rem}
.reasons-list li{
  display:flex;gap:.9rem;align-items:flex-start;padding:.95rem .4rem;
  border-bottom:1px dashed rgba(255,255,255,.13);font-size:.98rem;
  transition:padding-left .35s var(--ease);
}
.reasons-list li:last-child{border-bottom:0}
.reasons-list li:hover{padding-left:.9rem}
.reasons-list .tick{
  flex:none;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;
  background:rgba(var(--gold-500-rgb,192,149,3),.18);color:var(--gold-300);margin-top:.1rem;
}
.reasons-list .tick svg{width:13px;height:13px}

/* ---------- analize relevante ---------- */
.spec-labs{background:var(--paper-2)}
.labs-card{
  display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);
  padding:clamp(1.8rem,3.5vw,3rem);box-shadow:var(--shadow-m);
}
.labs-card .section-lede{font-size:.98rem}
.labs-chips{display:flex;flex-wrap:wrap;gap:.6rem;align-content:flex-start}
.labs-chips li{
  padding:.6rem 1rem;border-radius:999px;font-size:.88rem;font-weight:500;
  background:linear-gradient(150deg,var(--gold-100),#eef3ff);
  color:var(--navy-700);border:1px solid rgba(var(--navy-600-rgb,40,31,163),.10);
}

/* ---------- celelalte specialități ---------- */
.spec-others{background:var(--paper)}
.others-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}
.other-card{
  position:relative;display:flex;flex-direction:column;gap:.5rem;
  padding:1.7rem 1.5rem 3rem;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-s);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s;
}
.other-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-m);border-color:rgba(var(--navy-500-rgb,49,36,198),.3)}
.other-icon{
  display:grid;place-items:center;width:46px;height:46px;border-radius:15px;
  background:linear-gradient(150deg,var(--gold-100),#eef3ff);color:var(--navy-600);
  margin-bottom:.4rem;
}
.other-icon svg{width:26px;height:26px}
.other-card strong{font-family:var(--font-display);font-size:1.2rem;color:var(--navy-900);font-weight:500}
.other-sum{font-size:.88rem;color:var(--muted);line-height:1.55}
.other-go{
  position:absolute;left:1.5rem;bottom:1.4rem;color:var(--navy-600);font-size:1.1rem;
  transition:transform .35s var(--ease);
}
.other-card:hover .other-go{transform:translateX(6px)}

/* titlul cardului de specialitate devine link, dar arată la fel */
.spec-title-link{color:inherit}
.spec-card:hover .spec-title-link{color:#fff}

/* ---------- banner recoltare, pe pagina de listare ---------- */
.lab-teaser{background:linear-gradient(150deg,#0f0a45,var(--navy-900) 60%,var(--navy-950));color:var(--ice)}
.lab-teaser h2{color:#fff}
.lab-teaser h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.teaser{display:grid;grid-template-columns:1.5fr auto;gap:2.5rem;align-items:center}

@media (max-width:1080px){
  .spec-hero,.reasons-grid,.labs-card,.teaser{grid-template-columns:1fr;gap:2.5rem}
  .page-facts{gap:1.6rem}
}
@media (max-width:860px){
  .page-hero{padding-top:6.5rem}
  .page-facts li{flex:1 1 40%}
  .service{padding:1.3rem 1.2rem}
}

/* ==========================================================================
   ANIMAȚIILE DIN HERO-UL PAGINILOR DE SPECIALITATE
   --------------------------------------------------------------------------
   Fiecare pornește de la forma iconiței specialității. Mișcarea e numai din
   CSS, ca blocul `prefers-reduced-motion` de mai sus să o poată opri.

   Regulă respectată peste tot: starea de repaus (fără animație) e desenul
   COMPLET. Traseele au `stroke-dashoffset:0` implicit, iar keyframes-ul pleacă
   din ascuns — invers ar lăsa pagina goală pentru cine cere mișcare redusă.
   ========================================================================== */

.spec-visual{
  position:relative;border-radius:var(--radius-l);overflow:hidden;
  background:linear-gradient(160deg,#fff,#f7f6ff 60%,#f1f0fc);
  border:1px solid var(--line);box-shadow:var(--shadow-m);
}
.spec-visual .anim{display:block;width:100%;height:auto}

.anim{fill:none}
.anim text{font-family:var(--font-body);fill:var(--navy-600)}

/* ---------- cardiologie: monitor EKG ---------- */
.anim-grid path{stroke:rgba(var(--navy-500-rgb,49,36,198),.07);stroke-width:1}
.anim-heart{transform-box:fill-box;transform-origin:center;animation:beat 1.15s ease-in-out infinite}
.anim-heart-shape{
  stroke:var(--navy-500);stroke-width:2.4;stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
@keyframes beat{
  0%,100%{transform:scale(1)}
  12%{transform:scale(1.07)}
  24%{transform:scale(.99)}
  36%{transform:scale(1.04)}
  50%{transform:scale(1)}
}
.anim-ecg{
  stroke:var(--gold-500);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 0 5px rgba(var(--gold-500-rgb,192,149,3),.45));
  stroke-dasharray:100;stroke-dashoffset:0;
  animation:sweep 4.6s linear infinite;
}
@keyframes sweep{
  0%{stroke-dashoffset:100}
  55%{stroke-dashoffset:0}
  100%{stroke-dashoffset:-100}
}
.anim-readout text{font-size:26px;font-weight:700;fill:var(--navy-700)}
.anim-readout-unit{font-size:12px !important;font-weight:600 !important;fill:var(--muted) !important;letter-spacing:.1em}
.anim-readout{animation:readoutFade 1.15s ease-in-out infinite}
@keyframes readoutFade{0%,100%{opacity:1}45%{opacity:.55}}

/* ---------- neurologie: creier cu impulsuri ---------- */
.anim-brain-outline{
  stroke:var(--navy-500);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.anim-brain-inner{
  stroke:rgba(var(--navy-500-rgb,49,36,198),.32);stroke-width:2;stroke-linecap:round;
  vector-effect:non-scaling-stroke;
}
/* impulsul: o liniuță scurtă care parcurge traseul. Opacitatea de repaus e 0,
   deci fără animație rămâne doar structura, nu o liniuță înțepenită la mijloc. */
.anim-pulse{
  stroke:var(--gold-500);stroke-width:2.6;stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  stroke-dasharray:14 100;stroke-dashoffset:14;opacity:0;
  filter:drop-shadow(0 0 4px rgba(var(--gold-300-rgb,221,180,46),.8));
  animation:travel 2.8s linear infinite;
}
@keyframes travel{
  0%{stroke-dashoffset:14;opacity:0}
  10%{opacity:1}
  85%{opacity:1}
  100%{stroke-dashoffset:-100;opacity:0}
}
.anim-p1{animation-delay:0s}
.anim-p2{animation-delay:.55s}
.anim-p3{animation-delay:1.1s}
.anim-p4{animation-delay:1.65s}
.anim-p5{animation-delay:2.2s}

.anim-node{fill:var(--navy-500);stroke:none;opacity:.35;animation:blip 2.8s ease-in-out infinite}
.anim-n1{animation-delay:.45s}
.anim-n2{animation-delay:1s}
.anim-n3{animation-delay:1.55s}
.anim-n4{animation-delay:2.1s}
.anim-n5{animation-delay:.1s}
@keyframes blip{
  0%,70%,100%{opacity:.35;fill:var(--navy-500)}
  12%{opacity:1;fill:var(--gold-500)}
}

/* ---------- medicină internă: stetoscop + unde ---------- */
.anim-steth-line{
  stroke:var(--navy-500);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.anim-steth-bell{
  fill:rgba(var(--gold-500-rgb,192,149,3),.14);stroke:var(--navy-500);stroke-width:2.4;
  vector-effect:non-scaling-stroke;
  transform-box:fill-box;transform-origin:center;
  animation:beat 1.6s ease-in-out infinite;
}
.anim-ring{
  stroke:var(--gold-500);stroke-width:2;opacity:0;
  transform-box:fill-box;transform-origin:center;
  animation:sonar 3s ease-out infinite;
}
.anim-r2{animation-delay:1s}
.anim-r3{animation-delay:2s}
@keyframes sonar{
  0%{transform:scale(.35);opacity:0}
  15%{opacity:.75}
  100%{transform:scale(2.6);opacity:0}
}
.anim-vitals{
  stroke:rgba(var(--navy-500-rgb,49,36,198),.35);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:100;stroke-dashoffset:0;
  animation:sweep 5.4s linear infinite;
}

/* ---------- endocrinologie: tiroidă + hormoni ---------- */
.anim-glow{animation:glow 3.4s ease-in-out infinite}
@keyframes glow{0%,100%{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}
.anim-glow{transform-box:fill-box;transform-origin:center}

.anim-thyroid-shape{
  stroke:var(--navy-500);stroke-width:2.4;stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.anim-thyroid-stem{
  stroke:rgba(var(--navy-500-rgb,49,36,198),.45);stroke-width:2.2;stroke-linecap:round;
  vector-effect:non-scaling-stroke;
}
.anim-thyroid-core{
  fill:rgba(var(--gold-500-rgb,192,149,3),.2);stroke:var(--gold-600);stroke-width:2.2;
  vector-effect:non-scaling-stroke;
  transform-box:fill-box;transform-origin:center;
  animation:beat 2.2s ease-in-out infinite;
}
.anim-mol{
  fill:var(--gold-500);opacity:.5;
  transform-box:fill-box;transform-origin:center;
  animation:rise 5s ease-in-out infinite;
}
.anim-m1{animation-delay:0s}
.anim-m2{animation-delay:1s}
.anim-m3{animation-delay:2s}
.anim-m4{animation-delay:3s}
.anim-m5{animation-delay:4s}
@keyframes rise{
  0%{transform:translateY(14px) scale(.6);opacity:0}
  25%{opacity:.75}
  70%{opacity:.5}
  100%{transform:translateY(-26px) scale(1.1);opacity:0}
}

/* ---------- banda de detalii, sub hero ---------- */
.spec-facts{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:3rem;
  background:var(--line);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;
}
.spec-facts li{background:#fff;padding:1.15rem 1.3rem}
.spec-facts span{display:block;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.spec-facts strong{display:block;margin-top:.3rem;font-size:.95rem;color:var(--navy-900);font-weight:600}

@media (max-width:1080px){
  .spec-facts{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .spec-facts{grid-template-columns:1fr}
}

/* ==========================================================================
   PAGINI LIBERE (Despre noi, GDPR, Termeni...) — text administrat din admin
   ========================================================================== */
.prose{max-width:74ch;font-size:1.02rem;line-height:1.75;color:var(--ink-2)}
.prose h2{margin:2.4rem 0 .8rem;font-size:1.5rem;color:var(--navy-900)}
.prose h3{margin:1.8rem 0 .6rem;font-size:1.2rem;color:var(--navy-900)}
.prose p,.prose ul,.prose ol{margin:0 0 1.1rem}
.prose ul,.prose ol{padding-left:1.4rem}
.prose li{margin-bottom:.4rem}
.prose a{color:var(--navy-600);text-decoration:underline;text-underline-offset:3px}

/* The hidden attribute must win over component display rules. */
[hidden]{display:none !important}

/* ==========================================================================
   DESIGN PER SECȚIUNE — teme și culori alese din panou
   --------------------------------------------------------------------------
   O secțiune cu `data-sec-theme` primește variabilele --sec-bg, --sec-text,
   --sec-accent, --sec-button, --sec-button-text (puse inline de server).
   Se schimbă doar fundalul și textele de nivel secțiune (titluri, paragrafe,
   butoane); cardurile din interior își păstrează culorile. Straturile
   decorative ale secțiunii (orbe, celule, grăunte) se ascund, ca să nu
   intre în conflict cu fundalul ales.
   ========================================================================== */
[data-sec-theme]{
  background:var(--sec-bg) !important;
  color:var(--sec-text);
}
[data-sec-theme] .hero-bg,[data-sec-theme] .lab-bg,[data-sec-theme] .booking-bg,
[data-sec-theme] .page-hero-bg,[data-sec-theme] .hero-grain{display:none !important}
[data-sec-theme] h1,[data-sec-theme] h2,
[data-sec-theme] .om-text-body,[data-sec-theme] .om-text-body h2,[data-sec-theme] .om-text-body h3,
[data-sec-theme] .om-text-body a{color:var(--sec-text) !important}
[data-sec-theme] h1 em,[data-sec-theme] h2 em{color:var(--sec-accent) !important}
[data-sec-theme] .lede,[data-sec-theme] .page-lede,[data-sec-theme] .section-lede,
[data-sec-theme] .section-lede strong,[data-sec-theme] .breadcrumb,[data-sec-theme] .breadcrumb a,
[data-sec-theme] .breadcrumb strong{
  color:color-mix(in srgb,var(--sec-text) 78%,transparent) !important;
}
[data-sec-theme] .eyebrow{color:var(--sec-accent) !important}
[data-sec-theme] .eyebrow .dot{background:var(--sec-accent) !important}
[data-sec-theme] .btn-primary,[data-sec-theme] .btn-light{
  background:var(--sec-button) !important;color:var(--sec-button-text) !important;
  border-color:var(--sec-button) !important;
}
[data-sec-theme] .btn-ghost,[data-sec-theme] .btn-ghost-dark{
  background:transparent !important;color:var(--sec-text) !important;
  border-color:color-mix(in srgb,var(--sec-text) 40%,transparent) !important;
}
[data-sec-theme] .spec-link,[data-sec-theme] .other-go{color:var(--sec-accent) !important}

/* ==========================================================================
   HERO CENTRAT (Hero 5) — deschidere de pagină pe fundal bleumarin, text centrat
   ========================================================================== */
.hero-c{
  position:relative;isolation:isolate;overflow:hidden;text-align:center;color:#fff;
  padding:clamp(8rem,14vw,12.5rem) 0 clamp(4.5rem,8vw,7.5rem);
  background:
    radial-gradient(80% 60% at 50% -10%,rgba(var(--navy-500-rgb,49,36,198),.65) 0%,transparent 62%),
    radial-gradient(50% 40% at 85% 100%,rgba(var(--gold-500-rgb,192,149,3),.22) 0%,transparent 70%),
    linear-gradient(180deg,var(--navy-900) 0%,var(--navy-950) 100%);
}
.hero-c-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;color:rgba(var(--gold-300-rgb,221,180,46),.16)}
.hero-c-glow{position:absolute;border-radius:50%;filter:blur(70px)}
.hero-c-glow-a{width:38vw;height:38vw;left:-8vw;top:8%;background:rgba(var(--navy-400-rgb,106,92,232),.28)}
.hero-c-glow-b{width:26vw;height:26vw;right:-4vw;bottom:-6%;background:rgba(var(--gold-300-rgb,221,180,46),.16)}
.hero-c-lines{position:absolute;left:0;bottom:0;width:100%;height:46%}
.hero-c-eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;margin:0;padding:.42rem 1rem;border-radius:99px;
  border:1px solid rgba(var(--gold-300-rgb,221,180,46),.35);background:rgba(var(--gold-300-rgb,221,180,46),.08);
  font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-300);
}
.hero-c-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--gold-300)}
.hero-c h1{
  max-width:17ch;margin:1.6rem auto 0;color:#fff;text-wrap:balance;
  font-size:clamp(2.7rem,7vw,5.6rem);line-height:1.02;
}
.hero-c h1 em{
  display:block;font-weight:800;
  background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)) 60%,var(--grad-light,#f0dfae));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-c-lede{max-width:56ch;margin:1.8rem auto 0;font-size:1.14rem;font-weight:300;color:rgba(230,228,255,.8)}
.hero-c-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem;margin-top:2.6rem}
.hero-c-stats{
  list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;
  margin:clamp(3rem,6vw,4.6rem) auto 0;padding:0;max-width:900px;
}
.hero-c-stats li{
  flex:1 1 200px;padding:1.05rem 1.4rem;border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.hero-c-stats strong{display:block;font-family:var(--font-display);font-size:1.45rem;font-weight:500;color:#fff}
.hero-c-stats span{display:block;margin-top:.15rem;font-size:.84rem;color:rgba(230,228,255,.72)}
@media (max-width:640px){.hero-c-stats li{flex-basis:100%}}

/* Hero 5 sub o temă aleasă din panou */
[data-sec-theme] .hero-c-bg{display:none !important}
[data-sec-theme] .hero-c-eyebrow{color:var(--sec-accent) !important;border-color:color-mix(in srgb,var(--sec-accent) 40%,transparent) !important;background:transparent !important}
[data-sec-theme] .hero-c-eyebrow .dot{background:var(--sec-accent) !important}
[data-sec-theme] .hero-c-lede,[data-sec-theme] .hero-c-stats span{color:color-mix(in srgb,var(--sec-text) 78%,transparent) !important}
[data-sec-theme] .hero-c-stats strong{color:var(--sec-text) !important}
[data-sec-theme] .hero-c-stats li{border-color:color-mix(in srgb,var(--sec-text) 20%,transparent) !important;background:color-mix(in srgb,var(--sec-text) 6%,transparent) !important}
[data-sec-theme] .hero-c h1 em{background:none !important;-webkit-text-fill-color:currentColor}

/* ==========================================================================
   MODELE DE DESIGN (data-variant="1|2|3") — aceeași paletă, alt mod de a arăta
   --------------------------------------------------------------------------
   Modelul 1 e designul de bază de mai sus. Modelele 2 și 3 sunt suprascrieri
   pe care secțiunea le primește prin atributul data-variant. Denumirile
   modelelor sunt în sections.py (VARIANTS).
   ========================================================================== */

/* ---------- fundaluri închise / deschise reutilizabile ---------- */
.v-dark-bg{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950)) !important}

/* ---------- Hero 1: model 2 = închis (template), model 3 = centrat ---------- */
.hero[data-variant="3"]{min-height:auto;padding:10rem 0 6rem;text-align:center}
.hero[data-variant="3"] .hero-inner{grid-template-columns:1fr}
.hero[data-variant="3"] .hero-card-stack,.hero[data-variant="3"] .scroll-hint{display:none}
.hero[data-variant="3"] .lede{margin-inline:auto}
.hero[data-variant="3"] .hero-actions,.hero[data-variant="3"] .hero-chips{justify-content:center}
.hero[data-variant="3"] h1{max-width:18ch;margin-inline:auto}

/* ---------- Hero-uri de pagină (Hero 2, 3, 4): model 2 = centrat, model 3 = închis ---------- */
.page-hero[data-variant="2"]{text-align:center}
.page-hero[data-variant="2"] .breadcrumb,.page-hero[data-variant="2"] .page-facts,
.page-hero[data-variant="2"] .hero-actions,.page-hero[data-variant="2"] .spec-facts{justify-content:center}
.page-hero[data-variant="2"] h1,.page-hero[data-variant="2"] .page-lede{margin-inline:auto}
.page-hero[data-variant="2"] .spec-hero{grid-template-columns:1fr;justify-items:center}
.page-hero[data-variant="2"] .spec-hero-icon{margin-inline:auto}

.page-hero[data-variant="3"]{
  color:#e9e7ff;
  background:
    radial-gradient(80% 60% at 85% 0%,rgba(var(--navy-500-rgb,49,36,198),.55) 0%,transparent 60%),
    radial-gradient(50% 50% at 0% 100%,rgba(var(--gold-500-rgb,192,149,3),.2) 0%,transparent 65%),
    linear-gradient(165deg,var(--navy-900) 0%,#0f0a45 55%,var(--navy-950) 100%);
}
.page-hero[data-variant="3"] .page-hero-bg{display:none}
.page-hero[data-variant="3"] h1,.page-hero[data-variant="3"] .breadcrumb strong,
.page-hero[data-variant="3"] .page-facts strong{color:#fff}
.page-hero[data-variant="3"] h1 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)) 60%,var(--grad-light,#f0dfae));-webkit-background-clip:text;background-clip:text;color:transparent}
.page-hero[data-variant="3"] .page-lede,.page-hero[data-variant="3"] .page-facts span,
.page-hero[data-variant="3"] .breadcrumb{color:rgba(233,231,255,.72)}
.page-hero[data-variant="3"] .breadcrumb a{color:var(--gold-300)}
.page-hero[data-variant="3"] .btn-ghost-dark{color:#fff;border-color:rgba(255,255,255,.3);background:transparent}

/* ---------- Hero 5: model 2 = împărțit, model 3 = deschis ---------- */
.hero-c[data-variant="2"]{text-align:left}
.hero-c[data-variant="2"] .hero-c-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:0 4rem;align-items:center}
.hero-c[data-variant="2"] .hero-c-inner > *{grid-column:1}
.hero-c[data-variant="2"] h1,.hero-c[data-variant="2"] .hero-c-lede{margin-inline:0}
.hero-c[data-variant="2"] .hero-c-actions{justify-content:flex-start}
.hero-c[data-variant="2"] .hero-c-eyebrow{justify-self:start}
.hero-c[data-variant="2"] .hero-c-stats{grid-column:2;grid-row:1 / span 5;flex-direction:column;margin:0;max-width:none}
.hero-c[data-variant="2"] .hero-c-stats li{text-align:left;flex:none}
@media (max-width:860px){.hero-c[data-variant="2"] .hero-c-inner{grid-template-columns:1fr}.hero-c[data-variant="2"] .hero-c-stats{grid-column:1;grid-row:auto;margin-top:2.4rem}}

.hero-c[data-variant="3"]{
  color:var(--navy-900);
  background:
    radial-gradient(100% 70% at 85% 0%,rgba(var(--navy-500-rgb,49,36,198),.10) 0%,transparent 58%),
    radial-gradient(70% 60% at 0% 100%,rgba(var(--gold-500-rgb,192,149,3),.14) 0%,transparent 62%),
    linear-gradient(170deg,#fff 0%,#fcfbff 55%,#f3f2fd 100%);
}
.hero-c[data-variant="3"] .hero-c-bg{color:rgba(var(--navy-500-rgb,49,36,198),.10)}
.hero-c[data-variant="3"] .hero-c-glow-a{background:rgba(var(--navy-500-rgb,49,36,198),.10)}
.hero-c[data-variant="3"] .hero-c-glow-b{background:rgba(var(--gold-500-rgb,192,149,3),.16)}
.hero-c[data-variant="3"] .hero-c-eyebrow{color:var(--gold-700);border-color:rgba(160,124,3,.4);background:rgba(var(--gold-500-rgb,192,149,3),.08)}
.hero-c[data-variant="3"] .hero-c-eyebrow .dot{background:var(--gold-500)}
.hero-c[data-variant="3"] h1{color:var(--navy-900)}
.hero-c[data-variant="3"] h1 em{background:linear-gradient(100deg,var(--grad-dark-a,var(--gold-600)),var(--grad-mid,#d3a91a) 45%,var(--grad-dark-b,var(--gold-700)));-webkit-background-clip:text;background-clip:text}
.hero-c[data-variant="3"] .hero-c-lede{color:#4d4a70}
.hero-c[data-variant="3"] .btn-light{background:var(--navy-500);color:#fff;box-shadow:0 16px 34px -18px rgba(var(--navy-500-rgb,49,36,198),.6)}
.hero-c[data-variant="3"] .btn-ghost{color:var(--navy-700);border-color:rgba(var(--navy-600-rgb,40,31,163),.3);background:transparent}
.hero-c[data-variant="3"] .hero-c-stats li{background:#fff;border-color:var(--line);box-shadow:var(--shadow-s)}
.hero-c[data-variant="3"] .hero-c-stats strong{color:var(--navy-900)}
.hero-c[data-variant="3"] .hero-c-stats span{color:var(--muted)}

/* ---------- Bandă derulantă: model 2 = deschis, model 3 = auriu ---------- */
.marquee[data-variant="2"]{background:var(--paper-2);color:var(--navy-700);border-block:1px solid var(--line)}
.marquee[data-variant="2"] i{color:var(--gold-500)}
.marquee[data-variant="3"]{background:linear-gradient(100deg,var(--gold-300),#f0dfae 50%,var(--gold-300));color:var(--navy-950);border-block:0}
.marquee[data-variant="3"] i{color:var(--navy-700)}
.marquee[data-variant="3"] span{opacity:1;font-style:normal;font-weight:700;letter-spacing:.02em}

/* ---------- Bandă „recoltare": model 2 = centrat, model 3 = auriu deschis ---------- */
.lab-teaser[data-variant="2"] .teaser{grid-template-columns:1fr;justify-items:center;text-align:center}
.lab-teaser[data-variant="2"] .section-lede{margin-inline:auto}
.lab-teaser[data-variant="3"]{background:linear-gradient(150deg,var(--gold-100),#fff8e4 60%,#f3ebd0);color:var(--ink-2)}
.lab-teaser[data-variant="3"] h2{color:var(--navy-900)}
.lab-teaser[data-variant="3"] h2 em{background:linear-gradient(100deg,var(--grad-dark-a,var(--gold-600)),var(--grad-dark-b,var(--gold-700)));-webkit-background-clip:text;background-clip:text;color:transparent}
.lab-teaser[data-variant="3"] .eyebrow.light{color:var(--gold-700)}
.lab-teaser[data-variant="3"] .section-lede.light{color:#4d4a70}
.lab-teaser[data-variant="3"] .btn-light{background:var(--navy-900);color:#fff}

/* ---------- Conținut liber: model 2 = titlu lateral, model 3 = card ---------- */
.om-text[data-variant="2"] .shell{display:grid;grid-template-columns:.7fr 1.3fr;gap:0 4rem;align-items:start}
.om-text[data-variant="2"] .section-head{position:sticky;top:6rem;margin-bottom:0}
.om-text[data-variant="2"] .om-text-body{max-width:none}
.om-text[data-variant="3"]{background:var(--paper-2)}
.om-text[data-variant="3"] .section-head{margin-inline:auto;text-align:center}
.om-text[data-variant="3"] .om-text-body{
  max-width:820px;margin-inline:auto;padding:clamp(1.6rem,4vw,3rem);
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-m);
}

/* ---------- Grile de specialități (Listă 1 și 2): model 2 = două coloane, model 3 = compact ---------- */
.specialties[data-variant="2"] .spec-grid{grid-template-columns:repeat(2,1fr);gap:1.6rem}
.specialties[data-variant="2"] .spec-card{padding:2.6rem 2.2rem 2.2rem}
.specialties[data-variant="3"] .spec-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}
.specialties[data-variant="3"] .spec-card{padding:1.5rem 1.3rem}
.specialties[data-variant="3"] .spec-list,.specialties[data-variant="3"] .spec-num{display:none}
@media (max-width:700px){.specialties[data-variant="2"] .spec-grid{grid-template-columns:1fr}}

/* ---------- Servicii: model 2 = listă cu linii, model 3 = carduri închise ---------- */
.spec-services[data-variant="2"] .service-list{grid-template-columns:1fr;gap:0;max-width:860px}
.spec-services[data-variant="2"] .service{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:1.5rem .4rem}
.spec-services[data-variant="2"] .service:hover{transform:none;box-shadow:none;background:rgba(var(--navy-500-rgb,49,36,198),.04)}
.spec-services[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.spec-services[data-variant="3"] h2{color:#fff}
.spec-services[data-variant="3"] h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.spec-services[data-variant="3"] .eyebrow{color:var(--gold-300)}
.spec-services[data-variant="3"] .service{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13);box-shadow:none}
.spec-services[data-variant="3"] .service h3{color:#fff}
.spec-services[data-variant="3"] .service p{color:rgba(233,231,255,.66)}
.spec-services[data-variant="3"] .service-num{background:rgba(var(--gold-500-rgb,192,149,3),.16);color:var(--gold-300)}

/* ---------- Motive: model 2 = deschis, model 3 = centrat ---------- */
.spec-reasons[data-variant="2"]{background:var(--paper-2);color:var(--ink-2)}
.spec-reasons[data-variant="2"] h2{color:var(--navy-900)}
.spec-reasons[data-variant="2"] h2 em{background:linear-gradient(100deg,var(--grad-dark-a,var(--gold-600)),var(--grad-mid,#d3a91a) 45%,var(--grad-dark-b,var(--gold-700)));-webkit-background-clip:text;background-clip:text}
.spec-reasons[data-variant="2"] .eyebrow.light{color:var(--gold-700)}
.spec-reasons[data-variant="2"] .section-lede.light,.spec-reasons[data-variant="2"] .reasons-urgent{color:#4d4a70}
.spec-reasons[data-variant="2"] .reasons-urgent{background:rgba(var(--gold-500-rgb,192,149,3),.10);border-color:rgba(160,124,3,.4)}
.spec-reasons[data-variant="2"] .reasons-list li{border-bottom-color:var(--line);color:var(--ink-2)}
.spec-reasons[data-variant="2"] .reasons-list .tick{background:var(--gold-100);color:var(--gold-700)}
.spec-reasons[data-variant="3"] .reasons-grid{grid-template-columns:1fr;text-align:center;gap:2.4rem;max-width:960px;margin-inline:auto}
.spec-reasons[data-variant="3"] .reasons-urgent{max-width:560px;margin-inline:auto}
.spec-reasons[data-variant="3"] .section-lede{margin-inline:auto}
.spec-reasons[data-variant="3"] .reasons-list{grid-template-columns:1fr 1fr;gap:.2rem 2rem;text-align:left}
@media (max-width:700px){.spec-reasons[data-variant="3"] .reasons-list{grid-template-columns:1fr}}

/* ---------- Analize: model 2 = fără card, model 3 = card închis ---------- */
.spec-labs[data-variant="2"] .labs-card{grid-template-columns:1fr;background:none;border:0;box-shadow:none;padding:0;text-align:center;justify-items:center}
.spec-labs[data-variant="2"] .labs-chips{justify-content:center}
.spec-labs[data-variant="3"] .labs-card{background:linear-gradient(150deg,#0f0a45,var(--navy-900) 60%,var(--navy-950));border-color:transparent}
.spec-labs[data-variant="3"] .eyebrow{color:var(--gold-300)}
.spec-labs[data-variant="3"] h2{color:#fff}
.spec-labs[data-variant="3"] h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.spec-labs[data-variant="3"] .section-lede{color:rgba(230,228,255,.76)}
.spec-labs[data-variant="3"] .labs-chips li{background:rgba(255,255,255,.06);color:var(--gold-100);border-color:rgba(var(--gold-300-rgb,221,180,46),.35)}

/* ---------- Celelalte specialități: model 2 = listă, model 3 = compact ---------- */
.spec-others[data-variant="2"] .others-grid{grid-template-columns:1fr;max-width:760px;gap:.8rem}
.spec-others[data-variant="2"] .other-card{flex-direction:row;align-items:center;gap:1.2rem;padding:1.1rem 1.4rem}
.spec-others[data-variant="2"] .other-icon{margin:0;flex:none}
.spec-others[data-variant="2"] .other-sum{display:none}
.spec-others[data-variant="2"] .other-go{position:static;margin-left:auto}
.spec-others[data-variant="3"] .others-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem}
.spec-others[data-variant="3"] .other-card{padding:1.2rem 1.1rem 2.4rem}
.spec-others[data-variant="3"] .other-sum{display:none}

/* ---------- Recoltare: model 2 = centrat, model 3 = deschis ---------- */
.lab[data-variant="2"] .lab-inner{grid-template-columns:1fr;text-align:center;gap:2.4rem}
.lab[data-variant="2"] .lab-panel{display:none}
.lab[data-variant="2"] .section-lede{margin-inline:auto;max-width:60ch}
.lab[data-variant="2"] .lab-steps{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.6rem;text-align:center}
.lab[data-variant="2"] .lab-step{flex-direction:column;align-items:center}
.lab[data-variant="3"]{background:var(--paper-2);color:var(--ink-2)}
.lab[data-variant="3"] .lab-bg{display:none}
.lab[data-variant="3"] h2{color:var(--navy-900)}
.lab[data-variant="3"] h2 em{background:linear-gradient(100deg,var(--grad-dark-a,var(--gold-600)),var(--grad-mid,#d3a91a) 45%,var(--grad-dark-b,var(--gold-700)));-webkit-background-clip:text;background-clip:text}
.lab[data-variant="3"] .eyebrow.light{color:var(--gold-700)}
.lab[data-variant="3"] .section-lede.light{color:#4d4a70}
.lab[data-variant="3"] .step-num{color:var(--gold-700);background:var(--gold-100);border-color:rgba(160,124,3,.35)}
.lab[data-variant="3"] .lab-step strong{color:var(--navy-900)}
.lab[data-variant="3"] .lab-step p{color:var(--muted)}
.lab[data-variant="3"] .btn-light{background:var(--navy-500);color:#fff}
.lab[data-variant="3"] .lab-panel{background:#fff;border-color:var(--line);box-shadow:var(--shadow-m)}
.lab[data-variant="3"] .lab-panel h3,.lab[data-variant="3"] .pack-list span{color:var(--navy-900)}
.lab[data-variant="3"] .pack-list li{border-bottom-color:var(--line)}
.lab[data-variant="3"] .pack-list em,.lab[data-variant="3"] .pack-note{color:var(--muted)}

/* ---------- Experiența: model 2 = cifre sus, model 3 = închis ---------- */
.experience[data-variant="2"] .exp-grid{grid-template-columns:1fr;gap:3rem}
.experience[data-variant="2"] .stats{grid-template-columns:repeat(4,1fr);order:-1}
.experience[data-variant="2"] .values{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.experience[data-variant="2"] .stats{grid-template-columns:1fr 1fr}.experience[data-variant="2"] .values{grid-template-columns:1fr}}
.experience[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950));color:#e9e7ff}
.experience[data-variant="3"] h2{color:#fff}
.experience[data-variant="3"] h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.experience[data-variant="3"] .eyebrow{color:var(--gold-300)}
.experience[data-variant="3"] .section-lede{color:rgba(230,228,255,.76)}
.experience[data-variant="3"] .value strong{color:#fff}
.experience[data-variant="3"] .value p{color:rgba(233,231,255,.66)}
.experience[data-variant="3"] .value-ico{background:rgba(255,255,255,.08);color:var(--gold-300);box-shadow:none}
.experience[data-variant="3"] .stat{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13);box-shadow:none}
.experience[data-variant="3"] .stat strong{color:#fff}
.experience[data-variant="3"] .stat span{color:rgba(233,231,255,.66)}

/* ---------- Program: model 2 = doar lista, model 3 = închis ---------- */
.schedule[data-variant="2"] .sched-grid{grid-template-columns:1fr;max-width:760px;margin-inline:auto}
.schedule[data-variant="2"] .sched-dial{display:none}
.schedule[data-variant="3"]{background:linear-gradient(150deg,var(--navy-900),var(--navy-800) 60%,var(--navy-950));color:#e9e7ff}
.schedule[data-variant="3"] h2{color:#fff}
.schedule[data-variant="3"] h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.schedule[data-variant="3"] .eyebrow{color:var(--gold-300)}
.schedule[data-variant="3"] .section-lede{color:rgba(230,228,255,.76)}
.schedule[data-variant="3"] .dial-track{stroke:rgba(255,255,255,.14)}
.schedule[data-variant="3"] .dial-open{stroke:var(--gold-300)}
.schedule[data-variant="3"] .dial{color:#fff}
.schedule[data-variant="3"] #dialTicks line{stroke:rgba(255,255,255,.3)}
.schedule[data-variant="3"] .dial-center strong,.schedule[data-variant="3"] .hours-list span{color:#fff}
.schedule[data-variant="3"] .dial-center strong i,.schedule[data-variant="3"] .hours-list em{color:var(--gold-300)}
.schedule[data-variant="3"] .dial-label,.schedule[data-variant="3"] .dial-days,.schedule[data-variant="3"] .dial-status{color:rgba(233,231,255,.7)}
.schedule[data-variant="3"] .hours-list,.schedule[data-variant="3"] .hours-list li{border-color:rgba(255,255,255,.13)}

/* ---------- Contact: model 2 = hartă lată, model 3 = oglindit ---------- */
.contact[data-variant="2"] .contact-grid{grid-template-columns:1fr}
.contact[data-variant="2"] .contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.contact[data-variant="2"] .map-card{min-height:340px}
@media (max-width:980px){.contact[data-variant="2"] .contact-cards{grid-template-columns:1fr}}
.contact[data-variant="3"] .contact-grid{grid-template-columns:.65fr 1.35fr}
.contact[data-variant="3"] .map-card{order:2}
@media (max-width:860px){.contact[data-variant="3"] .contact-grid{grid-template-columns:1fr}.contact[data-variant="3"] .map-card{order:0}}

/* ---------- Programare: model 2 = centrat, model 3 = deschis ---------- */
.booking[data-variant="2"] .booking-inner{grid-template-columns:1fr;max-width:760px;margin-inline:auto;text-align:center;gap:2.6rem}
.booking[data-variant="2"] .section-lede{margin-inline:auto}
.booking[data-variant="2"] .booking-form{text-align:left}
.booking[data-variant="3"]{background:var(--paper-2);color:var(--ink-2)}
.booking[data-variant="3"] .booking-bg{display:none}
.booking[data-variant="3"] h2{color:var(--navy-900)}
.booking[data-variant="3"] h2 em{background:linear-gradient(100deg,var(--grad-dark-a,var(--gold-600)),var(--grad-mid,#d3a91a) 45%,var(--grad-dark-b,var(--gold-700)));-webkit-background-clip:text;background-clip:text}
.booking[data-variant="3"] .eyebrow.light{color:var(--gold-700)}
.booking[data-variant="3"] .section-lede.light{color:#4d4a70}
.booking[data-variant="3"] .booking-phone{border-color:rgba(160,124,3,.45);color:var(--navy-900)}
.booking[data-variant="3"] .booking-phone span{color:var(--muted)}
.booking[data-variant="3"] .booking-phone strong{color:var(--navy-700)}

/* Programare, model 3 (deschis): și formularul devine deschis */
.booking[data-variant="3"] .booking-form{background:#fff;border-color:var(--line);box-shadow:var(--shadow-m);backdrop-filter:none;-webkit-backdrop-filter:none}
.booking[data-variant="3"] .field label{color:var(--navy-700)}
.booking[data-variant="3"] .field label i{color:var(--muted)}
.booking[data-variant="3"] .field input,.booking[data-variant="3"] .field select,.booking[data-variant="3"] .field textarea{
  background:#fff;border-color:#d5d3ec;color:var(--navy-900);
}
.booking[data-variant="3"] .field input::placeholder,.booking[data-variant="3"] .field textarea::placeholder{color:#9a98b8}
.booking[data-variant="3"] .field select option{background:#fff;color:var(--navy-900)}
.booking[data-variant="3"] .consent,.booking[data-variant="3"] .form-note{color:var(--muted)}
.booking[data-variant="3"] .form-note strong{color:var(--navy-900)}

/* ==========================================================================
   TEXT + IMAGINE (Text 2) — text într-o parte, poză în cealaltă
   ========================================================================== */
.ti-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}
.ti-copy .eyebrow{margin-bottom:1rem}
.ti-body{max-width:none;margin-top:1.4rem;font-weight:300;color:var(--ink-2)}
.ti-body p{margin:0 0 1rem}
.ti-body ul{list-style:none;padding:0;margin:1.2rem 0}
.ti-body li{position:relative;padding-left:1.6rem;margin-bottom:.55rem}
.ti-body li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--gold-500);box-shadow:0 0 0 4px rgba(var(--gold-500-rgb,192,149,3),.16)}
.ti-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.8rem}
.ti-media{position:relative;margin:0}
.ti-media::before{
  content:"";position:absolute;inset:18px -18px -18px 18px;border-radius:var(--radius-l);z-index:0;
  background:linear-gradient(150deg,rgba(var(--gold-500-rgb,192,149,3),.35),rgba(var(--navy-500-rgb,49,36,198),.18));
}
.ti-media img,.ti-placeholder{
  position:relative;z-index:1;display:block;width:100%;aspect-ratio:4/3;object-fit:cover;
  border-radius:var(--radius-l);box-shadow:var(--shadow-l);
}
.ti-placeholder{
  display:grid;place-content:center;justify-items:center;gap:.7rem;
  background:linear-gradient(150deg,var(--gold-100),#eef3ff 60%,#e6e4ff);color:var(--navy-500);
}
.ti-placeholder svg{width:64px;height:64px;opacity:.7}
.ti-placeholder span{font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--navy-700)}
@media (max-width:860px){.ti-inner{grid-template-columns:1fr}.ti-media{order:-1}.ti-media::before{inset:12px -8px -12px 8px}}

/* model 2: imagine la stânga, în arcadă */
.ti[data-variant="2"]{background:var(--paper-2)}
.ti[data-variant="2"] .ti-inner{grid-template-columns:.95fr 1.05fr}
.ti[data-variant="2"] .ti-media{order:-1}
.ti[data-variant="2"] .ti-media::before{inset:-14px 14px 14px -14px;border-radius:999px 999px var(--radius-l) var(--radius-l)}
.ti[data-variant="2"] .ti-media img,.ti[data-variant="2"] .ti-placeholder{aspect-ratio:4/5;border-radius:999px 999px var(--radius-l) var(--radius-l)}
@media (max-width:860px){.ti[data-variant="2"] .ti-inner{grid-template-columns:1fr}}

/* model 3: închis, imagine rotundă */
.ti[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950));color:#e9e7ff;overflow:hidden}
.ti[data-variant="3"] h2{color:#fff}
.ti[data-variant="3"] h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.ti[data-variant="3"] .eyebrow{color:var(--gold-300)}
.ti[data-variant="3"] .ti-body{color:rgba(230,228,255,.8)}
.ti[data-variant="3"] .ti-body li::before{background:var(--gold-300);box-shadow:0 0 0 4px rgba(var(--gold-300-rgb,221,180,46),.18)}
.ti[data-variant="3"] .btn-primary{background:var(--gold-300);color:var(--navy-950)}
.ti[data-variant="3"] .btn-ghost-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.ti[data-variant="3"] .ti-media{max-width:460px;margin-inline:auto;width:100%}
.ti[data-variant="3"] .ti-media::before{inset:-16px;border-radius:50%;background:none;border:1px dashed rgba(var(--gold-300-rgb,221,180,46),.45)}
.ti[data-variant="3"] .ti-media img,.ti[data-variant="3"] .ti-placeholder{aspect-ratio:1;border-radius:50%;box-shadow:0 30px 80px -30px rgba(0,0,0,.6);border:6px solid rgba(255,255,255,.08)}
.ti[data-variant="3"] .ti-placeholder{background:linear-gradient(150deg,rgba(var(--navy-500-rgb,49,36,198),.55),rgba(var(--navy-900-rgb,12,9,56),.9));color:var(--gold-300)}
.ti[data-variant="3"] .ti-placeholder span{color:var(--gold-100)}

/* teme alese din panou */
[data-sec-theme] .ti-body,[data-sec-theme] .ti-body p,[data-sec-theme] .ti-body li{color:color-mix(in srgb,var(--sec-text) 85%,transparent) !important}
[data-sec-theme] .ti-body li::before{background:var(--sec-accent) !important}
[data-sec-theme] .ti-placeholder{background:color-mix(in srgb,var(--sec-text) 8%,transparent) !important;color:var(--sec-accent) !important}
[data-sec-theme] .ti-placeholder span{color:var(--sec-text) !important}

/* ==========================================================================
   MODELE 4 și 5 — încă două designuri pentru fiecare tip
   ========================================================================== */

/* fundal „albastru intens", folosit de mai multe tipuri */
.marquee[data-variant="5"],.lab-teaser[data-variant="5"],.spec-reasons[data-variant="5"],
.booking[data-variant="5"],.hero-c[data-variant="5"]{
  background:linear-gradient(150deg,var(--navy-500) 0%,var(--navy-600) 55%,var(--navy-700) 100%);color:#fff;
}

/* ---------- Hero 1: model 4 = închis + centrat (șablon), model 5 = card în stânga ---------- */
.hero[data-variant="4"]{min-height:auto;padding:10rem 0 6rem;text-align:center}
.hero[data-variant="4"] .hero-inner{grid-template-columns:1fr}
.hero[data-variant="4"] .hero-card-stack,.hero[data-variant="4"] .scroll-hint{display:none}
.hero[data-variant="4"] .lede{margin-inline:auto}
.hero[data-variant="4"] .hero-actions,.hero[data-variant="4"] .hero-chips{justify-content:center}
.hero[data-variant="4"] h1{max-width:18ch;margin-inline:auto}
.hero[data-variant="5"] .hero-inner{grid-template-columns:.85fr 1.15fr}
.hero[data-variant="5"] .hero-card-stack{order:-1}
@media (max-width:860px){.hero[data-variant="5"] .hero-inner{grid-template-columns:1fr}.hero[data-variant="5"] .hero-card-stack{order:0}}

/* ---------- Hero-uri de pagină: model 4 = centrat închis, model 5 = bandă subțire ---------- */
.page-hero[data-variant="4"]{
  text-align:center;color:#e9e7ff;
  background:
    radial-gradient(80% 60% at 50% 0%,rgba(var(--navy-500-rgb,49,36,198),.6) 0%,transparent 60%),
    radial-gradient(50% 50% at 100% 100%,rgba(var(--gold-500-rgb,192,149,3),.22) 0%,transparent 65%),
    linear-gradient(165deg,var(--navy-900) 0%,#0f0a45 55%,var(--navy-950) 100%);
}
.page-hero[data-variant="4"] .page-hero-bg{display:none}
.page-hero[data-variant="4"] h1,.page-hero[data-variant="4"] .breadcrumb strong,.page-hero[data-variant="4"] .page-facts strong{color:#fff}
.page-hero[data-variant="4"] h1 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)) 60%,var(--grad-light,#f0dfae));-webkit-background-clip:text;background-clip:text;color:transparent}
.page-hero[data-variant="4"] .page-lede,.page-hero[data-variant="4"] .page-facts span,.page-hero[data-variant="4"] .breadcrumb{color:rgba(233,231,255,.72)}
.page-hero[data-variant="4"] .breadcrumb a{color:var(--gold-300)}
.page-hero[data-variant="4"] .breadcrumb,.page-hero[data-variant="4"] .page-facts,.page-hero[data-variant="4"] .hero-actions,.page-hero[data-variant="4"] .spec-facts{justify-content:center}
.page-hero[data-variant="4"] h1,.page-hero[data-variant="4"] .page-lede{margin-inline:auto}
.page-hero[data-variant="4"] .spec-hero{grid-template-columns:1fr;justify-items:center}
.page-hero[data-variant="4"] .btn-ghost-dark{color:#fff;border-color:rgba(255,255,255,.3);background:transparent}
.page-hero[data-variant="5"]{padding:7.5rem 0 2.2rem;border-bottom:3px solid var(--gold-300)}
.page-hero[data-variant="5"] .breadcrumb{margin-bottom:.8rem}
.page-hero[data-variant="5"] h1{font-size:clamp(1.9rem,4vw,2.9rem);max-width:none}
.page-hero[data-variant="5"] .page-lede{margin-top:.8rem;font-size:.98rem}
.page-hero[data-variant="5"] .page-facts{margin-top:1.4rem;gap:1.6rem}
.page-hero[data-variant="5"] .spec-hero{grid-template-columns:1fr}
.page-hero[data-variant="5"] .spec-visual,.page-hero[data-variant="5"] .spec-hero-icon{display:none}
.page-hero[data-variant="5"] .spec-facts{margin-top:1.4rem}

/* ---------- Hero 5: model 4 = minimal, model 5 = albastru intens ---------- */
.hero-c[data-variant="4"] .hero-c-stats{gap:0;max-width:760px}
.hero-c[data-variant="4"] .hero-c-stats li{flex:1 1 0;background:none;border:0;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;border-left:1px solid rgba(var(--gold-300-rgb,221,180,46),.3)}
.hero-c[data-variant="4"] .hero-c-stats li:first-child{border-left:0}
.hero-c[data-variant="4"] .hero-c-lines,.hero-c[data-variant="4"] .hero-c-glow-b{display:none}
.hero-c[data-variant="4"] h1{max-width:20ch;font-size:clamp(2.4rem,6vw,4.6rem)}
.hero-c[data-variant="5"] .hero-c-bg{color:rgba(255,255,255,.14)}
.hero-c[data-variant="5"] .hero-c-glow-a{background:rgba(var(--gold-300-rgb,221,180,46),.22)}
.hero-c[data-variant="5"] .hero-c-glow-b{background:rgba(255,255,255,.14)}
.hero-c[data-variant="5"] .hero-c-stats li{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}

/* ---------- Bandă derulantă: model 4 = contur auriu, model 5 = albastru intens ---------- */
.marquee[data-variant="4"]{background:transparent;color:var(--gold-700);border-block:1px solid var(--gold-500);padding:1.2rem 0}
.marquee[data-variant="4"] span{font-style:normal;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.95rem;opacity:1;font-family:var(--font-brand)}
.marquee[data-variant="5"]{border-block:0;color:#fff}
.marquee[data-variant="5"] i{color:var(--gold-300)}

/* ---------- Bandă „recoltare": model 4 = card închis pe fundal deschis, model 5 = albastru intens ---------- */
.lab-teaser[data-variant="4"]{background:var(--paper-2)}
.lab-teaser[data-variant="4"] .teaser{
  padding:clamp(1.8rem,4vw,3rem);border-radius:var(--radius-l);
  background:linear-gradient(150deg,#0f0a45,var(--navy-900) 60%,var(--navy-950));box-shadow:var(--shadow-l);
}

/* ---------- Conținut liber: model 4 = centrat cu text mare, model 5 = două coloane ---------- */
.om-text[data-variant="4"] .section-head{margin-inline:auto;text-align:center}
.om-text[data-variant="4"] .om-text-body{max-width:760px;margin-inline:auto;text-align:center}
.om-text[data-variant="4"] .om-text-body > p:first-child{font-family:var(--font-display);font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.4;color:var(--navy-900)}
.om-text[data-variant="5"] .om-text-body{max-width:none;columns:2;column-gap:3.5rem}
.om-text[data-variant="5"] .om-text-body h2,.om-text[data-variant="5"] .om-text-body h3{column-span:all}
@media (max-width:760px){.om-text[data-variant="5"] .om-text-body{columns:1}}

/* ---------- Text + imagine: model 4 = imagine mare, model 5 = imagine sus ---------- */
.ti[data-variant="4"] .ti-inner{grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4rem)}
.ti[data-variant="4"] .ti-media::before{display:none}
.ti[data-variant="4"] .ti-media img,.ti[data-variant="4"] .ti-placeholder{aspect-ratio:4/5;border-radius:var(--radius-l) 0 0 var(--radius-l);box-shadow:none}
.ti[data-variant="4"] .ti-media{margin-right:calc(50% - 50vw + 0px)}
.ti[data-variant="5"] .ti-inner{grid-template-columns:1fr;gap:2.4rem;text-align:center}
.ti[data-variant="5"] .ti-media{order:-1}
.ti[data-variant="5"] .ti-media::before{display:none}
.ti[data-variant="5"] .ti-media img,.ti[data-variant="5"] .ti-placeholder{aspect-ratio:16/7}
.ti[data-variant="5"] .ti-body{max-width:720px;margin-inline:auto}
.ti[data-variant="5"] .ti-body ul{display:inline-block;text-align:left}
.ti[data-variant="5"] .ti-actions{justify-content:center}

/* ---------- Grile de specialități: model 4 = carduri închise, model 5 = rânduri late ---------- */
.specialties[data-variant="4"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.specialties[data-variant="4"] h2{color:#fff}
.specialties[data-variant="4"] h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.specialties[data-variant="4"] .eyebrow{color:var(--gold-300)}
.specialties[data-variant="4"] .section-lede{color:rgba(230,228,255,.76)}
.specialties[data-variant="4"] .spec-card{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13);box-shadow:none}
.specialties[data-variant="4"] .spec-card h3,.specialties[data-variant="4"] .spec-card .spec-title-link{color:#fff}
.specialties[data-variant="4"] .spec-card p{color:rgba(233,231,255,.7)}
.specialties[data-variant="4"] .spec-list li{color:rgba(233,231,255,.82)}
.specialties[data-variant="4"] .spec-list{border-color:rgba(255,255,255,.14)}
.specialties[data-variant="4"] .spec-link{color:var(--gold-300)}
.specialties[data-variant="4"] .spec-icon{background:rgba(var(--gold-500-rgb,192,149,3),.16);color:var(--gold-300)}
.specialties[data-variant="4"] .spec-num{color:rgba(var(--gold-300-rgb,221,180,46),.22)}
.specialties[data-variant="4"] .btn-ghost-dark{color:#fff;border-color:rgba(255,255,255,.3);background:transparent}
.specialties[data-variant="5"] .spec-grid{grid-template-columns:1fr;gap:.9rem}
.specialties[data-variant="5"] .spec-card{
  display:grid;grid-template-columns:56px 1.2fr 1.6fr auto;grid-template-areas:"icon title text link";
  gap:.2rem 1.6rem;align-items:center;padding:1.3rem 1.8rem;border-radius:var(--radius);
}
.specialties[data-variant="5"] .spec-icon{grid-area:icon}
.specialties[data-variant="5"] .spec-card h3{grid-area:title;margin:0}
.specialties[data-variant="5"] .spec-card p{grid-area:text;margin:0}
.specialties[data-variant="5"] .spec-link{grid-area:link}
.specialties[data-variant="5"] .spec-list,.specialties[data-variant="5"] .spec-num{display:none}
@media (max-width:860px){.specialties[data-variant="5"] .spec-card{grid-template-columns:56px 1fr;grid-template-areas:"icon title" "text text" "link link"}}

/* ---------- Servicii: model 4 = numere mari, model 5 = linie de timp ---------- */
.spec-services[data-variant="4"] .service-list{grid-template-columns:repeat(3,1fr);gap:1.4rem}
.spec-services[data-variant="4"] .service{flex-direction:column;gap:.6rem}
.spec-services[data-variant="4"] .service-num{width:auto;height:auto;background:none;border-radius:0;font-size:3rem;line-height:1;color:var(--gold-500);opacity:.75}
@media (max-width:860px){.spec-services[data-variant="4"] .service-list{grid-template-columns:1fr}}
.spec-services[data-variant="5"] .service-list{grid-template-columns:1fr;gap:0;max-width:820px;position:relative;padding-left:3.4rem}
.spec-services[data-variant="5"] .service-list::before{content:"";position:absolute;left:18px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--gold-500),var(--navy-500))}
.spec-services[data-variant="5"] .service{background:none;border:0;box-shadow:none;padding:.9rem 0 1.6rem;position:relative}
.spec-services[data-variant="5"] .service:hover{transform:none;box-shadow:none}
.spec-services[data-variant="5"] .service-num{position:absolute;left:-3.4rem;top:.8rem;background:#fff;border:2px solid var(--gold-500)}

/* ---------- Motive: model 4 = card alb, model 5 = albastru intens ---------- */
.spec-reasons[data-variant="4"]{background:var(--paper-2);color:var(--ink-2)}
.spec-reasons[data-variant="4"] .reasons-grid{grid-template-columns:.9fr 1.1fr;gap:3rem}
.spec-reasons[data-variant="4"] h2{color:var(--navy-900)}
.spec-reasons[data-variant="4"] h2 em{background:linear-gradient(100deg,var(--grad-dark-a,var(--gold-600)),var(--grad-mid,#d3a91a) 45%,var(--grad-dark-b,var(--gold-700)));-webkit-background-clip:text;background-clip:text}
.spec-reasons[data-variant="4"] .eyebrow.light{color:var(--gold-700)}
.spec-reasons[data-variant="4"] .section-lede.light,.spec-reasons[data-variant="4"] .reasons-urgent{color:#4d4a70}
.spec-reasons[data-variant="4"] .reasons-urgent{background:rgba(var(--gold-500-rgb,192,149,3),.10);border-color:rgba(160,124,3,.4)}
.spec-reasons[data-variant="4"] .reasons-list{background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);padding:1.2rem 1.6rem;box-shadow:var(--shadow-m)}
.spec-reasons[data-variant="4"] .reasons-list li{border-bottom-color:var(--line);color:var(--ink-2)}
.spec-reasons[data-variant="4"] .reasons-list .tick{background:var(--gold-100);color:var(--gold-700)}
.spec-reasons[data-variant="5"] .reasons-list li{border-bottom-color:rgba(255,255,255,.22)}

/* ---------- Analize: model 4 = bandă aurie, model 5 = fundal închis ---------- */
.spec-labs[data-variant="4"] .labs-card{background:linear-gradient(120deg,var(--gold-300),#f0dfae 55%,var(--gold-300));border:0;box-shadow:var(--shadow-m)}
.spec-labs[data-variant="4"] h2{color:var(--navy-950)}
.spec-labs[data-variant="4"] h2 em{background:none;color:var(--navy-700);-webkit-text-fill-color:currentColor}
.spec-labs[data-variant="4"] .eyebrow{color:var(--navy-700)}
.spec-labs[data-variant="4"] .section-lede{color:var(--navy-900)}
.spec-labs[data-variant="4"] .labs-chips li{background:rgba(255,255,255,.65);border-color:rgba(var(--navy-900-rgb,12,9,56),.18);color:var(--navy-900)}
.spec-labs[data-variant="5"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.spec-labs[data-variant="5"] .labs-card{background:none;border:0;box-shadow:none;padding:0}
.spec-labs[data-variant="5"] .eyebrow{color:var(--gold-300)}
.spec-labs[data-variant="5"] h2{color:#fff}
.spec-labs[data-variant="5"] h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.spec-labs[data-variant="5"] .section-lede{color:rgba(230,228,255,.76)}
.spec-labs[data-variant="5"] .labs-chips li{background:rgba(255,255,255,.06);color:var(--gold-100);border-color:rgba(var(--gold-300-rgb,221,180,46),.35)}

/* ---------- Celelalte specialități: model 4 = carduri închise, model 5 = icoane rotunde ---------- */
.spec-others[data-variant="4"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.spec-others[data-variant="4"] h2{color:#fff}
.spec-others[data-variant="4"] h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.spec-others[data-variant="4"] .eyebrow{color:var(--gold-300)}
.spec-others[data-variant="4"] .other-card{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13);box-shadow:none}
.spec-others[data-variant="4"] .other-card strong{color:#fff}
.spec-others[data-variant="4"] .other-sum{color:rgba(233,231,255,.66)}
.spec-others[data-variant="4"] .other-icon{background:rgba(var(--gold-500-rgb,192,149,3),.16);color:var(--gold-300)}
.spec-others[data-variant="4"] .other-go{color:var(--gold-300)}
.spec-others[data-variant="5"] .others-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.spec-others[data-variant="5"] .other-card{align-items:center;text-align:center;background:none;border:0;box-shadow:none;padding:1rem 1rem 2.4rem}
.spec-others[data-variant="5"] .other-card:hover{box-shadow:none;transform:translateY(-4px)}
.spec-others[data-variant="5"] .other-icon{width:78px;height:78px;border-radius:50%;margin-bottom:.8rem}
.spec-others[data-variant="5"] .other-icon svg{width:36px;height:36px}
.spec-others[data-variant="5"] .other-sum{font-size:.85rem}
.spec-others[data-variant="5"] .other-go{left:50%;right:auto;transform:translateX(-50%)}

/* ---------- Recoltare: model 4 = pași pe orizontală, model 5 = deschis centrat ---------- */
.lab[data-variant="4"] .lab-inner{grid-template-columns:1fr;gap:2.6rem}
.lab[data-variant="4"] .lab-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.4rem}
.lab[data-variant="4"] .lab-panel{max-width:none}
.lab[data-variant="4"] .pack-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 2rem}
.lab[data-variant="5"]{background:#fff;color:var(--ink-2)}
.lab[data-variant="5"] .lab-bg,.lab[data-variant="5"] .lab-panel{display:none}
.lab[data-variant="5"] .lab-inner{grid-template-columns:1fr;text-align:center;gap:2rem}
.lab[data-variant="5"] h2{color:var(--navy-900)}
.lab[data-variant="5"] h2 em{background:linear-gradient(100deg,var(--grad-dark-a,var(--gold-600)),var(--grad-mid,#d3a91a) 45%,var(--grad-dark-b,var(--gold-700)));-webkit-background-clip:text;background-clip:text}
.lab[data-variant="5"] .eyebrow.light{color:var(--gold-700)}
.lab[data-variant="5"] .section-lede.light{color:#4d4a70;margin-inline:auto}
.lab[data-variant="5"] .lab-steps{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.4rem}
.lab[data-variant="5"] .lab-step{flex-direction:column;align-items:center;padding:1.4rem;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-s)}
.lab[data-variant="5"] .step-num{color:var(--gold-700);background:var(--gold-100);border-color:rgba(160,124,3,.35)}
.lab[data-variant="5"] .lab-step strong{color:var(--navy-900)}
.lab[data-variant="5"] .lab-step p{color:var(--muted)}
.lab[data-variant="5"] .btn-light{background:var(--navy-500);color:#fff}

/* ---------- Experiența: model 4 = cifre în stânga, model 5 = auriu deschis ---------- */
.experience[data-variant="4"] .stats{order:-1}
.experience[data-variant="4"] .exp-grid{grid-template-columns:.9fr 1.1fr}
@media (max-width:860px){.experience[data-variant="4"] .exp-grid{grid-template-columns:1fr}}
.experience[data-variant="5"]{background:linear-gradient(150deg,var(--gold-100),#fff8e4 60%,#f3ebd0)}
.experience[data-variant="5"] .stat{border-color:rgba(160,124,3,.25)}

/* ---------- Program: model 4 = cadran mare centrat, model 5 = auriu deschis ---------- */
.schedule[data-variant="4"] .sched-grid{grid-template-columns:1fr;gap:2.4rem;text-align:center;justify-items:center}
.schedule[data-variant="4"] .dial-wrap{width:min(100%,380px)}
.schedule[data-variant="4"] .sched-copy{max-width:640px;width:100%}
.schedule[data-variant="4"] .hours-list li{text-align:left}
.schedule[data-variant="5"]{background:linear-gradient(150deg,var(--gold-100),#fff8e4 60%,#f3ebd0)}
.schedule[data-variant="5"] .hours-list,.schedule[data-variant="5"] .hours-list li{border-color:rgba(160,124,3,.25)}

/* ---------- Contact: model 4 = carduri deasupra, model 5 = închis ---------- */
.contact[data-variant="4"] .contact-grid{grid-template-columns:1fr}
.contact[data-variant="4"] .contact-cards{order:-1;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
@media (max-width:980px){.contact[data-variant="4"] .contact-cards{grid-template-columns:1fr}}
.contact[data-variant="5"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.contact[data-variant="5"] h2{color:#fff}
.contact[data-variant="5"] h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.contact[data-variant="5"] .eyebrow{color:var(--gold-300)}
.contact[data-variant="5"] .section-lede{color:rgba(230,228,255,.76)}
.contact[data-variant="5"] .ccard{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none}
.contact[data-variant="5"] .ccard small{color:rgba(233,231,255,.6)}
.contact[data-variant="5"] .ccard strong{color:#fff}
.contact[data-variant="5"] .ccard-ico{background:rgba(var(--gold-500-rgb,192,149,3),.16);color:var(--gold-300)}

/* ---------- Programare: model 4 = auriu deschis, model 5 = albastru intens ---------- */
.booking[data-variant="4"]{background:linear-gradient(150deg,var(--gold-100),#fff8e4 60%,#f3ebd0);color:var(--ink-2)}
.booking[data-variant="4"] .booking-bg{display:none}
.booking[data-variant="4"] h2{color:var(--navy-900)}
.booking[data-variant="4"] h2 em{background:linear-gradient(100deg,var(--grad-dark-a,var(--gold-600)),var(--grad-mid,#d3a91a) 45%,var(--grad-dark-b,var(--gold-700)));-webkit-background-clip:text;background-clip:text}
.booking[data-variant="4"] .eyebrow.light{color:var(--gold-700)}
.booking[data-variant="4"] .section-lede.light{color:#4d4a70}
.booking[data-variant="4"] .booking-phone{border-color:rgba(160,124,3,.5);color:var(--navy-900)}
.booking[data-variant="4"] .booking-phone span{color:var(--muted)}
.booking[data-variant="4"] .booking-phone strong{color:var(--navy-700)}
.booking[data-variant="4"] .booking-form{background:#fff;border-color:rgba(160,124,3,.25);box-shadow:var(--shadow-m);backdrop-filter:none;-webkit-backdrop-filter:none}
.booking[data-variant="4"] .field label{color:var(--navy-700)}
.booking[data-variant="4"] .field label i{color:var(--muted)}
.booking[data-variant="4"] .field input,.booking[data-variant="4"] .field select,.booking[data-variant="4"] .field textarea{background:#fff;border-color:#d5d3ec;color:var(--navy-900)}
.booking[data-variant="4"] .field input::placeholder,.booking[data-variant="4"] .field textarea::placeholder{color:#9a98b8}
.booking[data-variant="4"] .field select option{background:#fff;color:var(--navy-900)}
.booking[data-variant="4"] .consent,.booking[data-variant="4"] .form-note{color:var(--muted)}
.booking[data-variant="4"] .form-note strong{color:var(--navy-900)}
.booking[data-variant="5"] .booking-bg{opacity:.5}

/* ---------- Conținut liber: model 6 = lățime completă ---------- */
.om-text[data-variant="6"]{
  background:linear-gradient(180deg,#fff 0%,var(--paper-2) 100%);
  border-top:4px solid var(--gold-300);
}
.om-text[data-variant="6"] .shell{max-width:none;padding-inline:clamp(1.5rem,7vw,7rem)}
.om-text[data-variant="6"] .section-head{max-width:none;margin-bottom:2.4rem;padding-bottom:1.6rem;border-bottom:1px solid var(--line)}
.om-text[data-variant="6"] .section-head h2{font-size:clamp(2.4rem,5vw,4.2rem);max-width:none}
.om-text[data-variant="6"] .om-text-body{max-width:none;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.8}
.om-text[data-variant="6"] .om-text-body > p:first-child{font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.5;color:var(--navy-900);font-family:var(--font-display)}
.om-text[data-variant="6"] .om-text-body h2,.om-text[data-variant="6"] .om-text-body h3{margin-top:2.6rem}
.om-text[data-variant="6"] .om-text-body ul,.om-text[data-variant="6"] .om-text-body ol{columns:2;column-gap:4rem}
@media (max-width:760px){.om-text[data-variant="6"] .om-text-body ul,.om-text[data-variant="6"] .om-text-body ol{columns:1}}

/* ==========================================================================
   ARTICOLE (blog): lista, cardurile, antetul și conținutul unui articol
   ========================================================================== */
.art-filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.4rem}
.art-filters a{padding:.5rem 1rem;border-radius:99px;border:1px solid var(--line);background:#fff;font-size:.88rem;font-weight:500;color:var(--navy-700);transition:background .25s,color .25s,border-color .25s}
.art-filters a span{opacity:.5;margin-left:.25rem;font-size:.8rem}
.art-filters a:hover{border-color:var(--navy-500)}
.art-filters a.is-active{background:var(--navy-500);border-color:var(--navy-500);color:#fff}
.art-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.6rem}
.art-card{
  display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-l);box-shadow:var(--shadow-s);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s;
}
.art-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-m);border-color:rgba(var(--navy-500-rgb,49,36,198),.28)}
.art-card-media{display:block;flex:none;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(150deg,var(--gold-100),#eef3ff 60%,#e6e4ff)}
.art-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.art-card:hover .art-card-media img{transform:scale(1.05)}
.art-card-ph{display:grid;place-items:center;height:100%;color:var(--navy-500);opacity:.55}
.art-card-ph svg{width:56px;height:56px}
.art-card-body{display:flex;flex-direction:column;flex:1;gap:.55rem;padding:1.4rem 1.5rem 1.6rem}
.art-cat{align-self:flex-start;font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-700)}
.art-card h3{font-size:1.28rem;line-height:1.2}
.art-card h3 a{color:var(--navy-900)}
.art-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.art-card p{margin:0;font-size:.92rem;color:var(--muted)}
.art-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:auto;padding-top:.7rem;font-size:.8rem;color:var(--muted)}
.art-pager{display:flex;justify-content:center;align-items:center;gap:1.6rem;margin-top:3rem;font-size:.92rem;color:var(--muted)}
.art-pager a{font-weight:600;color:var(--navy-600)}
.art-empty{text-align:center;color:var(--muted);padding:3.5rem 0}

/* antetul unui articol */
.art-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.art-hero:not(:has(.art-hero-cover)) .art-hero-grid{grid-template-columns:1fr}
.art-hero h1{max-width:22ch;font-size:clamp(2.1rem,4.6vw,3.5rem)}
.art-hero .art-cat{margin-bottom:.9rem}
.art-hero .art-meta{margin-top:1.5rem;padding-top:0}
.art-hero-cover{margin:0}
.art-hero-cover img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-l);box-shadow:var(--shadow-l)}
@media (max-width:860px){.art-hero-grid{grid-template-columns:1fr}}

/* conținutul unui articol */
.art-body .shell{max-width:820px}
.art-prose{max-width:none;font-size:1.1rem;line-height:1.85;color:var(--ink-2)}
.art-prose h2{margin:2.6rem 0 1rem;font-size:1.7rem}
.art-prose h3{margin:2rem 0 .8rem;font-size:1.3rem}
.art-prose img{max-width:100%;height:auto;border-radius:var(--radius)}
.art-prose blockquote{margin:1.8rem 0;padding:.2rem 0 .2rem 1.4rem;border-left:3px solid var(--gold-500);font-family:var(--font-display);font-size:1.28rem;line-height:1.5;color:var(--navy-900)}
.art-prose table{width:100%;border-collapse:collapse;margin:1.6rem 0;font-size:.95rem}
.art-prose th,.art-prose td{padding:.6rem .8rem;border:1px solid var(--line);text-align:left}
.art-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:2.4rem 0 0;padding:0}
.art-tags li{padding:.3rem .85rem;border-radius:99px;background:var(--gold-100);color:var(--gold-700);font-size:.8rem;font-weight:600}
.art-disclaimer{margin:2rem 0 0;padding-top:1.2rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}

/* ---------- Lista de articole: model 2 = listă, model 3 = articol principal ---------- */
.art-list[data-variant="2"] .art-grid,.art-related[data-variant="2"] .art-grid{grid-template-columns:1fr;gap:1.1rem;max-width:900px}
.art-list[data-variant="2"] .art-card,.art-related[data-variant="2"] .art-card{flex-direction:row}
.art-list[data-variant="2"] .art-card-media,.art-related[data-variant="2"] .art-card-media{width:260px;aspect-ratio:auto;min-height:170px}
@media (max-width:700px){.art-list[data-variant="2"] .art-card,.art-related[data-variant="2"] .art-card{flex-direction:column}.art-list[data-variant="2"] .art-card-media,.art-related[data-variant="2"] .art-card-media{width:auto;aspect-ratio:16/10}}
.art-list[data-variant="3"] .art-grid > .art-card:first-child{grid-column:1 / -1;flex-direction:row}
.art-list[data-variant="3"] .art-grid > .art-card:first-child .art-card-media{width:56%;aspect-ratio:auto;min-height:320px}
.art-list[data-variant="3"] .art-grid > .art-card:first-child .art-card-body{justify-content:center;padding:2.4rem}
.art-list[data-variant="3"] .art-grid > .art-card:first-child h3{font-size:clamp(1.6rem,2.6vw,2.2rem)}
@media (max-width:860px){.art-list[data-variant="3"] .art-grid > .art-card:first-child{flex-direction:column}.art-list[data-variant="3"] .art-grid > .art-card:first-child .art-card-media{width:auto;min-height:0;aspect-ratio:16/10}}

/* ---------- Hero articol: model 2 = centrat, model 3 = închis ---------- */
.art-hero[data-variant="2"] .art-hero-grid{grid-template-columns:1fr;justify-items:center}
.art-hero[data-variant="2"] .art-hero-copy{display:flex;flex-direction:column;align-items:center}
.art-hero[data-variant="2"] .art-meta{justify-content:center}
.art-hero[data-variant="2"] .art-hero-cover{width:100%;margin-top:1.4rem}
.art-hero[data-variant="2"] .art-hero-cover img{aspect-ratio:21/9}
.art-hero[data-variant="3"] .art-cat{color:var(--gold-300)}
.art-hero[data-variant="3"] .art-meta{color:rgba(233,231,255,.7)}

/* ---------- Conținut articol: model 2 = lățime mărită, model 3 = card ---------- */
.art-body[data-variant="2"] .shell{max-width:1040px}
.art-body[data-variant="2"] .art-prose{font-size:1.18rem}
.art-body[data-variant="3"]{background:var(--paper-2)}
.art-body[data-variant="3"] .art-prose{background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);padding:clamp(1.6rem,4.5vw,3.4rem);box-shadow:var(--shadow-m)}

/* ---------- Articole similare: model 3 = închis ---------- */
.art-related[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.art-related[data-variant="3"] h2{color:#fff}
.art-related[data-variant="3"] h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.art-related[data-variant="3"] .eyebrow{color:var(--gold-300)}
.art-related[data-variant="3"] .art-card{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13);box-shadow:none}
.art-related[data-variant="3"] .art-card h3 a{color:#fff}
.art-related[data-variant="3"] .art-card p,.art-related[data-variant="3"] .art-meta{color:rgba(233,231,255,.68)}
.art-related[data-variant="3"] .art-cat{color:var(--gold-300)}

/* teme alese din panou */
[data-sec-theme] .art-prose,[data-sec-theme] .art-prose h2,[data-sec-theme] .art-prose h3,[data-sec-theme] .art-prose blockquote{color:var(--sec-text) !important}
[data-sec-theme] .art-hero .art-meta,[data-sec-theme] .art-disclaimer{color:color-mix(in srgb,var(--sec-text) 70%,transparent) !important}
[data-sec-theme] .art-cat{color:var(--sec-accent) !important}

/* ==========================================================================
   MEDICI: lista, cardurile și profilul unui medic
   ========================================================================== */
.dr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.6rem}
.dr-card{
  display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-l);box-shadow:var(--shadow-s);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s;
}
.dr-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-m);border-color:rgba(var(--navy-500-rgb,49,36,198),.28)}
.dr-photo{display:block;flex:none;aspect-ratio:4/4.4;overflow:hidden;background:linear-gradient(150deg,var(--gold-100),#eef3ff 60%,#e6e4ff)}
.dr-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .7s var(--ease)}
.dr-card:hover .dr-photo img{transform:scale(1.05)}
.dr-initials{display:grid;place-items:center;width:100%;height:100%;font-family:var(--font-display);font-size:3.2rem;color:var(--navy-500);letter-spacing:.04em}
.dr-card-body{display:flex;flex-direction:column;gap:.35rem;flex:1;padding:1.3rem 1.5rem 1.5rem}
.dr-card h3{font-size:1.25rem;line-height:1.2}
.dr-card h3 a{color:var(--navy-900)}
.dr-grade{margin:0;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-700)}
.dr-spec{margin:0;font-size:.88rem;font-weight:600;color:var(--navy-600)}
.dr-sum{margin:.3rem 0 0;font-size:.9rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dr-more{margin-top:auto;padding-top:.8rem;font-size:.86rem;font-weight:600;color:var(--navy-600)}

/* profilul unui medic */
.dr-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}
.dr-hero-copy{min-width:0}
.dr-hero h1{max-width:20ch;font-size:clamp(2.1rem,4.6vw,3.4rem)}
.dr-hero .art-cat{margin-bottom:.9rem}
.dr-hero .hero-actions{margin-top:1.8rem;margin-bottom:0}
.dr-chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:1.2rem 0 0;padding:0}
.dr-chips li{padding:.3rem .85rem;border-radius:99px;background:#fff;border:1px solid var(--line);font-size:.84rem;font-weight:600;color:var(--navy-600)}
.dr-chips a{color:inherit}
/* Modalitățile de plată (Cash, Card, CNAS...) — vezi doctors.effective_payment_methods */
.dr-payments{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0 0;padding:0}
.dr-payment{position:relative;display:flex;align-items:center;padding:.3rem .8rem;border-radius:99px;
  background:var(--paper-2);color:var(--navy-700);font-size:.84rem;font-weight:600;overflow:hidden}
.dr-payment span{white-space:nowrap}
.dr-payment img{display:block;height:1.3rem;width:auto;max-width:110px;object-fit:contain}
/* Modalitate neactivă la acest medic: rămâne vizibilă (se vede ce NU acceptă) — fundalul devine
   transparent și conținutul se estompează, dar linia roșie diagonală rămâne mereu pe deplin vizibilă
   (nu moștenește nicio transparență), de colț în colț, indiferent de forma chipului. */
.dr-payment.is-disabled{background:transparent;border:1px solid var(--line)}
.dr-payment.is-disabled span,.dr-payment.is-disabled img{opacity:.5}
.dr-payment.is-disabled::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to top right, transparent calc(50% - 1.5px), #d3312f calc(50% - 1.5px),
    #d3312f calc(50% + 1.5px), transparent calc(50% + 1.5px));
}
.dr-hero-photo{margin:0;justify-self:center;width:min(100%,380px);aspect-ratio:4/5;border-radius:var(--radius-l);overflow:hidden;box-shadow:var(--shadow-l);background:linear-gradient(150deg,var(--gold-100),#eef3ff 60%,#e6e4ff)}
.dr-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.dr-hero-photo .dr-initials{font-size:5rem}
@media (max-width:860px){.dr-hero-grid{grid-template-columns:minmax(0,1fr)}.dr-hero-photo{order:-1;width:min(100%,280px)}}
.dr-body-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:3.5rem;align-items:start}
.dr-bio{max-width:none;font-size:1.06rem;line-height:1.8;color:var(--ink-2)}
.dr-bio h2{margin:2rem 0 .8rem;font-size:1.5rem}
.dr-facts{display:grid;gap:1.4rem;padding:1.8rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-s)}
.dr-facts h3{margin:0 0 .35rem;font-size:.78rem;font-family:var(--font-body);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-700)}
.dr-facts p{margin:0;font-weight:600;color:var(--navy-900)}
.dr-facts ul{margin:0;padding:0;list-style:none;display:grid;gap:.4rem;font-size:.92rem;color:var(--ink-2)}
.dr-facts li{position:relative;padding-left:1.1rem}
.dr-facts li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--gold-500)}
@media (max-width:900px){.dr-body-grid{grid-template-columns:1fr}}

/* ---------- Lista de medici / medicii specialității: model 2 = listă, model 3 = portrete rotunde ---------- */
.dr-list[data-variant="2"] .dr-grid{grid-template-columns:1fr;max-width:900px;gap:1rem}
.dr-list[data-variant="2"] .dr-card{flex-direction:row;align-items:center}
.dr-list[data-variant="2"] .dr-photo{width:150px;aspect-ratio:1;border-radius:50%;margin:1rem 0 1rem 1.2rem;flex:none}
.dr-list[data-variant="3"] .dr-grid,.spec-doctors[data-variant="2"] .dr-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2rem 1.4rem}
.dr-list[data-variant="3"] .dr-card,.spec-doctors[data-variant="2"] .dr-card{background:none;border:0;box-shadow:none;align-items:center;text-align:center}
.dr-list[data-variant="3"] .dr-card:hover,.spec-doctors[data-variant="2"] .dr-card:hover{box-shadow:none}
.dr-list[data-variant="3"] .dr-photo,.spec-doctors[data-variant="2"] .dr-photo{width:170px;aspect-ratio:1;border-radius:50%;box-shadow:var(--shadow-m)}
.dr-list[data-variant="3"] .dr-sum,.spec-doctors[data-variant="2"] .dr-sum{display:none}
.spec-doctors[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.spec-doctors[data-variant="3"] h2{color:#fff}
.spec-doctors[data-variant="3"] h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.spec-doctors[data-variant="3"] .eyebrow{color:var(--gold-300)}
.spec-doctors[data-variant="3"] .dr-card{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13);box-shadow:none}
.spec-doctors[data-variant="3"] .dr-card h3 a{color:#fff}
.spec-doctors[data-variant="3"] .dr-spec,.spec-doctors[data-variant="3"] .dr-more{color:var(--gold-300)}
.spec-doctors[data-variant="3"] .dr-sum{color:rgba(233,231,255,.68)}
.spec-doctors[data-variant="3"] .dr-grade{color:var(--gold-300)}

/* ---------- Hero medic: model 2 = centrat, model 3 = închis ---------- */
.dr-hero[data-variant="2"] .dr-hero-grid{grid-template-columns:1fr;justify-items:center}
.dr-hero[data-variant="2"] .dr-hero-copy{display:flex;flex-direction:column;align-items:center}
.dr-hero[data-variant="2"] .dr-chips,.dr-hero[data-variant="2"] .hero-actions,.dr-hero[data-variant="2"] .dr-payments{justify-content:center}
.dr-hero[data-variant="2"] .dr-hero-photo{order:-1;width:220px;aspect-ratio:1;border-radius:50%}
.dr-hero[data-variant="3"] .art-cat{color:var(--gold-300)}
.dr-hero[data-variant="3"] .dr-chips li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:var(--gold-100)}
.dr-hero[data-variant="3"] .dr-payment{background:rgba(255,255,255,.08);color:var(--gold-100)}
.dr-hero[data-variant="3"] .dr-hero-photo{box-shadow:0 30px 80px -30px rgba(0,0,0,.6)}

/* ---------- Profil: model 2 = o coloană, model 3 = card ---------- */
.dr-body[data-variant="2"] .dr-body-grid{grid-template-columns:1fr;max-width:820px;margin-inline:auto}
.dr-body[data-variant="2"] .dr-facts{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.dr-body[data-variant="3"]{background:var(--paper-2)}
.dr-body[data-variant="3"] .dr-bio{background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);padding:clamp(1.6rem,4vw,2.8rem);box-shadow:var(--shadow-m)}

/* teme alese din panou */
[data-sec-theme] .dr-bio,[data-sec-theme] .dr-bio h2,[data-sec-theme] .dr-bio h3{color:var(--sec-text) !important}


/* MDI icon font: same sizes the inline SVG icons had. */
.mdi{line-height:1;flex:none}
.header-phone .mdi{font-size:18px}
.btn .mdi{font-size:19px;transition:transform .3s var(--ease)}
.btn:hover .mdi{transform:translateX(4px)}
.value-ico .mdi{font-size:24px}
.ccard-ico .mdi{font-size:22px}
.map-pin .mdi{font-size:22px}
.form-success .tick .mdi{font-size:20px}
.to-top .mdi{font-size:20px}
.reasons-list .tick .mdi{font-size:13px}
.ti-placeholder .mdi{font-size:64px;opacity:.7}
.art-card-ph .mdi{font-size:56px}
.hcard-icon .mdi{font-size:22px}
.dr-more .mdi,.spec-link .mdi,.art-pager .mdi{vertical-align:-.12em}

/* Honeypot of the booking form: out of sight, but present for bots. */
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.booking-off{padding:1.6rem}
/* Social icons in the footer */
.footer-social{display:flex;gap:.6rem;list-style:none;margin:1rem 0 0;padding:0}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.25);color:#fff;font-size:20px;transition:background .2s,color .2s}
.footer-social a:hover{background:var(--gold-500);color:var(--navy-900,var(--navy-900));border-color:var(--gold-500)}
/* Cookie banner */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:720px;margin:0 auto;display:flex;gap:1rem;
  align-items:center;flex-wrap:wrap;padding:1rem 1.2rem;border-radius:18px;background:#fff;color:#1b1840;
  box-shadow:0 12px 40px rgba(var(--navy-900-rgb,12,9,56),.28);border:1px solid rgba(var(--navy-900-rgb,12,9,56),.08)}
.cookie-banner[hidden]{display:none!important}
.cookie-banner p{margin:0;flex:1 1 320px;font-size:.92rem;line-height:1.45}
.cookie-actions{display:flex;gap:.5rem}
.cookie-actions .btn{padding:.6rem 1.1rem;font-size:.9rem}

/* ---- Doctor's services (section "doctor_services") ---- */
.drs-group{margin-bottom:1.8rem}
.drs-type{margin:0 0 .7rem;font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-700)}
.drs-list{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-s);overflow:hidden}
.drs-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid var(--line)}
.drs-item:last-child{border-bottom:0}
/* wrapper around nume+preț, needed only so modelul 4 poate pune o descriere dedesubt — pentru
   celelalte modele rămâne invizibil în layout, ca și cum n-ar exista (vezi doctor_services.html). */
.drs-item-head{display:contents}
.drs-name{flex:1;min-width:0;font-weight:600;color:var(--navy-900)}
.drs-price{font-weight:700;color:var(--navy-600);white-space:nowrap}
.drs-online,.drs-phone{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;border-radius:99px;font-size:.8rem;font-weight:600;white-space:nowrap}
.drs-online{background:#e3f6ec;color:#137a4a}
.drs-phone{background:#eceefb;color:var(--muted)}
.drs-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0 0}
@media (max-width:640px){.drs-item{flex-wrap:wrap}.drs-name{flex-basis:100%}}
/* model 2: cards */
.dr-services[data-variant="2"] .drs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;background:none;border:0;box-shadow:none;overflow:visible}
.dr-services[data-variant="2"] .drs-item{flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.3rem 1.4rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-s)}
.dr-services[data-variant="2"] .drs-name{flex:none}
/* model 3: dark */
.dr-services[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.dr-services[data-variant="3"] h2{color:#fff}
.dr-services[data-variant="3"] h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.dr-services[data-variant="3"] .eyebrow,.dr-services[data-variant="3"] .drs-type{color:var(--gold-300)}
.dr-services[data-variant="3"] .drs-list{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13);box-shadow:none}
.dr-services[data-variant="3"] .drs-item{border-color:rgba(255,255,255,.1)}
.dr-services[data-variant="3"] .drs-name{color:#fff}
.dr-services[data-variant="3"] .drs-price{color:var(--gold-300)}
.dr-services[data-variant="3"] .drs-phone{background:rgba(255,255,255,.1);color:#cfcdf0}
.dr-services[data-variant="3"] .drs-cta .btn-ghost-dark{color:#fff;border-color:rgba(255,255,255,.35)}
/* model 4: listă simplă, fără eticheta „Programare online”/„Doar telefonic” — vezi doctor_services.html */
.dr-services[data-variant="4"] .drs-item{flex-direction:column;align-items:flex-start;gap:.3rem}
.dr-services[data-variant="4"] .drs-item-head{display:flex;align-items:center;gap:1rem;width:100%}
.drs-description{margin:0;font-size:.86rem;line-height:1.5;font-weight:400;color:var(--muted)}

/* ==========================================================================
   PROGRAMARE ONLINE — popup pe tot ecranul, pas cu pas
   ========================================================================== */
body.apt-lock{overflow:hidden}
.apt-overlay{
  position:fixed;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;
  padding:0 1.2rem;   /* the popup is 95dvh tall: its own height leaves the vertical margin */
}
.apt-overlay[hidden]{display:none}
.apt-backdrop{position:absolute;inset:0;background:rgba(var(--navy-950-rgb,7,4,32),.6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:aptFade .3s var(--ease)}
@keyframes aptFade{from{opacity:0}to{opacity:1}}

.apt-modal{
  position:relative;width:100%;max-width:560px;height:95vh;height:95dvh;max-height:95vh;max-height:95dvh;
  display:flex;flex-direction:column;background:#fff;border-radius:var(--radius-l);
  box-shadow:var(--shadow-l);overflow:hidden;animation:aptPop .35s var(--ease);
}
@keyframes aptPop{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@media (max-width:640px){
  .apt-overlay{padding:0}
  .apt-modal{max-width:none;width:100%;height:100%;max-height:none;border-radius:0}
}

.apt-modal-head{display:flex;align-items:center;gap:.8rem;padding:1.1rem 1.3rem;border-bottom:1px solid var(--line);flex:none}
.apt-back,.apt-close{
  width:36px;height:36px;flex:none;display:grid;place-items:center;border:0;border-radius:50%;
  background:var(--paper-2);color:var(--muted);cursor:pointer;transition:background .25s,color .25s;font-size:1.1rem;
}
.apt-back:hover,.apt-close:hover{background:var(--line);color:var(--navy-900)}

.apt-progress{display:flex;flex:1;list-style:none;margin:0;padding:0;gap:.3rem;overflow-x:auto;scrollbar-width:none}
.apt-progress::-webkit-scrollbar{display:none}
.apt-progress li{
  display:flex;align-items:center;gap:.4rem;flex:none;font-size:.78rem;font-weight:600;color:var(--slate);
  padding:.3rem .5rem;border-radius:99px;transition:color .25s,background .25s;white-space:nowrap;
}
.apt-crumb-n{width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--paper-2);color:var(--slate);font-size:.72rem;transition:background .25s,color .25s}
.apt-progress li.is-active{color:var(--navy-900)}
.apt-progress li.is-active .apt-crumb-n{background:var(--gold-500);color:var(--navy-950)}
.apt-progress li.is-done{color:var(--navy-600);cursor:pointer}
.apt-progress li.is-done .apt-crumb-n{background:var(--navy-900);color:#fff}
.apt-progress li.is-done .apt-crumb-n::before{content:"✓"}
.apt-progress li.is-done .apt-crumb-t{text-decoration:underline}
@media (max-width:480px){.apt-crumb-t{display:none}}

.apt-modal-body{flex:1;overflow-y:auto;padding:1.6rem}
.apt-step-title{margin:0 0 .3rem;font-family:var(--font-display);font-size:1.35rem;color:var(--navy-900)}
.apt-step-sub{margin:0 0 1.2rem;color:var(--muted);font-size:.9rem}

.apt-services{display:flex;flex-direction:column;gap:.7rem;margin-top:1rem}
.apt-svc-item{display:flex;flex-direction:column}
.apt-svc{
  display:flex;align-items:center;gap:.8rem;width:100%;text-align:left;
  padding:1rem 1.1rem;border:1.5px solid var(--line);border-radius:16px;background:#fff;
  cursor:pointer;font:inherit;transition:border-color .25s,box-shadow .25s,transform .2s,opacity .25s;
}
.apt-svc-info{display:flex;gap:.6rem;align-items:flex-start;margin:.5rem .2rem 0;padding:.75rem 1rem;
  border-radius:12px;background:var(--gold-100);
  color:var(--navy-900);font-size:.88rem;line-height:1.5;animation:aptRise .3s var(--ease) both}
.apt-svc-info[hidden]{display:none}
.apt-svc-info i{flex:none;color:var(--gold-500);font-size:1.1rem;line-height:1.3}
.apt-svc-info p{margin:0}
.apt-svc:hover{border-color:var(--gold-500);box-shadow:var(--shadow-s);transform:translateY(-1px)}
.apt-svc-check{
  width:22px;height:22px;flex:none;border-radius:7px;border:1.5px solid var(--line);
  display:grid;place-items:center;color:transparent;font-size:.85rem;
  transition:background .2s,border-color .2s,color .2s;
}
.apt-services.is-single .apt-svc-check{border-radius:50%}
.apt-svc-name{flex:1;min-width:0;font-weight:600;color:var(--navy-900)}
.apt-svc-price{font-weight:700;color:var(--navy-600)}
.apt-svc.is-selected{border-color:var(--gold-500);box-shadow:0 0 0 3px rgba(var(--gold-500-rgb,192,149,3),.14)}
.apt-svc.is-selected .apt-svc-check{background:var(--gold-500);border-color:var(--gold-500);color:var(--navy-950)}
.apt-svc.is-disabled{opacity:.45;cursor:not-allowed;transform:none}
.apt-svc.is-disabled:hover{border-color:var(--line);box-shadow:none;transform:none}

.apt-total{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:1.2rem 0 0;padding:.85rem 1rem;
  border-radius:14px;background:var(--gold-100);color:var(--navy-900);font-size:.92rem;animation:aptRise .35s var(--ease) both;
}
.apt-total[hidden]{display:none}
.apt-total strong{font-size:1.1rem;text-align:right}
.apt-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-inline:1.4rem}
.apt-cta-label{flex:1;text-align:left}
.apt-cta .mdi{transition:transform .25s var(--ease)}
.apt-cta:hover:not([disabled]) .mdi{transform:translateX(4px)}

/* Pasul 2: primul loc liber, banda de zile, orele grupate pe momentul zilei */
.apt-first{
  width:100%;display:flex;align-items:center;gap:.9rem;text-align:left;margin:0 0 1.1rem;padding:.85rem 1.1rem;
  border:1.5px solid var(--gold-500);border-radius:16px;background:var(--gold-100);color:var(--navy-900);
  font:inherit;cursor:pointer;transition:box-shadow .25s,transform .25s;
}
.apt-first:hover{box-shadow:var(--shadow-s);transform:translateY(-1px)}
.apt-first[hidden]{display:none}
.apt-first>.mdi:first-child{font-size:1.5rem;color:var(--gold-700)}
.apt-first>.mdi:last-child{margin-left:auto;font-size:1.3rem;color:var(--gold-700)}
.apt-first-text{display:flex;flex-direction:column;gap:.1rem}
.apt-first-text small{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-700);font-weight:700}
.apt-first-text strong{font-size:1.02rem}

.apt-strip-wrap{display:flex;align-items:stretch;gap:.4rem}
.apt-strip-nav{
  flex:none;width:34px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy-900);
  font-size:1.3rem;cursor:pointer;display:grid;place-items:center;transition:border-color .25s,background .25s;
}
.apt-strip-nav:hover:not([disabled]){border-color:var(--gold-500)}
.apt-strip-nav[disabled]{opacity:.35;cursor:not-allowed}
.apt-strip{flex:1;min-width:0;display:grid;grid-template-columns:repeat(var(--apt-cols,7),minmax(0,1fr));gap:.35rem}
.apt-day{
  display:flex;flex-direction:column;align-items:center;gap:.05rem;padding:.55rem .1rem .5rem;
  border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy-900);
  font:inherit;cursor:pointer;transition:border-color .25s,background .25s,transform .25s;min-width:0;
}
.apt-day:hover:not([disabled]){border-color:var(--gold-500);transform:translateY(-2px)}
.apt-day-w{font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.apt-day-n{font-size:1.15rem;line-height:1.2}
.apt-day-m{font-size:.68rem;color:var(--muted)}
.apt-day-c{font-style:normal;font-size:.7rem;font-weight:600;color:var(--navy-600);margin-top:.15rem;white-space:nowrap}
.apt-day.is-active{background:var(--navy-900);border-color:var(--navy-900);color:#fff;box-shadow:0 0 0 3px rgba(var(--gold-500-rgb,192,149,3),.35)}
.apt-day.is-active .apt-day-w,.apt-day.is-active .apt-day-m{color:var(--gold-300)}
.apt-day.is-active .apt-day-c{color:#fff}
.apt-day.is-empty,.apt-day[disabled]{background:var(--paper-2);border-style:dashed;cursor:not-allowed;opacity:.6}
.apt-day.is-empty .apt-day-c{color:var(--slate);font-weight:400}
.apt-loading,.apt-empty{font-size:.9rem;color:var(--muted)}
.apt-loading[hidden],.apt-empty[hidden]{display:none}

.apt-next-free{margin-top:1.1rem;padding:1.1rem;border:1px dashed var(--line);border-radius:16px;background:var(--paper-2);text-align:center}
.apt-next-free p{margin:0 0 .8rem;color:var(--muted);font-size:.92rem}
.apt-next-free .btn{width:100%;padding-inline:.8rem;font-size:.92rem}

.apt-day-title{margin:1.3rem 0 .2rem;font-family:var(--font-display);font-size:1.1rem;color:var(--navy-900)}
.apt-scarcity{margin:0 0 .3rem;font-size:.82rem;color:var(--gold-700);font-weight:600}
.apt-scarcity[hidden]{display:none}
.apt-hours{margin-top:.6rem}
.apt-part{margin-bottom:1rem}
.apt-part-title{margin:0 0 .5rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.apt-part-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.5rem}
.apt-hour{
  position:relative;display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.65rem .4rem;
  border:1.5px solid var(--line);border-radius:12px;background:#fff;
  font:inherit;font-weight:600;color:var(--navy-900);cursor:pointer;transition:border-color .2s,background .2s,color .2s;
}
.apt-hour .mdi{width:0;overflow:hidden;font-size:1rem;transition:width .15s}
.apt-hour:hover{border-color:var(--gold-500)}
/* selected: outline + tick, not colour alone */
.apt-hour.is-active{background:var(--navy-900);border-color:var(--navy-900);color:#fff;box-shadow:0 0 0 3px rgba(var(--gold-500-rgb,192,149,3),.45)}
.apt-hour.is-active .mdi{width:1rem;color:var(--gold-300)}

/* Rezumatul programării, fix sub antet */
.apt-summary{
  flex:none;display:flex;align-items:center;gap:1rem;padding:.75rem 1.3rem;background:var(--paper-2);
  border-bottom:1px solid var(--line);
}
.apt-summary[hidden]{display:none}
.apt-summary-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}
.apt-summary-text strong{color:var(--navy-900);font-size:.95rem}
.apt-summary-text span{color:var(--muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.apt-link{background:none;border:0;padding:0;font:inherit;font-size:.85rem;font-weight:600;color:var(--navy-600);text-decoration:underline;cursor:pointer}
.apt-link[disabled]{color:var(--slate);text-decoration:none;cursor:default}

/* Bara de jos: timer + butonul pasului */
.apt-foot{
  flex:none;padding:.8rem 1.3rem calc(.9rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;
  box-shadow:0 -10px 24px -18px rgba(var(--navy-900-rgb,12,9,56),.35);
}
.apt-foot[hidden]{display:none}
.apt-timer{display:flex;align-items:center;gap:.4rem;margin:0 0 .6rem;font-size:.8rem;color:var(--muted)}
.apt-timer[hidden]{display:none}
.apt-timer .mdi{color:var(--gold-600)}
.apt-timer strong{color:var(--navy-900);font-variant-numeric:tabular-nums}
.apt-foot .apt-error{margin:0 0 .6rem}
.apt-cta{width:100%}
.apt-cta[hidden]{display:none}
.apt-cta[disabled]{opacity:.5;cursor:not-allowed}

.apt-chosen{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1.4rem;padding:.8rem 1rem;background:var(--paper-2);border-radius:14px;font-weight:600;color:var(--navy-900)}
.apt-chosen i{color:var(--gold-600)}

.apt-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.apt-field{display:flex;flex-direction:column;margin-bottom:1rem}
.apt-field span{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.apt-field span i{font-style:normal;text-transform:none;letter-spacing:0;font-weight:400;color:var(--slate)}
.apt-field input,.apt-field select,.apt-field textarea{
  font-family:inherit;resize:vertical;
  padding:.75rem .9rem;border-radius:12px;border:1px solid var(--line);background:#fff;
  color:var(--navy-900);font-size:.95rem;transition:border-color .25s,box-shadow .25s;
}
.apt-field input:focus,.apt-field select:focus,.apt-field textarea:focus{outline:none;border-color:var(--gold-500);box-shadow:0 0 0 4px rgba(var(--gold-500-rgb,192,149,3),.14)}
.apt-consent{display:flex;gap:.9rem;align-items:flex-start;margin:.2rem 0 .8rem;padding:.8rem .9rem;border:1.5px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;font-size:.88rem;color:var(--muted);line-height:1.5;transition:border-color .2s,box-shadow .2s,background .2s;-webkit-tap-highlight-color:transparent}
.apt-note-small{margin:0 0 .4rem;font-size:.8rem;color:var(--muted);line-height:1.5}
.apt-field.is-invalid input,.apt-field.is-invalid textarea{border-color:#c0392b}
.apt-consent.is-invalid{border-color:#c0392b}
.apt-consent:hover{border-color:var(--gold-500)}
.apt-consent:has(input:checked){border-color:var(--gold-500);background:rgba(var(--gold-500-rgb,192,149,3),.06)}
.apt-consent:has(input:focus-visible){box-shadow:0 0 0 3px rgba(var(--gold-500-rgb,192,149,3),.25)}
/* custom box (not the browser's): 30px so a thumb can hit it; the real input stays for focus, keyboard and validation */
.apt-consent input{-webkit-appearance:none;appearance:none;flex:none;width:30px;height:30px;margin:0;border:2px solid var(--line);border-radius:9px;background:#fff center/18px no-repeat;cursor:pointer;transition:background-color .2s,border-color .2s,transform .15s}
.apt-consent input:hover{border-color:var(--gold-500)}
.apt-consent input:active{transform:scale(.92)}
.apt-consent input:checked{background-color:var(--gold-500);border-color:var(--gold-500);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23070420' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
.apt-consent input:focus-visible{outline:none}
.apt-consent>span{flex:1;min-width:0;padding-top:.15rem}
.apt-error{margin:0 0 1rem;font-size:.85rem;color:#c0392b}

.apt-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8rem;padding:2.4rem 0}
.apt-success i{font-size:3rem;color:#1f9d55}
.apt-success p{margin:0;color:var(--navy-900);font-weight:600;font-size:1.05rem}


/* Hero medic: blocul de programare = buton principal + telefon + cardul „Primul loc liber” */
.dr-cta{margin-top:1.9rem;display:flex;flex-direction:column;align-items:stretch;gap:1.1rem;width:fit-content;min-width:min(100%,380px);max-width:100%}
.dr-hero .dr-cta .hero-actions{margin:0;gap:.75rem}
.dr-hero .dr-cta .btn{min-height:52px;padding:.85rem 1.5rem;font-size:1rem;white-space:nowrap}
.dr-hero .dr-cta .btn-primary .mdi{transition:transform .3s var(--ease)}
.dr-hero .dr-cta .btn-primary:hover .mdi{transform:translateX(4px)}
.dr-hero .dr-cta .btn-ghost::before{content:"\F03F2";font:normal 1.15rem/1 "Material Design Icons";color:var(--gold-600)}
.dr-hero .dr-cta .btn-ghost[hidden]{display:none}

.hero-slot,.hero-slot-skeleton{width:100%;min-height:92px;border-radius:20px}
.hero-slot{
  position:relative;display:flex;align-items:center;gap:1rem;padding:.85rem .85rem .85rem 1.2rem;
  border:1px solid var(--line);background:#fff;color:var(--navy-900);font:inherit;text-align:left;cursor:pointer;
  box-shadow:0 14px 34px -22px rgba(var(--navy-900-rgb,12,9,56),.45);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
  animation:aptRise .5s var(--ease) both;
}
.hero-slot[hidden],.hero-slot-skeleton[hidden]{display:none}
.hero-slot:hover{transform:translateY(-2px);border-color:var(--gold-500);box-shadow:0 20px 40px -22px rgba(var(--navy-900-rgb,12,9,56),.55)}
.hero-slot:active{transform:translateY(0) scale(.99)}
.hero-slot:focus-visible{outline:2.5px solid var(--navy-500);outline-offset:3px}
.hero-slot-dot{position:relative;flex:none;width:12px;height:12px;border-radius:50%;background:#1f9d55}
.hero-slot-dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #1f9d55;opacity:0;animation:heroPulse 2.2s ease-out infinite}
@keyframes heroPulse{0%{transform:scale(.55);opacity:.7}100%{transform:scale(1.25);opacity:0}}
.hero-slot-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}
.hero-slot-text small{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.hero-slot-text strong{font-size:1.15rem;line-height:1.25;color:var(--navy-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero-slot-for{display:flex;align-items:baseline;gap:.5rem;min-width:0;margin-top:.1rem;font-size:.86rem;color:var(--muted)}
.hero-slot-svc{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero-slot-price{flex:none;font-weight:700;color:var(--navy-700);white-space:nowrap}
.hero-slot-price::before{content:"·";margin-right:.5rem;font-weight:400;color:var(--slate)}
.hero-slot-go{
  flex:none;display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1rem;border-radius:999px;
  background:var(--navy-900);color:#fff;font-size:.9rem;font-weight:600;transition:background .3s,color .3s;
}
.hero-slot-go .mdi{transition:transform .3s var(--ease)}
.hero-slot:hover .hero-slot-go{background:var(--gold-300);color:var(--navy-950)}
.hero-slot:hover .hero-slot-go .mdi{transform:translateX(4px)}

/* schelet cât se încarcă agenda: același înalt ca cardul, deci pagina nu sare */
.hero-slot-skeleton{
  background:linear-gradient(100deg,rgba(255,255,255,.55) 30%,rgba(255,255,255,.95) 50%,rgba(255,255,255,.55) 70%) 0 0/220% 100%;
  border:1px solid var(--line);animation:heroShimmer 1.4s linear infinite;
}
@keyframes heroShimmer{to{background-position:-220% 0}}

/* model 2 (centrat) */
.dr-hero[data-variant="2"] .dr-cta .hero-actions{justify-content:center}
/* model 3 (închis) */
.dr-hero[data-variant="3"] .dr-cta .btn-ghost::before{color:var(--gold-300)}
.dr-hero[data-variant="3"] .dr-cta .btn-primary{background:var(--gold-300);color:var(--navy-950);box-shadow:0 16px 34px -18px rgba(var(--gold-300-rgb,221,180,46),.6)}
.dr-hero[data-variant="3"] .dr-cta .btn-primary:hover{background:#fff}
.dr-hero[data-variant="3"] .dr-cta .btn-ghost{color:#fff}
.dr-hero[data-variant="3"] .hero-slot,.dr-hero[data-variant="3"] .hero-slot-skeleton{background-color:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);box-shadow:none}
.dr-hero[data-variant="3"] .hero-slot-text small{color:var(--gold-300)}
.dr-hero[data-variant="3"] .hero-slot-text strong{color:#fff}
.dr-hero[data-variant="3"] .hero-slot-for{color:rgba(233,231,255,.75)}
.dr-hero[data-variant="3"] .hero-slot-price{color:var(--gold-300)}
.dr-hero[data-variant="3"] .hero-slot-go{background:var(--gold-300);color:var(--navy-950)}
.dr-hero[data-variant="3"] .hero-slot:hover{border-color:var(--gold-300);background-color:rgba(255,255,255,.14)}
.dr-hero[data-variant="3"] .hero-slot:hover .hero-slot-go{background:#fff}
.dr-hero[data-variant="3"] .hero-slot-skeleton{background-image:linear-gradient(100deg,rgba(255,255,255,.04) 30%,rgba(255,255,255,.16) 50%,rgba(255,255,255,.04) 70%)}

/* telefon: butoanele se așază pe toată lățimea, textul la stânga și săgeata la dreapta */
@media (max-width:560px){
  .dr-cta{width:100%}
  .dr-hero .dr-cta .hero-actions{flex-direction:column;align-items:stretch;width:100%}
  .dr-hero .dr-cta .btn-primary{justify-content:space-between;width:100%;padding-inline:1.4rem}
  .dr-hero .dr-cta .btn-ghost{justify-content:center;width:100%}
  .hero-slot{padding-left:1rem;gap:.8rem}
  /* pe telefon data și serviciul au prioritate: se rup pe rânduri în loc să fie tăiate, iar butonul rămâne doar cu săgeata */
  .hero-slot-text strong{white-space:normal}
  .hero-slot-for{align-items:flex-start}
  .hero-slot-svc{white-space:normal;overflow:visible}
  .hero-slot-go{width:44px;height:44px;padding:0;justify-content:center}
  .hero-slot-go-label{display:none}
}
@media (prefers-reduced-motion:reduce){.hero-slot,.hero-slot-dot::after,.hero-slot-skeleton{animation:none}}

/* Animații: zilele alunecă în direcția săgeții, ziua aleasă "sare", orele apar pe rând */
@keyframes aptSlideNext{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:none}}
@keyframes aptSlidePrev{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:none}}
@keyframes aptDayIn{from{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:none}}
@keyframes aptPopping{0%{transform:scale(.9)}55%{transform:scale(1.09)}100%{transform:scale(1)}}
@keyframes aptRing{0%{box-shadow:0 0 0 0 rgba(var(--gold-500-rgb,192,149,3),.6)}100%{box-shadow:0 0 0 14px rgba(var(--gold-500-rgb,192,149,3),0)}}
@keyframes aptRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes aptFootIn{from{transform:translateY(100%);opacity:0}to{transform:none;opacity:1}}
.apt-strip.slide-next .apt-day{animation:aptSlideNext .42s var(--ease) both;animation-delay:calc(var(--i,0)*35ms)}
.apt-strip.slide-prev .apt-day{animation:aptSlidePrev .42s var(--ease) both;animation-delay:calc((var(--apt-cols,7) - var(--i,0) - 1)*35ms)}
.apt-strip.fade-in .apt-day{animation:aptDayIn .45s var(--ease) both;animation-delay:calc(var(--i,0)*40ms)}
.apt-strip .apt-day.is-popping{animation:aptPopping .42s var(--ease),aptRing .6s ease-out;animation-delay:0s}
.apt-strip-nav{transition:border-color .25s,background .25s,transform .15s}
.apt-strip-nav:active:not([disabled]){transform:scale(.88)}
.apt-strip-nav:hover:not([disabled]) .mdi{animation:aptNudge .5s var(--ease)}
@keyframes aptNudge{40%{transform:translateX(3px)}}
[data-apt-prev]:hover:not([disabled]) .mdi{animation-name:aptNudgeBack}
@keyframes aptNudgeBack{40%{transform:translateX(-3px)}}
.apt-day-title.is-entering,.apt-scarcity.is-entering{animation:aptRise .4s var(--ease) both}
.apt-hour.is-entering{animation:aptRise .38s var(--ease) both;animation-delay:calc(var(--i,0)*30ms + 60ms)}
.apt-hour.is-popping{animation:aptPopping .35s var(--ease),aptRing .55s ease-out;animation-delay:0s}
.apt-day:active:not([disabled]),.apt-hour:active{transform:scale(.95)}
.apt-foot:not([hidden]){animation:aptFootIn .32s var(--ease)}
.apt-first:not([hidden]){animation:aptRise .45s var(--ease) both}
@media (max-width:480px){.apt-day-c{font-size:.62rem}.apt-strip{gap:.25rem}}
@media (prefers-reduced-motion:reduce){
  .apt-strip .apt-day,.apt-day.is-popping,.apt-hour.is-entering,.apt-hour.is-popping,
  .apt-day-title.is-entering,.apt-scarcity.is-entering,.apt-foot:not([hidden]),.apt-first:not([hidden]),
  .apt-strip-nav:hover .mdi{animation:none!important}
}

/* Pasul 3: alegerea persoanei contului (autentificat), înainte de câmpurile manuale */
.apt-account-who{border:0;margin:0 0 1.3rem;padding:0}
.apt-account-people{display:flex;flex-direction:column;gap:.6rem}
.apt-account-person{
  display:flex;align-items:center;gap:.8rem;width:100%;text-align:left;position:relative;
  padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:16px;background:#fff;
  cursor:pointer;font:inherit;transition:border-color .25s,box-shadow .25s,transform .2s;
}
.apt-account-person:hover{border-color:var(--gold-500);box-shadow:var(--shadow-s);transform:translateY(-1px)}
.apt-account-person.is-selected{border-color:var(--gold-500);box-shadow:0 0 0 3px rgba(var(--gold-500-rgb,192,149,3),.14)}
.apt-account-person .mdi-check-circle{position:absolute;right:1rem;font-size:1.2rem;color:var(--gold-500);opacity:0;transition:opacity .2s}
.apt-account-person.is-selected .mdi-check-circle{opacity:1}
.apt-account-avatar{
  flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:var(--paper-2);color:var(--navy-600);font-weight:700;font-size:1rem;
}
.apt-account-person.is-selected .apt-account-avatar{background:var(--navy-900);color:#fff}
.apt-account-person.is-other .apt-account-avatar{color:var(--muted)}
.apt-account-name{display:flex;flex-direction:column;gap:.05rem;font-weight:600;color:var(--navy-900)}
.apt-account-name small{font-weight:400;color:var(--muted);font-size:.8rem}
.apt-who[data-apt-manual-who][hidden]{display:none}

/* Pasul 3: pentru cine, date minime, cod SMS */
.apt-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.apt-who{border:0;margin:0 0 1.3rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.apt-legend{grid-column:1/-1;padding:0;margin-bottom:.1rem;font-weight:600;color:var(--navy-900)}
.apt-choice{position:relative;cursor:pointer}
.apt-choice input{position:absolute;opacity:0;inset:0;cursor:pointer}
.apt-choice span{
  display:flex;align-items:center;justify-content:center;padding:.8rem .6rem;border:1.5px solid var(--line);
  border-radius:14px;background:#fff;font-weight:600;color:var(--navy-900);text-align:center;transition:border-color .2s,background .2s;
}
.apt-choice input:checked+span{background:var(--navy-900);border-color:var(--navy-900);color:#fff;box-shadow:0 0 0 3px rgba(var(--gold-500-rgb,192,149,3),.35)}
.apt-choice input:focus-visible+span{outline:2.5px solid var(--navy-500);outline-offset:3px}
.apt-block{margin-bottom:.4rem}
.apt-block-title{margin:0 0 .8rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.apt-field small{margin-top:.35rem;font-size:.78rem;color:var(--muted)}
.apt-field[hidden],.apt-code[hidden],.apt-verified[hidden]{display:none}
.apt-phone-row{display:flex;gap:.6rem;align-items:stretch;margin:0!important;text-transform:none!important;letter-spacing:0!important;font-weight:400!important}
.apt-phone-row input{flex:1;min-width:0}
.apt-code-send{flex:none;white-space:nowrap;padding:.5rem 1rem}
.apt-code input{letter-spacing:.5em;font-size:1.3rem;text-align:center;font-variant-numeric:tabular-nums}
.apt-hint{margin:-.4rem 0 1rem;font-size:.82rem;color:var(--muted)}
.apt-verified{display:flex;align-items:center;gap:.4rem;margin:-.4rem 0 1rem;font-size:.85rem;font-weight:600;color:#1f9d55}
/* Rezumatul needitabil al numelui/contactului deja știute dintr-o persoană a contului — înlocuiește
   câmpurile de completat (vezi updateKnownSummary/applyAccountPerson din script.js). */
.apt-known{margin:0 0 1rem;padding:.9rem 1rem;border-radius:14px;background:var(--paper-2);
  font-size:.92rem;font-weight:600;color:var(--navy-900)}
.apt-known[hidden]{display:none}

/* Pasul 4: verificare și confirmare */
.apt-review{margin:0 0 1.2rem;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.apt-review-row{display:grid;grid-template-columns:110px 1fr;gap:.8rem;padding:.7rem 1rem;border-top:1px solid var(--line);font-size:.9rem}
.apt-review-row:first-child{border-top:0}
.apt-review-row dt{color:var(--muted)}
.apt-review-row dd{margin:0;color:var(--navy-900);font-weight:600}
.apt-review-row.is-price{background:var(--paper-2)}
.apt-review-row.is-price dd{font-size:1rem}
.apt-note{margin:0 0 1rem;padding:.9rem 1rem;border-radius:14px;background:var(--paper-2)}
.apt-note[hidden],.apt-policy[hidden]{display:none}
.apt-note h4{display:flex;align-items:center;gap:.4rem;margin:0 0 .4rem;font-size:.85rem;color:var(--navy-900)}
.apt-note h4 .mdi{color:var(--gold-600)}
.apt-note ul{margin:0;padding-left:1.2rem;list-style:disc;font-size:.88rem;color:var(--muted);line-height:1.55}
.apt-policy{display:flex;gap:.5rem;align-items:flex-start;margin:0 0 1.2rem;font-size:.88rem;color:var(--navy-900);font-weight:600}
.apt-policy .mdi{color:var(--gold-600);margin-top:.1rem}
.apt-consent a{color:var(--navy-600);text-decoration:underline}
.apt-done{align-self:stretch;justify-content:center;margin-top:.4rem}
.apt-success-details{width:100%;margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-align:left}

@media (max-width:640px){.apt-grid-2{grid-template-columns:1fr}}

/* Several locations: tabs above the contact block, links and lists */
.loc-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 0 1.4rem}
.loc-tab{border:1px solid var(--line);background:#fff;color:var(--navy-600);border-radius:99px;padding:.5rem 1.1rem;font:inherit;font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.loc-tab:hover{border-color:var(--navy-500)}
.loc-tab.is-active{background:var(--navy-600);border-color:var(--navy-600);color:#fff}
.loc-more{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--navy-600);padding:.3rem .2rem}
.contact[data-variant="5"] .loc-tab{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:#fff}
.contact[data-variant="5"] .loc-tab.is-active{background:var(--gold-500);border-color:var(--gold-500);color:var(--navy-900)}
.contact[data-variant="5"] .loc-more{color:var(--gold-300)}

/* ---- Location pages ---- */
.loc-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}
.loc-hero h1{max-width:20ch;font-size:clamp(2.1rem,4.6vw,3.4rem)}
.loc-hero .art-cat{margin-bottom:.9rem}
.loc-hero .hero-actions{margin-top:1.8rem;margin-bottom:0}
.loc-facts{list-style:none;margin:0;padding:1.6rem 1.8rem;display:grid;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-m)}
.loc-facts li{display:flex;gap:.8rem;align-items:flex-start;font-weight:600;color:var(--navy-900)}
.loc-facts .mdi{font-size:22px;color:var(--gold-700);flex:none}
@media (max-width:860px){.loc-hero-grid{grid-template-columns:1fr}}
.loc-info-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:1.6rem;align-items:stretch}
.loc-side{display:grid;gap:1.2rem;align-content:start}
.loc-hours{padding:1.4rem 1.6rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-s)}
.loc-hours h3{margin:0 0 .8rem;font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-700)}
.loc-hours dl{margin:0;display:grid;gap:.5rem}
.loc-hours dl>div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.loc-hours dl>div:last-child{border-bottom:0;padding-bottom:0}
.loc-hours dt{color:var(--muted)}.loc-hours dd{margin:0;font-weight:700;color:var(--navy-900)}
@media (max-width:900px){.loc-info-grid{grid-template-columns:1fr}}
.loc-info[data-variant="2"] .loc-info-grid{grid-template-columns:1fr}
.loc-info[data-variant="2"] .loc-side{grid-template-columns:2fr 1fr;order:-1}
.loc-info[data-variant="2"] .contact-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.loc-info[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.loc-info[data-variant="3"] .ccard,.loc-info[data-variant="3"] .loc-hours{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none}
.loc-info[data-variant="3"] .ccard small,.loc-info[data-variant="3"] .loc-hours dt{color:rgba(233,231,255,.6)}
.loc-info[data-variant="3"] .ccard strong,.loc-info[data-variant="3"] .loc-hours dd{color:#fff}
.loc-info[data-variant="3"] .loc-hours dl>div{border-color:rgba(255,255,255,.12)}
.loc-hero[data-variant="2"] .loc-hero-grid{grid-template-columns:1fr;text-align:center;justify-items:center}
.loc-hero[data-variant="2"] .hero-actions{justify-content:center}
.loc-hero[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.loc-hero[data-variant="3"] h1,.loc-hero[data-variant="3"] .page-lede{color:#fff}
.loc-hero[data-variant="3"] .btn-ghost-dark{color:#fff;border-color:rgba(255,255,255,.35)}
.loc-doctors[data-variant="2"] .dr-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2rem 1.4rem}
.loc-doctors[data-variant="2"] .dr-card{background:none;border:0;box-shadow:none;align-items:center;text-align:center}
.loc-doctors[data-variant="2"] .dr-photo{width:170px;aspect-ratio:1;border-radius:50%;box-shadow:var(--shadow-m)}
.loc-doctors[data-variant="2"] .dr-sum{display:none}
.loc-doctors[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.loc-doctors[data-variant="3"] h2{color:#fff}
.loc-doctors[data-variant="3"] .eyebrow{color:var(--gold-300)}
.loc-doctors[data-variant="3"] .dr-card{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13);box-shadow:none}
.loc-doctors[data-variant="3"] .dr-card h3 a{color:#fff}
/* Footer: list of locations */
.footer-locs li{margin-bottom:.7rem}
.footer-locs a{font-weight:600}
.footer-locs small{display:block;opacity:.7}
.hours-other{margin:.6rem 0 0;font-size:.92rem;color:var(--muted)}.hours-other strong{color:var(--navy-900)}

/* ---- Articles showcase (section "articles_showcase"): 4 models ---- */
.ash-more{margin:2rem 0 0;text-align:center}
/* 2: featured article + compact list */
.ash-split{display:grid;grid-template-columns:1.25fr .75fr;gap:1.8rem;align-items:start}
.ash-feature{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden;box-shadow:var(--shadow-s)}
.ash-feature-media{display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(150deg,var(--gold-100),#eef3ff 60%,#e6e4ff)}
.ash-feature-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.ash-feature:hover .ash-feature-media img{transform:scale(1.04)}
.ash-feature-body{display:flex;flex-direction:column;gap:.7rem;padding:1.8rem 2rem 2rem}
.ash-feature h3{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15}
.ash-feature h3 a{color:var(--navy-900)}
.ash-feature p{margin:0;color:var(--ink-2)}
.ash-side{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.ash-side li{display:flex;gap:1rem;align-items:center;padding:.9rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:transform .3s var(--ease),box-shadow .3s}
.ash-side li:hover{transform:translateX(4px);box-shadow:var(--shadow-m)}
.ash-thumb{flex:none;display:grid;place-items:center;width:92px;height:72px;border-radius:12px;overflow:hidden;background:linear-gradient(150deg,var(--gold-100),#eef3ff 60%,#e6e4ff);color:var(--navy-500);font-size:1.6rem}
.ash-thumb img{width:100%;height:100%;object-fit:cover}
.ash-side h3{margin:.15rem 0;font-size:1.05rem;line-height:1.25}
.ash-side h3 a{color:var(--navy-900)}
.ash-date{font-size:.8rem;color:var(--muted)}
@media (max-width:900px){.ash-split{grid-template-columns:1fr}}
/* 3: horizontal rail */
.ash-rail{display:flex;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.4rem .2rem 1.2rem;margin:0 -.2rem;scrollbar-width:thin}
.ash-rail .art-card{flex:0 0 min(340px,82%);scroll-snap-align:start}
/* 4: numbered rows, dark */
.art-show[data-variant="4"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.art-show[data-variant="4"] h2{color:#fff}
.art-show[data-variant="4"] h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.art-show[data-variant="4"] .eyebrow{color:var(--gold-300)}
.art-show[data-variant="4"] .section-lede{color:rgba(230,228,255,.76)}
.ash-rows{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.14)}
.ash-rows li{display:grid;grid-template-columns:auto 1fr auto auto;gap:1.6rem;align-items:center;padding:1.5rem .4rem;border-bottom:1px solid rgba(255,255,255,.14);transition:background .3s,padding .3s}
.ash-rows li:hover{background:rgba(255,255,255,.05);padding-left:1.2rem}
.ash-num{font-family:var(--font-display);font-size:2.6rem;line-height:1;color:var(--gold-300);opacity:.85;min-width:3ch}
.ash-row-main h3{margin:.3rem 0 .2rem;font-size:1.4rem;line-height:1.2}
.ash-row-main h3 a{color:#fff}
.ash-row-main p{margin:0;color:rgba(230,228,255,.7);max-width:60ch;font-size:.95rem}
.art-show[data-variant="4"] .art-cat{color:var(--gold-300)}
.art-show[data-variant="4"] .ash-date{color:rgba(230,228,255,.6);white-space:nowrap}
.ash-go{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.3rem;transition:background .3s,color .3s}
.ash-rows li:hover .ash-go{background:var(--gold-500);border-color:var(--gold-500);color:var(--navy-900)}
.art-show[data-variant="4"] .ash-more .btn-ghost-dark{color:#fff;border-color:rgba(255,255,255,.35)}
@media (max-width:760px){.ash-rows li{grid-template-columns:auto 1fr;}.ash-rows .ash-date,.ash-rows .ash-go{display:none}.ash-num{font-size:1.8rem}}

/* ---- Doctors showcase (section "doctors_showcase"): 4 models ---- */
.drs-more{margin:2rem 0 0;text-align:center}
/* 2: round portraits */
.dr-show[data-variant="2"] .dr-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2rem 1.4rem}
.dr-show[data-variant="2"] .dr-card{background:none;border:0;box-shadow:none;align-items:center;text-align:center}
.dr-show[data-variant="2"] .dr-card:hover{box-shadow:none}
.dr-show[data-variant="2"] .dr-photo{width:170px;aspect-ratio:1;border-radius:50%;box-shadow:var(--shadow-m)}
.dr-show[data-variant="2"] .dr-sum{display:none}
/* 3: horizontal rail */
.drs-rail{display:flex;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.4rem .2rem 1.2rem;margin:0 -.2rem;scrollbar-width:thin}
.drs-rail .dr-card{flex:0 0 min(270px,78%);scroll-snap-align:start}
/* 4: dark rows */
.dr-show[data-variant="4"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.dr-show[data-variant="4"] h2{color:#fff}
.dr-show[data-variant="4"] h2 em{background:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-b,var(--gold-500)));-webkit-background-clip:text;background-clip:text;color:transparent}
.dr-show[data-variant="4"] .eyebrow{color:var(--gold-300)}
.dr-show[data-variant="4"] .section-lede{color:rgba(230,228,255,.76)}
.drs-rows{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.14)}
.drs-rows li{display:flex;align-items:center;gap:1.4rem;padding:1.1rem .4rem;border-bottom:1px solid rgba(255,255,255,.14);transition:background .3s,padding .3s}
.drs-rows li:hover{background:rgba(255,255,255,.05);padding-left:1.2rem}
.drs-avatar{flex:none;display:grid;place-items:center;width:76px;height:76px;border-radius:50%;overflow:hidden;background:rgba(255,255,255,.1);color:var(--gold-300);font-family:var(--font-display);font-size:1.5rem}
.drs-avatar img{width:100%;height:100%;object-fit:cover;object-position:top}
.drs-row-main{flex:1;min-width:0}
.drs-row-main h3{margin:0 0 .15rem;font-size:1.3rem;line-height:1.2}
.drs-row-main h3 a{color:#fff}
.drs-row-main p{margin:0;color:var(--gold-300);font-size:.9rem;font-weight:600}
.drs-go{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1.3rem;transition:background .3s,color .3s}
.drs-rows li:hover .drs-go{background:var(--gold-500);border-color:var(--gold-500);color:var(--navy-900)}
.dr-show[data-variant="4"] .drs-more .btn-ghost-dark{color:#fff;border-color:rgba(255,255,255,.35)}

/* ---- Doctor gallery (section "doctor_gallery"): 4 models ---- */
.drg-item{display:block;overflow:hidden;border-radius:var(--radius-l);background:linear-gradient(150deg,var(--gold-100),#eef3ff 60%,#e6e4ff);box-shadow:var(--shadow-s);cursor:zoom-in}
.drg-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.drg-item:hover img{transform:scale(1.05)}
/* 1: carousel */
.drg-rail{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.4rem .2rem 1.2rem;margin:0 -.2rem;scrollbar-width:thin}
.drg-rail .drg-item{flex:0 0 min(360px,80%);aspect-ratio:4/5;scroll-snap-align:start}
/* 2: equal columns */
.drg-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.2rem}
.drg-cols .drg-item{aspect-ratio:1}
/* 3: masonry mosaic */
.drg-mosaic{column-width:240px;column-gap:1.2rem}
.drg-mosaic .drg-item{display:block;margin:0 0 1.2rem;break-inside:avoid}
.drg-mosaic .drg-item img{height:auto}
/* 4: big picture + thumbnails */
.drg-stage{display:grid;gap:1rem}
.drg-main{display:block;aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-l);box-shadow:var(--shadow-m);background:#eef3ff;cursor:zoom-in}
.drg-main img{width:100%;height:100%;object-fit:contain;background:var(--navy-900)}
.drg-thumbs{display:flex;gap:.7rem;overflow-x:auto;padding:.2rem}
.drg-thumb{flex:none;width:96px;height:72px;border:2px solid transparent;border-radius:12px;overflow:hidden;padding:0;cursor:pointer;opacity:.7;background:#fff;transition:opacity .2s,border-color .2s}
.drg-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.drg-thumb:hover{opacity:1}.drg-thumb.is-active{opacity:1;border-color:var(--gold-500)}
/* lightbox: the picture fits the screen (max 100% width and height); zoom with wheel, pinch, +/- or double click */
.lightbox{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100vh;overflow:hidden}
.lightbox::backdrop{background:rgba(var(--navy-950-rgb,7,4,32),.94)}
.lightbox-inner{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden}
.lightbox img{display:block;max-width:100vw;max-height:100vh;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-select:none;touch-action:none;cursor:zoom-in;transform-origin:center center;will-change:transform}
.lightbox img.is-zoomed{cursor:grab}
.lightbox img.is-zoomed:active{cursor:grabbing}
.lightbox button{position:absolute;border:0;border-radius:50%;width:46px;height:46px;background:rgba(255,255,255,.14);color:#fff;font-size:1.5rem;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px);z-index:2}
.lightbox button:hover{background:rgba(255,255,255,.28)}
.lightbox .lb-close{top:1rem;right:1rem}.lightbox .lb-prev{left:1rem;top:50%;transform:translateY(-50%)}.lightbox .lb-next{right:1rem;top:50%;transform:translateY(-50%)}
.lightbox.is-single .lb-prev,.lightbox.is-single .lb-next{display:none}
.lb-bar{position:absolute;left:50%;bottom:1rem;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:.3rem;padding:.3rem .5rem;border-radius:99px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);color:#fff}
.lightbox .lb-bar button{position:static;width:38px;height:38px;font-size:1.25rem;background:none;backdrop-filter:none}
.lightbox .lb-bar button:hover{background:rgba(255,255,255,.22)}
.lightbox .lb-bar .lb-level{width:auto;border-radius:99px;padding:0 .7rem;font:600 .85rem Manrope,sans-serif;min-width:58px}
.lb-count{font-size:.8rem;opacity:.8;padding:0 .6rem 0 .3rem}
.lb-count:empty{display:none}

/* Location hero with a cover picture (optional): model 1 shows it beside the copy, 2 as a banner, 3 as background */
.loc-cover{margin:0;grid-column:2;grid-row:1;border-radius:var(--radius-l);overflow:hidden;box-shadow:var(--shadow-l);aspect-ratio:4/3;background:#eef3ff}
.loc-cover img{display:block;width:100%;height:100%;object-fit:cover}
.loc-hero.has-cover .loc-hero-grid{grid-template-columns:1.1fr .9fr;align-items:center}
.loc-hero.has-cover .loc-facts{grid-column:1 / -1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.loc-hero.has-cover .loc-hero-copy{grid-column:1;grid-row:1}
.loc-hero[data-variant="2"].has-cover .loc-hero-grid{grid-template-columns:1fr}
.loc-hero[data-variant="2"].has-cover .loc-cover{grid-column:1;grid-row:auto;width:100%;aspect-ratio:21/9;order:2}
.loc-hero[data-variant="2"].has-cover .loc-facts{order:3}
.loc-hero[data-variant="3"].has-cover{background-size:cover}
.loc-hero[data-variant="3"].has-cover .loc-cover{position:absolute;inset:0;z-index:0;border-radius:0;box-shadow:none;aspect-ratio:auto;opacity:.28}
.loc-hero[data-variant="3"].has-cover .shell{position:relative;z-index:1}
@media (max-width:860px){.loc-hero.has-cover .loc-hero-grid{grid-template-columns:1fr}.loc-cover{grid-column:1;grid-row:auto}}

/* ---- Attached files (section "attached_files") ---- */
.att-list{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-s);overflow:hidden}
.att-list li{border-bottom:1px solid var(--line)}.att-list li:last-child{border-bottom:0}
.att-list a{display:flex;align-items:center;gap:1rem;padding:1rem 1.4rem;color:var(--navy-900);text-decoration:none;transition:background .2s}
.att-list a:hover{background:#f7f7fd}
.att-ico{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:12px;background:#eceefb;color:var(--navy-500);font-size:1.4rem;position:relative}
.att-ico b{position:absolute;bottom:2px;font-size:.5rem;letter-spacing:.05em}
.att-name{flex:1;min-width:0;font-weight:600}
.att-size{color:var(--muted);font-size:.85rem;white-space:nowrap}
.att-go{color:var(--navy-500);font-size:1.3rem}
.att-files[data-variant="2"] .att-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;background:none;border:0;box-shadow:none;overflow:visible}
.att-files[data-variant="2"] .att-list li{border:1px solid var(--line);border-radius:var(--radius-l);background:#fff;box-shadow:var(--shadow-s)}
.att-files[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.att-files[data-variant="3"] h2{color:#fff}.att-files[data-variant="3"] .eyebrow{color:var(--gold-300)}
.att-files[data-variant="3"] .att-list{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13);box-shadow:none}
.att-files[data-variant="3"] .att-list li{border-color:rgba(255,255,255,.1)}
.att-files[data-variant="3"] .att-list a{color:#fff}.att-files[data-variant="3"] .att-list a:hover{background:rgba(255,255,255,.06)}
.att-files[data-variant="3"] .att-ico{background:rgba(255,255,255,.1);color:var(--gold-300)}

/* Pictures inside rich text (articles, pages, free-content sections, doctor bio) */
.prose img,.dr-bio img,.art-body img,.text-body img,.rich img{display:block;max-width:100%;height:auto;margin:1.4rem 0;border-radius:var(--radius)}

/* Picture size and placement chosen in the editor (25/33/50/75% of the column; text wraps around left/right ones) */
.prose img[data-size="25"]{width:25%}.prose img[data-size="33"]{width:33%}
.prose img[data-size="50"]{width:50%}.prose img[data-size="75"]{width:75%}
.prose img[data-align="left"]{float:left;margin:.3rem 1.6rem 1rem 0}
.prose img[data-align="right"]{float:right;margin:.3rem 0 1rem 1.6rem}
.prose img[data-align="center"]{margin-left:auto;margin-right:auto}
.prose::after{content:"";display:block;clear:both}
@media (max-width:600px){.prose img[data-align="left"],.prose img[data-align="right"]{float:none;margin:1.2rem auto}}

/* Gallery designs without a heading; columns, spacing and highlight size come from the section's options */
.dr-gallery[data-variant="5"],.dr-gallery[data-variant="6"]{padding-top:clamp(1.5rem,3vw,2.6rem);padding-bottom:clamp(1.5rem,3vw,2.6rem)}
.drg-masonry{column-count:var(--cols,4);column-gap:var(--gap,1rem)}
.drg-masonry .drg-item{display:block;margin:0 0 var(--gap,1rem);break-inside:avoid}
.drg-masonry .drg-item img{height:auto}
.drg-hl-grid{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:var(--gap,1rem);grid-auto-flow:dense}
.drg-hl-grid .drg-item{aspect-ratio:1}
.drg-hl-grid .drg-item.is-hl{grid-column:span var(--hl,2);grid-row:span var(--hl,2)}
@media (max-width:820px){
  .drg-masonry{column-count:min(var(--cols,4),3)}
  .drg-hl-grid{grid-template-columns:repeat(min(var(--cols,4),3),minmax(0,1fr))}
  .drg-hl-grid .drg-item.is-hl{grid-column:span min(var(--hl,2),2);grid-row:span min(var(--hl,2),2)}
}
@media (max-width:520px){
  .drg-masonry{column-count:2}
  .drg-hl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .drg-hl-grid .drg-item.is-hl{grid-column:span 2;grid-row:span 2}
}

/* Mosaic: exactly N columns, filled one after another (see om_tags.split_columns) */
.drg-masonry{display:flex;align-items:flex-start;gap:var(--gap,1rem);column-count:auto}
.drg-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--gap,1rem)}
.drg-masonry .drg-item{margin:0}
@media (max-width:520px){.drg-masonry{flex-wrap:wrap}.drg-col{flex:1 1 calc(50% - var(--gap,1rem))}}

/* ---- Section dividers: height, width and thickness come from the section's options ---- */
.sep{background:var(--sec-bg,transparent);--sep-line:color-mix(in srgb,var(--sec-text,var(--navy-900)) 28%,transparent);--sep-gold:var(--sec-accent,var(--gold-500))}
.sep-box{height:var(--sep-h,64px);display:flex;align-items:center;justify-content:center}
.sep-mark{display:block;width:var(--sep-w,min(100% - 3rem,1180px));height:var(--sep-t,2px);background:var(--sep-line);border-radius:99px}
.sep[data-variant="2"] .sep-mark{position:relative;background:linear-gradient(to right,var(--sep-line) calc(50% - 22px),transparent 0 calc(50% + 22px),var(--sep-line) 0)}
.sep[data-variant="2"] .sep-mark::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:11px;background:var(--sep-gold);transform:translate(-50%,-50%) rotate(45deg)}
.sep[data-variant="3"] .sep-mark{height:0;background:none;border-radius:0;border-top:calc(var(--sep-t,2px) + 2px) dotted var(--sep-line)}
.sep[data-variant="4"] .sep-mark{height:calc(var(--sep-t,2px) * 4);background:none;border-radius:0;border-block:var(--sep-t,2px) solid var(--sep-line)}
.sep[data-variant="5"] .sep-mark{background:linear-gradient(90deg,transparent,var(--sep-gold) 20%,var(--gold-300) 50%,var(--sep-gold) 80%,transparent)}
.sep[data-variant="6"] .sep-mark{height:auto;width:auto;background:none;color:var(--sep-gold);font-size:1.1rem;letter-spacing:.5em;padding-left:.5em;line-height:1}
.sep[data-variant="7"] .sep-mark{height:12px;border-radius:0;background:var(--sep-gold);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12'%3E%3Cpath d='M0 6Q6 0 12 6T24 6' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") repeat-x center/24px 12px;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12'%3E%3Cpath d='M0 6Q6 0 12 6T24 6' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") repeat-x center/24px 12px}

/* ---- Hero with slides: every slide is another hero; the slides sit on top of each other ---- */
.hero-slider{position:relative;isolation:isolate}
.hs-track{display:grid}
.hs-slide{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s var(--ease),transform .8s var(--ease),visibility 0s .8s}
.hs-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1;transition-delay:0s}
.hs-slide.is-prev{opacity:0;visibility:visible;z-index:0}
.hero-slider[data-variant="2"] .hs-slide{transform:translateX(6%)}
.hero-slider[data-variant="2"] .hs-slide.is-prev{transform:translateX(-6%)}
.hero-slider[data-variant="2"] .hs-slide.is-active{transform:none}
.hs-slide>*{height:100%;box-sizing:border-box}
.hs-bar{position:absolute;left:50%;bottom:1.4rem;z-index:5;transform:translateX(-50%);display:flex;align-items:center;gap:.4rem;padding:.35rem .45rem;border-radius:99px;background:rgba(var(--navy-900-rgb,12,9,56),.6);backdrop-filter:blur(8px)}
.hs-arrow{width:34px;height:34px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;font-size:1.4rem;cursor:pointer;transition:background .2s}
.hs-arrow:hover{background:rgba(255,255,255,.18)}
.hs-dots{display:flex;gap:.55rem;padding:0 .4rem}
.hs-dot{width:10px;height:10px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.5);cursor:pointer;transition:width .3s,background .3s}
.hs-dot.is-active{width:28px;background:var(--gold-300)}
@media (max-width:700px){.hs-bar{bottom:.8rem}}
@media (prefers-reduced-motion:reduce){.hs-slide{transition:none}}

/* ======================================================================
   Hero spectaculos (.hx): pulse (ECG) line, blurred aurora blobs with scroll parallax,
   floating crosses and glass chips with mouse parallax, word-by-word headline.
   Palette per model through custom properties.
   ====================================================================== */
.hx{
  --hx-a:var(--navy-900);--hx-b:#15106a;--hx-c:var(--navy-950);--hx-text:#fff;--hx-mute:rgba(233,231,255,.78);
  --hx-glow1:rgba(var(--navy-400-rgb,106,92,232),.55);--hx-glow2:rgba(var(--gold-300-rgb,221,180,46),.32);--hx-glow3:rgba(var(--navy-500-rgb,49,36,198),.5);--hx-line:var(--gold-300);--hx-card:rgba(255,255,255,.08);--hx-card-line:rgba(255,255,255,.2);
  position:relative;isolation:isolate;overflow:hidden;min-height:100svh;display:flex;align-items:center;color:var(--hx-text);
  padding:clamp(8rem,13vw,11rem) 0 clamp(5.5rem,8vw,7rem);
  background:linear-gradient(160deg,var(--hx-a) 0%,var(--hx-b) 55%,var(--hx-c) 100%);
}
.hx[data-variant="2"]{--hx-a:#fbf9f2;--hx-b:#eeeafc;--hx-c:#f6f0dc;--hx-text:var(--navy-900);--hx-mute:rgba(var(--navy-900-rgb,12,9,56),.72);--hx-glow1:rgba(var(--navy-400-rgb,106,92,232),.3);--hx-glow2:rgba(var(--gold-300-rgb,221,180,46),.4);--hx-glow3:rgba(var(--navy-500-rgb,49,36,198),.2);--hx-line:var(--gold-600);--hx-card:rgba(255,255,255,.72);--hx-card-line:rgba(var(--navy-900-rgb,12,9,56),.12)}
.hx[data-variant="3"]{--hx-a:#1b1490;--hx-b:var(--navy-500);--hx-c:#0f0a5c;--hx-glow1:rgba(160,150,255,.5);--hx-glow2:rgba(var(--gold-300-rgb,221,180,46),.4)}
.hx-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hx-layer{position:absolute;inset:-10% -5%;will-change:transform}
.hx-blob{position:absolute;border-radius:50%;filter:blur(80px);animation:hx-drift 16s ease-in-out infinite alternate}
.hx-blob-a{width:52vw;height:52vw;left:-12vw;top:-6vw;background:radial-gradient(circle at 40% 40%,var(--hx-glow1),transparent 68%)}
.hx-blob-b{width:42vw;height:42vw;right:-8vw;top:18vh;background:radial-gradient(circle,var(--hx-glow3),transparent 66%);animation-duration:20s;animation-delay:-6s}
.hx-blob-c{width:34vw;height:34vw;left:34vw;bottom:-10vw;background:radial-gradient(circle,var(--hx-glow2),transparent 70%);animation-duration:24s;animation-delay:-11s}
@keyframes hx-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(4vw,3vw,0) scale(1.14)}}
.hx-grid{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(currentColor 1px,transparent 1px),linear-gradient(90deg,currentColor 1px,transparent 1px);background-size:64px 64px;color:color-mix(in srgb,var(--hx-text) 7%,transparent);-webkit-mask:radial-gradient(70% 60% at 50% 40%,#000,transparent);mask:radial-gradient(70% 60% at 50% 40%,#000,transparent)}
.hx-ecg{position:absolute;left:0;right:0;top:56%;width:100%;height:clamp(120px,20vw,240px);transform:translateY(-50%);overflow:visible}
.hx-ecg path{fill:none;stroke:var(--hx-line);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.34 1;vector-effect:non-scaling-stroke;animation:hx-ecg 5.5s linear infinite}
.hx-ecg-line{stroke-width:2.4;opacity:.9}
.hx-ecg-glow{stroke-width:9;opacity:.3;filter:blur(7px)}
@keyframes hx-ecg{from{stroke-dashoffset:.34}to{stroke-dashoffset:-1}}
.hx-cross{position:absolute;width:var(--s,20px);height:var(--s,20px);transform:translate3d(calc(var(--mx,0) * var(--d,0) * 1px),calc(var(--my,0) * var(--d,0) * 1px),0);transition:transform .25s ease-out}
.hx-cross i{position:absolute;inset:0;display:block;color:var(--hx-line);opacity:.5;animation:hx-float var(--t,10s) ease-in-out infinite alternate}
.hx-cross i::before,.hx-cross i::after{content:"";position:absolute;background:currentColor;border-radius:3px}
.hx-cross i::before{left:38%;right:38%;top:0;bottom:0}.hx-cross i::after{top:38%;bottom:38%;left:0;right:0}
@keyframes hx-float{from{transform:translateY(0) rotate(0)}to{transform:translateY(-22px) rotate(35deg)}}

.hx-inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.hx-eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1.4rem;padding:.42rem .95rem;border:1px solid var(--hx-card-line);border-radius:99px;background:var(--hx-card);backdrop-filter:blur(8px);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hx-mute)}
.hx-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--gold-300);box-shadow:0 0 0 0 rgba(var(--gold-300-rgb,221,180,46),.6);animation:hx-ping 2s ease-out infinite}
@keyframes hx-ping{to{box-shadow:0 0 0 12px rgba(var(--gold-300-rgb,221,180,46),0)}}
.hx-title{margin:0 0 1.3rem;font-size:clamp(2.6rem,6.4vw,5.6rem);line-height:1.02;letter-spacing:-.02em;color:var(--hx-text)}
.hx-title em{--hx-gold:linear-gradient(100deg,var(--grad-a,var(--gold-300)),var(--grad-light,#fff3c4) 40%,var(--grad-a,var(--gold-300)) 70%,var(--grad-dark-b,#b88f05));font-style:normal;background:var(--hx-gold);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hx-shine 6s linear infinite}
.hx-title em .hx-w>span{background-image:var(--hx-gold);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hx-word .9s cubic-bezier(.2,.8,.2,1) forwards,hx-shine 6s linear infinite;animation-delay:calc(.25s + var(--i,0) * .09s),0s}
.hx[data-variant="2"] .hx-title em{--hx-gold:linear-gradient(100deg,var(--grad-dark-a,var(--gold-600)),var(--grad-mid,#dcae1f) 40%,var(--grad-dark-a,var(--gold-600)) 70%,var(--grad-dark-b,var(--gold-700)))}
@keyframes hx-shine{to{background-position:-220% 0}}
.hx-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.hx-w>span{display:inline-block;transform:translateY(112%) rotate(3deg);animation:hx-word .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.25s + var(--i,0) * .09s)}
@keyframes hx-word{to{transform:none}}
.hx-lede{max-width:34rem;margin:0 0 2rem;font-size:clamp(1.02rem,1.4vw,1.2rem);line-height:1.65;color:var(--hx-mute)}
.hx-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2.4rem}
.hx[data-variant="2"] .btn-light{background:var(--navy-900);color:#fff}.hx[data-variant="2"] .btn-light:hover{background:var(--navy-600)}
.hx[data-variant="2"] .btn-ghost{border-color:rgba(var(--navy-900-rgb,12,9,56),.25);color:var(--navy-900);background:rgba(255,255,255,.6)}
.hx-stats{display:flex;flex-wrap:wrap;gap:1rem 1.2rem;margin:0;padding:0;list-style:none}
.hx-stats li{min-width:8.5rem;padding:.85rem 1.1rem;border:1px solid var(--hx-card-line);border-radius:14px;background:var(--hx-card);backdrop-filter:blur(10px)}
.hx-stats strong{display:block;font-family:var(--font-display);font-size:1.5rem;line-height:1.1;color:var(--hx-text)}
.hx-stats span{font-size:.82rem;color:var(--hx-mute)}

.hx-visual{position:relative;aspect-ratio:1;max-width:560px;width:100%;margin-inline:auto;display:grid;place-items:center}
.hx-ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--hx-line);opacity:0;animation:hx-pulse 4.5s ease-out infinite}
.hx-ring-2{animation-delay:1.5s}.hx-ring-3{animation-delay:3s}
@keyframes hx-pulse{0%{transform:scale(.55);opacity:.7}100%{transform:scale(1.05);opacity:0}}
.hx-frame{position:relative;width:74%;aspect-ratio:1;display:grid;place-items:center;border-radius:46% 54% 50% 50% / 52% 48% 52% 48%;overflow:hidden;border:1px solid var(--hx-card-line);background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.03));box-shadow:0 40px 90px -30px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.06);animation:hx-morph 14s ease-in-out infinite alternate;transform:translate3d(calc(var(--mx,0) * var(--d,0) * 1px),calc(var(--my,0) * var(--d,0) * 1px),0)}
@keyframes hx-morph{to{border-radius:54% 46% 44% 56% / 46% 56% 44% 54%}}
.hx-frame img{width:100%;height:100%;object-fit:cover}
.hx-heart{width:72%;filter:drop-shadow(0 0 18px rgba(var(--navy-400-rgb,106,92,232),.6));animation:hx-beat 1.6s ease-in-out infinite}
.hx-heart-beat{stroke:var(--hx-text);stroke-dasharray:1;animation:hx-draw 3.2s ease-in-out infinite}
@keyframes hx-beat{0%,100%{transform:scale(1)}14%{transform:scale(1.07)}28%{transform:scale(1)}42%{transform:scale(1.045)}}
@keyframes hx-draw{0%{stroke-dashoffset:1}60%,100%{stroke-dashoffset:0}}
.hx-chip{position:absolute;display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem .7rem .8rem;border:1px solid var(--hx-card-line);border-radius:16px;background:var(--hx-card);backdrop-filter:blur(14px);box-shadow:0 20px 44px -22px rgba(0,0,0,.5);transform:translate3d(calc(var(--mx,0) * var(--d,0) * 1px),calc(var(--my,0) * var(--d,0) * 1px),0);animation:hx-bob 6s ease-in-out infinite alternate}
.hx-chip i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--gold-300);color:var(--navy-950);font-size:1.3rem}
.hx-chip b{display:block;font-size:.92rem;color:var(--hx-text)}.hx-chip small{font-size:.76rem;color:var(--hx-mute)}
.hx-chip-1{left:-4%;top:14%}.hx-chip-2{right:-2%;bottom:12%;animation-delay:-3s}
.hx-chip.is-closed i{background:#c9cbe0}
@keyframes hx-bob{to{margin-top:-12px}}
.hx-scroll{position:absolute;left:50%;bottom:1.6rem;width:26px;height:42px;margin-left:-13px;border:2px solid var(--hx-card-line);border-radius:14px}
.hx-scroll span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--hx-line);animation:hx-wheel 1.8s ease-in-out infinite}
@keyframes hx-wheel{0%{transform:translateY(0);opacity:1}100%{transform:translateY(14px);opacity:0}}
.hero-slider .hx-scroll{display:none}
@media (max-width:960px){
  .hx-inner{grid-template-columns:1fr}
  .hx-visual{max-width:380px;order:-1}
  .hx-chip-1{left:0}.hx-chip-2{right:0}
  .hx{padding-top:7.5rem}
}
@media (max-width:520px){.hx-stats li{flex:1 1 40%;min-width:0}.hx-visual{max-width:300px}}
@media (prefers-reduced-motion:reduce){
  .hx *{animation:none !important;transition:none !important}
  .hx-w>span{transform:none}.hx-ecg path{stroke-dasharray:none}
}

/* ======================================================================
   Hero floral (.hb): transparent stethoscope picture with a glowing halo, flapping SVG butterflies
   that drift around (mouse + scroll parallax), falling petals, soft pastel background.
   ====================================================================== */
.hb{
  --hb-a:#f6f9ff;--hb-b:#e4edfc;--hb-c:#fdfbf3;--hb-text:var(--navy-900);--hb-mute:rgba(var(--navy-900-rgb,12,9,56),.7);--hb-accent:#3d63c9;--hb-accent2:#7ea2ee;
  --hb-halo:radial-gradient(circle,rgba(126,162,238,.42),rgba(126,162,238,0) 68%);--hb-card:rgba(255,255,255,.75);--hb-line:rgba(61,99,201,.18);--hb-petal:rgba(255,255,255,.95);
  position:relative;isolation:isolate;overflow:hidden;min-height:100svh;display:flex;align-items:center;color:var(--hb-text);
  padding:clamp(8rem,12vw,10.5rem) 0 clamp(4.5rem,7vw,6.5rem);
  background:linear-gradient(165deg,var(--hb-a) 0%,var(--hb-b) 55%,var(--hb-c) 100%);
}
.hb[data-variant="2"]{--hb-a:#fffaf0;--hb-b:#f8eedb;--hb-c:#eef3fd;--hb-accent:var(--gold-600);--hb-accent2:var(--gold-300);--hb-halo:radial-gradient(circle,rgba(var(--gold-300-rgb,221,180,46),.34),rgba(var(--gold-300-rgb,221,180,46),0) 68%);--hb-line:rgba(160,124,3,.22)}
.hb[data-variant="3"]{--hb-a:#0c1a4a;--hb-b:#16308a;--hb-c:#0a0f38;--hb-text:#fff;--hb-mute:rgba(226,234,255,.8);--hb-accent:var(--gold-300);--hb-accent2:#fff3c4;--hb-halo:radial-gradient(circle,rgba(190,208,255,.55),rgba(190,208,255,0) 66%);--hb-card:rgba(255,255,255,.1);--hb-line:rgba(255,255,255,.22)}
.hb-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hb-layer{position:absolute;inset:-10% -5%;will-change:transform}
.hb-blob{position:absolute;border-radius:50%;filter:blur(70px);animation:hx-drift 18s ease-in-out infinite alternate}
.hb-blob-a{width:46vw;height:46vw;left:-10vw;top:-4vw;background:radial-gradient(circle,rgba(126,162,238,.4),transparent 68%)}
.hb-blob-b{width:40vw;height:40vw;right:-8vw;bottom:-6vw;background:radial-gradient(circle,rgba(var(--gold-300-rgb,221,180,46),.26),transparent 70%);animation-delay:-8s}
.hb[data-variant="3"] .hb-blob-a{background:radial-gradient(circle,rgba(var(--navy-400-rgb,106,92,232),.55),transparent 68%)}

.hb-depth{position:absolute;transform:translate3d(calc(var(--mx,0) * var(--d,0) * 1px),calc(var(--my,0) * var(--d,0) * 1px),0);transition:transform .3s ease-out}
.hb-fly{display:block;width:var(--sz,44px);height:calc(var(--sz,44px) * .8);color:var(--c,#5b86d6);opacity:.9;filter:drop-shadow(0 6px 8px rgba(30,50,120,.18));animation:hb-path var(--t,10s) ease-in-out infinite alternate}
.hb-fly .hb-w{transform-origin:50px 40px;animation:hb-flap .42s ease-in-out infinite alternate}
@keyframes hb-flap{from{transform:scaleX(1)}to{transform:scaleX(.22)}}
@keyframes hb-path{0%{transform:translate(0,0) rotate(-10deg)}35%{transform:translate(calc(var(--dx) * .5),calc(var(--dy) * -.6)) rotate(8deg)}70%{transform:translate(calc(var(--dx) * .9),calc(var(--dy) * .5)) rotate(-6deg)}100%{transform:translate(var(--dx),var(--dy)) rotate(12deg)}}
.hb-petal{position:absolute;top:-4%;width:11px;height:16px;border-radius:70% 0 70% 0;background:var(--hb-petal);box-shadow:0 2px 6px rgba(61,99,201,.18);opacity:0;animation:hb-fall var(--t,14s) linear infinite}
.hb-petal:nth-child(odd){width:8px;height:12px}
@keyframes hb-fall{0%{transform:translate(0,-6vh) rotate(0);opacity:0}10%{opacity:.9}50%{transform:translate(34px,52vh) rotate(160deg)}90%{opacity:.8}100%{transform:translate(-20px,110vh) rotate(330deg);opacity:0}}

.hb-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.hb-eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1.3rem;padding:.42rem .95rem;border:1px solid var(--hb-line);border-radius:99px;background:var(--hb-card);backdrop-filter:blur(8px);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hb-mute)}
.hb-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--hb-accent);animation:hx-ping 2.2s ease-out infinite}
.hb-title{margin:0 0 1.2rem;font-size:clamp(2.4rem,5.6vw,5rem);line-height:1.05;letter-spacing:-.02em;color:var(--hb-text)}
.hb-title em{font-style:normal;font-family:var(--font-display);font-weight:400;font-style:italic;--hb-grad:linear-gradient(100deg,var(--hb-accent),var(--hb-accent2) 45%,var(--hb-accent));background:var(--hb-grad);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hx-shine 7s linear infinite}
.hb-title .hx-w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .04em .14em;margin-bottom:-.14em}
.hb-title .hx-w>span{display:inline-block;transform:translateY(112%) rotate(3deg);animation:hx-word .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.25s + var(--i,0) * .09s)}
.hb-title em .hx-w>span{background-image:var(--hb-grad);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hx-word .9s cubic-bezier(.2,.8,.2,1) forwards,hx-shine 7s linear infinite;animation-delay:calc(.25s + var(--i,0) * .09s),0s}
.hb-lede{max-width:33rem;margin:0 0 1.9rem;font-size:clamp(1.02rem,1.4vw,1.18rem);line-height:1.7;color:var(--hb-mute)}
.hb-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2.2rem}
.hb:not([data-variant="3"]) .btn-ghost{border-color:var(--hb-line);color:var(--hb-text);background:rgba(255,255,255,.6)}
.hb-stats{display:flex;flex-wrap:wrap;gap:1rem;margin:0;padding:0;list-style:none}
.hb-stats li{min-width:9rem;padding:.85rem 1.15rem;border:1px solid var(--hb-line);border-radius:16px;background:var(--hb-card);backdrop-filter:blur(10px)}
.hb-stats strong{display:block;font-family:var(--font-display);font-size:1.5rem;line-height:1.1;color:var(--hb-text)}
.hb-stats span{font-size:.82rem;color:var(--hb-mute)}

.hb-visual{position:relative;display:grid;place-items:center;min-height:0}
.hb-halo{position:absolute;width:86%;aspect-ratio:1;border-radius:50%;background:var(--hb-halo);animation:hb-halo 6s ease-in-out infinite alternate}
@keyframes hb-halo{from{transform:scale(.92);opacity:.75}to{transform:scale(1.06);opacity:1}}
.hb-art{position:relative;width:min(100%,520px)}
.hb-art-in{transform:translate3d(calc(var(--mx,0) * var(--d,0) * 1px),calc(var(--my,0) * var(--d,0) * 1px),0);transition:transform .3s ease-out}
.hb-art img{display:block;width:100%;height:auto;filter:drop-shadow(0 28px 34px rgba(40,70,150,.22));animation:hb-sway 8s ease-in-out infinite alternate}
.hb[data-variant="3"] .hb-art img{filter:drop-shadow(0 0 46px rgba(190,208,255,.4))}
@keyframes hb-sway{from{transform:translateY(0) rotate(-1.2deg)}to{transform:translateY(-16px) rotate(1.2deg)}}
@media (max-width:960px){
  .hb-inner{grid-template-columns:1fr}
  .hb-visual{order:-1;max-width:380px;margin-inline:auto}
  .hb{padding-top:7rem}
}
@media (max-width:520px){.hb-stats li{flex:1 1 40%;min-width:0}}
@media (prefers-reduced-motion:reduce){
  .hb *{animation:none !important;transition:none !important}
  .hb-petal{display:none}
}

/* "Trimitem un SMS pe 07•• •••123 — continuăm?" — fereastra cerută înainte de orice SMS de confirmare (JS: smsGate) */
dialog.sms-gate{width:min(420px,92vw);padding:1.8rem;border:0;border-radius:20px;box-shadow:0 30px 80px rgba(var(--navy-900-rgb,12,9,56),.35);text-align:center;color:var(--navy-900)}
dialog.sms-gate::backdrop{background:rgba(var(--navy-900-rgb,12,9,56),.55)}
dialog.sms-gate[open]{animation:sms-gate-in .3s cubic-bezier(.2,.9,.3,1.15)}
dialog.sms-gate[open]::backdrop{animation:sms-gate-fade .25s ease-out}
.sms-gate-icon{width:56px;height:56px;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;font-size:1.7rem;background:rgba(var(--gold-500-rgb,192,149,3),.14);color:var(--gold-500)}
.sms-gate h2{margin:0 0 .6rem;font-size:1.25rem}
.sms-gate p{margin:0;color:var(--muted);line-height:1.55}
.sms-gate-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:1.3rem}
.sms-gate-actions .btn{justify-content:center}
.sms-gate-actions [data-sms-no]{background:transparent;color:var(--navy-900);border:1.5px solid var(--line)}
.sms-gate-actions [data-sms-no]:hover{border-color:var(--navy-700);background:rgba(var(--navy-950-rgb,7,4,32),.04)}
@keyframes sms-gate-in{from{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:none}}
@keyframes sms-gate-fade{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){dialog.sms-gate[open],dialog.sms-gate[open]::backdrop{animation:none}}

/* the banner under the header: chosen service (+ date and time on step 3) */
.apt-summary{flex-direction:column;align-items:stretch;gap:.7rem;padding:.9rem 1.3rem;
  background:linear-gradient(135deg,rgba(var(--gold-500-rgb,192,149,3),.12),rgba(var(--gold-500-rgb,192,149,3),.04)),#fff;border-bottom:1.5px solid var(--gold-500);
  box-shadow:0 8px 18px -12px rgba(var(--navy-900-rgb,12,9,56),.4)}
.apt-sum-row{display:flex;align-items:center;gap:.9rem}
.apt-sum-when{padding-top:.7rem;border-top:1px dashed rgba(var(--gold-500-rgb,192,149,3),.5)}
.apt-sum-when>.mdi{flex:none;width:32px;text-align:center;font-size:1.5rem;color:var(--gold-500)}
.apt-svc-current-icon{flex:none;width:32px;display:grid;place-items:center;color:var(--gold-500);font-size:1.5rem}
.apt-svc-current-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.apt-svc-current-text small{font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.apt-svc-current-text strong{color:var(--navy-900);font-size:1rem}
.apt-svc-current-price{color:var(--navy-600);font-weight:700;font-size:.9rem}
.apt-svc-change{flex:none;display:inline-flex;align-items:center;gap:.3rem;padding:.5rem .85rem;border:1.5px solid var(--line);border-radius:99px;background:#fff;
  font:inherit;font-size:.85rem;font-weight:600;color:var(--navy-600);cursor:pointer;transition:border-color .2s,box-shadow .2s}
.apt-svc-change:hover{border-color:var(--gold-500);box-shadow:var(--shadow-s)}
.apt-svc-change[hidden],.apt-sum-row[hidden]{display:none}

/* banner rows share one type scale: bold 1rem title, 0.85rem secondary line */
.apt-summary .apt-svc-current-text,.apt-summary .apt-summary-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem;line-height:1.3}
.apt-summary .apt-svc-current-text strong,.apt-summary .apt-summary-text strong{font-size:1rem;font-weight:700;color:var(--navy-900)}
.apt-summary .apt-svc-current-price,.apt-summary .apt-summary-text span{font-size:.85rem;font-weight:600;color:var(--navy-600);white-space:normal;overflow:visible}

/* Font of buttons: follows the body font unless "Aspect" sets --font-button */
button,.btn,.nav-cta,input[type="submit"]{font-family:var(--font-button,inherit)}

/* The banner scrolls with the step (inside the scrolling body), full width, never fixed */
.apt-modal-body>.apt-summary{margin:-1.6rem -1.6rem 1.3rem;box-shadow:none}

/* Mobile header: logo and menu button sit a little in from the screen edges */
@media (max-width:860px){
  .site-header .header-inner{padding-inline:.9rem}
}

/* ==========================================================================
   Mobile menu: opens out of the header bar, as part of it
   The bar and the menu are one card: the menu is in the header's own flow, so the card (the header's
   ::before) grows with it. Links appear one after another.
   ========================================================================== */
@media (max-width:860px){
  .header-inner{flex-wrap:wrap;row-gap:0}
  /* the floating bar is a pill ~62px tall: a real radius (not 999px) so opening it morphs smoothly into the card */
  .site-header.is-stuck::before,
  .site-header.is-stuck.is-over-hero:not(.is-hero-dark)::before{border-radius:31px}
  .site-header::before{transition:opacity .35s var(--ease),inset .35s var(--ease),border-radius .45s var(--ease),box-shadow .35s var(--ease),background .3s}
  .site-header::after{
    content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
    background:rgba(var(--navy-950-rgb,7,4,32),.4);opacity:0;transition:opacity .4s var(--ease);
  }
  .site-header.menu-open::after{opacity:1}
  .site-header.menu-open{padding:calc(.55rem + 10px) 0}
  .site-header.menu-open::before,
  .site-header.menu-open.is-stuck::before,
  .site-header.menu-open.is-stuck.is-over-hero:not(.is-hero-dark)::before{
    opacity:1;inset:10px 14px;border-radius:28px;
    /* opaque from the first frame: no frosted/translucent card showing while the menu opens */
    background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;
    transition:opacity .12s linear,inset .4s var(--ease),border-radius .45s var(--ease),box-shadow .35s var(--ease);
    border:1px solid rgba(255,255,255,.9);
    box-shadow:0 0 0 1px rgba(var(--navy-600-rgb,40,31,163),.10),0 24px 60px -18px rgba(var(--navy-900-rgb,12,9,56),.55);
  }
  /* on a dark hero the bar is light-on-dark: while the menu is open it is the white card, so go dark-on-light */
  .site-header.menu-open.is-hero-dark .brand-logo .logo-color{display:block}
  .site-header.menu-open.is-hero-dark .brand-logo .logo-light{display:none}
  .site-header.menu-open .nav-toggle span{background:var(--navy-900)}

  .site-header .site-nav{
    position:static;order:3;flex:0 0 100%;width:100%;margin:0;padding:0;
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    background:none;box-shadow:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none;
    max-height:0;overflow:hidden;opacity:1;visibility:hidden;transform:none;
    transition:max-height .5s var(--ease),visibility 0s .5s;
  }
  .site-header .site-nav.open{max-height:var(--nav-h,80vh);visibility:visible;transition:max-height .55s var(--ease),visibility 0s}
  .site-header .site-nav>*{opacity:0;transform:translateY(-10px);transition:opacity .25s var(--ease),transform .35s var(--ease)}
  .site-header .site-nav.open>*{opacity:1;transform:none;transition-duration:.4s,.5s;transition-delay:.5s}
  .site-header .site-nav.open>:nth-child(1){transition-delay:.08s}
  .site-header .site-nav.open>:nth-child(2){transition-delay:.13s}
  .site-header .site-nav.open>:nth-child(3){transition-delay:.18s}
  .site-header .site-nav.open>:nth-child(4){transition-delay:.23s}
  .site-header .site-nav.open>:nth-child(5){transition-delay:.28s}
  .site-header .site-nav.open>:nth-child(6){transition-delay:.33s}
  .site-header .site-nav.open>:nth-child(7){transition-delay:.38s}
  .site-header .site-nav.open>:nth-child(8){transition-delay:.43s}

  .site-header .site-nav>a{
    display:flex;align-items:center;justify-content:space-between;
    padding:1.05rem .3rem;border-radius:0;border-top:1px solid var(--line);
    color:var(--navy-900) !important;font-size:1.08rem;font-weight:600;
  }
  .site-header .site-nav>a:first-child{margin-top:.55rem}
  .site-header .site-nav>a::after{
    position:static;display:block !important;content:"›";transform:none;height:auto;width:auto;background:none;
    font-size:1.5rem;line-height:1;color:var(--gold-500);
  }
  .site-header .site-nav>a.active{color:var(--navy-500) !important}
  .site-header .site-nav>a.active::after{color:var(--navy-500)}
  .site-header .site-nav>a.nav-cta{
    justify-content:center;margin:1rem 0 .3rem;padding:.95rem 1.2rem !important;border:0;border-radius:999px;
    background:linear-gradient(120deg,var(--navy-800),var(--navy-600));color:#fff !important;
    box-shadow:0 14px 28px -14px rgba(var(--navy-800-rgb,21,17,88),.6);
  }
  .site-header .site-nav>a.nav-cta::after{display:none !important}
  .site-header .site-nav>a.nav-account{
    margin:.3rem 0 .7rem;padding:.7rem .9rem !important;border:1.5px solid var(--line);border-radius:999px;justify-content:flex-start;gap:.7rem;
  }
  .site-header .site-nav>a.nav-account::after{margin-left:auto}
  .site-header .site-nav>a.nav-account-avatar,.site-header .nav-account-avatar{background:var(--navy-900);color:#fff}
}
@media (prefers-reduced-motion:reduce){
  .site-header .site-nav,.site-header .site-nav>*,.site-header::after{transition:none !important}
}

/* a single (dark) logo shown on a dark background: turned into a white silhouette */
.logo-invert{filter:brightness(0) invert(1)}

/* Hero spectaculos, Model 4: the colours of the Triumf logo (blue #1a73e8, red #ed1c24) on white.
   Fixed colours on purpose, so it matches the logo whatever the site palette is. The picture is shown whole
   (no blob crop), so a drawn hero such as hero-puls keeps its cross and ring. */
.hx[data-variant="4"]{
  --hx-a:#ffffff;--hx-b:#e9f2fe;--hx-c:#f5f9ff;--hx-text:#0b2a5b;--hx-mute:rgba(11,42,91,.72);
  --hx-glow1:rgba(26,115,232,.30);--hx-glow2:rgba(237,28,36,.16);--hx-glow3:rgba(26,115,232,.18);
  --hx-line:#ed1c24;--hx-card:rgba(255,255,255,.82);--hx-card-line:rgba(11,79,179,.16);
}
.hx[data-variant="4"] .hx-grid{color:color-mix(in srgb,#1a73e8 14%,transparent)}
.hx[data-variant="4"] .hx-title em{--hx-gold:linear-gradient(100deg,#c40d14,#ed1c24 45%,#ff5a4f 70%,#c40d14)}
.hx[data-variant="4"] .hx-eyebrow .dot{background:#ed1c24;box-shadow:0 0 0 0 rgba(237,28,36,.5)}
.hx[data-variant="4"] .btn-light{background:#1a73e8;color:#fff;box-shadow:0 14px 28px -14px rgba(26,115,232,.7)}
.hx[data-variant="4"] .btn-light:hover{background:#0b4fb3}
.hx[data-variant="4"] .btn-ghost{border-color:rgba(26,115,232,.4);color:#0b4fb3;background:rgba(255,255,255,.7)}
.hx[data-variant="4"] .hx-ring{border-color:#1a73e8}
.hx[data-variant="4"] .hx-cross i{color:#ed1c24;opacity:.45}
.hx[data-variant="4"] .hx-cross:nth-of-type(even) i{color:#1a73e8}
.hx[data-variant="4"] .hx-chip i{background:#1a73e8;color:#fff}
.hx[data-variant="4"] .hx-chip.is-closed i{background:#b9c7dd}
.hx[data-variant="4"] .hx-frame{width:94%;border:0;border-radius:0;background:none;overflow:visible;box-shadow:none;animation:none}
.hx[data-variant="4"] .hx-frame img{object-fit:contain;filter:drop-shadow(0 28px 40px rgba(11,79,179,.22))}
.hx[data-variant="4"] .hx-scroll span{background:#ed1c24}

/* ==========================================================================
   Paleta Triumf: the "Triumf" model of every section (see TRIUMF_MODELS in helpers/sections.py).
   Blue #1a73e8 replaces the indigo and red #ed1c24 the gold, for everything inside the section,
   cards and decorations included. The colours are fixed on purpose: they match the logo whatever
   the site palette (Aspect) is.
   ========================================================================== */
[data-palette="triumf"]{
  --navy-950:#04152a;--navy-900:#072246;--navy-800:#0c3975;--navy-700:#1050a4;--navy-600:#1565ce;--navy-500:#1a73e8;--navy-400:#5295ee;
  --gold-700:#ac0e14;--gold-600:#d11118;--gold-500:#ed1c24;--gold-300:#f1555b;--gold-100:#fbd0d1;
  --paper:#f7faff;--paper-2:#eaf2fd;--line:#d5e3f8;--ink:#0a1f45;--ink-2:#34507f;--muted:#667c9f;--ice:#e6f0ff;--slate:#8da6cf;
  --shadow-s:0 2px 10px rgba(10,42,100,.07);--shadow-m:0 18px 40px -22px rgba(10,42,100,.34);--shadow-l:0 40px 90px -40px rgba(10,42,100,.5);
  --gold-500-rgb:237,28,36;--gold-300-rgb:241,85,91;
  --navy-950-rgb:4,21,42;--navy-900-rgb:7,34,70;--navy-800-rgb:12,57,117;--navy-700-rgb:16,80,164;--navy-600-rgb:21,101,206;--navy-500-rgb:26,115,232;--navy-400-rgb:82,149,238;
  --grad-a:#f1555b;--grad-b:#ed1c24;--grad-light:#ff9a9d;--grad-mid:#e0373d;--grad-dark-a:#d11118;--grad-dark-b:#ac0e14;
}

/* ==========================================================================
   Hero familie 3D (.hf, "Hero 19"): a scene of geometric family figures, hearts, crosses and rings, no pictures.
   Fixed colours on purpose: blue #266cdf and red #f81212. Depth comes from real 3D: the scene (perspective on the
   stage, preserve-3d) tilts with the mouse (--mx / --my, set by the hero script) and sways on its own, its parts sit
   at different translateZ; the background layers drift on scroll (data-parallax). Sizes inside the stage use cqw,
   so the scene scales as a whole. Models: 1 light, 2 intense blue, 3 centred on dark.
   ========================================================================== */
.hf{
  --hf-a:#ffffff;--hf-b:#eaf2ff;--hf-c:#fdeeee;--hf-text:#0f2b66;--hf-mute:rgba(15,43,102,.74);
  --hf-card:rgba(255,255,255,.82);--hf-card-line:rgba(38,108,223,.18);--hf-line:#f81212;--hf-glow:rgba(38,108,223,.28);--hf-glow2:rgba(248,18,18,.16);
  --hf-grad:linear-gradient(100deg,#c40d0d,#f81212 45%,#ff5c5c 70%,#c40d0d);
  --hf-pa:#9ec3ff;--hf-pb:#266cdf;--hf-pc:#143f94;--hf-ra:#ff8d8d;--hf-rb:#f81212;--hf-rc:#a80808;
  position:relative;isolation:isolate;overflow:hidden;min-height:100svh;display:flex;align-items:center;color:var(--hf-text);
  padding:clamp(8rem,13vw,11rem) 0 clamp(5.5rem,8vw,7rem);
  background:linear-gradient(160deg,var(--hf-a) 0%,var(--hf-b) 55%,var(--hf-c) 100%);
}
.hf[data-variant="2"]{
  --hf-a:#1b57bb;--hf-b:#266cdf;--hf-c:#1a4fae;--hf-text:#fff;--hf-mute:rgba(255,255,255,.84);--hf-card:rgba(255,255,255,.13);--hf-card-line:rgba(255,255,255,.3);
  --hf-line:#ffffff;--hf-glow:rgba(255,255,255,.22);--hf-glow2:rgba(248,18,18,.38);--hf-grad:linear-gradient(100deg,#ffd6d6,#ff8484 45%,#ffd6d6 75%,#ff9d9d);
  --hf-pa:#ffffff;--hf-pb:#dbe8ff;--hf-pc:#8fb0ee;
}
.hf[data-variant="3"]{
  --hf-a:#06132c;--hf-b:#0b2150;--hf-c:#10153a;--hf-text:#fff;--hf-mute:rgba(226,236,255,.8);--hf-card:rgba(255,255,255,.08);--hf-card-line:rgba(255,255,255,.2);
  --hf-line:#f81212;--hf-glow:rgba(38,108,223,.5);--hf-glow2:rgba(248,18,18,.34);--hf-grad:linear-gradient(100deg,#ffb3b3,#ff5c5c 45%,#ffb3b3 75%,#ff7a7a);
  --hf-pa:#ffffff;--hf-pb:#cfe0ff;--hf-pc:#7a9fe0;
}
.hf-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hf-layer{position:absolute;inset:-10% -5%;will-change:transform}
.hf-blob{position:absolute;border-radius:50%;filter:blur(80px);animation:hx-drift 18s ease-in-out infinite alternate}
.hf-blob-a{width:52vw;height:52vw;left:-12vw;top:-8vw;background:radial-gradient(circle at 40% 40%,var(--hf-glow),transparent 68%)}
.hf-blob-b{width:44vw;height:44vw;right:-10vw;top:14vh;background:radial-gradient(circle,var(--hf-glow2),transparent 66%);animation-duration:23s;animation-delay:-7s}
.hf-floorgrid{position:absolute;left:-15%;right:-15%;bottom:-6%;height:58%;transform:perspective(520px) rotateX(64deg);transform-origin:50% 100%;
  background-image:linear-gradient(color-mix(in srgb,var(--hf-pb) 38%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--hf-pb) 38%,transparent) 1px,transparent 1px);
  background-size:64px 64px;-webkit-mask-image:linear-gradient(to top,#000,transparent 88%);mask-image:linear-gradient(to top,#000,transparent 88%);opacity:.55}
.hf[data-variant="1"] .hf-floorgrid{--hf-pb:#266cdf}
.hf-dot,.hf-mini,.hf-plus{position:absolute;translate:calc(var(--mx,0) * var(--d,20) * 1px) calc(var(--my,0) * var(--d,20) * 1px)}
.hf-dot{border-radius:50%;background:radial-gradient(circle at 32% 30%,#fff,var(--hf-pb) 55%,var(--hf-pc));opacity:.75;animation:hf-float 9s ease-in-out infinite alternate}
.hf-dot-1{width:22px;height:22px;left:6%;top:24%;--d:30}.hf-dot-2{width:14px;height:14px;left:46%;top:10%;--d:-24;background:radial-gradient(circle at 32% 30%,#fff,#f81212 60%,#a80808);animation-delay:-3s}
.hf-dot-3{width:30px;height:30px;left:92%;top:20%;--d:40;animation-delay:-5s}.hf-dot-4{width:16px;height:16px;left:10%;top:80%;--d:-36;background:radial-gradient(circle at 32% 30%,#fff,#f81212 60%,#a80808);animation-delay:-2s}
.hf-dot-5{width:20px;height:20px;left:54%;top:86%;--d:28;animation-delay:-6s}
.hf-mini{width:30px;fill:#f81212;opacity:.55;animation:hf-float 11s ease-in-out infinite alternate}
.hf-mini-1{left:36%;top:18%;--d:-44}.hf-mini-2{left:84%;top:74%;width:22px;--d:34;animation-delay:-4s}
.hf-plus{width:22px;height:22px;opacity:.5;animation:hf-float 10s ease-in-out infinite alternate}
.hf-plus::before,.hf-plus::after{content:"";position:absolute;background:#266cdf;border-radius:3px}.hf-plus::before{left:38%;right:38%;top:0;bottom:0}.hf-plus::after{top:38%;bottom:38%;left:0;right:0}
.hf-plus-1{left:3%;top:56%;--d:26}.hf-plus-2{left:70%;top:8%;--d:-30;animation-delay:-3s}.hf-plus-2::before,.hf-plus-2::after{background:#f81212}.hf-plus-3{left:96%;top:56%;--d:20;animation-delay:-6s}
.hf[data-variant="2"] .hf-plus::before,.hf[data-variant="2"] .hf-plus::after,.hf[data-variant="3"] .hf-plus::before,.hf[data-variant="3"] .hf-plus::after{background:#fff}
@keyframes hf-float{from{margin-top:0}to{margin-top:-18px}}

.hf-inner{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.hf-eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1.4rem;padding:.42rem .95rem;border:1px solid var(--hf-card-line);border-radius:99px;background:var(--hf-card);backdrop-filter:blur(8px);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--hf-text)}
.hf-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:#f81212;box-shadow:0 0 0 0 rgba(248,18,18,.55);animation:hf-ping 2s ease-out infinite}
@keyframes hf-ping{to{box-shadow:0 0 0 12px rgba(248,18,18,0)}}
.hf-title{margin:0 0 1.3rem;font-size:clamp(2.6rem,6vw,5.2rem);line-height:1.03;letter-spacing:-.02em;color:var(--hf-text)}
.hf-title em{font-style:normal;background:var(--hf-grad);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.hf-title em .hx-w>span{background-image:var(--hf-grad);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hx-word .9s cubic-bezier(.2,.8,.2,1) forwards,hx-shine 6s linear infinite;animation-delay:calc(.25s + var(--i,0) * .09s),0s}
.hf-lede{max-width:34rem;margin:0 0 2rem;font-size:clamp(1.02rem,1.4vw,1.2rem);line-height:1.65;color:var(--hf-mute)}
.hf-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2.4rem}
.hf .btn-primary{background:#266cdf;color:#fff;box-shadow:0 16px 32px -14px rgba(38,108,223,.75)}.hf .btn-primary:hover{background:#1a55b8}
.hf .btn-ghost{border-color:color-mix(in srgb,var(--hf-text) 30%,transparent);color:var(--hf-text);background:color-mix(in srgb,var(--hf-text) 6%,transparent)}
.hf[data-variant="2"] .btn-primary{background:#f81212;box-shadow:0 16px 32px -14px rgba(120,0,0,.7)}.hf[data-variant="2"] .btn-primary:hover{background:#d10c0c}
.hf[data-variant="3"] .btn-primary{background:#f81212}.hf[data-variant="3"] .btn-primary:hover{background:#d10c0c}
.hf-stats{display:flex;flex-wrap:wrap;gap:1rem 1.2rem;margin:0;padding:0;list-style:none}
.hf-stats li{min-width:8.5rem;padding:.85rem 1.1rem;border:1px solid var(--hf-card-line);border-radius:14px;background:var(--hf-card);backdrop-filter:blur(10px)}
.hf-stats strong{display:block;font-family:var(--font-display);font-size:1.5rem;line-height:1.1;color:var(--hf-text)}
.hf-stats span{font-size:.82rem;color:var(--hf-mute)}

/* ---- the 3D stage */
.hf-stage{container-type:inline-size;position:relative;width:100%;max-width:560px;aspect-ratio:1;margin-inline:auto;perspective:1300px;perspective-origin:50% 38%}
.hf-scene{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(calc(var(--mx,0) * 24deg)) rotateX(calc(var(--my,0) * -18deg));transition:transform .28s ease-out}
.hf-sway{position:absolute;inset:0;transform-style:preserve-3d;animation:hf-sway 9s ease-in-out infinite alternate}
@keyframes hf-sway{from{transform:rotateY(-8deg) rotateX(2deg)}to{transform:rotateY(8deg) rotateX(-1deg)}}
.hf-floor{position:absolute;left:3%;bottom:-12%;width:94%;aspect-ratio:1;border-radius:50%;transform:rotateX(74deg) translateZ(-30px);
  background:radial-gradient(circle,color-mix(in srgb,var(--hf-pb) 42%,transparent) 0%,color-mix(in srgb,var(--hf-pb) 16%,transparent) 55%,transparent 72%),
    repeating-radial-gradient(circle,transparent 0 5.5cqw,color-mix(in srgb,var(--hf-pb) 36%,transparent) 5.5cqw 5.9cqw);
  box-shadow:0 0 12cqw color-mix(in srgb,var(--hf-pb) 45%,transparent)}
.hf-orbit{position:absolute;left:1%;top:27%;width:98%;aspect-ratio:1;transform:rotateX(74deg) translateZ(30px);transform-style:preserve-3d;border-radius:50%;border:.5cqw dashed color-mix(in srgb,var(--hf-pb) 55%,transparent)}
.hf-orbit i{position:absolute;inset:-.5cqw;animation:hf-spin 15s linear infinite}
.hf-orbit i::after{content:"";position:absolute;left:50%;top:0;width:3.4cqw;height:3.4cqw;margin:-1.7cqw 0 0 -1.7cqw;border-radius:50%;background:radial-gradient(circle at 32% 30%,#fff,#f81212 60%,#a80808);box-shadow:0 0 3cqw #f81212}
.hf-orbit-2{left:10%;top:36%;width:80%;transform:rotateX(74deg) translateZ(90px);border-color:color-mix(in srgb,#f81212 45%,transparent)}
.hf-orbit-2 i{animation-direction:reverse;animation-duration:11s}.hf-orbit-2 i::after{background:radial-gradient(circle at 32% 30%,#fff,#266cdf 60%,#143f94);box-shadow:0 0 3cqw #266cdf}
@keyframes hf-spin{to{transform:rotate(360deg)}}

.hf-big-heart{position:absolute;left:19%;top:3%;width:62%;transform:translateZ(-110px);filter:drop-shadow(0 4cqw 6cqw rgba(248,18,18,.38))}
.hf-big-heart svg{display:block;width:100%;animation:hf-beat 2.4s ease-in-out infinite}
@keyframes hf-beat{0%,100%{scale:1}14%{scale:1.07}28%{scale:1}42%{scale:1.045}}
.hf-pulse{position:absolute;left:0;top:41%;width:100%;height:20cqw;transform:translateZ(60px);overflow:visible}
.hf-pulse path{fill:none;stroke:var(--hf-line);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:.3 1;vector-effect:non-scaling-stroke;animation:hf-ecg 4.8s linear infinite;filter:drop-shadow(0 0 8px var(--hf-line))}
@keyframes hf-ecg{from{stroke-dashoffset:.3}to{stroke-dashoffset:-1}}

.hf-person{position:absolute;display:flex;flex-direction:column;align-items:center;transform-style:preserve-3d;transform:translateZ(var(--z,0))}
.hf-person::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-2.2cqw;height:3.4cqw;border-radius:50%;background:radial-gradient(ellipse,rgba(10,30,90,.38),transparent 70%);transform:translateZ(-1px)}
.hf-head{display:block;width:var(--hd);height:var(--hd);border-radius:50%;margin-bottom:-.6cqw;z-index:2;
  background:radial-gradient(circle at 34% 28%,var(--a),var(--b) 55%,var(--c));box-shadow:inset -.8cqw -1cqw 1.8cqw rgba(0,0,0,.22),0 2cqw 3cqw -1.4cqw rgba(10,30,90,.45);animation:hf-bob 3.6s ease-in-out infinite alternate}
.hf-body{display:block;width:var(--bw);height:var(--bh);border-radius:46% 46% 16% 16% / 34% 34% 10% 10%;
  background:linear-gradient(155deg,var(--a) 0%,var(--b) 45%,var(--c) 100%);box-shadow:inset -1cqw -1.4cqw 2.6cqw rgba(0,0,0,.2),inset .8cqw .9cqw 1.8cqw rgba(255,255,255,.4),0 3cqw 4cqw -2cqw rgba(10,30,90,.5);animation:hf-bob 3.6s ease-in-out infinite alternate;animation-delay:.12s}
.hf-badge{position:absolute;top:calc(var(--hd) + 3.2cqw);width:calc(var(--bw) * .3);fill:#fff;opacity:.92;filter:drop-shadow(0 .4cqw .6cqw rgba(0,0,0,.25))}
@keyframes hf-bob{from{translate:0 0}to{translate:0 -1.6cqw}}
.hf-adult{--hd:11.5cqw;--bw:21cqw;--bh:32cqw}.hf-kid{--hd:8.5cqw;--bw:14.5cqw;--bh:20cqw}
.hf-p1{left:10%;bottom:25%;--z:20px;--a:var(--hf-pa);--b:var(--hf-pb);--c:var(--hf-pc)}
.hf-p2{left:66%;bottom:25%;--z:20px;--a:var(--hf-ra);--b:var(--hf-rb);--c:var(--hf-rc)}
.hf-p3{left:35%;bottom:16%;--z:95px;--a:var(--hf-ra);--b:var(--hf-rb);--c:var(--hf-rc)}
.hf-p4{left:52%;bottom:16%;--z:95px;--a:var(--hf-pa);--b:var(--hf-pb);--c:var(--hf-pc)}
.hf-p4 .hf-head,.hf-p4 .hf-body{animation-delay:.5s}.hf-p3 .hf-head,.hf-p3 .hf-body{animation-delay:.3s}.hf-p2 .hf-head,.hf-p2 .hf-body{animation-delay:.9s}

.hf-cross{position:absolute;width:11cqw;height:11cqw;transform-style:preserve-3d;transform:translateZ(var(--z,0));animation:hf-twirl 6.5s ease-in-out infinite alternate}
.hf-cross i{position:absolute;inset:0;display:block}
.hf-cross i::before,.hf-cross i::after{content:"";position:absolute;background:linear-gradient(160deg,#ff8d8d,#f81212 55%,#c40d0d);border-radius:1.6cqw;
  box-shadow:.4cqw .4cqw 0 #a80808,.8cqw .8cqw 0 #8f0606,1.2cqw 1.2cqw 0 #780404,1.8cqw 2.4cqw 2.6cqw rgba(60,0,0,.35)}
.hf-cross i::before{left:34%;right:34%;top:0;bottom:0}.hf-cross i::after{top:34%;bottom:34%;left:0;right:0}
.hf-cross-1{left:2%;top:10%;--z:130px}.hf-cross-2{left:80%;top:14%;width:8.5cqw;height:8.5cqw;--z:70px;animation-delay:-2.5s}.hf-cross-3{left:84%;top:62%;width:7cqw;height:7cqw;--z:150px;animation-delay:-4s}
.hf-cross-2 i::before,.hf-cross-2 i::after,.hf-cross-3 i::before,.hf-cross-3 i::after{background:linear-gradient(160deg,#8db8ff,#266cdf 55%,#143f94);box-shadow:.4cqw .4cqw 0 #123a86,.8cqw .8cqw 0 #0f3070,1.2cqw 1.2cqw 0 #0c275c,1.8cqw 2.4cqw 2.6cqw rgba(0,20,70,.35)}
@keyframes hf-twirl{from{transform:translateZ(var(--z,0)) rotateY(-38deg) rotateZ(-8deg)}to{transform:translateZ(var(--z,0)) rotateY(38deg) rotateZ(8deg)}}
.hf-sphere{position:absolute;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff,var(--s1,#266cdf) 55%,var(--s2,#143f94));box-shadow:0 2.4cqw 3cqw -1.4cqw rgba(10,30,90,.5);animation:hf-sphere 7s ease-in-out infinite alternate}
.hf-sphere-1{left:6%;top:50%;width:6cqw;height:6cqw;transform:translateZ(120px)}.hf-sphere-2{left:88%;top:40%;width:4.4cqw;height:4.4cqw;--s1:#f81212;--s2:#a80808;transform:translateZ(60px);animation-delay:-3s}
.hf-sphere-3{left:46%;top:2%;width:3.6cqw;height:3.6cqw;transform:translateZ(150px);animation-delay:-5s}
@keyframes hf-sphere{from{translate:0 0}to{translate:0 -2.4cqw}}

/* ---- Model 3: centred, on dark, wide stage */
.hf[data-variant="3"] .hf-inner{grid-template-columns:1fr;text-align:center;gap:clamp(1.2rem,3vw,2.4rem)}
.hf[data-variant="3"] .hf-lede{margin-inline:auto}.hf[data-variant="3"] .hf-actions,.hf[data-variant="3"] .hf-stats{justify-content:center}
.hf[data-variant="3"] .hf-stage{max-width:760px}
.hf[data-variant="3"]{padding-bottom:clamp(3rem,6vw,5rem)}

@media (max-width:960px){
  .hf-inner{grid-template-columns:1fr}
  .hf-stage{max-width:400px;order:-1}.hf[data-variant="3"] .hf-stage{max-width:420px}
  .hf{padding-top:7.5rem}
}
@media (max-width:520px){.hf-stats li{flex:1 1 40%;min-width:0}.hf-stage{max-width:320px}}
@media (prefers-reduced-motion:reduce){
  .hf *,.hf-scene{animation:none !important;transition:none !important}
  .hf-pulse path{stroke-dasharray:none}
}

/* ---------- Programare online: alegerea specialității și a medicului (#programareonline) ---------- */
.apt-chooser-title{flex:1;margin:0;font-weight:700;color:var(--navy-900)}
.apt-pick{gap:.9rem}
.apt-pick-photo{width:52px;height:52px;flex:none;border-radius:50%;object-fit:cover;object-position:center top;background:var(--paper-2)}
.apt-pick-initials{display:grid;place-items:center;font-weight:700;color:var(--navy-700,var(--navy-900))}
.apt-pick-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}
.apt-pick-text strong{color:var(--navy-900);font-weight:600}
.apt-pick-text small{color:var(--muted);font-size:.85rem}
.apt-pick > .mdi{flex:none;color:var(--muted);font-size:1.3rem}

/* Hero Specialitate: poză proprie în locul desenului animat */
.spec-visual-photo{aspect-ratio:4/3;background:var(--paper-2)}
.spec-visual-photo img{display:block;width:100%;height:100%;object-fit:cover}

/* ---------- ginecologie / reumatologie / pediatrie / orl ---------- */
.anim-venus{transform-box:fill-box;transform-origin:center;animation:beat 2.6s ease-in-out infinite}
.anim-venus-shape{stroke:var(--navy-500);stroke-width:2.4;vector-effect:non-scaling-stroke}
.anim-venus-cross{stroke:var(--navy-500);stroke-width:2.4;stroke-linecap:round;vector-effect:non-scaling-stroke}
.anim-heart-mini{fill:var(--gold-500)}

.anim-bone{fill:rgba(var(--navy-500-rgb,49,36,198),.06);stroke:var(--navy-500);stroke-width:2.4;vector-effect:non-scaling-stroke}
.anim-flex{transform-box:fill-box;transform-origin:50% 0;animation:flex 3.2s ease-in-out infinite}
@keyframes flex{0%,100%{transform:rotate(0)}50%{transform:rotate(58deg)}}
.anim-gyn .anim-ring,.anim-rheum .anim-ring{vector-effect:non-scaling-stroke}

.anim-bear{transform-box:fill-box;transform-origin:center bottom;animation:bob 3s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-2px) rotate(-2deg)}70%{transform:translateY(-1px) rotate(2deg)}}
.anim-bear-line{fill:rgba(var(--navy-500-rgb,49,36,198),.05);stroke:var(--navy-500);stroke-width:2.4;stroke-linecap:round;vector-effect:non-scaling-stroke}
.anim-bear-nose,.anim-bear-eye{fill:var(--navy-700);stroke:none}
.anim-cheek{fill:var(--gold-500);opacity:.35;stroke:none}
.anim-eyes{transform-box:fill-box;transform-origin:center;animation:blink 4s infinite}
@keyframes blink{0%,92%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
.anim-ear{transform-box:fill-box;transform-origin:center;animation:beat 3s ease-in-out infinite}
.anim-ear-r{animation-delay:.3s}
.anim-star{fill:var(--gold-500)}

.anim-ear-line{stroke:var(--navy-500);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.anim-ear-inner{stroke:rgba(var(--navy-500-rgb,49,36,198),.4);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
/* undele sosesc spre ureche: cea mai îndepărtată pornește prima. Repaus: toate vizibile, estompat. */
.anim-wave{stroke:var(--gold-500);stroke-width:2.6;stroke-linecap:round;opacity:.55;vector-effect:non-scaling-stroke;animation:hear 2.4s ease-in-out infinite}
.anim-w3{animation-delay:0s}
.anim-w2{animation-delay:.35s}
.anim-w1{animation-delay:.7s}
@keyframes hear{0%{opacity:0}30%{opacity:1}70%{opacity:.8}100%{opacity:0}}

/* ==========================================================================
   POVESTE CU SCROLL — text care derulează, poze fixe care se schimbă
   ========================================================================== */
.story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.story-head{padding-bottom:1.5rem}
/* room after the last paragraph so it can reach the middle of the screen (and hand over the picture) */
.story-steps{padding-bottom:22vh}
.story-lede{margin-top:1.2rem;color:var(--muted);font-weight:300;max-width:52ch}
.story-step{min-height:72vh;display:flex;flex-direction:column;justify-content:center;gap:1.2rem;
  opacity:.28;transition:opacity .5s var(--ease)}
.story-step.is-active{opacity:1}
.story-step-img{display:none;width:100%;height:auto;border-radius:var(--radius-l);box-shadow:var(--shadow-m)}
.story-prose{max-width:50ch}
.story-prose h3{font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,2.1rem);margin:0 0 .7rem;line-height:1.15}
/* pinned to the middle of the screen while the text scrolls: a full-height sticky box centering its content */
.story-media{position:sticky;top:0;height:100vh;align-self:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem}
.story-stage{position:relative;width:100%;aspect-ratio:4/5;max-height:68vh;border-radius:var(--radius-l);overflow:hidden;
  background:var(--paper-2);box-shadow:var(--shadow-m)}
.story-pic{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.05);
  transition:opacity .7s var(--ease),transform 1s var(--ease)}
.story-pic.is-active{opacity:1;transform:none}
.story-pic img{display:block;width:100%;height:100%;object-fit:cover}
.story-dots{display:none;list-style:none;margin:0;padding:0;gap:.5rem}
.story-dots li{width:8px;height:8px;border-radius:99px;background:rgba(40,31,163,.22);transition:width .4s var(--ease),background .4s}
.story-dots li.is-active{width:26px;background:var(--gold-500)}

/* modelul 2: pozele în stânga, textul în dreapta */
.story[data-variant="2"] .story-media{order:-1}

/* modelul 3: fundal închis, poze rotunjite cu margine aurie și puncte de progres */
.story[data-variant="3"]{background:var(--navy-950);color:var(--gold-100)}
.story[data-variant="3"] h2,.story[data-variant="3"] .story-prose h3{color:#fff}
.story[data-variant="3"] h2 em,.story[data-variant="3"] .eyebrow{color:var(--gold-300)}
.story[data-variant="3"] .story-lede,.story[data-variant="3"] .story-prose{color:rgba(230,228,255,.82)}
.story[data-variant="3"] .story-stage{border-radius:999px 999px var(--radius-l) var(--radius-l);aspect-ratio:3/4;
  border:2px solid rgba(221,180,46,.5);box-shadow:0 30px 70px -30px rgba(0,0,0,.7)}
.story[data-variant="3"] .story-dots{display:flex}
.story[data-variant="3"] .story-dots li{background:rgba(255,255,255,.25)}

@media (max-width:860px){
  .story-grid{grid-template-columns:1fr;gap:0}
  .story-media{display:none}
  .story-steps{padding-bottom:0}
  .story-step{min-height:0;opacity:1;padding-block:1.6rem}
  .story-step-img{display:block}
  .story[data-variant="3"] .story-step-img{border:2px solid rgba(221,180,46,.4)}
}
@media (prefers-reduced-motion:reduce){
  .story-step,.story-pic,.story-dots li{transition:none}
  .story-pic{transform:none}
}

/* ============ Rubrici afecțiune (.rb) — text, listă, avertizare, întrebări frecvente ============ */
.rb-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.rb-inner:has(.rb-media[hidden]){grid-template-columns:minmax(0,820px)}
.rb-head .eyebrow{margin-bottom:.9rem}
.rb-body{max-width:none;margin-top:1.2rem;font-weight:300;color:var(--ink-2)}
.rb-body p{margin:0 0 1rem}
.rb-body ul{list-style:none;padding:0;margin:1rem 0}
.rb-body li{position:relative;padding-left:1.6rem;margin-bottom:.5rem}
.rb-body li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--gold-500)}
.rb-media{margin:0}
.rb-media img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-l);box-shadow:var(--shadow-m)}
.rb-media[hidden]{display:none}
.rb-items{list-style:none;padding:0;margin:1.4rem 0 0}
.rb-items li{display:flex;gap:.9rem;align-items:flex-start;padding:.9rem 1.1rem;margin-bottom:.7rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-s)}
.rb-items li>i{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--gold-100);color:var(--gold-700);font-size:1.05rem}
.rb-items strong{display:block;color:var(--ink)}
.rb-items li span{display:block;margin-top:.15rem;color:var(--ink-2);font-weight:300}
@media (max-width:860px){.rb-inner,.rb-inner:has(.rb-media[hidden]){grid-template-columns:1fr}.rb-media{order:-1}}

/* Text — model 2: poză în stânga, în arcadă */
.rb-text[data-variant="2"]{background:var(--paper-2)}
.rb-text[data-variant="2"] .rb-inner{grid-template-columns:.9fr 1.1fr}
.rb-text[data-variant="2"] .rb-media{order:-1}
.rb-text[data-variant="2"] .rb-media img{aspect-ratio:4/5;border-radius:999px 999px var(--radius-l) var(--radius-l)}
/* Text — model 3: închis, poza deasupra */
.rb-text[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950));color:#e9e7ff}
.rb-text[data-variant="3"] h2{color:#fff}
.rb-text[data-variant="3"] .eyebrow{color:var(--gold-300)}
.rb-text[data-variant="3"] .rb-body{color:rgba(230,228,255,.82)}
.rb-text[data-variant="3"] .rb-inner,.rb-text[data-variant="3"] .rb-inner:has(.rb-media[hidden]){grid-template-columns:minmax(0,820px);justify-content:center}
.rb-text[data-variant="3"] .rb-media{order:-1}
.rb-text[data-variant="3"] .rb-media img{aspect-ratio:21/9}

/* Listă — model 1: carduri cu bife (implicit, vezi mai sus); lista pe două coloane când nu e poză */
.rb-list[data-variant="1"] .rb-inner:has(.rb-media[hidden]) .rb-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.7rem}
.rb-list[data-variant="1"] .rb-inner:has(.rb-media[hidden]) .rb-items li{margin:0}
/* Listă — model 2: rânduri numerotate, poză alături */
.rb-list[data-variant="2"] .rb-inner{grid-template-columns:.95fr 1.05fr}
.rb-list[data-variant="2"] .rb-media{order:-1}
.rb-list[data-variant="2"] .rb-items{counter-reset:rb}
.rb-list[data-variant="2"] .rb-items li{counter-increment:rb;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:1rem 0}
.rb-list[data-variant="2"] .rb-items li>i{display:none}
.rb-list[data-variant="2"] .rb-items li::before{content:counter(rb);flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--navy-900);color:#fff;font-weight:700;font-size:.9rem}
/* Listă — model 3: închis, două coloane */
.rb-list[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950));color:#e9e7ff}
.rb-list[data-variant="3"] h2,.rb-list[data-variant="3"] .rb-items strong{color:#fff}
.rb-list[data-variant="3"] .eyebrow{color:var(--gold-300)}
.rb-list[data-variant="3"] .rb-body,.rb-list[data-variant="3"] .rb-items li span{color:rgba(230,228,255,.8)}
.rb-list[data-variant="3"] .rb-items{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}
.rb-list[data-variant="3"] .rb-items li{margin:0;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.rb-list[data-variant="3"] .rb-items li>i{background:rgba(221,180,46,.18);color:var(--gold-300)}
@media (max-width:860px){.rb-list[data-variant="3"] .rb-items{grid-template-columns:1fr}}

/* Când mergi la medic */
.rb-alert-box{padding:clamp(1.6rem,4vw,3rem);border-radius:var(--radius-l);background:#fff4f3;border:1px solid #f3c7c4}
.rb-alert .rb-items li{background:#fff;border-color:#f3c7c4}
.rb-alert .rb-items li>i{background:#fde3e1;color:#c4231b}
.rb-urgent{margin:1.2rem 0 0;font-size:.95rem;color:#8a1b15}
.rb-alert[data-variant="2"] .rb-alert-box{border-radius:0;border:0;background:linear-gradient(160deg,#3a0d12,#1a0508);color:#ffe9e7}
.rb-alert[data-variant="2"] h2,.rb-alert[data-variant="2"] .rb-items strong{color:#fff}
.rb-alert[data-variant="2"] .rb-items li{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}
.rb-alert[data-variant="2"] .rb-items li span,.rb-alert[data-variant="2"] .rb-urgent{color:#ffd1cd}
.rb-alert[data-variant="2"] .rb-items li>i{background:rgba(255,255,255,.14);color:#ffb3ad}
.rb-alert[data-variant="3"] .rb-alert-box{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-m);border-left:6px solid #d93a31}
.rb-alert[data-variant="3"] .rb-inner{grid-template-columns:1.1fr .9fr}

/* Întrebări frecvente */
.rb-faq .rb-inner{grid-template-columns:.8fr 1.2fr;align-items:start}
.rb-faq .rb-media{grid-column:1}
.rb-faq .rb-items{grid-column:2;grid-row:1 / span 2;margin:0}
.rb-faq .rb-inner:has(.rb-media[hidden]) .rb-items{grid-row:1}
.rb-q{background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);margin-bottom:.7rem}
.rb-q summary{cursor:pointer;list-style:none;padding:1rem 3rem 1rem 1.2rem;font-weight:600;color:var(--ink);position:relative}
.rb-q summary::-webkit-details-marker{display:none}
.rb-q summary::after{content:"+";position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--gold-600)}
.rb-q[open] summary::after{content:"–"}
.rb-q p{margin:0;padding:0 1.2rem 1.1rem;color:var(--ink-2);font-weight:300}
.rb-faq[data-variant="2"] .rb-inner,.rb-faq[data-variant="2"] .rb-inner:has(.rb-media[hidden]){grid-template-columns:1fr}
.rb-faq[data-variant="2"] .rb-items{grid-column:1;grid-row:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;align-items:start}
.rb-faq[data-variant="2"] .rb-q{margin:0}
.rb-faq[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950));color:#e9e7ff}
.rb-faq[data-variant="3"] h2{color:#fff}
.rb-faq[data-variant="3"] .eyebrow{color:var(--gold-300)}
.rb-faq[data-variant="3"] .rb-body{color:rgba(230,228,255,.8)}
.rb-faq[data-variant="3"] .rb-q{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.rb-faq[data-variant="3"] .rb-q summary{color:#fff}
.rb-faq[data-variant="3"] .rb-q p{color:rgba(230,228,255,.8)}
@media (max-width:860px){
  .rb-faq .rb-inner{grid-template-columns:1fr}
  .rb-faq .rb-items,.rb-faq[data-variant="2"] .rb-items{grid-column:1;grid-row:auto;grid-template-columns:1fr}
}

/* ============ Hero recuperare (.hr) ============ */
.hr{
  --hr-bg1:#f4f9ff;--hr-bg2:#e6f0fb;--hr-text:var(--navy-900);--hr-mute:rgba(var(--navy-900-rgb,12,9,56),.72);
  --hr-accent:#1f7ae0;--hr-accent2:#5fb4ff;--hr-card:rgba(255,255,255,.82);--hr-line:rgba(31,122,224,.2);--hr-arc:rgba(31,122,224,.18);
  position:relative;isolation:isolate;overflow:hidden;color:var(--hr-text);
  padding:clamp(8rem,12vw,10rem) 0 clamp(3rem,5vw,4.5rem);
  background:linear-gradient(165deg,var(--hr-bg1),var(--hr-bg2) 70%,#fff);
}
.hr-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hr-glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55}
.hr-glow-a{width:34rem;height:34rem;right:-8rem;top:-6rem;background:radial-gradient(circle,rgba(95,180,255,.5),transparent 68%)}
.hr-glow-b{width:26rem;height:26rem;left:-6rem;bottom:2rem;background:radial-gradient(circle,rgba(var(--gold-300-rgb,221,180,46),.3),transparent 68%)}
.hr-arcs{position:absolute;inset:auto 0 0 0;width:100%;height:60%;color:var(--hr-arc)}
.hr-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.hr-eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1.3rem;padding:.42rem .95rem;border:1px solid var(--hr-line);border-radius:99px;background:var(--hr-card);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hr-mute)}
.hr-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--hr-accent)}
.hr h1{margin:0 0 1.2rem;font-size:clamp(2.4rem,5.4vw,4.8rem);line-height:1.05;letter-spacing:-.02em;color:var(--hr-text)}
.hr h1 em{font-family:var(--font-display);font-weight:400;font-style:italic;background:linear-gradient(100deg,var(--hr-accent),var(--hr-accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hr-lede{max-width:34rem;margin:0 0 1.9rem;font-size:clamp(1.02rem,1.4vw,1.16rem);line-height:1.7;color:var(--hr-mute)}
.hr-actions{display:flex;flex-wrap:wrap;gap:.8rem}
.hr-visual{position:relative;margin:0}
.hr-photo{display:block;width:100%;aspect-ratio:4/4.4;object-fit:cover;border-radius:44% 56% 48% 52% / 38% 42% 58% 62%;box-shadow:0 40px 80px -40px rgba(var(--navy-900-rgb,12,9,56),.55)}
.hr-placeholder{display:grid;place-items:center;background:linear-gradient(150deg,#cfe4fb,#9cc8f5);color:rgba(255,255,255,.9)}
.hr-placeholder .mdi{font-size:clamp(5rem,12vw,9rem)}
.hr-ring{position:absolute;inset:-14px;border-radius:inherit;border:1.5px dashed var(--hr-line);border-radius:44% 56% 48% 52% / 38% 42% 58% 62%;pointer-events:none;animation:hr-spin 40s linear infinite}
@keyframes hr-spin{to{transform:rotate(360deg)}}

/* Pașii recuperării: linia dintre cercuri se umple la încărcare */
.hr-steps{list-style:none;margin:clamp(2.5rem,5vw,4rem) 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:1.4rem;position:relative}
.hr-steps::before,.hr-steps::after{content:"";position:absolute;left:18px;right:18px;top:18px;height:3px;border-radius:3px}
.hr-steps::before{background:var(--hr-line)}
.hr-steps::after{background:linear-gradient(90deg,var(--hr-accent),var(--hr-accent2));transform:scaleX(0);transform-origin:left;animation:hr-fill 2.4s .6s cubic-bezier(.3,.7,.2,1) forwards}
@keyframes hr-fill{to{transform:scaleX(1)}}
.hr-steps li{position:relative;padding-top:3.2rem}
.hr-n{position:absolute;left:0;top:0;z-index:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff;border:2px solid var(--hr-accent);color:var(--hr-accent);font-weight:800;font-size:.95rem;animation:hr-pop .5s calc(.6s + var(--i,0) * .55s) both}
@keyframes hr-pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.hr-steps strong{display:block;font-size:1.05rem;color:var(--hr-text)}
.hr-steps li span:not(.hr-n){display:block;margin-top:.25rem;font-size:.9rem;line-height:1.5;color:var(--hr-mute)}
.hr-steps li>div{padding-right:.5rem}
@media (max-width:860px){
  .hr-inner{grid-template-columns:1fr}.hr-visual{order:-1;max-width:420px;margin-inline:auto}
  .hr-steps{grid-template-columns:1fr;gap:1.2rem}
  .hr-steps::before,.hr-steps::after{left:18px;right:auto;top:18px;bottom:18px;width:3px;height:auto;transform-origin:top}
  .hr-steps::after{transform:scaleY(0);animation-name:hr-fill-y}
  .hr-steps li{padding:0 0 0 3.4rem;min-height:38px}
}
@keyframes hr-fill-y{to{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){.hr-ring{animation:none}.hr-steps::after{animation:none;transform:none}.hr-n{animation:none}}

/* Model 2: închis, poză în stânga */
.hr[data-variant="2"]{--hr-bg1:#0c1a4a;--hr-bg2:#0a0f38;--hr-text:#fff;--hr-mute:rgba(226,234,255,.82);--hr-accent:var(--gold-300);--hr-accent2:#fff3c4;--hr-card:rgba(255,255,255,.08);--hr-line:rgba(255,255,255,.22);--hr-arc:rgba(255,255,255,.1);background:linear-gradient(160deg,var(--hr-bg1),var(--hr-bg2))}
.hr[data-variant="2"] .hr-visual{order:-1}
.hr[data-variant="2"] .hr-inner{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.hr[data-variant="2"] .hr-n{background:#0c1a4a}
.hr[data-variant="2"] .hr-placeholder{background:linear-gradient(150deg,#1d3a8a,#0f2260);color:rgba(255,255,255,.55)}
/* Model 3: centrat, poză lată */
.hr[data-variant="3"] .hr-inner{grid-template-columns:1fr;text-align:center}
.hr[data-variant="3"] .hr-lede{margin-inline:auto}
.hr[data-variant="3"] .hr-actions{justify-content:center}
.hr[data-variant="3"] .hr-visual{order:2;max-width:980px;margin:1.5rem auto 0;width:100%}
.hr[data-variant="3"] .hr-photo{aspect-ratio:21/9;border-radius:var(--radius-l)}
.hr[data-variant="3"] .hr-ring{border-radius:var(--radius-l)}
@media (max-width:860px){.hr[data-variant="3"] .hr-visual{order:2;max-width:none}.hr[data-variant="3"] .hr-photo{aspect-ratio:4/3}}

/* ============ Hero mișcare (.hk): animat, fără poze — #01aeee și #ed1e24 ============ */
.hk{
  --hk-c:#01aeee;--hk-r:#ed1e24;--hk-bg1:#f3fbff;--hk-bg2:#e2f4fd;--hk-text:#0a2540;--hk-mute:rgba(10,37,64,.72);
  --hk-card:rgba(255,255,255,.8);--hk-line:rgba(1,174,238,.28);--hk-limb:#0a2540;--hk-skin:rgba(10,37,64,.06);--hk-bone:#fff;--hk-disc:rgba(1,174,238,.1);
  position:relative;isolation:isolate;overflow:hidden;min-height:100svh;display:flex;align-items:center;color:var(--hk-text);
  padding:clamp(8rem,12vw,10rem) 0 clamp(4rem,6vw,6rem);
  background:linear-gradient(165deg,var(--hk-bg1),var(--hk-bg2) 70%,#fff);
}
.hk[data-variant="2"]{--hk-bg1:#06182c;--hk-bg2:#04101f;--hk-text:#fff;--hk-mute:rgba(220,238,250,.8);--hk-card:rgba(255,255,255,.07);--hk-line:rgba(1,174,238,.4);--hk-limb:#e8f6ff;--hk-skin:rgba(232,246,255,.07);--hk-bone:#cfeaf9;--hk-disc:rgba(1,174,238,.12);background:linear-gradient(160deg,var(--hk-bg1),var(--hk-bg2))}
.hk-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hk-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55}
.hk-glow-a{width:36rem;height:36rem;right:-8rem;top:-8rem;background:radial-gradient(circle,rgba(1,174,238,.5),transparent 68%)}
.hk-glow-b{width:28rem;height:28rem;left:-8rem;bottom:-6rem;background:radial-gradient(circle,rgba(237,30,36,.28),transparent 68%)}
.hk-plus{position:absolute;width:22px;height:22px;opacity:.55;animation:hk-drift var(--t,12s) ease-in-out infinite;animation-delay:var(--d,0s)}
.hk-plus::before,.hk-plus::after{content:"";position:absolute;background:var(--hk-c);border-radius:2px}
.hk-plus::before{left:9px;top:0;width:4px;height:22px}.hk-plus::after{left:0;top:9px;width:22px;height:4px}
.hk-plus.hk-red::before,.hk-plus.hk-red::after{background:var(--hk-r)}
@keyframes hk-drift{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(18px,-26px) rotate(90deg)}}
.hk-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.hk-eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1.3rem;padding:.42rem .95rem;border:1px solid var(--hk-line);border-radius:99px;background:var(--hk-card);backdrop-filter:blur(8px);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hk-mute)}
.hk-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--hk-r);animation:hk-ping 2s ease-out infinite}
@keyframes hk-ping{0%{box-shadow:0 0 0 0 rgba(237,30,36,.55)}100%{box-shadow:0 0 0 10px rgba(237,30,36,0)}}
.hk h1{margin:0 0 1.2rem;font-size:clamp(2.3rem,5.2vw,4.7rem);line-height:1.06;letter-spacing:-.02em;color:var(--hk-text)}
.hk h1 em{font-family:var(--font-display);font-weight:400;font-style:italic;background:linear-gradient(100deg,var(--hk-c),var(--hk-r));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hk-shine 8s ease-in-out infinite alternate}
@keyframes hk-shine{to{background-position:100% 0}}
.hk-lede{max-width:34rem;margin:0 0 1.9rem;font-size:clamp(1.02rem,1.4vw,1.16rem);line-height:1.7;color:var(--hk-mute)}
.hk-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2.2rem}
.hk .btn-primary{background:var(--hk-r);border-color:var(--hk-r);color:#fff}
.hk .btn-primary:hover{background:#c8161c;border-color:#c8161c}
.hk .btn-ghost{border-color:var(--hk-c);color:var(--hk-text);background:transparent}
.hk .btn-ghost:hover{background:var(--hk-c);color:#fff}
.hk-stats{display:flex;flex-wrap:wrap;gap:1rem;margin:0;padding:0;list-style:none}
.hk-stats li{min-width:9rem;padding:.85rem 1.15rem;border:1px solid var(--hk-line);border-left:4px solid var(--hk-c);border-radius:14px;background:var(--hk-card)}
.hk-stats li:nth-child(even){border-left-color:var(--hk-r)}
.hk-stats strong{display:block;font-family:var(--font-display);font-size:1.45rem;line-height:1.1;color:var(--hk-text)}
.hk-stats span{font-size:.82rem;color:var(--hk-mute)}

/* Scena SVG */
.hk-scene{position:relative}
.hk-scene svg{display:block;width:100%;height:auto;max-width:560px;margin-inline:auto;overflow:visible}
.hk-disc{fill:var(--hk-disc)}
.hk-skin{fill:var(--hk-skin);stroke:var(--hk-limb);stroke-opacity:.55;stroke-width:3;stroke-linejoin:round}
.hk-bone{fill:var(--hk-bone);stroke:var(--hk-c);stroke-width:2.5}
.hk-muscle{fill:rgba(237,30,36,.28);stroke:var(--hk-r);stroke-opacity:.6;stroke-width:2;transform-box:fill-box;transform-origin:50% 100%;animation:hk-bulge 5s ease-in-out infinite alternate}
@keyframes hk-bulge{0%,10%{transform:scale(1,1)}90%,100%{transform:scale(1.12,2.1)}}
.hk-hand{fill:var(--hk-limb);fill-opacity:.12;stroke:var(--hk-r);stroke-width:3}
.hk-capsule{fill:none;stroke:var(--hk-r);stroke-width:2;stroke-dasharray:4 6;opacity:.7;transform-box:fill-box;transform-origin:center;animation:hk-spin 14s linear infinite}
@keyframes hk-spin{to{transform:rotate(360deg)}}
.hk-joint{fill:#fff;stroke:var(--hk-r);stroke-width:4}
.hk-joint-core{fill:var(--hk-r)}
/* Unghiul flexiei, numărat în pas cu mișcarea (cu --ang înregistrat ca număr întreg) */
@property --ang{syntax:'<integer>';inherits:false;initial-value:0}
.hk-angle{position:absolute;left:4%;top:6%;margin:0;display:flex;align-items:baseline;gap:.5rem;padding:.45rem .9rem;border-radius:12px;border:1px solid var(--hk-line);background:var(--hk-card);backdrop-filter:blur(6px);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--hk-mute)}
.hk-angle b{min-width:3.4ch;font-family:var(--font-display);font-size:1.5rem;letter-spacing:0;color:var(--hk-r);counter-reset:ang var(--ang);animation:hk-ang 5s ease-in-out infinite alternate}
.hk-angle b::after{content:counter(ang) "°"}
@keyframes hk-ang{0%,10%{--ang:0}90%,100%{--ang:90}}
.hk-pulse{fill:none;stroke:var(--hk-c);stroke-width:2.5;transform-box:fill-box;transform-origin:center;animation:hk-ring 3s ease-out infinite}
.hk-pulse-2{animation-delay:1.5s}
@keyframes hk-ring{0%{transform:scale(1);opacity:.9}100%{transform:scale(4.2);opacity:0}}
.hk-range{fill:none;stroke:var(--hk-line);stroke-width:10;stroke-linecap:round;stroke-dasharray:2 14}
.hk-range-live{fill:none;stroke:var(--hk-c);stroke-width:10;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:hk-sweep 5s ease-in-out infinite alternate}
@keyframes hk-sweep{0%,10%{stroke-dashoffset:100}90%,100%{stroke-dashoffset:0}}
.hk-ticks path{fill:none;stroke:var(--hk-mute);stroke-width:3;stroke-linecap:round;opacity:.6}
.hk-fore{transform-origin:190px 250px;animation:hk-flex 5s ease-in-out infinite alternate}
@keyframes hk-flex{0%,10%{transform:rotate(0)}90%,100%{transform:rotate(-90deg)}}
.hk-axis{fill:none;stroke:var(--hk-line);stroke-width:2}
.hk-curve-bg{fill:none;stroke:var(--hk-line);stroke-width:4;stroke-linecap:round}
.hk-curve{fill:none;stroke:url(#hk-grad);stroke-width:5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:hk-draw 5s ease-in-out infinite alternate}
@keyframes hk-draw{0%,10%{stroke-dashoffset:100}90%,100%{stroke-dashoffset:0}}
.hk-dot{fill:var(--hk-c);stroke:#fff;stroke-width:3;transform-box:fill-box;transform-origin:center;animation:hk-dot 5s ease-in-out infinite alternate;animation-delay:calc(var(--i,0) * .8s)}
.hk-dot-end{fill:var(--hk-r)}
@keyframes hk-dot{0%,20%{transform:scale(0)}45%,100%{transform:scale(1)}}
@media (max-width:860px){.hk{min-height:0}.hk-inner{grid-template-columns:1fr}.hk-scene{max-width:420px;margin-inline:auto}}
@media (prefers-reduced-motion:reduce){.hk *{animation:none !important}.hk-range-live,.hk-curve{stroke-dashoffset:0}.hk-fore{transform:rotate(-45deg)}.hk-angle b::after{content:"45°"}.hk-dot{transform:none}}

/* Model 3: scena în stânga */
.hk[data-variant="3"] .hk-inner{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.hk[data-variant="3"] .hk-scene{order:-1}
@media (max-width:860px){.hk[data-variant="3"] .hk-scene{order:-1}}

/* ============ Hero relief (.hv): poză decupată în relief — #01aeee și #ed1e24 ============ */
.hv{
  --hv-c:#01aeee;--hv-r:#ed1e24;--hv-bg1:#f3fbff;--hv-bg2:#e0f3fd;--hv-text:#0a2540;--hv-mute:rgba(10,37,64,.72);
  --hv-card:rgba(255,255,255,.86);--hv-line:rgba(1,174,238,.3);--hv-disc:linear-gradient(160deg,#dde2e8,#b2bcc8);--hv-shadow:rgba(0,50,90,.4);
  position:relative;isolation:isolate;overflow:hidden;min-height:80svh;display:flex;align-items:flex-end;color:var(--hv-text);
  padding:clamp(8rem,12vw,10rem) 0 0;
  background:linear-gradient(165deg,var(--hv-bg1),var(--hv-bg2) 70%,#fff);
}
.hv[data-variant="2"]{--hv-disc:linear-gradient(160deg,#f4f6f8,#d3dae2);--hv-bg1:#06182c;--hv-bg2:#04101f;--hv-text:#fff;--hv-mute:rgba(220,238,250,.82);--hv-card:rgba(10,30,52,.72);--hv-line:rgba(1,174,238,.45);--hv-shadow:rgba(0,0,0,.6);background:linear-gradient(160deg,var(--hv-bg1),var(--hv-bg2))}
.hv-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.hv-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55}
.hv-glow-a{width:36rem;height:36rem;right:-8rem;top:-8rem;background:radial-gradient(circle,rgba(1,174,238,.5),transparent 68%)}
.hv-glow-b{width:28rem;height:28rem;left:-8rem;bottom:-6rem;background:radial-gradient(circle,rgba(237,30,36,.26),transparent 68%)}
.hv-plus{position:absolute;width:22px;height:22px;opacity:.5;animation:hk-drift var(--t,12s) ease-in-out infinite;animation-delay:var(--d,0s)}
.hv-plus::before,.hv-plus::after{content:"";position:absolute;background:var(--hv-c);border-radius:2px}
.hv-plus::before{left:9px;top:0;width:4px;height:22px}.hv-plus::after{left:0;top:9px;width:22px;height:4px}
.hv-plus.hv-red::before,.hv-plus.hv-red::after{background:var(--hv-r)}
.hv-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,4rem);align-items:end}
/* centred on the screen: the hero's top padding (the header) is balanced by the same space below the text */
.hv-copy{align-self:center;padding-bottom:clamp(8rem,12vw,10rem)}
.hv-eyebrow{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1.3rem;padding:.42rem .95rem;border:1px solid var(--hv-line);border-radius:99px;background:var(--hv-card);backdrop-filter:blur(8px);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hv-mute)}
.hv-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--hv-r);animation:hk-ping 2s ease-out infinite}
.hv h1{margin:0 0 1.2rem;font-size:clamp(2.3rem,5.2vw,4.6rem);line-height:1.06;letter-spacing:-.02em;color:var(--hv-text)}
.hv h1 em{font-family:var(--font-display);font-weight:400;font-style:italic;background:linear-gradient(100deg,var(--hv-c),var(--hv-r));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hk-shine 8s ease-in-out infinite alternate}
.hv-lede{max-width:34rem;margin:0 0 1.9rem;font-size:clamp(1.02rem,1.4vw,1.16rem);line-height:1.7;color:var(--hv-mute)}
.hv-actions{display:flex;flex-wrap:wrap;gap:.8rem}
.hv .btn-primary{background:var(--hv-r);border-color:var(--hv-r);color:#fff}
.hv .btn-primary:hover{background:#c8161c;border-color:#c8161c}
.hv .btn-ghost{border-color:var(--hv-c);color:var(--hv-text);background:transparent}
.hv .btn-ghost:hover{background:var(--hv-c);color:#fff}

/* Scena în relief: fundal (disc, inele) → poza → carduri în față; fiecare strat urmărește mouse-ul diferit */
.hv-stage{position:relative;width:100%;max-width:800px;aspect-ratio:1;margin-inline:auto}
.hv-layer{position:absolute;inset:0;display:block;transform:translate3d(calc(var(--mx,0) * var(--d,0) * 1px),calc(var(--my,0) * var(--d,0) * 1px),0);transition:transform .3s ease-out}
/* The disc is wider than the photo and sinks below the hero's bottom edge (clipped there), so the figure
   stands on it with the head and raised arms rising above its rim. */
.hv-disc{position:absolute;left:0;right:0;bottom:-16%;aspect-ratio:1;border-radius:50%;background:var(--hv-disc);
  box-shadow:inset 0 22px 40px rgba(255,255,255,.75),inset 0 -30px 60px rgba(60,80,100,.18),0 40px 80px -36px var(--hv-shadow)}
.hv-rings{position:absolute;left:-3%;right:-3%;bottom:-19%;width:106%;height:auto;aspect-ratio:1;overflow:visible;animation:hr-spin 60s linear infinite}
.hv-ring-c{fill:none;stroke:var(--hv-c);stroke-width:1.6;stroke-dasharray:44 56;stroke-linecap:round;opacity:.85}
.hv-ring-r{fill:none;stroke:var(--hv-r);stroke-width:2.6;stroke-dasharray:12 88;stroke-linecap:round}
.hv-figure{position:absolute;left:0;bottom:0;width:100%;height:auto;display:block;filter:drop-shadow(0 16px 20px var(--hv-shadow))}
.hv-chips{list-style:none;margin:0;padding:0}
.hv-chips li{position:absolute;display:flex;flex-direction:column;gap:.1rem;padding:.7rem 1.05rem;border:1px solid var(--hv-line);border-left:4px solid var(--hv-c);border-radius:14px;background:var(--hv-card);backdrop-filter:blur(12px);box-shadow:0 22px 40px -22px var(--hv-shadow);transform:translate3d(calc(var(--mx,0) * var(--d,0) * 1px),calc(var(--my,0) * var(--d,0) * 1px),0);transition:transform .3s ease-out;animation:hx-bob 6s ease-in-out infinite alternate}
.hv-chips li:nth-child(1){left:-3%;bottom:20%}
.hv-chips li:nth-child(2){right:-2%;top:30%;border-left-color:var(--hv-r);animation-delay:-2s}
.hv-chips li:nth-child(3){left:2%;top:10%;animation-delay:-4s}
.hv-chips strong{font-family:var(--font-display);font-size:1.2rem;line-height:1.1;color:var(--hv-text)}
.hv-chips span{font-size:.78rem;color:var(--hv-mute)}
@media (max-width:860px){
  .hv{min-height:0}.hv-inner{grid-template-columns:1fr}.hv-copy{padding-bottom:1rem}.hv-stage{max-width:460px}
  .hv-chips li:nth-child(1){left:0}.hv-chips li:nth-child(2){right:0}
}
@media (prefers-reduced-motion:reduce){.hv *{animation:none !important}.hv-layer,.hv-chips li{transform:none}}

/* Model 3: poză în stânga */
@media (min-width:861px){.hv[data-variant="3"] .hv-stage{order:-1}}

/* ============ Specialități — Model 7: hover gri discret, tot cardul e clicabil ============ */
.specialties[data-variant="7"] .spec-card{cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s,background-color .35s}
.specialties[data-variant="7"] .spec-card::before,.specialties[data-variant="7"] .spec-card::after{display:none}
.specialties[data-variant="7"] .spec-card:hover,.specialties[data-variant="7"] .spec-card:focus-within{
  transform:translateY(-4px);background:#f1f3f6;border-color:#d9dee5;box-shadow:0 22px 40px -28px rgba(var(--navy-900-rgb,12,9,56),.28)}
.specialties[data-variant="7"] .spec-card:hover h3,.specialties[data-variant="7"] .spec-card:hover .spec-title-link{color:var(--navy-900)}
.specialties[data-variant="7"] .spec-card:hover p{color:var(--ink-2)}
.specialties[data-variant="7"] .spec-card:hover .spec-list{border-color:var(--line)}
.specialties[data-variant="7"] .spec-card:hover .spec-list li{color:var(--ink-2)}
.specialties[data-variant="7"] .spec-card:hover .spec-list li::before{background:var(--navy-500)}
.specialties[data-variant="7"] .spec-card:hover .spec-num{color:var(--line)}
.specialties[data-variant="7"] .spec-card:hover .spec-icon{background:linear-gradient(150deg,var(--gold-100),#eef3ff);color:var(--navy-600);transform:none}
.specialties[data-variant="7"] .spec-card:hover .spec-link{color:var(--navy-600);gap:.8rem}
/* The title link is stretched over the whole card, so a click anywhere opens the specialty. */
.specialties[data-variant="7"] .spec-title-link::after{content:"";position:absolute;inset:0;z-index:1}
.specialties[data-variant="7"] .spec-card:focus-within{outline:2px solid var(--navy-500);outline-offset:2px}

/* ============ Hartă 3D a corpului (.bodymap / .bm) ============ */
.bm{--bm-skin:#cfd6dd;--bm-hl:#a9b4f3;--bm-accent:#3124c6;--bm-muted:#6e6b93;--bm-card:#fff;--bm-line:var(--line);--bm-text:var(--ink);--bm-sub:var(--ink-2);
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1rem,3vw,2rem);align-items:stretch}
.bodymap[data-variant="2"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950))}
.bodymap[data-variant="2"] h2{color:#fff}
.bodymap[data-variant="2"] .eyebrow{color:var(--gold-300)}
.bodymap[data-variant="2"] .section-lede,.bodymap[data-variant="2"] .bm-credit{color:rgba(230,228,255,.78)}
.bodymap[data-variant="2"] .bm{--bm-skin:#56656f;--bm-hl:#5b6bd6;--bm-accent:#ddb42e;--bm-muted:#93a4ae;--bm-card:rgba(255,255,255,.06);--bm-line:rgba(255,255,255,.14);--bm-text:#fff;--bm-sub:rgba(230,228,255,.8)}
.bm-figure,.bm-panel{background:var(--bm-card);border:1px solid var(--bm-line);border-radius:var(--radius-l);box-shadow:var(--shadow-s)}
.bm-figure{display:flex;flex-direction:column;overflow:hidden}
.bm-bar{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;padding:.8rem 1rem .2rem}
.bm-tools{display:flex;gap:.5rem}
.bm-tools button{width:40px;height:40px;border-radius:50%;border:1px solid var(--bm-line);background:none;color:var(--bm-text);font:600 .75rem var(--font-body);cursor:pointer;display:grid;place-items:center}
.bm-tools button:focus-visible{outline:2px solid var(--bm-accent);outline-offset:2px}
.bm-stage{position:relative;height:clamp(420px,66vh,640px);touch-action:pan-y;margin:.4rem 0;
  background:radial-gradient(ellipse 75% 70% at 50% 38%,#9ca8b4 0%,#7b8794 55%,#5a6572 100%)}
.bodymap[data-variant="2"] .bm-stage{background:radial-gradient(ellipse 75% 70% at 50% 38%,#6d7a88 0%,#4a5663 55%,#2d3641 100%)}
.bm-stage canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}
.bm-stage canvas:active{cursor:grabbing}
.bm-view,.bm-side{position:absolute;font:600 .68rem var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.9);pointer-events:none}
.bm-view{left:1rem;top:.6rem}.bm-side{bottom:.6rem}.bm-side-l{left:1rem}.bm-side-r{right:1rem}
.bm-loading{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:1rem;text-align:center;color:#fff}
.bm-hint{margin:0;padding:.2rem 1rem .9rem;font-size:.85rem;color:var(--bm-sub)}
.bm-panel{padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:1.2rem;color:var(--bm-text)}
.bm-result-kicker{margin:0 0 .3rem;font:700 .72rem var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--bm-accent)}
.bm-result-title{margin:0 0 .3rem;font-family:var(--font-display);font-size:1.45rem;line-height:1.2}
.bm-result-text{margin:0;color:var(--bm-sub)}
.bm-zone{padding:1rem 0;border-top:1px solid var(--bm-line)}
.bm-zone-link{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;color:var(--bm-text);font-size:1.2rem;text-decoration:none}
.bm-zone-link span{font-size:.85rem;color:var(--bm-sub)}
.bm-zone-link:hover strong{text-decoration:underline}
.bm-zone-intro{margin:.4rem 0 .6rem;color:var(--bm-sub);font-size:.94rem}
.bm-conds{display:flex;flex-wrap:wrap;gap:.45rem;margin:.6rem 0;padding:0;list-style:none}
.bm-conds a{display:inline-block;padding:.35rem .8rem;border:1px solid var(--bm-line);border-radius:99px;color:var(--bm-text);font-size:.88rem;text-decoration:none}
.bm-conds a:hover{background:var(--bm-accent);border-color:var(--bm-accent);color:#fff}
.bm-more{font-weight:600;font-size:.9rem;color:var(--bm-accent)}
.bodymap[data-variant="2"] .bm-conds a:hover{color:var(--navy-950)}
.bm-all{margin-top:auto;border-top:1px solid var(--bm-line);padding-top:1rem}
.bm-all-title{margin:0 0 .5rem;font:700 .72rem var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--bm-muted)}
.bm-all ul{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}
.bm-all a{display:inline-flex;gap:.5rem;padding:.35rem .8rem;border:1px solid var(--bm-line);border-radius:99px;color:var(--bm-text);font-size:.88rem;text-decoration:none}
.bm-all a span{color:var(--bm-sub)}
.bm-all a:hover{border-color:var(--bm-accent)}
.bm-credit{margin:1rem 0 0;font-size:.74rem;color:var(--muted)}
.bm-nogl .bm-figure{display:none}
.bm-nogl{grid-template-columns:1fr}
/* Pe telefon panoul e un sertar care urcă de jos (se deschide la atingerea unei zone, X îl închide); fără WebGL rămâne în pagină. */
.bm-close,.bm-grabber,.bm-backdrop,.bm-list-open{display:none}
.bm{--bm-sheet:#fff}
.bodymap[data-variant="2"] .bm{--bm-sheet:var(--navy-900)}
@media (max-width:860px){
  .bm{grid-template-columns:1fr}
  .bm-stage{height:min(62vh,520px)}
  .bm-list-open{display:inline-flex;align-items:center;gap:.5rem;margin:0 1rem 1rem;padding:.6rem 1rem;border:1px solid var(--bm-line);border-radius:99px;background:none;color:var(--bm-text);font:600 .88rem var(--font-body);cursor:pointer}
  .bm-list-open:focus-visible,.bm-close:focus-visible{outline:2px solid var(--bm-accent);outline-offset:2px}
  .bm-backdrop{display:block;position:fixed;inset:0;z-index:150;background:rgba(7,4,32,.5);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
  .bm.is-open .bm-backdrop{opacity:1;visibility:visible;transition:opacity .3s,visibility 0s}
  .bm-panel{position:fixed;left:0;right:0;bottom:0;z-index:151;max-height:80vh;overflow:auto;overscroll-behavior:contain;
    padding:2.8rem 1.3rem calc(1.3rem + env(safe-area-inset-bottom));border-radius:var(--radius-l) var(--radius-l) 0 0;border-bottom:0;
    background:var(--bm-sheet);box-shadow:0 -18px 50px -18px rgba(0,0,0,.4);
    transform:translateY(105%);visibility:hidden;transition:transform .34s var(--ease),visibility 0s .34s}
  .bm.is-open .bm-panel{transform:none;visibility:visible;transition:transform .34s var(--ease),visibility 0s}
  .bm-grabber{display:block;position:absolute;top:.6rem;left:50%;width:44px;height:5px;margin-left:-22px;border-radius:99px;background:var(--bm-line)}
  .bm-close{display:grid;place-items:center;position:absolute;top:.55rem;right:.7rem;width:40px;height:40px;border-radius:50%;border:1px solid var(--bm-line);
    background:none;color:var(--bm-text);font-size:1.3rem;cursor:pointer}
  .bm-nogl .bm-panel{position:static;transform:none;visibility:visible;max-height:none;padding:1.4rem 1.5rem;border-radius:var(--radius-l);border-bottom:1px solid var(--bm-line);
    background:var(--bm-card);box-shadow:var(--shadow-s);transition:none}
  .bm-nogl .bm-close,.bm-nogl .bm-grabber,.bm-nogl .bm-backdrop,.bm-nogl .bm-list-open{display:none}
}
@media (prefers-reduced-motion:reduce){.bm-panel,.bm-backdrop{transition:none!important}}

/* Rubrici afecțiune fără poză: tot conținutul pe toată lățimea paginii (nu o coloană îngustă) */
section.rb[data-variant] .rb-inner:has(.rb-media[hidden]){grid-template-columns:1fr;justify-content:stretch}
section.rb-list .rb-inner:has(.rb-media[hidden]) .rb-items,
section.rb-alert .rb-inner:has(.rb-media[hidden]) .rb-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:.8rem}
section.rb-list .rb-inner:has(.rb-media[hidden]) .rb-items li,
section.rb-alert .rb-inner:has(.rb-media[hidden]) .rb-items li{margin:0}
section.rb-text .rb-inner:has(.rb-media[hidden]) .rb-body{max-width:none}
section.rb-faq .rb-inner:has(.rb-media[hidden]){grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
section.rb-faq[data-variant="2"] .rb-inner:has(.rb-media[hidden]){grid-template-columns:1fr}
@media (max-width:860px){section.rb-faq .rb-inner:has(.rb-media[hidden]){grid-template-columns:1fr}}

/* ============ Recenzii Google (.gr) ============ */
.gr-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.6rem}
.gr-score{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin:0}
.gr-score strong{font-family:var(--font-display);font-size:2.6rem;line-height:1}
.gr-stars{display:inline-flex;gap:1px;color:#f4b400;font-size:1.15rem}
.gr-count{color:var(--ink-2);font-size:.95rem}
.gr-google{font-weight:700;letter-spacing:-.01em;background:linear-gradient(90deg,#4285f4 0 25%,#ea4335 25% 50%,#fbbc05 50% 75%,#34a853 75%);-webkit-background-clip:text;background-clip:text;color:transparent}
.gr-list{--cols:3;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:1rem}
@media (max-width:1000px){.gr-list{grid-template-columns:repeat(min(var(--cols),2),minmax(0,1fr))}}
@media (max-width:640px){.gr-list{grid-template-columns:1fr}}
.gr-card{display:flex;flex-direction:column;gap:.8rem;padding:1.4rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-s)}
.gr-card blockquote{margin:0;flex:1;color:var(--ink-2);line-height:1.65}
.gr-card footer{display:flex;align-items:center;gap:.7rem}
.gr-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--navy-700);color:#fff;font-weight:700}
.gr-who{display:flex;flex-direction:column;font-weight:600;font-size:.92rem}
.gr-who a{color:inherit}
.gr-who small{font-weight:400;color:var(--muted)}
.gr-credit{margin:1.2rem 0 0;font-size:.78rem;color:var(--muted)}
/* Modelele 2 și 6: carusel orizontal; --cols = câte recenzii se văd deodată (2 pe tabletă, 1 pe telefon) */
.gr-carousel{position:relative}
.gr-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;padding-bottom:.8rem;scrollbar-width:thin}
.gr-track .gr-card{flex:0 0 calc((100% - (var(--cols) - 1) * 1rem) / var(--cols));scroll-snap-align:start;min-width:0}
@media (max-width:1000px){.gr-track .gr-card{flex-basis:calc((100% - 1rem) / min(var(--cols),2))}}
@media (max-width:640px){.gr-track .gr-card{flex-basis:88%}}
.gr-nav{position:absolute;top:calc(50% - 1.4rem);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy-900);font-size:1.5rem;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-m)}
.gr-nav[hidden]{display:none}
.gr-nav:disabled{opacity:.35;cursor:default}
.gr-prev{left:-14px}.gr-next{right:-14px}
.gr-nav:focus-visible{outline:2px solid var(--navy-500);outline-offset:2px}
@media (max-width:640px){.gr-prev{left:-6px}.gr-next{right:-6px}}
.gr[data-variant="3"] .gr-nav{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff}
/* Model 3: închis, scor mare */
.gr[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950));color:#e9e7ff}
.gr[data-variant="3"] h2,.gr[data-variant="3"] .gr-score strong{color:#fff}
.gr[data-variant="3"] .eyebrow{color:var(--gold-300)}
.gr[data-variant="3"] .section-lede,.gr[data-variant="3"] .gr-count,.gr[data-variant="3"] .gr-credit{color:rgba(230,228,255,.78)}
.gr[data-variant="3"] .gr-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none}
.gr[data-variant="3"] .gr-card blockquote{color:rgba(233,231,255,.88)}
.gr[data-variant="3"] .gr-who a,.gr[data-variant="3"] .gr-who{color:#fff}
.gr[data-variant="3"] .gr-who small{color:rgba(230,228,255,.6)}
.gr[data-variant="3"] .btn-ghost-dark{color:#fff;border-color:rgba(255,255,255,.3);background:transparent}
.gr[data-variant="3"] .gr-avatar{background:var(--gold-300);color:var(--navy-950)}
.gr[data-variant="3"] .gr-google{background:none;color:#fff;-webkit-text-fill-color:#fff}

/* ============ Aparatură (.eq-*) ============ */
.eq-list{--cols:3;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:1.4rem}
@media (max-width:1000px){.eq-list{grid-template-columns:repeat(min(var(--cols),2),minmax(0,1fr))}}
@media (max-width:640px){.eq-list{grid-template-columns:1fr}}
.eq-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-s);color:inherit;text-decoration:none;transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s}
.eq-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-m);border-color:rgba(var(--navy-500-rgb,49,36,198),.28)}
.eq-card-media{display:grid;place-items:center;flex:none;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(150deg,var(--gold-100),#eef3ff 60%,#e6e4ff);color:var(--navy-600);font-size:3.2rem}
.eq-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.eq-card:hover .eq-card-media img{transform:scale(1.05)}
.eq-card-body{display:flex;flex-direction:column;gap:.45rem;padding:1.2rem 1.3rem 1.3rem;flex:1}
.eq-card-body strong{font-family:var(--font-display);font-size:1.2rem;line-height:1.25;color:var(--ink)}
.eq-card-body small{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.eq-card-text{color:var(--ink-2);font-size:.93rem;line-height:1.55}
.eq-card-go{margin-top:auto;padding-top:.4rem;font-weight:600;font-size:.9rem;color:var(--navy-600);display:inline-flex;align-items:center;gap:.4rem}
.eq-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.eq-chips a{display:inline-block;padding:.5rem 1rem;border:1px solid var(--line);border-radius:99px;background:#fff;color:var(--ink);text-decoration:none;font-weight:600;font-size:.93rem}
.eq-chips a:hover{background:var(--navy-700);border-color:var(--navy-700);color:#fff}
/* Model 2: rânduri (poză mică + text) */
.eq-show[data-variant="2"] .eq-list{grid-template-columns:1fr;gap:1rem}
.eq-show[data-variant="2"] .eq-card{flex-direction:row;align-items:stretch}
.eq-show[data-variant="2"] .eq-card-media{width:220px;aspect-ratio:auto;min-height:130px}
@media (max-width:640px){.eq-show[data-variant="2"] .eq-card{flex-direction:column}.eq-show[data-variant="2"] .eq-card-media{width:100%;aspect-ratio:16/10}}
/* Model 3: închis */
.eq-show[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950));color:#e9e7ff}
.eq-show[data-variant="3"] h2{color:#fff}
.eq-show[data-variant="3"] .eyebrow{color:var(--gold-300)}
.eq-show[data-variant="3"] .section-lede{color:rgba(230,228,255,.78)}
.eq-show[data-variant="3"] .eq-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none}
.eq-show[data-variant="3"] .eq-card-body strong{color:#fff}
.eq-show[data-variant="3"] .eq-card-text{color:rgba(233,231,255,.78)}
.eq-show[data-variant="3"] .eq-card-go{color:var(--gold-300)}
.eq-show[data-variant="3"] .eq-card-media{background:rgba(255,255,255,.08);color:var(--gold-300)}
/* Model 4: carusel orizontal */
.eq-show[data-variant="4"] .eq-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:1rem;padding-bottom:.8rem}
.eq-show[data-variant="4"] .eq-card{flex:0 0 min(320px,82%);scroll-snap-align:start}
/* Pagina aparatului: afecțiunile tratate */
.eq-conditions[data-variant="3"]{background:linear-gradient(160deg,#0f0a45,var(--navy-900) 55%,var(--navy-950));color:#e9e7ff}
.eq-conditions[data-variant="3"] h2{color:#fff}
.eq-conditions[data-variant="3"] .eyebrow{color:var(--gold-300)}
.eq-conditions[data-variant="3"] .eq-chips a{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.eq-conditions[data-variant="3"] .eq-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);box-shadow:none}
.eq-conditions[data-variant="3"] .eq-card-body strong{color:#fff}
.eq-conditions[data-variant="3"] .eq-card-text{color:rgba(233,231,255,.78)}
.eq-conditions[data-variant="3"] .eq-card-go{color:var(--gold-300)}

/* ============ Bara flotantă de pe mobil (.mbar) ============
   O „pastilă” plutitoare de sticlă, ca header-ul, cu butoanele obișnuite ale site-ului (.btn): primul (programarea) plin,
   restul cu contur. Doar pe telefon. */
.mbar{display:none}
@media (max-width:768px){
  .mbar{position:fixed;left:.5rem;right:.5rem;bottom:calc(.6rem + env(safe-area-inset-bottom,0px));z-index:90;display:flex;gap:.35rem;padding:.35rem;
    border-radius:999px;background:rgba(255,255,255,.84);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);
    border:1px solid rgba(var(--navy-600-rgb,40,31,163),.14);box-shadow:0 18px 40px -16px rgba(var(--navy-900-rgb,12,9,56),.5)}
  /* the first button (booking) takes the free space, the others are as wide as their text */
  .mbar-btn{flex:0 0 auto;min-width:0;justify-content:center;gap:.3rem;padding:.72rem clamp(.45rem,2vw,.65rem);font-size:clamp(.72rem,3.1vw,.8rem);line-height:1;white-space:nowrap;border-radius:999px}
  .mbar-btn span{overflow:hidden;text-overflow:ellipsis}
  .mbar-btn .mdi{flex:none;font-size:clamp(1rem,4.6vw,1.1rem);line-height:1}
  .mbar-booking{flex:1 1 0}
  .mbar-btn.btn-ghost-dark{background:rgba(255,255,255,.7)}
  .mbar-phone .mdi{color:var(--navy-600)}
  .mbar-whatsapp .mdi{color:#1fa855}
  .mbar-btn:active{transform:scale(.97)}
  .has-mbar{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
  .has-mbar .to-top{bottom:calc(92px + env(safe-area-inset-bottom,0px))}
}

/* ---- author card at the end of an article ---- */
.author-card{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:clamp(1.2rem,3vw,2.4rem);align-items:center;padding:clamp(1.2rem,3vw,2rem);background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);box-shadow:var(--shadow-m)}
.author-photo{display:block;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;background:var(--paper-2)}
.author-photo img{width:100%;height:100%;object-fit:cover;display:block}
.author-photo .dr-initials{display:grid;place-items:center;width:100%;height:100%;font-family:var(--font-display);font-size:3rem;color:var(--navy-700)}
.author-body h3{margin:0 0 .2rem;font-size:1.6rem}
.author-body h3 a{color:var(--navy-900);text-decoration:none}
.author-grade{margin:0;color:var(--navy-600);font-weight:600}
.author-spec{margin:.1rem 0 0;color:var(--muted);font-size:.95rem}
.author-sum{margin:.9rem 0 0;color:var(--ink-2);line-height:1.65}
.author-facts{list-style:none;margin:.9rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;color:var(--muted);font-size:.92rem}
.author-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}
.author-card-dark{background:var(--navy-900);border-color:transparent}
.author-card-dark h3 a,.author-card-dark .author-grade{color:#fff}
.author-card-dark .author-spec,.author-card-dark .author-facts{color:var(--slate)}
.author-card-dark .author-sum{color:var(--ice)}
@media (max-width:640px){.author-card{grid-template-columns:1fr;text-align:left}.author-photo{max-width:200px}}

/* ---- condition content: all the rubrics in one section (model 1: side table of contents, model 2: tabs) ---- */
.cc-layout{display:grid;grid-template-columns:230px 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.cc-toc{position:sticky;top:6.5rem;padding:1.1rem 1.2rem;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius)}
.cc-toc-title{margin:0 0 .6rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.cc-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.cc-toc a{display:block;padding:.4rem .6rem;border-radius:var(--radius-s);color:var(--ink-2);text-decoration:none;font-size:.95rem}
.cc-toc a:hover,.cc-toc a:focus-visible{background:#fff;color:var(--navy-700)}
.cc-stack{display:grid;gap:clamp(2rem,5vw,3.6rem);min-width:0}
.cc-rubric{scroll-margin-top:6rem}
.cc-rubric+.cc-rubric{padding-top:clamp(2rem,5vw,3.6rem);border-top:1px solid var(--line)}
.cc-head{margin-bottom:1.1rem}
.cc-head h2{margin:.2rem 0 0}
.cc-body{display:grid;gap:1.6rem}
.cc-body.has-media{grid-template-columns:1fr minmax(180px,34%);align-items:start}
.cc-media{margin:0}
.cc-media img{display:block;width:100%;height:auto;border-radius:var(--radius)}
.cc-items{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.cc-items li{display:flex;gap:.8rem;align-items:flex-start;padding:.9rem 1.1rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-s)}
.cc-items li>i{flex:none;color:var(--navy-500);font-size:1.3rem;line-height:1.4}
.cc-items li strong{display:block;color:var(--navy-900)}
.cc-items li span{display:block;margin-top:.15rem;color:var(--ink-2);font-size:.95rem}
.cc-alert .cc-items li{background:#fff5f5;border-color:rgba(237,30,36,.28)}
.cc-alert .cc-items li>i{color:#ed1e24}
.cc-urgent{margin:1rem 0 0;padding:.8rem 1rem;border-left:4px solid #ed1e24;background:#fff5f5;border-radius:var(--radius-s)}
.cc-faq{display:grid;gap:.6rem}
/* model 2 — tabs */
.cc-tablist{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.6rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.cc-tab{appearance:none;cursor:pointer;font:inherit;font-weight:600;padding:.55rem 1rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-2);transition:background .15s,color .15s,border-color .15s}
.cc-tab:hover{border-color:var(--navy-500);color:var(--navy-700)}
.cc-tab[aria-selected="true"]{background:var(--navy-700);border-color:var(--navy-700);color:#fff}
.cc-model-tabs.is-js .cc-panel[hidden]{display:none}
.cc-model-tabs:not(.is-js) .cc-panel+.cc-panel{margin-top:2.4rem;padding-top:2.4rem;border-top:1px solid var(--line)}
@media (max-width:900px){
  .cc-layout{grid-template-columns:1fr}
  .cc-toc{position:static}
  .cc-toc ol{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
  .cc-body.has-media{grid-template-columns:1fr}
}
@media (max-width:640px){.cc-tablist{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.cc-tab{white-space:nowrap}}

/* ---- "doctors, then the rest of the staff" (conditions and articles): whole-card links, booking button, first free place ---- */
.ct-group+.ct-group{margin-top:clamp(2.4rem,5vw,3.8rem)}
.ct-head{margin-bottom:1.4rem}
.ct-head h3{margin:0;font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,1.9rem);color:var(--navy-900)}
.ct-head p{margin:.35rem 0 0;color:var(--muted)}
.ct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.4rem}
.ct-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-s);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
.ct-card:hover,.ct-card:focus-within{transform:translateY(-5px);box-shadow:var(--shadow-m);border-color:rgba(var(--navy-500-rgb,49,36,198),.28)}
.ct-photo{aspect-ratio:4/3;background:var(--paper-2);overflow:hidden}
.ct-photo img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .5s var(--ease)}
.ct-card:hover .ct-photo img{transform:scale(1.04)}
.ct-photo .dr-initials{display:grid;place-items:center;width:100%;height:100%;font-family:var(--font-display);font-size:3rem;color:var(--navy-700)}
.ct-body{display:flex;flex-direction:column;gap:.3rem;flex:1;padding:1.2rem 1.4rem 1.4rem}
.ct-body h4{margin:0;font-size:1.2rem;line-height:1.25}
.ct-link{color:var(--navy-900);text-decoration:none}
.ct-link::after{content:"";position:absolute;inset:0;z-index:1}                 /* the whole card is the link */
.ct-link:focus-visible{outline:none}
.ct-card:has(.ct-link:focus-visible){outline:2px solid var(--navy-500);outline-offset:2px}
.ct-grade{margin:0;color:var(--navy-600);font-weight:600;font-size:.95rem}
.ct-spec{margin:0;color:var(--muted);font-size:.9rem}
.ct-sum{margin:.4rem 0 0;color:var(--ink-2);font-size:.93rem;line-height:1.55}
.ct-actions{margin-top:auto;padding-top:1rem;display:grid;gap:.6rem;justify-items:start;position:relative;z-index:2}   /* above the stretched link */
.ct-slot{margin:0;display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--ink-2)}
.ct-slot[hidden]{display:none}
.ct-slot strong{color:var(--navy-900)}
.ct-slot-dot{width:.55rem;height:.55rem;border-radius:50%;background:#1aa86b;box-shadow:0 0 0 4px rgba(26,168,107,.18)}
/* model 2: rows */
.care-team[data-variant="2"] .ct-grid{grid-template-columns:1fr;max-width:900px}
.care-team[data-variant="2"] .ct-card{flex-direction:row;align-items:stretch}
.care-team[data-variant="2"] .ct-photo{aspect-ratio:auto;width:170px;flex:none}
@media (max-width:640px){.care-team[data-variant="2"] .ct-card{flex-direction:column}.care-team[data-variant="2"] .ct-photo{width:100%;aspect-ratio:4/3}}

/* text alignment chosen in the editors (Quill writes these classes; left is the default) */
.ql-align-center{text-align:center}
.ql-align-right{text-align:right}
.ql-align-justify{text-align:justify;hyphens:auto;-webkit-hyphens:auto}

/* the services page narrowed from the address (?specialitate=… / ?doctor=…) */
.svc-filter{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:0 0 1.6rem;padding:.7rem 1rem;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-s);color:var(--ink-2)}
.svc-filter i{color:var(--navy-500);font-size:1.2rem}
.svc-filter a:not(.svc-filter-clear){color:var(--navy-700)}
.svc-filter-warn{color:#b3261e;font-size:.9rem}
.svc-filter-clear{margin-left:auto;font-weight:600;color:var(--navy-700)}
