:root{--ink:#163231;--deep:#102b2a;--green:#b9d8bd;--mist:#eef2ed;--paper:#f7f8f5;--muted:#657673;--line:#dce3dc;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif;--display:Manrope,'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 7.2%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:5}.brand{display:inline-flex;align-items:center;gap:11px;font:800 19px var(--display);letter-spacing:-1px}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 50% 4px;background:var(--ink);color:var(--green);font-size:15px;letter-spacing:0}.brand-light{font-weight:500;color:#758480}.main-nav{display:flex;align-items:center;gap:38px;font-size:13px;font-weight:600}.main-nav>a:not(.nav-contact):hover,.text-link:hover{color:#55826c}.nav-contact{padding:11px 17px;border:1px solid #cbd5ce;border-radius:2px}.nav-contact span{margin-left:12px}.menu-toggle{display:none}.hero{min-height:600px;background:var(--mist);padding:78px 7.2% 0;position:relative;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;overflow:hidden}.hero-copy{padding:0 0 67px;position:relative;z-index:2}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:1.7px;font-weight:700;color:#698078;margin:0 0 20px}.status-dot{width:7px;height:7px;background:#82a987;border-radius:50%;display:inline-block;margin-right:8px;vertical-align:1px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);letter-spacing:-3.5px;line-height:1.04;font-weight:600}h1{font-size:clamp(56px,7vw,91px);margin-bottom:25px}h1 em,h2 em{font-family:var(--serif);font-weight:400;color:#6f947d} .hero-intro{max-width:435px;color:#536662;font-size:16px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:14px 19px;font-size:12px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--ink);color:white}.button-primary:hover{background:#254a43}.text-link{font-size:12px;font-weight:700}.text-link span{margin-left:8px}.hero-note{display:flex;gap:13px;align-items:center;margin-top:54px;color:#64746f;font-size:10px;line-height:1.6}.note-line{height:1px;width:30px;background:#8ca996}.hero-art{height:430px;position:relative;overflow:hidden;background:linear-gradient(154deg,#dce8dd 2%,#bdcfc6 51%,#73938b 100%);align-self:end}.art-sun{position:absolute;width:174px;height:174px;left:47%;top:24%;background:#e8efdc;border-radius:50%;opacity:.8;filter:blur(1px)}.aurora{position:absolute;width:130%;height:180px;left:-18%;border-radius:50%;filter:blur(22px);transform:rotate(-17deg)}.aurora-one{background:linear-gradient(90deg,transparent,#89b9a0 24%,#b9d0b0 50%,#6f9c8e 72%,transparent);top:17%;opacity:.75}.aurora-two{background:linear-gradient(90deg,transparent,#d2ddb9 35%,#82ad9a 66%,transparent);top:37%;height:110px;opacity:.56;transform:rotate(-25deg)}.mountain{position:absolute;bottom:0;width:0;height:0;border-style:solid}.mountain-back{left:-10%;border-width:0 0 177px 410px;border-color:transparent transparent #68837d transparent;filter:drop-shadow(85px 25px 0 #77918a)}.mountain-front{right:-8%;border-width:0 0 235px 470px;border-color:transparent transparent #405e58 transparent;filter:drop-shadow(-180px 46px 0 #55746d)}.art-label{position:absolute;bottom:33px;left:33px;z-index:1;display:flex;gap:10px;align-items:center;color:#eef2e8;font-size:9px;line-height:1.5;letter-spacing:1.3px}.label-line{height:1px;width:27px;background:#d5e1d2}.art-coordinate{position:absolute;right:24px;top:24px;font-size:9px;letter-spacing:1px;color:#385d55}.hero-bottom{position:absolute;bottom:0;left:7.2%;right:7.2%;height:48px;display:flex;align-items:center;gap:15px;color:#73817b;font-size:9px;letter-spacing:1.2px}.bottom-rule{width:48px;height:1px;background:#aab7ae}.section-wrap{padding-left:10%;padding-right:10%}.services{padding-top:108px;padding-bottom:112px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:44px}.section-heading h2,.about h2,.contact h2{font-size:clamp(38px,4.4vw,56px);margin-bottom:0}.section-lead{max-width:270px;color:var(--muted);font-size:13px;margin-bottom:4px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{padding:26px 27px 25px 0;min-height:240px;position:relative}.service-card+.service-card{border-left:1px solid var(--line);padding-left:27px}.service-number{font-size:10px;letter-spacing:1px;color:#82918a}.service-icon{position:absolute;right:22px;top:22px;color:#7c9a82;font:34px var(--serif)}.service-card h3{font:600 17px var(--display);letter-spacing:-.4px;margin:31px 0 9px}.service-card p{max-width:270px;color:var(--muted);font-size:12px;line-height:1.75;margin-bottom:17px}.service-card>a{font-size:11px;font-weight:700}.service-card>a span{margin-left:6px;color:#70967b}.about{background:#e9eee8;display:grid;grid-template-columns:1fr 1fr;min-height:395px}.about-visual{position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#bdd0c2 0,#a8bfb2 38%,#87a398 100%)}.about-orbit{position:absolute;border:1px solid rgba(241,246,234,.52);border-radius:50%;width:310px;height:310px;left:50%;top:50%;transform:translate(-50%,-50%)}.orbit-b{width:220px;height:220px}.about-spark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:64px;color:#f0f1d8}.about-caption{position:absolute;bottom:25px;left:10%;font-size:9px;letter-spacing:1.6px;color:#edf3e8}.about-copy{align-self:center;padding:66px 14%}.about-copy .eyebrow{margin-bottom:16px}.about-copy h2{font-size:clamp(34px,3.5vw,47px);margin-bottom:22px}.about-copy>p:not(.eyebrow){max-width:420px;font-size:12px;color:#60716b;line-height:1.8}.about-copy .text-link{display:inline-block;margin-top:6px}.contact{background:var(--deep);color:#f1f4ee;padding-top:84px;padding-bottom:76px;display:grid;grid-template-columns:1.1fr .9fr;gap:70px}.contact .eyebrow{color:#a9c4ae}.contact h2{font-size:clamp(42px,5vw,62px)}.contact h2 em{color:#b4d1b7}.contact-intro{max-width:365px;color:#bdc9c0;font-size:13px;margin:18px 0 24px}.button-light{background:#d4e4d2;color:#193933}.button-light:hover{background:#e5eee1}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:28px 35px;align-content:center;padding-top:15px}.detail-label{display:block;margin-bottom:8px;color:#a9c4ae;text-transform:uppercase;font-size:9px;letter-spacing:1.4px}.contact-details a,.contact-details p{font-size:13px;margin:0;line-height:1.8}.contact-details a:hover{text-decoration:underline}.sample-note{grid-column:1/-1!important;color:#8ea69b!important;font-size:10px!important;margin-top:2px!important}.site-footer{min-height:80px;padding:19px 7.2%;display:flex;align-items:center;justify-content:space-between;color:#71817a;font-size:10px}.footer-brand{font-size:15px;color:var(--ink)}.footer-brand .brand-mark{width:25px;height:25px;font-size:12px}.site-footer>a:last-child{font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.site-header{height:70px;padding:0 6%}.menu-toggle{display:block;width:39px;height:39px;border:1px solid var(--line);background:transparent;border-radius:2px;position:relative;z-index:7}.menu-icon,.menu-icon:before,.menu-icon:after{position:absolute;width:16px;height:1px;background:var(--ink);left:11px;top:18px;transition:.2s}.menu-icon:before,.menu-icon:after{content:'';left:0;top:-5px}.menu-icon:after{top:5px}.menu-toggle[aria-expanded=true] .menu-icon{background:transparent}.menu-toggle[aria-expanded=true] .menu-icon:before{top:0;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-icon:after{top:0;transform:rotate(-45deg)}.main-nav{display:none;position:absolute;left:0;right:0;top:69px;background:var(--paper);padding:20px 6% 25px;box-shadow:0 12px 18px #16323112;align-items:stretch;gap:0;flex-direction:column}.main-nav.is-open{display:flex}.main-nav>a{padding:13px 0;border-bottom:1px solid var(--line)}.main-nav .nav-contact{border:0;padding:14px 0 0}.hero{display:flex;flex-direction:column;align-items:stretch;padding:56px 6% 0;min-height:unset}.hero-copy{padding-bottom:35px}.hero-art{height:300px;width:100%;align-self:auto}.hero-bottom{position:static;height:47px;margin-top:0;justify-content:flex-start}.hero-bottom span:last-child{margin-left:auto;font-size:8px}.section-wrap{padding-left:7%;padding-right:7%}.services{padding-top:72px;padding-bottom:72px}.section-heading{display:block;margin-bottom:29px}.section-lead{margin:17px 0 0}.service-grid{grid-template-columns:1fr}.service-card,.service-card+.service-card{min-height:unset;padding:22px 30px 22px 0;border-left:0;border-bottom:1px solid var(--line)}.service-card:last-child{border-bottom:0}.service-card h3{margin-top:20px}.service-icon{right:8px;top:19px}.service-card p{max-width:420px}.about{grid-template-columns:1fr}.about-visual{min-height:260px}.about-copy{padding:50px 7%}.contact{padding-top:63px;padding-bottom:58px;grid-template-columns:1fr;gap:45px}.contact-details{padding-top:0;gap:24px}.site-footer{padding:20px 6%;flex-wrap:wrap;gap:15px}.site-footer>span{order:3;width:100%}}
@media(max-width:420px){h1{font-size:58px;letter-spacing:-2.8px}.eyebrow{font-size:9px}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.hero-note{margin-top:35px}.hero-art{height:250px}.contact-details{grid-template-columns:1fr 1fr;gap:23px 14px}.section-heading h2{font-size:39px}.site-footer{font-size:9px}}

/* A more prominent, easy-to-scan services section. */
.services{background:var(--deep);padding-top:86px;padding-bottom:90px}
.services .section-heading{align-items:end;margin-bottom:38px}
.services .eyebrow{color:#b9d8bd}
.services .section-heading h2{color:#f1f4ee;font-size:clamp(42px,5.2vw,66px);letter-spacing:-3px}
.services .section-heading h2 em{color:#b9d8bd}
.services .section-lead{max-width:300px;color:#c0cec5;margin-bottom:5px}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border:0}
.service-card,.service-card+.service-card{min-height:310px;padding:25px 26px 24px;border:1px solid rgba(255,255,255,.16);background:#f0f3ed;display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s ease,background .2s ease}
.service-card:hover{transform:translateY(-4px);background:#f7f8f4}
.service-number{font-size:10px;letter-spacing:1.4px;color:#71847a}
.service-icon{position:static;width:50px;height:50px;margin:23px 0 13px;padding:11px;border-radius:50%;background:#dce8dc;color:#315b4a;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{font-size:20px;line-height:1.25;letter-spacing:-.5px;margin:0 0 10px;color:var(--ink)}
.service-card p{max-width:none;color:#5c6d66;font-size:13px;line-height:1.7;margin-bottom:19px}
.service-card>a{margin-top:auto;font-size:12px;color:#254f40}
.service-card>a span{margin-left:8px;color:#638b6f}
@media(max-width:760px){.services{padding-top:65px;padding-bottom:68px}.services .section-heading{margin-bottom:25px}.services .section-heading h2{font-size:clamp(40px,10vw,54px)}.services .section-lead{max-width:420px;margin-top:15px}.service-grid{grid-template-columns:1fr;gap:12px}.service-card,.service-card+.service-card{min-height:unset;padding:22px 23px 22px}.service-icon{margin:18px 0 12px}.service-card h3{margin:0 0 8px}.service-card p{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.service-card{transition:none}.service-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.process{padding-top:82px;padding-bottom:88px}
.process-heading{margin-bottom:36px}
.process-heading .eyebrow{margin-bottom:14px}
.process-heading h2{font-size:clamp(36px,4vw,50px);margin:0}
.process-heading h2 em{color:#6f947d}
.process-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.process-step{padding:24px 24px 25px;background:#eef2ed;border-top:2px solid #a9c6ad;min-height:176px}
.process-number{display:grid;place-items:center;width:36px;height:36px;margin-bottom:20px;border-radius:50%;background:#d8e5d8;color:#315b4a;font-size:11px;font-weight:700;letter-spacing:.5px}
.process-step h3{font:600 17px/1.35 var(--display);letter-spacing:-.3px;margin:0 0 8px;color:var(--ink)}
.process-step p{font-size:12px;line-height:1.7;color:var(--muted);margin:0;max-width:260px}
@media(max-width:760px){.process{padding-top:62px;padding-bottom:66px}.process-heading{margin-bottom:25px}.process-steps{grid-template-columns:1fr;gap:10px}.process-step{min-height:unset;padding:19px 20px 20px;display:grid;grid-template-columns:36px 1fr;column-gap:15px;align-items:center}.process-number{grid-row:1/3;margin:0}.process-step h3{font-size:16px;margin:0 0 4px}.process-step p{grid-column:2;max-width:none}}

a:focus-visible,button:focus-visible{outline:3px solid #315b4a;outline-offset:4px;border-radius:2px}
.contact a:focus-visible{outline-color:#c9e4c9}

.faq{background:var(--mist);padding-top:78px;padding-bottom:82px}
.faq-heading{margin-bottom:30px}
.faq-heading .eyebrow{margin-bottom:14px}
.faq-heading h2{font-size:clamp(36px,4vw,50px);margin:0}
.faq-heading h2 em{color:#6f947d}
.faq-list{display:grid;gap:10px;max-width:900px}
.faq-item{background:var(--paper);border:1px solid var(--line)}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;font:600 15px/1.45 var(--display);color:var(--ink);cursor:pointer}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';flex:0 0 auto;color:#52785d;font:400 23px/1 var(--sans)}
.faq-item[open] summary::after{content:'−'}
.faq-item summary:focus-visible{outline:3px solid #315b4a;outline-offset:2px}
.faq-item p{padding:0 22px 18px;margin:0;max-width:760px;color:var(--muted);font-size:13px;line-height:1.75}
@media(max-width:760px){.faq{padding-top:60px;padding-bottom:64px}.faq-heading{margin-bottom:22px}.faq-item summary{padding:16px 17px;font-size:14px}.faq-item p{padding:0 17px 17px;font-size:12px}}
