.service-icon{width:42px;height:42px;color:var(--gold);margin-bottom:30px;display:block}
.service-icon svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.logo-mark svg{width:36px;height:36px;display:block;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.menu-toggle svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.floating-wa svg{width:25px;height:25px;display:block;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.inline-icon{width:15px;height:15px;display:inline-block;vertical-align:-3px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-left:10px;transition:transform .25s ease}.button:hover .inline-icon,.text-link:hover .inline-icon,.service-card a:hover .inline-icon{transform:translate(3px,-3px)}.reveal{transition-delay:var(--reveal-delay,0ms)}.button,.text-link,.service-card a,.project-card,.area-link-grid a,.footer-links a{transition:transform .3s ease,color .3s ease,background-color .3s ease}.button:hover{transform:translateY(-3px)}.service-card:hover{transform:translateY(-6px)}.area-link-grid a:hover{padding-left:8px;color:var(--gold)}.project-card:hover{transform:translateY(-4px)}.hero-copy .eyebrow{animation:rise-in .8s both}.hero-copy h1{animation:rise-in .8s .12s both}.hero-copy .hero-text{animation:rise-in .8s .22s both}.hero-copy .hero-actions{animation:rise-in .8s .32s both}.floating-wa{animation:wa-pulse 3.5s infinite}.hero-image img{animation:hero-zoom 12s ease-out both}@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes hero-zoom{from{transform:scale(1.08)}to{transform:scale(1)}}@keyframes wa-pulse{0%,70%,100%{box-shadow:0 8px 24px #0003}80%{box-shadow:0 8px 24px #0003,0 0 0 10px #48a36b33}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
.dev-credit{grid-column:1/-1;color:#899889;font-size:.68rem!important;margin-top:-12px!important;padding-top:0!important;border-top:0!important}.dev-credit span{color:var(--gold)}
.service-areas{background:var(--beige)}.area-link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 30px;border-top:1px solid var(--line)}.area-link-grid a{display:grid;grid-template-columns:1fr auto;gap:2px 15px;padding:20px 0;border-bottom:1px solid var(--line);color:var(--green)}.area-link-grid span{font-size:.65rem;color:var(--gold);letter-spacing:.08em;text-transform:uppercase}.area-link-grid strong{font-family:'Playfair Display';font-size:1.35rem;font-weight:500}.area-link-grid b{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--gold);font-size:1.25rem}.footer-locations{display:flex;flex-direction:column;gap:7px}.footer-locations strong{color:#eee;margin-bottom:4px}.footer-locations a{font-size:.72rem}.footer-locations a:hover{color:var(--gold)}
.page-hero{padding:100px 10% 110px;background:var(--beige)}.page-hero h1{font-size:clamp(3.7rem,7vw,7rem);margin-bottom:0}.page-hero .hero-text{max-width:560px}.inner-page-content{background:var(--ivory)}.inner-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-bottom:80px}.inner-grid>div:last-child{max-width:500px}.page-service-grid{border-top:1px solid var(--line)}.about-page{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--beige)}.about-page .about-image{height:620px}.about-page .about-copy{align-self:center}.contact-page{min-height:620px}.breadcrumbs{margin-bottom:22px}.footer-locations{grid-column:4}
@media(max-width:800px){.area-link-grid{grid-template-columns:1fr}.footer-locations{margin-top:30px}}
@media(max-width:800px){footer{display:block}.footer-links,.footer-locations{margin-top:30px}}
.location-hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:var(--beige)}.location-hero-copy{padding:90px 12%;display:flex;flex-direction:column;justify-content:center}.breadcrumbs{font-size:.7rem;color:var(--muted);margin:22px 0}.breadcrumbs a{color:var(--green);text-decoration:underline}.location-hero h1{font-size:clamp(3.4rem,6vw,6.5rem)}.location-hero-image{min-height:620px}.location-hero-image img{width:100%;height:100%;object-fit:cover;display:block}.location-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.location-content-grid>div:last-child{max-width:500px}.location-content-grid>div:last-child p:not(.lead){color:var(--muted)}.location-services{margin-top:85px;border-top:1px solid var(--line);padding-top:28px}.location-services h3{font-family:'Playfair Display';font-weight:500;font-size:1.5rem}.location-service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px}.location-service-list a{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0;font-size:.82rem;color:var(--green)}.location-service-list span{color:var(--gold)}.location-proof{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:95px 10%;background:var(--green);color:white}.location-proof h2{color:white}.location-proof>div:last-child{align-self:end;color:#d0d9cf;max-width:500px}.area-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.area-list span{border:1px solid #6d8a72;padding:9px 14px;font-size:.72rem;color:white}
@media(max-width:800px){.location-hero{display:block}.location-hero-copy{padding:70px 8%}.location-hero-image{min-height:420px}.location-content-grid,.location-proof{display:block}.location-services{margin-top:55px}.location-proof{padding:70px 8%}.location-proof>div:last-child{margin-top:35px}.location-service-list{grid-template-columns:1fr}}
footer{grid-template-columns:1.25fr 1fr 1fr 1fr}
footer{grid-template-columns:1.25fr 1fr 1fr}footer>.logo-light{grid-column:1;grid-row:1}footer>p{grid-column:1;grid-row:2;margin:0}.footer-links{grid-column:2;grid-row:1 / span 2}.footer-locations{grid-column:3;grid-row:1 / span 2}
 .calculator-page{background:var(--beige)}.calculator-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:8%;align-items:start}.calculator-form{background:var(--ivory);padding:34px}.calculator-form>label{display:block;color:var(--muted);font-size:.75rem;margin-bottom:24px}.calculator-form select{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 0;color:var(--ink);font:inherit}.calculator-form output{float:right;color:var(--gold);font-weight:700}.calculator-form input[type=range]{display:block;width:100%;accent-color:var(--green);margin-top:15px}.calculator-form fieldset{border:0;border-top:1px solid var(--line);padding:22px 0 0;margin:28px 0 0}.calculator-form legend{font-size:.75rem;color:var(--muted);margin-bottom:15px}.choice{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer}.choice input{accent-color:var(--green)}.choice span{display:flex;justify-content:space-between;align-items:center;flex:1;color:var(--green);font-size:.85rem}.choice small{color:var(--muted);font-size:.68rem}.check{display:flex;gap:12px;padding:9px 0;color:var(--green);font-size:.82rem;cursor:pointer}.check input{accent-color:var(--green)}.calculator-form .button{margin-top:28px}.estimate-card{background:var(--green);color:white;padding:42px;position:sticky;top:25px}.estimate-range{display:flex;align-items:baseline;gap:10px;margin:32px 0 12px;color:var(--gold)}.estimate-range span{font-size:1.2rem}.estimate-range strong{font:500 clamp(2.2rem,4vw,4rem) 'Playfair Display'}.estimate-range b{font-size:.7rem;color:#cbd4cb}.estimate-note{color:#cbd4cb;font-size:.8rem}.estimate-breakdown{border-top:1px solid #55705b;margin:30px 0;padding-top:10px}.estimate-breakdown span{display:flex;justify-content:space-between;padding:9px 0;color:#d9e1d7;font-size:.72rem}.estimate-breakdown span b{color:var(--gold)}
@media(max-width:800px){.calculator-layout{display:block}.estimate-card{position:static;margin-top:30px}.calculator-form{padding:25px}}
