:root{--ink:#173830;--ink-soft:#46625b;--green:#216b5d;--green-dark:#144d43;--sage:#dbe9db;--cream:#f7f8f4;--white:#fff;--line:#dce7df;--orange:#d59a56;--shadow:0 24px 65px rgba(29,67,55,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,a{ -webkit-tap-highlight-color:transparent }
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
section{scroll-margin-top:90px}
.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.skip-link{position:absolute;left:12px;top:-80px;z-index:100;padding:10px 16px;background:var(--green-dark);color:#fff;border-radius:8px}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.site-header{position:relative;z-index:20;background:rgba(247,248,244,.96);border-bottom:1px solid rgba(40,89,72,.08)}
.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--green);color:#fff;flex:0 0 auto}
.brand-mark svg{width:27px;height:27px}
.brand-name{font:700 21px/1 "Plus Jakarta Sans",Arial,sans-serif;letter-spacing:-.055em;color:var(--ink)}
.brand-name strong{color:var(--green)}
.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto;margin-right:32px}
.desktop-nav a{font-size:14px;font-weight:700;color:#486359;transition:color .2s}
.desktop-nav a:hover{color:var(--green)}
.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:17px;padding:12px 18px;border:1.5px solid #2b7666;border-radius:11px;color:var(--green-dark);font-size:14px;font-weight:700;white-space:nowrap;transition:background .2s,color .2s,transform .2s}
.header-cta:hover{background:var(--green);color:#fff;transform:translateY(-2px)}
.header-cta span,.text-link span,.inline-cta a span,.button>span{font-size:20px;font-weight:400;line-height:1}
.hero{overflow:hidden;position:relative;background:radial-gradient(55% 85% at 83% 18%,#e5f1e6 0%,rgba(229,241,230,0) 75%),linear-gradient(180deg,#f8faf5 0%,#f2f6ed 100%)}
.hero:before{content:"";position:absolute;left:-150px;bottom:-195px;width:380px;height:380px;border:1px solid rgba(49,106,87,.09);border-radius:50%;box-shadow:0 0 0 68px rgba(49,106,87,.025),0 0 0 135px rgba(49,106,87,.018)}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:45px;min-height:680px;padding-top:48px;padding-bottom:65px}
.hero-content{position:relative;z-index:2;max-width:670px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.16em;color:#427365;margin-bottom:21px}
.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:#69a889;box-shadow:0 0 0 4px #dcefe2}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:"Plus Jakarta Sans",Arial,sans-serif}
h1{font-size:clamp(42px,4.35vw,64px);font-weight:800;letter-spacing:-.065em;line-height:1.12;max-width:750px;margin-bottom:26px}
.gradient-text{display:inline;background:linear-gradient(110deg,#237a69 10%,#81ac7d 37%,#266d65 62%,#237a69 88%);background-size:230% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradient-shift 7s ease-in-out infinite alternate}
@keyframes gradient-shift{from{background-position:0% 50%}to{background-position:100% 50%}}
.hero-copy{font-size:18px;line-height:1.65;color:var(--ink-soft);max-width:555px;margin-bottom:30px}
.hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;border-radius:12px;min-height:59px;padding:14px 22px;font-family:"DM Sans",Arial,sans-serif;font-size:16px;font-weight:800;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{transform:translateY(-3px)}
.button svg{width:22px;height:22px;flex:0 0 auto}
.button-primary{background:var(--green);color:#fff;box-shadow:0 13px 26px rgba(33,107,93,.19)}
.button-primary:hover{background:var(--green-dark);box-shadow:0 16px 30px rgba(33,107,93,.24)}
.button-primary>span{margin-left:3px}
.action-note{font-size:13px;color:#657b72;max-width:170px;line-height:1.4}
.hero-assurances{display:flex;gap:24px;flex-wrap:wrap;margin-top:40px;padding-top:23px;border-top:1px solid #dce7dd;max-width:540px}
.hero-assurances span{display:inline-flex;align-items:center;gap:9px;color:#42675b;font-size:13px;font-weight:700}
.hero-assurances svg{width:20px;height:20px;color:var(--green)}
.hero-visual{position:relative;min-width:0;padding:7px 0 26px 0}
.hero-visual:before{content:"";position:absolute;z-index:0;right:-32px;top:8px;width:90%;height:92%;border:1px solid rgba(28,99,80,.2);border-radius:43% 43% 27% 27%/40% 40% 18% 18%;transform:rotate(7deg)}
.image-wrap{position:relative;z-index:1;height:540px;overflow:hidden;border-radius:45% 45% 28% 28%/43% 43% 19% 19%;box-shadow:var(--shadow);background:#d8e3d6}
.image-wrap img{width:100%;height:100%;object-fit:cover;object-position:66% 50%}
.image-card{position:absolute;z-index:2;left:-55px;bottom:60px;display:flex;align-items:center;gap:12px;padding:15px 19px;background:#fff;border:1px solid #e5eee5;border-radius:14px;box-shadow:0 15px 40px rgba(26,66,54,.15);font-size:12px;line-height:1.45;color:#4a665b}
.image-card strong{font-size:13px;color:var(--ink)}
.image-card-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#e8f2e8;color:var(--green);font-size:18px}
.image-caption{position:absolute;right:14px;bottom:0;font-size:10px;color:#82978c}
.signal-strip{background:#e6eee4;border-block:1px solid #d8e5d9}
.signal-inner{display:flex;align-items:center;gap:28px;min-height:86px;font-size:15px}
.signal-inner strong{font-family:"Plus Jakarta Sans",Arial,sans-serif;font-size:17px;letter-spacing:-.035em}
.signal-inner span{color:#526d61}
.signal-inner a{margin-left:auto;color:var(--green);font-weight:800;white-space:nowrap}
.signal-inner a span{margin-left:8px;color:inherit}
.section{padding:100px 0}
.section-label{display:inline-block;margin-bottom:17px;font-size:11px;letter-spacing:.17em;font-weight:800;color:#3f8d73}
h2{font-size:clamp(32px,3.2vw,47px);letter-spacing:-.055em;line-height:1.17;font-weight:800;margin-bottom:0}
.section-heading{margin-bottom:45px}
.two-column-heading{display:grid;grid-template-columns:1fr .79fr;gap:80px;align-items:end}
.section-heading p{font-size:17px;color:var(--ink-soft);line-height:1.72;max-width:490px;margin:0}
.needs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.need-card{position:relative;min-height:280px;padding:30px 29px;background:#fff;border:1px solid #e4ece4;border-radius:18px;box-shadow:0 10px 29px rgba(31,75,59,.04);transition:transform .2s,box-shadow .2s}
.need-card:hover{transform:translateY(-5px);box-shadow:0 17px 35px rgba(31,75,59,.09)}
.card-number{position:absolute;top:24px;right:29px;color:#afc9b5;font-size:12px;font-weight:700}
.card-icon{display:grid;place-items:center;width:53px;height:53px;margin-bottom:26px;border-radius:15px;background:#e8f3e9;color:#387a66}
.card-icon svg{width:29px;height:29px}
h3{font-size:20px;line-height:1.3;letter-spacing:-.045em;margin-bottom:10px}
.need-card p{font-size:15px;line-height:1.65;color:#65786e;margin-bottom:0}
.inline-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:21px;padding:20px 25px;border:1px solid #dbe8dd;border-radius:13px;background:#edf4ed}
.inline-cta>span{font-size:14px;color:#456258;font-weight:600}
.inline-cta a{display:inline-flex;align-items:center;gap:7px;color:var(--green-dark);font-size:14px;font-weight:800;white-space:nowrap}
.section-situation{background:#e8f1e8}
.situation-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}
.situation-quote h2{max-width:640px}
.situation-quote>p{max-width:530px;margin:22px 0 27px;color:var(--ink-soft);font-size:17px;line-height:1.7}
.text-link{display:inline-flex;align-items:center;gap:10px;padding-bottom:5px;border-bottom:1.5px solid var(--green);font-size:15px;font-weight:800;color:var(--green-dark)}
.text-link:hover{color:#13816c}
.situation-list{padding:24px 0 24px 36px;border-left:1px solid #bdd7c2}
.list-heading{font-size:15px;font-weight:800;margin-bottom:17px;color:var(--ink)}
.situation-list>div{display:flex;align-items:start;gap:15px;padding:18px 0;border-bottom:1px solid #cfe1d2}
.situation-list>div:last-child{border-bottom:0}
.situation-list p{margin:0;font-size:16px;color:#375d4e;line-height:1.5}
.check{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;border-radius:50%;background:#c7e3ce;color:var(--green-dark);font-weight:900;font-size:13px}
.section-steps{background:#fff}
.centered{text-align:center}
.centered p{margin:18px auto 0}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:58px}
.step{position:relative;padding-top:20px;border-top:1px solid #c9dfcf}
.step:before{content:"";position:absolute;top:-4px;left:0;width:8px;height:8px;border-radius:50%;background:#67a985}
.step-number{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:23px;border-radius:50%;background:#e9f4ec;color:var(--green-dark);font-family:"Plus Jakarta Sans",Arial,sans-serif;font-weight:800}
.step h3{max-width:230px}
.step p{font-size:15px;color:#61766b;line-height:1.68;max-width:320px;margin-bottom:0}
.steps-action{display:flex;justify-content:center;margin-top:47px}
.section-faq{background:#f4f7f1}
.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}
.faq-intro h2{max-width:440px}
.faq-intro p{max-width:385px;color:var(--ink-soft);font-size:16px;line-height:1.7;margin:19px 0 25px}
.faq-list{border-top:1px solid #cfded1}
.faq-list details{border-bottom:1px solid #cfded1;padding:0}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none;padding:22px 0;color:var(--ink);font-size:16px;font-weight:800;line-height:1.4}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border:1px solid #b9d3c1;border-radius:50%;font-size:19px;font-weight:400;color:var(--green);transition:transform .2s}
.faq-list details[open] summary:after{content:"−";transform:rotate(180deg)}
.faq-list details p{font-size:15px;line-height:1.7;color:var(--ink-soft);padding-right:40px;margin:-3px 0 22px}
.final-cta{background:#205f53;color:#fff;overflow:hidden;position:relative}
.final-cta:before{content:"";position:absolute;right:-110px;top:-125px;width:530px;height:530px;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 77px rgba(255,255,255,.035),0 0 0 160px rgba(255,255,255,.025)}
.final-cta-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:60px;padding-top:72px;padding-bottom:76px}
.final-cta .section-label{color:#c5e2cc}
.final-cta h2{max-width:710px}
.final-cta p{margin:18px 0 0;color:#d9ede2;font-size:17px}
.button-light{background:#fff;color:var(--green-dark);box-shadow:0 13px 30px rgba(0,0,0,.1)}
.button-light:hover{background:#eaf4eb}
.site-footer{background:#f7f8f4;border-top:1px solid #dfe8df}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:135px}
.footer-inner p{margin:0;color:#5b7468;font-size:13px;line-height:1.6}
.footer-inner>a:last-child{font-size:14px;font-weight:800;color:var(--green-dark)}
.mobile-bar{display:none}
@media(max-width:1100px){.desktop-nav{gap:17px;margin-right:8px}.hero-grid{gap:24px}.image-wrap{height:500px}.image-card{left:-25px}.situation-grid,.faq-grid{gap:55px}}
@media(max-width:900px){.desktop-nav{display:none}.hero-grid{grid-template-columns:1fr;gap:28px;padding-top:64px;padding-bottom:54px}.hero-content{max-width:720px}.hero-visual{max-width:650px;width:100%;justify-self:center}.image-wrap{height:440px;border-radius:26px}.hero-visual:before{border-radius:32px}.image-card{left:22px;bottom:50px}.two-column-heading,.situation-grid,.faq-grid{gap:30px}.signal-inner{flex-wrap:wrap;padding-block:20px;gap:10px 22px}.signal-inner a{margin-left:0}.needs-grid{gap:12px}.need-card{padding:25px 21px}.final-cta-inner{gap:25px}}
@media(max-width:700px){.container{width:min(100% - 36px,540px)}.header-inner{height:73px}.brand-name{font-size:19px}.brand-mark{width:38px;height:38px}.header-cta{display:none}.hero-grid{padding-top:41px;padding-bottom:42px}.eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:17px}h1{font-size:clamp(39px,9vw,54px);line-height:1.13;margin-bottom:20px}.hero-copy{font-size:16px;line-height:1.65;margin-bottom:24px}.hero-actions{align-items:flex-start;gap:13px}.hero-actions .button{width:100%}.action-note{max-width:none}.hero-assurances{margin-top:24px;padding-top:19px;gap:12px 18px}.hero-assurances span{font-size:12px}.hero-visual{margin-top:4px;padding-bottom:17px}.image-wrap{height:340px}.image-card{left:12px;bottom:37px;padding:11px 13px}.signal-inner{display:block;min-height:0;padding-block:23px}.signal-inner strong,.signal-inner span,.signal-inner a{display:block}.signal-inner strong{font-size:16px}.signal-inner span{font-size:14px;margin-top:4px}.signal-inner a{font-size:13px;margin-top:10px}.section{padding:67px 0}.section-heading{margin-bottom:30px}.two-column-heading,.situation-grid,.faq-grid{grid-template-columns:1fr;gap:18px}.section-heading p{font-size:15px}h2{font-size:clamp(31px,7.7vw,42px)}.needs-grid{grid-template-columns:1fr;gap:12px}.need-card{min-height:0;padding:23px}.card-icon{margin-bottom:17px;width:46px;height:46px}.card-icon svg{width:26px;height:26px}.need-card p{max-width:440px}.inline-cta{display:block;padding:21px}.inline-cta a{margin-top:11px;white-space:normal}.situation-quote>p{font-size:15px}.situation-list{padding:9px 0 0;border-left:0}.situation-list>div{padding:14px 0}.steps-grid{grid-template-columns:1fr;gap:27px;margin-top:41px}.step{padding-top:17px}.step-number{width:37px;height:37px;margin-bottom:12px}.step h3{max-width:none}.step p{max-width:440px}.steps-action{margin-top:34px}.steps-action .button{width:100%}.faq-grid{gap:33px}.faq-list summary{font-size:15px;padding:20px 0}.final-cta-inner{display:block;padding-block:60px 66px}.final-cta p{font-size:15px}.final-cta .button{width:100%;margin-top:28px}.footer-inner{display:grid;grid-template-columns:1fr;align-items:start;gap:17px;padding-top:35px;padding-bottom:110px}.footer-inner p{order:2}.footer-inner>a:last-child{order:1}.mobile-bar{position:fixed;z-index:30;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:12px 18px;background:var(--green);color:#fff;border:2px solid #e9f3e8;border-radius:14px;box-shadow:0 12px 32px rgba(10,53,42,.28);font-size:15px;font-weight:800}.mobile-bar svg{width:21px;height:21px}.mobile-bar span{margin-left:auto;font-size:20px;font-weight:400}}
@media(max-width:420px){.container{width:calc(100% - 30px)}.brand-name{font-size:17px}.hero-copy{font-size:15px}.button{font-size:14px;padding:12px 15px;gap:8px;min-height:55px}.image-wrap{height:290px}.image-card{font-size:11px;bottom:30px}.image-card strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gradient-text{animation:none}.button,.need-card,.header-cta{transition:none}}
