@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#F2F5F3;--ink:#16343D;--primary:#075A82;--blue:#078DBD;--cyan:#20C4D8;--seafoam:#83DCE4;--neutral:#68787B;--line:#68787B40}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--blue);outline-offset:6px}a:hover{opacity:.78}p{font-size:15px;line-height:1.8}header{max-width:1440px;margin:auto;padding:29px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brandmark{width:48px;height:48px;object-fit:contain;flex-shrink:0}.brand strong{font-size:25px;letter-spacing:-1.2px;font-weight:600;display:block}.brand small{display:block;font-size:8px;letter-spacing:2.1px;margin-top:5px}nav{display:flex;gap:32px;align-items:center;font-size:12px}.nav-cta{padding:13px 20px;border:1px solid var(--ink);border-radius:4px}.hero{max-width:1440px;margin:auto;padding:55px 5% 62px;display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 24px}.hero .eyebrow:before{content:'';display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:50%;margin-right:10px}h1{font-family:Manrope,sans-serif;font-size:clamp(48px,5.4vw,80px);line-height:1.09;letter-spacing:-4.5px;font-weight:500;margin:0 0 26px}h1 em{font-family:Georgia,serif;color:var(--primary);font-weight:400}.intro{max-width:390px;color:var(--neutral)}.button{display:inline-block;background:var(--primary);color:var(--paper);padding:18px 25px;border-radius:4px;font-size:12px;margin-top:15px}.hero-note{font-size:10px;margin-top:25px;letter-spacing:.4px;color:var(--neutral)}.hero-image{height:555px;margin:0;position:relative;border-radius:160px 4px 4px 4px;overflow:hidden;background:var(--blue)}.hero-image img{height:100%;width:100%;object-fit:cover;filter:brightness(.78)}.photo-caption{position:absolute;bottom:24px;left:28px;right:25px;display:flex;align-items:center;gap:18px;color:#fff;font-size:9px;letter-spacing:2px}.sun{font-size:49px;line-height:1}.section{max-width:1440px;margin:auto;padding:78px 5%}.services{border-top:1px solid var(--line)}.section-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:15%;align-items:end;margin-bottom:38px}.section-intro>p{max-width:400px;color:var(--neutral);margin:0 0 6px}h2{white-space:pre-line;font-family:Manrope,sans-serif;font-size:clamp(32px,3.3vw,47px);font-weight:500;line-height:1.22;letter-spacing:-2px;margin:0}.section-intro .eyebrow{margin-bottom:15px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:27px 24px 30px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);position:relative;min-height:258px;transition:background .2s}.service-card:hover{background:#83DCE426}.service-number{font-size:11px;color:var(--primary)}h3{font-weight:500;font-size:20px;letter-spacing:-.5px}.service-card h3{margin:35px 0 12px}.service-card p{font-size:12px;line-height:1.8;color:var(--ink);margin:0}.card-arrow{position:absolute;right:24px;top:22px;font-size:20px}.service-art{display:grid;place-items:center;background:var(--cyan);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-art .brandmark{width:130px;height:130px}.edible{background:var(--primary);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;min-height:520px}.edible-photo{position:relative;min-height:450px}.edible-photo img{width:100%;height:100%;position:absolute;object-fit:cover;filter:brightness(.85)}.edible-photo p{position:absolute;bottom:15px;left:10%;font-size:9px;letter-spacing:2px;color:#fff}.edible-copy{padding:75px 13% 70px 12%;align-self:center}.edible-copy .eyebrow{color:var(--seafoam)}.edible-copy p:not(.eyebrow){color:var(--paper);margin-top:24px;font-size:14px}.text-link{display:inline-block;font-size:12px;margin-top:20px;padding-bottom:10px;border-bottom:1px solid var(--seafoam)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:55px}.steps article{border-top:1px solid var(--line);padding-top:25px}.steps .eyebrow{font-size:9px;color:var(--primary)}.steps h3{margin:24px 0 10px}.steps p:last-child{font-size:13px;color:var(--ink);max-width:310px}.contact{background:var(--seafoam);margin:20px 5% 60px;padding:60px 6%;display:grid;grid-template-columns:1.2fr 1fr;gap:16%;border-radius:5px}.contact h2{font-size:clamp(38px,4.7vw,64px);letter-spacing:-3px}.contact p:not(.eyebrow){font-size:13px;max-width:370px}.contact-detail{align-self:center;border-left:1px solid #075A8250;padding-left:45px}.contact-detail .sun{font-size:60px}.contact-detail h3{font-size:24px}footer{border-top:1px solid var(--line);padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px}footer strong{font-size:22px;letter-spacing:-1px;font-weight:500}footer p{font-size:11px;margin:6px 0}footer>span{color:var(--neutral)}.skip{position:fixed;left:12px;top:-100px;z-index:10;background:var(--ink);color:white;padding:12px}.skip:focus{top:12px}@media(min-width:1500px){.edible{max-width:1440px;margin:auto}.contact{max-width:1296px;margin:20px auto 60px}}@media(max-width:1000px){header{padding:24px 5%}nav{gap:20px}nav .nav-cta{display:none}.hero{gap:5%}h1{letter-spacing:-3px}.hero-image{height:480px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:225px}.section-intro{gap:8%}.edible-copy{padding:55px 10%}.contact{gap:8%}}@media(max-width:640px){header{padding:20px 6%}.brand strong{font-size:21px}.brand small{font-size:6px;letter-spacing:1.6px}.brandmark{width:38px;height:38px}nav{gap:15px;font-size:10px}nav a:nth-child(2){display:none}.hero{padding:38px 6% 40px;grid-template-columns:1fr;gap:28px}h1{font-size:56px;letter-spacing:-3px}.hero .eyebrow{font-size:8px}.hero-image{height:390px;border-top-left-radius:110px}.hero-note{margin-bottom:0}.intro{font-size:14px}.section{padding:48px 6%}.section-intro{grid-template-columns:1fr;gap:20px;margin-bottom:28px}h2{font-size:34px;letter-spacing:-1.6px}.section-intro>p{font-size:13px}.service-card{padding:20px 16px;min-height:255px}.service-card h3{font-size:18px;margin-top:30px}.service-card p{font-size:11px}.card-arrow{right:16px;top:17px}.edible{grid-template-columns:1fr}.edible-photo{min-height:340px}.edible-copy{padding:45px 6% 52px}.steps{grid-template-columns:1fr;gap:23px;margin-top:30px}.steps .eyebrow{margin-bottom:12px}.steps h3{margin-top:0}.steps p:last-child{max-width:none}.contact{margin:0 6% 40px;grid-template-columns:1fr;padding:35px 7%;gap:30px}.contact h2{font-size:44px}.contact-detail{border-left:0;border-top:1px solid #075A8250;padding:25px 0 0}.contact-detail .sun{float:right;font-size:45px}.contact-detail h3{font-size:21px}footer{flex-wrap:wrap;padding:28px 6%}footer>div{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Full-bleed interactive hero landscape. */
.hero-image .grass-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.hero-image.grass-ready .grass-canvas{opacity:1}.hero-image>img{filter:none}.photo-caption{pointer-events:none}.grass-toggle{position:absolute;z-index:2;top:20px;right:20px;border:1px solid #ffffff70;border-radius:30px;padding:9px 13px;background:#075A82E6;color:#fff;font:10px 'DM Sans',sans-serif;cursor:pointer}.grass-toggle[hidden]{display:none}.grass-toggle[aria-pressed="true"]{background:var(--paper);color:var(--ink)}.grass-toggle:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}

header{position:absolute;inset:0 0 auto;z-index:3;max-width:none;color:var(--paper);border-bottom:1px solid #ffffff30}
header .nav-cta{border-color:#83DCE480;background:#075A8266}
.hero{position:relative;isolation:isolate;max-width:none;min-height:100vh;min-height:100svh;padding:155px 7% 110px;display:flex;align-items:center;overflow:hidden;background:var(--blue);color:var(--paper)}
.hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;border-radius:0;background:var(--blue)}
.hero-image>img{position:absolute;inset:0;object-fit:fill}
.hero:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(22,52,61,.78),rgba(22,52,61,.44) 44%,rgba(22,52,61,.03) 78%)}
.hero-copy{max-width:720px;pointer-events:none}
.hero-copy a{pointer-events:auto}
.hero h1{font-size:clamp(52px,6.2vw,88px);color:var(--paper);text-shadow:0 2px 24px #16343D30}
.hero h1 em{color:var(--seafoam)}
.hero .eyebrow:before{background:var(--seafoam)}
.hero .intro{color:var(--paper);max-width:410px;font-size:16px}
.hero .button{background:var(--cyan);color:var(--ink);border:1px solid var(--cyan);font-weight:700;box-shadow:0 4px 20px #16343D26}
.hero .button:hover{opacity:1;background:var(--paper)}
.hero .hero-note{color:var(--paper)}
.photo-caption{bottom:28px;left:auto;right:5%;color:var(--paper)}
.grass-toggle{top:auto;bottom:34px;left:7%;right:auto;background:#075A82E6}
@media(max-width:640px){
.hero{padding:135px 6% 120px;min-height:100svh}
.hero h1{font-size:clamp(43px,11vw,60px);letter-spacing:-2.5px}
.hero .intro{font-size:14px;max-width:340px}
.hero:after{background:linear-gradient(90deg,#16343Dc9,#16343D55)}
.grass-toggle{left:6%;bottom:27px}
.photo-caption{right:6%;bottom:30px;max-width:125px;font-size:7px;line-height:1.6;gap:8px;letter-spacing:1px}
.photo-caption .sun{font-size:30px}
}

/* Brand accents keep the truck palette consistent throughout the page. */
h2,h3,footer strong{color:var(--primary)}
.edible h2{color:var(--paper)}
.service-art{color:var(--primary)}
.card-arrow,.contact-detail .sun{color:var(--primary)}
header .brandmark{color:var(--seafoam)}
header .nav-cta:hover{opacity:1;background:var(--primary);border-color:var(--seafoam)}
::selection{background:var(--seafoam);color:var(--ink)}

/* Soft, hand-shaped accents echo the coastal wave mark. */
.hero h1{font-family:Georgia,'Times New Roman',serif;letter-spacing:-3px;font-weight:400;font-size:clamp(48px,6vw,84px)}
.hero h1 em{position:relative;display:inline-block}
.hero h1 em:after{content:'';display:block;height:5px;background:var(--seafoam);border-radius:70% 25% 65% 30%;transform:rotate(-2deg);margin-top:8px;opacity:.8}
.button{border-radius:5px 12px 6px 10px}
.edible-photo{overflow:hidden;border-radius:0 70px 0 0}
.steps h3{font-family:Georgia,'Times New Roman',serif;font-size:27px;letter-spacing:-.7px}
.steps article{border-top:2px solid var(--seafoam)}
.contact{border-radius:35px 8px 45px 8px}
@media(max-width:640px){.hero h1{font-size:clamp(39px,10.6vw,60px);letter-spacing:-2px}.edible-photo{border-top-right-radius:45px}.brand small{letter-spacing:1.2px}}

/* A quiet, continuous tide above the solid, readable footer. */
footer{position:relative;isolation:isolate;border-top:0;background:var(--primary);color:var(--paper);margin-top:100px;padding-top:36px;padding-bottom:36px}
footer strong,footer>span{color:var(--paper)}
footer a:focus-visible{outline-color:var(--seafoam)}
footer>.footer-waves{position:absolute;left:0;right:0;bottom:calc(100% - 1px);height:100px;width:100%;overflow:hidden;pointer-events:none;z-index:-1}
.footer-wave{position:absolute;left:0;bottom:0;width:200%;height:100%;animation:footer-tide 32s linear infinite;will-change:transform}
.footer-wave--back{fill:var(--seafoam);animation-duration:42s;animation-delay:-14s}
.footer-wave--middle{fill:var(--blue);height:82%;animation-duration:35s;animation-delay:-23s}
.footer-wave--front{fill:var(--primary);height:64%;animation-duration:28s;animation-delay:-7s}
@keyframes footer-tide{from{transform:translateX(-50%)}to{transform:translateX(0)}}
html[data-landscape-paused="true"] .footer-wave{animation-play-state:paused}
@media(max-width:640px){footer{margin-top:70px}footer>.footer-waves{height:70px}}
@media(prefers-reduced-motion:reduce){.footer-wave{animation:none;will-change:auto}}
