    :root {
      --font-sans: "Manrope", system-ui, -apple-system, sans-serif;
      --color-bg: #f3f8f5;
      --color-surface: #ffffff;
      --color-surface-soft: #f7fcf9;
      --color-text: #102019;
      --color-text-muted: #4b6459;
      --color-border: #d6e4dc;
      --color-primary: #005f39;
      --color-primary-hover: #005230;
      --color-primary-contrast: #f5fff9;
      --radius-xl: 14px;
      --radius-2xl: 18px;
      --shadow-soft-var: 0 10px 30px rgba(12, 40, 28, .10);
      --shadow-deep-var: 0 22px 52px rgba(10, 34, 24, .14);
      --glass-bg: rgba(255,255,255,.66);
      --glass-border: rgba(151, 179, 166, .38);
      --footer-bg: #0b1410;
      --footer-muted: rgba(222, 237, 230, .72);
      --footer-subtle: rgba(202, 222, 212, .52);
    }
    .skip-link {
      position: absolute;
      left: 1rem;
      top: -9999px;
      z-index: 1000;
      padding: .5rem .75rem;
      border-radius: .5rem;
      background: #ffffff;
      color: #102019;
      border: 1px solid #d6e4dc;
      box-shadow: 0 10px 24px rgba(12, 40, 28, .16);
    }
    .skip-link:focus {
      top: 1rem;
      outline: none;
    }
    .form-status-error {
      background-color: #fef2f2 !important;
      border-color: #fecaca !important;
      color: #b91c1c !important;
    }
    .faq-panel {
      display: grid;
      grid-template-rows: 0fr;
      transition: grid-template-rows .28s ease;
    }
    .faq-panel > * {
      overflow: hidden;
    }
    .faq-item.open .faq-panel {
      grid-template-rows: 1fr;
    }
    .faq-item .faq-panel {
      max-height: 0;
      opacity: 0;
      padding-top: 0;
      transition: max-height .28s ease, opacity .22s ease;
    }
    .faq-item.open .faq-panel {
      max-height: 280px;
      opacity: 1;
      padding-top: .25rem;
    }
    .faq-item .faq-icon {
      transition: transform .22s ease;
    }
    .faq-item.open .faq-icon {
      transform: rotate(45deg);
    }
    html.dark {
      --color-bg: #08110c;
      --color-surface: #111e17;
      --color-surface-soft: #0d1913;
      --color-text: #dfede5;
      --color-text-muted: #98b5a6;
      --color-border: #2f463b;
      --color-primary: #10a061;
      --color-primary-hover: #0c8f56;
      --color-primary-contrast: #f4fff9;
      --shadow-soft-var: 0 16px 36px rgba(0,0,0,.46);
      --shadow-deep-var: 0 26px 70px rgba(0,0,0,.58);
      --glass-bg: rgba(7,14,10,.62);
      --glass-border: rgba(136, 176, 156, .20);
      --footer-bg: #070d0a;
      --footer-muted: rgba(173, 201, 188, .84);
      --footer-subtle: rgba(140, 172, 157, .62);
    }
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: var(--radius-2xl);
      font-weight: 700;
      transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
    }
    .btn-primary {
      background: var(--color-primary);
      color: var(--color-primary-contrast);
      border: 1px solid var(--color-primary);
      box-shadow: var(--shadow-soft-var);
    }
    .btn-primary:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); }
    .btn-secondary {
      background: var(--color-surface);
      color: var(--color-text);
      border: 1px solid var(--color-border);
    }
    .btn-secondary:hover { background: var(--color-surface-soft); border-color: #bfd2c8; }
    .surface-card {
      background: rgba(255,255,255,.92);
      border: 1px solid var(--color-border);
      box-shadow: var(--shadow-soft-var);
      border-radius: 24px;
    }
    .glass-panel {
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      background: var(--glass-bg);
      border-color: var(--glass-border) !important;
      box-shadow: var(--shadow-soft-var);
    }
    html, body { font-family: "Manrope", system-ui, -apple-system, sans-serif; }
    body { background: var(--color-bg); color: var(--color-text); }
    *, *::before, *::after { box-sizing: border-box; }
    img, svg, video, canvas { max-width: 100%; height: auto; }
    body { overflow-x: hidden; text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
    .minw-0, .reveal, .surface-card { min-width: 0; }
    html { scroll-behavior: smooth; }
    .reveal { opacity: 0; transform: translateY(16px); transition: opacity .65s ease, transform .65s ease; }
    .reveal.is-visible { opacity: 1; transform: translateY(0); }
    .grain::before {
      content: ""; position: absolute; inset: 0; pointer-events: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");
      mix-blend-mode: overlay;
    }
    .lang-switcher {
      position: relative;
      background: rgba(255,255,255,.78);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      overflow: hidden;
    }
    .lang-pill-indicator {
      position: absolute;
      top: 4px;
      left: 4px;
      bottom: 4px;
      width: 32px;
      border-radius: 10px;
      background: #dff0e8;
      box-shadow: 0 6px 18px rgba(4, 59, 36, .16);
      transition: transform .28s cubic-bezier(.2,.7,.2,1), width .2s ease;
      pointer-events: none;
    }
    .lang-btn {
      position: relative;
      z-index: 1;
      color: #486257;
      font-weight: 600;
    }
    .lang-btn.active { color:#0b3f28; font-weight:700; }
    #privacyModal { display:none; }
    #privacyModal.open { display:flex; }
    .why-card:hover { background: rgba(255,255,255,.08); }
    @keyframes pulse-dot { 0%,100%{opacity:1} 50%{opacity:.4} }
    .pulse-dot { animation: pulse-dot 2s ease-in-out infinite; }
    .pec-blur { filter: blur(5px); transition: filter .3s ease; cursor: help; user-select: none; }
    .pec-blur:hover, .pec-blur:focus { filter: blur(0); }
    /* Progress bar */
    #progressBar { position:fixed;top:0;left:0;height:3px;width:0%;z-index:9999;background:linear-gradient(90deg,#004225,#00a862);border-radius:0 2px 2px 0;transition:width .1s linear; }
    @keyframes floatA { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-22px) scale(1.04)} }
    @keyframes floatB { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(16px) scale(.97)} }
    @keyframes fadeUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
    @keyframes scaleIn { from{opacity:0;transform:scale(.93)} to{opacity:1;transform:scale(1)} }
    .blob-a { animation: floatA 9s ease-in-out infinite; }
    .blob-b { animation: floatB 12s ease-in-out infinite; }
    .hero-a { animation: fadeUp .85s ease both; }
    .hero-b { animation: fadeUp .85s .16s ease both; }
    .hero-c { animation: scaleIn .8s .28s ease both; }
    /* Stagger grid children */
    .stagger > .reveal:nth-child(1){transition-delay:.04s}
    .stagger > .reveal:nth-child(2){transition-delay:.13s}
    .stagger > .reveal:nth-child(3){transition-delay:.22s}
    .stagger > .reveal:nth-child(4){transition-delay:.31s}
    .stagger > .reveal:nth-child(5){transition-delay:.40s}
    .stagger > .reveal:nth-child(6){transition-delay:.49s}
    /* Card lift */
    .card-lift { transition: transform .22s ease, box-shadow .22s ease; }
    .card-lift:hover { transform: translateY(-5px); }
    /* Role tags */
    .role-tag { display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 13px;font-size:.72rem;font-weight:600;border:1px solid #bfd5c8;background:#eaf4ee;color:#005f39; }
    html:not(.dark) body.bg-white { background-color: var(--color-bg) !important; }
    html:not(.dark) header { background-color: rgba(255,255,255,.88) !important; border-color: #d6e4dc !important; }
    html:not(.dark) #mobileMenu { background-color: rgba(255,255,255,.95) !important; border-color: #d6e4dc !important; }
    html:not(.dark) #hero {
      background: radial-gradient(1200px 580px at 18% 0%, #e8f4ee 0%, #f4faf7 42%, #eef6f2 100%);
    }
    html:not(.dark) #hero .absolute.inset-0.bg-gradient-to-br { opacity: .45; }
    html:not(.dark) #hero .text-slate2 { color:#476155 !important; }
    html:not(.dark) #hero .inline-flex.bg-white\/80,
    html:not(.dark) #hero .inline-flex.bg-white {
      background-color:#f9fcfa !important;
      border-color:#d6e4dc !important;
    }
    html:not(.dark) #hero .surface-card,
    html:not(.dark) #contact .surface-card {
      background: rgba(255,255,255,.9) !important;
      border-color: #d6e4dc !important;
      box-shadow: 0 16px 40px rgba(12, 40, 28, .10) !important;
    }
    html:not(.dark) #contact {
      background: linear-gradient(135deg, #e8f4ee 0%, #f4faf7 50%, #edf5f1 100%) !important;
    }
    html:not(.dark) #contact .text-slate2 { color:#4f675d !important; }
    html:not(.dark) #contact .text-ink { color:#102019 !important; }
    html:not(.dark) #contact .bg-white { background-color:#ffffff !important; }
    html:not(.dark) #contact input, html:not(.dark) #contact textarea {
      background-color:#fbfefc !important;
      border-color:#d6e4dc !important;
      color:#102019 !important;
    }
    html:not(.dark) #contact input::placeholder, html:not(.dark) #contact textarea::placeholder { color:#688276 !important; }
    html:not(.dark) #contact input:focus, html:not(.dark) #contact textarea:focus {
      box-shadow:0 0 0 4px rgba(0,95,57,.16) !important;
      border-color:#007245 !important;
    }
    /* Dark mode */
    html,body { transition:background-color .3s ease,color .3s ease; }
    html.dark body { background:#08110c;color:#dfede5; }
    html.dark .bg-white { background-color:#111e17 !important; }
    html.dark .bg-white\/70,html.dark .bg-white\/80,html.dark .bg-white\/85,html.dark .bg-white\/90 { background-color:rgba(17,30,23,.88) !important; }
    html.dark .bg-slate-50,html.dark .bg-slate-50\/60,html.dark .bg-slate-50\/70 { background-color:#0d1812 !important; }
    html.dark .text-ink { color:#dfede5 !important; }
    html.dark .text-slate2 { color:#98b5a6 !important; }
    html.dark .text-slate-400 { color:#82a593 !important; }
    html.dark .text-white\/50 { color:rgba(231,244,237,.72) !important; }
    html.dark .text-white\/55 { color:rgba(231,244,237,.76) !important; }
    html.dark .text-white\/60 { color:rgba(231,244,237,.8) !important; }
    html.dark .border-slate-200 { border-color:rgba(130,167,149,.24) !important; }
    html.dark .border-slate-100 { border-color:rgba(130,167,149,.16) !important; }
    html.dark .text-brand-500 { color:#25cf85 !important; }
    html.dark .text-brand-600 { color:#1fc680 !important; }
    html.dark .text-brand-700 { color:#16a76a !important; }
    html.dark .bg-brand-50 { background-color:#0f2519 !important; }
    html.dark .bg-brand-100 { background-color:#133123 !important; }
    html.dark .bg-brand-500 { background-color:#0c8f56 !important; }
    html.dark .hover\:bg-brand-600:hover { background-color:#0b7c4b !important; }
    html.dark .border-brand-100 { border-color:rgba(74,133,103,.44) !important; }
    html.dark .border-brand-200 { border-color:rgba(74,133,103,.56) !important; }
    html.dark .bg-brand-500\/20 { background-color:rgba(12,143,86,.30) !important; }
    html.dark .border-brand-400\/20,html.dark .border-brand-500\/20 { border-color:rgba(60,174,120,.25) !important; }
    html.dark .text-brand-400 { color:#31d58c !important; }
    html.dark .from-brand-50 { --tw-gradient-from:#0e2418 !important; }
    html.dark .via-white { --tw-gradient-via:#08120d !important; }
    html.dark .to-white { --tw-gradient-to:#08120d !important; }
    html.dark header { background-color:rgba(7,14,10,.64) !important; border-color:rgba(136,176,156,.20) !important; }
    html.dark .shadow-soft { box-shadow:0 18px 48px rgba(0,0,0,.44) !important; }
    html.dark .shadow-softer { box-shadow:0 12px 32px rgba(0,0,0,.34) !important; }
    html.dark .shadow-glow { box-shadow:0 12px 36px rgba(22,167,106,.24) !important; }
    html.dark .hover\:bg-slate-50:hover { background-color:#112017 !important; }
    html.dark .hover\:border-brand-200:hover { border-color:rgba(74,133,103,.70) !important; }
    html.dark .hover\:shadow-soft:hover { box-shadow:0 18px 48px rgba(0,0,0,.44) !important; }
    html.dark input,html.dark textarea { background-color:#0d1812 !important;border-color:rgba(130,167,149,.24) !important;color:#dfede5 !important; }
    html.dark input::placeholder,html.dark textarea::placeholder { color:#6f8f80 !important; }
    html.dark input:focus,html.dark textarea:focus { box-shadow:0 0 0 4px rgba(30,173,115,.20) !important;border-color:#169f64 !important; }
    html.dark .lang-switcher { background: rgba(8,17,12,.64) !important; border-color: rgba(136,176,156,.22) !important; }
    html.dark .lang-pill-indicator { background: rgba(21,66,45,.9); box-shadow: 0 8px 20px rgba(0,0,0,.32); }
    html.dark .lang-btn { color:#96b5a5 !important; }
    html.dark .lang-btn.active { color:#d8eee3 !important; }
    html.dark .lang-btn:hover:not(.active) { color:#c2dfd0 !important; }
    html.dark .bg-ink { background-color:#040906 !important; }
    html.dark #mobileMenu { border-color:rgba(136,176,156,.20) !important; }
    html.dark .bg-green-50 { background-color:#0b2016 !important; }
    html.dark .border-green-200 { border-color:#1a4028 !important; }
    html.dark .text-green-700 { color:#00d17e !important; }
    html.dark .why-card:hover { background:rgba(255,255,255,.07) !important; }
    html.dark .role-tag { border-color:rgba(130,167,149,.26) !important;background:#102017 !important;color:#9ab8a9 !important; }
    html.dark #cookieBanner { background:#111e17 !important;border-color:rgba(130,167,149,.26) !important; }
    html.dark .grain::before { opacity:.04; }
    html.dark #hero {
      background: radial-gradient(1200px 600px at 20% 0%, #173226 0%, #0d1913 55%, #08120d 100%) !important;
    }
    html.dark #hero .absolute.inset-0.bg-gradient-to-br { display: none !important; }
    html.dark #hero .text-slate2 { color:#a7c7b7 !important; }
    html.dark #hero .inline-flex.bg-white\/80,
    html.dark #hero .inline-flex.bg-white {
      background-color:#102017 !important;
      border-color:rgba(130,167,149,.24) !important;
    }
    html.dark #hero .text-brand-600 { color:#15df8a !important; }
    html.dark #hero svg path[stroke="#0F172A"] { stroke:#d9eee3 !important; }
    html.dark #contact {
      background: linear-gradient(135deg, #102017 0%, #0c1712 50%, #08120d 100%) !important;
    }
    html.dark #contact .text-slate2 { color:#9cbcad !important; }
    html.dark #contact .text-ink { color:#dfede5 !important; }
    html.dark #contact .group-hover\:text-brand-600:hover { color:#32d68d !important; }
    .site-footer {
      background: var(--footer-bg);
      color: #eef8f2;
      border-top: 1px solid rgba(176, 205, 192, .16);
    }
    .footer-title {
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--footer-subtle);
      margin-bottom: 1.1rem;
    }
    .footer-link {
      color: var(--footer-muted);
      transition: color .2s ease, opacity .2s ease;
    }
    .footer-link:hover { color: #f4fff9; }
    .footer-muted { color: var(--footer-muted); }
    .footer-subtle { color: var(--footer-subtle); }
    .footer-social {
      height: 2.25rem;
      width: 2.25rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: .75rem;
      color: var(--footer-muted);
      border: 1px solid rgba(176,205,192,.24);
      background: rgba(255,255,255,.02);
      transition: transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
    }
    .footer-social:hover {
      transform: translateY(-1px);
      color: #f4fff9;
      background: rgba(255,255,255,.06);
      border-color: rgba(176,205,192,.44);
    }
    .footer-bottom { border-top: 1px solid rgba(176,205,192,.16); }
    html.dark .site-footer {
      background: #060c09;
      border-top-color: rgba(133,168,151,.20);
    }
    html.dark .footer-link { color: rgba(170,201,188,.84); }
    html.dark .footer-link:hover { color: #ecfff4; }
    html.dark .footer-social {
      color: rgba(166,197,184,.9);
      border-color: rgba(133,168,151,.28);
      background: rgba(255,255,255,.01);
    }
    html.dark .footer-social:hover {
      color: #ecfff4;
      border-color: rgba(133,168,151,.5);
      background: rgba(255,255,255,.06);
    }
    @media (max-width: 767px) {
      #hero h1 { font-size: clamp(2rem, 9vw, 2.7rem); line-height: 1.08; }
      #hero .surface-card { padding: 1.05rem; border-radius: 1.15rem; }
      #contact .surface-card { padding: 1.05rem; border-radius: 1.15rem; }
      #contact .space-y-4 > * { min-width: 0; }
      #contact a, #contact div { overflow-wrap: anywhere; word-break: break-word; }
      .footer-grid { gap: 1.8rem; }
      .footer-bottom { margin-top: 1.6rem; padding-top: 1rem; }
    }
    @media (max-width: 640px) {
      #mobileMenu { padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
      #cookieBanner { padding-bottom: env(safe-area-inset-bottom); }
      #darkToggle, #menuBtn { min-width: 2.5rem; min-height: 2.5rem; }
      input, textarea, select, button { font-size: 16px; }
      #privacyModal .max-h-\[88vh\] { max-height: 92vh; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    }
    /* Dark toggle */
    #darkToggle { width:38px;height:38px;border-radius:11px;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;cursor:pointer;background:transparent;flex-shrink:0;transition:all .2s ease; }
    #darkToggle:hover { transform:scale(1.1);background:#f8fafc; }
    html.dark #darkToggle { border-color:#2b4637; }
    html.dark #darkToggle:hover { background:#0b1510 !important; }
