.projects-page .detail-hero{padding:40px 0 46px}.projects-page .detail-hero h1{font-size:clamp(34px,4vw,56px);margin:15px 0}.projects-page .detail-intro{max-width:790px}.projects-page{background:#f4f7f8}.project-list{padding-top:40px;padding-bottom:60px}.project-case{background:#fff;border:1px solid #dbe4e8;border-radius:16px;padding:36px;margin-bottom:36px;overflow:hidden}.project-case-header{max-width:840px}.project-category{font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:#315872;font-weight:700;margin:0 0 12px}.project-case h2{font-size:30px;line-height:1.25;color:#173d57;margin:0 0 14px}.project-status{display:inline-block;background:#e7f4ec;color:#235e3e;padding:5px 12px;border-radius:40px;font-size:13px;font-weight:700}.project-description{margin:16px 0 24px;color:#526475;line-height:1.75}.project-comparison{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project-photo{margin:0;min-width:0}.project-zoom{display:block;position:relative;background:#edf0f1;border-radius:10px;overflow:hidden;cursor:zoom-in}.project-photo img{display:block;width:100%;height:480px;object-fit:contain;margin:0!important}.project-stage{position:absolute;top:14px;left:14px;background:#fff;color:#173d57;font-size:14px;font-weight:700;border-radius:5px;padding:6px 13px;z-index:1;box-shadow:0 2px 8px #0002}.project-enlarge{position:absolute;bottom:12px;right:12px;background:#172d3bd9;color:#fff;font-size:12px;padding:5px 10px;border-radius:4px}.project-photo figcaption{font-size:14px;line-height:1.5;color:#536575;margin:10px 0 4px}.project-process{border-top:1px solid #dde5e9;margin-top:25px;padding-top:18px}.project-process summary{cursor:pointer;font-weight:700;color:#214e6b;padding:6px 0}.project-process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;margin-top:18px}.project-process-grid img{height:320px}.project-case-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:24px}.project-service-link{color:#214e6b;font-weight:600;text-decoration:underline}.project-note{font-size:14px;color:#657280;margin:20px 0}.project-lightbox{max-width:94vw;width:auto;max-height:94vh;border:0;border-radius:12px;padding:18px;background:#fff}.project-lightbox::backdrop{background:#081723df}.project-lightbox img{display:block;max-height:76vh;max-width:85vw;object-fit:contain;margin:auto}.project-lightbox p{font-size:14px;max-width:800px;margin:12px auto 0}.project-lightbox button{display:block;margin:0 0 12px auto;background:#173d57;color:#fff;padding:8px 16px;border:0;border-radius:5px;cursor:pointer}.projects-page a:focus-visible,.project-lightbox button:focus-visible,.project-process summary:focus-visible{outline:3px solid #268959;outline-offset:4px}
@media(max-width:767px){.project-case{padding:20px 16px;border-radius:12px}.project-case h2{font-size:25px}.project-comparison{gap:10px}.project-photo img{height:330px}.project-stage{font-size:12px;top:8px;left:8px;padding:4px 8px}.project-enlarge{font-size:10px;right:6px;bottom:7px}.project-process-grid{grid-template-columns:1fr 1fr;gap:12px}.project-process-grid img{height:280px}.project-case-actions .detail-btn{text-align:center;white-space:normal}.project-list{padding-top:24px}.project-lightbox{padding:12px}}
@media(max-width:420px){.project-photo img{height:240px}.project-process-grid img{height:220px}.project-photo figcaption{font-size:12px}.project-case-actions .detail-btn{width:100%}}

/* Real project photographs within the wood repair service page. */
.wood-projects-page .detail-hero-grid{grid-template-columns:1fr 1fr;gap:42px}
.wood-projects-page .detail-hero h1{font-size:clamp(36px,3.7vw,54px);line-height:1.15}
.wood-project-hero{min-width:0;background:#ffffff0a;border:1px solid #ffffff25;border-radius:16px;padding:20px}
.wood-project-kicker{font-size:12px!important;font-weight:700;letter-spacing:.1em;color:#a6e1b4;margin:0 0 16px!important}
.wood-project-hero .project-comparison{gap:12px}
.wood-project-hero .project-photo img{height:350px;object-fit:contain;border-radius:0}
.wood-project-hero .project-zoom{background:#eef0ed}
.wood-project-hero .project-stage{top:10px;left:10px;font-size:12px;padding:5px 9px}
.wood-project-caption{font-size:17px!important;font-weight:600;margin:16px 0 7px!important;color:#fff}
.wood-project-jump{font-size:14px;color:#b4e9c0!important;text-decoration:underline;text-underline-offset:4px}
.wood-project-section{background:#f3f6f7}
.wood-project-section-intro{max-width:800px;margin-bottom:32px}
.wood-project-section .detail-eyebrow{color:#315b77}
.wood-project-section-intro h2{font-size:clamp(28px,3vw,40px);line-height:1.2}
.wood-project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}
.wood-project-list .project-case{padding:26px;margin:0;scroll-margin-top:65px}
.wood-project-list .project-case h3{font-size:25px;line-height:1.25;color:#173d57;margin:0 0 14px}
.wood-project-list .project-category{font-size:11px}
.wood-project-list .project-description{font-size:15px;line-height:1.65}
.wood-project-list .project-description p{font-size:15px}
.wood-project-list .project-comparison{gap:12px}
.wood-project-list .project-photo img{height:300px}
.wood-project-list .project-stage{font-size:12px;top:8px;left:8px;padding:5px 9px}
.wood-project-list .project-photo figcaption{font-size:12px}
.wood-project-list .project-process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wood-project-list .project-process-grid img{height:260px}
.wood-project-list .project-case-actions .detail-btn{font-size:14px;white-space:normal;text-align:center}
.wood-project-list .project-note{font-size:13px}
.wood-project-hero-empty{padding:30px;border:1px solid #ffffff50;border-radius:14px}.wood-project-hero-empty a{color:#a6e1b4}
@media(max-width:900px){.wood-projects-page .detail-hero-grid{grid-template-columns:1fr}.wood-project-hero{max-width:650px;width:100%}.wood-project-list{grid-template-columns:1fr}.wood-project-list .project-photo img{height:380px}.wood-project-list .project-process-grid img{height:300px}}
@media(max-width:480px){.wood-project-hero{padding:14px}.wood-project-hero .project-photo img{height:260px}.wood-project-hero .project-comparison{gap:8px}.wood-project-list .project-case{padding:20px 14px}.wood-project-list .project-photo img{height:260px}.wood-project-list .project-process-grid img{height:220px}.wood-project-list .project-enlarge{font-size:10px;padding:4px 7px}.wood-project-list .project-case h3{font-size:23px}}
@media(max-width:1024px){body:has(.wood-projects-page,.stone-projects-page,.automotive-projects-page,.leather-projects-page,.metal-glass-projects-page,.film-projects-page,.grout-projects-page,.carpentry-projects-page,.commercial-projects-page,.projects-page) #masthead .elementor-widget-navigation-menu>.elementor-widget-container{margin:0!important}body:has(.wood-projects-page,.stone-projects-page,.automotive-projects-page,.leather-projects-page,.metal-glass-projects-page,.film-projects-page,.grout-projects-page,.carpentry-projects-page,.commercial-projects-page,.projects-page) #masthead .hfe-nav-menu__toggle{width:36px!important;margin-left:auto!important;margin-right:0!important}}

/* Mobile: one complete photograph per swipe, with native scroll snapping. */
.project-carousel-controls{display:none}
@media(max-width:767px){
 .project-carousel{display:flex!important;gap:0!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:10px}
 .project-carousel::-webkit-scrollbar{display:none}
 .project-carousel>.project-photo{display:block;flex:0 0 100%;width:100%;max-width:100%;scroll-snap-align:start;scroll-snap-stop:always}
 .project-carousel .project-photo img{height:clamp(300px,105vw,440px)!important;object-fit:contain!important;user-select:none;-webkit-user-drag:none}
 .project-carousel .project-photo figcaption{padding:0 4px}
 .project-carousel:focus-visible{outline:3px solid #62cc87;outline-offset:4px}
 .project-carousel-controls{display:flex;flex-direction:column;align-items:center;color:#315872;margin-top:10px}
 .project-carousel-hint{font-size:13px!important;text-align:center;margin:0 0 3px!important;color:inherit}
 .project-carousel-navigation,.project-carousel-dots{display:flex;align-items:center;justify-content:center;gap:4px}
 .project-carousel-controls button{display:grid;place-items:center;min-width:44px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;box-shadow:none}
 .project-carousel-controls button:focus-visible{outline:3px solid #62cc87;outline-offset:1px}
 .project-carousel-controls .project-carousel-arrow{font-size:30px;line-height:1}
 .project-carousel-arrow:disabled{opacity:.25;cursor:default}
 .project-carousel-dot span{display:block;width:9px;height:9px;border:1px solid currentColor;border-radius:50%;background:transparent}
 .project-carousel-dot[aria-current="true"] span{background:currentColor}
 .project-carousel-status{font-size:12px;line-height:1.5}
 .wood-project-hero .project-carousel-controls{color:#d1eddf}
}

.project-combined .project-photo img{height:auto!important;max-height:none;object-fit:contain}.project-combined .project-stage{position:static;display:inline-block;margin:8px}.project-combined .project-enlarge{bottom:8px}

/* One continuous category album on both desktop and mobile. */
.wood-projects-page .detail-hero-grid{grid-template-columns:1fr;max-width:960px}
.wood-unified-gallery{max-width:980px;margin:auto;min-width:0}
.project-category-album{min-width:0;width:100%}
.project-category-album h2{font-size:clamp(22px,3vw,30px);margin-bottom:24px}
.project-album{display:flex;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:12px}
.project-album::-webkit-scrollbar{display:none}
.project-album>.project-photo{flex:0 0 100%;width:100%;max-width:100%;scroll-snap-align:start;scroll-snap-stop:always}
.project-album .project-photo img{height:clamp(360px,65vh,640px)!important;object-fit:contain;user-select:none;-webkit-user-drag:none}
.project-album .project-photo figcaption{padding:0 6px;min-height:42px}
.project-album-controls{text-align:center;color:#315872;margin-top:16px}
.project-album-controls p{font-size:14px!important;margin:0 0 8px!important}
.project-album-navigation{display:flex;align-items:center;justify-content:center;gap:20px}
.project-album-navigation button{min-width:44px;width:44px;height:44px;padding:0;background:#e8f0f3;color:#173d57;border:0;border-radius:50%;font-size:30px;line-height:1;cursor:pointer}
.project-album-status{font-size:14px;min-width:155px}
.project-album:focus-visible,.project-album-navigation button:focus-visible{outline:3px solid #62cc87;outline-offset:3px}
@media(max-width:767px){.project-album .project-photo img{height:clamp(330px,110vw,480px)!important}.project-category-album{padding:20px 14px}.project-album-navigation{gap:12px}.project-album .project-photo figcaption{font-size:13px}}

.commercial-gallery .project-photo figcaption small{display:block;margin-top:8px;color:#596779;font-size:13px}.commercial-photo-credits{margin-top:20px;font-size:13px;color:#526174}.commercial-photo-credits summary{cursor:pointer}.commercial-photo-credits a{color:inherit}

/* Keep single-photo swiping; fit the frame to the photograph, not the slide. */
.project-category-album{max-width:900px;margin-inline:auto;padding:24px}
.project-category-album h2,.project-category-album h3{margin-bottom:18px}
.project-album{--album-photo-height:clamp(360px,68vh,600px)}
.project-album>.project-photo{display:grid;grid-template-rows:var(--album-photo-height) auto;align-content:start}
.project-album .project-zoom{align-self:center;justify-self:center;width:fit-content;max-width:100%;background:transparent}
.project-album .project-photo img{width:auto;max-width:100%;height:auto!important;max-height:var(--album-photo-height);border-radius:10px;object-fit:contain}
.project-album .project-photo figcaption{width:100%;max-width:68ch;box-sizing:border-box;justify-self:center;text-align:center;min-height:0;padding:0;margin:10px 0 0}
.project-album-controls{margin-top:12px}
@media(max-width:767px){
 .project-category-album{padding:18px 10px;margin-bottom:24px}
 .project-category-album h2,.project-category-album h3{margin-bottom:14px}
 .project-album{--album-photo-height:clamp(330px,125vw,520px)}
 .project-album .project-photo figcaption{padding:0 4px}
 .project-album-controls p{font-size:12px!important}
}

/* Selected service projects appear directly below the mobile homepage intro. */
@media(max-width:767px){
 .home-mobile-projects{display:block;width:100%;box-sizing:border-box;padding:28px 16px 34px;background:#f4f7f8;color:#173d57}
 .home-projects-intro{padding:0 2px;margin-bottom:16px}
 .home-projects-intro h2{font-size:26px;line-height:1.2;margin:0 0 9px;color:#173d57}
 .home-projects-intro p{font-size:14px;line-height:1.55;color:#526575;margin:0}
 .home-project-shortcuts{display:flex;gap:8px;overflow-x:auto;padding:0 0 14px;margin-bottom:4px;scrollbar-width:none}
 .home-project-shortcuts a{flex:none;padding:9px 13px;border:1px solid #d6e2e6;border-radius:22px;font-size:13px;color:#234c63;background:#fff;text-decoration:none}
 .home-mobile-projects .home-project-card{padding:18px 12px;margin:0 0 20px;scroll-margin-top:20px}
 .home-project-card h3{font-size:21px;line-height:1.3;color:#173d57;margin:0 0 16px}
 .home-project-card .project-album{--album-photo-height:clamp(300px,108vw,440px)}
 .home-project-card .project-photo figcaption{font-size:12px;line-height:1.5}
 .home-project-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #e2e9ed}
 .home-project-service{font-size:14px;font-weight:600;color:#234c63;text-decoration:underline}
 .home-project-enquiry{background:#55c967;color:#102e30;font-size:14px;font-weight:700;padding:11px 14px;border-radius:24px;text-decoration:none}
 .home-project-all{display:block;padding:12px 0;text-align:center;color:#234c63;text-decoration:underline;font-weight:600;font-size:15px}
}
