:root{--ink:#1c2929;--forest:#263a38;--stone:#f3f1e9;--paper:#faf9f5;--muted:#64716d;--line:#d8ddd5;--accent:#b9c9af}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(3.2rem,7vw,7.4rem);font-weight:600}h2{font-size:clamp(2.4rem,4.2vw,4.6rem);font-weight:600}h3{font-size:1.35rem;font-weight:600}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{height:90px;padding:0 clamp(24px,4vw,72px);display:flex;align-items:center;gap:4vw;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:15px;margin-right:auto}.brand-monogram{font-family:Manrope,sans-serif;font-size:1.3rem;font-weight:800;letter-spacing:-.1em;line-height:1;position:relative}.brand-line{display:block;width:100%;height:2px;background:var(--ink);margin-top:5px}.brand-name{font-size:.67rem;font-weight:700;line-height:1.35;text-transform:uppercase;letter-spacing:.11em}.site-header nav{display:flex;gap:clamp(16px,2.3vw,37px);align-items:center}.site-header nav a,.header-call{font-size:.86rem;font-weight:700;white-space:nowrap}.site-header nav a:hover,.site-header nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}.header-call{border:1px solid var(--ink);padding:10px 16px}.menu-button{display:none;background:none;border:1px solid var(--ink);padding:8px 15px}.section-pad{padding:clamp(70px,10vw,150px) clamp(24px,7vw,128px)}.eyebrow{display:block;font-size:.73rem;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:#52685e;margin-bottom:27px}.eyebrow.light{color:#c7d4c7}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;padding:16px 22px;font-weight:700;font-size:.89rem;min-height:52px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--accent);color:var(--ink)}.button.dark{background:var(--ink);color:white}.button.ghost{border:1px solid #abb7ad;color:white}.text-link{display:inline-flex;gap:34px;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:.92rem;font-weight:700}.hero{background:var(--forest);color:white;display:grid;grid-template-columns:1.03fr .97fr;min-height:min(760px,80vh);position:relative}.hero-copy{padding:clamp(70px,9vw,160px) clamp(24px,7vw,128px);padding-right:5vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{max-width:780px;margin-bottom:30px}.hero p{max-width:590px;font-size:1.18rem;color:#e0e7dd;margin-bottom:40px}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-image{position:relative;overflow:hidden;min-height:640px}.hero-image img{object-position:54% 45%}.image-caption{position:absolute;bottom:34px;right:34px;background:var(--paper);color:var(--ink);padding:12px 17px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.hero-index{position:absolute;bottom:23px;left:7vw;color:#c7d4c7;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.intro{display:grid;grid-template-columns:1.1fr .8fr;gap:8vw}.intro h2{max-width:710px}.intro-text{padding-top:43px}.intro-text p{font-size:1.12rem;color:#42504c;margin-bottom:33px}.feature{display:grid;grid-template-columns:1.1fr .9fr;background:#e8ece5;padding-top:0;padding-bottom:0;gap:8vw;align-items:center}.feature-image{height:640px;overflow:hidden;margin-left:-7vw}.feature-image img{object-position:50% 50%}.feature-copy{padding:70px 0}.feature-copy h2{max-width:600px}.feature-copy p{max-width:520px;font-size:1.08rem;color:#4b5954;margin-bottom:32px}.section-row{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:54px}.section-row h2{margin:0}.section-row>p{max-width:430px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.project-card{display:block}.card-photo{height:390px;overflow:hidden;background:#dfe5dd}.card-photo img{transition:transform .5s}.project-card:hover .card-photo img{transform:scale(1.035)}.card-meta{display:flex;justify-content:space-between;gap:12px;padding:20px 0 15px;color:#5c6c63;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;border-bottom:1px solid var(--line)}.project-card h3{font-size:1.65rem;margin:20px 0 12px}.project-card p{color:#58645f;max-width:400px;min-height:78px}.project-card .text-link{margin-top:8px}.services{background:var(--forest);color:white}.services .section-row{align-items:end}.services .section-row p{color:#d4dfd5}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #73867a}.service-grid>div{padding:31px 35px 50px 0;border-bottom:1px solid #73867a;min-height:210px}.service-grid b{font-size:.75rem;color:#bdcbbb;letter-spacing:.14em}.service-grid h3{font-size:1.4rem;margin:24px 0 15px}.service-grid p{max-width:320px;color:#cbd7cb;font-size:.9rem}.service-grid a{text-decoration:underline;text-underline-offset:4px;font-size:.82rem}.closing{text-align:center;background:#e8ece5}.closing h2{max-width:780px;margin:0 auto 26px}.closing p{margin-bottom:32px}.site-footer{background:#182423;color:#edf1e9;display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding:75px clamp(24px,7vw,128px) 30px}.site-footer strong{font-size:2rem;font-family:Manrope,sans-serif;letter-spacing:-.07em}.site-footer p{max-width:360px;color:#c7d4ca;font-size:.9rem}.site-footer a{display:block;line-height:2;color:#e7efe6;font-size:.9rem}.site-footer small{grid-column:1/-1;border-top:1px solid #4b5d54;padding-top:22px;color:#b2bfb3;font-size:.75rem}.page-hero{background:#e8ece5;padding-top:125px;padding-bottom:105px}.page-hero h1{margin:0 0 28px}.page-hero p{font-size:1.25rem;max-width:740px;color:#465750}.work-overview{padding-top:80px}.detail-hero{display:grid;grid-template-columns:.95fr 1.05fr;min-height:660px;background:var(--forest);color:white}.detail-copy{padding:80px clamp(24px,7vw,128px);display:flex;flex-direction:column;justify-content:center}.detail-copy h1{font-size:clamp(3rem,5.5vw,6rem);margin-bottom:28px}.detail-copy p{font-size:1.15rem;color:#d9e3da;max-width:600px}.back-link{font-size:.85rem;margin-bottom:80px;align-self:flex-start}.detail-image{overflow:hidden;max-height:850px}.story{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.story h2{max-width:650px}.story p{font-size:1.1rem;max-width:700px;color:#485650}.story h3{margin-top:40px}.gallery{background:#e8ece5}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-grid figure{margin:0;position:relative;height:430px;overflow:hidden;background:#dce3db}.gallery-grid figure:first-child{grid-column:span 2;height:520px}.gallery-grid figure:nth-child(2){height:520px}.gallery-grid figcaption{position:absolute;left:14px;bottom:14px;background:var(--paper);padding:5px 13px;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700}.result{background:var(--forest);color:white}.result h2{max-width:1100px}.next{display:flex;flex-direction:column;align-items:start}.next a{font-family:Manrope,sans-serif;font-size:clamp(2rem,4vw,4rem);letter-spacing:-.04em;font-weight:600;max-width:900px;line-height:1.2}.small-grid{background:var(--forest);color:white;display:grid;padding-top:65px;padding-bottom:65px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-phone{display:block;font-family:Manrope,sans-serif;font-size:clamp(2rem,3.5vw,3.6rem);font-weight:600;letter-spacing:-.05em}.contact-email{display:block;text-decoration:underline;text-underline-offset:6px;overflow-wrap:anywhere}.contact-layout>div p{margin-top:50px}.enquiry-form{background:#e8ece5;padding:clamp(25px,4vw,65px);display:flex;flex-direction:column;gap:20px}.enquiry-form h2{font-size:2.5rem;margin-bottom:10px}.enquiry-form label{display:flex;flex-direction:column;font-weight:700;font-size:.86rem;gap:7px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{border:1px solid #b6c1b6;background:var(--paper);color:var(--ink);padding:12px 14px;border-radius:0;min-height:48px}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:2px solid #3b6754}.enquiry-form button{align-self:start;border:0}.form-note{font-size:.8rem;color:#4b5a52;margin:0}@media(max-width:1000px){.site-header nav{gap:15px}.header-call{display:none}.hero{grid-template-columns:1fr 1fr}.hero-image{min-height:570px}.hero h1{font-size:clamp(3.5rem,6vw,6rem)}.feature-image{height:520px}.card-photo{height:330px}.gallery-grid figure{height:330px}.gallery-grid figure:first-child,.gallery-grid figure:nth-child(2){height:400px}}@media(max-width:720px){h1{font-size:clamp(3.1rem,12vw,5rem)}.site-header{height:72px;padding:0 22px}.brand-name{font-size:.56rem}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:25px;box-shadow:0 10px 20px #10242022;flex-direction:column;align-items:start}.menu-open .site-header nav{display:flex}.menu-button{display:block}.hero,.detail-hero{display:flex;flex-direction:column}.hero-copy{padding:78px 24px 72px}.hero h1{font-size:clamp(3.5rem,13vw,6rem)}.hero p{font-size:1rem}.hero-image{height:430px;min-height:0}.hero-index{display:none}.section-pad{padding:75px 24px}.intro,.feature,.story,.contact-layout{display:block}.intro-text{padding-top:12px}.feature{padding:0}.feature-image{margin:0;height:430px}.feature-copy{padding:70px 24px}.section-row{align-items:start;display:block}.section-row .text-link{margin-top:20px}.card-grid{grid-template-columns:1fr;gap:55px}.card-photo{height:460px}.project-card p{min-height:0}.services .section-row p{margin-top:25px}.service-grid{grid-template-columns:1fr 1fr}.service-grid>div{padding-right:18px;min-height:220px}.site-footer{grid-template-columns:1fr 1fr;gap:40px;padding:65px 24px 25px}.site-footer>div:first-child{grid-column:1/-1}.page-hero{padding-top:85px;padding-bottom:65px}.detail-copy{padding:50px 24px 65px}.detail-copy h1{font-size:clamp(3.1rem,11vw,5rem)}.back-link{margin-bottom:70px}.detail-image{height:470px}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-grid figure,.gallery-grid figure:first-child,.gallery-grid figure:nth-child(2){grid-column:auto;height:290px}.gallery-grid figure:first-child{grid-column:span 2;height:350px}.story>div:first-child{margin-bottom:25px}.next a{font-size:2.4rem}.small-grid{display:grid}.contact-layout>div{margin-bottom:60px}.enquiry-form{margin:0 -24px}}@media(max-width:460px){.brand-name{display:none}.brand-monogram{font-size:1.4rem}.hero-image{height:360px}.card-photo{height:390px}.service-grid{grid-template-columns:1fr}.service-grid>div{min-height:0;padding-bottom:26px}.site-footer{grid-template-columns:1fr}.site-footer>div:first-child{grid-column:auto}.gallery-grid figure,.gallery-grid figure:first-child,.gallery-grid figure:nth-child(2){height:240px}.gallery-grid figure:first-child{height:320px}}

/* Enquiry and project storytelling refinements */
:focus-visible{outline:3px solid #d6df9d;outline-offset:4px}
.hero-phone{display:inline-block;margin-top:25px;color:#d8e6d3;font-size:.95rem;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.hero-copy .eyebrow{margin-bottom:32px}
.hero-image img{object-position:50% 42%}
.proof-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#dce5d9;color:#23352e;padding:23px clamp(24px,7vw,128px);gap:20px}
.proof-bar span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;padding-left:22px;border-left:2px solid #72917c}
.approach{background:#f1f2ec}
.approach .section-row>p{font-size:1.08rem;color:#485650}
.approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#c8d4c7;border:1px solid #c8d4c7}
.approach-grid>div{background:#f1f2ec;padding:34px 30px 45px}
.approach-grid span{font-weight:800;color:#5c7565;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.approach-grid h3{font-size:1.5rem;margin:36px 0 16px}
.approach-grid p{color:#4b5b51;max-width:360px;margin:0}
.detail-copy .button{align-self:flex-start;margin-top:15px}
.service-grid a{display:inline-block;color:#e8f1da;margin-top:6px;font-size:.9rem}
.header-call:hover,.button.primary:hover{background:#d6e4ca}
.button.dark:hover{background:#37514b}
@media(max-width:1000px){.proof-bar{padding:20px 30px}.proof-bar span{font-size:.68rem}}
@media(max-width:720px){.proof-bar{grid-template-columns:1fr;gap:11px;padding:22px 24px}.proof-bar span{padding:0 0 0 14px}.approach-grid{grid-template-columns:1fr}.approach-grid>div{padding:26px 24px}.approach-grid h3{margin:14px 0}.hero-phone{margin-top:26px}.detail-copy .button{margin-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.card-photo img{transition:none}}
.feature-image.before-after{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#e8ece5}
.before-after figure{margin:0;position:relative;overflow:hidden;min-width:0}
.before-after img{object-position:55% 50%}
.before-after figure:last-child img{object-position:48% 50%}
.before-after figcaption{position:absolute;left:16px;bottom:18px;background:#faf9f5;color:#1c2929;padding:7px 13px;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:720px){.feature-image.before-after{height:350px}}
.reviews{background:#e7ece5}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.review-card{margin:0;padding:clamp(25px,3vw,45px);background:var(--paper);border:1px solid #ccd8cb;display:flex;flex-direction:column}.review-card p{font-size:1rem;line-height:1.65;color:#293a36;margin:0 0 1em}.review-card .review-excerpt{font-family:Manrope,Arial,sans-serif;font-size:1.1rem;line-height:1.5;font-weight:600}.review-card cite{font-style:normal;font-weight:800;color:#355548;font-size:.9rem}.review-card details{border-top:1px solid var(--line);margin-top:25px;padding-top:17px}.review-card summary{cursor:pointer;font-weight:700;color:#355548}.review-card blockquote{margin:20px 0 0}.review-card blockquote p{font-size:.94rem}.about-ryan{background:#f0f1e9;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,8vw,120px)}.about-ryan p{font-size:1.1rem;max-width:590px;color:#40504a}.about-ryan .text-link{margin-top:10px}@media(max-width:1000px){.review-grid{grid-template-columns:1fr}.review-card{max-width:850px}}@media(max-width:720px){.about-ryan{grid-template-columns:1fr}}
.form-honeypot{display:none!important}.enquiry-form button:disabled{opacity:.7;cursor:wait}.form-note a{text-decoration:underline;text-underline-offset:3px}

.hero h1{font-size:clamp(2.8rem,5vw,5.4rem);max-width:13ch}.page-hero h1{font-size:clamp(2.8rem,6vw,5.6rem)}.service-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,7vw,110px);align-items:center}.service-detail>div:first-child{height:clamp(400px,49vw,690px);overflow:hidden}.service-detail p{max-width:62ch}.service-detail p+p{margin-top:1.2em}@media(max-width:760px){.service-detail{display:block}.service-detail>div:first-child{height:360px;margin-bottom:45px}.hero h1{max-width:none}}

.photo-route{margin-top:1.5rem}.photo-route a{text-decoration:underline;text-underline-offset:4px}

.button.whatsapp-cta{background:#176a4b;color:#fff;border:1px solid #176a4b;margin-top:1rem}.button.whatsapp-cta:hover{background:#105139}.photo-hint{margin-top:1rem;font-size:.95rem;max-width:42rem}
.site-header nav .nav-services{position:relative}.site-header nav .nav-services summary{list-style:none;cursor:pointer;font-size:.86rem;font-weight:700;white-space:nowrap}.site-header nav .nav-services summary::-webkit-details-marker{display:none}.site-header nav .nav-services summary:after{content:' ▾';font-size:.75em}.site-header nav .nav-services summary:focus-visible,.site-header nav .nav-submenu a:focus-visible{outline:2px solid currentColor;outline-offset:4px}.site-header nav .nav-submenu{position:absolute;top:calc(100% + 12px);left:-18px;min-width:255px;background:var(--paper);border:1px solid #cbd0c5;box-shadow:0 12px 25px #10242025;padding:10px;display:grid;z-index:20;gap:0}.site-header nav .nav-submenu a{display:block;padding:10px;white-space:normal;line-height:1.35}.privacy-content{max-width:960px;margin:auto}.privacy-content h2{font-size:clamp(1.4rem,2.5vw,2rem);margin:38px 0 12px}.privacy-content h2:first-child{margin-top:0}.privacy-content p{max-width:70ch;line-height:1.7}.privacy-content a,.form-note a{text-decoration:underline;text-underline-offset:3px}@media(max-width:720px){.site-header nav .nav-services{width:100%}.site-header nav .nav-submenu{position:static;min-width:0;box-shadow:none;border:0;padding:8px 0 0 12px;background:transparent}.site-header nav .nav-submenu a{padding:9px 6px}}
.coverage,.service-scope{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(35px,8vw,130px);align-items:start}.coverage{background:#f1f2ec}.coverage h2,.service-scope h2{max-width:680px}.coverage p{font-size:1.08rem;max-width:64ch;color:#465750}.area-list,.service-scope ul{list-style:none;padding:0;margin:28px 0 32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}.area-list li,.service-scope li{padding:13px 0;border-bottom:1px solid var(--line);font-weight:700}.service-scope{background:var(--paper)}.service-scope ul{margin:0}.service-scope li{padding:18px 0;font-size:1.05rem}.service-scope li:before{content:'✓';color:#496f5f;margin-right:12px}@media(max-width:720px){.coverage,.service-scope{grid-template-columns:1fr}.area-list,.service-scope ul{grid-template-columns:1fr}.service-scope ul{margin-top:10px}}
