:root{--accent-label:#427e64}.accent-label{color:var(--accent-label)}.mint-text{color:var(--color-mint)}.section-intro{font-size:clamp(1.125rem,1rem + .65vw,1.45rem);line-height:1.45}.arrow-link{white-space:nowrap;border-bottom:2px solid;align-items:center;gap:.35em;min-height:2.5rem;padding-bottom:.15em;font-size:clamp(1rem,.85rem + .5vw,1.3rem);font-weight:800;line-height:1.25;text-decoration:none;display:inline-flex}.arrow-link:hover span{transform:translate(.2em)}.arrow-link span{transition:transform var(--duration-fast)}.hero{text-align:center;padding-top:clamp(1.5rem,2.5vw,2.5rem)}.hero-copy{max-width:58rem;margin-inline:auto;padding-bottom:clamp(1.5rem,3vw,3rem)}.hero .eyebrow{text-align:center;max-width:none;margin-bottom:1rem}.hero h1{letter-spacing:-.045em;font-size:clamp(2.6rem,5.9vw,5.7rem);line-height:1.04}.hero-subtitle{max-width:42rem;margin:1rem auto 0;font-size:clamp(1.125rem,1.05rem + .5vw,1.5rem);line-height:1.4}.hero-actions{justify-content:center;align-items:center;gap:2rem;margin-top:1.5rem;display:flex}.hero-actions .button{min-width:15rem;font-size:1.125rem}.hero-photo{height:clamp(19rem,35vw,30rem);position:relative;overflow:hidden}.hero-photo:before{z-index:1;content:"";border-bottom:5px solid var(--color-mint);background:var(--color-charcoal);pointer-events:none;border-radius:0 0 50% 50%;width:140%;height:clamp(3.5rem,8vw,7.5rem);position:absolute;top:0;left:-20%}.hero-photo img,.service-photo img,.experience-photo img,.area-photo img,.faq-photo img{object-fit:cover;width:100%;height:100%}.hero-photo img{object-position:50% 62%}@media (prefers-reduced-motion:no-preference){.hero-photo img{transform:translate3d(0, var(--parallax-y,0px), 0) scale(1.08)}.services-grid .service-card:nth-child(2),.plans-grid .plan-card:nth-child(2){transition-delay:90ms}.services-grid .service-card:nth-child(3),.plans-grid .plan-card:nth-child(3){transition-delay:.18s}.service-photo img{transition:transform .9s cubic-bezier(.22,1,.36,1)}.service-card:hover .service-photo img{transform:scale(1.025)}}.hero-strip{padding:1rem var(--page-gutter);white-space:nowrap;justify-content:center;align-items:center;gap:clamp(.4rem,2vw,1.75rem);font-weight:700;display:flex}.hero-strip span:nth-child(2n){color:var(--color-mint)}.services-heading{grid-template-columns:1.5fr .75fr;align-items:end;gap:3rem;margin-bottom:3.5rem;display:grid}.services h2{margin-top:1.5rem}.services-heading .section-intro{max-width:22rem;margin-bottom:.5rem}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.service-photo{aspect-ratio:1.45;border-radius:1.25rem;overflow:hidden}.service-photo img{object-position:var(--photo-position)}.service-number{color:#67b497;margin-top:1.25rem;font-size:1.45rem;font-weight:800;line-height:1.1;display:block}.service-card h3{margin-top:.4rem;font-size:clamp(1.4rem,2vw,2.25rem)}.service-card p{margin-top:.45rem;font-size:clamp(1rem,1vw + .4rem,1.25rem);line-height:1.42}.section-end{justify-content:flex-end;margin-top:2.5rem;display:flex}.experience-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,5vw,5rem);display:grid}.experience-photo{aspect-ratio:.86;border-bottom:5px solid var(--color-mint);border-radius:1.75rem 1.75rem 5rem;max-height:45rem;overflow:hidden}.experience-photo img{object-position:50% 50%}.experience-copy h2{margin-top:1.25rem}.experience-copy .section-intro{margin-top:1rem}.experience-list{margin:1.5rem 0 1.25rem;padding:0;list-style:none}.experience-list li{border-top:1px solid #f7f5ef99;grid-template-columns:2.25rem 1fr;align-items:center;gap:1rem;padding:1rem 0;display:grid}.experience-list li:last-child{border-bottom:1px solid #f7f5ef99}.experience-list strong{font-size:1.25rem;line-height:1.2;display:block}.experience-list p{margin-top:.25rem;line-height:1.45}.checkmark{background:var(--color-mint);width:2.25rem;height:2.25rem;color:var(--color-charcoal);border-radius:50%;place-items:center;font-size:1.25rem;font-weight:800;display:grid}.process h2{margin:1.5rem 0 3rem}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;margin:0 0 2.5rem;padding:0;list-style:none;display:grid}.steps li{grid-template-rows:4rem auto 1fr;justify-items:stretch;display:grid;position:relative}.steps li:not(:last-child):after{content:"";z-index:0;background:var(--color-charcoal);width:calc(100% + 3rem);height:2px;position:absolute;top:2rem;left:50%}.step-number{z-index:1;background:var(--color-mint);border-radius:50%;justify-self:center;place-items:center;width:4rem;height:4rem;font-size:1.5rem;font-weight:800;display:grid;position:relative}.steps h3,.steps p{justify-self:center;width:min(100%,20rem)}.steps h3{margin-top:1.5rem}.steps p{margin-top:.75rem;font-size:1.125rem;line-height:1.45}@media (width>=681px){.steps{--process-marker:clamp(4rem, 5.73vw, 5.5rem);grid-template-rows:var(--process-marker) auto auto;gap:0 8%;position:relative}.steps:before{content:"";top:calc(var(--process-marker) / 2);background:var(--color-charcoal);height:2px;position:absolute;left:14%;right:14%}@media (prefers-reduced-motion:no-preference){.steps.motion-line:before{transform-origin:0;transition:transform 1.4s cubic-bezier(.22,1,.36,1);transform:scaleX(0)}.steps.motion-line.line-drawn:before{transform:scaleX(1)}}.steps li{grid-row:1/span 3;grid-template-rows:subgrid}.steps li:not(:last-child):after{content:none}.step-number{width:var(--process-marker);height:var(--process-marker);font-size:clamp(1.5rem,2.6vw,2.5rem)}.steps h3,.steps p{justify-self:stretch;width:100%}.steps h3{margin-top:clamp(1.5rem,2.08vw,2rem);font-size:clamp(1.5rem,3.125vw,3rem);line-height:1.15}.steps p{margin-top:clamp(.75rem,1.3vw,1.25rem)}}.plans,.quote{background:var(--color-pale-mint)}.center-heading{text-align:center}.center-heading h2{margin:1rem 0 .5rem}.center-heading p{margin-inline:auto;font-size:1.125rem}.smile{border-bottom:.45rem solid #8ad7b6;border-radius:0 0 50% 50%;width:5rem;height:1.25rem;display:block;transform:rotate(-1deg)}.center-heading .smile{margin:1rem auto 2.5rem}.plans-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1rem;display:grid}.plan-card{border:2px solid var(--color-charcoal);background:var(--color-off-white);border-radius:1.25rem;flex-direction:column;min-width:0;padding:1.75rem;display:flex}.plan-card.featured{background:var(--color-charcoal);color:var(--color-off-white)}.plan-card.featured .eyebrow{color:var(--color-mint)}.plan-card h3{margin:1rem 0 .75rem;font-size:clamp(1.6rem,2.4vw,2.5rem)}.plan-card>p:not(.eyebrow){min-height:6rem;line-height:1.45}.plan-card ul{margin:1.25rem 0 2rem;padding:0;list-style:none}.plan-card li{border-bottom:1px solid #72796f88;padding:.55rem 0}.plan-card li:last-child{border-bottom:0}.plan-card .button{width:100%;margin-top:auto}.outline-button{border-color:var(--color-charcoal);background:0 0}.outline-button:hover{background:var(--color-mint)}.plan-note{text-align:center;margin:2rem auto 0}.area-photo{clip-path:ellipse(87% 100% at 50% 0);border-bottom:5px solid var(--color-mint);height:clamp(18rem,36vw,33rem);overflow:hidden}.area-photo img{object-position:50% 52%}.area-content{grid-template-columns:1.1fr 1fr;gap:4rem;padding-block:clamp(3rem,5vw,5rem);display:grid}.area-content h2{margin-top:1.5rem}.area-content p+p{margin-top:.75rem}.zip-entry{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem;margin-top:1.75rem;display:grid}.zip-entry .field{gap:.5rem}.zip-entry input{min-height:3.5rem;border:2px solid var(--color-off-white)!important;color:var(--color-off-white)!important;background:0 0!important}.zip-entry input::placeholder{color:#d5ded6}.zip-entry .button{min-height:3.5rem;padding-inline:1.75rem}.zip-entry-error{color:#ffcdc7;font-weight:700}.faq-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.7fr);gap:clamp(2rem,5vw,5rem);display:grid}.faq-intro h2{margin:1.25rem 0}.faq-intro .arrow-link{margin-top:1rem}.faq-photo{aspect-ratio:1.1;border-radius:1.5rem;width:min(100%,23rem);margin-top:2rem;overflow:hidden}.faq-photo img{object-position:65% 50%}.faq-list details{border-top:1px solid var(--color-charcoal)}.faq-list details:last-child{border-bottom:1px solid var(--color-charcoal)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:5rem;padding:1.25rem .25rem;font-size:clamp(1.1rem,1vw + .65rem,1.55rem);font-weight:800;line-height:1.25;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-size:2rem;font-weight:400;line-height:1}.faq-list details[open] summary:after{content:"−"}.faq-list details p{padding:0 2.5rem 1.5rem .25rem;font-size:1.05rem;line-height:1.5}.faq-answer{overflow:hidden}.quote-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);align-items:start;gap:clamp(2rem,5vw,5rem);display:grid}.quote-intro h2{margin:1.5rem 0}.quote-intro .contact-label{margin-top:2.5rem}.quote-phone{margin-top:.5rem;font-size:clamp(2rem,3.7vw,3.75rem);font-weight:800;line-height:1.2;text-decoration:none;display:inline-block}.quote-phone:hover{text-decoration:underline}.quote-intro .smile{margin-top:.75rem}.quote-panel{background:var(--color-off-white);border-radius:1.5rem;padding:clamp(1.5rem,3vw,3rem)}.quote-panel h3{font-size:clamp(2rem,3.5vw,3.75rem)}.quote-form{margin-top:1.25rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;display:grid}.quote-form>.field{margin-top:1rem}.quote-form .field{align-content:start;gap:.45rem}.quote-form label{font-size:.95rem}.quote-form input:not([type=hidden]),.quote-form select,.quote-form textarea{background:var(--color-off-white);border-color:#9b9e98;min-height:3.5rem;padding:.8rem 1rem}.quote-form textarea{min-height:7rem}.field-error{color:#9d2828;font-size:.85rem;font-weight:700;line-height:1.35}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.turnstile-widget{margin-top:1.25rem}.submit-button{background:var(--color-charcoal);width:100%;color:var(--color-off-white);margin-top:1.25rem}.submit-button:disabled{opacity:.7;background:var(--color-charcoal)}.form-status{border-left:4px solid var(--color-charcoal);background:var(--color-pale-mint);margin-top:1rem;padding:.75rem 1rem;font-size:.95rem;line-height:1.45}.form-status[data-kind=error]{background:#fbeae6;border-color:#9d2828}.privacy-note,.phone-fallback{text-align:center;margin:.9rem auto 0;font-size:.82rem;line-height:1.45}.privacy-note a,.phone-fallback a{font-weight:700}.dialog-open{overflow:hidden}.quote-dialog{background:var(--color-off-white);width:min(48rem,100% - 2rem);max-height:calc(100dvh - 2rem);color:var(--color-charcoal);border:0;border-radius:1.25rem;margin:auto;padding:clamp(1.25rem,3vw,2.5rem);overflow-y:auto;box-shadow:0 1.5rem 4rem #0006}.quote-dialog::backdrop{background:#1119}@media (prefers-reduced-motion:no-preference){.quote-dialog[open]:not(.is-closing){animation:.5s cubic-bezier(.22,1,.36,1) both quote-dialog-in}.quote-dialog[open]:not(.is-closing)::backdrop{animation:.5s ease-out both quote-backdrop-in}.quote-dialog.is-closing{animation:.35s ease-in both quote-dialog-out}.quote-dialog.is-closing::backdrop{animation:.35s ease-in both quote-backdrop-out}@keyframes quote-dialog-in{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes quote-dialog-out{0%{opacity:1;transform:translate(0,0)scale(1)}to{opacity:0;transform:translateY(16px)scale(.99)}}@keyframes quote-backdrop-in{0%{background:#1110}to{background:#1119}}@keyframes quote-backdrop-out{0%{background:#1119}to{background:#1110}}}.dialog-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.dialog-head h2{font-size:clamp(2rem,4vw,3rem)}.dialog-close{border:1px solid var(--color-charcoal);width:3rem;height:3rem;color:inherit;background:0 0;border-radius:50%;flex:none;place-items:center;font-size:2rem;line-height:1;display:grid}.dialog-intro{margin-top:.5rem}@media (width<=900px){.services-heading{grid-template-columns:1.4fr 1fr;gap:1.5rem}.service-card h3{font-size:1.4rem}.experience-grid{gap:2.5rem}.experience-copy h2{font-size:clamp(2rem,4vw,3rem)}.area-content{gap:2rem}.zip-entry{grid-template-columns:1fr}.plan-card{padding:1.25rem}.plan-card .button{padding-inline:.5rem;font-size:.95rem}}@media (width<=680px){.hero{padding-top:2.5rem}.hero-copy{padding-bottom:1.5rem}.hero h1{font-size:clamp(2.4rem,10vw,3.7rem)}.hero-actions{flex-direction:column;gap:.75rem;margin-top:1.75rem}.hero-actions .button{width:100%}.hero-photo{height:18rem}.hero-photo:before{border-bottom-width:3px;height:3.5rem}.hero-strip{gap:.3rem;font-size:.68rem}.services-heading,.experience-grid,.area-content,.faq-grid,.quote-grid{grid-template-columns:1fr}.services-heading{margin-bottom:2rem}.services-heading .section-intro{max-width:28rem}.services-grid{grid-template-columns:1fr;gap:2.5rem}.service-photo{aspect-ratio:1.35}.service-card h3{font-size:1.8rem}.service-card p{font-size:1.1rem}.experience-photo{aspect-ratio:1.1;max-height:30rem}.experience-copy h2{font-size:clamp(2.3rem,9vw,3.5rem)}.steps{grid-template-columns:1fr;gap:1.75rem;margin-top:2rem}.steps li:not(:last-child):after{width:2px;height:calc(100% + 1.75rem);top:1.5rem;left:1.5rem}.steps li{grid-template-rows:auto auto;grid-template-columns:3rem 1fr;column-gap:1.25rem}.step-number{grid-row:span 2;width:3rem;height:3rem;margin:0;font-size:1rem}.steps h3,.steps p{justify-self:stretch;width:auto}.steps h3{margin:0}.steps p{margin-top:.25rem}.plans-grid{grid-template-columns:1fr;gap:1rem}.plan-card{padding:1.5rem}.plan-card>p:not(.eyebrow){min-height:0}.plan-card .button{font-size:1rem}.area-photo{clip-path:ellipse(110% 100% at 50% 0);height:19rem}.area-content{gap:1rem}.faq-photo{display:none}.quote-panel{padding:1.5rem}.quote-dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);padding:1.25rem}}@media (width<=420px){.hero-strip{gap:.22rem;padding-inline:.5rem;font-size:.61rem}.form-grid{grid-template-columns:1fr}.quote-phone{font-size:2rem}.hero-subtitle{font-size:1.05rem}}
