/* Tokens en variabelen */
:root{
  --green-900:#153b24;
  --green-800:#1b4a2c;
  --green-700:#28643b;
  --lime:#84c92f;
  --lime-dark:#67a31f;
  --cream:#f5f3ec;
  --white:#fff;
  --ink:#18211b;
  --muted:#5d685f;
  --line:#d9ded8;
  --warning:#fff4c5;
  --space-1:.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2rem;
  --space-5:3rem;
  --space-6:4.5rem;
  --space-7:6rem;
  --radius-sm:5px;
  --radius-md:10px;
  --radius:var(--radius-md);
  --gold:#d39f00;
  --shadow:0 12px 30px rgb(20 45 29 / .12);
  --shadow-soft:var(--shadow);
  --wrap:1180px;
}

/* Reset */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
figure,blockquote{margin:0}
ul,ol{padding-left:1.25rem}

/* Typografie */
h1,h2,h3,h4{color:inherit;font-weight:900;line-height:1.08;letter-spacing:-.035em}
h1{font-size:clamp(2.6rem,4.8vw,4.9rem);margin:0 0 var(--space-3)}
h2{font-size:clamp(1.9rem,3.2vw,3.35rem);margin:0 0 var(--space-3)}
h3{font-size:1.35rem;margin:.3rem 0 .7rem}
p{margin:.4rem 0 1.1rem}
.overline{margin:0 0 .8rem;color:var(--lime);font-size:.76rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.overline.dark{color:var(--green-700)}
.text-link,.section-link a{color:var(--green-800);font-weight:900;text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px;text-underline-offset:5px}

/* Algemene layout */
.wrap{width:min(var(--wrap),calc(100% - 40px));margin-inline:auto}
.section{padding:var(--space-7) 0;scroll-margin-top:90px}
.section-heading{max-width:820px;margin-bottom:var(--space-5)}
.section-heading>p:last-child,.intro>p{color:var(--muted);max-width:590px}
.intro{display:flex;align-items:end;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-5)}
.intro>div{max-width:720px}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2.5rem,7vw,6rem)}
.content-narrow{max-width:820px}
.content-narrow h2,.service-copy h2{margin-top:var(--space-5)}
.content-narrow a,.service-copy a{text-decoration:underline}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.plain-card{background:#fff;padding:var(--space-4)}
.step-number{color:var(--lime-dark);font-size:.78rem;font-weight:900;letter-spacing:.12em}
.skip{position:fixed;z-index:200;top:-80px;left:1rem;padding:.8rem 1rem;background:#fff;border:2px solid var(--green-900);font-weight:900}
.skip:focus{top:1rem}
.trust-box{margin-top:var(--space-5);padding:var(--space-4);background:var(--cream);border-left:5px solid var(--lime)}
hr{border:0;border-top:1px solid currentColor;opacity:.25;margin:var(--space-4) 0}

/* Header en navigatie */
header{position:sticky;z-index:100;top:0;background:#fff;transition:box-shadow .2s}
header.scrolled{box-shadow:0 4px 18px rgb(17 35 23 / .12)}
.top{background:var(--green-900);color:#fff;font-size:.78rem}
.top .wrap{display:flex;justify-content:space-between;padding:.3rem 0}
.top a{text-decoration:underline}
.nav{height:88px;display:flex;align-items:center;gap:1rem}
.official-logo{display:flex;flex:0 0 232px;width:232px}
.official-logo img{width: 232px;height:auto}
.nav nav{display:flex;align-items:center;gap:1.15rem;margin-left:auto}
.nav nav a{display:flex;align-items:center;min-height:44px;border-bottom:3px solid transparent;font-size:.78rem;font-weight:900;white-space:nowrap}
.nav nav a:hover,.nav nav a:focus-visible,.nav nav a[aria-current="page"]{border-color:var(--lime)}
.header-phone{font-size:.82rem;font-weight:900;white-space:nowrap}
.menu{display:none;min-width:48px;min-height:44px;border:1px solid var(--green-900);background:#fff;color:var(--green-900);font-weight:900}

/* Knoppen */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.7rem 1.25rem;background:var(--lime);border:2px solid var(--lime);border-radius:var(--radius-sm);color:#12210f;font-weight:900;line-height:1.2;transition:background .2s,border-color .2s,transform .2s}
.btn:hover,.btn:focus-visible{background:#98dc43;border-color:#98dc43;transform:translateY(-1px)}
.btn.small{min-height:44px;padding:.55rem .9rem;font-size:.78rem}
.btn.outline{background:transparent;border-color:#fff;color:#fff}
.btn.outline:hover,.btn.outline:focus-visible{background:#fff;color:var(--green-900)}
.btn.whatsapp,.whatsapp{background:#23864b;border-color:#23864b;color:#fff}
.btn.whatsapp:hover,.btn.whatsapp:focus-visible{background:#196b3b;border-color:#196b3b;color:#fff}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:var(--space-4)}

/* Hero's */
.hero{position:relative;display:flex;align-items:center;min-height:620px;color:#fff;background:var(--green-900)}
.home-hero{background:linear-gradient(90deg,rgb(15 47 27 / .86) 0%,rgb(15 47 27 / .61) 48%,rgb(15 47 27 / .08) 79%),image-set(url('images/badhoevedorp-grondwerk-2.webp') type('image/webp'), url('images/badhoevedorp-grondwerk-2.jpg') type('image/jpeg')) center 54%/cover no-repeat}
.hero-content{padding:3.5rem 0}
.hero h1{max-width:920px}
.hero p:not(.overline){max-width:710px;color:#eff5ef;font-size:1.08rem}
.hero-phone{display:inline-block;margin-top:1.2rem;font-weight:900;text-decoration:underline;text-underline-offset:4px}
.page-hero,.service-hero{padding:6rem 0 5rem;color:#fff;background:linear-gradient(90deg,rgb(21 59 36 / .94),rgb(40 100 59 / .75)),image-set(url('images/badhoevedorp-grondwerk-2.webp') type('image/webp'), url('images/badhoevedorp-grondwerk-2.jpg') type('image/jpeg')) center/cover}
.page-hero h1,.service-hero h1{max-width:950px;font-size:clamp(2.45rem,4.2vw,4.25rem);line-height:1.04}
.page-hero p,.service-hero p{max-width:760px;color:#e4eee6}
.crumbs{margin-bottom:1rem;color:#dbe9dd;font-size:.8rem}
.crumbs a{text-decoration:underline}
.market-project-hero{min-height:600px;display:flex;align-items:center;background:linear-gradient(90deg,rgb(21 59 36 / .86),rgb(21 59 36 / .25)),url('images/grote-markt-zomer-wijkgarden.jpg') center 58%/cover no-repeat}
.market-project-hero .wrap{padding:4rem 0}

/* Bewijsbalk */
.trust{background:var(--lime);border-bottom:1px solid #6da924}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.trust span{padding:1rem .6rem;font-size:.82rem;font-weight:900;text-align:center}

/* Probleem en diensten */
.solution{background:var(--cream)}
.services-section{background:#fff}
.core-services{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.core-services article{display:grid;grid-template-columns:44% 56%;min-height:270px;border:1px solid var(--line);background:#fff}
.core-services img{width:100%;height:100%;object-fit:cover}
.core-services article>div{display:flex;flex-direction:column;padding:1.6rem}
.core-services h3{font-size:1.45rem}
.core-services p{color:var(--muted);font-size:.92rem}
.core-services a{margin-top:auto;color:var(--green-800);font-size:.86rem;font-weight:900;text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px;text-underline-offset:4px}
.section-link{margin-top:var(--space-4)}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.services>article{display:flex;flex-direction:column;min-height:310px;padding:1.6rem;border:1px solid var(--line);background:#fff;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.services article>b{color:var(--green-700);font-size:.75rem}
.services h3{margin-top:1.4rem}
.services h4{margin:.8rem 0 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.services p{margin:.15rem 0;color:var(--muted);font-size:.88rem}
.services a{margin-top:auto;padding-top:1rem;font-size:.82rem;font-weight:900}

/* Proces */
.dark-section,.equipment,.area{background:var(--green-900);color:#fff}
.dark-section .intro>p,.equipment p,.area p{color:#d5e0d7}
.process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;list-style:none;border-top:1px solid rgb(255 255 255 / .25)}
.process-list li{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:2rem;border-right:1px solid rgb(255 255 255 / .25)}
.process-list li:last-child{border-right:0}
.process-list li>span{color:var(--lime);font-size:1.7rem;font-weight:900}
.process-list p{color:#d5e0d7}

/* Projectcases */
.phase-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:var(--space-4)}
.phase-gallery figure{position:relative;min-height:390px;overflow:hidden;background:var(--green-900)}
.phase-gallery img{width:100%;height:100%;min-height:390px;object-fit:cover}
.phase-gallery figcaption{position:absolute;inset:auto 0 0;padding:3.5rem 1rem 1rem;background:linear-gradient(transparent,rgb(15 38 23 / .92));color:#fff;font-weight:900}
.phase-gallery figcaption b{margin-right:.6rem;color:var(--lime)}
.local-project-image{display:block;overflow:hidden;background:var(--green-900)}
.local-project-image picture{display:block}
.local-project-image img{width:100%;height:560px;object-fit:cover;object-position:center 68%}
.project-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.project-list article{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);background:#fff}
.project-list img{width:100%;height:260px;object-fit:cover}
.project-list .body{display:flex;flex:1;flex-direction:column;padding:1.5rem}
.project-list small{color:var(--green-700);font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.project-list h2{font-size:clamp(1.9rem,2.25vw,2.55rem);line-height:1.08;letter-spacing:-.032em;margin:.8rem 0 .85rem;overflow-wrap:normal;hyphens:none}
.project-list p{color:var(--muted);font-size:.9rem}
.project-list .btn{align-self:flex-start;margin-top:auto}
.project-case-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:var(--space-4) 0}
.project-case-gallery img{width:100%;height:380px;object-fit:cover}
.project-case-gallery img:first-child:last-child,.project-case-gallery img:nth-child(3){grid-column:1/-1}

/* Materieel en partners */
.equipment img{width:100%;max-height:470px;object-fit:cover}
.check-list{padding:0;list-style:none}
.check-list li{padding:.65rem 0;border-bottom:1px solid rgb(255 255 255 / .18)}
.check-list li::before{content:'✓';margin-right:.6rem;color:var(--lime);font-weight:900}
.machine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.machine-grid .plain-card{min-height:200px;border:1px solid var(--line)}
.machine-grid h2{font-size:clamp(2rem,2.4vw,2.55rem);line-height:1.08;margin-bottom:1.2rem}
.trade-partners{background:var(--cream)}
.partner-benefits{display:flex;flex-wrap:wrap;gap:.6rem;padding:0;list-style:none;margin:0 0 var(--space-4)}
.partner-benefits li{padding:.65rem 1rem;background:#fff;border:1px solid var(--line);font-weight:800}

/* Reviews en werkgebied */
.reviews{background:#fff}
.review-note{max-width:850px;padding:var(--space-4);border-left:5px solid var(--lime);background:var(--cream)}
.map{display:grid;place-items:center;min-height:330px;padding:2rem;background:linear-gradient(rgb(132 201 47 / .86),rgb(132 201 47 / .86)),url('images/grote-markt-wijkgarden-transport.jpg') center/cover;color:var(--green-900);font-size:2.4rem;font-weight:900;letter-spacing:.08em;text-align:center}
.map small{display:block;font-size:.7rem;letter-spacing:.09em}

/* Formulieren */
.quote-section{background:#fff}
.form-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:var(--space-5);align-items:start}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.form-grid label{display:block;font-size:.82rem;font-weight:800}
.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;min-height:46px;margin-top:.3rem;padding:.7rem .8rem;border:1px solid #9ca99f;border-radius:var(--radius-sm);background:#fff;color:var(--ink)}
.form-grid textarea{min-height:130px;resize:vertical}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid rgb(132 201 47 / .32);border-color:var(--green-700)}
.form-grid .full{grid-column:1/-1}
.form-grid small{display:block;margin-top:.3rem;color:var(--muted);font-weight:400}
.check{display:flex!important;align-items:flex-start;gap:.6rem}
.check input{flex:0 0 auto;width:auto;min-height:auto;margin-top:.3rem}
.check a{text-decoration:underline}
.honeypot{position:absolute!important;left:-9999px!important}
.form-layout aside{padding:var(--space-4);background:var(--green-900);color:#fff;overflow:hidden}
.form-layout aside h2{font-size:clamp(1.8rem,2.05vw,2.05rem);line-height:1.08;margin-bottom:1rem}
.form-layout aside h2:first-child{font-size:clamp(2rem,2.6vw,2.55rem)}
.form-layout aside p{color:#d7e2d9}
.form-layout aside>a:not(.btn){display:block;margin:.6rem 0;font-weight:900;text-decoration:underline}
.status{min-height:1.5rem}
.status.error{padding:.7rem;background:#fff0ef;color:#8a241d}
.status.success{padding:.7rem;background:#eaf6ed;color:#19572a}

/* Footer */
footer{padding:var(--space-6) 0 var(--space-7);background:#101b14;color:#d2dbd4}
.footer{display:grid;grid-template-columns:2fr 1.2fr;gap:var(--space-6)}
.footer .official-logo{width:220px;filter:brightness(1.1)}
.footer>div>a{display:block;margin:.35rem 0}
.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem 1.5rem;align-content:start}
.footer-nav a{min-height:36px;font-size:.85rem;font-weight:800}
.business-meta{color:#aebbb1;font-size:.78rem}
.copy{margin-top:var(--space-4);padding-top:1rem;border-top:1px solid #334038;font-size:.75rem}
.sitewide-mobile{display:none}

/* Dienst- en projectpagina's */
.service-content,.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:var(--space-6);align-items:start}
.service-copy ul,.service-copy ol,.content-narrow ul,.content-narrow ol{padding-left:1.2rem}
.service-copy li,.content-narrow li{margin:.55rem 0}
.service-photo{margin:var(--space-4) 0}.service-photo img{width:100%;max-height:430px;object-fit:cover}
.service-side,.sticky-cta{position:sticky;top:112px;padding:var(--space-4);background:var(--green-900);color:#fff;overflow:hidden}
.service-side h2,.sticky-cta h2{font-size:clamp(1.9rem,2.55vw,2.6rem);line-height:1.08;margin-bottom:1.2rem}
.service-side p,.sticky-cta p{color:#d5e0d7}
.service-side .btn,.sticky-cta .btn{width:100%;margin-top:.6rem}
.service-links{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-links .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.service-links a{display:flex;align-items:center;justify-content:center;min-height:72px;padding:1rem;border-right:1px solid var(--line);font-size:.86rem;font-weight:900;text-align:center}
.service-links a:last-child{border-right:0}
.faq-list details{padding:1rem 0;border-top:1px solid var(--line)}
.faq-list details:last-of-type{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;color:var(--green-800);font-weight:900}
.page-cta{padding:var(--space-6) 0;background:var(--green-800);color:#fff}
.page-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.page-cta h2{max-width:700px;margin:0}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:var(--space-5)}
.contact-cards .plain-card{border:1px solid var(--line)}
.contact-cards h2{font-size:clamp(2.1rem,2.5vw,2.4rem);line-height:1.08;margin-bottom:1.2rem}
.contact-cards a{color:var(--green-800);font-weight:900;text-decoration:underline}
.form-layout form>h2{font-size:clamp(2.5rem,3.4vw,3rem);line-height:1.08}
.error-page{display:grid;place-items:center;min-height:70vh;text-align:center}
.error-code{color:var(--lime-dark);font-size:clamp(5rem,18vw,12rem);font-weight:900;line-height:.8}

picture{display:block}
picture>img{width:100%;height:100%}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.review-card{margin:0;padding:30px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.review-card h3{margin:12px 0 8px}
.review-card p{color:var(--muted)}
.review-card cite{display:block;color:var(--muted);font-size:.84rem;font-style:normal;font-weight:800}
.stars{color:#d39f00;letter-spacing:.08em}
.stars span{color:#c7cec8}
.review-source{margin-top:24px}
.review-source a{font-weight:900;text-decoration:underline}

/* Utilities en toegankelijkheid */
:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
[hidden]{display:none!important}
body.menu-open{overflow:hidden}


@media (hover:hover) and (pointer:fine){
  .services>article:hover,
  .services>article:focus-within{
    background:var(--green-900);
    color:#fff;
    border-color:var(--green-900);
    box-shadow:0 12px 28px rgb(21 59 36 / .14);
    transform:translateY(-3px);
  }
  .services>article:hover h3,
  .services>article:hover h4,
  .services>article:hover p,
  .services>article:hover b,
  .services>article:hover a,
  .services>article:focus-within h3,
  .services>article:focus-within h4,
  .services>article:focus-within p,
  .services>article:focus-within b,
  .services>article:focus-within a{
    color:#fff;
  }
  .services>article:hover a,
  .services>article:focus-within a{
    text-decoration-color:var(--lime);
  }
}
@media (prefers-reduced-motion:reduce){
  .services>article{transition:none}
  .services>article:hover,
  .services>article:focus-within{transform:none}
}

/* Responsive */
@media(max-width:1100px){
  .nav{gap:.7rem}.official-logo{flex-basis:205px;width:205px}.nav nav{gap:.8rem}.header-phone{display:none}
  .project-list h2,.machine-grid h2{font-size:clamp(1.8rem,2.8vw,2.3rem)}
  .service-side h2,.sticky-cta h2{font-size:clamp(1.85rem,3vw,2.35rem)}
  .core-services article{grid-template-columns:40% 60%}
}
@media(max-width:900px){
  .nav{height:76px}.official-logo{flex-basis:180px;width:180px}.nav>.btn{margin-left:auto}.menu{display:inline-flex;align-items:center;justify-content:center;order:3}.nav nav{position:absolute;top:76px;left:0;right:0;display:none;margin:0;padding:.8rem 20px 1.2rem;background:#fff;border-top:1px solid var(--line);box-shadow:var(--shadow)}.nav nav.open{display:grid}.nav nav a{min-height:48px;padding:.3rem 0}.nav>.btn{order:2}.menu{order:3}
  .contact-cards h2{font-size:2.1rem}
  .form-layout form>h2{font-size:2.55rem}
  .top{display:none}.top+.nav nav{top:76px}
  .services{grid-template-columns:repeat(2,1fr)}
  .cards-3,.process-list,.phase-gallery,.project-list,.machine-grid{grid-template-columns:1fr 1fr}
  .cards-3 article:last-child,.process-list li:last-child,.phase-gallery figure:last-child{grid-column:1/-1}
  .process-list li{border-bottom:1px solid rgb(255 255 255 / .25)}
  .service-content,.page-grid{grid-template-columns:1fr}.service-side,.sticky-cta{position:static}
}
@media(max-width:700px){
  .section{padding-block:4.2rem}.page-cta{padding-block:3.2rem}
  html{scroll-padding-top:80px}.wrap{width:calc(100% - 28px)}
  h1{font-size:2.5rem}.nav{height:72px}.official-logo{flex-basis:172px;width:172px}.nav>.btn{display:none}.nav nav{top:72px;padding-inline:14px}
  .hero{min-height:560px;align-items:end}.home-hero{background:linear-gradient(180deg,rgb(18 54 31 / .14) 0%,rgb(18 54 31 / .88) 64%,rgb(18 54 31 / .98) 100%),image-set(url('images/badhoevedorp-grondwerk-2.webp') type('image/webp'), url('images/badhoevedorp-grondwerk-2.jpg') type('image/jpeg')) 59% center/cover no-repeat}.hero-content{padding:7.5rem 0 3rem}.hero h1{font-size:2.62rem}.hero p:not(.overline){font-size:1rem}.actions{display:grid}.actions .btn{width:100%}
  .trust .wrap{grid-template-columns:1fr 1fr}.trust span{font-size:.72rem;border-bottom:1px solid rgb(21 59 36 / .16)}
  .intro{display:block}.intro>p{margin-top:1rem}
  .split,.core-services,.cards-3,.process-list,.phase-gallery,.project-list,.machine-grid,.contact-cards,.form-layout,.form-grid,.footer{grid-template-columns:1fr}
  .cards-3 article:last-child,.process-list li:last-child,.phase-gallery figure:last-child{grid-column:auto}
  .core-services article{grid-template-columns:1fr;min-height:0}.core-services img{height:220px}.core-services article>div{min-height:210px}
  .services,.review-grid{grid-template-columns:1fr}.process-list li{border-right:0}
  .phase-gallery figure,.phase-gallery img{min-height:300px}.local-project-image img{height:420px;object-position:52% 72%}
  .project-case-gallery{grid-template-columns:1fr}.project-case-gallery img{height:280px}.project-case-gallery img:nth-child(3){grid-column:auto}
  .page-hero,.service-hero{padding:4.2rem 0 3.3rem}.page-hero h1,.service-hero h1{font-size:clamp(2.1rem,9vw,2.75rem)}.market-project-hero{min-height:520px;background:linear-gradient(180deg,rgb(21 59 36 / .18),rgb(21 59 36 / .88)),url('images/grote-markt-zomer-wijkgarden.jpg') 54% center/cover no-repeat}
  .service-links .wrap{grid-template-columns:1fr}.service-links a{border-right:0;border-bottom:1px solid var(--line)}
  .form-grid .full{grid-column:auto}.page-cta .wrap{display:block}.page-cta .actions{margin-top:1.5rem}
  .project-list h2,.machine-grid h2,.contact-cards h2{font-size:2rem}
  .form-layout form>h2{font-size:2.2rem}
  .form-layout aside h2,.form-layout aside h2:first-child,.service-side h2,.sticky-cta h2{font-size:2.05rem}
  .footer{gap:var(--space-4)}.footer-nav{grid-template-columns:1fr 1fr}
  .sitewide-mobile{position:fixed;z-index:120;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,1fr);box-shadow:0 -4px 16px rgb(15 35 22 / .18)}.sitewide-mobile a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:.55rem .2rem;background:#fff;font-size:.72rem;font-weight:900}.sitewide-mobile a:nth-child(2){background:#23864b;color:#fff}.sitewide-mobile a:last-child{background:var(--lime)}
  footer{padding-bottom:8rem}
}
@media(max-width:390px){.official-logo{flex-basis:164px;width:164px}.hero h1{font-size:2.35rem}.project-list h2,.machine-grid h2,.contact-cards h2,.form-layout aside h2,.service-side h2,.sticky-cta h2{font-size:1.9rem}.form-layout form>h2{font-size:2rem}.trust .wrap{grid-template-columns:1fr}.footer-nav{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
