  :root{
    --green-900:#0F3D22;
    --green-800:#14532D;
    --green-700:#1B6B3A;
    --green-600:#2F8A4B;
    --green-500:#4CAF35;
    --green-100:#E7F5EA;
    --green-50:#F3FAF4;
    --amber-500:#F5B921;
    --amber-600:#D99B0E;

    --bg:#FFFFFF;
    --bg-alt:var(--green-50);
    --surface:#FFFFFF;
    --border:#E1E9E3;
    --text:#152016;
    --text-muted:#4B5A4E;
    --text-on-green:#FFFFFF;
    --link:var(--green-700);
    --focus:#1B6B3A;

    --shadow:0 4px 20px rgba(15,61,34,0.08);
    --radius:14px;
  }

  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#0B140D;
      --bg-alt:#101B12;
      --surface:#17241A;
      --border:#2B3F2E;
      --text:#EAF3EA;
      --text-muted:#A9BFAC;
      --link:#7ED08A;
      --green-100:#1C3323;
      --shadow:0 4px 24px rgba(0,0,0,0.5);
    }
  }
  :root[data-theme="dark"]{
    --bg:#0B140D;
    --bg-alt:#101B12;
    --surface:#17241A;
    --border:#2B3F2E;
    --text:#EAF3EA;
    --text-muted:#A9BFAC;
    --link:#7ED08A;
    --green-100:#1C3323;
    --shadow:0 4px 24px rgba(0,0,0,0.5);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Poppins',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    line-height:1.55;
  }
  img{max-width:100%;display:block;}
  a{color:var(--link);}
  /* The one horizontal gutter for the whole site. Sections run full-bleed so a
     tinted section reads as a band across the page; .wrap insets the content
     within it, so text is never flush against a tinted edge. */
  .wrap{max-width:1168px;margin-inline:auto;padding-inline:32px;}
  @media (max-width:700px){ .wrap{padding-inline:20px;} }
  section{padding-block:56px;}
  h1,h2,h3{line-height:1.15;margin:0 0 .5em;font-weight:700;}
  h1{font-size:clamp(1.9rem,4.6vw,3rem);}
  h2{font-size:clamp(1.5rem,3vw,2.1rem);}
  p{margin:0 0 1em;color:var(--text-muted);}
  .badge{
    display:inline-flex;align-items:center;gap:6px;
    background:var(--green-100);color:var(--green-800);
    border:1px solid var(--green-500);
    padding:6px 12px;border-radius:999px;
    font-size:.8rem;font-weight:600;
  }
  :root[data-theme="dark"] .badge{ color:#BFE8C4; }
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .badge{ color:#BFE8C4; } }
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:13px 24px;border-radius:10px;font-weight:600;font-size:.98rem;
    text-decoration:none;cursor:pointer;border:2px solid transparent;
    transition:transform .12s ease, box-shadow .12s ease;
  }
  .btn:active{transform:translateY(1px);}
  .btn-primary{background:var(--green-700);color:#fff;}
  .btn-primary:hover{background:var(--green-800);}
  .btn-outline{background:transparent;color:var(--text);border-color:var(--border);}
  .btn-outline:hover{border-color:var(--green-600);}
  .btn-block{width:100%;}

  /* Header */
  header.site{
    position:sticky;top:0;z-index:40;
    background:color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--border);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;padding-block:10px;gap:16px;}
  .nav-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
  .nav-logo img{height:40px;width:auto;border-radius:6px;}
  .nav-links{display:flex;gap:22px;list-style:none;margin:0;padding:0;font-size:.92rem;font-weight:500;}
  .nav-links a{color:var(--text);text-decoration:none;}
  .nav-links a:hover{color:var(--green-700);}
  .nav-cta{display:flex;align-items:center;gap:10px;flex-shrink:0;}
  .nav-phone{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.92rem;text-decoration:none;color:var(--text);white-space:nowrap;}
  .nav-toggle{display:none;background:none;border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--text);}
  @media (max-width:820px){
    .nav-links{display:none;}
    .nav-toggle{display:inline-flex;}
    .nav-phone span.label{display:none;}
  }

  /* Hero */
  .hero{padding-block:56px 40px;}
  .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;}
  @media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }
  .hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
  .hero p.lead{font-size:1.08rem;max-width:46ch;}
  .hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
  .hero-visual{
    background:linear-gradient(155deg,var(--green-100),var(--bg-alt));
    border:1px solid var(--border);
    border-radius:20px;padding:28px;
    display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center;
  }
  .hero-visual img{max-width:280px;}
  .hero-photo-outer{width:100%;max-width:300px;}
  .hero-photo-frame{position:relative;width:100%;padding-top:100%;border-radius:14px;overflow:hidden;}
  .hero-photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;max-width:none;}
  .hero-stat-row{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;}
  .hero-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 16px;min-width:120px;}
  .hero-stat .num{font-size:1.4rem;font-weight:800;color:var(--green-700);display:block;}
  .hero-stat .lbl{font-size:.76rem;color:var(--text-muted);}

  /* Benefits */
  .benefits{background:var(--bg-alt);}
  .benefit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:32px;}
  .benefit-grid-5{grid-template-columns:repeat(6,1fr);}
  .benefit-grid-5 .benefit-card{grid-column:span 2;}
  .benefit-grid-5 .benefit-card:nth-child(4){grid-column:2 / span 2;}
  .benefit-grid-5 .benefit-card:nth-child(5){grid-column:4 / span 2;}
  @media (max-width:900px){
    .benefit-grid-5{grid-template-columns:1fr 1fr;}
    .benefit-grid-5 .benefit-card,
    .benefit-grid-5 .benefit-card:nth-child(4){grid-column:auto;}
    .benefit-grid-5 .benefit-card:nth-child(5){grid-column:1 / -1;}
  }
  .benefit-card{
    min-width:0; /* grid items default to min-width:auto (content's min-content size) — without this, whichever card has the widest unbreakable word forces its whole column wider, unbalancing an equal-fr grid */
    background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
    padding:32px 28px;box-shadow:var(--shadow);
  }
  .benefit-num{
    font-size:.8rem;font-weight:700;color:var(--green-600);letter-spacing:.06em;
    font-variant-numeric:tabular-nums;margin-bottom:14px;
    display:flex;align-items:center;gap:10px;
  }
  .benefit-num::after{content:'';flex:1;height:1px;background:var(--border);}
  .benefit-card h3{font-size:1.05rem;line-height:1.3;margin-bottom:.55em;text-wrap:balance;}
  .benefit-card p{margin:0;font-size:.92rem;line-height:1.6;}

  /* Form fields (shared by lead forms) */
  .field{margin-bottom:18px;}
  .field label{display:block;font-size:.88rem;font-weight:600;margin-bottom:6px;}
  .field .hint{font-size:.78rem;color:var(--text-muted);margin-top:4px;}
  .field input{
    width:100%;padding:11px 13px;border-radius:9px;border:1.5px solid var(--border);
    background:var(--bg);color:var(--text);font-size:.98rem;font-family:inherit;
  }
  .field input:focus{outline:2px solid var(--focus);outline-offset:1px;}

  /* Prosumator teaser */
  .teaser{
    display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap;
    background:linear-gradient(120deg,var(--amber-500),var(--amber-600));
    border-radius:20px;padding:32px;color:#241a00;
  }
  .teaser h3{margin:0 0 6px;color:#241a00;}
  .teaser p{color:#3a2b00;margin:0;max-width:46ch;}
  .teaser .btn-primary{background:#241a00;}
  .teaser .btn-primary:hover{background:#000;}

  /* Process */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:28px;}
  @media (max-width:820px){ .steps{grid-template-columns:1fr 1fr;} }
  @media (max-width:520px){ .steps{grid-template-columns:1fr;} }
  .steps-5{grid-template-columns:repeat(6,1fr);}
  .steps-5 .step{grid-column:span 2;}
  .steps-5 .step:nth-child(4){grid-column:2 / span 2;}
  .steps-5 .step:nth-child(5){grid-column:4 / span 2;}
  @media (max-width:900px){
    .steps-5{grid-template-columns:1fr 1fr;}
    .steps-5 .step,
    .steps-5 .step:nth-child(4){grid-column:auto;}
    .steps-5 .step:nth-child(5){grid-column:1 / -1;}
  }
  .step{min-width:0;position:relative;padding:22px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);}
  .step .n{
    font-weight:800;font-size:1.4rem;color:var(--green-600);font-variant-numeric:tabular-nums;
    line-height:1;margin-bottom:10px;
  }
  .step h4{margin:0 0 6px;font-size:.96rem;}
  .step p{margin:0;font-size:.84rem;}

  /* Proof strip (homepage teaser for Proiecte) */
  .proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px;}
  .proof-grid a{display:block;border-radius:14px;overflow:hidden;border:1px solid var(--border);}
  .proof-grid img{display:block;width:100%;height:200px;object-fit:cover;transition:transform .2s ease;}
  .proof-grid a:hover img{transform:scale(1.04);}
  @media (max-width:700px){ .proof-grid{grid-template-columns:1fr 1fr;} }

  /* Trust */
  .trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:24px;}
  .trust-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:20px;font-size:.9rem;}
  .trust-card strong{display:block;color:var(--green-700);margin-bottom:4px;}
  .note-honest{
    margin-top:20px;padding:16px 18px;border-left:4px solid var(--amber-500);
    background:var(--bg-alt);border-radius:0 10px 10px 0;font-size:.88rem;color:var(--text-muted);
  }

  /* News */
  .news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:24px;}
  .news-item{
    min-width:0;display:flex;flex-direction:column;
    background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
    padding:24px;box-shadow:var(--shadow);
  }
  .news-meta{
    display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;
    font-size:.74rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;
  }
  .news-item h3{margin:0 0 10px;font-size:1.03rem;line-height:1.35;}
  .news-item h3 a{color:var(--text);text-decoration:none;}
  .news-item h3 a:hover{color:var(--green-600);}
  .news-item p{margin:0 0 14px;font-size:.88rem;line-height:1.55;color:var(--text-muted);flex:1;}
  .news-link{font-size:.84rem;font-weight:600;color:var(--green-600);text-decoration:none;white-space:nowrap;}
  .news-link:hover{text-decoration:underline;}

  /* Proiecte */
  .proiecte-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:24px;}
  .proiect-card{
    min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
    overflow:hidden;box-shadow:var(--shadow);
  }
  .proiect-card img{display:block;width:100%;height:220px;object-fit:cover;}
  .proiect-card p{margin:0;padding:14px 16px;font-size:.86rem;color:var(--text-muted);}

  /* FAQ */
  .faq-item{border-bottom:1px solid var(--border);}
  .faq-item summary{padding:16px 4px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;}
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{content:'+';font-size:1.3rem;color:var(--green-700);flex-shrink:0;}
  .faq-item[open] summary::after{content:'\2212';}
  .faq-item p{padding:0 4px 16px;margin:0;font-size:.92rem;}

  /* Form */
  .lead-section{background:var(--bg-alt);}
  .lead-box{
    display:grid;grid-template-columns:1fr 1fr;gap:36px;
    background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:36px;box-shadow:var(--shadow);margin-top:10px;
  }
  .lead-box > div{min-width:0;} /* grid items default to auto min-width — without this, any un-wrappable child (see .radio-row) forces the whole card wider than the screen */
  @media (max-width:860px){ .lead-box{grid-template-columns:1fr;} }
  @media (max-width:480px){ .lead-box{padding:24px 20px;} }
  .lead-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  @media (max-width:480px){ .lead-form .row2{grid-template-columns:1fr;} }
  fieldset{border:1.5px solid var(--border);border-radius:9px;padding:10px 13px;margin:0 0 18px;min-width:0;}
  fieldset legend{font-size:.88rem;font-weight:600;padding:0 4px;}
  .radio-row{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:4px;font-size:.92rem;}
  .radio-row label{display:flex;align-items:center;gap:6px;font-weight:400;}
  .consent{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--text-muted);margin-bottom:18px;}
  .consent input{margin-top:3px;}
  .hp{position:absolute;left:-9999px;opacity:0;}
  #formSuccess{display:none;text-align:center;padding:30px 10px;}
  #formSuccess.show{display:block;}
  #formSuccess .check{font-size:2.4rem;}
  #formError{
    display:none;margin-top:16px;padding:16px 18px;border-left:4px solid var(--amber-500);
    background:var(--bg-alt);border-radius:0 10px 10px 0;font-size:.88rem;
  }
  #formError.show{display:block;}
  #formError p{margin:0;}
  .why-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
  .why-list li{display:flex;gap:12px;font-size:.92rem;}
  .why-list li .ico{color:var(--green-600);font-weight:800;flex-shrink:0;}

  /* Footer */
  footer{border-top:1px solid var(--border);padding-block:40px 28px;margin-top:20px;}
  .foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px;font-size:.86rem;color:var(--text-muted);}
  @media (max-width:760px){ .foot-grid{grid-template-columns:1fr;} }
  .foot-grid h4{color:var(--text);font-size:.9rem;margin:0 0 10px;}
  .foot-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
  .foot-grid a{color:var(--text-muted);text-decoration:none;}
  .foot-grid a:hover{color:var(--green-700);}
  .foot-bottom{margin-top:28px;padding-top:18px;border-top:1px solid var(--border);font-size:.78rem;color:var(--text-muted);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;}

  /* Cookie banner */
  #cookieBanner{
    position:fixed;left:16px;right:16px;bottom:16px;z-index:80;
    max-width:640px;margin-inline:auto;
    background:var(--surface);border:1px solid var(--border);border-radius:14px;
    padding:18px 20px;box-shadow:var(--shadow);
    display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
  }
  #cookieBanner p{margin:0;font-size:.82rem;flex:1 1 260px;color:var(--text-muted);}
  #cookieBanner .actions{display:flex;gap:10px;flex-shrink:0;}
  #cookieBanner.hidden{display:none;}

  /* WhatsApp floating button */
  .whatsapp-fab{
    position:fixed;right:24px;bottom:calc(36px + env(safe-area-inset-bottom, 0px));z-index:70;
    width:56px;height:56px;border-radius:50%;
    background:#25D366;display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 18px rgba(0,0,0,.35);
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .whatsapp-fab:hover{transform:scale(1.06);box-shadow:0 8px 22px rgba(0,0,0,.4);}
  .whatsapp-fab svg{width:30px;height:30px;display:block;}
  body:has(#cookieBanner:not(.hidden)) .whatsapp-fab{bottom:calc(176px + env(safe-area-inset-bottom, 0px));}
  @media (max-width:480px){
    .whatsapp-fab{right:16px;bottom:calc(28px + env(safe-area-inset-bottom, 0px));width:52px;height:52px;}
    .whatsapp-fab svg{width:28px;height:28px;}
    body:has(#cookieBanner:not(.hidden)) .whatsapp-fab{bottom:calc(202px + env(safe-area-inset-bottom, 0px));}
  }

  .placeholder{outline:1.5px dashed var(--amber-600);outline-offset:3px;border-radius:4px;}

/* ==== Added for Rezidențial / Dosar prosumator / Despre-Contact ==== */

/* Page hero (shorter than home hero, used on inner pages) */
.page-hero{padding-block:44px 8px;}
.page-hero h1{font-size:clamp(1.7rem,4vw,2.4rem);}
.page-hero .lead{max-width:60ch;}
.breadcrumb{font-size:.82rem;color:var(--text-muted);margin-bottom:10px;}
.breadcrumb a{color:var(--text-muted);text-decoration:none;}
.breadcrumb a:hover{color:var(--green-700);}

/* Reusable checklist (reuses why-list visual language, generic name) */
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.checklist li{display:flex;gap:12px;font-size:.94rem;align-items:flex-start;}
.checklist li .ico{color:var(--green-600);font-weight:800;flex-shrink:0;margin-top:2px;}
.checklist.cross li .ico{color:#B4472B;}

/* Brand pills */
.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.pill{background:var(--bg-alt);border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:.84rem;font-weight:600;color:var(--text);}

/* Vertical numbered process (for longer processes, e.g. 8-step dosar) */
.process-vertical{position:relative;margin-top:28px;padding-left:0;}
.pv-item{position:relative;display:flex;gap:16px;padding-bottom:28px;}
.pv-item:last-child{padding-bottom:0;}
.pv-item::before{
  content:'';position:absolute;left:19px;top:32px;bottom:2px;width:1px;background:var(--border);
}
.pv-item:last-child::before{display:none;}
.pv-num{
  flex-shrink:0;width:40px;text-align:center;
  font-weight:800;font-size:1.15rem;color:var(--green-600);font-variant-numeric:tabular-nums;
  line-height:1.35;
}
.pv-body h4{margin:0 0 4px;font-size:.98rem;}
.pv-body p{margin:0;font-size:.9rem;}

/* Price callout */
.price-box{
  background:linear-gradient(160deg,var(--green-800),var(--green-900));color:#fff;
  border-radius:20px;padding:32px;text-align:center;margin-top:24px;
}
.price-box .amount{font-size:2.6rem;font-weight:800;line-height:1;}
.price-box .amount .cur{font-size:1.2rem;font-weight:600;margin-left:6px;}
.price-box .sub{color:#DDEFDF;font-size:.86rem;margin-top:6px;}
.price-box .includes{margin-top:20px;text-align:left;display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:600px){ .price-box .includes{grid-template-columns:1fr;} }
.price-box .includes h5{margin:0 0 8px;color:#fff;font-size:.84rem;text-transform:uppercase;letter-spacing:.04em;}
.price-box .includes ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:.86rem;color:#DDEFDF;}

/* Info list (company facts, definition-list style) */
.info-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-top:20px;}
.info-row{display:grid;grid-template-columns:220px 1fr;gap:14px;padding:14px 18px;font-size:.92rem;}
.info-row:nth-child(odd){background:var(--bg-alt);}
@media (max-width:600px){ .info-row{grid-template-columns:1fr;gap:4px;} }
.info-row dt{font-weight:600;color:var(--text-muted);margin:0;}
.info-row dd{margin:0;}

/* Simple styled table (timelines) */
.tbl-wrap{overflow-x:auto;margin-top:20px;}
table.simple{width:100%;border-collapse:collapse;font-size:.9rem;min-width:420px;}
table.simple th, table.simple td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);}
table.simple th{color:var(--text-muted);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;}

/* Map embed */
.map-embed{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);margin-top:20px;}
.map-embed iframe{display:block;width:100%;height:320px;border:0;}

/* Legal/prose pages (privacy, cookies) */
.prose{max-width:760px;}
.prose h2{margin-top:1.6em;}
.prose ul{color:var(--text-muted);}
.prose li{margin-bottom:.4em;}

/* Active nav link */
.nav-links a.active{color:var(--green-700);}

/* Two-column section layout used on inner pages */
.split-2{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start;}
@media (max-width:860px){ .split-2{grid-template-columns:1fr;} }

/* Mobile nav dropdown (button already styled above under @media 820px) */
@media (max-width:820px){
  .nav-links.open{
    display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:100%;
    background:var(--surface);border-bottom:1px solid var(--border);padding:8px 20px 16px;
    box-shadow:var(--shadow);
  }
  .nav-links.open li{padding:10px 0;border-bottom:1px solid var(--border);}
  .nav-links.open li:last-child{border-bottom:none;}
  header.site{position:sticky;} /* keep dropdown anchored correctly */
  .nav{position:relative;}
}

/* Textarea to match .field input styling */
.field textarea{
  width:100%;padding:11px 13px;border-radius:9px;border:1.5px solid var(--border);
  background:var(--bg);color:var(--text);font-size:.98rem;font-family:inherit;resize:vertical;min-height:110px;
}
.field textarea:focus{outline:2px solid var(--focus);outline-offset:1px;}
