:root{--gutter:clamp(22px, 5vw, 80px)}.shell{max-width:1280px}h1,h2{font-weight:650;letter-spacing:-.04em}.button{min-height:54px;padding:16px 26px;font-weight:600}.site-header{background:var(--panel)}.header-inner{height:94px}.wordmark{font-size:1.5rem;font-weight:650}.header-inner nav>ul{gap:clamp(12px, 1.5vw, 24px)}.header-inner nav a{font-size:.8rem;font-weight:500}.section{padding-block:100px}.section-heading{max-width:760px}.eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.16em}.page-home .site-header{position:absolute;inset:0 0 auto;background:#fff0;border:0;color:var(--accent-ink)}.page-home .header-inner{height:112px}.page-home .wordmark{border-color:var(--accent-ink)}.page-home .header-inner nav>ul>li>a:hover,.page-home .header-inner nav>ul>li>[aria-current]{color:var(--accent-ink)}.page-home .header-inner nav [aria-current]:after{background:var(--accent-ink)}.page-home .submenu{color:var(--ink)}.page-home .hero-home{position:relative;isolation:isolate;width:100%;max-width:none;min-height:780px;display:grid;grid-template-columns:1fr;place-items:center;padding:174px var(--gutter) 116px;margin:0;color:var(--accent-ink);background:var(--ink)}.page-home .hero-home .hero-photo{position:absolute;inset:0;height:100%;min-height:0;max-height:none;width:100%;padding:0;z-index:-2}.page-home .hero-home .hero-photo img{object-position:center 58%;animation:none}.hero-video{display:none}.hero-video-toggle{position:absolute;z-index:1;bottom:24px;left:max(var(--gutter), calc((100% - 1280px) / 2));display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 14px;border:1px solid rgb(252 252 250 / .5);border-radius:6px;background:rgb(36 42 41 / .8);color:var(--accent-ink);font-size:.75rem;transition:background .2s}.hero-video-toggle:hover{background:var(--ink)}.hero-video-toggle:focus-visible{outline-color:var(--accent-ink)}@media (min-width:1024px) and (prefers-reduced-motion:no-preference){.hero-video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(2px);transform:scale(1.015);opacity:0;transition:opacity .7s}.has-video .hero-video{opacity:1}}.page-home .hero-home:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgb(36 42 41 / .70),rgb(36 42 41 / .62) 50%,rgb(36 42 41 / .46))}.page-home .hero-copy{max-width:900px;text-align:center}.page-home .hero-home .eyebrow{color:var(--accent-ink);margin-bottom:25px}.page-home .hero-home h1{font-size:clamp(3.2rem, 4.8vw, 4.6rem);line-height:1.05;max-width:17ch;margin-inline:auto;font-weight:650}.page-home .hero-home .hero-description{max-width:64ch;margin:26px auto 0;color:var(--accent-ink)}.page-home .hero-description p{font-size:1.02rem;line-height:1.7}.page-home .hero-actions{justify-content:center;gap:30px;margin-top:34px}.page-home .hero-actions .button{padding:19px 32px;min-height:62px}.page-home .hero-actions .text-link{border-color:rgb(252 252 250 / .6)}.page-home .hero-actions .text-link:hover{color:var(--accent-ink);border-color:var(--accent-ink)}.page-home .hero-copy :focus-visible,.page-home .site-header>div>a:focus-visible,.page-home .menu-open:focus-visible{outline-color:var(--accent-ink)}.page-home .facts-strip{width:100%;max-width:none;padding:32px max(var(--gutter), calc((100% - 1280px) / 2));border:0;background:var(--surface);text-align:center;gap:0}.page-home .facts-strip p{padding-inline:18px}.page-home .facts-strip strong{color:var(--accent);font-size:1.9rem;line-height:1.2}.page-home .facts-strip span{font-size:.65rem;letter-spacing:.12em;margin-top:8px}.page-home .services>.section-heading,.page-home #projects .section-heading{margin-inline:auto;text-align:center}.page-home .services>.section-heading h2,.page-home #projects h2{color:var(--accent);font-size:clamp(2.6rem, 4.2vw, 4.2rem)}.page-home .section-heading p{margin-inline:auto}.page-home .section-heading .eyebrow{font-size:.72rem;color:var(--accent);margin-top:0}.page-home .service-features{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px;align-items:stretch}.page-home .service-feature{display:flex;flex-direction:column;min-width:0}.page-home .service-feature:nth-child(2){margin-top:0}.service-card-link{display:block;height:100%;text-decoration:none;border-radius:18px 18px 4px 4px}.service-card-link img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:18px;transition:filter .25s,transform .25s}.page-home .service-feature h3{display:flex;justify-content:space-between;gap:16px;font-size:1.3rem;line-height:1.3;letter-spacing:-.025em;margin-top:17px;transition:color .25s}.service-card-link h3 span{flex-shrink:0;color:var(--accent);transition:transform .25s}.service-card-link:hover img{filter:brightness(1.07);transform:translateY(-3px)}.service-card-link:hover h3{color:var(--accent)}.service-card-link:hover h3 span{transform:translate(2px,-2px)}.service-card-link:active{transform:translateY(1px)}.page-home .workshop-photo img,.page-home .project-viewport{border-radius:18px}.page-home .home-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.page-home .home-projects figure:first-child{grid-row:auto}.page-home .home-projects figure .project-viewport{aspect-ratio:1.12}.page-home .home-projects figcaption{display:block}.page-home .home-projects figcaption>span{display:block;text-align:left;margin-top:5px}.page-home .workshop{gap:64px}.page-home .workshop-photo img{aspect-ratio:1.05}.page-home .workshop-copy h2{font-size:clamp(2.3rem, 3.3vw, 3.5rem)}.page-home .workshop-facts{padding-block:32px;border-bottom:1px solid var(--line);text-align:center}.page-home .workshop-facts strong{color:var(--accent)}.workshop-assurances{grid-column:1 / -1;padding-top:24px}.assurances-heading{display:flex;align-items:center;gap:24px;margin-bottom:36px;color:var(--muted);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.assurances-heading::after{content:"";flex:1;height:1px;background:var(--line)}.assurance-badges{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;list-style:none;margin:0;padding:0}.assurance-badge{--seal-ink:#a62c3e;--seal-paper:#fff6f2;--seal-metal:#d9a9a9;text-align:center;min-width:0}.assurance-emblem{display:block;width:100%;max-width:240px;height:auto;margin:0 auto;color:var(--seal-ink);overflow:visible}.seal-edge{fill:var(--seal-metal);stroke:var(--seal-ink);stroke-width:.8}.seal-face{fill:var(--seal-paper)}.seal-ring,.seal-inner-ring{fill:none;stroke:var(--seal-ink);stroke-width:.8}.seal-inner-ring{stroke-dasharray:1 3}.seal-brand{fill:var(--seal-ink);font-size:12px;font-weight:600;letter-spacing:2.8px}.seal-detail{fill:var(--seal-ink);font-size:8px;font-weight:500;letter-spacing:1.4px}.seal-value{fill:var(--seal-ink);font-size:29px;font-weight:600;letter-spacing:-1.2px}.seal-ribbon-tail,.seal-ribbon{fill:var(--seal-ink)}.seal-ribbon-fold{fill:var(--ink)}.seal-ribbon-line{stroke:var(--seal-paper);stroke-opacity:.45;stroke-width:.6}.seal-label{fill:#fff;font-size:10px;font-weight:500;letter-spacing:1.2px}.seal-star{fill:var(--seal-ink)}.assurance-copy p{margin:12px auto 0;max-width:25ch;color:var(--muted);font-size:.78rem;line-height:1.6}@media (min-width:768px) and (max-width:1023px){.assurance-badges{grid-template-columns:repeat(6,minmax(0,1fr));gap:26px 20px}.assurance-badge{grid-column:span 2}.assurance-badge:nth-child(4){grid-column:2 / span 2}}@media (max-width:767px){.workshop-assurances{order:3;padding-top:12px}.assurances-heading{font-size:.62rem;gap:14px;margin-bottom:28px}.assurance-badges{grid-template-columns:1fr;gap:26px}.assurance-badge{display:flex;align-items:center;gap:20px;text-align:left}.assurance-emblem{width:156px;flex-shrink:0;margin:0}.assurance-copy p{margin:0;max-width:19ch;font-size:.8rem}}.page-home #process{padding-top:0}.reviews-heading-row{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:42px}.reviews-heading-row .section-heading{margin-bottom:0}.reviews-heading-row h2{font-size:clamp(2.6rem, 4.3vw, 4.3rem)}.google-rating{flex-shrink:0;display:grid;justify-items:center;padding:24px 44px;text-decoration:none;border-left:1px solid var(--line)}.google-rating-label{font-size:.95rem;font-weight:500}.google-rating-label>span{margin-left:12px;color:var(--accent)}.google-rating-score{font-size:4.6rem;line-height:1.2;font-weight:600;letter-spacing:-.07em;font-variant-numeric:tabular-nums}.google-rating-score>span{font-size:1rem;letter-spacing:0;font-weight:400;color:var(--muted);margin-left:10px}.review-stars{color:var(--accent);letter-spacing:.15em;font-size:1.1rem}.google-rating-count{font-size:.8rem;margin-top:8px;color:var(--muted)}.google-rating:hover .google-rating-label{text-decoration:underline;text-underline-offset:5px}.reviews-track{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px) / 3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:12px}.google-review{margin:0;padding:32px;background:var(--surface);border-radius:18px;display:flex;flex-direction:column;min-width:0;scroll-snap-align:start}.google-review blockquote{margin:24px 0 36px}.google-review blockquote p{font-size:1rem;line-height:1.65;letter-spacing:normal;white-space:pre-line;overflow-wrap:anywhere}.google-review figcaption a{display:inline-block;color:var(--muted);font-size:.75rem;padding:6px 0;text-underline-offset:3px}.reviews-carousel.is-ready .google-review:not(.is-expanded) blockquote p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}.review-read-more{display:block;background:none;border:0;padding:10px 0;min-height:44px;color:var(--accent);font:inherit;font-size:.8rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.review-read-more[hidden],.reviews-controls[hidden]{display:none}.reviews-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px}.reviews-position{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.reviews-arrows{display:flex;gap:10px}.reviews-arrows button{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);font:inherit;font-size:1.4rem;cursor:pointer}.reviews-arrows button:hover:not(:disabled){background:var(--accent);color:#fff}.reviews-arrows button:disabled{opacity:.35;cursor:default}.reviews-track:focus-visible,.reviews-arrows button:focus-visible,.review-read-more:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (min-width:768px) and (max-width:1023px){.reviews-track{grid-auto-columns:calc((100% - 24px) / 2)}}.google-review figcaption{display:flex;gap:12px;align-items:center;margin-top:auto}.review-initials{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--panel);color:var(--muted);font-size:.8rem;flex-shrink:0}.google-review figcaption strong{display:block;font-size:.9rem;font-weight:500}.google-review figcaption>span>span{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}.reviews-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px}.reviews-footer p{font-size:.72rem;color:var(--muted)}.reviews-footer .text-link{font-size:.85rem;gap:18px}.community-section{background:var(--surface)}.community-heading{max-width:920px;margin:0 auto 40px;text-align:center}.community-heading h2{font-size:clamp(2.4rem, 3.8vw, 3.8rem)}.community-heading h2 span{color:var(--accent)}.community-heading>p:not(.eyebrow){color:var(--muted);margin-top:22px}.community-gallery{display:grid;grid-template-columns:1.25fr 1fr;gap:22px}.community-photo{position:relative;min-width:0;overflow:hidden;border-radius:18px;aspect-ratio:2;isolation:isolate}.community-photo-main{grid-row:span 2;aspect-ratio:auto}.community-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%;position:absolute;inset:0}.community-photo-main img{object-position:32% center}.community-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgb(36 42 41 / .8));pointer-events:none}.community-photo figcaption{position:absolute;inset:auto 26px 24px;z-index:1;color:var(--accent-ink);font-size:1.2rem;letter-spacing:-.025em;font-weight:500}.community-photo-main figcaption{font-size:clamp(1.5rem, 2.5vw, 2.5rem)}.community-invitation{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:36px}.community-invitation h3{font-size:1.6rem}.community-invitation p{color:var(--muted);font-size:.95rem;margin-top:10px}.community-invitation .button{border-radius:6px;flex-shrink:0}.enquiry{border-top:0}.enquiry-grid{align-items:start;gap:clamp(35px, 6vw, 90px)}.enquiry-copy h2{font-size:clamp(2.8rem, 4.3vw, 4.5rem);color:var(--accent)}.quote-form{background:var(--panel);padding:clamp(24px, 3vw, 44px);border-top:4px solid var(--accent)}.quote-form input,.quote-form select,.quote-form textarea{background:var(--panel)}.site-footer{background:var(--bg)}.page-inner .hero h1,.page-article .hero h1{font-weight:650}.page-inner .hero-photo,.page-article .hero-photo{height:440px}@media (min-width:1440px){.page-home .header-inner>.button{background:#fff0;border-color:rgb(252 252 250 / .65);color:var(--accent-ink)}.page-home .header-inner>.button:hover{background:var(--accent);border-color:var(--accent)}}@media (max-width:1100px){.page-home .hero-home{min-height:720px}}@media (max-width:1023px){.page-home .service-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.header-inner,.page-home .header-inner{height:82px}.page-home .header-inner nav.is-open{color:var(--ink)}.header-inner nav.is-open>ul>li>a{font-size:1.35rem;min-height:44px;display:flex;align-items:center}.header-inner nav.is-open .submenu a{font-size:1rem;min-height:44px;display:flex;align-items:center}.page-home .header-inner nav.is-open>ul>li>a{color:var(--ink)}.page-home .header-inner nav.is-open>ul>li>[aria-current]{color:var(--accent)}.page-home .hero-home{padding-top:145px;padding-bottom:85px}.page-home .workshop{gap:36px}.page-home .home-projects{gap:20px}}@media (max-width:767px){.reviews-heading-row{flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:26px}.google-rating{border-left:0;border-top:1px solid var(--line);width:100%;padding:20px 0 0;grid-template-columns:auto 1fr;justify-items:start;align-items:center;column-gap:22px}.google-rating-score{grid-row:1 / 4;grid-column:1;font-size:3.8rem}.google-rating-label,.google-rating>.review-stars,.google-rating-count{grid-column:2}.google-rating-count{margin-top:0}.reviews-track{grid-auto-columns:100%;gap:16px}.google-review{padding:26px}.google-review blockquote{margin:18px 0 24px}.google-review blockquote p{font-size:1rem}.reviews-footer{flex-direction:column;align-items:flex-start;gap:12px}.reviews-footer .text-link{white-space:normal}.community-heading{text-align:left;margin-bottom:28px}.community-heading h2{font-size:2.4rem}.community-heading h2 br{display:none}.community-gallery{grid-template-columns:1fr;gap:16px}.community-photo,.community-photo-main{grid-row:auto;aspect-ratio:1.4;border-radius:14px}.community-photo-main{aspect-ratio:1.05}.community-photo figcaption{inset:auto 20px 20px;font-size:1.2rem}.community-photo-main figcaption{font-size:1.7rem}.community-invitation{flex-direction:column;align-items:flex-start;margin-top:28px}.community-invitation .button{width:100%}.section{padding-block:64px}.header-inner,.page-home .header-inner{height:76px}.header-inner .wordmark{font-size:1.3rem}.page-home .hero-home{min-height:740px;padding:134px var(--gutter) 85px}.page-home .hero-home h1{font-size:clamp(2.6rem, 8.4vw, 3.8rem);line-height:1.07}.page-home .hero-home .eyebrow{font-size:.61rem;letter-spacing:.12em;max-width:30ch;margin-inline:auto}.page-home .hero-home .hero-description{max-width:41ch;margin-top:24px}.page-home .hero-description p{font-size:.95rem;line-height:1.65}.page-home .hero-actions{flex-direction:column;align-items:center;gap:12px;margin-top:26px}.page-home .hero-actions .button{padding:16px 26px;min-height:56px}.page-home .hero-home .hero-photo img{object-position:58% center}.page-home .facts-strip{grid-template-columns:1fr 1fr;gap:24px 0;padding:28px var(--gutter)}.page-home .facts-strip p{display:block;padding-inline:8px}.page-home .facts-strip p:nth-child(even){border-left:1px solid var(--line)}.page-home .facts-strip strong{font-size:1.65rem}.page-home .facts-strip span{font-size:.56rem}.page-home .services>.section-heading h2,.page-home #projects h2{font-size:2.55rem}.page-home .service-features{gap:18px}.service-card-link{position:relative;isolation:isolate;overflow:hidden;border-radius:12px}.service-card-link:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgb(36 42 41 / .45) 48%,rgb(36 42 41 / .94));pointer-events:none}.page-home .service-feature h3{position:absolute;inset:auto 13px 15px;z-index:1;font-size:1rem;line-height:1.25;margin:0;gap:8px;align-items:flex-end;color:var(--accent-ink);text-align:left}.service-card-link h3 span{color:var(--accent-ink)}.service-card-link img{aspect-ratio:.85;border-radius:12px}.service-card-link:hover img{transform:scale(1.025)}.page-home .home-projects{grid-template-columns:1fr;gap:32px}.page-home .home-projects figure .project-viewport{aspect-ratio:1.3}.page-home .workshop-photo{order:0}.page-home .workshop-facts{gap:28px 16px}.page-home .workshop-facts strong{font-size:1.6rem}.enquiry-copy h2{font-size:3rem}.quote-form{padding:26px 20px}.quote-form fieldset{grid-template-columns:1fr}.site-footer{padding-bottom:115px}.page-inner .hero-photo,.page-article .hero-photo{height:300px}}@media (max-width:389px){.page-home .service-features{grid-template-columns:1fr}.service-card-link img{aspect-ratio:1.5}}@media (max-width:1023px){.no-js .page-home .site-header{position:relative;background:var(--ink)}.no-js .page-home .header-inner{height:auto}}:is(.page-home,.business-page) .hero::before{content:"";position:absolute;inset:0;background:#000;opacity:.3;z-index:0;pointer-events:none}:is(.page-home,.business-page) .hero>:not(.hero-photo,.hero-video-toggle){position:relative;z-index:1}.header-scroll-marker{position:absolute;top:64px;left:0;width:1px;height:1px;pointer-events:none;opacity:0}body:is(.page-home,.business-page) .site-header{position:fixed;transition:background-color .2s,color .2s,box-shadow .2s}body.header-scrolled .site-header{background:var(--panel);color:var(--ink);box-shadow:0 3px 16px rgb(36 42 41 / .10)}body.header-scrolled .wordmark{border-color:var(--accent)}body.header-scrolled .header-inner nav>ul>li>a{color:var(--ink)}body.header-scrolled .header-inner nav>ul>li>a:hover,body.header-scrolled .header-inner nav>ul>li>[aria-current]{color:var(--accent)}body.header-scrolled .header-inner nav [aria-current]:after{background:var(--accent)}body.header-scrolled .header-inner>.button{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}body.header-scrolled .header-inner>.button:hover{background:var(--ink);border-color:var(--ink)}body.header-scrolled .site-header>div>a:focus-visible,body.header-scrolled .menu-open:focus-visible{outline-color:var(--accent)}@media(max-width:1023px){.no-js :is(.page-home,.business-page) .site-header{position:relative}}@media(prefers-reduced-motion:reduce){:is(.page-home,.business-page) .site-header{transition:none}}@media(min-width:1024px){html{scroll-padding-top:128px}}.page-home .service-feature:last-child:nth-child(3n+1){grid-column:1 / -1}.page-home .service-feature:last-child:nth-child(3n+1) .service-card-link img{aspect-ratio:3.2}@media (max-width:1023px){.page-home .service-feature:last-child:nth-child(3n+1){grid-column:auto}.page-home .service-feature:last-child:nth-child(2n+1){grid-column:1 / -1}.page-home .service-feature:last-child:nth-child(n) .service-card-link img{aspect-ratio:1.5}.page-home .service-feature:last-child:nth-child(2n+1) .service-card-link img{aspect-ratio:2.2}}@media (max-width:767px){.page-home .service-feature:last-child:nth-child(n) .service-card-link img{aspect-ratio:.85}.page-home .service-feature:last-child:nth-child(2n+1) .service-card-link img{aspect-ratio:1.75}}@media (max-width:389px){.page-home .service-feature:last-child:nth-child(2n+1){grid-column:auto}.page-home .service-feature:last-child:nth-child(n) .service-card-link img{aspect-ratio:1.5}}