:root{--bg:#0b1a16;--bg2:#12261f;--fg:#f6f2ea;--muted:#aab8b0;--line:#f6f2ea29;--glass:#f6f2ea12;--accent:#8ccaae;--blue:#2f7d5f;--navy:#16231e;--ice:#f6f2ea;--bar:0px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Segoe UI", Roboto, Arial, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);scroll-behavior:auto}html.lenis,html.lenis body{height:auto}body{font-family:var(--font);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}ul,ol{list-style:none}h1,h2,h3{letter-spacing:-.03em;font-weight:600;line-height:1.04}h2{font-size:clamp(2.2rem,6vw,4.6rem)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-size:.74rem;font-weight:600}.section-head{gap:1rem;max-width:1200px;margin:0 auto 3.5rem;display:grid}.btn{white-space:nowrap;background:var(--fg);color:#000;min-height:48px;transition:transform .4s var(--ease), background .3s;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:0 1.7rem;font-size:.98rem;font-weight:600;display:inline-flex}.btn:hover{background:#fff;transform:translateY(-2px)}.btn--blue{background:var(--blue);color:#fff}.btn--blue:hover{background:#3a8f6e}.btn--ghost{background:var(--glass);color:var(--fg);border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.btn--ghost:hover{background:#ffffff24}.btn--sm{min-height:46px;padding:0 1.4rem;font-size:1rem;font-weight:700}.sample-bar{z-index:60;height:var(--bar);background:var(--blue);color:#fff;text-align:center;white-space:nowrap;justify-content:center;align-items:center;padding:0 1rem;font-size:.76rem;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0;overflow:hidden}.nav{top:calc(var(--bar) + 12px);z-index:61;border:1px solid #0000;border-radius:999px;align-items:center;gap:1.5rem;width:min(1100px,100% - 24px);padding:.55rem .6rem .55rem 1.3rem;transition:background .4s,border-color .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s;display:flex;position:fixed;left:50%;transform:translate(-50%)}.nav--solid{border-color:var(--line);-webkit-backdrop-filter:blur(24px)saturate(180%);background:#0b1a16db}.nav__brand{letter-spacing:-.03em;margin-right:auto;font-size:1.3rem;font-weight:700}.nav__brand span{color:var(--muted);font-weight:400}.nav__links{letter-spacing:-.01em;gap:.2rem;font-size:1.05rem;font-weight:600;display:flex}.nav__links a{color:#ffffffd9;border-radius:999px;padding:.55rem 1.05rem;transition:color .25s;position:relative}.nav__links a:hover{color:#fff}.nav__pill{background:#ffffff24;border-radius:999px;position:absolute;inset:0}.nav__label{position:relative}.nav__phone{color:var(--fg);font-size:1.05rem;font-weight:600}.burger{background:var(--glass);border:1px solid var(--line);z-index:70;border-radius:50%;flex:none;width:46px;height:46px;display:none;position:relative}.burger i{height:2px;transition:transform .5s var(--ease), top .5s var(--ease);background:#fff;border-radius:2px;position:absolute;left:14px;right:14px}.burger i:first-child{top:18px}.burger i:last-child{top:26px}.burger.is-open i:first-child{top:22px;transform:rotate(45deg)}.burger.is-open i:last-child{top:22px;transform:rotate(-45deg)}.sheet{z-index:55;background:linear-gradient(160deg, var(--navy), var(--bg));flex-direction:column;justify-content:center;gap:2.5rem;padding:6rem 1.6rem 2.5rem;display:flex;position:fixed;inset:0}.sheet nav{gap:.3rem;display:grid}.sheet nav a{letter-spacing:-.04em;font-size:clamp(2.6rem,12vw,4rem);font-weight:700;line-height:1.1}.sheet__foot{color:var(--muted);gap:.3rem;font-size:1.05rem;display:grid}.hero{height:200vh;position:relative}.hero__sticky{height:100svh;position:sticky;top:0;overflow:hidden}.hero__img{object-fit:cover;object-position:50% 55%;will-change:transform;width:100%;height:108%;position:absolute;inset:-4% 0}.hero__shade{background:radial-gradient(120% 90% at 50% 40%,#0000 30%,#0000008c 100%),linear-gradient(#00000073 0%,#0000 30%,#000000bf 100%);position:absolute;inset:0}.hero__dim{background:var(--bg);position:absolute;inset:0}.hero__mark{text-align:center;letter-spacing:-.05em;white-space:nowrap;color:#fff;opacity:.94;pointer-events:none;text-shadow:0 10px 80px #00000059;font-size:clamp(3rem,15.5vw,17rem);font-weight:700;line-height:.9;position:absolute;top:46%;left:0;right:0;transform:translateY(-50%)}.corner{letter-spacing:.22em;text-transform:uppercase;color:#fff;opacity:0;font-size:clamp(.8rem,1.5vw,1.1rem);font-weight:600;position:absolute}.corner--tl{top:calc(var(--bar) + 110px);left:5vw}.corner--tr{top:calc(var(--bar) + 110px);right:5vw}.corner--bl{bottom:12vh;left:5vw}.corner--br{bottom:12vh;right:5vw}.hero__copy{text-align:center;justify-items:center;gap:1.2rem;padding:0 1.25rem 7vh;display:grid;position:absolute;bottom:0;left:0;right:0}.hero__lede{text-wrap:balance;color:#ffffffe0;letter-spacing:-.01em;max-width:30rem;font-size:clamp(1.05rem,2vw,1.4rem)}.hero__cta{flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}.hero__scroll{letter-spacing:.25em;text-transform:uppercase;color:var(--muted);justify-items:center;gap:.4rem;font-size:.68rem;display:grid;position:absolute;bottom:2.2vh;left:50%;transform:translate(-50%)}.hero__scroll i{background:linear-gradient(var(--fg), transparent);width:1px;height:34px;animation:drip 2s var(--ease) infinite;transform-origin:top}@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.statement__text{letter-spacing:-.035em;max-width:1100px;margin:0 auto;font-size:clamp(1.9rem,5.2vw,4.2rem);font-weight:600;line-height:1.1}.towns{border-block:1px solid var(--line);align-items:center;min-height:100vh;padding:14vh 1.25rem;display:grid;position:relative;overflow:hidden}.towns__bg{position:absolute;inset:0}.towns__photo{filter:saturate(.85);background-size:180%;position:absolute;inset:0}.towns__bg:after{content:"";background:linear-gradient(90deg, var(--bg) 10%, #0a0a0b66 100%), linear-gradient(180deg, var(--bg), transparent 25%, transparent 75%, var(--bg));position:absolute;inset:0}.towns__inner{z-index:1;gap:2rem;width:100%;max-width:1200px;margin:0 auto;display:grid;position:relative}.towns__list button{border-bottom:1px solid var(--line);text-align:left;width:100%;transition:padding .5s var(--ease), color .4s;color:#ffffff61;align-items:baseline;gap:1.5rem;padding:.9rem 0;display:flex}.towns__list .is-active button{color:var(--fg);padding-left:1.5rem}.towns__n{letter-spacing:.1em;color:var(--accent);min-width:2rem;font-size:.85rem}.towns__name{letter-spacing:-.05em;font-size:clamp(2.6rem,9vw,7.5rem);font-weight:600;line-height:1}.towns__st{letter-spacing:.2em;color:var(--muted);margin-left:auto;font-size:.85rem}.towns__more{color:var(--muted);font-size:1.05rem}.services__grid{grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:1200px;margin:0 auto;display:grid}.card{border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-height:340px;transform-style:preserve-3d;background:linear-gradient(160deg,#ffffff17,#ffffff08);border-radius:28px;align-content:start;gap:1rem;padding:2rem;display:grid}.card__k{color:var(--accent);letter-spacing:.15em;font-size:.85rem}.card h3{font-size:clamp(1.7rem,3vw,2.3rem)}.card p{color:var(--muted)}.card__cta{margin-top:auto;font-weight:600}.card:hover{border-color:#8ccaae99}.calc__panel{grid-template-columns:1.2fr 1fr;gap:1.2rem;max-width:1200px;margin:0 auto;display:grid}.calc__controls,.calc__result{border:1px solid var(--line);background:var(--glass);border-radius:28px;padding:2.2rem}.calc__controls{gap:1.6rem;display:grid}.slider{gap:.7rem;display:grid}.slider span{color:var(--muted);justify-content:space-between;display:flex}.slider b{color:var(--fg);font-weight:600}input[type=range]{appearance:none;background:var(--line);outline-offset:8px;border-radius:4px;width:100%;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--fg);border:0;border-radius:50%;width:24px;height:24px;box-shadow:0 2px 10px #00000080}input[type=range]::-moz-range-thumb{background:var(--fg);border:0;border-radius:50%;width:24px;height:24px}.calc__result{background:linear-gradient(160deg,#2f7d5f40,#ffffff08);align-content:center;gap:1rem;display:grid}.calc__result>span{color:var(--muted)}.calc__result strong{letter-spacing:-.05em;font-size:clamp(3rem,7vw,5.2rem);line-height:1}.calc__result small{color:var(--muted);letter-spacing:0;font-size:1.1rem;font-weight:400}.calc__result p{color:var(--muted);font-size:.85rem}.calc__result .btn{justify-self:start}.process__list{grid-template-columns:repeat(3,1fr);gap:3rem;max-width:1200px;margin:0 auto;display:grid}.process__list li{border-top:1px solid var(--line);gap:.8rem;padding-top:1.6rem;display:grid}.process__list span{color:var(--accent);letter-spacing:-.05em;font-size:3.4rem;font-weight:700;line-height:1}.process__list h3{font-size:1.5rem}.contact{grid-template-columns:1fr 1.1fr;align-items:start;gap:4rem;max-width:1280px;margin:0 auto;padding:18vh 1.25rem 14vh;display:grid}.contact__info{gap:1.4rem;display:grid;position:sticky;top:140px}.contact__lede{color:var(--muted);max-width:30rem;font-size:1.2rem}.contact__info ul{gap:1.2rem;margin-top:1rem;display:grid}.contact__info li{border-top:1px solid var(--line);gap:.15rem;padding-top:1rem;display:grid}.contact__info li span{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.contact__info li a,.contact__info address{font-size:1.3rem;font-style:normal;font-weight:500}.contact__form{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:28px;padding:.8rem}.contact__form iframe{background:#fff;border:0;border-radius:20px;width:100%;height:720px;display:block}.demo-note{color:var(--accent);margin:.6rem .8rem 1rem;font-size:.8rem}.fallback{color:var(--muted);margin:.9rem .8rem .4rem;font-size:.88rem}.fallback a{color:var(--fg);text-decoration:underline}.footer{border-top:1px solid var(--line);background:#07120f;padding:12vh 1.25rem 2rem;overflow:hidden}.footer__mark{letter-spacing:-.05em;color:var(--fg);justify-content:center;font-size:clamp(2.6rem,13.5vw,15rem);font-weight:700;line-height:.95;display:flex}.footer__clip{padding-bottom:.06em;display:inline-block;overflow:hidden}.footer__grid{max-width:1200px;color:var(--muted);grid-template-columns:repeat(3,1fr);gap:2rem;margin:6vh auto 0;font-size:.95rem;display:grid}.footer__grid strong{color:var(--fg);font-size:1.1rem}.footer__grid p{margin-top:.6rem}.footer__grid a:hover{color:var(--fg)}.footer__eho{align-items:flex-start;gap:.9rem;font-size:.82rem;display:flex}.eho-box{border:1px solid var(--muted);width:40px;height:40px;color:var(--fg);border-radius:6px;flex:none;place-items:center;font-size:1.4rem;display:grid}.footer__eho p{margin:0}.footer__fine{border-top:1px solid var(--line);color:#5f6b64;max-width:1200px;margin:3rem auto 0;padding-top:1.4rem;font-size:.78rem}@media (width<=900px){.nav__links,.nav__phone,.nav .btn{display:none}.burger{display:block}.services__grid,.process__list,.footer__grid,.calc__panel,.contact{grid-template-columns:1fr}.contact{gap:2.5rem}.contact__info{position:static}.hero{height:180vh}.corner--tl,.corner--tr{top:calc(var(--bar) + 84px)}.hero__mark{mix-blend-mode:normal;opacity:.92;font-size:15vw;top:36%}.hero__scroll,.nav__brand span{display:none}.sample-bar{font-size:.68rem}.contact__form iframe{height:780px}.card{min-height:260px}.towns__photo{background-size:260%}}@media (prefers-reduced-motion:reduce){.hero{height:auto}.hero__sticky{position:relative}.hero__scroll i{animation:none}.corner{opacity:1}}.services,.calc,.process{background:var(--ice);color:var(--navy)}.services .eyebrow,.calc .eyebrow,.process .eyebrow{color:var(--blue)}.services .card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-color:#ddd6c8;box-shadow:0 20px 50px -25px #0000002e}.services .card p{color:#5f6b64}.services .card__k{color:var(--blue)}.services .card:hover{border-color:var(--blue)}.calc__controls,.calc__result{background:#fff;border-color:#ddd6c8}.calc__result{background:linear-gradient(160deg,#fff,#ece5d6)}.calc .slider span,.calc__result>span,.calc__result p,.calc__result small{color:#5f6b64}.calc .slider b{color:var(--navy)}.calc input[type=range]{background:#ddd6c8}.calc input[type=range]::-webkit-slider-thumb{background:var(--blue)}.calc input[type=range]::-moz-range-thumb{background:var(--blue)}.calc .btn{background:var(--blue);color:#fff}.process__list li{border-top-color:#ddd6c8}.process__list span{color:var(--blue)}.process__list p{color:#5f6b64}.contact__info li a:hover{color:var(--accent)}button.card{text-align:left;cursor:pointer;font:inherit;color:inherit;width:100%}.card__more{gap:1rem;display:grid;overflow:hidden}.card__more p{color:#16231e}.card__go{background:var(--blue);color:#fff;border-radius:999px;justify-self:start;align-items:center;min-height:44px;padding:0 1.3rem;font-weight:600;display:inline-flex}.card__go:hover{background:#3a8f6e}.card[aria-expanded=true]{border-color:var(--blue)}.chip{background:var(--blue);color:#fff;border-radius:999px;align-items:center;gap:.6rem;margin:.6rem .8rem 0;padding:.45rem .5rem .45rem 1rem;font-size:.88rem;font-weight:600;display:inline-flex}.chip button{background:#ffffff40;border-radius:50%;width:24px;height:24px;line-height:1}.about{grid-template-columns:.9fr 1.1fr;align-items:center;gap:4rem;max-width:1200px;margin:0 auto;padding:8vh 1.25rem 18vh;display:grid}.about__photo{border:1px solid var(--line);border-radius:36px;overflow:hidden;box-shadow:0 40px 90px -40px #2f7d5f80}.about__photo img{aspect-ratio:1;object-fit:cover;width:100%;height:auto;display:block}.about__text{justify-items:start;gap:1.3rem;display:grid}.about__text p:not(.eyebrow){color:var(--muted);max-width:34rem;font-size:1.25rem}.about__lic{letter-spacing:.04em;font-size:.95rem!important}.about__cta{flex-wrap:wrap;gap:.8rem;margin-top:.5rem;display:flex}.reviews{background:var(--ice);color:var(--navy);padding:14vh 1.25rem}.reviews .eyebrow{color:var(--blue)}.reviews__grid{grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:1200px;margin:0 auto;display:grid}.review{background:#fff;border:1px solid #ddd6c8;border-radius:28px;align-content:start;gap:1rem;padding:2rem;display:grid}.review blockquote{font-size:1.08rem}.review figcaption{color:#5f6b64;font-size:.9rem;font-weight:600}.review figcaption span{font-weight:400}.stars{color:#ff9f0a;letter-spacing:.15em}.stars i{color:#ddd6c8;font-style:normal}.reviews__empty{border:2px dashed #cfc7b6;border-radius:28px;gap:.6rem;max-width:1200px;margin:0 auto;padding:2.5rem;font-size:1.2rem;display:grid}.reviews__empty small{color:#5f6b64}.reviews__more{max-width:1200px;margin:2rem auto 0;font-weight:600}.reviews__more a{color:var(--blue)}@media (width<=900px){.about,.reviews__grid{grid-template-columns:1fr;gap:2rem}}.reviews__sum{color:#5f6b64;align-items:center;gap:.6rem;font-size:1.2rem;display:flex}.reviews__sum b{color:var(--navy)}.reviews__more{flex-wrap:wrap;gap:2rem;display:flex}.review blockquote{letter-spacing:-.01em;font-size:1.15rem;font-weight:500}@media (width<=900px){.reviews__more{flex-direction:column;gap:1rem}}.footer__social{flex-wrap:wrap;gap:.4rem 1.1rem;display:flex}.section-head{gap:.7rem;margin-bottom:2rem}.statement{padding:12vh 1.25rem}.about{padding:6vh 1.25rem 9vh}.towns{min-height:0;padding:9vh 1.25rem}.services,.calc,.process{padding:8vh 1.25rem 2vh}.services{padding-top:9vh}.process{padding-bottom:8vh}.reviews{padding:8vh 1.25rem 9vh}.contact{gap:3rem;padding:9vh 1.25rem}.footer{padding:8vh 1.25rem 2rem}.footer__grid{margin-top:4vh}.card{min-height:0;padding:1.8rem}.towns__name{font-size:clamp(2.4rem,7.5vw,5.8rem)}.towns__list button{padding:.6rem 0}.reviews__grid{align-items:start}.review__toggle{color:var(--blue);justify-self:start;font-size:.92rem;font-weight:600}.review blockquote.is-clamped{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.reviews__all{justify-content:center;max-width:1200px;margin:1.6rem auto 0;display:flex}.reviews__all .btn{color:#fff}@media (width<=900px){.statement{padding:9vh 1.25rem}.services,.calc,.process{padding-top:6vh}.contact{gap:2rem;padding:6vh 1.25rem}}@media (width<=600px){.contact{padding-left:.6rem;padding-right:.6rem}.contact__info{padding:0 .65rem}.contact__form{border-radius:22px;padding:.35rem}.contact__form iframe{border-radius:16px}.demo-note,.fallback{margin-left:.5rem;margin-right:.5rem}}.card[aria-pressed=true]{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue), 0 20px 50px -25px #00000059}.services__listings{max-width:1200px;margin:1.5rem auto 0;scroll-margin-top:110px}.listings{color:#16231e;background:#fff;border:1px solid #ddd6c8;border-radius:28px;min-height:200px;padding:1.2rem}.listings__tabs{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.listings__tabs button{background:#ece5d6;border-radius:999px;padding:.6rem 1.2rem;font-weight:600}.listings__tabs button.is-on{background:var(--blue);color:#fff}.listings__hint,.listings__msg{color:#5f6b64;padding:.4rem .6rem}.listings__box{overflow-x:auto}.services__grid{grid-template-columns:repeat(2,1fr)}@media (width<=900px){.services__grid{grid-template-columns:1fr}}.listings__link{background:var(--blue);color:#fff;border-radius:999px;padding:.7rem 1.3rem;font-weight:600}.listings__link:hover{background:#3a8f6e}
