:root{--ink:#202421;--muted:#5f655f;--neutral:#e9e6de;--white:#fafaf7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a78e58;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}header{height:100px;padding:0 5%;display:flex;align-items:center;gap:35px;background:var(--white);position:sticky;top:0;z-index:20;border-bottom:1px solid #ddd}.brand{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700;letter-spacing:2px;line-height:1.4}.brand small{display:block;font-size:12px;letter-spacing:3px}.mark{border:1px solid currentColor;padding:6px 8px;line-height:1;font-size:17px;letter-spacing:1px}.mark span{display:block}nav{margin-left:auto;display:flex;gap:28px;font-size:14px}nav a:hover{text-decoration:underline}.header-call{font-size:17px;font-weight:bold;border-bottom:1px solid var(--ink)}.menu{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:650px;background:var(--ink);color:var(--white)}.hero-copy{padding:75px 8% 35px 10%;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:bold;margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,5.3vw,80px);line-height:1.08;letter-spacing:-3px;font-weight:500;margin-bottom:28px}em{font-family:Georgia,serif;font-weight:normal}h2{font-size:clamp(35px,3.8vw,56px);line-height:1.12;letter-spacing:-1.8px;font-weight:500;margin-bottom:25px}h3{font-size:23px;font-weight:500;line-height:1.3;margin-bottom:15px}.intro{max-width:430px;color:#d5d8d0;font-size:18px;line-height:1.75}.actions{display:flex;gap:24px;align-items:center;margin-top:12px}.button{padding:15px 23px;display:inline-block;font-size:14px;font-weight:bold;cursor:pointer;border:1px solid transparent;text-align:center}.light{background:#ece8df;color:var(--ink)}.dark{background:var(--ink);color:white}.button:hover{background:#c9c1b0;color:#202421}.text-link{font-size:14px;border-bottom:1px solid #777}.hero-foot{font-size:12px;margin:65px 0 0;color:#b8bdb5;display:flex;gap:25px;flex-wrap:wrap}.hero-photo{position:relative;height:650px}.hero-photo img{object-position:center 65%}.hero-photo figcaption{position:absolute;bottom:25px;left:25px;font-size:11px;letter-spacing:2px;background:#202421b8;padding:8px 12px}.trust{display:flex;justify-content:space-around;gap:20px;padding:23px 5%;background:var(--neutral);font-size:13px;letter-spacing:.3px}.section{padding:95px 7%;max-width:1600px;margin:auto}.section-head{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:40px}.section-head>p{max-width:380px;color:var(--muted);margin-bottom:25px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;border-top:1px solid #cfd1c8;padding-top:30px}.service-grid p{color:var(--muted)}.number{display:block;font-size:13px;color:#777e73;margin-bottom:30px}.curved{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--white)}.curved figure{min-height:570px}.curved img{object-position:52% center}.curved-copy{padding:70px 12%;align-self:center}.curved-copy p:not(.eyebrow){color:#c9cdc5}.curved-copy h2{font-size:clamp(35px,3.3vw,50px)}.lead{font-size:20px;line-height:1.55}.curved .button{margin-top:14px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project{border:0;padding:0;background:var(--ink);height:370px;position:relative;overflow:hidden;text-align:left;color:white;cursor:pointer}.project.tall{grid-row:span 2;height:760px}.project.wide{height:370px}.project:last-child{grid-column:span 2;height:400px}.project img{transition:transform .3s}.project:hover img{transform:scale(1.025)}.project>span{position:absolute;bottom:0;left:0;right:0;padding:50px 25px 24px;background:linear-gradient(transparent,#151a16c9);font-size:19px}.project small{display:block;font-size:12px;color:#e0e3dc}.project-note{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);gap:20px;margin-top:22px}.project-note a{text-decoration:underline}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#eeeee7;max-width:none}.about>div{align-self:center}.about p:not(.eyebrow){max-width:530px;color:var(--muted)}.about img{max-height:570px}.licence{font-size:14px;border-top:1px solid #c9cfc3;margin-top:30px;padding-top:20px}.licence strong{margin-left:25px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.process span{font-size:12px;letter-spacing:1.4px;display:block;margin-bottom:22px}.process p{color:var(--muted)}.quote{background:var(--neutral);display:grid;grid-template-columns:1fr 1.1fr;gap:10%;max-width:none}.quote>div>p{max-width:360px}.big-phone{font-size:clamp(28px,3vw,44px);font-weight:500;border-bottom:1px solid var(--ink);display:inline-block;margin:12px 0}.small{font-size:13px;color:var(--muted)}form{background:var(--white);padding:35px}form>p{font-size:14px;color:var(--muted)}label{font-size:14px;display:block;margin-bottom:18px}input,textarea,select{display:block;width:100%;background:transparent;border:1px solid #bfc4b9;border-radius:0;padding:12px;margin-top:6px;color:var(--ink);font-size:16px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}form .button{width:100%;margin-bottom:15px}form .small{margin-bottom:0}.faq{max-width:1050px}details{border-bottom:1px solid #cdd1c7;padding:20px 0}summary{cursor:pointer;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::after{content:'+'}details[open] summary::after{content:'−'}details p{color:var(--muted);margin:18px 40px 0 0}footer{background:var(--ink);color:#ecefe7;padding:45px 5%;display:flex;justify-content:space-between;align-items:center;gap:30px}footer p{font-size:12px;margin:0;color:#b9c0b4}footer>a:last-child{font-size:20px}.mobile-bar{display:none}.skip{position:absolute;left:10px;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}dialog{border:none;padding:20px;background:var(--ink);color:white;max-width:90vw;max-height:94vh}dialog::backdrop{background:#000c}dialog img{height:auto;max-height:78vh;object-fit:contain}dialog p{margin:12px 0 0}.close{display:block;margin:0 0 15px auto;background:white;border:none;padding:6px 16px;cursor:pointer}body.modal-open{overflow:hidden}
@media(min-width:1500px){.hero-copy{padding-left:15%}.hero-photo{height:750px}}
@media(max-width:1000px){header{padding:0 4%;gap:20px}nav{gap:17px}.hero-copy{padding:55px 8%}.hero-foot{margin-top:35px}.actions{flex-wrap:wrap}.section{padding:70px 6%}.curved-copy{padding:50px 8%}.trust{font-size:12px}.section-head{gap:30px}.service-grid{gap:25px}.quote{gap:5%}}
@media(max-width:760px){html{scroll-padding-top:80px}header{height:80px;gap:15px}.brand{font-size:12px;letter-spacing:1.3px}.brand small{font-size:10px;letter-spacing:2px}.mark{font-size:14px}.header-call{margin-left:auto;font-size:14px}.menu{display:block;background:none;border:1px solid #aaa;padding:5px 8px;font-size:12px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--white);padding:25px;box-shadow:0 8px 10px #0001}nav.open{display:flex;flex-wrap:wrap;gap:22px}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 6% 30px}.hero h1{font-size:51px;letter-spacing:-2px}.intro{font-size:17px}.hero-foot{margin-top:28px;gap:12px}.hero-photo{height:430px}.hero-photo img{object-position:center 55%}.trust{padding:18px 6%;gap:10px;display:grid;grid-template-columns:1fr;text-align:center}.trust span:not(:last-child){border-bottom:1px solid #cfd1c8;padding-bottom:10px}.section{padding:55px 6%}.section-head{display:block;margin-bottom:28px}.section-head>p{max-width:none}.service-grid{grid-template-columns:1fr;gap:15px}.service-grid article{border-bottom:1px solid #d8dcd1;padding-bottom:15px}.number{margin-bottom:10px}.curved{grid-template-columns:1fr}.curved figure{min-height:0;height:330px}.curved-copy{padding:45px 6%}.gallery{gap:12px}.project,.project.wide{height:250px}.project.tall{height:512px}.project:last-child{height:270px}.project>span{font-size:15px;padding:45px 14px 15px}.project small{font-size:12px}.project-note{display:block}.project-note a{display:block;margin-top:8px}.about{grid-template-columns:1fr;gap:30px}.about img{max-height:430px}.process-grid{grid-template-columns:1fr;gap:22px}.process span{margin-bottom:10px}.process-grid article:not(:last-child){border-bottom:1px solid #d8dcd1}.quote{grid-template-columns:1fr;gap:25px}form{padding:23px}.fields{grid-template-columns:1fr;gap:0}.faq summary{font-size:16px}footer{display:block;padding:40px 6% 105px}footer>div{margin:25px 0}.mobile-bar{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1.25fr 1fr;z-index:30;box-shadow:0 -2px 15px #0002;padding-bottom:env(safe-area-inset-bottom);background:var(--ink)}.mobile-bar a{padding:16px 8px;color:white;font-size:14px;text-align:center;font-weight:bold}.mobile-bar a:last-child{background:#e9e6de;color:var(--ink)}h2{letter-spacing:-1px}.eyebrow{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project img{transition:none}}

.pool-link{font-size:14px;text-decoration:underline;text-underline-offset:5px;color:#ded7c9;display:inline-block;margin:0 0 14px}.hero-photo img{object-position:center}.hero h1{font-size:clamp(42px,4.5vw,68px)}@media(max-width:760px){.hero h1{font-size:45px}}

.timber-products{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;align-items:center;border-top:1px solid #d8dcd1}.timber-products figure{height:410px}.timber-products p:not(.eyebrow){color:var(--muted)}.timber-products h2{font-size:clamp(35px,3.3vw,50px)}@media(max-width:760px){.timber-products{grid-template-columns:1fr;gap:28px}.timber-products figure{height:260px}}

.service-grid{grid-template-columns:repeat(2,1fr)}@media(max-width:760px){.service-grid{grid-template-columns:1fr}}

.contact-email{font-size:16px;margin-top:15px;overflow-wrap:anywhere}.contact-email a{text-decoration:underline;text-underline-offset:4px}.footer-email{margin-top:10px}.footer-email a{font-size:14px;color:#ecefe7;text-decoration:underline;overflow-wrap:anywhere}

.gallery-link{margin-top:30px}.work-heading{padding-bottom:35px}.work-heading h1{font-size:clamp(40px,5vw,68px)}.work-heading p{max-width:760px}.work-section{padding-top:20px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.work-photo{background:var(--neutral);color:var(--ink);border:0;padding:0;cursor:pointer;text-align:left;overflow:hidden}.work-photo img{aspect-ratio:4/3;height:auto;object-fit:cover;transition:transform .25s}.work-photo:hover img{transform:scale(1.02)}.work-photo>span{display:block;padding:16px 18px;font-size:16px}.work-photo small{display:block;color:var(--muted);font-size:12px;margin-top:4px}nav [aria-current=page]{text-decoration:underline;text-underline-offset:5px}@media(max-width:1000px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.work-grid{grid-template-columns:1fr;gap:20px}}@media(prefers-reduced-motion:reduce){.work-photo img{transition:none}}

.curved-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:28px 0 28px 28px;align-content:center}.curved .curved-photos figure{min-height:0;height:auto;position:relative;overflow:hidden}.curved-photos figure:first-child{grid-column:1/-1}.curved .curved-photos img{height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}.curved .curved-photos figure:first-child img{aspect-ratio:3/2}.curved-photos figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#151a16dd);padding:35px 14px 12px;font-size:13px;line-height:1.4}.curved-copy{padding:55px 9%}@media(max-width:760px){.curved-photos{padding:20px 6% 0;gap:10px}.curved-copy{padding:35px 6% 45px}.curved-photos figcaption{font-size:12px;padding:25px 10px 10px}}
