:root{--pine:#143b40;--pine-dark:#0c292d;--ink:#173237;--mist:#e5ebe8;--paper:#f7f8f6;--white:#fff;--copper:#bc7950;--line:#cbd6d2;--font-display:"Barlow Condensed",Impact,sans-serif;--font-body:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.6 var(--font-body)}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:.96}h2{font-size:clamp(3.2rem,6.3vw,6.7rem);letter-spacing:-.02em}h2 span{color:#65817f}.shell{width:min(1380px,calc(100% - 80px));margin:auto}.section{padding:clamp(80px,9vw,145px) 0}.eyebrow{font-size:.72rem;line-height:1.3;letter-spacing:.2em;font-weight:700;color:#397476;margin-bottom:29px}.eyebrow.light{color:#a6c7c5}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:100;background:white;padding:1rem}.skip-link:focus{top:1rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--copper);outline-offset:4px}
.site-header{position:relative;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{height:91px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:13px;font-family:var(--font-display);font-size:1.55rem;line-height:.78;letter-spacing:.03em;font-weight:700;white-space:nowrap}.brand small{display:block;font:700 .57rem/1.4 var(--font-body);letter-spacing:.13em;margin-top:7px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:2px solid currentColor;font-size:1.8rem;letter-spacing:-.1em;position:relative}.brand-mark span{font:600 .7rem var(--font-body);position:absolute;right:1px;top:0}.nav{display:flex;align-items:center;gap:clamp(18px,2.5vw,42px);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.nav>a:not(.nav-cta):hover{color:#a66841}.nav-cta{padding:15px 20px;background:var(--pine);color:white}.nav-cta span{padding-left:18px}.nav-cta:hover,.button-copper:hover{background:#985a37}.menu-toggle{display:none;border:0;background:none;font-weight:700;text-transform:uppercase}
.hero{position:relative;min-height:720px;height:min(820px,82vw);color:#fff;overflow:hidden}.hero>img,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero>img{object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(90deg,rgba(7,31,34,.88),rgba(7,31,34,.57) 43%,rgba(7,31,34,.03) 88%)}.hero-inner{position:relative;height:100%;display:flex;justify-content:space-between;align-items:center}.hero-copy{max-width:720px;padding-bottom:30px}.hero h1{font-size:clamp(5rem,10vw,10.8rem);letter-spacing:-.035em}.hero h1 em{font-style:normal;color:#c4d9d3}.hero-copy>p:not(.eyebrow){font-size:clamp(1rem,1.4vw,1.22rem);max-width:520px;margin:29px 0 35px;color:#e5eeea}.hero-side{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:65px 0 80px;font-size:.68rem;letter-spacing:.18em;writing-mode:vertical-rl}.hero-caption{position:absolute;right:0;bottom:0;background:var(--paper);color:var(--ink);padding:16px 40px;font-size:.75rem;font-weight:700;letter-spacing:.05em}.hero-caption span{color:#738b88;margin-left:25px}.button{display:inline-flex;gap:32px;justify-content:space-between;align-items:center;min-height:58px;padding:0 24px;text-transform:uppercase;font-size:.76rem;letter-spacing:.07em;font-weight:700;border:0}.button-light{background:#f5f7f3;color:var(--pine)}.button-light:hover{background:#d8e3df}.button-copper{background:var(--copper);color:#fff}
.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12%;align-items:start}.intro-right{padding-top:63px}.intro-right>p{font-size:clamp(1.06rem,1.5vw,1.28rem);line-height:1.7;max-width:530px}.rule-list{margin-top:42px;border-top:1px solid var(--line)}.rule-list>div{display:grid;grid-template-columns:55px 1fr;gap:15px;padding:17px 0;border-bottom:1px solid var(--line);font-size:.91rem;font-weight:600}.rule-list strong{color:#7f9a95;font:600 1.2rem var(--font-display)}
.services{background:var(--mist)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.section-heading>p{max-width:300px;font-size:.97rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{position:relative;min-height:420px;display:flex;flex-direction:column;align-items:flex-start;padding:32px;background:#f5f7f4;transition:background .25s,transform .25s}.service-card:hover{background:#fff;transform:translateY(-5px)}.service-card-feature{background:var(--pine);color:white}.service-card-feature:hover{background:#1b5258}.card-index{font-size:.68rem;letter-spacing:.16em;font-weight:700}.service-card h3{font-size:clamp(2.4rem,3.6vw,4rem);margin-top:auto}.service-card p{font-size:.86rem;max-width:230px;margin-top:18px}.card-arrow{font-size:1.55rem;position:absolute;right:32px;bottom:27px}.service-card-feature p{color:#c6d7d2}
.image-break{height:clamp(380px,54vw,680px);position:relative;overflow:hidden}.image-break img{width:100%;height:100%;object-fit:cover;object-position:center 54%}.image-break-label{position:absolute;left:max(40px,calc((100vw - 1380px)/2));bottom:40px;background:#f7f8f6;padding:19px 27px;font:600 1.6rem var(--font-display);text-transform:uppercase}
.work{background:var(--paper)}.work-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr;gap:18px}.work-grid figure{margin:0}.work-grid img{width:100%;height:370px;object-fit:cover}.work-grid figure:first-child img{height:460px}.work-grid figcaption{display:flex;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);font-size:.82rem}.work-grid figcaption span{color:#718987}
.process{background:var(--pine);color:white}.process-grid{display:grid;grid-template-columns:1fr .82fr;gap:12%;align-items:center}.process h2{font-size:clamp(4rem,7vw,7.2rem)}.process p{color:#cfdfd9;max-width:500px;margin:30px 0}.text-link{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding-bottom:8px;border-bottom:1px solid #a9d0c6}.text-link span{margin-left:40px}.process ol{list-style:none;padding:0;margin:0}.process li{display:grid;grid-template-columns:70px 1fr;gap:20px;border-top:1px solid #4b6c6d;padding:24px 0}.process li:last-child{border-bottom:1px solid #4b6c6d}.process li>span{font:600 1.5rem var(--font-display);color:#9bbeb7}.process li strong{font-size:1.14rem}.process li p{font-size:.89rem;margin:7px 0 0}
.areas{background:#edf2ef}.areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.areas p:not(.eyebrow){max-width:540px;margin-top:30px}.areas-map{height:360px;background:#dae5e0;position:relative;overflow:hidden;border:1px solid #bdd0c7;display:flex;flex-direction:column;justify-content:center;align-items:center}.areas-map>span,.areas-map small{font-size:.7rem;letter-spacing:.2em;font-weight:700;z-index:1}.areas-map strong{font:600 clamp(5rem,9vw,10rem)/1 var(--font-display);z-index:1;color:#2b5c5e}.map-lines{position:absolute;width:690px;height:690px;border:1px solid #adc8bd;transform:rotate(28deg);box-shadow:0 0 0 65px #dae5e0,0 0 0 66px #adc8bd,0 0 0 140px #dae5e0,0 0 0 141px #adc8bd}
.faq{background:var(--paper)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14%}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:30px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:1.3rem;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{max-width:670px;padding:14px 25px 0 0;color:#526c6a;font-size:.92rem}
.contact{background:var(--pine-dark);color:white}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:11%}.contact h2{font-size:clamp(4rem,7vw,7.5rem)}.contact p{max-width:440px;margin-top:26px;color:#cee0d9}.contact-note{margin-top:40px;border-left:2px solid var(--copper);padding-left:16px;color:#afc8c0;font-size:.81rem}.project-form{background:#f6f8f6;color:var(--ink);padding:clamp(24px,4vw,56px);display:flex;flex-direction:column}.project-form label{font-size:.73rem;letter-spacing:.06em;font-weight:700;text-transform:uppercase;margin-bottom:7px}.project-form input,.project-form select,.project-form textarea{width:100%;background:#fff;border:1px solid #bdccc7;border-radius:0;color:var(--ink);padding:12px 13px;margin-bottom:19px;min-height:48px}.project-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row>div{display:flex;flex-direction:column}.project-form button{align-self:flex-start}.project-form .form-status{color:#5c7570;font-size:.75rem;line-height:1.5;margin-top:14px}
.footer{background:#092226;color:white;padding:50px 0 24px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer-top p{color:#91aaa5;font-size:.85rem}.footer-bottom{margin-top:75px;border-top:1px solid #2a4649;padding-top:20px;font-size:.73rem;color:#8baaa5}.footer-bottom nav{display:flex;gap:24px}.footer-bottom a:hover{color:white}
.project-form button:disabled{cursor:wait;opacity:.7}.project-form .form-status.is-ok{color:#276044}.project-form .form-status.is-error{color:#a54435}
.subhero{background:var(--pine-dark);color:white;padding:105px 0 110px;position:relative;overflow:hidden}.subhero:after{content:"";position:absolute;right:-12%;top:-55%;width:60vw;aspect-ratio:1;border:1px solid #345659;border-radius:50%;box-shadow:0 0 0 65px #0c292d,0 0 0 66px #345659,0 0 0 145px #0c292d,0 0 0 146px #345659}.subhero .shell{position:relative;z-index:1}.subhero h1{font-size:clamp(5rem,10vw,10rem);max-width:1100px}.subhero p:not(.eyebrow){max-width:580px;color:#c8dbd5;font-size:1.12rem;margin-top:30px}.breadcrumbs{font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:60px;color:#a1bdb6}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.detail-content{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.detail-content .lead{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.6}.detail-content p:not(.eyebrow){margin-bottom:20px}.detail-content h2{font-size:clamp(3rem,5vw,5rem)}.detail-list{list-style:none;padding:0;margin:25px 0 0;border-top:1px solid var(--line)}.detail-list li{border-bottom:1px solid var(--line);padding:16px 0;font-weight:600}.detail-image{width:100%;height:480px;object-fit:cover}.detail-cta{background:var(--mist);text-align:center}.detail-cta h2{margin-bottom:25px}.detail-cta p{max-width:560px;margin:0 auto 28px}
@media(max-width:900px){.shell{width:min(100% - 40px,1380px)}.header-inner{height:72px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:72px;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:15px 20px 25px;box-shadow:0 14px 25px #0922262b}.nav.is-open{display:flex}.nav a{padding:13px 0}.nav-cta{padding:13px 18px!important}.hero{height:690px;min-height:0}.hero h1{font-size:clamp(5.5rem,13vw,8rem)}.hero-side{display:none}.intro-grid,.process-grid,.areas-grid,.faq-grid,.contact-grid,.detail-content{grid-template-columns:1fr;gap:45px}.intro-right{padding-top:0}.work-grid{grid-template-columns:repeat(2,1fr)}.work-grid figure:last-child{display:none}.service-card{min-height:360px}.service-card h3{font-size:2.7rem}.contact-grid{gap:55px}}
@media(max-width:640px){.shell{width:calc(100% - 32px)}.section{padding:75px 0}.brand{font-size:1.35rem}.brand-mark{width:37px;height:37px}.hero{height:680px}.hero>img{object-position:63% center}.hero-shade{background:linear-gradient(90deg,rgba(7,31,34,.82),rgba(7,31,34,.31)),linear-gradient(0deg,rgba(7,31,34,.45),transparent 50%)}.hero-inner{align-items:flex-end;padding-bottom:90px}.hero-copy{padding:0}.hero h1{font-size:clamp(4.7rem,18vw,7rem)}.hero-copy>p:not(.eyebrow){font-size:.98rem;margin:21px 0 26px}.hero-caption{padding:10px 16px;font-size:.63rem}.hero-caption span{display:none}.section-heading{display:block}.section-heading>p{margin-top:22px}.service-grid,.work-grid{grid-template-columns:1fr}.service-card{min-height:300px}.service-card h3{font-size:3.3rem}.image-break{height:350px}.image-break-label{left:16px;bottom:16px;padding:12px;font-size:1.1rem}.work-grid figure:last-child{display:block}.work-grid img,.work-grid figure:first-child img{height:300px}.areas-map{height:250px}.form-row{grid-template-columns:1fr;gap:0}.project-form{padding:23px}.footer-top,.footer-bottom{display:block}.footer-top p{margin-top:28px}.footer-bottom nav{flex-wrap:wrap;margin-top:20px;gap:12px 19px}.subhero{padding:60px 0 75px}.subhero h1{font-size:clamp(4.2rem,16vw,7rem)}.breadcrumbs{margin-bottom:35px}.detail-image{height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card{transition:none}}

/* Conversion-focused Langley homepage */
.landing{font-size:15px}
.landing .site-header{position:sticky;top:0;z-index:30}
.landing .header-inner{height:74px}
.landing .section{padding:76px 0 84px}
.landing .eyebrow{margin-bottom:13px}
.landing h2{font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.08;letter-spacing:-.015em}
.landing .button{min-height:47px;padding:0 19px;font-size:.74rem;gap:18px}
.landing .hero{height:auto;min-height:625px}
.landing .hero>img{object-position:center 51%}
.landing .hero-shade{background:linear-gradient(90deg,rgba(7,31,34,.92),rgba(7,31,34,.69) 48%,rgba(7,31,34,.33))}
.landing .hero-inner{min-height:625px;padding:54px 0;display:grid;grid-template-columns:minmax(0,1.17fr) minmax(350px,.73fr);gap:clamp(30px,5vw,80px);align-items:center}
.landing .hero-copy{max-width:700px;padding:0}
.landing .hero h1{font-size:clamp(3rem,5.2vw,5.45rem);line-height:.96;letter-spacing:-.025em;text-wrap:balance;text-transform:uppercase}
.landing .hero-lede{font-size:1.06rem;line-height:1.55;max-width:550px;margin:23px 0!important;color:#edf5ef!important}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.hero-text-link{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-decoration:underline;text-underline-offset:5px}
.landing .hero-proof{font-size:.75rem!important;margin:28px 0 0!important;color:#d1e0d8!important;font-weight:600;max-width:none!important}
.hero-proof span{padding:0 8px;color:#c9916c}
.landing .hero-form{background:#f7f8f6;color:var(--ink);padding:26px;box-shadow:0 18px 60px rgba(5,27,28,.26)}
.landing .hero-form h2{font-size:2.1rem;margin:0 0 7px}
.landing .hero-form>p:not(.form-status){font-size:.82rem;line-height:1.45;margin:0 0 16px;color:#526b67}
.landing .hero-form .form-eyebrow{color:#568078!important;font-size:.65rem!important;letter-spacing:.15em;font-weight:700;margin:0 0 6px!important}
.landing .lead-form label{display:block;color:var(--ink);font-size:.7rem;line-height:1.3;text-transform:uppercase;letter-spacing:.04em;font-weight:700;margin-bottom:6px}
.landing .lead-form input:not([type=hidden]):not([type=checkbox]),.landing .lead-form select,.landing .lead-form textarea{display:block;width:100%;border:1px solid #bfcfca;border-radius:0;background:#fff;color:var(--ink);padding:9px 11px;min-height:41px;margin:0 0 12px;font:inherit}
.landing .lead-form textarea{resize:vertical}
.landing .lead-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.landing .lead-form .form-row>div{min-width:0}
.landing .lead-form button{width:100%;margin-top:2px}
.landing .lead-form button:disabled{cursor:wait;opacity:.7}
.landing .lead-form small{display:block;margin-top:10px;color:#657a76;font-size:.68rem;line-height:1.4}
.landing .lead-form .form-status{font-size:.79rem;line-height:1.45;margin:10px 0 0}
.landing .lead-form .form-status.is-ok{color:#276044}.landing .lead-form .form-status.is-error{color:#a54435}





.compact-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:27px}.compact-heading>div{max-width:700px}.compact-heading>p{max-width:325px;color:#536c68;font-size:.88rem;line-height:1.5}
.conversion-services{background:#f7f8f6}.conversion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.conversion-card{background:white;display:flex;flex-direction:column;border:1px solid #dce5e0;transition:transform .2s,box-shadow .2s}.conversion-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px #143b4017}.conversion-card img{width:100%;height:176px;object-fit:cover}.conversion-card.featured img{object-position:center 56%}.conversion-card>div{padding:17px 19px 19px;display:flex;flex:1;flex-direction:column}.conversion-card h3{font:600 1.55rem/1.06 var(--font-display);letter-spacing:-.01em}.conversion-card p{color:#58716c;font-size:.82rem;line-height:1.45;margin:8px 0 15px}.conversion-card span{margin-top:auto;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:#9b5e3d}
.section-action{border-top:1px solid var(--line);margin-top:28px;padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.section-action p{max-width:510px;font-size:.91rem}.section-action .button{white-space:nowrap}
.mid-cta{background:var(--pine);color:white;padding:43px 0}.mid-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.mid-cta .eyebrow{margin-bottom:8px}.mid-cta h2{font-size:clamp(2rem,3.5vw,3.25rem);max-width:700px}.mid-cta p:not(.eyebrow){margin-top:9px;color:#d1e2db;font-size:.87rem}.mid-cta .button{white-space:nowrap}
.project-proof{background:#edf2ef}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-grid figure{margin:0;background:#fff}.project-grid img{width:100%;height:220px;object-fit:cover}.project-grid figcaption{display:flex;flex-direction:column;gap:4px;padding:14px 16px;font-size:.84rem}.project-grid figcaption span{font-size:.73rem;color:#637a75}
.why-choose{background:#fff}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.why-grid>div>p:not(.eyebrow){margin:17px 0 18px;max-width:560px;font-size:.94rem;line-height:1.6;color:#526b66}.why-grid ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.why-grid li{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--line);font-size:.86rem}.why-grid li strong{font-size:.91rem}.why-grid li span{color:#637973}.text-cta{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--copper);padding:0 0 5px;color:#925833}.text-cta:hover{color:#5e351d}
.landing .areas{background:#e7eeea}.landing .areas-grid{grid-template-columns:1fr .72fr;gap:9%}.landing .areas p:not(.eyebrow){margin:16px 0 20px;font-size:.91rem}.landing .areas-map{height:240px}.landing .areas-map strong{font-size:clamp(4rem,6vw,6rem)}
.landing .faq{background:#f7f8f6}.landing .faq-grid{grid-template-columns:.85fr 1.15fr;gap:9%}.landing .faq-grid .text-cta{margin-top:18px}.landing .faq details{padding:15px 0}.landing .faq summary{font-size:.88rem}.landing .faq details p{font-size:.83rem}
.landing .contact{background:var(--pine-dark)}.landing .contact-grid{grid-template-columns:.75fr 1fr;gap:10%}.landing .contact h2{font-size:clamp(2.3rem,4.1vw,3.8rem)}.landing .contact p{font-size:.93rem;margin-top:17px}.landing .contact-note{margin-top:23px}.review-link{display:inline-block;margin-top:20px;color:#d3dfd9;font-size:.78rem;text-decoration:underline;text-underline-offset:4px}.landing .project-form{padding:31px}.landing .project-form input:not([type=hidden]):not([type=checkbox]),.landing .project-form select,.landing .project-form textarea{min-height:43px;margin-bottom:14px}.landing .project-form .form-row{gap:14px}.landing .project-form label{margin-bottom:5px}.landing .project-form .button{width:100%;justify-content:space-between}.landing .footer{padding:36px 0 22px}.landing .footer-bottom{margin-top:38px}
/* Keep service detail pages at the same more practical scale. */
.subhero{padding:70px 0 75px}.subhero h1{font-size:clamp(3.8rem,6.5vw,6.7rem)}.subhero p:not(.eyebrow){font-size:1rem}.breadcrumbs{margin-bottom:35px}.detail-content h2{font-size:clamp(2.4rem,4vw,4rem)}.detail-content .lead{font-size:1.08rem}.detail-image{height:390px}.detail-cta h2{font-size:clamp(2.4rem,4vw,4rem)}
@media(max-width:1050px){.landing .hero-inner{grid-template-columns:1fr .85fr;gap:25px}.landing .hero h1{font-size:4.2rem}.landing .nav{gap:16px}}
@media(max-width:900px){.landing .hero-inner{grid-template-columns:1fr;min-height:0;padding:55px 0 42px}.landing .hero-copy{max-width:700px}.landing .hero-form{width:min(100%,610px)}.landing .hero{min-height:0}.landing .hero h1{font-size:clamp(3.5rem,7vw,5rem)}.conversion-grid{grid-template-columns:repeat(2,1fr)}.landing .areas-grid,.landing .faq-grid,.landing .contact-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:640px){.landing .section{padding:58px 0 65px}.landing .hero-inner{padding:45px 0 28px}.landing .hero h1{font-size:clamp(3.25rem,11.5vw,4.8rem)}.landing .hero-lede{font-size:.92rem;margin:17px 0 21px!important}.hero-actions{gap:14px}.landing .hero-proof{line-height:1.5;margin:19px 0 0!important}.landing .hero-form{padding:22px}.landing .hero-form h2{font-size:1.9rem}.landing .lead-form .form-row{grid-template-columns:1fr;gap:0}.compact-heading{display:block}.compact-heading>p{margin-top:11px}.conversion-grid,.project-grid,.why-grid{grid-template-columns:1fr}.conversion-card img{height:190px}.mid-cta-inner,.section-action{display:block}.mid-cta .button,.section-action .button{margin-top:17px}.project-grid img{height:235px}.why-grid{gap:30px}.why-grid li{grid-template-columns:120px 1fr;gap:15px}.landing .areas-map{height:200px}.landing .project-form{padding:22px}.landing .project-form .form-row{grid-template-columns:1fr;gap:0}.landing .footer-bottom{margin-top:30px}}

/* Service landing pages */
.service-page{font-size:15px}
.service-page .site-header{position:sticky;top:0;z-index:30}
.service-page .header-inner{height:74px}
.service-page .section{padding:72px 0 80px}
.service-page .eyebrow{margin-bottom:14px}
.service-page h2{font-size:clamp(2.1rem,3.5vw,3.45rem);line-height:1.05}
.service-page .button{min-height:47px;padding:0 19px;gap:18px;font-size:.73rem}
.service-hero{background:var(--pine-dark);color:white;position:relative;overflow:hidden}
.service-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,39,43,.96),rgba(8,39,43,.77)),url('assets/langley-acreage-hero.webp') center/cover}
.service-hero-grid{position:relative;display:grid;grid-template-columns:1.2fr .72fr;gap:8%;align-items:center;padding:55px 0}
.service-hero .breadcrumbs{font-size:.68rem;margin-bottom:42px;color:#afc9c3}
.service-hero h1{font-size:clamp(3.5rem,5.2vw,5.7rem);line-height:.97;max-width:830px;text-transform:uppercase}
.service-hero .service-lede{font-size:1.03rem;line-height:1.55;max-width:610px;color:#d7e7e1;margin-top:20px}
.service-hero-links{display:flex;gap:22px;margin-top:28px;flex-wrap:wrap}.service-hero-links a{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.detail-form{background:#f7f8f6;color:var(--ink);padding:27px;box-shadow:0 14px 40px #051a1d50}
.detail-form h2{font-size:2.15rem}.detail-form>p:not(.form-status){font-size:.83rem;line-height:1.45;color:#617871;margin:8px 0 18px}
.detail-form label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:5px}
.detail-form input:not([type=hidden]):not([type=checkbox]){display:block;width:100%;min-height:42px;padding:9px 11px;background:white;border:1px solid #bdccc7;margin-bottom:12px;color:var(--ink)}
.detail-form button{width:100%;justify-content:space-between;margin-top:3px}.detail-form button:disabled{cursor:wait;opacity:.7}.detail-form small{display:block;color:#6b807a;margin-top:10px;font-size:.68rem}.detail-form .form-status{font-size:.8rem;line-height:1.4;margin-top:10px}.detail-form .form-status.is-ok{color:#276044}.detail-form .form-status.is-error{color:#a54435}
.service-detail{background:var(--paper)}.service-detail-grid{display:grid;grid-template-columns:1fr .88fr;gap:9%;align-items:start}.service-detail p:not(.eyebrow){margin:17px 0 0;max-width:650px;font-size:.94rem;line-height:1.65;color:#526b66}.service-detail .text-cta{margin-top:24px}.service-detail figure{margin:0}.service-detail figure img{width:100%;height:360px;object-fit:cover}.service-detail figcaption{font-size:.7rem;color:#708680;padding:9px 0}
.service-includes{background:#e5ebe8}.service-includes-grid{display:grid;grid-template-columns:.85fr 1fr;gap:9%;margin-bottom:25px}.service-includes-grid p:not(.eyebrow){font-size:.91rem;max-width:480px;margin-top:16px}.service-includes ul{list-style:none;padding:0;margin:0;border-top:1px solid #c1d0c9}.service-includes li{padding:15px 0;border-bottom:1px solid #c1d0c9;font-weight:600;font-size:.93rem}
.service-faq{background:#f7f8f6}.service-faq-grid{display:grid;grid-template-columns:1fr .55fr;gap:12%}.service-faq-grid p:not(.eyebrow){max-width:650px;margin:16px 0 19px;font-size:.93rem}.service-faq aside{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:17px;gap:13px;font-size:.83rem}.service-faq aside strong{text-transform:uppercase;letter-spacing:.05em;font-size:.69rem;color:#6c857f}.service-faq aside a{border-bottom:1px solid var(--line);padding-bottom:10px;font-weight:600}.service-faq aside a:hover{color:#9b5e3d}
.service-page .footer{padding:36px 0 22px}.service-page .footer-bottom{margin-top:38px}
.visual-note{margin-top:13px;color:#6a817c;font-size:.72rem}.project-grid img{filter:saturate(.83) contrast(1.03)}
@media(max-width:900px){.service-hero-grid{grid-template-columns:1fr;gap:35px}.detail-form{max-width:590px}.service-detail-grid,.service-includes-grid,.service-faq-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:640px){.service-page .section{padding:55px 0 62px}.service-hero-grid{padding:40px 0}.service-hero .breadcrumbs{margin-bottom:28px}.service-hero h1{font-size:clamp(3.15rem,11vw,4.6rem)}.service-hero .service-lede{font-size:.92rem}.detail-form{padding:21px}.service-detail figure img{height:260px}.service-page .footer-bottom{margin-top:30px}}

/* Navigation and phone-first quote flow */
.site-header .nav{gap:25px}
.nav-services{position:relative}
.nav-services summary{list-style:none;cursor:pointer;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700;display:flex;align-items:center;gap:6px}
.nav-services summary::-webkit-details-marker{display:none}
.nav-services summary span{font-size:1rem;line-height:0}
.nav-dropdown{position:absolute;top:calc(100% + 25px);left:-22px;width:285px;background:#f7f8f6;color:var(--ink);padding:18px;box-shadow:0 18px 40px #07212533;border:1px solid #d8e4dd;display:flex;flex-direction:column;gap:0;z-index:35}
.nav-dropdown strong{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#647d77;padding:5px 8px 9px}
.nav-dropdown a{padding:9px 8px!important;display:block;font-size:.82rem;text-transform:none;letter-spacing:0;font-weight:600;border-top:1px solid #e5ece8}
.nav-dropdown a:hover{background:#e8efeb;color:#8d4d2b}
.nav a:focus-visible,.nav-services summary:focus-visible,.quote-wizard button:focus-visible,.quote-wizard input:focus-visible,.quote-wizard textarea:focus-visible{outline:2px solid #bd734b;outline-offset:3px}
.quote-wizard{display:block!important}
.quote-wizard h2{font-size:1.85rem!important;line-height:1.07;margin:0 0 6px}
.quote-wizard .form-eyebrow{color:#a75e38!important;font-size:.64rem!important;letter-spacing:.12em;font-weight:700;margin:0 0 6px!important}
.quote-wizard .wizard-intro{font-size:.79rem!important;line-height:1.45!important;color:#59716b!important;margin:0 0 15px!important}
.wizard-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 17px}
.wizard-progress span{border-top:3px solid #cfdbd5;padding-top:6px;font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#70857f}
.wizard-progress .is-current{border-color:#ad643e;color:var(--ink)}.wizard-progress .is-done{border-color:#376e5f;color:#376e5f}
.quote-wizard .wizard-panel{border:0;padding:0;margin:0;min-width:0}.quote-wizard .wizard-panel[hidden]{display:none!important}
.quote-wizard legend{font:600 1.42rem/1.08 var(--font-display);color:var(--ink);text-transform:uppercase;margin-bottom:5px}
.quote-wizard .step-help{font-size:.72rem!important;color:#5d766f!important;margin:0 0 11px!important;line-height:1.35!important}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:13px}
.choice{display:block!important;margin:0!important;cursor:pointer;min-width:0;text-transform:none!important;letter-spacing:0!important}
.choice input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.choice span{display:flex;align-items:center;min-height:44px;padding:7px 9px;background:#fff;border:1px solid #bfcec7;color:#254940;font-size:.74rem;line-height:1.2;font-weight:600;text-transform:none;letter-spacing:0;transition:background .15s,border-color .15s}
.choice input:checked+span{background:#dce9e1;border-color:#2f6957;box-shadow:inset 3px 0 #2f6957;color:#153e34}
.choice input:focus-visible+span{outline:2px solid #bd734b;outline-offset:2px}
.choice:hover span{border-color:#3b765f}
.quote-wizard .field-label,.quote-wizard .group-label{display:block!important;font-size:.7rem!important;text-transform:uppercase!important;letter-spacing:.05em!important;font-weight:700!important;margin:12px 0 6px!important;color:var(--ink)!important}
.quote-wizard .field-label span{font-weight:400;text-transform:none;color:#688079}
.quote-wizard input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.quote-wizard textarea{display:block;width:100%;background:white;border:1px solid #b9ccc3;border-radius:0;color:var(--ink);padding:10px 12px;min-height:44px;margin:0 0 10px;font:inherit;font-size:.88rem;box-shadow:none}
.quote-wizard textarea{resize:vertical;min-height:85px}
.quote-wizard input[aria-invalid=true]{border-color:#ae4231!important}
.quote-wizard input:-webkit-autofill{box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:var(--ink)!important}
.quote-wizard .wizard-next,.quote-wizard .wizard-submit{width:100%;justify-content:space-between;margin-top:3px}
.quote-wizard .wizard-actions{display:flex;align-items:center;gap:10px;margin-top:6px}
.quote-wizard .wizard-actions .button{flex:1;width:auto;min-width:0}
.quote-wizard .wizard-back{border:0;background:transparent;color:#386557;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:12px 5px;cursor:pointer;width:auto!important;margin:0!important;min-height:0}
.quote-wizard .form-status{font-size:.78rem;line-height:1.4;margin:9px 0 0;color:#a54435}
.quote-wizard .form-status.is-ok{color:#276044}.quote-wizard .form-status.is-error{color:#a54435}
.quote-wizard .form-privacy{font-size:.68rem!important;line-height:1.4!important;margin:10px 0 0!important;color:#657c74!important}
.guide-promo{background:#e8efeb}.guide-promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.guide-promo-grid a{background:white;display:flex;flex-direction:column;border:1px solid #d5e1d9}.guide-promo-grid img{width:100%;height:180px;object-fit:cover}.guide-promo-grid strong{font:600 1.48rem/1.1 var(--font-display);text-transform:uppercase;padding:14px 16px 4px}.guide-promo-grid span{font-size:.75rem;color:#945836;font-weight:700;padding:0 16px 17px}
@media(max-width:1050px){.site-header .nav{gap:14px}.nav-services summary{font-size:.7rem}}
@media(max-width:900px){.nav-services{width:100%}.nav-services summary{padding:13px 0;font-size:.75rem}.nav-dropdown{position:static;width:100%;box-shadow:none;margin:0 0 10px}.site-header .nav{max-height:calc(100vh - 72px);overflow:auto}}
@media(max-width:640px){.choice-grid{gap:6px}.choice span{font-size:.69rem;padding:7px;min-height:43px}.quote-wizard legend{font-size:1.31rem}.guide-promo-grid{grid-template-columns:1fr}.guide-promo-grid img{height:190px}.quote-wizard .wizard-actions{gap:5px}.quote-wizard .wizard-back{font-size:.67rem}}

/* Practical project guides */
.guide-page{font-size:15px}.guide-page .site-header{position:sticky;top:0;z-index:30}.guide-page .header-inner{height:74px}.guide-page .section{padding:72px 0 80px}.guide-page h2{font-size:clamp(2.1rem,3.4vw,3.35rem);line-height:1.07}
.guide-hero{background:#10383a;color:white;padding:58px 0 62px}.guide-hero .breadcrumbs{margin-bottom:30px;color:#abc6bd}.guide-hero h1{font-size:clamp(3.2rem,5.8vw,5.8rem);line-height:.97;text-transform:uppercase;max-width:950px}.guide-hero p:not(.breadcrumbs):not(.eyebrow){max-width:690px;font-size:1.03rem;line-height:1.55;color:#d4e4dd;margin:19px 0 24px}.guide-hero .button{min-height:47px;padding:0 20px;font-size:.73rem}
.guide-hub{background:#f3f6f3}.guide-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.guide-card{display:grid;grid-template-columns:180px 1fr;background:white;border:1px solid #d7e4dc;min-height:177px}.guide-card:hover,.related-guide-grid a:hover{box-shadow:0 10px 30px #143c3820;transform:translateY(-2px)}.guide-card img{width:100%;height:100%;object-fit:cover}.guide-card>div{padding:18px;display:flex;flex-direction:column}.guide-card h2{font:600 1.6rem/1.08 var(--font-display);text-transform:uppercase}.guide-card p{font-size:.78rem;color:#58716c;line-height:1.4;margin:8px 0 14px}.guide-card span{font-size:.69rem;color:#a45e37;text-transform:uppercase;font-weight:700;letter-spacing:.04em;margin-top:auto}
.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:9%;padding-top:46px;padding-bottom:70px}.guide-article{min-width:0}.guide-article figure{margin:0 0 35px}.guide-article figure img{width:100%;max-height:430px;object-fit:cover}.guide-article figcaption{font-size:.73rem;color:#627a74;margin-top:8px}.guide-article figcaption a{text-decoration:underline}.guide-toc{background:#edf2ee;padding:19px 23px;margin-bottom:36px}.guide-toc strong,.guide-side>strong{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:#3a6457}.guide-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:5px 23px;padding-left:19px;margin:9px 0 0;font-size:.8rem;line-height:1.5}.guide-toc a{text-decoration:underline;text-decoration-color:#bed0c5;text-underline-offset:3px}.guide-article section{border-bottom:1px solid #d7e3dc;padding:0 0 30px;margin:0 0 29px;scroll-margin-top:100px}.guide-article h2{font-size:clamp(2rem,3vw,2.85rem);text-transform:uppercase;margin-bottom:16px}.guide-article p{font-size:.97rem;line-height:1.7;color:#3e5952;margin:0 0 15px}.guide-article p a{color:#995332;text-decoration:underline;text-underline-offset:3px;font-weight:700}.guide-checklist{background:#e5ede7;padding:25px 30px}.guide-checklist h2{font-size:2.3rem}.guide-checklist ul{padding-left:20px;margin:17px 0 0}.guide-checklist li{padding:5px 0;font-size:.91rem}.guide-cta-inline{margin:26px 0 0!important;font-weight:700}.guide-side{align-self:start;position:sticky;top:110px;border-top:2px solid #315d50;padding-top:16px;display:flex;flex-direction:column}.guide-side>a{font-size:.82rem;font-weight:700;padding:12px 0;border-bottom:1px solid #d9e5de}.guide-side>a:hover{color:#a45e37}.guide-side-cta{background:#133d3b;color:white;padding:22px;margin-top:25px}.guide-side-cta b{font:600 1.65rem/1.08 var(--font-display);text-transform:uppercase}.guide-side-cta p{font-size:.79rem;color:#c9ded2;line-height:1.45;margin:10px 0 18px}.guide-side-cta a{font-size:.7rem;font-weight:700;text-transform:uppercase;color:#efd2bd;text-decoration:underline;text-underline-offset:4px}
.related-guides{background:#e8efea}.related-guides h2{margin-bottom:22px}.related-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.related-guide-grid a{background:white;border:1px solid #d7e4dc;display:flex;flex-direction:column;transition:.2s}.related-guide-grid img{width:100%;height:155px;object-fit:cover}.related-guide-grid strong{padding:14px 16px 5px;font:600 1.4rem/1.09 var(--font-display);text-transform:uppercase}.related-guide-grid span{padding:0 16px 17px;font-size:.7rem;color:#a45e37;font-weight:700;text-transform:uppercase}
@media(max-width:950px){.guide-layout{grid-template-columns:1fr}.guide-side{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.guide-side>strong,.guide-side-cta{grid-column:1/-1}.guide-side-cta{max-width:450px}.guide-card{grid-template-columns:130px 1fr}}
@media(max-width:640px){.guide-page .section{padding:55px 0}.guide-hero{padding:40px 0 48px}.guide-hero h1{font-size:clamp(3rem,10vw,4.5rem)}.guide-card-grid,.related-guide-grid{grid-template-columns:1fr}.guide-card{grid-template-columns:115px 1fr}.guide-card h2{font-size:1.38rem}.guide-card>div{padding:12px}.guide-card p{font-size:.72rem}.guide-toc ol{grid-template-columns:1fr}.guide-article figure img{max-height:280px}.guide-side{grid-template-columns:1fr}.guide-side-cta{grid-column:auto}.guide-checklist{padding:22px}.guide-page .footer-bottom{margin-top:30px}}
.landing .quote-wizard .choice input[type=radio],.service-page .quote-wizard .choice input[type=radio]{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;min-height:0!important;max-width:1px!important;margin:0!important;padding:0!important;border:0!important;pointer-events:none!important}
.areas-map{overflow:hidden}
/* Reduced two-step estimate form */
.quote-wizard .wizard-progress{grid-template-columns:repeat(2,1fr);margin:15px 0 18px}
.quote-wizard .services-choices{grid-template-columns:1fr 1fr;margin:14px 0 15px}
.quote-wizard .choice span{min-height:52px;font-size:.77rem;padding:9px 11px}
.quote-wizard .wizard-panel legend{font-size:1.4rem;margin-bottom:0}
.quote-wizard .form-privacy{margin-top:10px!important}
.quote-wizard .wizard-next{justify-content:center}
@media(max-width:640px){.quote-wizard .choice span{min-height:49px;font-size:.7rem;padding:8px}.quote-wizard .services-choices{gap:7px}}
.nav-services summary{align-items:center;gap:5px;line-height:1.2}
.nav-services summary span{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:.9rem;transform:translateY(-1px)}
.nav-services summary span{font-size:0;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-left:1px}
.nav-services[open] summary span{transform:translateY(2px) rotate(225deg)}
