@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;1,600&family=Poppins:wght@300;400;500;600&display=swap');

:root{--forest:#173f35;--sage:#8fae9d;--terra:#c8734a;--ivory:#f7f5ef;--ink:#17201d;--muted:#4d5752;--mist:#edf2ee;--white:#fff;--border:#dce4df;--serif:'Playfair Display',Georgia,serif;--sans:'Poppins',Arial,sans-serif;--shadow:0 20px 55px rgba(23,63,53,.12);--radius:14px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:400 15px/1.75 var(--sans);overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.narrow{width:min(800px,calc(100% - 48px));margin-inline:auto}.section{padding:120px 0}.section-sm{padding:80px 0}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;color:var(--terra);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.eyebrow:before{content:'';width:34px;height:1px;background:currentColor}.display{font:600 clamp(42px,6vw,82px)/1.04 var(--serif);letter-spacing:-.035em;margin:0}.title{font:600 clamp(34px,4.5vw,58px)/1.12 var(--serif);letter-spacing:-.025em;margin:0 0 24px}.title em,.display em{color:var(--terra);font-style:italic}.lead{font-size:18px;color:var(--muted);max-width:650px}.muted{color:var(--muted)}.center{text-align:center}.center .eyebrow{justify-content:center}.center .lead{margin-inline:auto}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:0 25px;border:1px solid transparent;border-radius:4px;font-size:13px;font-weight:600;letter-spacing:.04em;transition:.35s var(--ease)}.btn .arrow{transition:.35s var(--ease)}.btn-primary{color:#fff;background:var(--terra);box-shadow:0 10px 28px rgba(200,115,74,.24)}.btn-primary:hover{background:var(--forest);transform:translateY(-3px);box-shadow:0 16px 30px rgba(23,63,53,.2)}.btn:hover .arrow{transform:translateX(5px)}.btn-secondary{border-color:var(--forest);color:var(--forest);background:transparent}.btn-secondary:hover{background:var(--forest);color:#fff;transform:translateY(-2px)}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
/* header */
.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;height:92px;color:#fff;transition:.35s var(--ease)}.site-header.scrolled,.site-header.inner{height:76px;background:rgba(247,245,239,.96);color:var(--ink);box-shadow:0 8px 30px rgba(23,63,53,.08);backdrop-filter:blur(14px)}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:11px;font-size:15px;font-weight:600;line-height:1.1;letter-spacing:.03em}.logo-mark{width:38px;height:38px;border:1px solid currentColor;display:grid;place-items:center;transform:rotate(45deg);border-radius:2px}.logo-mark span{font:600 17px var(--serif);transform:rotate(-45deg)}.nav-links{display:flex;align-items:center;gap:28px}.nav-links>a:not(.btn){position:relative;font-size:12px;font-weight:500}.nav-links>a:not(.btn):after{content:'';position:absolute;left:0;bottom:-8px;width:100%;height:1px;background:var(--terra);transform:scaleX(0);transform-origin:left;transition:.3s}.nav-links>a:hover:after,.nav-links>a.active:after{transform:scaleX(1)}.site-header .btn{min-height:44px;padding-inline:18px;color:#fff}.menu-toggle{display:none;background:none;border:0;color:inherit;width:44px;height:44px;position:relative}.menu-toggle span{position:absolute;left:9px;width:26px;height:1px;background:currentColor;transition:.35s}.menu-toggle span:first-child{top:16px}.menu-toggle span:last-child{top:27px}.menu-toggle.open span:first-child{top:21px;transform:rotate(45deg)}.menu-toggle.open span:last-child{top:21px;transform:rotate(-45deg)}.mobile-panel{display:none}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:#fff;background:var(--forest);overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{height:100%;object-fit:cover;animation:heroScale 12s ease-out both}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,34,27,.82) 0%,rgba(10,34,27,.5) 48%,rgba(10,34,27,.15) 100%),linear-gradient(0deg,rgba(10,34,27,.55),transparent 55%)}.hero-content{position:relative;z-index:2;padding:190px 0 100px;max-width:820px}.hero .display{max-width:800px}.hero .lead{color:rgba(255,255,255,.82);max-width:670px;margin-top:26px}.hero .btn-secondary{border-color:rgba(255,255,255,.65);color:#fff}.hero .btn-secondary:hover{background:#fff;color:var(--forest)}.scroll-cue{position:absolute;z-index:2;right:4%;bottom:52px;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.18em;writing-mode:vertical-rl}.scroll-cue:after{content:'';height:50px;width:1px;background:rgba(255,255,255,.5);animation:scrollLine 1.8s infinite}.page-hero{padding:190px 0 105px;background:var(--forest);color:#fff;position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;width:480px;height:480px;right:-160px;top:-220px;border:1px solid rgba(255,255,255,.12);transform:rotate(28deg)}.page-hero .lead{color:rgba(255,255,255,.7)}
/* cards & media */
.media-frame{position:relative;overflow:hidden;border-radius:var(--radius)}.media-frame img{height:100%;object-fit:cover;transition:transform .8s var(--ease)}.media-frame:hover img{transform:scale(1.045)}.service-card{position:relative;min-height:480px;color:#fff;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);transform-style:preserve-3d;transition:transform .25s,box-shadow .25s}.service-card img{position:absolute;height:100%;object-fit:cover;transition:.8s var(--ease)}.service-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,51,42,.88),rgba(15,51,42,.05) 70%);transition:.5s}.service-card:hover img{transform:scale(1.05)}.service-card:hover{box-shadow:0 28px 65px rgba(23,63,53,.22)}.card-copy{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;transition:.45s var(--ease)}.service-card:hover .card-copy{transform:translateY(-5px)}.number{color:var(--terra);font-size:12px;font-weight:600;letter-spacing:.16em}.card-copy h3{font:600 26px var(--serif);margin:10px 0 6px}.card-copy p{font-size:13px;color:rgba(255,255,255,.75);margin:0}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:54px}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;margin-top:48px}.project-card{grid-column:span 4;position:relative;overflow:hidden;border-radius:var(--radius);min-height:430px;color:#fff;transform-style:preserve-3d;transition:opacity .3s,transform .3s}.project-card.wide{grid-column:span 8}.project-card.tall{min-height:560px}.project-card img{position:absolute;height:100%;object-fit:cover;transition:.8s var(--ease)}.project-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,49,39,.9),transparent 65%);transition:.45s}.project-card:hover img{transform:scale(1.055)}.project-card:hover:after{background:linear-gradient(0deg,rgba(11,49,39,.95),rgba(11,49,39,.18))}.project-info{position:absolute;z-index:2;bottom:26px;left:28px;right:28px;transform:translateY(8px);transition:.4s var(--ease)}.project-card:hover .project-info{transform:translateY(0)}.project-info small{color:var(--sage);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.project-info h3{font:600 27px var(--serif);margin:7px 0}.project-info span{font-size:12px;color:rgba(255,255,255,.68)}.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:36px 0}.filter-btn{padding:10px 18px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:12px;border-radius:50px}.filter-btn.active,.filter-btn:hover{background:var(--forest);color:#fff;border-color:var(--forest)}
/* sections */
.intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.intro-copy .title{max-width:520px}.architect-line{width:80px;height:80px;border-left:1px solid var(--sage);border-bottom:1px solid var(--sage);margin-top:30px}.feature-showcase{background:var(--mist)}.gallery-feature{display:grid;grid-template-columns:1.8fr 1fr;gap:18px;margin-top:48px}.gallery-feature .main{min-height:620px}.gallery-feature .side{display:grid;gap:18px}.gallery-feature .side .media-frame{min-height:300px}.project-meta{display:flex;gap:40px;margin:28px 0}.project-meta dt{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.14em}.project-meta dd{margin:3px 0;font-weight:500}.before-after{position:relative;overflow:hidden;border-radius:var(--radius);aspect-ratio:16/8;background:#ddd;--position:50%}.before-after img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.before-after .before{width:var(--position);object-position:left}.before-after input{position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:4;cursor:ew-resize}.ba-line{position:absolute;z-index:3;top:0;bottom:0;left:var(--position);width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}.ba-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--forest);box-shadow:0 4px 18px rgba(0,0,0,.2)}.ba-label{position:absolute;z-index:2;top:20px;padding:8px 12px;color:#fff;background:rgba(23,63,53,.85);font-size:10px;letter-spacing:.15em}.ba-label.before-label{left:20px}.ba-label.after-label{right:20px}.dark-section{background:var(--forest);color:#fff}.dark-section .title{color:#fff}.dark-section .lead,.dark-section p{color:rgba(255,255,255,.7)}.feature-block{padding:30px 20px 0;border-top:1px solid rgba(255,255,255,.2)}.feature-block svg{width:34px;color:var(--terra)}.feature-block h3{font:600 22px var(--serif);margin:18px 0 9px}.timeline{display:grid;grid-template-columns:repeat(5,1fr);position:relative;margin-top:58px}.timeline:before{content:'';position:absolute;top:18px;left:10%;right:10%;height:1px;background:var(--border)}.timeline-step{position:relative;text-align:center;padding:0 12px}.step-dot{position:relative;z-index:1;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ivory);border:1px solid var(--sage);color:var(--terra);font-size:10px;margin:0 auto 20px}.timeline-step h3{font:600 19px var(--serif);margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stat{text-align:center;padding:38px 10px;border-right:1px solid var(--border)}.stat:last-child{border:0}.stat strong{display:block;font:600 54px var(--serif);color:var(--forest)}.stat span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.testimonial{display:none;max-width:820px;margin:40px auto 0;text-align:center}.testimonial.active{display:block;animation:fade .5s}.stars{color:var(--terra);letter-spacing:.18em}.testimonial blockquote{font:600 clamp(24px,3vw,36px)/1.4 var(--serif);margin:25px 0}.testimonial cite{font-style:normal;color:var(--muted);font-size:13px}.slider-nav{display:flex;justify-content:center;gap:10px;margin-top:30px}.slider-nav button{width:42px;height:42px;border:1px solid var(--border);background:transparent;border-radius:50%;color:var(--forest)}.cta-banner{position:relative;min-height:520px;display:flex;align-items:center;color:#fff;background:var(--forest);overflow:hidden}.cta-banner>img{position:absolute;inset:0;height:100%;object-fit:cover;opacity:.48}.cta-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,63,53,.9),rgba(23,63,53,.2))}.cta-content{position:relative;z-index:2;max-width:650px}
/* inner pages */
.split-image{min-height:560px}.pillars,.value-grid{margin-top:45px}.info-card{padding:35px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);transition:.35s}.info-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.info-card h3{font:600 22px var(--serif)}.team-card .media-frame{aspect-ratio:4/5}.team-card h3{font:600 22px var(--serif);margin:18px 0 2px}.team-card p{margin:0;color:var(--muted);font-size:13px}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:75px 0;border-bottom:1px solid var(--border)}.service-row:nth-child(even) .service-row-media{order:2}.service-row-media{min-height:520px}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0;padding:0;list-style:none}.check-list li:before{content:'✓';color:var(--terra);margin-right:9px}.detail-hero{min-height:68vh}.detail-hero .hero-content{padding-bottom:75px}.material-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px}.material-grid .media-frame{min-height:420px}.process-stage{display:grid;grid-template-columns:120px 1fr 1fr;gap:45px;padding:75px 0;border-top:1px solid var(--border);align-items:center}.process-num{font:600 64px var(--serif);color:var(--sage)}.faq-layout{display:grid;grid-template-columns:240px 1fr;gap:70px}.faq-nav{position:sticky;top:110px;align-self:start}.faq-nav a{display:block;padding:9px 0;color:var(--muted);font-size:13px}.faq-group{margin-bottom:55px}.faq-group h2{font:600 30px var(--serif)}.accordion{border-top:1px solid var(--border)}.accordion-item{border-bottom:1px solid var(--border)}.accordion-button{width:100%;display:flex;justify-content:space-between;gap:20px;padding:22px 0;border:0;background:none;text-align:left;font-weight:500;color:var(--ink)}.accordion-button span:last-child{color:var(--terra);font-size:20px;transition:.3s}.accordion-button[aria-expanded=true] span:last-child{transform:rotate(45deg)}.accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}.accordion-panel>div{overflow:hidden}.accordion-panel p{padding:0 35px 22px 0;margin:0;color:var(--muted)}.accordion-item.open .accordion-panel{grid-template-rows:1fr}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.contact-list{padding:0;list-style:none}.contact-list li{padding:22px 0;border-bottom:1px solid var(--border)}.contact-list small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.contact-form{padding:45px;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field.full{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:500;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;padding:13px 14px;background:var(--ivory);border:1px solid var(--border);border-radius:4px;outline:none}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(23,63,53,.08)}.error{color:#a33b2d;font-size:11px}.success{display:none;padding:18px;background:var(--mist);color:var(--forest);border-left:3px solid var(--terra);margin-top:20px}.success.show{display:block}.not-found{min-height:100vh;display:grid;place-items:center;text-align:center;background:var(--forest);color:#fff;position:relative;overflow:hidden}.not-found .giant{font:600 clamp(130px,25vw,320px)/.8 var(--serif);color:rgba(255,255,255,.06);position:absolute}.not-found-content{position:relative;z-index:1}
/* footer */
.site-footer{background:#10362d;color:#fff;padding:85px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:45px}.footer-brand p{color:rgba(255,255,255,.62);max-width:310px}.footer-col h3{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--sage);margin-bottom:20px}.footer-col a,.footer-col p{display:block;color:rgba(255,255,255,.68);font-size:13px;margin:0 0 10px}.footer-col a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:60px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:rgba(255,255,255,.45)}.footer-bottom div{display:flex;gap:20px}.back-top{position:fixed;z-index:80;right:24px;bottom:24px;width:45px;height:45px;border:0;border-radius:50%;background:var(--forest);color:#fff;opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s}.back-top.visible{opacity:1;visibility:visible;transform:none}.page-wipe{position:fixed;z-index:2000;inset:0;background:var(--forest);transform:translateX(-101%);pointer-events:none}.page-wipe.active{animation:wipe .45s var(--ease)}
/* reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.in-view{opacity:1;transform:none}.reveal-image{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease)}.reveal-image.in-view{clip-path:inset(0)}
@keyframes heroScale{from{transform:scale(1.03)}to{transform:scale(1)}}@keyframes scrollLine{0%,100%{transform:scaleY(.4);transform-origin:top}50%{transform:scaleY(1)}}@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes wipe{0%{transform:translateX(-101%)}45%{transform:translateX(0)}55%{transform:translateX(0)}100%{transform:translateX(101%)}}
@media(max-width:900px){.section{padding:85px 0}.grid-2,.intro-copy,.contact-grid{grid-template-columns:1fr;gap:38px}.grid-3{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}.nav-links{display:none}.menu-toggle{display:block}.mobile-panel{display:flex;position:fixed;z-index:999;inset:0;padding:120px 32px 45px;background:var(--forest);color:#fff;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transition:.4s}.mobile-panel.open{opacity:1;visibility:visible}.mobile-links a{display:block;font:600 34px/1.5 var(--serif);transform:translateY(15px);opacity:0;transition:.4s}.mobile-panel.open .mobile-links a{transform:none;opacity:1}.mobile-panel.open .mobile-links a:nth-child(2){transition-delay:.05s}.mobile-panel.open .mobile-links a:nth-child(3){transition-delay:.1s}.mobile-panel.open .mobile-links a:nth-child(4){transition-delay:.15s}.mobile-panel.open .mobile-links a:nth-child(5){transition-delay:.2s}.mobile-panel.open .mobile-links a:nth-child(6){transition-delay:.25s}.mobile-panel.open .mobile-links a:nth-child(7){transition-delay:.3s}.services-grid{grid-template-columns:1fr}.gallery-feature{grid-template-columns:1fr}.gallery-feature .main{min-height:450px}.gallery-feature .side{grid-template-columns:1fr 1fr}.project-card,.project-card.wide{grid-column:span 6}.timeline{grid-template-columns:1fr;gap:0;margin-left:18px}.timeline:before{left:18px;right:auto;top:0;bottom:0;width:1px;height:auto}.timeline-step{text-align:left;display:grid;grid-template-columns:38px 1fr;gap:20px;padding:12px 0}.step-dot{margin:0}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border:0}.footer-grid{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:1fr;gap:30px}.service-row:nth-child(even) .service-row-media{order:0}.process-stage{grid-template-columns:80px 1fr}.process-stage .media-frame{grid-column:2}.faq-layout{grid-template-columns:1fr}.faq-nav{display:none}}
@media(max-width:600px){.container,.narrow{width:min(100% - 32px,1180px)}.section{padding:70px 0}.site-header{height:76px}.logo{font-size:13px}.logo-mark{width:34px;height:34px}.hero-content{padding:150px 0 72px}.hero .display{font-size:48px}.hero .lead{font-size:15px}.scroll-cue{display:none}.page-hero{padding:145px 0 75px}.grid-3,.grid-4{grid-template-columns:1fr}.services-grid{gap:15px}.service-card{min-height:400px}.project-grid{display:block}.project-card,.project-card.wide,.project-card.tall{min-height:400px;margin-bottom:16px}.gallery-feature .side{grid-template-columns:1fr}.gallery-feature .main,.gallery-feature .side .media-frame{min-height:320px}.project-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px}.before-after{aspect-ratio:4/3}.stats{grid-template-columns:1fr 1fr}.stat{padding:28px 6px}.stat strong{font-size:39px}.stat:nth-child(2){border:0}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom div{margin-top:12px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.contact-form{padding:25px 18px}.check-list{grid-template-columns:1fr}.material-grid{grid-template-columns:1fr}.process-stage{display:block}.process-num{font-size:44px}.process-stage .media-frame{margin-top:25px;min-height:300px}.mobile-links a{font-size:29px}.back-top{bottom:16px;right:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.reveal-image{clip-path:none}}

/* Editorial photographic heroes and featured-project layout */
.page-hero-photo{min-height:74vh;display:flex;align-items:flex-end;padding:190px 0 92px}
.page-hero-photo .page-hero-media{position:absolute;inset:0}
.page-hero-photo .page-hero-media img{width:100%;height:100%;object-fit:cover}
.page-hero-photo .page-hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,46,37,.88),rgba(12,46,37,.45) 58%,rgba(12,46,37,.18)),linear-gradient(0deg,rgba(12,46,37,.5),transparent 60%)}
.page-hero-photo .container{position:relative;z-index:2}
.page-hero-photo:after{display:none}
.featured-project-section{padding-bottom:78px}
.featured-project-intro{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:70px}
.featured-project-preview{height:390px}
.featured-project-section .gallery-feature{margin-top:28px}
.featured-project-section .reveal-image{clip-path:none!important}
.featured-project-preview{background:url('../images/projects/willow-main.webp') center/cover no-repeat}
.featured-project-section .gallery-feature>.main{background:url('../images/projects/willow-exterior.webp') center/cover no-repeat}
.featured-project-section .gallery-feature .side .media-frame:first-child{background:url('../images/projects/willow-detail.webp') center/cover no-repeat}
.featured-project-section .gallery-feature .side .media-frame:last-child{background:url('../images/projects/willow-main.webp') center/cover no-repeat}
.featured-project-section .media-frame img{object-fit:cover}
.service-row-media{background-color:var(--mist);background-position:center;background-size:cover;background-repeat:no-repeat}
.service-row:nth-of-type(1) .service-row-media{background-image:url('../images/services/kitchen.webp')}
.service-row:nth-of-type(2) .service-row-media{background-image:url('../images/services/bathroom.webp')}
.service-row:nth-of-type(3) .service-row-media{background-image:url('../images/services/extension.webp')}
.service-row:nth-of-type(4) .service-row-media{background-image:url('../images/services/whole-home.webp')}
.service-row-media img{min-height:520px;object-fit:cover}
.about-story-image{background:url('../images/about/story.webp') center/cover no-repeat}
.about-story-image img{height:100%;min-height:560px;object-fit:cover}
@media(max-width:900px){.featured-project-intro{grid-template-columns:1fr;gap:38px}.featured-project-preview{height:360px}}
@media(max-width:600px){.featured-project-section{padding-bottom:58px}.featured-project-preview{height:290px}.page-hero-photo{min-height:70vh;padding:145px 0 70px}}
.cta-banner .lead{color:rgba(255,255,255,.88);text-shadow:0 1px 12px rgba(8,34,27,.2)}
