
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--forest:#0e3025;--ink:#123629;--mint:#b8e889;--cream:#f5f4ed;--muted:#56675c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',system-ui,sans-serif;background:#102f24;color:var(--ink)}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}
.nav{position:absolute;top:0;left:0;right:0;height:88px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;z-index:20;border-bottom:1px solid rgba(247,255,241,.17);color:white}
.logo{display:flex;align-items:center;white-space:nowrap}
.logo img{display:block;height:auto;max-width:100%}
.logo-nav img{width:min(270px,28vw)}
.logo-quote img{width:min(230px,22vw)}
.nav-side{display:flex;align-items:center;gap:19px;font-size:12px}.nav-side>span{font-size:10px;letter-spacing:.13em;font-weight:800;opacity:.72}
.nav-phone{border:1px solid rgba(255,255,255,.66);padding:12px 17px;border-radius:100px;font-weight:700}.nav-phone span{margin-left:10px;font-size:16px}
.hero{min-height:max(760px,100vh);position:relative;display:grid;grid-template-columns:52% 48%;isolation:isolate;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,31,22,.93) 0%,rgba(5,34,25,.72) 53%,rgba(12,45,31,.52) 100%),url("home-hero.webp") center/cover no-repeat;filter:saturate(.70);z-index:-2}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 20% 60%,transparent 0%,rgba(2,24,17,.32) 72%),linear-gradient(180deg,rgba(5,27,16,.20),transparent 32%);z-index:-1}
.hero-text{padding:145px 6% 75px 12%;display:flex;flex-direction:column;justify-content:center;position:relative;color:#f6f7ec}
.eyebrow{font-size:11px;letter-spacing:.20em;color:#bbdda8;font-weight:800}.hero h1{font-size:clamp(62px,6.5vw,112px);line-height:1.02;letter-spacing:-.075em;margin:25px 0 26px;max-width:770px}
.hero h1 em{font-family:'DM Serif Display',Georgia,serif;font-weight:400;letter-spacing:-.06em}
.hero-text>p{max-width:540px;color:#e1eadb;line-height:1.65;font-size:clamp(17px,1.35vw,20px);margin:0}
.hero-location{display:flex;align-items:center;gap:10px;margin-top:45px;font-size:12px;color:#b7d4bf;font-weight:600}
.location-dot{height:9px;width:9px;border-radius:50%;background:#aade86;box-shadow:0 0 0 5px #aade8626}
.hero-steps{position:absolute;left:5.5%;top:44%;display:flex;gap:16px;flex-direction:column}.hero-steps span{height:7px;width:7px;border:1px solid #d4e5cd;border-radius:100%;background:transparent;opacity:.6}.hero-steps span.active{background:#b9ed85;border-color:#b9ed85;opacity:1}
.hero-form-panel{padding:125px 7% 75px 5%;display:flex;justify-content:center;align-items:center}
.start-card{width:min(485px,100%);background:#f8f9f1;border-radius:19px;padding:clamp(25px,3.8vw,52px);box-shadow:0 33px 90px #00160f54}
.card-kicker{letter-spacing:.16em;font-size:10px;font-weight:800;color:#64836a}
.start-card h2{font-size:clamp(33px,3.2vw,50px);letter-spacing:-.06em;line-height:1.10;margin:19px 0 12px;font-weight:800}
.card-intro{color:#6d7b70;line-height:1.55;font-size:14px;margin:0 0 22px}
.benefits{display:grid;gap:14px;padding:5px 0 25px;margin-bottom:21px;border-bottom:1px solid #dce4d7;font-size:13px;font-weight:600;line-height:1.45}
.benefits>div{display:flex;gap:12px;align-items:flex-start}
.benefit-check{flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#daf0bf;color:#216936;display:grid;place-items:center;font-size:15px;font-weight:800}
.address-form label{display:block;font-size:12px;font-weight:800;margin:0 0 10px}
.address-row{display:flex;align-items:stretch;gap:5px;padding:6px 6px 6px 8px;background:#fff;border:1px solid #c9d6c7;border-radius:10px;box-shadow:0 3px 12px #133b1310}
.place-slot{min-width:0;flex:1;position:relative;display:flex;align-items:stretch}.address-row .place-slot input{width:100%;min-width:0;padding:13px;border:0;outline:none;font-size:13px;color:#173d29}
.address-row button{width:49px;min-width:49px;border:0;background:#9ed566;color:#153a27;border-radius:7px;font-size:24px;font-weight:800}
.address-row button:hover{background:#8bc251}
.address-form small{display:block;font-size:11px;color:#7c897e;margin-top:13px;line-height:1.5}
.card-foot{margin-top:30px;border-top:1px solid #e2e8df;padding-top:20px;font-size:11px;display:flex;align-items:center;gap:7px;color:#68766c}.security-dot{color:#69a65d}
.landing-footer{background:#0c281d;color:#b7cabc;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:21px 4%;font-size:11px}.landing-footer a:hover{text-decoration:underline}.landing-footer span{margin:0 9px}
.quote-overlay{position:fixed;inset:0;z-index:100;background:#f7f9f2;overflow:auto}.quote-overlay[hidden]{display:none}
.quote-shell{min-height:100vh;display:flex;flex-direction:column;position:relative;isolation:isolate;background:linear-gradient(90deg,#f8f9f2 0%,#f8f9f2 66%,#123d2c 66%,#123d2c 100%)}
.quote-shell::after{content:"";position:absolute;z-index:-1;top:88px;bottom:0;right:0;width:34%;background:linear-gradient(180deg,#123d2a70,#032418c4),url('home-hero.webp') center/cover no-repeat;filter:saturate(.70)}
.quote-head{height:92px;padding:16px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e1e8dc;background:#fbfcf8}
.quote-head .logo{color:var(--ink)}.progress-wrap{min-width:220px;width:min(300px,27vw);text-align:center}
.progress-track{height:5px;background:#dce8d7;border-radius:5px;overflow:hidden}.progress-track>div{height:100%;width:14%;background:#598b42;transition:width .26s}
.progress-wrap small{font-size:11px;display:block;color:#62796c;margin-top:8px;font-weight:600}
.close-btn{background:transparent;border:0;font-size:23px;color:var(--ink);cursor:pointer}
.quote-content{width:min(580px,54%);margin:clamp(38px,7vh,95px) auto 35px 8%;flex:1}
.quote-kicker{font-size:11px;letter-spacing:.15em;color:#60896b;font-weight:800}
.quote-content h2{font-size:clamp(39px,4.4vw,65px);letter-spacing:-.07em;line-height:1.07;margin:17px 0 15px;font-weight:800}
.quote-content p{font-size:15px;line-height:1.6;color:#627466;margin:0 0 28px}
.quote-content label{font-size:12px;font-weight:700;margin:16px 0 9px;display:block}
.quote-content input,.quote-content textarea{border:1px solid #c6d7c6;border-radius:9px;background:#fff;width:100%;padding:18px;outline-color:#628c59}
.options{display:grid;grid-template-columns:1fr;gap:11px}
.choice{display:flex;width:100%;align-items:center;justify-content:space-between;min-height:65px;padding:18px 23px;background:#fff;border:1px solid #d3dfcf;border-radius:10px;font-size:16px;font-weight:700;color:var(--ink);text-align:left}
.choice span{color:#538258}.choice:hover,.choice:focus-visible{border-color:#558e5e;background:#f1f7eb}
.continue{width:100%;padding:20px;color:#fff;background:var(--forest);border:0;border-radius:9px;margin-top:20px;font-weight:800}
.continue:hover{background:#24583a}.quote-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 6%;color:#6e7d72;font-size:11px;background:transparent;max-width:66%}
.back-button{border:0;background:transparent;color:var(--ink);font-weight:800;font-size:13px}
.estimate-card{background:#eaf3df;border:1px solid #c3d9b9;padding:29px;border-radius:12px;margin-top:25px}.estimate-card strong{display:block;font-size:37px;margin:14px 0;letter-spacing:-.07em}.estimate-card p{font-size:12px;margin:0}
.estimate-note{font-size:12px;background:#fff1df;padding:15px;border-radius:9px;line-height:1.5;margin-top:16px}
.split-inputs{display:grid;grid-template-columns:1fr 1fr;gap:14px}.error{color:#ad3f2f!important;font-size:12px!important;margin-top:12px!important}
.success-mark{font-size:52px;color:#37834b}.muted,.tiny{font-size:12px!important}.notice-link{text-decoration:underline}
.change-address{border:0;background:transparent;color:#3a7d46;text-decoration:underline;display:inline-block;font-weight:800;font-size:13px;margin:14px 0;cursor:pointer;padding:0}
.confirmed-address{background:#e9f4e0;border:1px solid #bcd6ae;border-radius:10px;padding:19px;font-size:14px;font-weight:700;overflow-wrap:anywhere;line-height:1.5}
.confirmed-address span{background:#285d3d;color:white;border-radius:50%;padding:4px 7px;margin-right:8px}
.place-slot gmp-place-autocomplete{width:100%;display:block;min-width:0;--gmpx-color-surface:#fff;--gmpx-color-on-surface:#143b2b;--gmpx-font-family:'DM Sans',sans-serif;--gmpx-font-size-base:14px}
.address-row .place-slot gmp-place-autocomplete{min-height:47px;align-self:center}
.quote-place-slot{width:100%}.quote-place-slot gmp-place-autocomplete{min-height:55px;background:#fff;border-radius:9px;border:1px solid #c6d7c6}
.place-slot gmp-place-autocomplete[hidden],.place-slot input[hidden],.change-address[hidden]{display:none!important}
.maps-notice{display:block!important;padding-top:8px;color:#955023!important;line-height:1.5}
@media(max-width:1000px){.hero{grid-template-columns:48% 52%}.hero-text{padding-left:10%}.hero h1{font-size:clamp(57px,6.5vw,85px)}.hero-form-panel{padding:120px 5% 45px 4%}.start-card{padding:32px}.quote-shell{background:#f8f9f2}.quote-shell::after{width:29%;opacity:.27}.quote-content{width:60%;margin-left:7%}.quote-bottom{max-width:80%}}
@media(max-width:760px){.nav{height:74px;padding:0 5%}.logo-nav img{width:185px}.logo-quote img{width:170px}.nav-side>span{display:none}.nav-phone{font-size:11px;padding:10px}.hero{display:block;min-height:100vh}.hero::before{background-position:center}.hero-text{padding:118px 6% 40px}.hero h1{font-size:clamp(57px,12vw,86px);margin:15px 0}.hero-text>p{font-size:15px;max-width:560px}.hero-location{margin-top:23px}.hero-steps{display:none}.hero-form-panel{padding:14px 5% 60px}.start-card{padding:30px 26px;width:100%;max-width:620px}.start-card h2{font-size:35px}.card-intro{font-size:13px}.benefits{font-size:12px}.landing-footer{justify-content:center;text-align:center}.quote-head{height:74px;padding:12px 5%}.quote-head .logo{font-size:20px}.progress-wrap{min-width:90px;width:125px}.quote-shell::after{display:none}.quote-content{width:min(620px,90%);margin:42px auto 18px}.quote-content h2{font-size:clamp(39px,8vw,57px)}.quote-bottom{max-width:100%;padding:25px 6%}.split-inputs{grid-template-columns:1fr}}
@media(max-width:390px){.nav-phone{font-size:10px}.logo-nav img{width:150px}.logo-quote img{width:145px}.hero h1{font-size:53px}.start-card{padding:24px 20px}.progress-wrap{width:95px;min-width:95px}}

/* Logo size correction: use trimmed transparent artwork inside the actual header bounds. */
.nav { min-height: 92px; }
.logo { display: inline-flex; flex: 0 0 auto; align-items: center; min-width: 0; overflow: visible; }
.logo img { display: block; width: auto; max-width: none; object-fit: contain; }
.logo-nav img { height: 68px; width: auto; max-width: 180px; }
.logo-quote img { height: 64px; width: auto; max-width: 170px; }
.quote-head { overflow: visible; }
@media (max-width: 760px) {
  .nav { min-height: 74px; }
  .logo-nav img { height: 51px; width: auto; max-width: 140px; }
  .logo-quote img { height: 47px; width: auto; max-width: 125px; }
}
@media (max-width: 390px) {
  .logo-nav img { height: 43px; width: auto; max-width: 115px; }
  .logo-quote img { height: 42px; width: auto; max-width: 111px; }
}

/* Multi-page Zephyr site continuation, inspired by the clear three-step customer journey. */
:root{--zephyr-forest:#103a29;--zephyr-lime:#b9e684;--zephyr-cream:#f6f6ef;--zephyr-text:#183c2a}
.nav{gap:16px}
.site-nav-links{display:flex;align-items:center;gap:clamp(10px,2.5vw,34px);margin-left:auto}
.site-nav-links a{font-size:12px;font-weight:700;color:#fff;white-space:nowrap;opacity:.96}
.site-nav-links a:hover{text-decoration:underline;text-underline-offset:7px}
.nav-quote{display:inline-flex;gap:16px;white-space:nowrap;align-items:center;padding:13px 17px;border-radius:999px;background:#bde98c;color:#143c27;font-size:12px;font-weight:800;box-shadow:0 3px 12px #00170928}
.nav-quote:hover{background:#cef5a9}
.mobile-nav{display:none;color:white;position:relative}
.mobile-nav>summary{list-style:none;font-size:23px;cursor:pointer;padding:8px}.mobile-nav>summary::-webkit-details-marker{display:none}
.mobile-nav-links{position:absolute;right:0;top:100%;width:220px;background:#f6f7ef;border-radius:12px;box-shadow:0 12px 35px #00130a50;padding:13px;display:grid;gap:6px}
.mobile-nav-links a{display:block;padding:10px 9px;border-radius:6px;font-weight:800;color:#143c27;font-size:13px}
.mobile-nav-links a:hover{background:#e6eee0}.mobile-nav-links .mobile-quote{background:#bde98c}
.site-continued{background:var(--zephyr-cream);color:var(--zephyr-text)}
.home-intro-section{padding:110px max(5%,calc((100% - 1300px)/2)) 125px}
.section-eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;color:#548168;display:flex;align-items:center;gap:20px}
.section-line{height:1px;background:#b9cbb6;max-width:70px;flex:1}
.home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:28px 0 56px}
.home-section-heading h2,.home-product-section h2,.home-last-cta h2{margin:0;font-size:clamp(45px,5vw,78px);letter-spacing:-.07em;line-height:1.08}
.home-section-heading h2 em,.home-product-section h2 em{font-family:'DM Serif Display',Georgia,serif;font-weight:400}
.home-section-heading p{font-size:16px;line-height:1.7;max-width:360px;color:#5c7464;margin:0}
.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.journey-card{min-height:310px;padding:29px 27px;border:1px solid #d7e4d3;background:#fff;border-radius:14px;display:flex;flex-direction:column;gap:14px;transition:transform .2s,box-shadow .2s}
.journey-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #0e392619}
.journey-num{font-size:12px;font-weight:900;color:#739878;letter-spacing:.08em;display:flex;justify-content:space-between}
.journey-num span{font-size:22px}.journey-card h3{font-size:clamp(24px,2vw,32px);line-height:1.12;letter-spacing:-.055em;margin:27px 0 0}
.journey-card p{font-size:14px;color:#678071;line-height:1.6;margin:0}
.journey-more{margin-top:auto;font-size:13px;font-weight:800;color:#207144}
.home-product-section{padding:90px max(5%,calc((100% - 1300px)/2));background:#dfeadc;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%}
.home-product-section p{line-height:1.7;color:#55705b;margin:25px 0 30px;max-width:390px}
.system-photo{height:410px;background:linear-gradient(0deg,#0a352e66,#0a352e06),url('home-hero.webp') 20% center/cover;border-radius:18px;position:relative}
.system-photo span{position:absolute;bottom:23px;left:26px;background:#fff;border-radius:25px;padding:10px 15px;font-size:10px;font-weight:800;letter-spacing:.13em}
.dark-pill,.light-pill{display:inline-flex;align-items:center;gap:25px;background:#133b2a;color:#fff;border-radius:70px;padding:17px 25px;font-size:14px;font-weight:800}
.dark-pill:hover{background:#28553e}.dark-pill span{font-size:17px}.light-pill{background:#bde98c;color:#143a28;white-space:nowrap}.light-pill:hover{background:#d3fab2}
.home-last-cta{background:#123b2a;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:35px;padding:100px max(5%,calc((100% - 1300px)/2))}
.home-last-cta .section-eyebrow{color:#b9e684;margin-bottom:19px}.home-last-cta h2{font-size:clamp(42px,4.5vw,70px)}.home-last-cta p{color:#c9e2cc}
@media(max-width:1100px){.site-nav-links{gap:12px}.site-nav-links a{font-size:11px}.nav-quote{padding:11px 13px;font-size:11px}}
@media(max-width:860px){.site-nav-links{display:none}.mobile-nav{display:block}.nav .nav-side{margin-left:auto}.home-section-heading{display:block}.home-section-heading p{margin-top:22px}.home-product-section{gap:5%}}
@media(max-width:660px){.nav-quote{padding:11px 10px;font-size:10px;gap:6px}.journey-grid{grid-template-columns:1fr}.journey-card{min-height:245px}.home-intro-section{padding:80px 6%}.home-section-heading{margin-bottom:35px}.home-product-section{grid-template-columns:1fr;padding:70px 6%;gap:40px}.system-photo{height:270px}.home-last-cta{display:block;padding:70px 6%}.light-pill{margin-top:20px}.mobile-nav-links{right:-5px}}
@media(max-width:390px){.nav-quote{display:none}.mobile-nav{margin-left:auto}}

/* Zephyr editorial imagery and contact links */
.nav-contact-phone{font-size:12px;font-weight:800;color:#f5f9ed;text-decoration:none;white-space:nowrap;border-bottom:1px solid #ffffff7a;padding-bottom:3px}
.nav-contact-phone:hover,.quote-contact a:hover{text-decoration:underline}
.home-contact-band{background:#f3f6ec;color:#173a29;padding:23px max(5%,calc((100% - 1300px)/2));display:flex;justify-content:space-between;align-items:center;gap:28px;border-bottom:1px solid #d4e3d2}
.home-contact-band>div:first-child{display:grid;gap:6px}
.home-contact-band strong{font-size:clamp(16px,1.9vw,23px);letter-spacing:-.035em}
.little-eyebrow{font-weight:900;letter-spacing:.17em;font-size:9px;color:#59806b}
.home-contact-actions{display:flex;flex-wrap:wrap;gap:10px 23px}
.home-contact-actions a{color:#195b3c;font-size:13px;font-weight:800;white-space:nowrap}
.home-contact-actions a:hover{text-decoration:underline}
.home-editorial-gallery{padding:50px 0 5px}
.gallery-heading{text-align:center;max-width:680px;margin:0 auto 28px}
.gallery-heading h2{font-size:clamp(36px,4vw,62px);line-height:1.08;letter-spacing:-.065em;margin:12px 0;color:#123a28}
.gallery-heading h2 em{font-family:'DM Serif Display',serif;font-weight:400}
.gallery-heading p{color:#64776a;line-height:1.7;font-size:15px;margin:0 auto}
.editorial-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.editorial-photo{margin:0;position:relative;overflow:hidden;border-radius:19px;background:#e1e9dd;min-height:360px}
.editorial-photo img{display:block;width:100%;height:390px;object-fit:cover;transition:transform .7s ease}
.editorial-photo:hover img{transform:scale(1.045)}
.editorial-photo:after{content:'';position:absolute;left:0;right:0;bottom:0;height:47%;background:linear-gradient(transparent,#05281dbd);pointer-events:none}
.editorial-photo figcaption{position:absolute;z-index:1;bottom:24px;left:25px;color:#fff;display:grid;gap:6px}
.editorial-photo figcaption span{font-size:10px;font-weight:900;letter-spacing:.18em;color:#d9eecb}
.editorial-photo figcaption strong{font-size:clamp(17px,1.9vw,24px);font-weight:800;letter-spacing:-.04em}
.gallery-disclaimer{display:block;text-align:right;color:#6b7e70;font-size:10px;margin-top:10px;line-height:1.5}
.system-photo{background-image:linear-gradient(0deg,#0a352e66,#0a352e06),url('home-exterior.webp')}
.home-footer-contact{display:flex;gap:18px;flex-wrap:wrap}
.home-footer-contact a{color:#d5e6db;font-size:11px;font-weight:700}
.quote-contact{display:flex;gap:18px;flex-wrap:wrap}.quote-contact a{font-size:12px;font-weight:800;color:#226043}
.hero-text{animation:zephyrIntro .65s cubic-bezier(.2,.7,.3,1) both}.start-card{animation:zephyrIntro .85s cubic-bezier(.2,.7,.3,1) both}
.quote-content.step-in{animation:zephyrStep .28s ease-out both}
@keyframes zephyrIntro{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes zephyrStep{from{opacity:.55;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.nav-contact-phone{display:none}}
@media(max-width:800px){.home-contact-band{display:grid;gap:14px;padding:20px 6%}}
@media(max-width:700px){.editorial-pair{grid-template-columns:1fr}.editorial-photo img{height:300px}.home-editorial-gallery{padding-top:45px}.gallery-heading{text-align:left}.gallery-disclaimer{text-align:left}.home-contact-actions{display:grid;gap:9px}.quote-contact{gap:10px}}
@media(prefers-reduced-motion:reduce){.hero-text,.start-card,.quote-content.step-in{animation:none}.editorial-photo img{transition:none}}

/* Responsive, image-safe gallery: each source photo is an independent 7:5 image.
   Nothing is cropped off-screen on mobile or desktop. */
.editorial-photo {aspect-ratio:7 / 5;min-height:0;}
.editorial-photo img,.editorial-photo:hover img {
  width:100%;height:100%;position:absolute;inset:0;
  object-fit:contain;object-position:center;transform:none;
}
@media(max-width:700px){.editorial-photo{aspect-ratio:7 / 5;min-height:0;}.editorial-photo img{height:100%;}}

/* Additional HVAC service entry on the home page */
.df-feature{padding:75px max(5%,calc((100% - 1250px)/2));display:grid;grid-template-columns:42% 1fr;gap:6%;align-items:center;background:#f2f6ee;color:#173a2a}
.df-feature-photo{height:340px;overflow:hidden;border-radius:16px}.df-feature-photo img{width:100%;height:100%;object-fit:cover;display:block}
.df-feature h2{font-size:clamp(32px,4vw,55px);line-height:1.12;letter-spacing:-.045em;margin:18px 0}.df-feature h2 em{font-family:'DM Serif Display',serif;font-weight:400}
.df-feature p{max-width:590px;line-height:1.7;color:#5b7461}.df-feature .df-status{font-size:12px;color:#52765b;margin:18px 0 22px}
@media(max-width:780px){.df-feature{grid-template-columns:1fr;padding:55px 6%}.df-feature-photo{height:240px}}

/* Make the business email visible on the estimate card, without crowding the masthead. */
.start-card .card-foot {display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
.start-card .card-foot .card-email {font-size:12px;line-height:1.5;overflow-wrap:anywhere;}
.start-card .card-foot .card-email a {color:#1a6540;font-weight:800;text-decoration:underline;text-underline-offset:3px;}
.start-card .card-foot .card-email a:hover {color:#0c4427;}
@media(max-width:520px){.mobile-nav-links {width:min(285px,88vw);} }

/* PREMIUM FULL-FRAME VANCOUVER PHOTOGRAPHY -- each source is its own complete image */
.hero{background:#102f24;}
.hero::before{
 background-color:#102f24!important;
 background-image:linear-gradient(90deg,rgba(3,31,22,.85),rgba(6,39,27,.49) 55%,rgba(7,43,27,.34)),url('home-hero.webp')!important;
 background-size:cover,contain!important;
 background-position:center,center!important;
 background-repeat:no-repeat,no-repeat!important;
 filter:none!important;
}
.quote-shell::after{background:#103d2d!important;filter:none!important;}
.system-photo{
 height:auto!important;min-height:0!important;aspect-ratio:1484/1060;
 background:linear-gradient(0deg,#0a352e42,#0a352e04),url('home-install.webp') center/contain no-repeat!important;
 background-color:#dae6da!important;
}
.editorial-pair{align-items:start;}
.editorial-photo,.editorial-photo:hover{height:auto!important;min-height:0!important;aspect-ratio:auto!important;}
.editorial-photo img,.editorial-photo:hover img{
 position:relative!important;inset:auto!important;display:block;width:100%!important;
 height:auto!important;object-fit:contain!important;transform:none!important;
}
.df-feature-photo{height:auto!important;aspect-ratio:1484/1060;background:#e2eadd;}
.df-feature-photo img{display:block;width:100%;height:auto!important;object-fit:contain!important;}
@media(max-width:760px){
 .hero::before{background-image:linear-gradient(180deg,rgba(9,43,30,.02) 0%,rgba(9,43,30,.07) 24%,#103226 40%,#103226 100%),url('home-hero.webp')!important;
   background-position:center,center 76px!important;
   background-size:cover,100% auto!important;}
 .hero-text{padding-top:calc(100vw * .563 + 122px)!important;}
}

/* When Google Places is unavailable, manual address entry stays friendly and usable. */
.maps-fallback-note{display:block;padding:9px 0 6px;color:#486c59;font-size:12px;line-height:1.55;}
