 :root{
      /* Brand palette derived from the logo */
      --green-700:#0B7D3C;   /* primary */
      --green-600:#149A4D;   
      --green-50:#E9F7EE;
      --yellow-500:#FFD23F;  /* accent */
      --dark:#0F172A;        /* slate-900 */
      --muted:#475569;       /* slate-600 */
      --bg:#F7F8FB;          /* page */
      --card:#FFFFFF;        /* surfaces */
      --ring: rgba(20,154,77,.35);
      --shadow: 0 10px 30px rgba(2, 6, 23, .08);
      --radius: 18px;
      --radius-lg: 28px;
      --maxw: 1200px;
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      margin:0;
      font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
      color: var(--dark);
      background: var(--bg);
      line-height:1.6;
    }
    img{max-width:100%; display:block}
    a{color:inherit; text-decoration:none}
    .container{width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:20px}

    /* Header */
    .header{
      position:sticky; top:0; z-index:50; backdrop-filter:saturate(180%) blur(8px);
      background:rgba(255,255,255,.8); border-bottom:1px solid #eef2f7;
    }
    .nav{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0}
    .brand{display:flex; align-items:center; gap:12px}
    .brand img{width:45px; height:45px; object-fit:cover; border-radius:10px}
    .brand .title{font-weight:800; letter-spacing:.2px}
    .brand .subtitle{font-size:12px; color:var(--muted); margin-top:-6px}

    .menu{display:flex; gap:22px; align-items:center}
    .menu a{font-weight:600; color:#1f2937}
    .menu a:hover{color:var(--green-700)}

    .cta{display:inline-flex; align-items:center; gap:10px; background:var(--green-700); color:white; padding:10px 16px; border-radius:999px; font-weight:700; box-shadow: var(--shadow)}
    .cta.secondary{background:var(--yellow-500); color:#1a1a1a}

    .hamburger{display:none; border:1px solid #e5e7eb; background:white; padding:8px 10px; border-radius:10px}

    /* Mobile menu */
    .mobile{display:none}
    .mobile.open{display:block}

    /* Hero */
    .hero{
      position:relative; overflow:hidden;
      background:
        radial-gradient(1200px 600px at 120% -20%, rgba(255,210,63,.22), transparent 60%),
        radial-gradient(900px 500px at -10% 0%, rgba(20,154,77,.18), transparent 60%),
        linear-gradient(180deg, #ffffff 0%, #f3f7f5 100%);
      padding:86px 0 64px;
      border-bottom:1px solid #eef2f7;
    }
    .hero-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:36px; align-items:center}
    .eyebrow{display:inline-block; padding:6px 10px; border-radius:999px; background:var(--green-50); color:var(--green-700); font-weight:700; font-size:12px; letter-spacing:.4px}
    .hero h1{font-size:clamp(32px, 4.2vw, 56px); line-height:1.08; margin:14px 0}
    .hero p{color:var(--muted); font-size:18px}

    .hero-actions{display:flex; gap:14px; margin-top:22px}

    .hero-card{
      background:var(--card); border-radius:var(--radius-lg); padding:22px; box-shadow: var(--shadow);
      display:grid; gap:18px;
    }
    .badge-row{display:flex; gap:12px; flex-wrap:wrap}
    .badge{background:#0b7d3c10; color:var(--green-700); border:1px dashed #0b7d3c40; padding:8px 12px; border-radius:999px; font-weight:600; font-size:13px}

    /* Sections */
    section{padding:70px 0}
    .section-head{display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:24px}
    .section-head h2{font-size:30px; margin:0}
    .section-head p{color:var(--muted)}

    /* Services */
    .grid{display:grid; gap:18px}
    .grid-3{grid-template-columns:repeat(3, 1fr)}
    .card{background:var(--card); border-radius:var(--radius); padding:22px; box-shadow: var(--shadow); border:1px solid #eef2f7}
    .icon{width:46px; height:46px; border-radius:12px; display:grid; place-items:center; background:var(--green-50); margin-bottom:10px}
    .card h3{margin:8px 0 6px}
    .card p{color:var(--muted)}
    .card a{display:inline-block; margin-top:10px; font-weight:700; color:var(--green-700)}

    /* Projects */
    .project{position:relative; overflow:hidden; border-radius:var(--radius); background:linear-gradient(180deg, #0b7d3c 0, #063d1e 100%); color:white}
    .project .inner{padding:20px}
    .project .tags{display:flex; gap:10px; flex-wrap:wrap; margin-top:8px}
    .tag{padding:6px 10px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:999px; font-size:12px}

    /* CTA band */
    .cta-band{background:linear-gradient(90deg, var(--green-700), #11663a); color:white; border-radius:var(--radius-lg); padding:26px; display:flex; align-items:center; justify-content:space-between; gap:18px}
    .cta-band p{margin:0; opacity:.9}

    /* Contact */
    .contact{display:grid; grid-template-columns:1fr 1fr; gap:22px}
    form{background:var(--card); padding:22px; border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid #eef2f7}
    label{display:block; font-weight:700; font-size:14px; margin-bottom:6px}
    input, textarea{width:100%; border:1px solid #e5e7eb; border-radius:12px; padding:12px 14px; font:inherit; resize:vertical}
    input:focus, textarea:focus{outline:none; border-color:var(--green-600); box-shadow:0 0 0 4px var(--ring)}

    .contact .info{display:grid; gap:14px}
    .info .block{background:var(--card); border:1px solid #eef2f7; border-radius:var(--radius); padding:16px; box-shadow:var(--shadow)}

    /* Footer */
    footer{background:#0B2E1C; color:#D1F2DF; padding:34px 0 60px; margin-top:40px}
    .footer-grid{display:grid; grid-template-columns:1.4fr .8fr .8fr; gap:22px}
    footer a{color:#EAFBF1}
    .tiny{font-size:12px; color:#A7DCC6}

    /* Utilities */
    .sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0}

    /* Responsive */
    @media (max-width: 980px){
      .hero-grid{grid-template-columns:1fr}
      .contact{grid-template-columns:1fr}
      .grid-3{grid-template-columns:1fr 1fr}
      .footer-grid{grid-template-columns:1fr 1fr}
      .menu{display:none}
      .hamburger{display:block}
    }
    @media (max-width: 640px){
      .grid-3{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr}
    }