
:root{--ink:#242b25;--paper:#f7f5ef;--gold:#b99450;--muted:#666a61;--line:#d8d9cf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{padding:18px 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{display:block;background:#000;padding:5px 10px}.logo{display:block;width:116px;height:77px;background:url('assets/facebook-1.jpg') -13px 0/443px auto no-repeat}header nav{display:flex;gap:35px;font-size:13px}header nav a:hover,.text-link:hover{color:#8a652a}.header-contact{font-size:12px;font-weight:bold;border-bottom:1px solid var(--ink);padding:14px 0}.header-contact span{margin-left:18px}.menu{display:none}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;padding:65px 7% 54px;max-width:1600px;margin:auto}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:bold;line-height:1.8;margin:0 0 24px}.eyebrow>span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);vertical-align:middle;margin-right:7px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:normal;letter-spacing:-2.2px;line-height:1.08;margin:0}h1{font-size:clamp(48px,5.25vw,80px)}em{font-weight:normal;color:#89703e}h2{font-size:clamp(36px,3.8vw,55px)}.intro{font-size:17px;line-height:1.7;max-width:420px;margin:27px 0 12px}.hero-detail{font-size:13px;line-height:1.8;color:var(--muted);max-width:390px}.hero-actions{display:flex;gap:24px;align-items:center;margin:29px 0 40px}.button{display:inline-flex;justify-content:space-between;gap:35px;background:var(--ink);color:white;padding:18px 22px;font-size:12px;border:0}.button:hover{background:#3d493e}.text-link{font-size:12px;border-bottom:1px solid #b0b1a5;padding:9px 0;line-height:1.5}.text-link span{margin-left:10px}.hero-foot{display:flex;align-items:center;gap:15px;font-size:8px;letter-spacing:1.4px;line-height:1.8}.hero-foot strong{font-size:12px;font-weight:normal;letter-spacing:0}.small-mountain{font-size:40px;color:#a38851}.hero-visual{position:relative;padding-top:8px;align-self:center}.photo-frame{padding:14px;background:#e9e5d9;position:relative}.photo{background-image:url('assets/facebook-12.jpg');background-repeat:no-repeat;background-size:200% 200%}.media-photo{background-position:right top}.hero-visual .photo{height:385px;background-size:auto 200%;background-position:right top}.photo-label{position:absolute;bottom:30px;left:29px;background:var(--paper);font-size:8px;letter-spacing:1.5px;padding:13px}.photo-note{display:flex;justify-content:space-between;gap:10px;margin-top:17px;font-size:10px}.photo-note span:first-child{font-size:8px;letter-spacing:1px;color:var(--muted)}.vertical-note{position:absolute;writing-mode:vertical-rl;right:-25px;top:24px;font-size:8px;letter-spacing:2px}.service-ribbon{background:var(--ink);color:#ecece2;padding:27px 7%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:Georgia,serif;font-size:19px}.service-ribbon i{color:var(--gold);font-size:12px}.section-pad{padding:80px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px}.section-heading>p{font-size:13px;color:var(--muted);line-height:1.8;max-width:320px}.filters{display:flex;gap:8px;margin:34px 0 27px}.filters button{border:1px solid var(--line);background:transparent;padding:10px 17px;font-size:11px;border-radius:2px}.filters button.active{background:var(--ink);border-color:var(--ink);color:white}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.project{border:0;background:none;text-align:left;padding:0;display:block;min-width:0}.project[hidden]{display:none}.project-photo{display:block;aspect-ratio:1.22;transition:filter .2s}.project:hover .project-photo{filter:brightness(1.08)}.cupboard-photo{background:url('assets/facebook-1.jpg') 99% 48%/300% auto no-repeat}.fence-photo{background-position:left top}.project-meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.4px;margin:20px 0 11px;color:var(--muted)}.project-title{font-family:Georgia,serif;font-size:24px;display:flex;justify-content:space-between;gap:6px}.project-title>span{font-family:Arial,sans-serif;font-size:20px}.project-desc{display:block;font-size:11px;color:var(--muted);margin-top:11px}.gallery-status{font-size:10px;color:var(--muted);margin:25px 0 0}.services{background:#eeeee5;display:grid;grid-template-columns:1fr 1.1fr;gap:13%}.service-intro>p:not(.eyebrow),.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;color:var(--muted);max-width:420px;margin:25px 0}.service-list{align-self:center}details{border-top:1px solid #c7cabc}details:last-child{border-bottom:1px solid #c7cabc}summary{display:flex;align-items:center;gap:22px;list-style:none;cursor:pointer;font-family:Georgia,serif;font-size:25px;padding:26px 0}summary::-webkit-details-marker{display:none}summary>span{font:10px Arial,sans-serif;color:#797c6c}summary>b{margin-left:auto;font:22px Arial,sans-serif}details[open] summary>b{transform:rotate(45deg)}details p{font-size:13px;color:var(--muted);line-height:1.8;padding:0 25px 26px 34px;margin:0}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:13%;align-items:center}.about-art{background:#111410;min-height:370px;padding:43px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#f1eee3;text-align:center}.about-logo{background-color:#000;box-shadow:0 0 20px 20px #000;margin-top:10px}.about-art>p{font-size:12px;letter-spacing:3px;line-height:1.8;margin:40px 0}.about-art em{font-family:Georgia,serif;font-size:35px;letter-spacing:0;color:#c8ab6f}.about-location{font-size:7px;letter-spacing:1.5px;color:#c3bea9}.about-copy h2{font-size:43px}.contact{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:9%}.contact em{color:#d0b47a}.contact .eyebrow{color:#d0b47a}.contact p:not(.eyebrow){font-size:13px;line-height:1.85;color:#c3c8bf;margin-top:27px}.contact-options{align-self:center}.contact-options a{display:block;border-bottom:1px solid #536051;padding:22px 30px 22px 0;position:relative}.contact-options a:first-child{border-top:1px solid #536051}.contact-options a>span{font-size:8px;letter-spacing:1.6px;color:#c4c8bc;display:block;margin-bottom:10px}.contact-options strong{font-size:clamp(13px,1.55vw,23px);font-weight:normal;overflow-wrap:anywhere}.contact-options b{position:absolute;right:0;top:40px;font-weight:normal}.contact-options a:hover strong{color:#d0b47a}footer{display:flex;flex-wrap:wrap;justify-content:space-between;padding:32px 7%;gap:24px;font-size:10px}footer>span:first-child{font-weight:bold;letter-spacing:1px}footer small{width:100%;font-size:9px;color:var(--muted);border-top:1px solid var(--line);padding-top:17px}.skip{position:absolute;left:15px;top:-100px;background:white;padding:15px;z-index:5}.skip:focus{top:15px}dialog{border:0;background:var(--paper);color:var(--ink);max-width:720px;width:calc(100% - 32px);max-height:90vh;padding:35px}dialog::backdrop{background:#111b;backdrop-filter:blur(4px)}dialog h2{font-size:35px}dialog>p:not(.eyebrow){font-size:13px;line-height:1.8}dialog img{display:block;max-width:100%;max-height:55vh;width:auto;margin:20px auto;object-fit:contain}.close-dialog{display:block;margin:0 0 25px auto;border:0;background:none;padding:7px}.menu{background:none;border:0;padding:10px}#mobile-nav{padding:15px 7%;border-bottom:1px solid var(--line)}#mobile-nav a{display:block;padding:12px 0;font-size:14px}
@media(min-width:1600px){.section-pad{padding-left:max(7%,calc((100% - 1376px)/2));padding-right:max(7%,calc((100% - 1376px)/2))}}@media(max-width:1050px){.hero{gap:5%;padding-left:5%;padding-right:5%}.hero-actions{flex-direction:column;align-items:start;gap:12px}.hero-visual .photo{height:350px}.hero h1{font-size:58px}.service-ribbon{font-size:16px}.services,.about{gap:7%}.project-title{font-size:21px}header nav{gap:22px}.about-copy h2{font-size:37px}}@media(max-width:760px){header{padding:13px 6%}.logo{width:101px;height:67px;background-size:386px auto;background-position:-11px 0}.brand{padding:3px 8px}header nav,.header-contact{display:none}.menu{display:block}.hero{grid-template-columns:1fr;padding:37px 7% 35px;gap:30px}.hero h1{font-size:53px;letter-spacing:-2px}.eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:21px}.intro{font-size:16px;margin-top:22px}.hero-detail{font-size:13px}.hero-actions{margin:25px 0;gap:17px}.hero-foot{display:none}.hero-visual{width:100%;padding:0}.hero-visual .photo{height:300px}.vertical-note{right:-16px;font-size:7px}.photo-note{font-size:9px}.photo-note span:first-child{font-size:7px}.service-ribbon{padding:23px 7%;display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:15px}.service-ribbon i{display:none}.section-pad{padding:50px 7%}.section-heading{display:block}h2{font-size:39px}.section-heading>p{margin-top:22px}.filters{gap:6px;margin:25px 0}.filters button{padding:10px 11px;font-size:10px}.projects{grid-template-columns:1fr;gap:35px}.project-photo{aspect-ratio:1.35}.project-title{font-size:25px}.services,.about,.contact{grid-template-columns:1fr;gap:35px}.service-intro>p:not(.eyebrow){margin:22px 0}.service-list summary{font-size:23px}.about-art{min-height:300px;padding:30px}.about-copy h2{font-size:36px}.contact-options strong{font-size:18px}footer{font-size:9px;gap:16px}footer>span:nth-child(2){width:100%}dialog{padding:23px}dialog h2{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.danny-portrait{margin:0;position:relative;background:#e9e5d9;padding:12px}.danny-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 22%}.danny-portrait figcaption{padding:15px 4px 3px;font-size:8px;letter-spacing:1.5px;color:var(--muted)}
.brand{background:transparent;padding:5px 10px}.brand .logo{background:transparent url("assets/peaks-logo.svg") center/contain no-repeat}.footer-bottom{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.footer-bottom a{font-weight:bold;color:var(--ink);text-decoration:underline;text-underline-offset:3px}.footer-bottom a:hover{color:#89703e}

/* September 2026: individual supplied photographs and accessible moving gallery. */
.hero-visual .media-photo{background-image:url('assets/media-wall.jpg');height:auto;aspect-ratio:3/4;background-size:100% auto;background-position:center}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.gallery-controls p{font-size:12px;color:var(--muted)}.gallery-controls>div{display:flex;gap:8px}.gallery-controls button{border:1px solid var(--line);background:transparent;padding:10px 14px;font-size:12px}.gallery-controls button:hover{background:#e9e5d9}.gallery-window{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;padding:5px 5px 20px;overscroll-behavior-x:contain}.gallery-window:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.projects{display:flex;gap:27px}.projects .project{flex:0 0 310px}.selected-photo{background-repeat:no-repeat;background-position:center;background-size:100% auto}.project-photo.selected-photo{aspect-ratio:3/4}.media-wall{background-image:url('assets/media-wall.jpg')}.timber-gates{background-image:url('assets/timber-gates.jpg');background-size:cover}.herringbone-floor{background-image:url('assets/herringbone-floor.jpg')}.timber-door{background-image:url('assets/timber-door.jpg')}.decking{background-image:url('assets/decking.jpg');background-size:auto 290%}.garden-fencing{background-image:url('assets/garden-fencing.jpg')}.garden-building{background-image:url('assets/garden-building.jpg')}.extensions{display:grid;grid-template-columns:1fr 1.1fr;gap:13%;align-items:center;border-bottom:1px solid var(--line)}.extension-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;color:var(--muted);max-width:420px;margin:25px 0}.extensions figure{margin:0;padding:12px;background:#e9e5d9}.extension-photo{aspect-ratio:4/3;background-image:url('assets/roof-framing.jpg')}.extensions figcaption{font-size:10px;color:var(--muted);padding:14px 3px 3px}#project-image{width:min(100%,440px);aspect-ratio:3/4;margin:20px auto;background-repeat:no-repeat;background-position:center;background-size:100% auto}#project-image.timber-gates{background-size:cover}#project-image.decking{aspect-ratio:4/3;background-size:100% auto}
@media(max-width:760px){.projects .project{flex-basis:76vw;max-width:310px}.gallery-controls{align-items:start;flex-direction:column}.extensions{grid-template-columns:1fr;gap:30px}.hero-visual .media-photo{aspect-ratio:4/5}.project-title{font-size:23px}}

/* Customer excerpts, owner-confirmed credentials and supplied contact channels. */
.credentials{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:26px 0}.credentials li{border:1px solid var(--line);padding:12px 15px;font-size:12px}.credentials li span{color:#89703e;margin-right:8px}.reviews{background:#eeeee5}.reviews .section-heading>p{max-width:245px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:36px 0 28px}.review-card{margin:0;background:var(--paper);padding:30px;display:flex;flex-direction:column;border-top:2px solid var(--gold)}.review-score{font-family:Georgia,serif;font-size:30px;color:#89703e}.review-score span{font:12px Arial,sans-serif;color:var(--muted);margin-left:4px}.review-card blockquote{margin:20px 0 30px;flex:1}.review-card blockquote p{font:25px/1.45 Georgia,serif;margin:0}.review-card figcaption{font-size:11px;line-height:1.7}.review-card figcaption strong,.review-card time{display:block}.review-card time{color:var(--muted);margin-top:5px}.review-card figcaption a{display:inline-block;margin-top:15px;font-size:10px;text-decoration:underline;text-underline-offset:4px}.reviews-link{display:inline-block}.social-section{display:flex;justify-content:space-between;gap:30px;padding:32px 7%;border-bottom:1px solid var(--line);align-items:center}.social-section .eyebrow{margin-bottom:5px}.social-section p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0;line-height:1.7}.social-section nav{display:flex;gap:25px;flex-wrap:wrap}.social-section nav a{font-size:13px;border-bottom:1px solid var(--line);padding:10px 0}.social-section nav span{color:#89703e;margin-left:12px}.social-section a:hover{color:#89703e}
@media(max-width:1050px){.review-card{padding:22px}.review-card blockquote p{font-size:22px}header{gap:20px}header nav{gap:18px}}
@media(max-width:760px){.review-grid{grid-template-columns:1fr;gap:18px}.review-card{padding:26px}.review-card blockquote{margin:15px 0 23px}.review-card blockquote p{font-size:25px}.social-section{align-items:start;flex-direction:column;gap:20px}.social-section nav{gap:25px}.credentials{gap:8px}.credentials li{font-size:11px;padding:11px 12px}}

.fitted-cupboards{background-image:url('assets/fitted-cupboards.jpg')}.stair-balustrade{background-image:url('assets/stair-balustrade.jpg')}.rooflight-room{background-image:url('assets/rooflight-room.jpg')}.review-controls{margin-top:28px}.reviews-window{overflow-x:auto;padding:5px 5px 20px;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;overscroll-behavior-x:contain}.reviews-window:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.review-grid{display:flex;gap:24px;margin:0}.review-grid .review-card{flex:0 0 365px;min-height:295px}.reviews-link{margin-top:24px}@media(max-width:760px){.review-grid .review-card{flex-basis:82vw;max-width:365px;min-height:280px}}

/* Longer customer-supplied excerpts remain fully visible at every screen size. */
.review-card blockquote p{font-size:22px;line-height:1.5}.review-grid .review-card{min-height:380px}@media(max-width:760px){.review-card blockquote p{font-size:21px}.review-grid .review-card{min-height:390px}}

/* Crawlable image elements retain the approved screenshot framing. */
.image-frame{position:relative;overflow:hidden;background-image:none!important}.image-frame>img{display:block;position:absolute;left:50%;top:50%;width:100%;height:auto;max-width:none;transform:translate(-50%,-50%)}.image-frame.timber-gates>img{height:100%;width:100%;object-fit:cover}.image-frame.decking>img{height:290%;width:auto}
footer .footer-bottom{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}footer .design-credit{display:block;width:100%;font-size:18px;line-height:1.6;color:var(--ink)}footer .design-credit a{font-size:22px;text-underline-offset:5px}footer{padding-bottom:36px}

.credit-fireworks{position:fixed;pointer-events:none;z-index:30;contain:strict}.design-credit a:hover{color:#89703e;text-decoration-color:var(--gold)}
