/* ===== Fonturi (self-hosted; fără Google Fonts — site-ul e "Privacy First") =====
   Subseturile chirilice sunt obligatorii: pagina /bg/ e în chirilic.
   Ordinea @font-face + unicode-range face ca paginile latine să nu descarce chirilicul. */
@font-face{ font-family:'Unbounded'; font-style:normal; font-weight:200 900; font-display:swap;
  src:url('/fonts/unbounded-latin-var.woff2') format('woff2-variations');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:'Unbounded'; font-style:normal; font-weight:200 900; font-display:swap;
  src:url('/fonts/unbounded-latin-ext-var.woff2') format('woff2-variations');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:'Unbounded'; font-style:normal; font-weight:200 900; font-display:swap;
  src:url('/fonts/unbounded-cyrillic-var.woff2') format('woff2-variations');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }

@font-face{ font-family:'Onest'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('/fonts/onest-latin-var.woff2') format('woff2-variations');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:'Onest'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('/fonts/onest-latin-ext-var.woff2') format('woff2-variations');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:'Onest'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('/fonts/onest-cyrillic-var.woff2') format('woff2-variations');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }

@font-face{ font-family:'Plex Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/fonts/plex-mono-latin-400.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:'Plex Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/fonts/plex-mono-latin-ext-400.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:'Plex Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url('/fonts/plex-mono-cyrillic-400.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face{ font-family:'Plex Mono'; font-style:normal; font-weight:500; font-display:swap;
  src:url('/fonts/plex-mono-latin-500.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face{ font-family:'Plex Mono'; font-style:normal; font-weight:500; font-display:swap;
  src:url('/fonts/plex-mono-latin-ext-500.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face{ font-family:'Plex Mono'; font-style:normal; font-weight:500; font-display:swap;
  src:url('/fonts/plex-mono-cyrillic-500.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }

/* ===== Reset & base ===== */
* { margin:0; padding:0; box-sizing:border-box; }
:root {
  --nav-h: 72px; /* suprascris din JS cu înălțimea reală */

  /* Paletă: o singură culoare de accent (roșul din hero), restul e lumină pe negru */
  --ink:      #06060a;  /* fundalul de bază */
  --deck:     #0b0b12;  /* suprafață ridicată (Despre) */
  --signal:   #ff4757;  /* accent — folosit cu zgârcenie */
  --frost:    #eef1f6;  /* text principal */
  --grey:     #8b90a0;  /* text secundar */
  --rule:     rgba(255,255,255,0.09);        /* hairline */
  --rule-soft:rgba(255,255,255,0.035);       /* ghidajele de cadru */
  --wa:       #25d366;  /* WhatsApp — culoare de brand, nu de design */

  --display: 'Unbounded', 'Segoe UI', sans-serif;
  --body:    'Onest', 'Segoe UI', Tahoma, sans-serif;
  --mono:    'Plex Mono', ui-monospace, 'Courier New', monospace;
}
body {
  font-family: var(--body); line-height:1.6;
  color: var(--frost); background: var(--ink);
  overflow-x:hidden;
  -webkit-font-smoothing: antialiased;
}

/* Eticheta de date: mono, versale, folosită pentru specificații și etichete */
.eyebrow, .spec, .stat-label, .form-group label, .cert-detail {
  font-family: var(--mono); font-size:.72rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--grey);
}

/* ===== Navbar =====
   Peste hero stă transparentă, ca să nu taie cadrul din videoclip; capătă fundal
   și hairline abia după ce începi să derulezi. Clasa .scrolled vine din script.js.
   Atenție: padding-ul NU se schimbă la derulare — ar muta --nav-h sub picioarele
   hero-ului de pe mobil, care își calculează spațiul de sus din el. */
.navbar{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding: 1.1rem 0;
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background .35s ease, border-color .35s ease;
}
.navbar.scrolled{
  background: rgba(6, 6, 10, 0.92);
  backdrop-filter: blur(12px);
  border-bottom-color: var(--rule);
}
.nav-container{
  max-width:1200px; margin:0 auto; display:flex;
  justify-content:space-between; align-items:center; gap:2rem; padding:0 24px;
}
.logo{
  font-family: var(--display); font-size:1.15rem; font-weight:600;
  letter-spacing:-0.03em; color:var(--frost);
  text-decoration:none; transition: color .3s;
}
.logo:hover{ color:var(--signal); }

.nav-links{ display:flex; list-style:none; gap:2.25rem; }
.nav-links a{
  font-family:var(--mono); font-size:.72rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--grey); text-decoration:none;
  position:relative; transition: color .3s;
}
.nav-links a:hover{ color:var(--frost); }
.nav-links a::after{
  content:''; position:absolute; bottom:-7px; left:0;
  width:0; height:1px; background:var(--signal); transition:width .3s;
}
.nav-links a:hover::after{ width:100%; }
.nav-links a:focus-visible, .logo:focus-visible{ outline:2px solid var(--signal); outline-offset:4px; }

.mobile-menu-toggle{
  display:none; background:none; border:none;
  color:var(--frost); font-size:1.25rem; cursor:pointer; z-index:1001;
}

.mobile-menu{
  display:none; position:fixed; inset:0; height:100dvh;
  background: var(--ink);
  z-index:1000; padding: calc(var(--nav-h) + 32px) 24px 40px;
  overflow-y:auto;
}
.mobile-menu.active{ display:flex; flex-direction:column; align-items:stretch; }
/* '>' e obligatoriu: altfel regula prinde și steagurile din selectorul de limbă */
.mobile-menu > a{
  font-family:var(--display); font-size:1.55rem; font-weight:500; letter-spacing:-0.025em;
  color:var(--frost); text-decoration:none;
  padding:1.15rem 0; border-bottom:1px solid var(--rule);
  transition: color .3s ease, padding-left .3s ease;
}
.mobile-menu > a:hover, .mobile-menu > a:active{ color:var(--signal); padding-left:10px; }
.mobile-menu-close{
  position:absolute; top:16px; right:20px;
  background:none; border:none; color:var(--grey); font-size:1.5rem;
  cursor:pointer; transition: color .3s;
}
.mobile-menu-close:hover{ color:var(--signal); }

/* ===== HERO ===== */
.hero-section{
  height: 100vh;
  position: relative;
  /* compoziție de operator: subiectul stă jos-stânga, nu centrat */
  display:flex; align-items:flex-end; justify-content:flex-start;
  background: var(--ink);
  overflow:hidden;
}

/* Videoclip YouTube full-bleed – fallback dimensiune + MQ pe aspect-ratio */
.hero-poster{
  position:absolute; top:50%; left:50%;
  transform: translate(-50%, -50%);
  width:100vw; height:56.25vw;
  object-fit:cover;
  z-index:0;
}
@media (max-aspect-ratio: 16/9){ .hero-poster{ width:177.78vh; height:100vh; } }
@media (min-aspect-ratio: 16/9){ .hero-poster{ width:100vw; height:56.25vw; } }
.hero-poster.hidden{ display:none; }

.hero-video{
  position:absolute; top:50%; left:50%;
  transform: translate(-50%, -50%);
  z-index:1; opacity:1; display:block;
  width:100vw; height:56.25vw; /* fallback: 9/16 */
}
/* viewport mai îngust decât 16:9 → potrivește pe înălțime */
@media (max-aspect-ratio: 16/9){ .hero-video{ width:177.78vh; height:100vh; } }
/* viewport mai lat decât 16:9 → potrivește pe lățime */
@media (min-aspect-ratio: 16/9){ .hero-video{ width:100vw; height:56.25vw; } }

/* Scrim ponderat jos-stânga: exact acolo unde stă textul, ca să rămână lizibil
   peste orice cadru din videoclip, nu un voal uniform peste tot. */
.hero-overlay{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background:
    linear-gradient(to top,   rgba(4,4,8,.92) 0%, rgba(4,4,8,.45) 38%, rgba(4,4,8,0) 68%),
    linear-gradient(to right, rgba(4,4,8,.65) 0%, rgba(4,4,8,0) 55%);
}

.hero-content{
  position:relative; z-index:3; text-align:left; color:#fff;
  max-width:760px; padding:0 24px 12vh 24px;
  margin-left: max(24px, calc((100vw - 1200px) / 2));
}

/* Vizorul încadrează subiectul: aceleași colțuri ca la carduri, aici în jurul mesajului */
.hero-content::before, .hero-content::after,
.hero-content .vf::before, .hero-content .vf::after{
  content:''; position:absolute; width:16px; height:16px; pointer-events:none;
  border:0 solid rgba(255,255,255,.5);
  opacity:0; animation: vf-lock .8s cubic-bezier(.2,.8,.2,1) .5s forwards;
}
.hero-content::before{ top:-14px; left:0; border-top-width:1px; border-left-width:1px; }
.hero-content::after{ bottom:calc(12vh - 14px); right:24px; border-bottom-width:1px; border-right-width:1px; }
.hero-content .vf::before{ top:-14px; right:24px; border-top-width:1px; border-right-width:1px; }
.hero-content .vf::after{ bottom:calc(12vh - 14px); left:0; border-bottom-width:1px; border-left-width:1px; }
@keyframes vf-lock{ from{ opacity:0; transform:scale(1.35); } to{ opacity:1; transform:none; } }

/* Secvență de intrare: eticheta, titlul, textul, acțiunea — în ordinea citirii */
.hero-eyebrow, .hero-content h1, .hero-content p, .hero-content .cta-button{
  opacity:0; animation: rise .9s cubic-bezier(.2,.8,.2,1) forwards;
}
.hero-eyebrow{ animation-delay:.15s; }
.hero-content h1{ animation-delay:.3s; }
.hero-content p{ animation-delay:.45s; }
.hero-content .cta-button{ animation-delay:.6s; }
@keyframes rise{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }

/* specificitate ridicată intenționat: .eyebrow generic e definit mai jos în fișier
   (accent roșu) și altfel ar câștiga peste eticheta hero-ului */
.hero-content .hero-eyebrow{ display:block; margin-bottom:1.25rem; color:rgba(255,255,255,.75); }

.hero-content h1{
  font-family: var(--display);
  font-size: clamp(2.1rem, 5.4vw, 4rem);
  font-weight:600; line-height:1.02; letter-spacing:-0.035em;
  margin-bottom:1.5rem; color:#fff;
  text-shadow: 0 2px 24px rgba(0,0,0,.45);
  max-width:15ch;
}
.hero-content p{
  font-size:clamp(1rem, 1.5vw, 1.15rem); line-height:1.65; font-weight:400;
  color:rgba(255,255,255,.82); max-width:46ch; margin-bottom:2.5rem;
  text-shadow: 0 1px 12px rgba(0,0,0,.5);
}

/* Acțiunea principală: un declanșator, nu un balon pulsatoriu */
.cta-button{
  display:inline-flex; align-items:center; gap:.9rem;
  padding:18px 30px; background: var(--signal);
  color:#fff; text-decoration:none; border-radius:2px;
  font-family: var(--mono); font-size:.8rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
  position:relative;
}
.cta-button .cta-arrow{ transition: transform .25s cubic-bezier(.2,.8,.2,1); }
.cta-button:hover{
  background:#ff2d40; transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(255,71,87,.32);
}
.cta-button:hover .cta-arrow{ transform: translateX(5px); }
.cta-button:focus-visible{ outline:2px solid #fff; outline-offset:3px; }

/* ===== Secțiuni ===== */
/* Gramatica paginii e cea a unui vizor de cameră: ghidaje de treimi peste
   secțiunea de servicii, colțuri de încadrare în jurul fiecărui bloc. */
.container{ max-width:1200px; margin:0 auto; padding:0 24px; position:relative; z-index:1; }

.section-head{ margin-bottom:4.5rem; }
.eyebrow{ display:block; margin-bottom:1rem; color:var(--signal); }
.section-title{
  font-family: var(--display);
  font-size: clamp(2rem, 5.2vw, 3.4rem);
  font-weight:600; line-height:1.05; letter-spacing:-0.03em;
  color: var(--frost); max-width:16ch;
}

/* --- Servicii: cadre, nu carduri --- */
.services-section{
  padding:120px 0; background: var(--ink);
  position:relative; border-top:1px solid var(--rule);
}
/* ghidajele de treimi — regula compoziției, luată din vizor */
.services-section::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(to right, var(--rule-soft) 1px, transparent 1px),
    linear-gradient(to bottom, var(--rule-soft) 1px, transparent 1px);
  background-size: 33.333% 100%, 100% 33.333%;
  background-position: 33.333% 0, 0 33.333%;
}
.services-grid{
  display:grid; grid-template-columns: repeat(auto-fit,minmax(320px,1fr));
  gap:1px; background:var(--rule); border:1px solid var(--rule);
}
.service-card{
  background:var(--ink); padding:2.75rem 2.25rem 3rem;
  position:relative; transition: background .4s ease;
}
.service-card:hover{ background:#0a0a11; }

/* --- Vizorul: trei stări, ca la un aparat foto ---
   repaus  → colțuri invizibile
   caută   → alb translucid, deschis (mouse peste card, sau, pe mobil, cardul
             aflat în banda centrală a ecranului în timp ce derulezi)
   blocat  → roșu, strâns spre interior (hover pe desktop, tap pe mobil)

   Stările sunt conduse din trei variabile, ca să nu se înmulțească selectorii;
   @property le face interpolabile, deci tranziția e lină și în pseudo-elemente. */
@property --vf-o     { syntax:'<number>'; inherits:true; initial-value:0; }
@property --vf-inset { syntax:'<length>'; inherits:true; initial-value:10px; }

.service-card{ --vf-o:0; --vf-inset:10px; --vf-color:rgba(255,255,255,.6); }

.service-card::before, .service-card::after,
.service-card .vf::before, .service-card .vf::after{
  content:''; position:absolute; width:14px; height:14px; pointer-events:none;
  border:0 solid var(--vf-color); opacity:var(--vf-o);
  transition: opacity .35s ease, border-color .35s ease,
              top .4s cubic-bezier(.2,.8,.2,1), left .4s cubic-bezier(.2,.8,.2,1),
              right .4s cubic-bezier(.2,.8,.2,1), bottom .4s cubic-bezier(.2,.8,.2,1);
}
.service-card::before{ top:var(--vf-inset); left:var(--vf-inset); border-top-width:1px; border-left-width:1px; }
.service-card::after{ bottom:var(--vf-inset); right:var(--vf-inset); border-bottom-width:1px; border-right-width:1px; }
.service-card .vf::before{ top:var(--vf-inset); right:var(--vf-inset); border-top-width:1px; border-right-width:1px; }
.service-card .vf::after{ bottom:var(--vf-inset); left:var(--vf-inset); border-bottom-width:1px; border-left-width:1px; }

/* caută — cadrul urmărește subiectul la derulare (clasa vine din JS) */
.service-card.tracking{ --vf-o:.65; }

/* blocat — focus lock */
.service-card.locked{ --vf-o:1; --vf-inset:18px; --vf-color:var(--signal); }

/* pe desktop mouse-ul face direct blocarea; :hover nu se aplică la touch */
@media (hover: hover){
  .service-card:hover, .service-card:focus-within{
    --vf-o:1; --vf-inset:18px; --vf-color:var(--signal);
  }
}

/* fără mișcare: cadrele stau vizibile pe toate, nu clipesc la derulare */
.services-grid.vf-static .service-card{ --vf-o:.4; }

.service-card .spec{ display:block; margin-bottom:1.5rem; }
.service-card h3{
  font-family: var(--display); font-size:1.15rem; font-weight:500;
  letter-spacing:-0.01em; line-height:1.3; margin-bottom:.9rem; color:var(--frost);
}
.service-card p{ color:var(--grey); font-size:.98rem; line-height:1.7; }

/* --- Contact --- */
.contact-section{ padding:120px 0; background:var(--ink); border-top:1px solid var(--rule); }
.contact-content{ display:grid; grid-template-columns: 1fr 1fr; gap:5rem; align-items:start; }
/* stă în capul formularului, fiindcă despre formular vorbește */
.contact-lead{ font-size:1.05rem; color:var(--grey); max-width:40ch; margin-bottom:2.5rem; }

.contact-info{ margin-top:2.5rem; border-top:1px solid var(--rule); }
.contact-item{
  display:flex; align-items:center; gap:1rem;
  padding:1.1rem 0; border-bottom:1px solid var(--rule);
}
.contact-item i{ font-size:1rem; color:var(--grey); width:1.25rem; text-align:center; }
.contact-item a, .contact-item span{
  color:var(--frost); text-decoration:none; font-size:.98rem; transition:color .25s;
}
.contact-item a:hover{ color:var(--signal); }

.contact-form{ text-align:left; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:1.75rem; }
.form-group{ margin-bottom:1.75rem; }
.form-group label{ display:block; margin-bottom:.6rem; }
/* câmpuri doar cu linie de bază — hârtie tehnică, nu casete */
.form-group input,
.form-group select,
.form-group textarea{
  width:100%; padding:10px 0; border:none; border-bottom:1px solid var(--rule);
  border-radius:0; background:transparent; color:var(--frost);
  font-family:var(--body); font-size:1rem; transition:border-color .3s;
}
.form-group textarea{ resize:vertical; }
.form-group input::placeholder,
.form-group textarea::placeholder{ color:#4a4e5c; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{ outline:none; border-bottom-color:var(--signal); }
.form-group select{ cursor:pointer; }
.form-group select option{ background:#0b0b12; color:var(--frost); }
/* Aceeași construcție ca acțiunea principală din hero — dreptunghi, colț de 2px,
   etichetă mono — doar culoarea diferă. Butoanele acționează; cadrul de vizor e
   pentru lucrurile care se privesc, așa că aici nu apare. */
.wa-button{
  width:100%; padding:18px 30px; border:none; cursor:pointer; margin-top:.5rem;
  display:inline-flex; align-items:center; justify-content:center; gap:.9rem;
  background:var(--wa); color:#04140a; border-radius:2px;
  font-family:var(--mono); font-size:.8rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
  position: relative;
}
.wa-button:hover{
  background:#1fb857; transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(37,211,102,.28);
}
.wa-button:focus-visible{ outline:2px solid var(--frost); outline-offset:3px; }
.wa-button i{ font-size:1.15rem; transition: transform .25s cubic-bezier(.2,.8,.2,1); }
.wa-button:hover i{ transform: translateX(3px); }
@media(max-width:600px){
  .form-row{ grid-template-columns:1fr; }
}

/* ===== Despre: text + jurnal de zbor ===== */
.about-section{
  padding:120px 0; background: var(--deck);
  border-top:1px solid var(--rule); position:relative; overflow:hidden;
}
.about-content{
  display:grid; grid-template-columns: 1.05fr .95fr; gap:5rem; align-items:start;
}
.about-text h2{
  font-family: var(--display);
  font-size: clamp(2rem, 4.6vw, 3rem);
  font-weight:600; line-height:1.08; letter-spacing:-0.03em;
  color: var(--frost); margin-bottom:1.75rem;
}
.about-text p{
  font-size:1.05rem; line-height:1.8; color:var(--grey); margin-bottom:1.25rem;
}

/* Acreditarea e o dovadă, nu un card: o linie ștampilată */
.certification-badge{
  display:inline-flex; align-items:center; gap:14px;
  border:1px solid var(--rule); border-left:2px solid var(--signal);
  border-radius:0; padding:14px 20px; margin-top:1.5rem;
  transition: border-color .3s ease, background .3s ease;
}
.certification-badge:hover{ background:rgba(255,255,255,.03); border-color:rgba(255,71,87,.4); }
.certification-badge i{ font-size:1.1rem; color:var(--signal); }
.certification-text{ display:flex; flex-direction:column; gap:3px; }
.cert-title{ font-weight:500; color:var(--frost); font-size:.95rem; }

/* Jurnal de zbor: rânduri pe hairline, nu casete de sticlă */
.about-stats{ display:block; border-top:1px solid var(--rule); }
.stat-card{
  display:flex; align-items:baseline; justify-content:space-between; gap:1.5rem;
  padding:1.4rem 0; border-bottom:1px solid var(--rule);
  transition: padding-left .3s ease, border-color .3s ease;
}
.stat-card:hover{ padding-left:12px; border-color:rgba(255,71,87,.35); }
.stat-number{
  font-family: var(--display); font-size: clamp(2rem, 4.5vw, 2.9rem);
  font-weight:400; line-height:1; color:var(--frost);
  font-variant-numeric: tabular-nums;
}
.stat-label{ text-align:right; }

/* ===== Footer ===== */
.footer{
  background: var(--ink); color: var(--grey);
  text-align:center; padding: 3.5rem 0;
  border-top: 1px solid var(--rule);
}
.footer p{ font-family:var(--mono); font-size:.78rem; letter-spacing:.08em; }
.footer a{ color:inherit; }

@media (max-width: 768px) {
  .about-content{ grid-template-columns:1fr; gap:3rem; }
  .about-stats{ margin-top:0; }
}

/* Fără mișcare pentru cine a cerut asta din sistem */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}

/* ===== Mobile & tablet ===== */
@media (max-width: 992px){
  .nav-links{ display:none; }
  .mobile-menu-toggle{ display:block; }
}

/* Mobil portret / general */
@media (max-width: 768px){
  /* navbar calc dinamic + comportament */
  .navbar{ padding: .75rem 0; }

  /* HERO: separăm video de text și ținem cont de navbar */
  .hero-section{
    height:auto; display:flex; flex-direction:column;
    /* bara e fixed: fără padding, ar sta peste marginea de sus a clipului */
    padding-top: var(--nav-h);
    min-height: 100svh;
  }

  .hero-video{
    position:relative; top:auto; left:auto; transform:none;
    width:100%; height:auto; aspect-ratio:16/9; opacity:.9;
    pointer-events:none; margin-top:0;
  }

  .hero-overlay{ display:none; }

  /* Panou de text SUB video, pe negrul paginii.
     Pentru a-l pune DEASUPRA, adaugă: order:-1; */
  .hero-content{
    position:relative; z-index:auto; text-align:left; color:#fff;
    width:100%; max-width:none; margin-left:0; background: var(--ink);
    padding: 28px 24px 34px; border-radius: 0;
    flex:1; display:flex; flex-direction:column; justify-content:center;
  }
  /* colțurile de vizor rămân pe desktop; pe mobil marginea video-ului încadrează deja */
  .hero-content::before, .hero-content::after,
  .hero-content .vf::before, .hero-content .vf::after{ display:none; }

  .hero-content .hero-eyebrow{ margin-bottom:.9rem; }
  .hero-content h1{
    font-size:clamp(1.55rem, 7.5vw, 2.1rem); line-height:1.08; margin-bottom:.9rem;
    max-width:none; text-shadow:none;
  }
  .hero-content p{
    font-size:1rem; line-height:1.6; max-width:42ch; margin:0 0 1.75rem;
    text-shadow:none;
  }
  .cta-button{ padding:15px 26px; font-size:.78rem; align-self:flex-start; }

  .about-content{ grid-template-columns:1fr; gap:2rem; }

  .services-section, .about-section, .contact-section{ padding:80px 0; }
  .section-head{ margin-bottom:3rem; }
  .contact-content{ grid-template-columns:1fr; gap:3rem; }
  .service-card{ padding:2.25rem 1.75rem 2.5rem; }
  .stat-card{ padding:1.15rem 0; }
}

/* Mobil landscape: ecran jos (gen 480px înălțime) */
@media (orientation: landscape) and (max-height: 480px){
  .hero-section{
    height:auto; display:flex; flex-direction:column;
    padding-top: var(--nav-h);
  }
  .hero-video{
    position:relative; top:auto; left:auto; transform:none;
    width:100%; height:auto; aspect-ratio:16/9; opacity:.9; pointer-events:none;
  }
  .hero-overlay{ display:none; }
  .hero-content{
    width:100%; max-width:none; margin-left:0; background: var(--ink);
    padding:20px 20px 26px; border-radius:0; text-align:left;
  }
  .hero-content::before, .hero-content::after,
  .hero-content .vf::before, .hero-content .vf::after{ display:none; }
  .hero-content .hero-eyebrow{ margin-bottom:.7rem; }
  .hero-content h1{
    font-size:1.8rem; -webkit-text-stroke:0; text-shadow:none;
    line-height:1.08; margin-bottom:.6rem; max-width:none;
  }
  .hero-content p{ font-size:.95rem; line-height:1.5; max-width:44ch; margin:0 0 1.25rem; text-shadow:none; }
  .cta-button{ padding:13px 24px; }
}

/* ===== Privacy Modal Styles ===== */
.modal-overlay {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.8); backdrop-filter: blur(5px);
  z-index: 10001; opacity: 0; visibility: hidden;
  transition: all 0.3s ease;
  display: flex; justify-content: center; align-items: center; padding: 20px;
}
.modal-overlay.active { opacity: 1; visibility: visible; }

.modal-content {
  background: var(--deck); color: var(--frost);
  width: 100%; max-width: 620px;
  max-height: 85vh; overflow-y: auto;
  border-radius: 2px; padding: 40px;
  position: relative; box-shadow: 0 25px 60px rgba(0,0,0,0.6);
  border: 1px solid var(--rule);
  transform: translateY(20px); transition: transform 0.3s ease;
  scrollbar-width: thin; scrollbar-color: var(--signal) var(--deck);
}
.modal-content::-webkit-scrollbar { width: 4px; }
.modal-content::-webkit-scrollbar-track { background: var(--deck); }
.modal-content::-webkit-scrollbar-thumb { background: var(--signal); }

@media (max-width: 480px) {
  .modal-content { padding: 32px 20px; }
}
.modal-overlay.active .modal-content { transform: translateY(0); }

.close-modal {
  position: absolute; top: 14px; right: 18px;
  background: none; border: none; color: var(--grey);
  font-size: 1.6rem; line-height: 1; cursor: pointer; transition: color 0.2s;
}
.close-modal:hover { color: var(--signal); }
.close-modal:focus-visible{ outline:2px solid var(--signal); outline-offset:3px; }

.modal-content h3 {
  font-family: var(--display);
  font-size: clamp(1.3rem, 4vw, 1.7rem); font-weight: 600;
  letter-spacing: -0.03em; line-height: 1.15;
  color: var(--frost); margin-bottom: 22px;
  display: flex; align-items: center; gap: .7rem;
}
.modal-content h3 i{ font-size: .85em; color: var(--signal); }

/* Titlurile numerotate sunt o secvență reală în text — numărul e deja în conținut,
   aici se ocupă doar vocea mono și linia care separă capitolele. */
.modal-body h4 {
  font-family: var(--mono); font-size: .72rem; font-weight: 500;
  letter-spacing: .16em; text-transform: uppercase; color: var(--frost);
  margin: 32px 0 12px; padding-top: 20px; border-top: 1px solid var(--rule);
}
.modal-body p { font-size: 0.95rem; line-height: 1.7; color: var(--grey); margin-bottom: 10px; }
.modal-body strong{ color: var(--frost); font-weight: 500; }
.modal-body code{ font-family: var(--mono); font-size: .85em; color: var(--frost); }
.modal-body ul { list-style: none; padding-left: 0; margin-top: 12px; }
.modal-body li {
  margin-bottom: 12px; font-size: 0.95rem; line-height: 1.7; color: var(--grey);
  position: relative; padding-left: 22px;
}
/* liniuță în locul bulinei — aceeași grafie de hairline ca în restul paginii */
.modal-body li::before {
  content: ""; position: absolute; left: 0; top: .78em;
  width: 12px; height: 1px; background: var(--signal);
}

/* ===== Language Switcher ===== */
.lang-switcher {
  position: relative;
  margin-left: 1.5rem;
}

.lang-current {
  display: flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 1px solid var(--rule);
  border-radius: 2px;
  padding: 9px 11px;
  color: var(--frost);
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .12em;
  cursor: pointer;
  transition: border-color .3s ease, background .3s ease;
}

.lang-current:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.25);
}
.lang-current:focus-visible{ outline:2px solid var(--signal); outline-offset:3px; }

.lang-current i {
  font-size: 0.6rem;
  color: var(--grey);
  transition: transform 0.3s ease;
}
/* săgeata urmează starea listei; JS pune .active pe dropdown, nu pe buton */
.lang-switcher:has(.lang-dropdown.active) .lang-current i { transform: rotate(180deg); }

.lang-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  background: rgba(6, 6, 10, 0.98);
  backdrop-filter: blur(12px);
  border: 1px solid var(--rule);
  border-radius: 2px;
  padding: 4px;
  min-width: 172px;
  z-index: 1002;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5);
}

.lang-dropdown.active {
  display: block;
}

/* numele limbilor rămân în alfabetul lor, deci font de text, nu mono versale */
.lang-dropdown a {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 10px 12px;
  background: transparent;
  border: none;
  border-left: 2px solid transparent;
  color: var(--grey);
  font-size: 0.9rem;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, border-color .2s ease;
  text-align: left;
  text-decoration: none;
}

.lang-dropdown a:hover {
  background: rgba(255, 255, 255, 0.04);
  color: var(--frost);
}

/* limba curentă e marcată cu o bară, ca acreditarea din Despre — nu cu fundal */
.lang-dropdown a.active {
  color: var(--frost);
  border-left-color: var(--signal);
}

/* Mobile Language Switcher */
.mobile-lang-switcher {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--rule);
}

.mobile-lang-switcher a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  background: transparent;
  border: 1px solid var(--rule);
  border-radius: 2px;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease;
  text-decoration: none;
}

.mobile-lang-switcher a:hover,
.mobile-lang-switcher a.active {
  background: rgba(255, 71, 87, 0.08);
  border-color: var(--signal);
}

/* Responsive adjustments */
@media (max-width: 992px) {
  .lang-switcher {
    margin-left: auto;
    margin-right: 1rem;
  }
}

@media (max-width: 480px) {
  .lang-current .lang-code {
    display: none;
  }

  .lang-current {
    padding: 8px 10px;
  }
}
