/* ==========================================================================
   Anton Projects — sistem de design
   Structura vine din șablonul Earthly Elegance, paleta e mutată pe verde.
   Clasele au prefix .ap- ca să nu se lovească de temă sau de Elementor.
   ========================================================================== */

@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/bricolage-grotesque-var-ext.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:'Bricolage Grotesque';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/bricolage-grotesque-var-lat.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:'Karla';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/karla-var-ext.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:'Karla';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/karla-var-lat.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}

:root{
  --ap-ink:#12241B;          /* verde aproape negru: benzi dark, titluri */
  --ap-ink-2:#0C1A13;        /* footer, cu o treaptă mai jos */
  --ap-txt:#4E5F52;          /* 7.2:1 pe alb */
  --ap-txt-soft:#6B7C6F;     /* 5.1:1 pe alb */
  --ap-green:#1F6B41;        /* acțiune principală, 6.2:1 pe alb */
  --ap-green-dk:#175331;
  --ap-green-lt:#3E9E63;     /* accente mici */
  --ap-mint:#F2F7F2;
  --ap-mint-2:#E4EFE6;
  --ap-line:#DCE5DD;
  --ap-line-dk:rgba(255,255,255,.14);
  --ap-white:#fff;

  --ap-display:'Bricolage Grotesque',ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ap-body:'Karla',ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;

  --ap-sec:clamp(68px,6.4vw,116px);
  --ap-max:1200px;
  --ap-gut:clamp(20px,4vw,44px);
  --ap-r:16px;
  --ap-ease:cubic-bezier(.22,1,.36,1);   /* ieșire lentă, fără salt */
  --ap-head-h:84px;
}

/* granulație fină peste suprafețele închise: dă adâncime fără să se vadă */
:root{
  --ap-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
}

/* --------------------------------- baza -------------------------------- */
.ap *,.ap *::before,.ap *::after{box-sizing:border-box}
.ap{
  font-family:var(--ap-body);font-size:16.5px;line-height:1.7;overflow-wrap:break-word;
  color:var(--ap-txt);background:var(--ap-white);
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
.ap img{display:block;max-width:100%;height:auto}
.ap a{color:inherit;text-decoration:none}
.ap h1,.ap h2,.ap h3,.ap h4,.ap h5{
  font-family:var(--ap-display);color:var(--ap-ink);margin:0;
  letter-spacing:-.028em;line-height:1.1;font-weight:600;text-wrap:balance;
}
.ap p{margin:0}
.ap ul{margin:0;padding:0;list-style:none}
.ap :focus-visible{outline:2px solid var(--ap-green-lt);outline-offset:3px;border-radius:5px}

html{scroll-behavior:smooth}
/* Nicio deplasare pe orizontală.
   `overflow-x:hidden` pe <html> e pus necondiționat, nu doar ca rezervă: el e
   singurul care oprește și „shrink to fit" din Safari pe iPhone. Fără el, un
   element `position:fixed` (antet, meniu, bara de apel) lărgește zona vizibilă,
   pagina se micșorează ca să încapă și rămâne o dungă albă în dreapta. */
html{overflow-x:hidden}
html,body{width:100%;max-width:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.ap-wrap{max-width:var(--ap-max);margin:0 auto;padding-inline:var(--ap-gut)}
/* antetul e fix, deci ancorele trebuie să se oprească sub el */
.ap-sec,.ap-hero,.ap-rail{padding-block:var(--ap-sec);position:relative;scroll-margin-top:var(--ap-head-h)}
.ap-hero,.ap-rail{padding-block:0}
.ap-sec--mint{background:var(--ap-mint)}
.ap-sec--ink{background:var(--ap-ink);color:#BDD0C4;position:relative;isolation:isolate}
.ap-sec--ink::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:var(--ap-grain);opacity:.26;mix-blend-mode:overlay;
}
.ap-sec--ink h2,.ap-sec--ink h3,.ap-sec--ink h4{color:var(--ap-white)}

.ap-eyebrow{
  display:inline-flex;align-items:flex-start;gap:9px;
  font-size:12.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ap-green);margin-bottom:16px;
}
.ap-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;margin-top:.5em;
  background:var(--ap-green-lt);flex:0 0 auto}
.ap-sec--ink .ap-eyebrow{color:#8ED4A6}

.ap-h1{font-size:clamp(40px,5.8vw,72px);line-height:1.02;font-weight:700;letter-spacing:-.038em;
  font-variation-settings:'opsz' 96}
.ap-h2{font-size:clamp(30px,3.9vw,52px);letter-spacing:-.033em;line-height:1.06;
  font-variation-settings:'opsz' 72}
.ap-h3{font-size:clamp(20px,1.55vw,23px);letter-spacing:-.02em}
.ap-lead{font-size:17.5px;line-height:1.72;max-width:56ch}

.ap-fade{
  background:linear-gradient(96deg,var(--ap-green-lt) 0%,#89C79C 92%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.ap-hero .ap-fade{background:linear-gradient(96deg,#AEE9C2 0%,#4CBA7C 88%);
  -webkit-background-clip:text;background-clip:text}

/* ------------------------------- butoane -------------------------------
   Selectorii sunt dublați (.ap .ap-btn) intenționat: `.ap a{color:inherit}`
   are aceeași greutate ca o clasă simplă și altfel fură culoarea butoanelor. */
.ap .ap-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-size:15px;font-weight:700;line-height:1;position:relative;overflow:hidden;
  padding:17px 30px;border-radius:999px;border:1.5px solid transparent;
  background:var(--ap-green);color:var(--ap-white);cursor:pointer;
  transition:background .22s var(--ap-ease),color .22s var(--ap-ease),
             border-color .22s var(--ap-ease),transform .22s var(--ap-ease);
}
.ap .ap-btn:hover{background:var(--ap-green-dk);color:var(--ap-white);transform:translateY(-2px)}
.ap .ap-btn:active{transform:translateY(0)}
.ap .ap-btn--ghost{background:transparent;color:var(--ap-ink);border-color:var(--ap-line)}
.ap .ap-btn--ghost:hover{background:var(--ap-ink);color:var(--ap-white);border-color:var(--ap-ink)}
.ap .ap-btn--light{background:var(--ap-white);color:var(--ap-ink)}
.ap .ap-btn--light:hover{background:var(--ap-mint-2);color:var(--ap-ink)}
.ap .ap-btn--outline{background:transparent;color:var(--ap-white);border-color:rgba(255,255,255,.42)}
.ap .ap-btn--outline:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
.ap .ap-btn svg{width:17px;height:17px;flex:0 0 auto;transition:transform .3s var(--ap-ease)}
.ap .ap-btn:hover svg:last-child{transform:translateX(4px)}
.ap-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* ------------------------- bara de progres sus -------------------------- */
.ap-progress{
  position:fixed;inset:0 auto auto 0;height:2px;width:100%;z-index:120;
  background:var(--ap-green-lt);transform:scaleX(0);transform-origin:0 50%;
  will-change:transform;pointer-events:none;
}

/* -------------------------------- header -------------------------------- */
.ap-head{
  position:fixed;inset:0 0 auto;z-index:100;max-width:100%;
  transition:transform .45s var(--ap-ease),background-color .35s ease,box-shadow .35s ease;
}
.ap-head .ap-wrap{display:flex;align-items:center;gap:34px;height:var(--ap-head-h)}
.ap-head.is-solid{background:rgba(255,255,255,.92);backdrop-filter:blur(14px) saturate(1.3);
  box-shadow:0 1px 0 var(--ap-line),0 10px 34px -22px rgba(18,36,27,.5)}
.ap-head.is-hidden{transform:translateY(-102%)}
/* Logoul e monocrom ca să nu se bată cu verdele: varianta albă pe fundal
   închis, cea închisă când antetul devine alb la derulare. */
.ap .ap-brand{position:relative;display:block;line-height:0;flex:0 0 auto}
.ap-brand img{width:auto;height:46px;display:block}
.ap-brand__d{position:absolute;inset:0;opacity:0;transition:opacity .3s ease}
.ap-brand__l{transition:opacity .3s ease}
.ap-head.is-solid .ap-brand__l{opacity:0}
.ap-head.is-solid .ap-brand__d{opacity:1}
.ap-brand--foot img{height:54px}

.ap-head__tel{
  display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;
  color:#fff;white-space:nowrap;transition:color .25s ease;
}
.ap-head__tel svg{width:17px;height:17px}
.ap-head__tel:hover{color:#A9E6BE}
.ap-head.is-solid .ap-head__tel{color:var(--ap-ink)}
.ap-head.is-solid .ap-head__tel:hover{color:var(--ap-green)}
.ap-head.is-solid .ap-nav a{color:var(--ap-ink)}
.ap-nav{display:flex;gap:28px;margin-left:auto}
.ap-nav a{position:relative;font-size:15px;font-weight:500;color:rgba(255,255,255,.9);padding-block:4px}
.ap-nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:currentColor;
  transform:scaleX(0);transform-origin:100% 50%;transition:transform .38s var(--ap-ease);
}
.ap-nav a:hover::after{transform:scaleX(1);transform-origin:0 50%}
.ap-head .ap-btn{padding:14px 24px}
.ap-burger{display:none;width:46px;height:46px;align-items:center;justify-content:center;
  background:none;border:0;color:#fff;cursor:pointer}
.ap-head.is-solid .ap-burger{color:var(--ap-ink)}

/* meniul de pe telefon */
.ap-menu{
  position:fixed;inset:0;z-index:99;max-width:100%;overflow:auto;background:var(--ap-ink);color:#fff;
  display:flex;flex-direction:column;justify-content:center;gap:6px;
  padding:96px var(--ap-gut) 40px;
  opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s;
}
.ap-menu.is-open{opacity:1;visibility:visible}
.ap-menu a{font-family:var(--ap-display);font-size:30px;font-weight:600;letter-spacing:-.03em;
  padding-block:10px;border-bottom:1px solid var(--ap-line-dk)}
.ap-menu .ap-btn{margin-top:26px}

/* --------------------------------- hero --------------------------------- */
.ap-hero{position:relative;background:var(--ap-ink);isolation:isolate}
.ap-hero__media{position:absolute;inset:0;overflow:hidden;z-index:-2}
.ap-hero__media img,.ap-hero__media video{width:100%;height:100%;object-fit:cover;object-position:60% center}
.ap-hero__media video{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}
.ap-hero__media video.is-on{opacity:1}
/* conținutul hero-ului stă centrat, deci și întunecarea e simetrică */
.ap-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(115% 85% at 50% 42%,rgba(9,22,15,.58) 0%,rgba(9,22,15,.84) 62%,rgba(9,22,15,.94) 100%),
    linear-gradient(180deg,rgba(9,22,15,.6) 0%,rgba(9,22,15,0) 30%,rgba(9,22,15,.62) 100%);
}
.ap-hero__in{
  padding-block:calc(var(--ap-head-h) + clamp(72px,8.5vw,126px)) clamp(68px,7.2vw,100px);
  max-width:840px;margin-inline:auto;text-align:center;
}
.ap-hero h1{color:#fff}
.ap-hero .ap-lead{color:#C4D7C9;margin:22px auto 0;max-width:52ch}
.ap-hero .ap-actions{margin-top:36px;justify-content:center}
.ap-hero .ap-eyebrow{color:#8ED4A6}
.ap .ap-hero__trust{
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:44px;
  padding-top:28px;border-top:1px solid rgba(255,255,255,.16);
}
.ap-hero__trust li{display:flex;align-items:center;gap:9px;font-size:14px;color:#B9CFBF}
.ap-hero__trust svg{width:15px;height:15px;flex:0 0 auto;color:#6FCB92}

/* titlul intră pe rânduri mascate */
.ap-line{display:block;overflow:hidden}
.ap-line>span{display:block;transform:translateY(105%);
  transition:transform 1s var(--ap-ease) var(--d,0ms)}
.ap-ready .ap-line>span{transform:translateY(0)}
.ap-in{opacity:0;transform:translateY(16px);
  transition:opacity .8s var(--ap-ease) var(--d,0ms),transform .8s var(--ap-ease) var(--d,0ms)}
.ap-ready .ap-in{opacity:1;transform:none}

/* raftul de cifre, suprapus peste marginea hero-ului. Compact: doar cifra
   și o etichetă scurtă, cu despărțitoare subțiri între coloane. */
.ap-rail{position:relative;z-index:5;margin-top:clamp(38px,4.2vw,58px)}
.ap-rail__in{
  background:var(--ap-white);border:1px solid var(--ap-line);border-radius:var(--ap-r);
  box-shadow:0 26px 60px -44px rgba(18,36,27,.55);
  display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;
}
.ap-rail__i{padding:clamp(20px,2.3vw,28px) 16px;border-left:1px solid var(--ap-line);text-align:center}
.ap-rail__i:first-child{border-left:0}
.ap-rail__n{
  font-family:var(--ap-display);font-weight:700;font-size:clamp(30px,3.3vw,42px);line-height:1;
  letter-spacing:-.04em;color:var(--ap-ink);display:flex;align-items:baseline;justify-content:center;
  gap:2px;font-variation-settings:'opsz' 72;font-variant-numeric:tabular-nums;
}
.ap-rail__n small{font-size:.46em;font-weight:600;color:var(--ap-green-lt)}
.ap-rail__i p{margin-top:8px;font-size:12px;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;line-height:1.35;color:var(--ap-txt-soft)}

/* -------------------------- antet de secțiune --------------------------- */
.ap-sechead{display:flex;justify-content:space-between;align-items:flex-end;gap:36px;
  margin-bottom:clamp(34px,4.2vw,56px)}
.ap-sechead__t{max-width:19ch}
.ap-sechead p{max-width:38ch;font-size:15.5px;padding-bottom:6px}

/* ------------------------------- servicii ------------------------------- */
.ap-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2vw,26px)}
.ap-card{
  background:var(--ap-white);border:1px solid var(--ap-line);border-radius:var(--ap-r);
  overflow:hidden;display:flex;flex-direction:column;position:relative;
  transition:border-color .35s var(--ap-ease),transform .35s var(--ap-ease),
             box-shadow .35s var(--ap-ease);
}
.ap-card:hover{border-color:rgba(62,158,99,.55);transform:translateY(-6px);
  box-shadow:0 28px 50px -34px rgba(18,36,27,.45)}
.ap-card__img{aspect-ratio:4/3;overflow:hidden;position:relative}
.ap-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ap-ease)}
.ap-card:hover .ap-card__img img{transform:scale(1.06)}
.ap-card__n{
  position:absolute;left:14px;top:14px;z-index:2;
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  background:rgba(9,22,15,.62);backdrop-filter:blur(6px);color:#fff;
  font-family:var(--ap-display);font-weight:700;font-size:13px;
}
.ap-card__b{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.ap-card h3{margin-bottom:9px}
@media (min-width:621px){.ap-card h3{min-height:2.24em}}
.ap-card p{font-size:14.5px;line-height:1.62;color:var(--ap-txt-soft);margin-bottom:18px}
.ap-card__more{margin-top:auto;font-size:14px;font-weight:700;color:var(--ap-green);
  display:inline-flex;align-items:center;gap:8px;padding-block:9px}
/* linkul se întinde peste tot cardul, ca ținta de atingere să fie mare pe telefon */
.ap-card--link{position:relative}
.ap-card--link .ap-card__more::after{content:"";position:absolute;inset:0;z-index:1}
.ap-card__more svg{width:15px;height:15px;transition:transform .3s var(--ap-ease)}
.ap-card:hover .ap-card__more svg{transform:translateX(5px)}
.ap-sec__foot{margin-top:clamp(34px,4vw,50px);display:flex;justify-content:center}

/* -------------------------------- despre -------------------------------- */
.ap-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,78px);align-items:center}
.ap-split--tight{grid-template-columns:.92fr 1.08fr}
.ap-figure{position:relative;border-radius:var(--ap-r);overflow:hidden}
.ap-figure img{width:100%}
/* legenda spune ce se vede în poză, ca imaginea să nu pară pusă la întâmplare */
.ap-figure__cap{
  position:absolute;inset:auto 0 0;padding:44px 22px 18px;color:#E4EFE6;
  font-size:13px;letter-spacing:.01em;
  background:linear-gradient(180deg,rgba(9,22,15,0) 0%,rgba(9,22,15,.86) 100%);
}
.ap-p+.ap-p{margin-top:14px}
.ap .ap-check{margin:26px 0 30px;display:grid;gap:12px}
.ap-check li{display:flex;gap:12px;align-items:flex-start;font-size:16px;color:var(--ap-ink);font-weight:500}
.ap-check svg{width:21px;height:21px;flex:0 0 auto;color:var(--ap-green-lt);margin-top:2px}

/* --------------------------- înainte și după ---------------------------- */
.ap-ba{
  position:relative;border-radius:var(--ap-r);overflow:hidden;
  aspect-ratio:4/3;user-select:none;touch-action:pan-y;cursor:ew-resize;
  box-shadow:0 40px 80px -50px rgba(0,0,0,.8);
}
.ap-ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ap-ba__after{clip-path:inset(0 0 0 var(--pos,50%))}
.ap-ba__tag{
  position:absolute;top:16px;z-index:3;font-size:11.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;padding:8px 14px;border-radius:999px;
  background:rgba(9,22,15,.7);backdrop-filter:blur(8px);color:#fff;pointer-events:none;
}
.ap-ba__tag--a{left:16px}
.ap-ba__tag--b{right:16px;background:rgba(31,107,65,.85)}
.ap-ba__bar{
  position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:#fff;z-index:4;
  pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.16);
}
.ap-ba__knob{
  position:absolute;top:50%;left:50%;translate:-50% -50%;
  width:54px;height:54px;border-radius:50%;background:#fff;display:grid;place-items:center;
  box-shadow:0 8px 26px -8px rgba(0,0,0,.55);color:var(--ap-ink);
}
.ap-ba__knob svg{width:22px;height:22px}
.ap-ba input[type=range]{
  position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:ew-resize;z-index:5;
}
.ap-ba input[type=range]:focus-visible+.ap-ba__bar .ap-ba__knob{outline:3px solid var(--ap-green-lt);
  outline-offset:3px}
.ap-ba__hint{margin-top:26px;font-size:13.5px;color:#8FA695;display:flex;gap:9px;align-items:center}
.ap-ba__hint svg{width:16px;height:16px;flex:0 0 auto}

/* ------------------------------- de ce noi ------------------------------
   Compact: patru coloane, fără chenare, doar o linie deasupra fiecărui item. */
.ap-why{display:grid;gap:clamp(20px,2.6vw,36px);grid-template-columns:repeat(4,1fr)}
.ap-why__i{padding-top:20px;border-top:2px solid var(--ap-line);
  transition:border-color .3s var(--ap-ease)}
.ap-why__i:hover{border-top-color:var(--ap-green-lt)}
.ap-why__b{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;
  background:var(--ap-mint-2);color:var(--ap-green);margin-bottom:15px}
.ap-why__b svg{width:20px;height:20px}
.ap-why__i h3{margin-bottom:7px;font-size:18px}
.ap-why__i p{font-size:14px;line-height:1.6;color:var(--ap-txt-soft)}
.ap-sechead--slim{margin-bottom:clamp(28px,3.2vw,42px)}

/* -------------------------------- proces -------------------------------- */
.ap-steps{--g:clamp(20px,2.4vw,32px);
  position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--g)}
/* linia pornește din centrul primului cerc și se oprește în centrul ultimului */
.ap-steps__track{position:absolute;left:24px;right:calc((100% - 3*var(--g))/4 - 24px);
  top:23px;height:2px;background:var(--ap-line)}
.ap-steps__fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--ap-green-lt);
  transition:width 1.5s var(--ap-ease)}
.ap-steps.is-in .ap-steps__fill{width:100%}
.ap-step{position:relative}
.ap-step__d{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin-bottom:20px;
  background:var(--ap-mint);border:2px solid var(--ap-line);color:var(--ap-txt-soft);
  font-family:var(--ap-display);font-weight:700;font-size:15px;position:relative;z-index:2;
  transition:background .5s var(--ap-ease),border-color .5s var(--ap-ease),color .5s var(--ap-ease);
}
.ap-steps.is-in .ap-step__d{background:var(--ap-green);border-color:var(--ap-green);color:#fff}
.ap-steps.is-in .ap-step:nth-child(2) .ap-step__d{transition-delay:.32s}
.ap-steps.is-in .ap-step:nth-child(3) .ap-step__d{transition-delay:.64s}
.ap-steps.is-in .ap-step:nth-child(4) .ap-step__d{transition-delay:.96s}
.ap-step h3{margin-bottom:8px}
.ap-step p{font-size:14.5px;line-height:1.62;color:var(--ap-txt-soft)}

/* -------------------------------- lucrări ------------------------------- */
.ap-proj{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,20px)}
.ap-proj figure{position:relative;margin:0;border-radius:var(--ap-r);overflow:hidden;isolation:isolate}
.ap-proj img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .9s var(--ap-ease)}
.ap-proj figure:hover img{transform:scale(1.07)}
.ap-proj figcaption{
  position:absolute;inset:auto 0 0;padding:46px 20px 18px;color:#fff;
  font-family:var(--ap-display);font-weight:600;font-size:16px;letter-spacing:-.015em;
  background:linear-gradient(180deg,rgba(9,22,15,0) 0%,rgba(9,22,15,.88) 100%);
  transform:translateY(6px);opacity:.92;transition:transform .45s var(--ap-ease),opacity .45s ease;
}
.ap-proj figure:hover figcaption{transform:translateY(0);opacity:1}
.ap-note{margin-top:22px;font-size:13.5px;color:var(--ap-txt-soft);
  display:flex;gap:9px;align-items:center;justify-content:center;text-align:center}
.ap-note svg{width:16px;height:16px;flex:0 0 auto;color:var(--ap-green-lt)}

/* ------------------------------- întrebări ------------------------------ */
.ap-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:start}
.ap-acc{border-top:1px solid var(--ap-line)}
.ap-acc__i{border-bottom:1px solid var(--ap-line)}
.ap-acc__q{
  width:100%;text-align:left;background:none;border:0;cursor:pointer;
  font-family:var(--ap-display);font-weight:600;font-size:18px;color:var(--ap-ink);
  letter-spacing:-.018em;line-height:1.35;padding:22px 46px 22px 0;position:relative;
  transition:color .25s ease;
}
.ap-acc__q:hover{color:var(--ap-green)}
.ap-acc__q::after,.ap-acc__q::before{
  content:"";position:absolute;right:8px;top:50%;background:var(--ap-green);
  transition:transform .4s var(--ap-ease),opacity .3s ease;
}
.ap-acc__q::before{width:14px;height:2px;translate:0 -50%}
.ap-acc__q::after{width:2px;height:14px;translate:-6px -50%}
.ap-acc__i.is-open .ap-acc__q::after{transform:rotate(90deg);opacity:0}
.ap-acc__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ap-ease)}
.ap-acc__i.is-open .ap-acc__a{grid-template-rows:1fr}
.ap-acc__a>div{overflow:hidden}
.ap-acc__a p{padding:0 40px 24px 0;font-size:15.5px;line-height:1.7;color:var(--ap-txt-soft)}

/* -------------------------------- contact ------------------------------- */
.ap-contact{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(36px,5vw,72px);align-items:start}
.ap-contact .ap-lead{color:#B4C9BB}
.ap .ap-cinfo{margin-top:32px;display:grid;gap:18px}
.ap-cinfo li{display:flex;gap:14px;align-items:flex-start;font-size:16px}
.ap-cinfo svg{width:20px;height:20px;flex:0 0 auto;color:#8ED4A6;margin-top:4px}
.ap-cinfo b{display:block;color:#fff;font-family:var(--ap-display);font-weight:600;font-size:17px;
  letter-spacing:-.015em}
.ap-zone{margin-top:30px;padding-top:24px;border-top:1px solid var(--ap-line-dk)}
.ap-zone h4{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  font-family:var(--ap-body);margin-bottom:14px}
.ap-chips{display:flex;flex-wrap:wrap;gap:8px}
.ap-chips span{font-size:13.5px;padding:6px 13px;border-radius:999px;
  border:1px solid var(--ap-line-dk);color:#BDD0C4}

.ap-form{background:var(--ap-white);border-radius:var(--ap-r);padding:clamp(26px,3vw,38px)}
/* cardul e alb, dar stă într-o secțiune închisă care albește titlurile */
.ap-form h3{margin-bottom:6px;color:var(--ap-ink)}
.ap-form>p{font-size:14.5px;color:var(--ap-txt-soft);margin-bottom:22px}
.ap-field{margin-bottom:16px}
.ap-field label{display:block;font-size:13px;font-weight:700;color:var(--ap-ink);margin-bottom:7px}
.ap-field input,.ap-field select,.ap-field textarea{
  width:100%;font:inherit;font-size:15.5px;color:var(--ap-ink);
  padding:14px 16px;border:1.5px solid var(--ap-line);border-radius:10px;background:#FBFDFB;
  transition:border-color .22s ease,box-shadow .22s ease;
}
.ap-field textarea{resize:vertical;min-height:110px}
.ap-field input:focus,.ap-field select:focus,.ap-field textarea:focus{
  outline:none;border-color:var(--ap-green-lt);box-shadow:0 0 0 4px rgba(62,158,99,.14)}
.ap-field--2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ap-form .ap-btn{width:100%;margin-top:6px}
.ap-form small{display:block;margin-top:14px;font-size:12.5px;color:var(--ap-txt-soft);line-height:1.5}
.ap-form small a{color:var(--ap-green);font-weight:700}
.ap-field label span{color:var(--ap-green)}

.ap-consent{display:flex;gap:11px;align-items:flex-start;margin:4px 0 18px;
  font-size:13.5px;line-height:1.5;color:var(--ap-txt-soft);cursor:pointer}
.ap-consent input{width:19px;height:19px;flex:0 0 auto;margin-top:1px;accent-color:var(--ap-green)}
.ap-consent a{color:var(--ap-green);font-weight:700;text-decoration:underline}

/* capcana pentru roboți: nu se vede, dar nu e display:none, ca să o completeze */
.ap-hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

.ap-field.has-err input,.ap-field.has-err select,.ap-field.has-err textarea,
.ap-consent.has-err input{border-color:#C0392B;box-shadow:0 0 0 4px rgba(192,57,43,.12)}
.ap-form__msg{margin-top:14px;font-size:14.5px;line-height:1.55;display:none}
.ap-form__msg.is-on{display:block}
.ap-form__msg.is-ok{color:var(--ap-green);font-weight:700}
.ap-form__msg.is-bad{color:#C0392B;font-weight:700}
.ap-form.is-sending .ap-btn{opacity:.6;pointer-events:none}
.ap-form.is-done .ap-field,.ap-form.is-done .ap-consent,.ap-form.is-done .ap-btn{display:none}
.ap-form__done{display:none;text-align:center;padding:14px 0 6px}
.ap-form.is-done .ap-form__done{display:block}
.ap-form__done svg{width:54px;height:54px;color:var(--ap-green);margin:0 auto 16px}
.ap-form__done h4{font-family:var(--ap-display);font-size:22px;font-weight:600;
  letter-spacing:-.02em;color:var(--ap-ink);margin-bottom:8px}
.ap-form__done p{font-size:15px;color:var(--ap-txt-soft)}

/* --------------------------------- footer ------------------------------- */
.ap-foot{background:var(--ap-ink-2);color:#9DB6A6;padding-block:clamp(58px,6vw,88px) 0;
  position:relative;isolation:isolate}
.ap-foot::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:var(--ap-grain);opacity:.24;mix-blend-mode:overlay}
.ap-foot .ap-brand{color:#fff;margin-right:0}
.ap-foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.1fr;gap:clamp(28px,4vw,56px)}
.ap-foot h4{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;margin-bottom:18px;font-family:var(--ap-body)}
.ap-foot li+li{margin-top:11px}
.ap-foot a{transition:color .22s ease}
.ap-foot a:hover{color:#A9E6BE}
.ap-foot__tag{margin-top:20px;font-size:15px;line-height:1.65;max-width:34ch}
.ap-foot__row{display:flex;gap:11px;align-items:flex-start;font-size:15px}
.ap-foot__row svg{width:18px;height:18px;flex:0 0 auto;color:#5E8069;margin-top:4px}
.ap-foot__word{
  margin-top:clamp(44px,5vw,72px);font-family:var(--ap-display);font-weight:700;
  font-size:clamp(30px,9.4vw,138px);line-height:.9;letter-spacing:-.05em;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.16);
  font-variation-settings:'opsz' 96;user-select:none;
}
.ap-foot__bar{
  margin-top:clamp(28px,3vw,42px);border-top:1px solid rgba(255,255,255,.1);
  padding-block:22px 26px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
  font-size:13.5px;color:#71906F;
}

/* bară fixă de apel pe telefon */
.ap-callbar{
  display:none;position:fixed;inset:auto 0 0;z-index:98;max-width:100%;
  background:rgba(255,255,255,.94);backdrop-filter:blur(14px);
  border-top:1px solid var(--ap-line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  gap:10px;
}
.ap-callbar .ap-btn{flex:1;padding:15px 16px;font-size:14.5px}

/* ------------------------- revelări la derulare -------------------------- */
[data-reveal]{opacity:0;transform:translateY(22px);
  transition:opacity .85s var(--ap-ease) var(--d,0ms),transform .85s var(--ap-ease) var(--d,0ms)}
[data-reveal].is-in{opacity:1;transform:none}
[data-reveal="wipe"]{opacity:1;transform:none;clip-path:inset(0 0 100% 0)}
[data-reveal="wipe"].is-in{clip-path:inset(0 0 0 0);
  transition:clip-path 1.15s var(--ap-ease) var(--d,0ms)}
[data-reveal="wipe"] img{transform:scale(1.08);
  transition:transform 1.4s var(--ap-ease) var(--d,0ms)}
[data-reveal="wipe"].is-in img{transform:scale(1)}
html:not(.ap-js) [data-reveal]{opacity:1;transform:none;clip-path:none}

/* ------------------------------- responsive ------------------------------ */
@media (max-width:1180px){
  .ap-nav{gap:20px}
  .ap-nav a{font-size:14px}
}
@media (max-width:1080px){
  .ap-nav a:nth-child(3),.ap-nav a:nth-child(4){display:none}
  .ap-cards{grid-template-columns:1fr 1fr}
  .ap-proj{grid-template-columns:1fr 1fr}
  .ap-foot__grid{grid-template-columns:1fr 1fr}
  .ap-steps{grid-template-columns:1fr 1fr;gap:32px}
  .ap-steps__track{display:none}
  .ap-why{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  :root{--ap-head-h:72px;--ap-sec:clamp(54px,9vw,80px)}
  .ap-nav,.ap-head .ap-btn,.ap-head__tel{display:none}
  .ap-burger{display:inline-flex;margin-left:auto}
  .ap-brand img{height:40px}
  .ap-brand--foot img{height:46px}
  .ap-split,.ap-faq,.ap-contact{grid-template-columns:1fr}
  .ap-split--flip .ap-figure{order:-1}
  .ap-sechead{flex-direction:column;align-items:flex-start;gap:14px}
  .ap-sechead p{padding-bottom:0}
  .ap-rail{margin-top:32px}
  .ap-rail__in{grid-template-columns:1fr 1fr}
  .ap-rail__i:nth-child(odd){border-left:0}
  .ap-rail__i:nth-child(-n+2){border-bottom:1px solid var(--ap-line)}
  .ap-callbar{display:flex}
  .ap-foot{padding-bottom:80px}
  .ap-foot__word{margin-top:34px}
}
@media (max-width:620px){
  .ap-cards,.ap-proj,.ap-field--2{grid-template-columns:1fr}

  /* pașii: cifra trece lângă titlu, altfel secțiunea are patru ecrane */
  .ap-steps{grid-template-columns:1fr;gap:26px}
  .ap-step{display:grid;grid-template-columns:44px 1fr;gap:0 16px;align-items:start}
  .ap-step__d{width:44px;height:44px;font-size:14px;margin-bottom:0;grid-row:1/3}
  .ap-step h3{grid-column:2;margin-bottom:5px;align-self:center}
  .ap-step p{grid-column:2}

  /* subsol: cele două liste stau una lângă alta, restul pe toată lățimea */
  .ap-foot__grid{grid-template-columns:1fr 1fr;gap:34px 22px}
  .ap-foot__grid>:first-child,.ap-foot__grid>:last-child{grid-column:1/-1}
  .ap-foot li+li{margin-top:7px}
  .ap-foot a,.ap-foot__row{font-size:14.5px}
  .ap-foot li>a{display:inline-block;padding-block:5px}
  .ap-consent input{width:22px;height:22px}
  .ap-foot__tag{font-size:14.5px}

  .ap-ba__hint{margin-top:22px}
  .ap .ap-btn{width:100%}
  .ap-callbar .ap-btn{width:auto}
  .ap-hero .ap-actions{flex-direction:row;flex-wrap:nowrap;gap:10px;justify-content:center}
  .ap-hero .ap-btn{width:auto;flex:0 1 auto;padding:15px 18px;font-size:14px;white-space:nowrap}
  .ap-hero .ap-btn svg{width:15px;height:15px}
  .ap-hero .ap-lead{margin-top:18px}
  .ap-hero .ap-actions{margin-top:30px}
  .ap-hero__in{padding-block:calc(var(--ap-head-h) + 36px) 52px}
  .ap-rail{margin-top:26px}
  .ap-h1{font-size:clamp(38px,10.4vw,50px)}
  .ap-lead,.ap-hero .ap-lead{font-size:15.5px;line-height:1.62}
  .ap-rail__n{font-size:28px}
  .ap-rail__i{padding:18px 10px}
  .ap-rail__i p{font-size:10.5px;letter-spacing:.06em}
  .ap-ba{aspect-ratio:1/1}
  .ap-card__b{padding:20px 20px 22px}
  .ap-form{padding:22px}
  .ap-acc__q{font-size:16.5px;padding-right:38px}
  .ap-acc__a p{padding-right:0}
  .ap-chips span{font-size:12.5px;padding:5px 11px}
  .ap-figure__cap{font-size:12px;padding:34px 16px 14px}
  .ap .ap-hero__trust{gap:9px 18px;margin-top:36px;padding-top:26px}
  .ap-hero__trust li{font-size:13px}
  .ap-brand img{height:36px}
}
@media (max-width:420px){
  .ap-why{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  .ap *,.ap *::before,.ap *::after{animation:none!important;transition-duration:.01ms!important}
  [data-reveal]{opacity:1!important;transform:none!important;clip-path:none!important}
  .ap-line>span{transform:none!important}
  .ap-in{opacity:1!important;transform:none!important}
  .ap-hero__media video{display:none}
  .ap-steps.is-in .ap-steps__fill{width:100%}
}
