@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap");
: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;}

/* ============ Base ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem;overflow-x:clip}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,iframe,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--font-heading);letter-spacing:-0.02em}
ul,ol{list-style:none}
::selection{background:var(--accent);color:var(--primary-dark)}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px}

.container{width:100%;max-width:720px;margin-inline:auto;padding-inline:clamp(1.25rem,5vw,2rem)}

/* ============ Header ============ */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid color-mix(in srgb,var(--text) 8%,transparent)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.brand{font-family:var(--font-heading);font-size:1.0625rem;font-weight:700;letter-spacing:-0.01em;color:var(--primary-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}
.site-nav{display:flex;align-items:center;gap:clamp(1rem,2.5vw,1.625rem)}
.site-nav a{position:relative;font-size:.875rem;font-weight:500;color:var(--text-muted);transition:color .2s ease}
.site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;border-radius:1px;background:var(--accent);transition:right .25s ease}
.site-nav a:hover{color:var(--primary-dark)}
.site-nav a:hover::after{right:0}
@media (max-width:559px){
  .site-nav{gap:.625rem}
  .site-nav a{display:none}
  .site-nav a:last-child{display:inline-flex;align-items:center;padding:.5rem 1.125rem;border-radius:999px;background:var(--primary);color:var(--surface);font-weight:600}
  .site-nav a:last-child::after{display:none}
  .site-nav a:last-child:hover{background:var(--primary-dark);color:var(--surface)}
}

/* ============ Hero ============ */
.hero{padding-block:clamp(3.5rem,9vw,5.5rem) clamp(3rem,7vw,4rem);text-align:center}
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .95rem;border-radius:999px;background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 10%,transparent);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--primary-dark)}
.badge::before{content:"";flex:none;width:.45rem;height:.45rem;border-radius:50%;background:var(--accent)}
.hero h1{max-width:18ch;margin:1.375rem auto 0;font-size:clamp(2.375rem,6vw + .75rem,3.75rem);font-weight:800;line-height:1.08;letter-spacing:-0.03em}
.accent-rule{width:56px;height:3px;border-radius:999px;background:var(--accent);margin:1.5rem auto}
.hero-sub{max-width:46ch;margin-inline:auto;font-size:clamp(1.0625rem,1.6vw + .8rem,1.25rem);line-height:1.6;color:var(--text-muted)}
.hero-cta{display:inline-flex;align-items:center;gap:.5rem;margin-top:2.25rem;padding:.7rem 1.6rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--primary) 40%,transparent);font-size:.9375rem;font-weight:600;color:var(--primary-dark);transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.hero-cta span{transition:transform .2s ease}
.hero-cta:hover{background:var(--primary);border-color:var(--primary);color:var(--surface);transform:translateY(-1px)}
.hero-cta:hover span{transform:translateX(3px)}

/* ============ Stats band ============ */
.stats-band{background:var(--primary);padding-block:clamp(2.25rem,6vw,3.25rem)}
.stats-grid{display:grid;gap:1.25rem}
.stat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}
.stat-num{font-family:var(--font-heading);font-size:clamp(2.5rem,7vw,3.5rem);font-weight:800;line-height:1;letter-spacing:-0.02em;color:var(--surface)}
.stat-label{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--surface) 78%,var(--primary))}
.stat-label::before{content:"";display:block;width:26px;height:2px;border-radius:1px;background:var(--accent);margin:0 auto .6rem}
.stat + .stat{padding-top:1.25rem;border-top:1px solid color-mix(in srgb,var(--surface) 18%,transparent)}
@media (min-width:640px){
  .stats-grid{grid-template-columns:repeat(3,1fr);gap:0}
  .stat + .stat{padding-top:0;padding-left:1.5rem;border-top:none;border-left:1px solid color-mix(in srgb,var(--surface) 18%,transparent)}
}

/* ============ Sections ============ */
.section{padding-block:clamp(3rem,8vw,4.25rem)}
.section h2{font-size:clamp(1.5rem,3vw + .6rem,2rem);font-weight:700;line-height:1.25;margin-bottom:1rem}

/* ---- About ---- */
.about-grid{display:grid;gap:1.75rem}
.about-text p{max-width:58ch;font-size:1.0625rem;color:var(--text-muted)}
.about-media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--text) 8%,transparent);box-shadow:0 16px 36px -20px color-mix(in srgb,var(--primary) 35%,transparent)}
@media (min-width:640px){
  .about-grid{grid-template-columns:1.15fr .85fr;gap:2.75rem;align-items:center}
}

/* ---- Pull quote ---- */
.pull-quote{padding-block:clamp(2.5rem,6vw,3.25rem);border-block:1px solid color-mix(in srgb,var(--text) 8%,transparent);text-align:center}
.pull-quote p{max-width:32ch;margin-inline:auto;font-family:var(--font-heading);font-size:clamp(1.25rem,2.2vw + .8rem,1.625rem);font-weight:600;line-height:1.45;letter-spacing:-0.01em}
.pull-quote p::before{content:"";display:block;width:32px;height:2px;border-radius:1px;background:var(--accent);margin:0 auto 1.25rem}

/* ---- Services ---- */
.services-list li{display:flex;align-items:flex-start;gap:.9rem;padding-block:1rem;border-bottom:1px solid color-mix(in srgb,var(--text) 8%,transparent);font-size:1.0625rem;font-weight:500}
.services-list li:first-child{padding-top:.25rem}
.services-list li::before{content:"";flex:none;width:1.25rem;height:2px;border-radius:1px;background:var(--accent);margin-top:.75em}

/* ---- Benefits ---- */
.benefits{border-top:1px solid color-mix(in srgb,var(--text) 8%,transparent)}
.benefit-grid{display:grid;gap:1.25rem}
.benefit-card{display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 7%,transparent);border-radius:var(--radius);box-shadow:0 1px 2px color-mix(in srgb,var(--text) 5%,transparent);transition:transform .25s ease,box-shadow .25s ease}
.benefit-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -20px color-mix(in srgb,var(--primary) 35%,transparent),0 1px 2px color-mix(in srgb,var(--text) 5%,transparent)}
.benefit-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid color-mix(in srgb,var(--text) 6%,transparent)}
.benefit-body{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;flex:1}
.card-index{font-size:.75rem;font-weight:700;letter-spacing:.12em;color:var(--primary)}
.benefit-body h3{font-size:1.0625rem;font-weight:700;letter-spacing:-0.01em}
.benefit-body p{font-size:.9375rem;line-height:1.6;color:var(--text-muted)}
@media (min-width:672px){
  .benefit-grid{grid-template-columns:repeat(3,1fr)}
}

/* ---- CTA band ---- */
.cta-band{padding-block:clamp(3.25rem,8vw,4.5rem);background:var(--primary-dark);text-align:center}
.cta-band .accent-rule{margin:0 auto 1.5rem}
.cta-band h2{max-width:22ch;margin-inline:auto;font-size:clamp(1.75rem,3.6vw + .7rem,2.5rem);font-weight:800;line-height:1.15;color:var(--surface)}
.cta-band p{max-width:50ch;margin:1rem auto 0;font-size:1.0625rem;color:color-mix(in srgb,var(--surface) 82%,var(--primary-dark))}
.cta-action{margin-top:2.25rem}
.cta-action a{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2rem;border-radius:999px;background:var(--surface);color:var(--primary-dark);font-size:1rem;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.cta-action a:hover{background:var(--bg);transform:translateY(-2px);box-shadow:0 14px 30px -14px color-mix(in srgb,var(--text) 45%,transparent)}
.cta-band :focus-visible{outline-color:var(--accent)}

/* ---- Contact ---- */
.contact-line{max-width:58ch;color:var(--text-muted)}
.contact-details{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:1.5rem}
.contact-item{display:inline-flex;align-items:center;padding:.55rem 1.15rem;border-radius:999px;background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 9%,transparent);font-size:.9375rem;font-weight:600;color:var(--primary-dark);transition:border-color .2s ease,transform .2s ease}
.contact-item:hover{border-color:color-mix(in srgb,var(--primary) 45%,transparent);transform:translateY(-1px)}
.contact-item a{color:inherit;text-decoration:none}
.contact-socials{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:.75rem}
.contact-socials a{display:inline-flex;align-items:center;padding:.45rem 1rem;border-radius:999px;background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 9%,transparent);font-size:.875rem;font-weight:500;color:var(--text-muted);transition:color .2s ease,border-color .2s ease}
.contact-socials a:hover{color:var(--primary-dark);border-color:color-mix(in srgb,var(--primary) 45%,transparent)}
.contact-item:empty,.contact-item:has(a:empty),.contact-socials:empty,.map:empty,#form-message:empty{display:none}
.map{margin-top:1.75rem;overflow:hidden;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--text) 8%,transparent);background:var(--surface)}
.map iframe{width:100%;height:clamp(240px,50vw,320px);border:0}

/* ---- Form ---- */
#contact-form{display:grid;gap:1.15rem;margin-top:2rem;padding:clamp(1.5rem,4vw,2rem);background:var(--surface);border:1px solid color-mix(in srgb,var(--text) 7%,transparent);border-radius:var(--radius);box-shadow:0 1px 2px color-mix(in srgb,var(--text) 4%,transparent)}
.form-field{display:grid;gap:.45rem}
#contact-form label{font-size:.875rem;font-weight:600}
#contact-form input,#contact-form textarea{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid color-mix(in srgb,var(--text) 13%,transparent);border-radius:12px;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}
#contact-form input:focus,#contact-form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}
#contact-form textarea{resize:vertical;min-height:7.5rem}
#contact-form button{width:100%;border:0;cursor:pointer;font:inherit;font-size:1rem;font-weight:700;color:var(--surface);background:var(--primary);padding:.85rem 1.75rem;border-radius:999px;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
#contact-form button:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 12px 26px -14px color-mix(in srgb,var(--primary) 55%,transparent)}
#form-message{font-size:.9375rem;font-weight:600;color:var(--primary-dark)}
@media (min-width:480px){
  #contact-form button{width:auto;justify-self:start}
}

/* ============ Footer ============ */
.site-footer{padding-block:2.25rem;border-top:1px solid color-mix(in srgb,var(--text) 8%,transparent)}
.footer-inner{display:flex;flex-direction:column;gap:.5rem}
.footer-line{font-size:.875rem;color:var(--text-muted)}
.footer-brand{font-family:var(--font-heading);font-size:.875rem;font-weight:700;color:var(--primary-dark)}
@media (min-width:640px){
  .footer-inner{flex-direction:row;align-items:center;justify-content:space-between}
}

/* ============ Motion ============ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* 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;}