@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{--ink:#0b343d;--green:#bded70;--muted:#52676c;--line:#dbe4e4;--paper:#f4f7f7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:white;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}h1,h2,h3,.brand{font-family:Manrope,sans-serif}h1,h2,h3,p{margin-top:0}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid #668d2a;outline-offset:6px}.wrap{width:min(1200px,calc(100% - 80px));margin:auto}.skip{position:absolute;top:-100px;background:var(--ink);color:white;padding:12px;z-index:5}.skip:focus{top:0}header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;font-size:25px;font-weight:800;letter-spacing:-1px;text-decoration:none;white-space:nowrap}.brand-mark{display:inline-grid;place-items:center;color:var(--green);background:var(--ink);width:40px;height:40px;border-radius:10px;margin-right:11px;font-size:32px;line-height:1}.brand-stop{color:#55851f}nav{display:flex;gap:32px}nav a{text-decoration:none;font-size:14px;font-weight:600}nav a:hover{text-decoration:underline}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--ink);color:white;border:1px solid var(--ink);padding:15px 25px;border-radius:6px;text-decoration:none;font-weight:600;transition:background .15s}.button:hover{background:#20515c}.button.small{padding:10px 22px;font-size:14px}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:center;padding-top:65px;padding-bottom:90px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;margin-bottom:23px}h1{font-size:clamp(44px,5.3vw,72px);line-height:1.09;letter-spacing:-3px;font-weight:800;margin-bottom:28px}h1 span{position:relative;background:linear-gradient(transparent 61%,var(--green) 61%,var(--green) 93%,transparent 93%)}.lead{font-size:18px;color:var(--muted);max-width:540px;line-height:1.8}.hero-copy .button{margin-top:14px}.hero-note{font-size:13px;color:var(--muted);margin:22px 0 0}.service-panel{background:var(--ink);color:white;border-radius:16px;padding:26px 30px 0;box-shadow:16px 16px 0 #eaf0ee;transform:rotate(1deg)}.panel-top{display:flex;justify-content:space-between;align-items:center;color:var(--green);font-size:11px;letter-spacing:1.5px;font-weight:700;margin-bottom:12px}.panel-symbol{font-size:27px;line-height:1}.panel-item{border-bottom:1px solid #ffffff26;display:flex;gap:17px;align-items:center;padding:19px 0;font-size:18px;font-weight:600}.num{font-size:12px;color:#a8c2c7;font-weight:400}.panel-item small{display:block;font-size:13px;color:#b3c9cd;font-weight:400}.glyph{margin-left:auto;color:var(--green);font-size:25px}.panel-bottom{padding:19px 0;font-size:12px;color:#bfd2d6}.intro-band{background:var(--paper);border-block:1px solid var(--line)}.intro-band .wrap{display:flex;gap:20px;justify-content:space-between;padding-block:25px;font-size:15px}.intro-band span{color:var(--muted)}.section{padding-top:95px;padding-bottom:95px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:48px}.section-heading>p{max-width:335px;color:var(--muted);margin-bottom:5px}h2{font-size:clamp(31px,3.5vw,44px);line-height:1.22;letter-spacing:-1.5px;margin-bottom:20px}.section-heading h2{margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{border:1px solid var(--line);border-radius:10px;padding:30px;display:flex;align-items:start;flex-direction:column}.service-number{font-size:11px;letter-spacing:1.3px;font-weight:700;color:#527279;margin-bottom:27px}.service h3{font-size:22px;letter-spacing:-.7px;margin-bottom:12px}.service p{color:var(--muted);font-size:15px;line-height:1.75}.service ul{padding-left:17px;font-size:14px;color:var(--muted);margin:0 0 27px}.service li{padding-bottom:6px}.service li::marker{color:#5f8a35}.service>a{margin-top:auto;font-size:14px;font-weight:700}.service-callout{background:var(--green);border-color:var(--green)}.service-callout h3{font-size:32px;line-height:1.25}.service-callout p,.service-callout .service-number{color:var(--ink)}.service-callout .button{padding:12px 18px}.approach{background:var(--ink);color:white}.approach .eyebrow{color:var(--green)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:52px}.steps article{border-top:1px solid #ffffff35;padding-top:25px}.steps span{font-size:14px;color:var(--green)}.steps h3{font-size:20px;margin:18px 0 12px;letter-spacing:-.5px}.steps p{font-size:15px;color:#bfd0d3;margin:0}.coverage{display:grid;grid-template-columns:1.25fr 1fr;gap:90px;align-items:center}.coverage>div>p:last-child{font-size:14px;color:var(--muted);max-width:500px}.coverage-box{border:1px solid var(--line);border-radius:10px;padding:33px;background:var(--paper)}.coverage-box h3{font-size:21px;margin-bottom:12px}.coverage-box p{font-size:15px;color:var(--muted)}.coverage-box div{border-top:1px solid var(--line);padding:15px 0;display:flex;flex-wrap:wrap;gap:5px 15px;justify-content:space-between;font-size:14px}.coverage-box div:last-child{padding-bottom:0}.coverage-box span{color:var(--muted)}.contact{text-align:center;background:var(--green);padding:77px 0}.contact h2{margin-bottom:18px}.contact .eyebrow{margin-bottom:17px}.contact p{margin-bottom:20px}.email{font-family:Manrope,sans-serif;font-size:clamp(21px,3.5vw,42px);font-weight:700;letter-spacing:-1px;overflow-wrap:anywhere}.contact .contact-note{font-size:13px;margin:25px 0 0;line-height:1.8}footer{display:flex;gap:24px;align-items:center;justify-content:space-between;padding-block:33px}footer span{font-size:12px;color:var(--muted)}footer .brand{font-size:21px}@media(min-width:1500px){.hero{padding-top:90px;padding-bottom:110px}}@media(max-width:1000px){.hero{gap:38px}.services{grid-template-columns:repeat(2,1fr)}.coverage{gap:40px}.wrap{width:calc(100% - 48px)}nav{gap:20px}h1{letter-spacing:-2px}.service-panel{padding-inline:23px}}@media(max-width:720px){.wrap{width:calc(100% - 40px)}header{min-height:88px;gap:10px}.brand{font-size:21px}.brand-mark{width:33px;height:33px;font-size:28px}nav{display:none}.button.small{padding:9px 14px}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:60px;gap:42px}h1{font-size:48px;letter-spacing:-2px}.eyebrow{font-size:11px;letter-spacing:1.2px}.lead{font-size:17px}.service-panel{transform:none;box-shadow:8px 8px 0 #eaf0ee}.intro-band .wrap{display:block}.intro-band span{display:block;margin-top:6px}.section{padding-block:60px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px}.services{grid-template-columns:1fr;gap:16px}.service{padding:27px}.steps{grid-template-columns:1fr;gap:30px;margin-top:35px}.steps h3{margin-top:12px}.coverage{grid-template-columns:1fr;gap:25px}.contact{padding:55px 0}.contact h2{font-size:32px}.email{letter-spacing:-.5px}footer{flex-direction:column;gap:10px;align-items:start}h2{letter-spacing:-1px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Motion and interaction */
.service-panel{position:relative;overflow:hidden;animation:panel-float 6s ease-in-out infinite}
.service-panel::before{content:"";position:absolute;width:190px;height:190px;right:-105px;top:-95px;border:1px solid #ffffff2b;border-radius:50%;box-shadow:0 0 0 25px #ffffff0d,0 0 0 50px #ffffff08;pointer-events:none}
.panel-item{position:relative;transition:padding-left .3s ease,background .3s ease}
.panel-item:hover{padding-left:9px;background:#ffffff0a}
.glyph{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#ffffff0d;transition:transform .3s ease,background .3s ease;animation:glyph-slide 4.5s ease-in-out infinite}
.panel-item:hover .glyph{transform:translateX(-5px) rotate(-8deg);background:#bded7021}
.panel-item:nth-of-type(3) .glyph{animation-delay:.45s}.panel-item:nth-of-type(4) .glyph{animation-delay:.9s}.panel-item:nth-of-type(5) .glyph{animation-delay:1.35s}.panel-item:nth-of-type(6) .glyph{animation-delay:1.8s}
.service{position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.service::after{content:"";position:absolute;top:0;left:30px;right:30px;height:3px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.service:hover{transform:translateY(-8px);box-shadow:0 17px 35px #0b343d16;border-color:#b7c9c9}
.service:hover::after{transform:scaleX(1)}
.service>a::after{content:" →";transition:margin .25s ease}.service>a:hover::after{margin-left:5px}
.service-callout{box-shadow:7px 7px 0 #d3edaa}.service-callout::after{background:var(--ink)}.service-callout:hover{box-shadow:11px 14px 0 #d3edaa}
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .7s ease var(--reveal-delay,0ms),transform .7s cubic-bezier(.2,.75,.2,1) var(--reveal-delay,0ms)}
.js [data-reveal].is-visible{opacity:1;transform:none}
.js .service[data-reveal].is-visible:hover{transform:translateY(-8px)}
@keyframes panel-float{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-9px) rotate(.3deg)}}
@keyframes glyph-slide{0%,100%{transform:translateX(0)}45%{transform:translateX(-5px)}70%{transform:translateX(1px)}}
@media(max-width:720px){.service-panel{animation:none}.service::after{left:25px;right:25px}.service:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.service-panel,.glyph{animation:none!important}.js [data-reveal]{opacity:1;transform:none}}
