:root{
  --bg:#fcfcfd;
  --fg:#1a1c24;
  --ink:#1a1c24;
  --muted:#6e7180;
  --border:#e6e7ec;
  --surface:#f4f5f8;
  --card:#ffffff;
  --accent:#b8f24a;        /* electric lime */
  --accent-deep:#7ed321;
  --gradient-hero:linear-gradient(135deg,#fcfcfd 0%,#dff5a8 100%);
  --shadow-soft:0 30px 80px -40px rgba(26,28,36,.3);
  --shadow-card:0 1px 2px rgba(26,28,36,.04),0 16px 50px -16px rgba(26,28,36,.12);
  --font:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.55;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font);font-weight:600;letter-spacing:-0.04em;color:var(--ink);line-height:1.05;}
h1{font-size:clamp(2.5rem,6vw,5.5rem);}
h2{font-size:clamp(2rem,4vw,3rem);line-height:1.1;}
h3{font-size:1.5rem;}
p{color:var(--muted);}
.container{max-width:1240px;margin:0 auto;padding:0 1.5rem;}
@media(min-width:1024px){.container{padding:0 2.5rem;}}

.eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;display:inline-flex;align-items:center;gap:.5rem;}
.eyebrow .line{display:inline-block;width:2rem;height:1px;background:rgba(26,28,36,.4);}
.eyebrow-light{color:rgba(255,255,255,.6);}
.accent{color:var(--accent-deep);font-style:normal;}

.btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:999px;padding:1rem 1.75rem;font-size:.9rem;font-weight:500;transition:all .2s;border:1px solid transparent;cursor:pointer;}
.btn-dark{background:var(--ink);color:#fff;}
.btn-dark:hover{opacity:.88;}
.btn-ghost{border-color:rgba(26,28,36,.2);color:var(--ink);}
.btn-ghost:hover{background:rgba(26,28,36,.05);}

/* Nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .3s;}
.nav.scrolled{background:rgba(252,252,253,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:5rem;}
.nav-logo img{height:2rem;width:auto;}
.nav-links{display:none;gap:2.5rem;}
.nav-links a{font-size:.9rem;color:rgba(26,28,36,.8);transition:color .2s;}
.nav-links a:hover{color:var(--ink);}
.nav-cta{display:none;padding:.6rem 1.25rem;font-size:.85rem;}
.nav-burger{background:none;border:none;color:var(--ink);padding:.5rem;cursor:pointer;}
.nav-mobile{display:none;flex-direction:column;gap:1rem;padding:1rem 1.5rem 1.5rem;background:var(--bg);border-top:1px solid var(--border);}
.nav-mobile.open{display:flex;}
.nav-mobile a{font-size:1rem;color:rgba(26,28,36,.85);}
.nav-mobile .btn{justify-content:center;}
@media(min-width:768px){
  .nav-links{display:flex;}
  .nav-cta{display:inline-flex;}
  .nav-burger{display:none;}
  .nav-mobile{display:none!important;}
}

/* Hero */
.hero{position:relative;padding:9rem 0 6rem;background:var(--gradient-hero);overflow:hidden;}
@media(min-width:768px){.hero{padding:10rem 0 7rem;}}
.hero-grid{display:grid;gap:2.5rem;align-items:center;}
@media(min-width:1024px){.hero-grid{grid-template-columns:7fr 5fr;}}
.hero h1{margin:.5rem 0 0;}
.lead{margin-top:2rem;max-width:36rem;font-size:1.125rem;line-height:1.7;}
.cta-row{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1rem;}
.hero-media{position:relative;}
.hero-img{aspect-ratio:4/5;border-radius:1rem;overflow:hidden;box-shadow:var(--shadow-soft);}
.hero-img img{width:100%;height:100%;object-fit:cover;}
.hero-card{position:absolute;bottom:-1.5rem;left:-1.5rem;background:var(--card);border-radius:.75rem;padding:1.25rem;box-shadow:var(--shadow-card);max-width:14rem;display:none;}
@media(min-width:768px){.hero-card{display:block;}}
.hero-card-title{font-size:1.5rem;color:var(--ink);font-weight:600;letter-spacing:-0.04em;}
.hero-card-sub{font-size:.75rem;color:var(--muted);margin-top:.25rem;}

/* About */
.about{padding:6rem 0;background:var(--bg);}
@media(min-width:768px){.about{padding:8rem 0;}}
.about-grid{display:grid;gap:3rem;}
@media(min-width:1024px){.about-grid{grid-template-columns:5fr 7fr;}}
.about-body{display:flex;flex-direction:column;gap:1.5rem;font-size:1.125rem;line-height:1.7;}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border);}
.stat-n{font-size:clamp(1.875rem,3vw,2.25rem);color:var(--ink);font-weight:600;letter-spacing:-0.04em;}
.stat-l{font-size:.75rem;color:var(--muted);margin-top:.25rem;}

/* Services */
.services{padding:6rem 0;background:var(--surface);}
@media(min-width:768px){.services{padding:8rem 0;}}
.services-head{max-width:36rem;margin-bottom:4rem;}
.services-grid{display:grid;gap:1.5rem;}
@media(min-width:768px){.services-grid{grid-template-columns:repeat(3,1fr);gap:2rem;}}
.service{background:var(--card);border-radius:1rem;overflow:hidden;box-shadow:var(--shadow-card);transition:transform .3s;}
.service:hover{transform:translateY(-4px);}
.service-img{aspect-ratio:4/3;overflow:hidden;}
.service-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s;}
.service:hover .service-img img{transform:scale(1.05);}
.service-body{padding:1.75rem;}
.tag{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem;}
.service h3{margin-bottom:.75rem;font-size:1.5rem;}
.service p{font-size:.9rem;}

/* Sustainability */
.sustain{padding:6rem 0;background:var(--ink);color:#fff;}
@media(min-width:768px){.sustain{padding:8rem 0;}}
.sustain-grid{display:grid;gap:3rem;}
@media(min-width:1024px){.sustain-grid{grid-template-columns:5fr 7fr;}}
.sustain h2{color:#fff;}
.sustain-lead{margin-top:1.5rem;color:rgba(255,255,255,.7);font-size:1.125rem;line-height:1.7;max-width:28rem;}
.sustain-points{display:grid;gap:1.25rem;}
@media(min-width:640px){.sustain-points{grid-template-columns:repeat(2,1fr);}}
.point{border:1px solid rgba(255,255,255,.15);border-radius:.75rem;padding:1.5rem;transition:background .2s;}
.point:hover{background:rgba(255,255,255,.05);}
.point-ico{font-size:1.5rem;color:var(--accent);margin-bottom:1rem;}
.point h3{color:#fff;font-size:1.25rem;margin-bottom:.5rem;}
.point p{font-size:.875rem;color:rgba(255,255,255,.65);}

/* References — bordered cards */
.refs{padding:5rem 0;background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.refs-head{text-align:center;margin-bottom:3rem;}
.refs-head h2{font-size:clamp(1.75rem,3vw,2.25rem);}
.refs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;}
@media(min-width:640px){.refs-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:768px){.refs-grid{grid-template-columns:repeat(4,1fr);gap:1rem;}}
@media(min-width:1024px){.refs-grid{grid-template-columns:repeat(6,1fr);}}
.refs-grid > div{display:flex;align-items:center;justify-content:center;min-height:88px;padding:1.5rem 1.25rem;border:1px solid var(--border);border-radius:.75rem;background:var(--card);font-size:1rem;font-weight:500;letter-spacing:-0.02em;color:rgba(26,28,36,.8);text-align:center;line-height:1.2;transition:all .3s;}
@media(min-width:768px){.refs-grid > div{min-height:104px;font-size:1.1rem;}}
.refs-grid > div:hover{border-color:rgba(26,28,36,.3);box-shadow:var(--shadow-card);color:var(--ink);}

/* Contact */
.contact{padding:6rem 0;background:var(--surface);}
@media(min-width:768px){.contact{padding:8rem 0;}}
.contact-grid{display:grid;gap:3rem;align-items:start;}
@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1fr;}}
.contact-lead{margin-top:1.5rem;font-size:1.125rem;line-height:1.7;max-width:28rem;}
.contact-card{background:var(--card);border-radius:1rem;padding:2rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:1.5rem;}
@media(min-width:768px){.contact-card{padding:2.5rem;}}
.contact-row{display:flex;align-items:center;gap:1rem;}
.ico{display:flex;width:3rem;height:3rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:999px;background:var(--ink);color:#fff;font-size:1rem;}
.ico-light{background:var(--surface);color:var(--ink);}
.contact-label{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.contact-val{display:block;font-size:1.25rem;color:var(--ink);font-weight:600;letter-spacing:-0.02em;transition:opacity .2s;}
.contact-row:hover .contact-val{opacity:.7;}
.contact-loc{padding-top:.5rem;border-top:1px solid var(--border);}
.contact-place{font-size:.875rem;color:var(--muted);}

/* Footer */
.footer{background:var(--ink);color:rgba(255,255,255,.7);padding:3rem 0;}
.footer-inner{display:flex;flex-direction:column;gap:2rem;}
@media(min-width:768px){.footer-inner{flex-direction:row;justify-content:space-between;align-items:flex-start;}}
.footer-brand{display:flex;flex-direction:column;gap:1rem;}
.footer-logo{height:2rem;width:auto;filter:invert(1);align-self:flex-start;}
.footer-copy{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7);}
.footer-meta{font-size:.75rem;line-height:1.7;}
@media(min-width:768px){.footer-meta{text-align:right;}}
.footer-meta .strong{color:rgba(255,255,255,.9);}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;}}
