@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');
:root{--primary:#1F5C3D;--primary-dark:#16422C;--accent:#C9972B;--bg:#FBFCFA;--surface:#FFFFFF;--text:#1B241B;--text-muted:#5C6B5C;--radius:16px;--font-heading:'Plus Jakarta Sans',sans-serif;--font-body:'Plus Jakarta Sans',sans-serif;}

*{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.6}
.container{max-width:1080px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
.section{padding-block:clamp(3rem,7vw,5rem)}
.section-title{font-family:var(--font-heading);font-size:clamp(1.6rem,3.5vw,2.25rem);font-weight:800;letter-spacing:-.02em;color:var(--primary-dark);margin:0 0 1.5rem}
a{color:var(--primary)}
.btn{display:inline-block;padding:.8rem 1.6rem;border-radius:999px;text-decoration:none;font-weight:600}
.btn-primary{background:var(--primary);color:#fff}
.btn-ghost{color:var(--primary-dark);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 40%,transparent)}

/* ---- header ---- */
.site-header{border-bottom:1px solid color-mix(in srgb,var(--text) 8%,transparent);background:var(--surface)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding-block:1rem}
.brand{font-family:var(--font-heading);font-weight:800;color:var(--primary-dark);text-decoration:none;font-size:1.1rem}
.nav-list{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}
.nav-list a{text-decoration:none;color:var(--text-muted);font-weight:600}
.nav-list a:hover{color:var(--primary)}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:8px}

/* ---- hero: flush split ---- */
.hero{background:var(--surface);border-bottom:1px solid color-mix(in srgb,var(--text) 8%,transparent)}
.hero-inner{display:grid}
.hero-copy{padding:clamp(2.5rem,6vw,5rem) clamp(1.25rem,4vw,2.5rem);display:flex;flex-direction:column;justify-content:center;gap:1.25rem}
.hero-copy h1{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3.25rem);font-weight:800;letter-spacing:-.03em;color:var(--primary-dark);margin:0;line-height:1.1}
.subheadline{font-size:1.125rem;color:var(--text-muted);margin:0;max-width:48ch}
.sector-tag{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0}
.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.hero-media{margin:0}
.hero-media img{width:100%;height:100%;object-fit:cover;display:block}
@media(min-width:900px){
  .hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .hero-media img{min-height:480px}
}

/* ---- stats ---- */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;text-align:center}
.stat-num{font-family:var(--font-heading);font-size:2rem;font-weight:800;color:var(--primary);margin:0}
.stat-label{color:var(--text-muted);margin:.25rem 0 0;font-size:.9rem}

/* ---- cards / benefits ---- */
.cards{display:grid;gap:1.5rem}
.card{background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 8%,transparent);border-radius:var(--radius);padding:1.75rem}
.card h3{font-family:var(--font-heading);color:var(--primary-dark);margin:0 0 .5rem}
.card p{color:var(--text-muted);margin:0}

/* ---- about ---- */
.pull-quote{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--primary-dark);border-left:4px solid var(--accent);padding-left:1rem;margin:0 0 1.5rem}
.pull-quote p{margin:0}
.about-body{max-width:68ch;color:var(--text-muted)}
.about-body p{margin:0 0 1rem}

/* ---- services ---- */
.services-list{display:grid;gap:1.25rem}
.service-card{background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 8%,transparent);border-radius:var(--radius);padding:1.5rem}
.service-card h3{font-family:var(--font-heading);color:var(--primary-dark);margin:0 0 .5rem}
.service-card p{color:var(--text-muted);margin:0}

/* ---- how it works ---- */
.process-list{display:grid;gap:1.25rem}
.process-step{display:flex;gap:1rem;background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 8%,transparent);border-radius:var(--radius);padding:1.5rem}
.process-num{font-family:var(--font-heading);font-weight:800;color:var(--primary);font-size:1.4rem;line-height:1}
.process-step h3{font-family:var(--font-heading);color:var(--primary-dark);margin:0 0 .35rem}
.process-step p{color:var(--text-muted);margin:0}

/* ---- FAQ ---- */
.faq-list{display:grid;gap:.75rem}
.faq-item{background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 8%,transparent);border-radius:var(--radius);padding:1rem 1.25rem}
.faq-item summary{cursor:pointer;font-weight:700;color:var(--primary-dark);font-family:var(--font-heading)}
.faq-item p{color:var(--text-muted);margin:.75rem 0 0}

@media(min-width:900px){
  .cards{grid-template-columns:repeat(3,1fr)}
  .services-list{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}
}

/* ---- contact: the signature split ---- */
.contact{background:var(--surface);border-top:1px solid color-mix(in srgb,var(--text) 8%,transparent)}
.contact-split{display:grid}
.contact-split-map{display:flex;flex-direction:column;background:var(--bg)}
.contact-split-info{padding:clamp(1.5rem,4vw,2.5rem);display:flex;flex-direction:column;gap:1rem}
.contact-line{color:var(--text-muted);margin:0}
.contact-details{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.contact-item{font-weight:600}
.socials{display:flex;gap:.75rem;flex-wrap:wrap}
.map{flex:1;min-height:320px}
.contact-form{display:grid;gap:1rem;padding:clamp(1.5rem,4vw,2.5rem);background:var(--surface);align-content:start}
.contact-form label{font-weight:600;font-size:.9rem}
.contact-form input,.contact-form textarea{font:inherit;padding:1rem 1.15rem;font-size:1.05rem;border:1px solid color-mix(in srgb,var(--text) 16%,transparent);border-radius:10px;background:var(--bg)}
.contact-form textarea{min-height:7rem;resize:vertical}
.contact-form button{background:var(--primary);color:#fff;border:0;padding:.8rem 1.5rem;border-radius:999px;font-weight:600;cursor:pointer}
#form-message{font-size:.9rem}
@media(min-width:900px){
  .contact-split{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
  .contact-split-map{border-right:1px solid color-mix(in srgb,var(--text) 8%,transparent)}
}
.contact-item:empty,.socials:empty,.map:empty,#form-message:empty{display:none}

/* ---- footer ---- */
.site-footer{padding-block:2.5rem;border-top:1px solid color-mix(in srgb,var(--text) 8%,transparent);color:var(--text-muted)}
.footer-brand{font-weight:700;color:var(--primary-dark)}

/* ---- brand identity + footer ---- */
.brand { display: inline-flex; align-items: center; gap: 0.7rem; text-decoration: none; }
.brand-mark { flex: none; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.brand-text { display: flex; flex-direction: column; line-height: 1.2; }
.brand-name { font-family: var(--font-heading); font-weight: 800; font-size: 1.05rem; color: var(--primary-dark); }
.tagline { font-size: 0.78rem; color: var(--text-muted); }
.tagline:empty { display: none; }
.site-footer { border-top: 1px solid color-mix(in srgb, var(--text) 8%, transparent); padding-block: 1.5rem; color: var(--text-muted); font-size: 0.9rem; }
.footer-inner { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 0.5rem 1.5rem; }
.footer-company { display: flex; flex-direction: column; gap: 0.15rem; }
.footer-brand { font-family: var(--font-heading); font-weight: 700; color: var(--text); }
.footer-line { margin: 0; }
.footer-legal { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }
.footer-copy { font-size: 0.85rem; }
.footer-credit { font-size: 0.85rem; color: var(--text-muted); text-decoration: none; }
.footer-credit:hover { color: var(--primary); }

/* kit: fresh_green */
:root{--primary:#1F5C3D;--primary-dark:#16422C;--accent:#C9972B;--bg:#F6F7F1;--surface:#FFFFFF;--text:#1B241B;--text-muted:#5C6B5C;--radius:16px;--font-heading:'Plus Jakarta Sans',sans-serif;--font-body:'Plus Jakarta Sans',sans-serif;}