@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f4f1e9;--ink:#30392e;--muted:#666b60;--line:#cacdc0;--olive:#565f45;--sand:#e7e1d4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b78955;outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;z-index:100;padding:12px;background:var(--paper)}.skip:focus{top:10px}.nav{height:96px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:10;width:100%;color:white;border-bottom:1px solid #ffffff35}.logo{font:700 29px/1 'Manrope',sans-serif;letter-spacing:-1.8px}.logo span{display:block;font:10px/1.8 'DM Sans',sans-serif;letter-spacing:2.4px;margin-top:9px}.nav nav{display:flex;align-items:center;gap:38px;font-size:14px}.nav-cta{border:1px solid #ffffff75;padding:11px 22px;border-radius:2px}.film{height:650svh;position:relative;background:#748a89}.film-stage{height:100svh;position:sticky;top:0;overflow:hidden;color:white}video{width:100%;height:100%;object-fit:cover;display:block}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#101b1c65,transparent 80%),linear-gradient(0deg,#131e2080,transparent 45%)}.intro{position:absolute;left:7%;top:28%;max-width:800px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600}.intro h1{font:500 clamp(48px,6vw,88px)/1.07 'Manrope',sans-serif;letter-spacing:-4px;margin:22px 0 32px}.scroll-hint{font-size:14px;display:flex;gap:24px;align-items:center}.scroll-hint span{font-size:25px}.film-caption{position:absolute;bottom:24px;left:4.5%;font-size:11px;letter-spacing:2px}.skip-film{position:absolute;right:4.5%;bottom:34px;font-size:13px;border-bottom:1px solid #fff8}.film-progress{position:absolute;bottom:0;height:3px;background:#ffffff30;width:100%}.film-progress span{height:100%;display:block;background:var(--paper);width:0}.callout{position:absolute;top:40%;left:9%;opacity:0;max-width:370px;text-shadow:0 2px 22px #0008}.callout h2{font:500 clamp(32px,4vw,58px)/1.1 'Manrope',sans-serif;letter-spacing:-2px;margin:10px 0}.callout p{font-size:16px;margin:12px 0}.service-number{font-size:12px;letter-spacing:3px}.leader{width:220px;height:1px;background:#ffffffa0;position:relative;transform:rotate(-15deg);transform-origin:left;margin-top:48px}.leader i{width:7px;height:7px;background:white;border-radius:50%;position:absolute;right:0;top:-3px}.end-hero{position:absolute;inset:0;padding:6% 5%;display:flex;flex-direction:column;justify-content:space-between;opacity:0;pointer-events:none}.wordmark{font:700 clamp(50px,13.7vw,240px)/1 'Manrope',sans-serif;letter-spacing:-.085em;margin:0}.end-hero>div{text-align:center;margin-bottom:70px}.end-hero h2{font:400 clamp(25px,3.2vw,46px)/1.2 'Manrope',sans-serif;letter-spacing:-1.5px;margin-bottom:26px}.button{display:inline-block;background:var(--ink);color:var(--paper);padding:16px 28px;border:1px solid transparent;cursor:pointer;border-radius:2px;font-size:14px}.button:hover{background:var(--olive)}.button.light{background:var(--paper);color:var(--ink)}.wrap{padding:110px 7%}.introduction{display:grid;grid-template-columns:1fr 2fr;gap:7%}.introduction h2{font:500 clamp(38px,4.8vw,68px)/1.12 'Manrope',sans-serif;letter-spacing:-2.7px;margin:0 0 30px}.introduction h2 em{font-family:Georgia,serif;font-weight:400}.introduction p:not(.eyebrow){max-width:540px;color:var(--muted);font-size:18px}.text-link{font-size:14px;display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:6px;margin-top:12px}@media(max-width:700px){.nav{height:80px;padding:0 6%}.logo{font-size:25px}.logo span{font-size:8px}.nav nav{gap:0}.nav nav>a:not(.nav-cta){display:none}.nav-cta{padding:8px 14px;font-size:12px}.intro{left:7%;top:30%;right:7%}.intro h1{letter-spacing:-2.5px}.film{height:520svh}.film-caption{font-size:9px;max-width:130px}.callout{top:44%;left:7%;right:7%;max-width:290px}.leader{width:140px}.end-hero{padding-top:30%}.end-hero>div{margin-bottom:110px}.end-hero h2{letter-spacing:-1px}.wrap{padding:72px 7%}.introduction{grid-template-columns:1fr;gap:25px}.introduction h2{letter-spacing:-2px}.introduction p:not(.eyebrow){font-size:16px}}
.callout.right{left:auto;right:10%;top:37%}.callout.right .leader{transform:rotate(15deg);margin-left:-70px}.static-mode{height:100svh}.static-mode .film-stage{background:url('assets/sky.jpg') center/cover}.static-mode .film-caption,.static-mode .skip-film,.static-mode .film-progress{display:none}.static-mode .end-hero{padding-top:120px}.feature-photo{height:78vh;min-height:480px;max-height:900px;position:relative;color:white;overflow:hidden}.feature-photo>img{width:100%;height:100%;object-fit:cover}.feature-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#17231995,transparent 65%)}.feature-photo>div{position:absolute;bottom:10%;left:7%;z-index:1}.feature-photo>div p{font:400 clamp(35px,4vw,60px)/1.12 'Manrope',sans-serif;letter-spacing:-2px;margin:16px 0}.image-note{position:absolute;bottom:16px;right:24px;font-size:11px;z-index:1}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:60px}.section-head h2,.testimonials h2,.contact h2{font:500 clamp(36px,4.4vw,64px)/1.13 'Manrope',sans-serif;letter-spacing:-2.8px;margin:20px 0 0}.section-head h2 em,.contact h2 em{font-family:Georgia,serif;font-weight:400}.section-head>p{color:var(--muted);max-width:400px;font-size:16px;margin:0 0 6px}.service-list{border-top:1px solid var(--line);margin-left:24%}.service-list details{border-bottom:1px solid var(--line);padding:23px 0}.service-list summary{list-style:none;display:flex;gap:25px;align-items:center;cursor:pointer}.service-list summary::-webkit-details-marker{display:none}.service-list h3{font:400 clamp(23px,2.3vw,35px)/1.3 'Manrope',sans-serif;letter-spacing:-1px;margin:0}.index{font-size:12px;color:var(--muted)}.plus{margin-left:auto;font-size:28px;font-weight:400}.service-list details[open] .plus{transform:rotate(45deg)}.service-list details>p{color:var(--muted);max-width:560px;margin:18px 45px 0}.transformation{background:var(--sand)}.comparison{--split:50%;position:relative;aspect-ratio:16/9;overflow:hidden}.comparison img{position:absolute;width:100%;height:100%;object-fit:cover}.comparison .before-image{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-label{position:absolute;top:24px;background:#f4f1e9e8;padding:5px 14px;font-size:12px;pointer-events:none}.before-label{left:24px}.after-label{right:24px}.divider{position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:white;pointer-events:none}.divider>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:var(--paper);box-shadow:0 2px 20px #0002;font-size:20px;white-space:pre}.comparison input{position:absolute;bottom:20px;left:15%;width:70%;opacity:0;height:calc(100% - 40px);margin:0;cursor:ew-resize}.comparison:focus-within{outline:3px solid var(--olive);outline-offset:6px}.caption-row{display:flex;gap:25px;justify-content:space-between;font-size:12px;margin-top:18px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px}.project-grid article:nth-child(2){padding-top:95px}.project-image{aspect-ratio:1.25;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-image:hover img{transform:scale(1.035)}.crop-pavilion{aspect-ratio:.95}.crop-pavilion img{object-position:right;transform:scale(1.5);transform-origin:85% 55%}.crop-pavilion:hover img{transform:scale(1.55)}.project-title{display:flex;align-items:center;justify-content:space-between}.project-title h3{font:500 24px/1.3 'Manrope',sans-serif;letter-spacing:-.7px;margin:23px 0 7px}.project-title span{font-size:12px;color:var(--muted)}.project-grid article>p{font-size:14px;margin:0;color:var(--muted)}.quiet{font-size:12px;color:var(--muted)}.projects>.quiet{margin-top:40px}.process{background:var(--ink);color:var(--paper)}.process .text-link{border-color:var(--paper);margin-bottom:5px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:70px}.process-grid article{border-top:1px solid #ffffff40;padding-top:22px}.process-grid span{font-size:11px;letter-spacing:1.4px;color:#d0d3c5}.process-grid h3{font:400 25px/1.3 'Manrope',sans-serif;letter-spacing:-.5px;margin:30px 0 14px}.process-grid p{font-size:15px;color:#d0d3c5}.testimonials{text-align:center;padding-top:110px;padding-bottom:110px}.testimonials h2{font-size:clamp(30px,3.5vw,48px);margin:25px 0}.testimonials>p:not(.eyebrow){color:var(--muted);margin-top:30px}.contact{background:#e3e1d5;display:grid;grid-template-columns:1fr 1fr;gap:9%}.contact h2{font-size:clamp(40px,4.5vw,68px)}.contact>div>p:not(.eyebrow){color:var(--muted);max-width:400px;margin:30px 0}.contact-direct{margin:28px 0;padding:26px 28px;max-width:400px;background:linear-gradient(135deg,#ffffffd9,#f4f1e9d9);border:1px solid #cfd3c3;border-left:3px solid var(--olive);border-radius:10px;font-size:14px;line-height:1.7;box-shadow:0 14px 34px -22px #17231966}.contact-direct .eyebrow{display:block;margin-bottom:10px;color:var(--olive)}.contact-direct p{margin:0 0 8px}.contact-direct .contact-email{font-size:21px;font-weight:600;letter-spacing:-.3px;margin-bottom:10px}.contact-direct .contact-email a{border-bottom:none}.contact-direct p:last-child{margin-bottom:0;font-size:12.5px;color:var(--muted)}.contact-direct a{text-decoration:underline;text-underline-offset:3px}.contact-note{font-size:13px;max-width:370px;border-top:1px solid #a4aa983d;margin-top:50px;padding-top:20px}.contact-note span{display:block;color:var(--muted);margin-top:6px}.contact form{padding:36px;background:#fffdf8;border:1px solid #cfd3c3;border-radius:10px;box-shadow:0 12px 30px -18px #17231940;margin-top:8px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact label{display:block;font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);margin-bottom:22px}.contact label span{color:var(--muted);text-transform:none;font-weight:400}.contact input,.contact select,.contact textarea{width:100%;margin-top:9px;padding:13px 14px;background:#fff;border:1px solid #c6cab8;border-radius:6px;color:var(--ink);font-size:15px;font-weight:400;letter-spacing:0;text-transform:none;transition:border-color .2s,box-shadow .2s}.contact input:focus,.contact select:focus,.contact textarea:focus{outline:none;border-color:var(--olive);box-shadow:0 0 0 3px #565f4526}.contact textarea{resize:vertical}.contact select{margin-top:9px}.contact .button{width:100%;background:var(--ink);color:var(--paper);padding:16px;font-size:15px;font-weight:600;letter-spacing:.3px;border-radius:6px;margin-top:6px}.contact .button:hover{background:var(--olive)}.form-status{font-size:12px;line-height:1.6;color:var(--muted);margin-top:14px;text-align:center}footer{padding:48px 7% 28px;background:var(--paper)}.footer-top,.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-top>a:last-child{font-size:13px}.footer-top p{font-size:15px}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;margin-top:35px;font-size:11px;color:var(--muted)}@media(max-width:900px){.process-grid{grid-template-columns:1fr 1fr}.contact{gap:6%}.service-list{margin-left:0}.section-head{gap:30px}.section-head>p{max-width:280px}}@media(max-width:700px){.callout.right{left:7%;right:7%;top:42%}.callout.right .leader{margin-left:0}.section-head{display:block;margin-bottom:36px}.section-head>p{margin-top:25px}.section-head h2,.contact h2{letter-spacing:-1.8px}.feature-photo{height:65svh;min-height:420px}.feature-photo>img{object-position:60%}.feature-photo .image-note{font-size:10px;right:7%}.service-list summary{gap:15px}.service-list details{padding:20px 0}.service-list details>p{margin-left:32px;font-size:15px}.comparison{aspect-ratio:4/3}.comparison img{object-position:center}.caption-row{display:block;font-size:11px}.caption-row>span{display:block;margin-top:8px}.project-grid{grid-template-columns:1fr;gap:40px}.project-grid article:nth-child(2){padding-top:0}.project-image,.crop-pavilion{aspect-ratio:1.2}.process-grid{gap:28px 22px;margin-top:45px}.process-grid h3{font-size:21px}.process-grid span{font-size:10px;letter-spacing:.7px}.process-grid p{font-size:14px}.contact{grid-template-columns:1fr;gap:36px}.contact-note{margin-top:30px}.form-pair{gap:18px}.footer-top{flex-wrap:wrap}.footer-top p{width:100%;order:3;margin:5px 0}.footer-bottom{font-size:10px;align-items:flex-start}.testimonials{padding-top:70px;padding-bottom:70px}.testimonials h2{letter-spacing:-1px}}.insta-carousel{position:relative}.insta-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-top:0}.insta-grid::-webkit-scrollbar{display:none}.insta-tile{flex:0 0 240px;aspect-ratio:9/16;scroll-snap-align:start;position:relative;display:block;overflow:hidden;border-radius:4px;background:#101b1c}.insta-tile video{width:100%;height:100%;object-fit:cover;display:block}.insta-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;opacity:0;background:#17231960;transition:opacity .3s}.insta-tile:hover .insta-icon,.insta-tile:focus-visible .insta-icon{opacity:1}.insta-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:none;background:#172319b3;color:#fff;font-size:20px;line-height:1;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center}.insta-arrow:hover{background:#172319e6}.insta-arrow.prev{left:-6px}.insta-arrow.next{right:-6px}.insta-arrow:disabled{opacity:.35;cursor:default}.instagram>.quiet{margin-top:24px}@media(max-width:700px){.insta-arrow{display:none}.insta-tile{flex-basis:58vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* A quiet, centred finish. Mobile framing follows the service being shown. */
.end-hero{align-items:center;justify-content:center;padding:8% 7%;text-align:center;gap:19px}.wordmark{font-size:clamp(42px,5.4vw,78px);letter-spacing:-.065em;line-height:1.2;font-weight:600}.end-hero>div{margin:0}.end-hero h2{font-size:clamp(19px,2vw,28px);letter-spacing:-.65px;font-weight:400;margin:0 0 30px}.end-hero .button{padding:14px 25px}.static-mode .end-hero{padding-top:8%}.leader{display:none}@media(max-width:700px){video{transition:object-position 850ms cubic-bezier(.25,.1,.25,1)}.end-hero{padding:10% 7%;gap:14px}.wordmark{font-size:46px}.end-hero h2{font-size:20px;margin-bottom:28px}.end-hero>div{margin:0}.static-mode .end-hero{padding-top:10%}}@media(prefers-reduced-motion:reduce){video{transition:none}}.mobile-only{display:none}.swipe-hint{align-items:center;gap:8px;font-size:12px;letter-spacing:.4px;color:var(--muted);margin:-30px 0 30px}.swipe-hint span{display:inline-block;animation:swipe-nudge 1.6s ease-in-out infinite}@keyframes swipe-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}@media(max-width:700px){.desktop-only{display:none}.mobile-only{display:flex}.comparison input{display:none}.divider>span{display:none}}@media(prefers-reduced-motion:reduce){.swipe-hint span{animation:none}}.menu-toggle{display:none;background:none;border:0;width:30px;height:22px;position:relative;cursor:pointer;padding:0;z-index:20}.menu-toggle span{position:absolute;left:0;right:0;height:2px;background:#fff;transition:transform .3s,opacity .3s}.menu-toggle span:nth-child(1){top:0}.menu-toggle span:nth-child(2){top:10px}.menu-toggle span:nth-child(3){top:20px}.menu-toggle.open span:nth-child(1){transform:translateY(10px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}.mobile-menu{position:fixed;left:0;right:0;top:80px;background:var(--ink);display:flex;flex-direction:column;padding:6px 6% 24px;gap:0;transform:translateY(-14px);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:18}.mobile-menu.open{opacity:1;transform:translateY(0);pointer-events:auto}.mobile-menu a{padding:16px 2px;border-bottom:1px solid #ffffff22;font-size:15px;color:var(--paper)}.mobile-menu a.nav-cta{border:1px solid #ffffff75;border-radius:2px;text-align:center;margin-top:14px}.faq-list{margin-left:0}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}.cookie-banner{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(160%);max-width:520px;width:calc(100% - 40px);background:var(--ink);color:var(--paper);padding:20px 22px;border-radius:10px;box-shadow:0 18px 40px -12px #00000055;display:flex;align-items:center;gap:18px;z-index:40;transition:transform .5s ease}.cookie-banner.show{transform:translateX(-50%) translateY(0)}.cookie-banner p{font-size:13px;line-height:1.5;margin:0;flex:1}.cookie-banner .button{flex:0 0 auto;padding:10px 18px;font-size:13px}@media(max-width:700px){.nav nav{display:none}.menu-toggle{display:block}.cookie-banner{flex-direction:column;align-items:stretch;text-align:left;bottom:12px;width:calc(100% - 24px)}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}@media(hover:hover) and (pointer:fine){.button{transition:background .25s ease,transform .25s ease,box-shadow .25s ease}.button:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px #17231966}.nav-cta{transition:background .25s ease,border-color .25s ease}.nav-cta:hover{background:#ffffff1a;border-color:#fff}.nav nav>a:not(.nav-cta){position:relative}.nav nav>a:not(.nav-cta):after{content:'';position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:currentColor;transition:right .25s ease}.nav nav>a:not(.nav-cta):hover:after{right:0}.text-link{transition:padding-left .25s ease}.text-link:hover{padding-left:6px}.logo{transition:opacity .25s ease}.logo:hover{opacity:.82}.service-list summary:hover h3{color:var(--olive)}.service-list summary h3{transition:color .25s ease}}
