/* ==========================================================================
   DevIT Serv — foaie de stil unică.
   Reguli: totul în flux normal, nicio poziționare absolută peste text,
   nicio margine negativă. Grilele se auto-adaptează, nu au coloane fixe.
   ========================================================================== */

:root{
  --accent:#3666dd;
  --accent-2:#60aaff;
  --dark:#001e40;
  --tint:#f2f7ff;
  --card:#ffffff;
  --ink:#16233a;
  --muted:#5b6678;
  --line:#e2e8f2;
  --maxw:1280px;
  --gap:22px;
  --radius:16px;
}

*,*::before,*::after{box-sizing:border-box}
html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,figure,blockquote{margin:0;padding:0}
ul,ol{list-style:none}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink);background:#fff;line-height:1.65;font-size:16px;
  overflow-x:hidden;
}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-weight:500;line-height:1.2;letter-spacing:-.4px}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:12px;z-index:200;background:#fff;padding:10px 16px;border-radius:8px}

.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:24px}

.eyebrow{
  font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--accent);margin-bottom:10px;
}
.lead{font-size:18px;color:var(--muted);max-width:60ch;margin-top:14px}

.btns{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px}
.btn{
  display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  padding:14px 28px;border-radius:100px;color:#fff;background:var(--accent);
  transition:background .18s,transform .18s;
}
.btn:hover{background:var(--dark);transform:translateY(-1px)}

/* ==========================  HEADER  ====================================== */

.site-head{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line)}
.head-in{
  max-width:var(--maxw);margin-inline:auto;padding:0 24px;
  min-height:78px;display:flex;align-items:center;gap:28px;
}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;color:var(--dark);flex:0 0 auto}
.logo img{height:38px;width:auto}
.logo .mark{width:32px;height:32px;border-radius:8px;background:var(--accent)}

.nav{margin-left:auto}
.nav-root{display:flex;align-items:center;gap:24px}
.nav-root>li{position:relative}
.nav-root>li>a,.nav-root>li>span{
  display:block;padding:28px 0;font-size:13px;font-weight:600;letter-spacing:.3px;
  text-transform:uppercase;cursor:pointer;white-space:nowrap;
}
.nav-root>li>a:hover,.nav-root>li>span:hover{color:var(--accent)}

/* panoul mare: ancorat sub bara de meniu, centrat, nu iese din ecran */
.nav-root>li>.nav-sub{
  display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);
  background:#fff;border:1px solid var(--line);border-radius:14px;
  box-shadow:0 20px 40px rgba(0,25,70,.13);
  padding:26px;min-width:250px;max-width:min(1180px,92vw);
}
.nav-root>li:hover>.nav-sub,
.nav-root>li:focus-within>.nav-sub{display:block}
/* dacă are grupe (nepoți), le punem pe coloane */
.nav-root>li>.nav-sub:has(.nav-sub){
  grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:22px 30px;width:max-content;
}
.nav-root>li:hover>.nav-sub:has(.nav-sub),
.nav-root>li:focus-within>.nav-sub:has(.nav-sub){display:grid}

.nav-sub>li>a,.nav-sub>li>span{
  display:block;padding:5px 0;font-size:14px;font-weight:600;color:var(--dark);
}
.nav-sub .nav-sub{
  display:block;position:static;transform:none;border:0;box-shadow:none;padding:6px 0 0;
  min-width:0;background:none;
}
.nav-sub .nav-sub>li>a{font-size:13.5px;font-weight:400;color:var(--muted);padding:4px 0}
.nav-sub a:hover{color:var(--accent)}

.head-cta{flex:0 0 auto}
.burger{
  display:none;width:30px;height:22px;position:relative;background:none;border:0;
  padding:0;cursor:pointer;flex:0 0 auto;
}
.burger span{position:absolute;left:0;right:0;height:2px;background:var(--dark);border-radius:2px}
.burger span:nth-child(1){top:2px}
.burger span:nth-child(2){top:10px}
.burger span:nth-child(3){top:18px}

/* ==========================  HERO  ======================================== */

.hero{position:relative;background:var(--tint);border-bottom:1px solid var(--line);overflow:hidden}
.hero .wrap{position:relative;z-index:2;padding-block:72px}
.hero h1{font-size:clamp(30px,4vw,50px);font-weight:300;max-width:20ch}
.hero .lead{max-width:62ch}

.hero--home .wrap{padding-block:110px}
.hero--home h1{max-width:16ch}
.hero-video{
  position:absolute;inset:0;z-index:1;width:100%;height:100%;
  object-fit:cover;opacity:.14;pointer-events:none;
}

/* ==========================  BLOCURI  ===================================== */

.block{padding-block:72px}
.block.tone{background:var(--tint)}
.block-head{max-width:64ch;margin-bottom:34px}
.block-head h2{font-size:clamp(24px,2.6vw,36px);font-weight:300}
.block-sub{margin-top:10px;font-size:18px;color:var(--muted)}
.block-text{color:var(--muted);max-width:70ch;margin-bottom:16px}

.prose p{max-width:72ch;color:var(--muted)}
.prose p+p{margin-top:14px}
.prose--cols{columns:2;column-gap:44px}
.prose--cols p{break-inside:avoid;margin-bottom:16px;max-width:none}

/* grilă unică pentru toate seturile de carduri — se aranjează singură */
.grid{
  display:grid;gap:var(--gap);
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  align-items:stretch;
}
.card{
  position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px;display:flex;flex-direction:column;gap:8px;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.block.tone .card{background:#fff}
.card img{border-radius:10px;margin-bottom:8px;width:100%;aspect-ratio:16/10;object-fit:cover}
.card h3{font-size:17px;font-weight:700}
.card p{font-size:14.5px;color:var(--muted)}
.card--link:hover{border-color:var(--accent);box-shadow:0 12px 26px rgba(0,25,70,.10);transform:translateY(-2px)}
/* linkul acoperă cardul, dar stă SUB text, deci nu ascunde nimic */
.card-hit{position:absolute;inset:0;z-index:1;border-radius:inherit}
.card>*:not(.card-hit){position:relative;z-index:2;pointer-events:none}

.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;align-items:center}
.split-text p{color:var(--muted);max-width:60ch}
.split-text p+p{margin-top:14px}
.split-media img,.media img{width:100%;border-radius:var(--radius)}
.media{max-width:900px;margin-inline:auto}

.stats{
  display:grid;gap:var(--gap);margin-top:34px;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
}
.stat{padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.stat .num{display:block;font-size:40px;font-weight:300;letter-spacing:-1.5px;color:var(--accent);line-height:1.1}
.stat p{font-size:14px;color:var(--muted);margin-top:6px}

.counters-block{padding-block:52px;background:var(--dark)}
.counters{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.counter{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius);padding:26px;color:#fff}
.counter-lab{font-family:'Plus Jakarta Sans',sans-serif;font-size:11.5px;font-weight:700;
  letter-spacing:1.8px;text-transform:uppercase;color:var(--accent-2);margin-bottom:12px}
.counter .num{display:block;font-size:44px;font-weight:300;letter-spacing:-2px;line-height:1.05}
.counter p{font-size:14px;color:#c7d3e4;margin-top:8px}

.acc details{border-bottom:1px solid var(--line)}
.acc summary{cursor:pointer;font-weight:600;padding:16px 0;list-style:none}
.acc summary::-webkit-details-marker{display:none}
.acc details[open] summary{color:var(--accent)}
.acc details p{color:var(--muted);max-width:72ch;padding-bottom:18px}

/* ==========================  CTA + FOOTER  ================================ */

.cta-band{background:var(--tint);border-top:1px solid var(--line);padding-block:48px}
.cta-band .wrap{
  display:grid;gap:28px;align-items:center;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));text-align:center;
}
.cta-side p{font-size:18px}
.cta-side .btn{margin-top:16px}
.cta-bell{
  width:88px;height:88px;border-radius:50%;background:#fff;border:1px solid var(--line);
  display:grid;place-items:center;margin-inline:auto;
}
.cta-bell svg{width:36px;height:36px;stroke:var(--accent);fill:none;stroke-width:1.5}

.site-foot{background:var(--dark);color:#fff;padding:64px 0 28px}
.foot-grid{display:grid;gap:38px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.site-foot h6{font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}
.foot-rule{width:48px;border-top:1px solid rgba(255,255,255,.35);margin:12px 0 14px}
.site-foot li a{display:inline-block;padding:4px 0;font-size:14px;color:#c3ccd9}
.site-foot li a:hover{color:var(--accent-2)}
.office{font-size:13.5px;color:#c3ccd9;margin-bottom:12px}
.office span{display:block;font-size:12.5px;font-weight:700;color:#fff}
.office a{color:#c3ccd9}
.foot-bottom{
  display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;
  border-top:1px solid rgba(255,255,255,.16);margin-top:40px;padding-top:20px;
  font-size:13px;color:#c3ccd9;
}
.foot-legal a{margin-right:16px}
.socials{display:flex;gap:8px}
.socials a{
  width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.3);
  display:grid;place-items:center;font-size:11px;text-transform:uppercase;
}
.socials a:hover{background:var(--accent);border-color:var(--accent)}

/* ==========================  TRADE-IN  ==================================== */

.ti-box{
  background:#fff;border:1px solid var(--line);border-radius:20px;
  padding:34px;max-width:840px;margin-inline:auto;
}
.ti-box h2{font-size:26px;font-weight:500}
.ti-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.ti-row input{
  flex:1 1 240px;min-width:0;font:inherit;font-size:17px;letter-spacing:1px;
  padding:14px 18px;border:1px solid var(--line);border-radius:100px;background:#fff;
}
.ti-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(54,102,221,.15)}
.ti-row .btn{flex:0 0 auto}
.ti-hint{font-size:13px;color:var(--muted);margin-top:12px}
.ti-result{margin-top:22px;padding:20px;border-radius:14px;font-size:15px}
.ti-result.wait{background:var(--tint);color:var(--muted)}
.ti-result.err{background:#fdeeee;color:#9c2b2b}
.ti-result.ok{background:var(--tint);border:1px solid var(--line)}
.ti-found{font-size:20px;font-weight:600;color:var(--dark)}
.ti-found span{
  display:block;font-size:11.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--accent);margin-bottom:4px;
}
.ti-prices{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 4px}
.ti-prices li{background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:12px 18px;font-size:12.5px;color:var(--muted)}
.ti-prices b{display:block;font-size:21px;font-weight:600;color:var(--dark);letter-spacing:-.5px}
.ti-note{font-size:13px;color:var(--muted);margin-top:10px}
.ti-result .btn{margin-top:16px}
.ti-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ti-table{width:100%;border-collapse:collapse;min-width:620px;font-size:15px}
.ti-table th,.ti-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line)}
.ti-table thead th{font-size:11.5px;text-transform:uppercase;letter-spacing:1.2px;
  color:var(--muted);font-weight:700}
.ti-table tbody tr:hover{background:var(--tint)}
.ti-table tr.hit{background:rgba(54,102,221,.10);box-shadow:inset 3px 0 0 var(--accent)}
.ti-model{font-weight:600}
.ti-foot{font-size:13px;color:var(--muted);margin-top:14px}
.ti-cta{text-align:center;max-width:720px}
.ti-cta .btns{justify-content:center}
.ti-mail{margin-top:14px}
.ti-mail a{color:var(--accent);font-weight:600}

/* ==========================  MOBIL  ======================================= */

@media (max-width:1080px){
  .head-in{min-height:66px}
  .head-cta{display:none}
  .burger{display:block;margin-left:auto}
  .nav{
    position:fixed;top:66px;left:0;right:0;bottom:0;z-index:99;
    background:#fff;overflow-y:auto;padding:8px 24px 60px;
    transform:translateX(100%);transition:transform .22s ease;margin:0;
  }
  .nav.open{transform:none}
  .nav-root{flex-direction:column;align-items:stretch;gap:0}
  .nav-root>li>a,.nav-root>li>span{padding:15px 0;border-bottom:1px solid var(--line)}
  .nav-root>li>.nav-sub,
  .nav-root>li>.nav-sub:has(.nav-sub){
    display:none;position:static;transform:none;width:auto;max-width:none;min-width:0;
    border:0;box-shadow:none;border-radius:0;padding:4px 0 14px;grid-template-columns:1fr;
  }
  .nav-root>li:hover>.nav-sub,
  .nav-root>li:hover>.nav-sub:has(.nav-sub),
  .nav-root>li:focus-within>.nav-sub{display:none}
  .nav-root>li.open>.nav-sub,
  .nav-root>li.open>.nav-sub:has(.nav-sub){display:block}
  .hero--home .wrap{padding-block:72px}
  .prose--cols{columns:1}
}

@media (max-width:640px){
  .block{padding-block:52px}
  .hero .wrap{padding-block:54px}
  .ti-box{padding:24px 20px}
  .ti-row .btn{width:100%;text-align:center}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .hero-video{display:none}
}
