/* Homepage sections; the shared header and footer remain unchanged. */
.home-refresh .section{padding:76px var(--gutter)}
.home-refresh .hero{min-height:560px;height:auto;padding-bottom:80px}
.home-refresh .hero-copy{padding-top:70px;padding-bottom:30px;max-width:760px}
.home-refresh .hero h1{font-size:clamp(48px,6.2vw,90px);line-height:1.03;letter-spacing:-.06em}
.home-refresh .hero .lead{max-width:540px}
.home-refresh .hero-proof,.home-refresh .hero-foot{display:none}
.home-refresh .hero-trust{margin-top:28px}
.home-refresh .hero-actions{flex-wrap:wrap;gap:24px}
.home-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.home-intro>div>p{max-width:580px;color:var(--muted)}
.home-intro>div>p a{text-decoration:underline}
.home-paths{border-top:1px solid var(--line)}
.home-paths>a{display:block;padding:23px 0;border-bottom:1px solid var(--line)}
.home-paths>a>span,.service-number,.home-values article>span{font:11px 'DM Mono',monospace;color:var(--orange);letter-spacing:.06em}
.home-paths h3{font-size:24px;margin:9px 0}.home-paths h3 b{float:right;font-weight:400}
.home-paths p{margin:0;font-size:14px;color:var(--muted)}
.home-paths a:hover h3{color:var(--orange)}
.home-section-title{max-width:720px;margin:0 auto 40px;text-align:center}
.home-services{background:#eeece3}.home-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-service-grid>a{background:var(--paper);padding:28px;display:flex;flex-direction:column;border:1px solid var(--line);transition:border-color .2s,transform .2s}
.home-service-grid>a:hover{border-color:var(--orange);transform:translateY(-3px)}
.service-number{display:flex;justify-content:space-between;margin-bottom:24px}.service-number b{font-size:22px;font-weight:400}
.home-service-grid h3{font-size:23px;line-height:1.3;margin-bottom:12px}.home-service-grid p{font-size:14px;margin:0;color:var(--muted)}
.home-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.home-values h3{margin:15px 0;font-size:23px}.home-values p{font-size:15px;color:var(--muted)}
.home-area{margin-top:40px;padding:34px;background:var(--light-orange);display:flex;align-items:center;justify-content:space-between;gap:40px}.home-area>div{max-width:720px}.home-area p{margin-bottom:0;font-size:14px}.home-area .eyebrow{margin-bottom:12px}.home-area h3{margin-bottom:12px}.home-area .button{flex-shrink:0}
.home-refresh .company-note{padding:60px var(--gutter);gap:60px;background:#eeece3}.home-refresh .owner-portrait img{max-height:370px;object-fit:cover}.home-refresh .owner-introduction h2{font-size:clamp(36px,4vw,56px)}
.home-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.home-project-grid button{background:transparent;padding:0;text-align:left}.home-project-grid img{width:100%;height:300px;object-fit:cover}.home-project-grid h3{font-size:22px;margin:20px 0 8px}.home-project-grid p{font-size:14px;color:var(--muted)}
.home-gallery{margin-top:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.home-gallery>summary{padding:22px 0;cursor:pointer;font-weight:700;display:flex;justify-content:space-between}.home-gallery .photo-grid{margin-bottom:30px}.home-gallery .gallery-header{padding-top:20px}
.home-reviews{background:var(--ink);color:var(--paper);text-align:center}.home-reviews>p{max-width:640px;margin-left:auto;margin-right:auto}.home-reviews .hero-actions{justify-content:center}.home-reviews em{color:#edaa80}.home-reviews .button-dark{background:var(--paper);color:var(--ink)}
.home-refresh .planning-home h2{font-size:clamp(36px,4vw,54px)}
.home-refresh .request{border-top:1px solid var(--line)}
@media(max-width:900px){.home-intro{gap:32px}.home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-area{align-items:flex-start;flex-direction:column;gap:20px}.home-values{gap:24px}.home-project-grid img{height:230px}.home-refresh .hero-copy{max-width:650px}}
@media(max-width:600px){.home-refresh .section{padding:48px var(--gutter)}.home-refresh .hero{min-height:0;padding-bottom:75px}.home-refresh .hero-copy{padding-top:42px;padding-bottom:10px}.home-refresh .hero h1{font-size:46px}.home-refresh .hero .lead{font-size:16px}.home-intro,.home-values,.home-project-grid{grid-template-columns:minmax(0,1fr);gap:24px}.home-service-grid{grid-template-columns:minmax(0,1fr);gap:12px}.home-service-grid>a{padding:23px}.service-number{margin-bottom:14px}.home-section-title{text-align:left;margin-bottom:28px}.home-refresh h2{font-size:38px}.home-area{padding:24px}.home-refresh .company-note{padding:48px var(--gutter);gap:30px}.home-project-grid img{height:280px}.home-project-grid h3{margin-top:15px}.home-reviews{text-align:left}.home-reviews .hero-actions{justify-content:flex-start}.home-refresh .hero-actions{gap:18px}.home-refresh .hero-actions .text-link{font-size:13px}.home-gallery .filters{flex-wrap:wrap}.home-refresh .request h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.home-service-grid>a{transition:none}}
.home-refresh .hero{display:block;margin-top:0;padding:60px var(--gutter) 100px;min-height:540px}
.home-refresh .hero-copy{padding:0;max-width:760px}
@media(max-width:600px){.home-refresh .hero{padding:42px var(--gutter) 105px;min-height:0}.home-refresh .hero-copy{padding:0}.home-refresh .hero-film:after{background:rgba(247,245,239,.86)}}
.home-refresh .hero{padding-bottom:24px}.home-refresh .slideshow-controls{margin-top:30px;max-width:760px}.home-area p a{text-decoration:underline}
/* A quieter homepage with a static project image and direct headings. */
.home-refresh h1 em,.home-refresh h2 em{font-family:inherit;font-style:normal;font-weight:inherit}
.home-refresh .hero{padding-bottom:55px;min-height:0}
.home-refresh .hero h1{font-size:clamp(42px,5.5vw,76px);letter-spacing:-.045em}
.home-refresh .hero-trust{margin-top:30px}
.home-refresh .home-section-title h2,.home-refresh .home-work h2,.home-refresh .home-reviews h2{font-size:clamp(32px,3.5vw,46px);letter-spacing:-.04em}
.home-paths>a>span{display:none}.home-paths h3{margin-top:0}
.home-service-grid>a{padding:26px}.home-service-grid h3{font-size:21px}
.home-refresh .request-copy h2{font-size:clamp(34px,4vw,50px)}
.home-refresh .request-copy>.phone{margin-top:25px}
.home-refresh .home-reviews{padding-top:50px;padding-bottom:50px}
@media(max-width:600px){.home-refresh .hero{padding-top:35px;padding-bottom:35px}.home-refresh .hero h1{font-size:42px}.home-refresh .hero-trust{line-height:1.6}}
/* Keep text clear while the project photograph moves gently with scrolling. */
.home-refresh .hero-film{overflow:hidden}
.home-refresh .hero-slide{height:calc(100% + 100px);top:-50px;will-change:transform;animation:none;transform:translateY(var(--photo-shift,0px))}
.home-refresh .hero-film:after{background:linear-gradient(90deg,#f7f5efff 0%,#f7f5effa 29%,#f7f5efd9 49%,#f7f5ef24 80%)}
.home-refresh .hero .lead{font-size:18px;color:#262e2a;line-height:1.7}
.home-refresh .hero h1{font-size:clamp(40px,5.2vw,72px)}
.home-refresh .home-service-grid p,.home-refresh .home-paths p,.home-refresh .home-values p,.home-refresh .home-area p,.home-refresh .home-project-grid p{font-size:16px;color:#39443c}
.home-refresh .hero-trust{font-size:11px}.home-refresh .home-reviews .eyebrow{color:#fff}
@media(max-width:600px){.home-refresh .hero-film:after{background:#f7f5eff0}.home-refresh .hero .lead{font-size:17px}.home-refresh .hero h1{font-size:42px}.home-refresh .hero-trust{font-size:10px}}
@media(prefers-reduced-motion:reduce){.home-refresh .hero-slide{transform:none;will-change:auto}}
.home-refresh .home-reviews{background:#f0f0ea;color:#262e2a}
.home-refresh .home-reviews .button-dark{background:#262e2a;color:#fff}
.google-reviews-widget{margin:32px 0;text-align:left;color:#262e2a;min-height:200px}

/* Photographs lead each service; text remains readable beneath them. */
.home-refresh .home-service-grid{gap:34px 26px}
.home-refresh .home-service-grid>a{position:relative;background:transparent;border:0;padding:0;display:block}
.home-service-grid>a>img{display:block;width:100%;height:245px;object-fit:cover;border-radius:6px}
.home-service-grid .service-caption{padding:20px 0 12px;border-bottom:1px solid #c9cfc4}
.home-service-grid h3{margin:0 0 9px}.home-service-grid .stock-label{font-size:11px;color:#596459;display:block;margin-top:6px}
.home-refresh .home-paths{border:0;display:grid;gap:22px}
.home-paths>a{display:grid;grid-template-columns:115px 1fr;gap:22px;align-items:center;border:0;padding:0}
.home-paths>a>img{width:115px;height:120px;object-fit:cover;border-radius:5px}.home-paths>a>div>span{display:none}
.home-refresh .home-why{background:#222924;color:#fff}
.home-why .home-section-title{text-align:left;max-width:none;margin-bottom:40px}
.value-icon{width:48px;height:48px;stroke:#edaa80;fill:none;stroke-width:1.6;margin-bottom:8px}
.home-refresh .home-values p{color:#e1e5df}.home-values h3:after{content:"";display:block;width:34px;height:3px;background:#df8952;margin-top:16px}
.home-why .home-area{background:transparent;border-top:1px solid #596159;padding:30px 0 0;margin-top:42px}
.home-refresh .home-area p{color:#e1e5df}.home-area .eyebrow{color:#edaa80!important}.home-area .button{background:#edaa80;color:#222924}
@media(max-width:600px){.home-refresh .home-service-grid{gap:30px}.home-service-grid>a>img{height:230px}.home-paths>a{grid-template-columns:88px 1fr;gap:16px}.home-paths>a>img{width:88px;height:116px}.home-paths h3{font-size:21px}.home-values{gap:32px}.home-values article{padding-bottom:18px;border-bottom:1px solid #596159}}
/* Contain the review provider's owner-only toolbar on narrow screens. */
.google-reviews-widget{overflow-x:clip}

/* Six service commitments arranged like the owner's reference. */
.home-refresh .home-why{background:#222;padding-top:76px;padding-bottom:76px}
.why-heading{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:start;margin-bottom:88px}
.home-refresh .why-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,4vw,58px);font-weight:700;letter-spacing:0;line-height:1.15;margin:0 0 16px}
.why-subtitle{font-size:24px;line-height:1.5;margin:0}.why-heading>p{font-size:18px;line-height:1.8;margin:4px 0 0;color:#eee}
.home-why .home-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:62px 48px}
.home-why .value-icon{width:50px;height:50px;stroke:#fff;stroke-width:1.5;margin:0 0 24px;stroke-linecap:round;stroke-linejoin:round}
.home-why .home-values h3{font-size:23px;line-height:1.35;margin:0 0 13px;font-weight:800}
.home-why .home-values h3:after{width:34px;height:4px;background:#e48129;margin-top:9px}
.home-refresh .home-why .home-values p{font-size:17px;line-height:1.7;color:#eee;margin:0}
.home-why .home-area{margin-top:64px}
@media(max-width:900px){.why-heading{gap:30px;margin-bottom:52px}.home-why .home-values{gap:42px 28px}.home-why .home-values h3{font-size:21px}}
@media(max-width:600px){.home-refresh .home-why{padding-top:48px;padding-bottom:48px}.why-heading{grid-template-columns:1fr;gap:22px;margin-bottom:42px}.why-subtitle{font-size:21px}.home-why .home-values{grid-template-columns:1fr;gap:38px}.home-why .home-values article{border:0;padding:0}.home-why .value-icon{margin-bottom:18px}.home-why .home-area{margin-top:44px}}

/* Guardian's entry cards bridge the project photo and the rest of the page. */
.home-refresh .hero{padding-bottom:145px}
.entry-links{position:relative;z-index:2;margin:-80px var(--gutter) 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.entry-card{background:#fff;display:flex;flex-direction:column;min-width:0;border-radius:22px 3px 22px 3px;overflow:hidden;box-shadow:0 12px 30px #26312a14;border-top:4px solid #c15829}
.entry-card-body{padding:28px 25px 32px;flex:1}.entry-card svg{width:48px;height:48px;fill:none;stroke:#39483d;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:22px}
.entry-card .entry-label{font-size:17px;color:#a44720;margin:0 0 15px}.home-refresh .entry-card h2{font-size:23px;line-height:1.3;letter-spacing:-.025em;margin:0 0 16px}
.entry-card-body>p:last-child{font-size:16px;line-height:1.7;margin:0;color:#414a43}
.entry-card>a{display:block;padding:17px 25px;background:#b94f23;color:#fff;font-weight:700;font-size:15px;transition:background .2s}
.entry-card>a:hover,.entry-card>a:focus-visible{background:#26372c}.entry-card:focus-within{outline:3px solid #c15829;outline-offset:3px}
.entry-card.waiting{opacity:0;transform:translateY(42px)}
.entry-card.revealed{animation:entry-rise .7s cubic-bezier(.2,.65,.25,1) both}
@keyframes entry-rise{from{opacity:0;transform:translateY(42px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px){.entry-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){.home-refresh .hero{padding-bottom:95px}.entry-links{grid-template-columns:1fr;margin-top:-48px;gap:20px}.entry-card-body{padding:25px}.entry-card svg{margin-bottom:16px}.entry-card>a{padding:17px 25px}.home-refresh .entry-card h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.entry-card.waiting{opacity:1;transform:none}.entry-card.revealed{animation:none}.entry-card>a{transition:none}}
.entry-card.revealed{animation-delay:var(--reveal-delay,0ms)}
.home-values article.scroll-waiting{opacity:0;transform:translateX(24px)}
.home-values article.scroll-revealed{animation:benefit-arrive .65s ease-out var(--reveal-delay,0ms) both}
@keyframes benefit-arrive{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.home-values article.scroll-waiting{opacity:1;transform:none}.home-values article.scroll-revealed{animation:none}}
