.h-home{--h-bg:#e8ede6;--h-pale:#f4f6f1;--h-accent:#6fa67b;--h-dark:#294d3d;color:#20382c;background:var(--h-pale)}
.h-home h1,.h-home h2,.h-home h3{margin:0;font-weight:550}.h-home p{margin:0}.h-home .h-eyebrow{font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:#496653;margin-bottom:18px;line-height:1.5}.h-hero{background:var(--h-bg);overflow:hidden}.h-hero-inner{position:relative;min-height:620px;display:grid;grid-template-columns:1fr 310px;gap:70px;align-items:center;padding-top:72px;padding-bottom:92px}.h-city{position:absolute;right:-7%;bottom:0;width:84%;height:430px;object-fit:contain;object-position:right bottom;opacity:.62;pointer-events:none;mask-image:linear-gradient(to right,transparent,#000 18%,#000 78%,transparent),linear-gradient(to bottom,transparent,#000 22%,#000 82%,transparent);mask-composite:intersect}.h-hero-copy,.h-resident{position:relative;z-index:1}.h-hero-copy{max-width:760px}.h-hero h1{font-size:clamp(44px,4.1vw,64px);line-height:1.13;letter-spacing:-2.6px}.h-hero h1 span{color:#345b43}.h-lead{font-size:17px;line-height:1.8;max-width:550px;margin:24px 0 28px!important;color:#3d5244}.h-primary{box-shadow:0 5px 14px #294d3d18}.h-solutions-link{display:inline-flex;gap:14px;align-items:center;font-size:14px;min-height:48px;margin:12px 0 0 22px;font-weight:550}.h-resident{background:#ffffffee;border:1px solid #fff;border-radius:24px;padding:26px;box-shadow:0 14px 35px #263c2e18;align-self:center}.h-resident-title{display:flex;gap:10px;align-items:center}.h-resident-title strong{font-size:22px;font-weight:600}.h-resident>p{font-size:14px;color:#546658;margin:10px 0 20px}.h-resident-actions{display:grid;gap:10px}.h-resident-actions .button{padding:12px 15px;gap:12px;font-size:13px;min-height:48px}.h-payment{border-top:1px solid #d7e0d5;margin-top:22px;padding-top:20px}.h-payment>span{font-size:11px;color:#526356}.h-payment>a{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:600;line-height:1.65;min-height:56px;color:#2e5c40;margin-top:5px}.h-payment>a>span{font-size:24px}.h-since{margin-top:34px;display:grid;grid-template-columns:290px 1fr;gap:62px;align-items:center;border-radius:36px;background:radial-gradient(ellipse at 0 10%,#608765,transparent 65%),#2f473b;padding:38px 54px;color:#fff}.h-since img{width:290px;height:auto}.h-since h2{font-size:28px;line-height:1.4;letter-spacing:-.7px}.h-since p{font-size:16px;line-height:1.85;color:#edf3ec;margin-top:16px;max-width:700px}.h-section{padding:84px 0}.h-section-heading{display:flex;justify-content:space-between;gap:45px;align-items:flex-end;margin-bottom:34px}.h-home h2{font-size:40px;line-height:1.22;letter-spacing:-1.5px}.h-section-heading>p{max-width:360px;font-size:16px;line-height:1.8;color:#4d6253}.h-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}.h-card{grid-column:span 2;position:relative;isolation:isolate;display:block;min-width:0;min-height:365px;overflow:hidden;border-radius:30px;background:#fff;border:1px solid #dfe6db;transition:border-color .15s,box-shadow .15s}.h-card:before{content:"";position:absolute;z-index:-1;width:370px;height:370px;border-radius:50%;background:#b3d2ad;right:-175px;bottom:-170px}.h-card:nth-last-child(-n+2){grid-column:span 3;min-height:335px}.h-card-copy{position:relative;z-index:2;padding:25px 26px}.h-card h3{font-size:23px;line-height:1.25;letter-spacing:-.6px;max-width:310px}.h-card p{font-size:14px;line-height:1.65;color:#4c6051;max-width:300px;margin-top:12px}.h-card-picture{position:absolute;right:-6px;bottom:0;width:76%;height:192px;display:flex;align-items:flex-end;justify-content:flex-end;pointer-events:none;z-index:0}.h-card-picture img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:right bottom}.h-card:nth-last-child(-n+2) .h-card-picture{width:64%;height:195px}.h-card-arrow{position:absolute;left:25px;bottom:24px;width:48px;height:48px;display:grid;place-items:center;background:#edf3e9;border-radius:14px;font-size:25px;color:#2b5b3d;z-index:3}.h-service-section{background:#e5ebe1;border-radius:44px}.h-service-section .h-card{background:#f8faf5}.h-service-section .h-card:before{background:#bed6b6}.h-benefits{background:#2f473b;color:white;border-radius:44px;margin-top:72px}.h-benefits-heading{display:flex;gap:60px;justify-content:space-between;align-items:flex-end}.h-benefits-heading>p{max-width:410px;font-size:16px;line-height:1.8;color:#e4eee1}.h-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px;margin-top:45px}.h-benefit-grid article{border-top:1px solid #809684;padding-top:24px}.h-benefit-grid svg{width:34px;height:34px;color:#c7e6ba;margin-bottom:22px}.h-benefit-grid h3{font-size:21px;line-height:1.4;margin-bottom:10px}.h-benefit-grid p{font-size:15px;line-height:1.8;color:#e4eee1}.h-resident-section{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.h-resident-intro{color:#4d6253;font-size:16px;line-height:1.8;margin-top:22px!important;max-width:550px}.h-resident-links{display:flex;gap:15px 24px;align-items:center;flex-wrap:wrap;margin-top:25px}.h-quicklinks{margin-top:26px;display:grid;max-width:530px}.h-quicklinks>a{border-bottom:1px solid #cedbca;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;color:#315c41;font-weight:550}.h-platform{width:100%;height:auto}.h-home .contact-section{border-radius:44px 44px 0 0;background:#dce8d5}
@media(hover:hover){.h-card:hover{border-color:#6b976c;box-shadow:0 12px 25px #315a3a12}.h-card:hover .h-card-arrow{background:#d5e9ca}.h-solutions-link:hover,.h-payment a:hover,.h-quicklinks a:hover{text-decoration:underline;text-underline-offset:4px}}
@media(max-width:1100px){.h-hero-inner{gap:35px;grid-template-columns:1fr 285px}.h-hero h1{font-size:50px;letter-spacing:-2px}.h-since{gap:35px;padding:35px;grid-template-columns:240px 1fr}.h-since img{width:240px}.h-cards{gap:18px}.h-card-copy{padding:23px}.h-card h3{font-size:21px}.h-card{min-height:375px}.h-card-picture{height:175px}.h-home h2{font-size:35px}.h-benefits-heading{gap:35px}}
@media(max-width:900px){.h-hero-inner{grid-template-columns:1fr;gap:30px;padding-top:50px;padding-bottom:50px}.h-hero-copy{max-width:660px}.h-resident{max-width:600px;width:100%}.h-resident-actions{grid-template-columns:1fr 1fr}.h-city{right:-15%;width:100%;height:400px;bottom:0;opacity:.3}.h-payment{margin-top:17px;padding-top:13px}.h-payment>a{min-height:44px}.h-since{grid-template-columns:185px 1fr;gap:24px;padding:30px}.h-since img{width:185px}.h-since h2{font-size:25px}.h-since p{font-size:15px}.h-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.h-card,.h-card:nth-last-child(-n+2){grid-column:auto;min-height:350px}.h-card:last-child{grid-column:1/-1}.h-card:last-child .h-card-copy{max-width:65%}.h-card:last-child .h-card-picture{width:45%;height:235px}.h-card:nth-last-child(-n+2) .h-card-picture{height:180px;width:73%}.h-card:last-child .h-card-picture{width:45%;height:235px}.h-section{padding:62px 0}.h-section-heading{gap:30px}.h-section-heading>p{max-width:300px;font-size:15px}.h-benefits{margin-top:55px}.h-benefits-heading{display:block}.h-benefits-heading>p{margin-top:23px;max-width:650px}.h-benefit-grid{gap:24px}.h-benefit-grid h3{font-size:19px}.h-resident-section{grid-template-columns:1fr;gap:30px}.h-platform{max-width:570px;justify-self:center}.h-resident-intro{max-width:650px}}
@media(max-width:600px){.h-hero-inner{padding-top:35px;padding-bottom:32px;gap:30px}.h-home .h-eyebrow{font-size:10px;letter-spacing:.07em;margin-bottom:14px}.h-hero h1{font-size:41px;line-height:1.16;letter-spacing:-1.8px}.h-lead{font-size:15px;line-height:1.8;margin:21px 0 22px!important}.h-solutions-link{margin-left:0;margin-top:12px;display:flex;width:fit-content}.h-city{width:150%;height:430px;right:-50%;opacity:.24}.h-resident{padding:22px;border-radius:23px}.h-resident-title strong{font-size:20px}.h-resident-actions{gap:9px}.h-resident-actions .button{padding:11px 8px;font-size:12px;gap:5px}.h-resident-actions .button span{font-size:16px}.h-resident>p{margin:8px 0 16px}.h-since{margin-top:24px;padding:28px 25px;grid-template-columns:1fr;gap:22px;border-radius:28px}.h-since img{width:205px;justify-self:center}.h-since h2{font-size:25px;letter-spacing:-.6px}.h-since p{font-size:15px;margin-top:15px}.h-home h2{font-size:31px;letter-spacing:-1.1px}.h-section{padding:48px 0}.h-section-heading{display:block;margin-bottom:25px}.h-section-heading>p{max-width:none;margin-top:18px;font-size:15px}.h-cards{grid-template-columns:1fr;gap:16px}.h-card,.h-card:nth-last-child(-n+2),.h-card:last-child{grid-column:auto;min-height:335px}.h-card-copy{padding:24px}.h-card h3{font-size:23px;max-width:300px}.h-card p{font-size:14px;max-width:285px}.h-card-picture,.h-card:nth-last-child(-n+2) .h-card-picture,.h-card:last-child .h-card-picture{width:74%;height:175px}.h-card:last-child .h-card-copy{max-width:none}.h-card-arrow{left:24px;bottom:24px}.h-service-section,.h-benefits{border-radius:30px}.h-benefits{margin-top:36px}.h-benefit-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.h-benefit-grid article{display:grid;grid-template-columns:36px 1fr;column-gap:18px;padding-top:22px}.h-benefit-grid svg{grid-row:1/3;margin:0;width:30px;height:30px}.h-benefit-grid h3{font-size:20px;margin-bottom:9px}.h-benefit-grid p{font-size:15px}.h-benefits-heading>p{font-size:15px}.h-resident-section{gap:30px}.h-resident-links{gap:8px 20px}.h-resident-intro{font-size:15px}.h-home .contact-section{border-radius:30px 30px 0 0}}
@media(prefers-reduced-motion:reduce){.h-card{transition:none}}
/* Decorative circles must clip without creating a scrollable link viewport. */
.h-cards .h-card,.h-cards .h-card:nth-last-child(-n+2){overflow:clip;min-height:390px}
@media(max-width:900px){.h-cards .h-card,.h-cards .h-card:nth-last-child(-n+2){min-height:390px}}
@media(max-width:600px){.h-cards .h-card,.h-cards .h-card:nth-last-child(-n+2),.h-cards .h-card:last-child{min-height:375px}}
/* A lazy image needs a nonzero intersection before its intrinsic size is known. */
.h-card-picture img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:right bottom}

/* The intentionally wide panorama must not make the hero a scroll container. */
.h-hero{overflow:clip}
.h-home .h-payment h2{font-size:15px;line-height:1.5;letter-spacing:0;font-weight:600;margin:0 0 12px}
.h-payment label{display:block;font-size:12px;font-weight:550;margin-bottom:7px;color:#3d5244}
.h-payment-input{display:flex;gap:8px;align-items:stretch;min-width:0}
.h-payment-input input{width:100%;min-width:0;min-height:48px;border:1px solid #a8b9ab;border-radius:8px;padding:11px 12px;background:#fff;color:#20382c;font:inherit;font-size:14px}
.h-payment-input input::placeholder{color:#596a60;opacity:1}
.h-payment-input .button{flex:0 0 48px;min-width:48px;min-height:48px;padding:10px;gap:0}
.h-payment-input .button:disabled{cursor:wait;background:#617b6b}
.h-payment-input input[aria-invalid=true]{border-color:#a0372d}
.h-home .h-payment .payment-error,.h-home .h-payment .payment-status{font-size:12px;line-height:1.65;margin:8px 0 0}
.h-payment .payment-error{color:#9a3026}.h-payment .payment-status{color:#3d5244}.h-payment .payment-status:empty{display:none}
