/* ========== RESET ========== */
*,*::before,*::after{ box-sizing:border-box }
html,body{ height:100% }
body{ margin:0; font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:#0c2d34; background:#fff }
img{ display:block; max-width:100%; height:auto }
a{ text-decoration:none; color:inherit }
.nowrap{ white-space:nowrap }

/* ========== TOKENS ========== */
:root{
  --fs-h1:50px; --fs-h2:30px; --fs-p:20px;

  --ink:#0c2d34;
  --ink-weak:rgba(12,45,52,.80);
  --ink-on-dark:#E8E2D6;
  --ink-on-dark-weak:rgba(232,226,214,.92);

  --c1-a:#13424C; --c1-b:#3FAEC6;   /* hero */
  --c2-a:#34889A; --c2-b:#34899B;   /* accents */

  --container:1280px;
  --page-pad:24px;

  --hero-h:1024px;
  --hero-grad:705px;
}

/* ========== NAVBAR ========== */
.navbar{ position:absolute; inset:0 0 auto 0; background:transparent; z-index:50; transition:background .25s, box-shadow .25s, padding .25s }
.nav-inner{ max-width:var(--container); margin:0 auto; padding:16px 32px; display:flex; align-items:center; gap:48px }
.brand{ line-height:0 }
.logo{ height:80px }

.nav-right{ margin-left:auto; display:flex; align-items:center; gap:36px }
.nav-links{ display:flex; gap:56px }
.nav-link{ color:#fff; font:700 18px/1.2 "Inter",sans-serif; letter-spacing:.2px; position:relative }
.nav-link:hover{ opacity:.9 }
.nav-link::after{ content:""; position:absolute; left:0; right:0; bottom:-10px; height:2px; background:rgba(255,255,255,.55); transform:scaleX(0); transform-origin:left; transition:transform .2s }
.nav-link:hover::after{ transform:scaleX(1) }

/* Limbă (desktop) */
.lang{ position:relative }
.lang-btn{
  display:flex; align-items:center; gap:10px; padding:10px 16px; border-radius:999px;
  background:rgba(255,255,255,.92); color:#0c2d34; font-weight:700;
  border:1px solid rgba(0,0,0,.06); box-shadow:0 2px 10px rgba(0,0,0,.08); cursor:pointer;
}
.lang-menu{
  position:absolute; right:0; top:100%; margin-top:8px; min-width:180px; background:#fff;
  border:1px solid rgba(0,0,0,.08); border-radius:12px; padding:6px; list-style:none;
  box-shadow:0 12px 30px rgba(0,0,0,.12); display:none; z-index:1000;
}
.lang-menu a{ display:block; padding:10px 12px; border-radius:8px; color:#0c2d34; font-weight:600 }
.lang-menu a:hover{ background:#f3f5f8 }
.lang.open .lang-menu{ display:block }

/* Sticky */
.navbar.is-fixed{ position:fixed; top:0; left:0; right:0; background:rgba(19,66,76,.84); backdrop-filter:blur(6px); box-shadow:0 8px 28px rgba(0,0,0,.18) }
.navbar.is-fixed .nav-inner{ padding:10px 24px }
.navbar.is-fixed .logo{ height:64px }
.navbar.is-fixed::after{ content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; background:linear-gradient(to right,rgba(255,255,255,.18),rgba(255,255,255,.08),rgba(255,255,255,.18)) }

/* ========== HERO ========== */
.block{ position:relative; width:100% }

.block-1{
  position: relative;
  height: var(--hero-h);
  overflow: hidden;
  background:
    linear-gradient(
      to bottom,
      rgba(19,66,76,.74) 0%,
      rgba(63,174,198,.38) var(--hero-grad),
      rgba(255,255,255,1) var(--hero-grad)
    ),
    radial-gradient(150% 90% at 50% 28%, rgba(19,66,76,.16), rgba(19,66,76,0) 60%),
    url("/assets/img/hero-bggg.jpg") 60% 30% / cover no-repeat,
    #0E3942;
  background-position: center, center, 60% 30%, center;
}
.block-1::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(180% 100% at -10% 50%, rgba(0,0,0,.12), transparent 45%),
    radial-gradient(180% 100% at 110% 50%, rgba(0,0,0,.12), transparent 45%);
  mix-blend-mode: soft-light;
  opacity:.28;
}

/* Text hero (desktop) */
.hero-text{
  position:absolute; top:32%; left:50%; transform:translate(-50%,-50%);
  text-align:center; width:min(100% - 64px,1280px); z-index:8; padding:0 8px;
}
.hero-text h1,.hero-text h2{ font-weight:900; color:var(--ink-on-dark); text-shadow:0 2px 8px rgba(0,0,0,.30) }
.hero-text h1{ font-size:var(--fs-h1); line-height:1.18; margin:0 0 10px; letter-spacing:.2px }
.hero-text h2{ font-size:var(--fs-h2); line-height:1.28; margin:0 0 24px }
.hero-text p{ font-size:var(--fs-p); line-height:1.6; margin:8px 0; color:var(--ink-on-dark-weak) }

/* Mobil (fundal) */
@media (max-width:880px){
  .block-1{ background-position: center, center, 50% 35%, center; }
}

/* ========== ABOUT ========== */
:root{
  --about-wash:.45;
  --about-scrim-top:.86;
  --about-scrim-mid:.44;
  --about-scrim-bot:.14;
  --about-ribbon-alpha:.38;
}

#about.about-grad{
  position: relative;
  padding: 108px 0 124px;
  color:#fff;
  background:
    linear-gradient(180deg, rgba(19,66,76,var(--about-scrim-top)) 0%, rgba(52,137,154,var(--about-scrim-mid)) 52%, rgba(52,137,154,var(--about-scrim-bot)) 82%, rgba(52,137,154,0) 100%),
    linear-gradient(0deg, rgba(255,255,255,var(--about-wash)), rgba(255,255,255,var(--about-wash))),
    url("/assets/img/33.jpg") center 35% / cover no-repeat,
    #2b6a75;
}
#about.about-grad::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:linear-gradient(90deg, rgba(14,57,66,.10) 0%, rgba(14,57,66,0) 22%, rgba(14,57,66,0) 78%, rgba(14,57,66,.10) 100%);
  mix-blend-mode: soft-light; opacity:.85;
}
#about.about-grad::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:160px; pointer-events:none;
  background:linear-gradient(to bottom, rgba(52,137,154,.10), rgba(52,137,154,0));
  filter: blur(1.2px);
}

.about-shell{ width:min(100% - 48px,1280px); margin-inline:auto; position:relative; z-index:1 }

.section-ribbon{ position:relative; width:min(100% - 48px,1280px); margin:0 auto 22px; padding:26px 0; display:grid; place-items:center; }
.section-ribbon::before{
  content:""; position:absolute; left:50%; transform:translateX(-50%);
  width:min(100%,1100px); height:64px; border-radius:18px;
  background:linear-gradient(135deg, rgba(63,174,198,var(--about-ribbon-alpha)), rgba(52,137,154,calc(var(--about-ribbon-alpha) - .08)));
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 18px 40px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.25);
  backdrop-filter: blur(2px) saturate(110%);
}
.ribbon-title{ margin:0; position:relative; z-index:1; font:800 40px/1.15 "Inter",sans-serif; color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.25) }

/* ABOUT CARD */
.about-card{
  position: relative;
  display:grid; grid-template-columns: 260px 1fr; gap:36px; align-items:center;
  max-width:1100px; margin:6px auto 0; padding:44px 48px;
  border-radius:28px;
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(10px) saturate(120%);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 40px 80px rgba(0,0,0,.28), 0 12px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.35), inset 0 -1px 0 rgba(0,0,0,.10);
  color:#fff;
}
.about-card::before{
  content:""; position:absolute; inset:-1px; border-radius:inherit; pointer-events:none;
  padding:1px;
  background:linear-gradient(135deg, rgba(255,255,255,.65), rgba(255,255,255,0) 35%, rgba(63,174,198,.55) 62%, rgba(52,137,154,.35) 100%);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude; -webkit-mask-composite: xor;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}
.about-card::after{
  content:""; position:absolute; left:8%; right:8%; bottom:-24px; height:48px; z-index:-1;
  background: radial-gradient(120% 100% at 50% 0, rgba(0,0,0,.26), rgba(0,0,0,0) 70%);
  filter: blur(8px);
}
.about-head{ margin:0 0 12px; font:800 28px/1.2 "Inter",sans-serif; text-shadow: 0 1px 1px rgba(0,0,0,.15) }
.about-card p{ margin:0 0 12px; font:600 20px/1.7 "Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; color:rgba(255,255,255,.95) }
.about-points{ margin:8px 0 0; padding-left:18px; display:grid; gap:6px }
.about-points li{ font:700 16px/1.6 "Inter",sans-serif; list-style:"✓  "; color:#fff }

/* Avatar */
.about-avatar{
  width:220px; height:220px; border-radius:999px;
  padding:10px;
  background: radial-gradient(120% 120% at 30% 20%, rgba(255,255,255,.45), rgba(255,255,255,.06)), linear-gradient(135deg, #3FAEC6, #34889A);
  box-shadow:0 10px 28px rgba(0,0,0,.18), 0 2px 0 rgba(255,255,255,.25) inset;
}
.about-avatar img{ width:100%; height:100%; object-fit:cover; border-radius:inherit; display:block; background:#b9cbd0 }

/* Responsiv ABOUT */
@media (max-width:980px){
  .about-card{ grid-template-columns:1fr; text-align:left }
  .about-avatar{ margin:0 auto 10px }
}
@media (max-width:760px){
  .ribbon-title{ font-size:32px }
  .about-head{ font-size:24px }
  .about-card p{ font-size:18px }
}

/* ========== SERVICII ========== */
.block-3{ background:linear-gradient(180deg,rgba(129,182,193,.18),rgba(129,182,193,.08)) }
.section-pad{ padding:64px var(--page-pad) 72px }
.container-1441{ width:min(100% - 48px,1441px); margin-inline:auto }
.section-head{ text-align:center; max-width:960px; margin:0 auto 42px }
.section-title{ font:800 40px/1.15 "Inter",sans-serif; color:var(--ink); margin:0 0 12px }
.section-sub{ font-size:20px; line-height:1.7; color:var(--ink-weak); margin:0 }

.services-grid{ display:flex; flex-wrap:wrap; gap:28px; justify-content:center; margin-top:28px; margin-bottom:8px }
.svc-card{
  flex:1 1 360px; max-width:420px;
  background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:20px; padding:24px;
  display:flex; flex-direction:column; gap:10px;
  box-shadow:0 18px 42px rgba(0,0,0,.09),0 6px 18px rgba(0,0,0,.06);
  transition:transform .18s, box-shadow .18s;
}
.svc-card:hover{ transform:translateY(-3px); box-shadow:0 24px 56px rgba(0,0,0,.12),0 8px 20px rgba(0,0,0,.08) }
.svc-ico{
  width:56px; height:56px; display:grid; place-items:center; border-radius:16px;
  background:linear-gradient(135deg,var(--c1-b),var(--c2-a)); color:#fff; font-size:26px; font-weight:800; margin-bottom:4px
}
.svc-ico img{ width:28px; height:28px; display:block; }

.svc-card h4{ font:800 21px/1.25 "Inter",sans-serif; margin:0; color:var(--ink) }
.svc-card p{ margin:0; font-size:16.5px; line-height:1.7; color:rgba(12,45,52,.82) }
.svc-link{ margin-top:auto; font-weight:700; font-size:16px; color:var(--c2-a); display:inline-flex; align-items:center; gap:8px }
.svc-link::after{ content:"→"; transition:transform .18s }
.svc-link:hover::after{ transform:translateX(3px) }
.services-cta{ margin-top:28px; text-align:center; background:linear-gradient(135deg,rgba(63,174,198,.12),rgba(52,137,154,.10)); border:1px solid rgba(0,0,0,.06); border-radius:24px; padding:24px; max-width:980px; margin-inline:auto; box-shadow:0 12px 30px rgba(0,0,0,.08) }
.services-cta h4{ margin:0 0 8px; font:800 26px/1.2 "Inter",sans-serif; color:var(--ink) }
.services-cta p{ margin:0 0 16px; font-size:18px; color:rgba(12,45,52,.82) }
.btn-cta{ display:inline-block; padding:12px 18px; border-radius:14px; background:linear-gradient(135deg,#3FAEC6,#34889A); color:#fff; font:800 15px/1 "Inter",sans-serif; box-shadow:0 10px 20px rgba(63,174,198,.25) }

/* KPI / WHY / PROCESS */
.stats-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin:32px auto 12px }
.stat{ background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:18px; padding:18px 20px; box-shadow:0 12px 28px rgba(0,0,0,.06); text-align:center }
.stat .v{ font:800 20px/1.15 "Inter",sans-serif; color:var(--ink) }
.stat .v span{ font-size:28px; letter-spacing:.3px }
.stat p{ margin:8px 0 0; color:rgba(12,45,52,.7); font:500 14px/1.6 "Inter",sans-serif }

/* centrăm rândul cu EXACT 3 KPI */
.stats-row.stats--3{
  grid-template-columns:repeat(3,1fr);
  max-width:980px;
  margin:32px auto 12px;
}

.why-us{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin:20px auto 10px }
.why-card{ background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:18px; padding:20px 22px; box-shadow:0 12px 28px rgba(0,0,0,.06) }
.why-card h4{ margin:0 0 6px; font:800 18px/1.25 "Inter",sans-serif; color:var(--ink) }
.why-card p{ margin:0; color:rgba(12,45,52,.75) }

.process{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin:26px auto 8px }
.step{ background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:18px; padding:22px 20px; box-shadow:0 12px 28px rgba(0,0,0,.06); text-align:center }
.step .n{ display:inline-grid; place-items:center; width:40px; height:40px; border-radius:999px; background:linear-gradient(135deg,#3FAEC6,#34889A); color:#fff; font:800 18px/1 "Inter",sans-serif; margin-bottom:10px }
.step h5{ margin:0 0 6px; font:800 16px/1.25 "Inter",sans-serif; color:var(--ink) }
.step p{ margin:0; color:rgba(12,45,52,.75) }

/* ========== CONTACT ========== */
.block-4{ background:linear-gradient(180deg,rgba(192,219,224,.30),rgba(192,219,224,.10)); padding:32px 0 8px }
.contact-wrap{ padding:0 var(--page-pad) }
.contact-grid{ width:min(100% - 48px,1441px); margin:24px auto 0; display:grid; grid-template-columns:1.2fr .8fr; gap:32px }
.contact-form{ background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:20px; padding:24px; box-shadow:0 18px 42px rgba(0,0,0,.08) }
.contact-form .row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px }
.contact-form input,.contact-form textarea{ width:100%; border:1px solid rgba(0,0,0,.12); border-radius:12px; padding:14px 16px; font:500 16px/1.4 "Inter",sans-serif; outline:none }
.contact-form input:focus,.contact-form textarea:focus{ border-color:var(--c2-a); box-shadow:0 0 0 3px rgba(63,174,198,.18) }
.contact-info{ display:grid; gap:16px }
.info-card{ background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:20px; padding:20px 22px; box-shadow:0 12px 30px rgba(0,0,0,.07) }
.info-card h4{ margin:0 0 8px; font:800 20px/1.25 "Inter",sans-serif; color:var(--ink) }
.info-card p{ margin:6px 0; font:16px/1.7 "Inter",sans-serif; color:rgba(12,45,52,.82) }
.site-footer{ margin-top:20px; padding:18px 0 8px; color:rgba(12,45,52,.72); font:600 14px/1.6 "Inter",sans-serif; text-align:center }

.social-links{
  margin-top: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  font: 600 14px/1.6 "Inter", sans-serif;
  color: rgba(12,45,52,.82);
}
.social-links span{ margin-right: 4px; }
.social-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(135deg, #3FAEC6, #34889A);
  box-shadow: 0 4px 10px rgba(63,174,198,.25);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.social-link:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(63,174,198,.30);
  opacity: .95;
}
.social-icon{ width: 18px; height: 18px; display: block; }

/* ========== RESPONSIVE ========== */
@media (max-width:1100px){
  .nav-links{ gap:36px }
  .logo{ height:88px } .navbar.is-fixed .logo{ height:68px }
  .why-us,.process,.stats-row{ grid-template-columns:repeat(2,1fr) }
  .stats-row.stats--3{ grid-template-columns:repeat(2,1fr); max-width:900px }
  .contact-grid{ grid-template-columns:1fr }
  .contact-form .row{ grid-template-columns:1fr }
}
@media (max-width:980px){ .nav-links{ display:none } .logo{ height:72px } .navbar.is-fixed .logo{ height:60px } }
@media (max-width:760px){
  .section-pad{ padding:48px 16px 64px }
  .section-title{ font-size:32px }
  .services-grid{ gap:22px }
  .svc-card{ flex:1 1 100% }
}
@media (max-width:640px){
  .stats-row,.why-us,.process{ grid-template-columns:1fr }
}

/* ===== MOBILE NAV (hamburger + drawer) ===== */
.nav-toggle{
  display:none; margin-left:8px; width:44px; height:44px;
  border:1px solid rgba(255,255,255,.25); border-radius:12px;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  cursor:pointer; position:relative;
}
.nav-toggle .bar{
  position:absolute; left:10px; right:10px; height:2px;
  background:#fff; border-radius:2px; transition:transform .22s ease, opacity .22s ease, top .22s ease;
}
.nav-toggle .bar:nth-child(1){ top:14px }
.nav-toggle .bar:nth-child(2){ top:21px }
.nav-toggle .bar:nth-child(3){ top:28px }
.nav-toggle.is-open .bar:nth-child(1){ top:21px; transform:rotate(45deg) }
.nav-toggle.is-open .bar:nth-child(2){ opacity:0 }
.nav-toggle.is-open .bar:nth-child(3){ top:21px; transform:rotate(-45deg) }

/* drawer */
.mobile-nav{
  position:fixed; inset:0 0 0 auto; width:min(84vw,360px);
  transform:translateX(100%);
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(130%) blur(4px);
  -webkit-backdrop-filter:saturate(130%) blur(4px);
  border-left:1px solid rgba(0,0,0,.08);
  z-index:999; transition:transform .25s ease;
}
.mobile-nav.open{ transform:translateX(0) }
.mobile-nav-inner{ padding:20px }
.mnav-link{ display:block; padding:14px 10px; border-radius:10px; color:var(--ink); font:800 18px/1.2 "Inter",sans-serif }
.mnav-link:hover{ background:rgba(0,0,0,.04) }
.mobile-nav hr{ border:none; height:1px; background:rgba(0,0,0,.08); margin:12px 0 }
.mnav-lang{ display:flex; gap:10px; flex-wrap:wrap }
.mnav-lang a{ padding:8px 10px; border-radius:999px; border:1px solid rgba(0,0,0,.08); font-weight:700; color:var(--ink) }

/* backdrop inserat din JS */
.mobile-nav-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.35); z-index:998 }
.body-no-scroll{ overflow:hidden }

/* mobil: arată hamburger, ascunde limbă & links */
@media (max-width:980px){
  .nav-toggle{ display:inline-block }
  .nav-links{ display:none }
  .lang{ display:none !important }
}

/* ===== MODAL SERVICII (unic, compatibil cu app.js) ===== */
.svc-modal[aria-hidden="true"]{ display:none }
.svc-modal[aria-hidden="false"]{ display:block }
.svc-modal{ position:fixed; inset:0; z-index:2000 }
.svc-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.45) }
.svc-modal__panel{
  position:relative; width:min(92vw,860px); max-height:min(82vh,900px);
  margin:6vh auto 0; background:#fff; border:1px solid rgba(0,0,0,.06);
  border-radius:18px; box-shadow:0 28px 80px rgba(0,0,0,.35);
  display:grid; grid-template-rows:auto 1fr auto; overflow:hidden;
}
.svc-modal__head{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid rgba(0,0,0,.06) }
.svc-modal__title{ margin:0; font:800 22px/1.25 "Inter",sans-serif; color:var(--ink) }
.svc-modal__close{ border:none; background:#f3f5f8; width:36px; height:36px; border-radius:10px; cursor:pointer }
.svc-modal__close:hover{ background:#e9eef2 }
.svc-modal-content{ padding:16px 18px; overflow:auto; color:rgba(12,45,52,.9) }
.svc-modal-content h5{ margin:12px 0 6px; font:800 18px/1.25 "Inter",sans-serif; color:var(--ink) }
.svc-modal-content ul{ margin:8px 0 16px 18px; padding:0; line-height:1.7 }
.svc-modal-content li{ margin:2px 0 }
.svc-modal__foot{ padding:14px 16px; border-top:1px solid rgba(0,0,0,.06); display:flex; justify-content:flex-end }
.svc-article p{ margin:0 0 10px }

/* ========== BLOG ========== */
.block-blog{
  background: linear-gradient(180deg, rgba(129,182,193,.12), rgba(129,182,193,.04));
}
.post-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 28px;
}
.post-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 18px 42px rgba(0,0,0,.08);
  display:flex; flex-direction:column;
  transition: transform .18s ease, box-shadow .18s ease;
}
.post-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 24px 56px rgba(0,0,0,.12);
}
.post-media{
  display:block; line-height:0; background:#eef3f5;
  aspect-ratio: 16 / 9; overflow:hidden;
}
.post-media img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition: transform .25s ease;
}
.post-card:hover .post-media img{ transform: scale(1.03) }

.post-body{ padding: 18px 18px 20px }
.post-meta{
  display:flex; align-items:center; gap:10px;
  color: rgba(12,45,52,.60);
  font: 600 13px/1 "Inter",sans-serif;
  margin-bottom: 10px;
}
.badge{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background: linear-gradient(135deg, var(--c1-b), var(--c2-a));
  color:#fff; font: 800 12px/1 "Inter",sans-serif;
}
.post-title{
  font: 800 20px/1.25 "Inter",sans-serif; color: var(--ink);
  margin: 6px 0 8px;
}
.post-title a{ color:inherit }
.post-title a:hover{ text-decoration: underline }
.post-excerpt{
  margin:0 0 14px;
  color: rgba(12,45,52,.82);
  line-height: 1.65;
  font-size: 16px;
}
.post-link{
  margin-top:auto;
  display:inline-flex; align-items:center; gap:8px;
  font-weight:800; font-size:15px; color: var(--c2-a);
}
.post-link::after{ content:"→"; transition: transform .18s }
.post-link:hover::after{ transform: translateX(3px) }
.blog-cta{ margin-top: 28px; text-align: center; }

@media (max-width: 1100px){
  .post-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .post-grid{ grid-template-columns: 1fr; }
  .post-title{ font-size: 18px }
  .post-excerpt{ font-size: 15px }
}

/* ===== OVERRIDE CONTACT SPACING ===== */
.contact-info{
  gap: 10px !important;
  align-content: flex-start;
}
.info-card--program{
  padding: 12px 20px 10px !important;
}
.block-4{
  padding-bottom: 0 !important;
}
.site-footer{
  margin-top: 10px !important;
}

/* =====================================================
   HERO MOBILE FINAL (exact stilul care ți-a plăcut)
   - fără dashboard/tabele
   - textul tău
   - card glass elegant
   ===================================================== */
.hero-image{ display:none !important; } /* sigur 100% că nu apare */

@media (max-width: 880px){
  .block-1{
    height: auto;
    min-height: 100svh;
    padding: 110px 0 56px;
  }

  .hero-text{
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: min(100% - 24px, 560px);
    margin: 0 auto;
    padding: 0 6px;
    text-align: center;
  }
}

@media (max-width: 640px){
  .hero-text h1{
    font-size: clamp(30px, 8.8vw, 40px);
    line-height: 1.08;
    margin: 0 0 8px;
    letter-spacing: .2px;
  }

  .hero-text h2{
    font-size: clamp(17px, 4.6vw, 21px);
    line-height: 1.22;
    margin: 0 0 14px;
  }

  .hero-lead{
    margin: 6px auto 0;
    padding: 14px 16px;
    border-radius: 18px;

    background: rgba(8,28,33,.35);
    border: 1px solid rgba(255,255,255,.18);

    box-shadow: 0 14px 36px rgba(0,0,0,.22);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    color: var(--ink-on-dark-weak);
  }

  .hero-lead p{
    margin: 0;
    font-size: 16px;
    line-height: 1.65;
  }
  .hero-lead p + p{ margin-top: 10px; }

  .block-1::after{ opacity: .44; }
}

@media (min-width: 641px) and (max-width: 880px){
  .hero-text{ width: min(100% - 32px, 760px); }

  .hero-text h1{
    font-size: clamp(38px, 6vw, 46px);
    line-height: 1.1;
    margin: 0 0 10px;
  }

  .hero-text h2{
    font-size: clamp(18px, 3.2vw, 22px);
    margin: 0 0 16px;
  }

  .hero-lead{
    margin: 8px auto 0;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(8,28,33,.30);
    border: 1px solid rgba(255,255,255,.16);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
  }
}

/* ================================
   PATCH: HERO MOBILE (FORȚAT)
   Pune-l ULTIMUL în main.css
   ================================ */

.hero-image{ display:none !important; }

@media (max-width: 880px){
  .block-1{
    height:auto !important;
    min-height:100svh !important;
    padding:110px 0 56px !important;
  }

  .hero-text{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
    width:min(100% - 24px, 560px) !important;
    margin:0 auto !important;
    padding:0 6px !important;
    text-align:center !important;
  }
}

@media (max-width: 640px){
  .hero-text h1{
    font-size:clamp(30px, 8.8vw, 40px) !important;
    line-height:1.08 !important;
    margin:0 0 8px !important;
  }

  .hero-text h2{
    font-size:clamp(17px, 4.6vw, 21px) !important;
    line-height:1.22 !important;
    margin:0 0 14px !important;
  }

  .hero-lead{
    margin:6px auto 0 !important;
    padding:14px 16px !important;
    border-radius:18px !important;

    background:rgba(8,28,33,.35) !important;
    border:1px solid rgba(255,255,255,.18) !important;

    box-shadow:0 14px 36px rgba(0,0,0,.22) !important;
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;

    color:rgba(232,226,214,.92) !important;
  }

  .hero-lead p{
    margin:0 !important;
    font-size:16px !important;
    line-height:1.65 !important;
  }
  .hero-lead p + p{ margin-top:10px !important; }
}

/* =========================================
   FINAL FIX: HERO MOBILE (ca în mock)
   pune-l ULTIMUL în main.css
   ========================================= */

/* ascunde complet dashboard-ul pe mobil */
.hero-image{ display:none !important; }

@media (max-width: 880px){

  /* hero devine "natural" pe înălțime */
  .block-1{
    height:auto !important;
    min-height:100svh !important;
    padding:110px 0 56px !important;
  }

  /* NU mai lăsa hero-text absolut pe mobil */
  .hero-text{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    transform:none !important;
    width:min(100% - 24px, 560px) !important;
    margin:0 auto !important;
    text-align:center !important;
  }

  /* IMPORTANT: oprește moștenirea font-size:20px de la .hero-text p */
  .hero-text p{
    font-size:16px !important;
    line-height:1.62 !important;
    margin:0 !important;
  }
}

@media (max-width: 640px){

  .hero-text h1{
    font-size:clamp(30px, 8.8vw, 40px) !important;
    line-height:1.08 !important;
    margin:0 0 10px !important;
  }

  .hero-text h2{
    font-size:clamp(17px, 4.6vw, 21px) !important;
    line-height:1.22 !important;
    margin:0 0 14px !important;
  }

  /* card mai compact + mai “premium” */
  .hero-lead{
    max-width:420px !important;
    margin:10px auto 0 !important;
    padding:14px 16px !important;
    border-radius:18px !important;

    background:rgba(8,28,33,.35) !important;
    border:1px solid rgba(255,255,255,.18) !important;

    box-shadow:0 14px 36px rgba(0,0,0,.22) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
  }

  .hero-lead p{
    color:rgba(232,226,214,.92) !important;
  }

  .hero-lead p + p{
    margin-top:10px !important;
  }
}

.blog-preview{
  width: min(1100px, 92%);
  margin: 60px auto;
}

.blog-preview__header{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}

.blog-preview__header h2{
  margin:0;
  font-size:28px;
  font-weight:800;
}

.blog-preview__all{
  text-decoration:none;
  font-weight:700;
}

.blog-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
}

.blog-loading{
  padding:18px;
  border-radius:16px;
  background: rgba(0,0,0,0.06);
}

.blog-card{
  border-radius:18px;
  overflow:hidden;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(10px);
}

.blog-card__link{
  display:block;
  color:inherit;
  text-decoration:none;
}

.blog-card__img{
  width:100%;
  height:180px;
  object-fit:cover;
  display:block;
}

.blog-card__body{
  padding:16px;
}

.blog-card__date{
  opacity:.75;
  font-size:13px;
  margin-bottom:8px;
}

.blog-card__title{
  margin:0 0 8px;
  font-size:18px;
  font-weight:800;
  line-height:1.2;
}

.blog-card__excerpt{
  margin:0 0 12px;
  opacity:.9;
  line-height:1.5;
}

.blog-card__cta{
  font-weight:800;
}

@media (max-width: 900px){
  .blog-grid{ grid-template-columns: 1fr; }
  .blog-card__img{ height:200px; }
}

/* ===== Contact FAB + Sheet (FIX CLICK + Z-INDEX) ===== */
.contact-fab{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  background: rgba(63,174,198,.95);
  color: #fff;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
}

.contact-fab__text{ font-weight: 700; font-size: 14px; line-height: 1; }

.contact-fab__icon{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(0,0,0,.14);
}

@media (max-width: 520px){
  .contact-fab__text{ display:none; }
  .contact-fab{ padding: 12px; }
}

/* container overlay */
.contact-sheet{
  position: fixed;
  inset: 0;
  z-index: 9998;
  display: none;
}
.contact-sheet.is-open{ display:block; }

/* BACKDROP sub panel */
.contact-sheet__backdrop{
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(0,0,0,.35);
  z-index: 1;
}

/* PANEL peste backdrop */
.contact-sheet__panel{
  position: absolute;
  right: 18px;
  bottom: 76px;
  width: min(360px, calc(100vw - 36px));
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(0,0,0,.22);
  overflow: hidden;

  z-index: 2;                 /* IMPORTANT */
  transform: translateY(8px);
  opacity: 0;
  transition: .18s ease;
}
.contact-sheet.is-open .contact-sheet__panel{
  transform: translateY(0);
  opacity: 1;
}

.contact-sheet__head{
  padding: 14px 14px 10px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  background: linear-gradient(135deg, rgba(19,66,76,.96), rgba(63,174,198,.96));
  color: #fff;
}

.contact-sheet__title{ font-weight: 800; font-size: 16px; }
.contact-sheet__sub{ opacity: .9; font-size: 13px; margin-top: 2px; }

.contact-sheet__close{
  border: 0;
  background: rgba(255,255,255,.18);
  color: #fff;
  border-radius: 10px;
  width: 36px;
  height: 36px;
  cursor: pointer;
}

.contact-sheet__actions{
  padding: 12px;
  display: grid;
  gap: 10px;
}

.contact-action{
  display: grid;
  grid-template-columns: 42px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  row-gap: 2px;
  padding: 12px;
  border-radius: 14px;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(0,0,0,.02);
  color: #0f172a;
}
.contact-action:hover{ background: rgba(0,0,0,.04); }

.contact-action__ico{
  grid-row: 1 / span 2;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 18px;
  background: rgba(0,0,0,.06);
}

.contact-action__label{ font-weight: 800; }
.contact-action__hint{ font-size: 12px; opacity: .75; }

.contact-sheet__note{
  padding: 0 12px 14px;
  font-size: 13px;
  opacity: .85;
}
/* ===== /Contact FAB + Sheet ===== */
