@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');:root{--ink:#173e37;--green:#176457;--cream:#f8f6ef;--mint:#e5efe8;--sand:#e7b66f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--cream)}a{color:inherit;text-decoration:none}.demo{background:#f1c676;text-align:center;font-size:12px;font-weight:700;padding:9px 12px;letter-spacing:.06em}.top{height:83px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 max(5%,calc((100% - 1300px)/2));background:#fff}.brand{display:flex;gap:10px;align-items:center;font-size:18px;font-weight:700}.mark{background:var(--green);color:white;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:25px}.top nav{display:flex;gap:35px;font-size:14px;font-weight:600}.top nav a:hover,.text-link:hover{color:#21937c}.header-cta{border:1px solid var(--green);padding:13px 23px;border-radius:30px;font-size:13px;font-weight:700}.menu{display:none}.hero{min-height:590px;display:grid;grid-template-columns:53% 47%;background:#e9f0e8}.hero-copy{align-self:center;padding:75px 8% 85px 10%}.eyebrow,.kicker{font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--green)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#58a58b;margin-right:6px}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.047em;margin:23px 0}h1{font-size:clamp(52px,5.2vw,82px);line-height:1.12}h2{font-size:clamp(38px,4vw,60px);line-height:1.16}h1 em,h2 em{color:#438b73;font-weight:500}.hero-copy>p{font-size:16px;line-height:1.85;max-width:510px;color:#52665f}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{padding:17px 25px;display:inline-flex;justify-content:space-between;gap:30px;border-radius:40px;font-size:13px;font-weight:700;border:1px solid var(--green);cursor:pointer}.solid{background:var(--green);color:#fff}.outline{background:transparent}.btn:hover{transform:translateY(-2px)}.hero-notes{display:flex;gap:25px;flex-wrap:wrap;margin-top:48px;font-size:12px;color:#52665f}.hero-visual{position:relative;overflow:hidden;min-height:530px;background:#d6e4d9}.hero-visual>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-note{position:absolute;bottom:35px;left:35px;background:#fff;padding:16px 23px;display:flex;gap:13px;align-items:center;border-radius:8px;box-shadow:0 12px 40px #15352b1c}.photo-note>span{font-size:35px}.photo-note strong,.photo-note small{display:block}.photo-note strong{font-size:14px}.photo-note small{font-size:11px;color:#65776f;margin-top:4px}.section{padding:105px max(7%,calc((100% - 1200px)/2))}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end}.section-head>p{max-width:350px;line-height:1.8;color:#63746d}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:35px}.service-card{background:#fff;padding:35px 25px 30px;border:1px solid #e4e8df;min-height:280px;border-radius:5px}.service-card .service-icon{font-size:35px;background:#e8f3eb;width:60px;height:60px;border-radius:50%;display:grid;place-items:center}.service-card h3{font-size:18px;margin:30px 0 12px}.service-card p{font-size:13px;line-height:1.85;color:#61746b}.about{background:#e7eee7;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about-art{min-height:420px;border-radius:240px 240px 5px 5px;background:radial-gradient(circle at 60% 30%,#c9e1ca,#86b6a0);position:relative;display:grid;place-items:center}.art-shape{font-size:180px;color:#eaf4e7}.about-float{position:absolute;bottom:30px;right:-30px;background:#fff;padding:22px;border-radius:4px;font-weight:700;font-size:14px}.about-float span{color:#e6ac4b}.about-copy p{line-height:1.9;color:#5b7166}.text-link{display:inline-block;border-bottom:1px solid;margin-top:20px;padding-bottom:7px;font-size:14px;font-weight:700}.process{text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;text-align:left;margin-top:45px}.steps article{border-top:1px solid #afc5b7;padding-top:25px}.steps span{font-size:12px;color:#559a81}.steps h3{font-size:18px;margin-top:23px}.steps p{font-size:14px;color:#5b7166;line-height:1.8}.contact{background:#164d43;color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.contact .kicker,.contact h2 em{color:#c7dfc9}.contact p{line-height:1.8;color:#d5e6dd}.contact-links{display:flex;gap:22px}.contact-links a{text-decoration:underline}.contact form{background:#fff;color:var(--ink);padding:33px;display:grid;gap:10px;border-radius:6px}.contact input,.contact textarea,.contact select{width:100%;padding:13px;border:1px solid #c9d8cf;border-radius:4px;font-family:inherit;font-size:14px}.contact label{font-size:12px;font-weight:700}.contact form .btn{margin-top:10px;display:block}.contact form #form-status{font-size:11px;color:#64766c;margin:0}footer{background:#10382f;color:#fff;padding:50px 7%;text-align:center}footer p,footer small{color:#c5d9cc;font-size:12px}.footer-brand{display:flex;justify-content:center;gap:10px;align-items:center;font-size:20px}.footer-brand span{font-size:30px}@media(max-width:950px){.top{padding:0 5%}.top nav{gap:14px}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:50px 7%}.service-grid{grid-template-columns:repeat(2,1fr)}.section{padding:75px 5%}}@media(max-width:650px){.top{height:70px}.top nav{display:none;position:absolute;z-index:5;top:103px;right:0;left:0;background:white;padding:25px;box-shadow:0 10px 15px #0001;flex-direction:column}.top nav.open{display:flex}.header-cta{display:none}.menu{display:block;font-size:25px;border:0;background:transparent}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 7%}.hero-visual{min-height:350px}.hero-notes{margin-top:28px}.photo-note{bottom:18px;left:18px}.section-head{display:block}.section{padding:70px 6%}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.about{grid-template-columns:1fr;gap:40px}.about-art{min-height:290px}.about-float{right:0}.steps{grid-template-columns:1fr;gap:10px}.contact{grid-template-columns:1fr;gap:35px}.contact form{padding:23px}h1{font-size:52px}h2{font-size:43px}}