@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--ink:#092c27;--ink-2:#173c34;--green:#2bd76e;--lime:#cdf4d3;--cream:#f6f7f1;--line:#d7ded6;--muted:#53635c;--white:#fff;--font:Manrope,Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:var(--body);background:var(--cream);font-size:16px;line-height:1.6}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #168e56;outline-offset:4px}
.container{width:min(100% - 64px,1380px);margin-inline:auto}
.skip-link{position:absolute;z-index:30;top:-100px;left:20px;background:var(--green);padding:12px 18px}
.skip-link:focus{top:12px}
.utility-bar{background:#082a26;color:#d7eee0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.utility-inner{min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.utility-inner a:hover{color:var(--green)}
.site-header{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 2px 16px #0b392417}
.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:inline-flex;align-items:center;gap:12px;flex:none;line-height:1;color:#082d28}
.brand-mark{position:relative;display:block;width:42px;height:42px;background:var(--green);border-radius:5px;overflow:hidden;transform:skew(-7deg)}
.brand-mark span:first-child{position:absolute;left:9px;top:10px;width:24px;height:7px;background:var(--ink);transform:rotate(-27deg);border-radius:9px}
.brand-mark span:last-child{position:absolute;left:11px;bottom:9px;width:24px;height:7px;background:var(--ink);transform:rotate(-27deg);border-radius:9px}
.brand-words{display:flex;flex-direction:column;gap:4px;font-family:var(--body);line-height:1;white-space:nowrap}
.brand-words strong{font-size:17px;font-weight:800;letter-spacing:-.012em;line-height:1.05}
.brand-words em{font-size:11px;font-style:normal;font-weight:800;letter-spacing:.19em;line-height:1.1;color:#147f45}
.primary-nav{display:flex;align-items:center;gap:38px;font-size:14px;font-weight:700}
.primary-nav>a:not(.button){position:relative;padding:10px 0}
.primary-nav>a:not(.button):after{content:'';height:2px;width:0;position:absolute;bottom:4px;left:0;background:#1db75d;transition:width .2s}
.primary-nav>a:not(.button):hover:after,.primary-nav>a[aria-current]:after{width:100%}
.menu-toggle{display:none;border:0;background:none;padding:10px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:54px;padding:13px 21px;border:1px solid transparent;font-size:13px;font-weight:800;letter-spacing:.015em;line-height:1.2;transition:transform .2s,background .2s,color .2s,border-color .2s}
.button:hover{transform:translateY(-2px)}
.button span:last-child{font-size:21px;font-weight:400;line-height:1}
.button-dark{background:var(--ink);color:#fff}
.button-dark:hover{background:#175443}
.button-green{background:var(--green);color:var(--ink)}
.button-green:hover{background:#8beaa4}
.button-outline-light{border-color:#d4eee0;color:#fff;background:transparent}
.button-outline-light:hover{background:#fff;color:var(--ink)}
.nav-quote{min-width:150px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:#137e49;font-family:var(--font);font-size:11px;font-weight:800;letter-spacing:.2em;line-height:1.3}
.eyebrow.light{color:var(--green)}
.eyebrow-line{width:28px;height:1px;background:currentColor}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--font);line-height:1.13;letter-spacing:-.052em}
h1 em,h2 em{font-style:normal;color:var(--green)}
.display{font-size:clamp(38px,5vw,70px);font-weight:800;letter-spacing:-.065em;line-height:1.08;margin:22px 0 0}
.display em{color:#159a52}
.section{padding:115px 0}
.text-link{display:inline-flex;align-items:center;gap:35px;border-bottom:1px solid currentColor;padding-bottom:7px;font-size:14px;font-weight:800;line-height:1.25}
.text-link span{font-size:20px;font-weight:400;transition:transform .2s}
.text-link:hover span{transform:translate(3px,-3px)}

/* Home hero */
.hero{position:relative;min-height:min(740px,80vw);color:#fff;background:#42655d;overflow:hidden}
.hero-picture{position:absolute;inset:0;background-image:url('/images/hero.webp');background-size:cover;background-position:center 53%;transform:scale(1.015)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,32,28,.91) 0%,rgba(3,32,28,.79) 25%,rgba(3,32,28,.27) 57%,rgba(3,32,28,.04) 100%),linear-gradient(0deg,rgba(3,32,28,.38),transparent 35%)}
.hero-inner{position:relative;min-height:min(740px,80vw);display:flex;align-items:center}
.hero-content{max-width:790px;padding:80px 0 104px}
.hero h1{font-size:clamp(62px,7vw,112px);font-weight:800;line-height:.99;letter-spacing:-.075em;margin:24px 0 30px}
.hero p{max-width:570px;font-size:19px;line-height:1.65;color:#f1f7ee;margin:0 0 36px}
.hero-actions{display:flex;align-items:center;gap:35px;flex-wrap:wrap}
.hero-secondary{display:inline-flex;align-items:center;gap:15px;font-size:13px;font-weight:800;border-bottom:1px solid #d8eade;padding-bottom:7px}
.hero-secondary span{font-size:19px}
.hero-rail{position:absolute;bottom:29px;left:0;right:0;display:flex;justify-content:space-between;color:#e3f4e8;font-size:11px;font-weight:800;letter-spacing:.21em}
.quick-quote{position:relative;background:var(--green)}
.quick-inner{min-height:160px;display:grid;grid-template-columns:minmax(180px,280px) 1fr;align-items:center;gap:45px;padding-block:28px}
.quick-quote .eyebrow{color:#0b6841}
.quick-quote h2{font-size:26px;margin:8px 0 0}
.quick-form{display:grid;grid-template-columns:1.4fr 1fr .8fr auto;align-items:end;gap:10px}
.quick-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:800;letter-spacing:.01em}
.quick-form input,.quick-form select{width:100%;height:58px;border:1px solid #1ab65a;background:#effcf0;color:var(--ink);padding:0 16px;border-radius:0;outline-offset:0;font-size:16px}
.quick-form .button{min-width:173px;height:58px;font-size:15px}
.intro-section{background:#fff}
.intro-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:13%;align-items:start}
.intro-copy{padding-top:26px;max-width:520px}
.intro-copy p{color:var(--muted);font-size:16px;line-height:1.85}
.intro-copy .large-copy{color:var(--ink);font-size:22px;font-weight:600;line-height:1.55;margin-bottom:26px}
.intro-copy .text-link{margin-top:18px}
.services-section{background:var(--cream)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:58px}
.section-heading .text-link{flex:none;margin-bottom:8px}
.section-aside{max-width:330px;color:var(--muted);margin:0 0 7px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-card{min-height:320px;padding:27px 31px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:40px;background:transparent;transition:background .2s}
.service-card:hover{background:#eaf8eb}
.card-top{display:flex;justify-content:space-between;align-items:start}
.service-card:not(.service-card-cta) .card-top{justify-content:flex-end}
.card-index{font-size:11px;font-weight:800;letter-spacing:.14em;color:#43825c}
.card-icon{display:flex;align-items:center;justify-content:center;width:39px;height:39px;border:1px solid #a1c9a9;border-radius:50%;font-family:var(--font);font-size:14px;font-weight:800;color:#147c42}
.service-card h3{font-size:26px;margin-bottom:12px}
.service-card p{max-width:330px;color:var(--muted);font-size:14px;line-height:1.7;margin-bottom:27px}
.service-card .text-link{font-size:12px;gap:15px}
.service-card-cta,.service-card-cta:hover{background:var(--ink);color:#fff}
.service-card-cta .card-index,.service-card-cta p{color:#bddac7}
.service-card-cta .card-icon{border-color:#6b9c80;color:var(--green);font-size:21px}
.picture-feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:600px;background:var(--ink);color:#fff}
.feature-image{position:relative;min-height:500px;overflow:hidden}
.feature-image img{width:100%;height:100%;object-fit:cover;object-position:55% center;position:absolute;inset:0}
.feature-copy{padding:100px clamp(45px,7vw,140px);display:flex;flex-direction:column;justify-content:center;align-items:start}
.feature-copy h2{font-size:clamp(42px,4.5vw,74px);margin:22px 0 25px}
.feature-copy p{font-size:16px;line-height:1.8;color:#d8e8df;max-width:500px;margin-bottom:35px}
.fleet-teaser{background:#fff}
.fleet-teaser-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:9%}
.fleet-teaser-grid>div:first-child p{max-width:480px;color:var(--muted);line-height:1.85;margin:30px 0}
.fleet-teaser-image{position:relative;min-height:530px;background:#d1e1da;overflow:hidden}
.fleet-teaser-image img{width:100%;height:530px;object-fit:cover;object-position:50% center}
.image-label{position:absolute;bottom:0;right:0;background:var(--green);padding:17px 22px;display:flex;gap:32px;font-size:11px;font-weight:800;letter-spacing:.13em}
.image-label span{font-size:19px;line-height:.8}
.steps-section{background:#e7f5e8}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aac9af}
.steps-grid>div{padding:30px 40px 0 0}
.steps-grid span{font:800 13px var(--font);color:#137e49}
.steps-grid h3{font-size:25px;margin:48px 0 10px}
.steps-grid p{color:var(--muted);max-width:300px}

/* Inner pages */
.page-hero{min-height:465px;display:flex;align-items:center;background:var(--ink);color:#fff;position:relative;overflow:hidden}
.page-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 0%,#22805288,transparent 35%),linear-gradient(135deg,transparent 50%,#0e4a3a 50%,transparent 78%);opacity:.55}
.page-hero .container{position:relative;padding:80px 0}
.page-hero h1{font-size:clamp(58px,7vw,100px);margin:20px 0 22px;font-weight:800;line-height:1.01;letter-spacing:-.075em}
.page-hero p{max-width:590px;font-size:18px;line-height:1.7;color:#d5e9da;margin:0}
.fleet-hero{background:#103a36}
.about-hero{background:#11352d}
.quote-hero{background:#0b352f}
.contact-hero{background:#123b31}
.small-hero{min-height:330px}
.small-hero h1{font-size:clamp(52px,6vw,80px)}
.light-section{background:#fff}
.editorial{background:#e7f5e8}
.editorial-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;align-items:center}
.editorial-grid img{width:100%;height:490px;object-fit:cover}
.editorial-grid p{color:var(--muted);line-height:1.9;margin:28px 0}
.fleet-list{border-top:1px solid var(--line)}
.fleet-list article{display:grid;grid-template-columns:85px 1fr auto;gap:30px;align-items:center;padding:44px 10px;border-bottom:1px solid var(--line)}
.fleet-num{align-self:start;color:#168b4c;font-size:13px;font-weight:800}
.fleet-list h3{font-size:37px;margin:0 0 8px}
.fleet-list p{margin:0;color:var(--muted)}
.vehicle-section{background:#e7f5e8}
.vehicle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.vehicle-card{background:#fff;min-width:0}
.vehicle-main-image{width:100%;height:340px;object-fit:cover}
.vehicle-content{padding:34px}
.vehicle-content h3{font-size:32px;margin:13px 0 12px}
.vehicle-content p{color:var(--muted);line-height:1.75}
.vehicle-content .vehicle-seats{color:#137e49;font-size:17px;font-weight:800;margin-bottom:10px}
.vehicle-content ul{padding-left:21px;color:var(--muted);line-height:1.8;margin:18px 0 25px}
.vehicle-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:24px 0}
.vehicle-gallery img{width:100%;aspect-ratio:1;object-fit:cover}
.round-arrow{width:54px;height:54px;border:1px solid #99bbaa;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:23px;transition:background .2s}
.round-arrow:hover{background:var(--green)}
.wide-photo{height:400px;overflow:hidden}
.wide-photo img{width:100%;height:100%;object-fit:cover;object-position:center 46%}
.narrow-copy{max-width:850px;margin-inline:auto;text-align:center}
.narrow-copy p{color:var(--muted);font-size:19px;line-height:1.8;margin:30px auto;max-width:710px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:15%}
.contact-grid>div:first-child p{max-width:460px;color:var(--muted);line-height:1.8;margin:30px 0}
.contact-details>div{padding:30px 0;border-bottom:1px solid var(--line)}
.contact-details>div:first-child{padding-top:0}
.contact-details span:first-child{display:block;color:#16824d;font-size:11px;font-weight:800;letter-spacing:.18em;margin-bottom:14px}
.contact-details a,.contact-details strong{display:inline-block;font:800 clamp(21px,2.5vw,35px) var(--font);letter-spacing:-.04em;overflow-wrap:anywhere}
.contact-details a[href^="mailto:"]{font-size:clamp(19px,2vw,29px);letter-spacing:-.055em}
.contact-details a span{display:inline;font-size:25px;color:#148d4b}
.contact-details p{color:var(--muted);margin:8px 0 0}

/* Quote form */
.form-section{background:#fff}
.form-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:10%}
.form-aside h2{font-size:35px;margin:18px 0}
.form-aside>p{color:var(--muted);line-height:1.8}
.contact-tile{border-top:1px solid var(--line);margin-top:48px;padding-top:28px;display:flex;flex-direction:column;gap:9px}
.contact-tile>span{color:#16824d;font-size:11px;font-weight:800;letter-spacing:.16em}
.contact-tile a:first-of-type{font:800 26px var(--font)}
.contact-tile a:last-child{font-size:14px;overflow-wrap:anywhere}
.quote-form{max-width:810px}
.form-group-title{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:16px}
.form-group-title:not(:first-child){margin-top:60px}
.form-group-title span{font-size:11px;color:#16824d;font-weight:800;letter-spacing:.15em}
.form-group-title h2{font-size:29px;margin:11px 0 0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}
.form-grid label{display:block;font-size:13px;font-weight:700}
.form-grid label span{color:#138d48}
.form-grid .full{grid-column:1/-1}
.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;border:1px solid #cbd8ce;background:#f8faf7;color:var(--ink);border-radius:0;padding:13px 15px;min-height:52px;outline-offset:0;margin-top:9px}
.form-grid textarea{resize:vertical;min-height:135px}
.file-field input[type=file]{padding:13px;background:#f8faf7;min-height:60px}
.file-field input::file-selector-button{border:0;background:var(--ink);color:#fff;padding:9px 13px;margin-right:14px;font:700 12px var(--font);cursor:pointer}
.file-field small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:8px}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#119e54;background:#fff}
.radio-field{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:18px}
.radio-field legend{font-size:13px;font-weight:700;margin-bottom:10px}
.radio-field label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;flex-direction:row}
.radio-field input{display:inline-block;width:auto;min-height:0;accent-color:#118844;margin:0}
.return-fields{padding:17px;background:#eaf7ec}
.return-fields[hidden]{display:none}
.consent{display:flex;gap:12px;align-items:start;margin:30px 0;font-size:13px;line-height:1.6;color:var(--muted)}
.consent input{margin-top:4px;accent-color:#138c4a}
.consent a,.policy a{text-decoration:underline;text-underline-offset:3px}
.submit-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.submit-row p{font-size:12px;color:var(--muted);margin:0}
.form-status{margin-top:20px;background:#e5f6e7;border-left:4px solid #1aaf59;padding:16px 18px;font-size:14px;font-weight:600}
.form-status.error{background:#fff1ec;border-color:#bd572f}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.policy{max-width:850px}
.policy h2{font-size:25px;margin:40px 0 12px}
.policy p{color:var(--muted);line-height:1.85}
.policy-note{background:#fff0ce;color:#5e4611!important;border-left:4px solid #d19a26;padding:14px 18px}

/* Footer */
.site-footer{background:#092c27;color:#fff}
.footer-lead{border-bottom:1px solid #477063;padding:88px 0 75px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.footer-lead .eyebrow{flex-basis:100%}
.footer-lead h2{font-size:clamp(38px,5vw,68px);margin:0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:70px;padding:65px 0 90px}
.site-footer .brand{color:#fff}
.site-footer .brand-words em{color:var(--green)}
.footer-grid p{color:#b4cfc0;max-width:300px;margin:25px 0 12px}
.footer-grid small{color:#8ea99a;font-size:12px}
.footer-grid h3{font-size:14px;letter-spacing:.03em;margin:0 0 24px}
.footer-grid>div:not(:first-child) a{display:block;color:#b7d4c4;margin:12px 0;font-size:14px}
.footer-grid a:hover,.footer-bottom a:hover{color:var(--green)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:24px 0;border-top:1px solid #477063;color:#a6bfaf;font-size:12px}

@media(max-width:1100px){.primary-nav{gap:23px}.quick-inner{grid-template-columns:1fr;gap:16px}.quick-form{grid-template-columns:1.2fr 1fr 1fr auto}.picture-feature{grid-template-columns:1fr 1fr}.feature-copy{padding:60px 45px}.fleet-teaser-grid{gap:5%}.form-layout{gap:5%}}
@media(max-width:820px){.container{width:min(100% - 40px,1380px)}.utility-inner{min-height:32px}.utility-inner span{font-size:10px}.utility-inner a{font-size:10px}.header-inner{height:72px}.menu-toggle{display:flex;flex-direction:column;gap:5px;z-index:2}.menu-toggle span{width:25px;height:2px;background:var(--ink)}.primary-nav{display:none;position:absolute;left:0;right:0;top:72px;padding:25px 20px 32px;background:#fff;box-shadow:0 20px 35px #082a2622;flex-direction:column;align-items:stretch;gap:10px}.primary-nav.open{display:flex}.primary-nav>a:not(.button){padding:11px 0;font-size:18px}.nav-quote{margin-top:10px}.hero,.hero-inner{min-height:680px}.hero-picture{background-position:64% center}.hero-shade{background:linear-gradient(90deg,#072b27eb,#072b27aa 50%,#072b2755),linear-gradient(0deg,#072b2799,transparent 50%)}.hero h1{font-size:clamp(62px,10vw,94px)}.quick-form{grid-template-columns:1fr 1fr}.quick-form .button{grid-column:1/-1}.section{padding:80px 0}.intro-layout,.fleet-teaser-grid,.editorial-grid,.form-layout,.contact-grid{grid-template-columns:1fr;gap:45px}.intro-copy{padding-top:0}.service-grid{grid-template-columns:repeat(2,1fr)}.picture-feature{grid-template-columns:1fr}.feature-image{min-height:420px}.feature-copy{padding:65px 40px}.fleet-teaser-image,.fleet-teaser-image img{min-height:430px;height:430px}.footer-grid{gap:35px}.form-layout{gap:60px}.form-aside{max-width:650px}.contact-tile{margin-top:30px}.editorial-grid img{height:390px}}
@media(max-width:580px){.container{width:min(100% - 34px,1380px)}.brand-mark{width:36px;height:36px}.brand-words strong{font-size:15px}.brand-words em{font-size:10px}.utility-inner span{letter-spacing:.01em}.utility-inner a{letter-spacing:0;white-space:nowrap}.hero,.hero-inner{min-height:650px}.hero-content{padding:68px 0 95px}.hero h1{font-size:clamp(54px,15vw,80px)}.hero p{font-size:16px}.hero-actions{gap:24px}.hero-rail{font-size:9px}.quick-inner{padding:30px 0}.quick-form{grid-template-columns:1fr}.quick-quote h2{font-size:24px}.section{padding:68px 0}.display{font-size:clamp(37px,10vw,52px)}.intro-copy .large-copy{font-size:19px}.section-heading{display:block;margin-bottom:38px}.section-heading .text-link{margin-top:25px}.service-grid{grid-template-columns:1fr}.service-card{min-height:260px;padding:22px}.service-card h3{font-size:24px}.feature-image{min-height:300px}.feature-copy{padding:55px 25px}.feature-copy h2{font-size:45px}.fleet-teaser-image,.fleet-teaser-image img{height:320px;min-height:320px}.steps-grid{grid-template-columns:1fr}.steps-grid>div{padding:28px 0;border-bottom:1px solid #aac9af}.steps-grid h3{margin:15px 0 8px}.page-hero{min-height:380px}.page-hero h1{font-size:clamp(50px,12vw,72px)}.page-hero p{font-size:16px}.fleet-list article{grid-template-columns:34px 1fr auto;gap:8px;padding:31px 0}.fleet-list h3{font-size:27px}.fleet-list p{font-size:13px}.round-arrow{width:42px;height:42px}.wide-photo{height:250px}.form-grid{grid-template-columns:1fr;gap:20px}.form-group-title:not(:first-child){margin-top:45px}.radio-field{flex-direction:column;gap:11px}.footer-lead{padding:65px 0 55px}.footer-lead .button{width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:40px 20px;padding:50px 0}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.contact-details a,.contact-details strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:820px){.vehicle-grid{grid-template-columns:1fr}}
@media(max-width:580px){.vehicle-main-image{height:260px}.vehicle-content{padding:25px}.vehicle-content h3{font-size:27px}}
