@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{--ink:#132f39;--paper:#f7f6f0;--gold:#e5b16b;--line:#d8ddd5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b77224;outline-offset:5px}.top{padding:10px 6%;background:var(--ink);color:#fff;font-size:10px;letter-spacing:1.5px;display:flex;justify-content:space-between}header{padding:25px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand strong{font:800 42px Manrope,sans-serif;letter-spacing:-4px}.brand strong span{font-size:24px;color:#b27e38;vertical-align:top;letter-spacing:0}.brand div{font-size:10px;font-weight:700;line-height:1.5;letter-spacing:1.2px}nav{display:flex;gap:34px;font-size:13px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:28px;background:var(--ink);color:white;border:0;border-radius:4px;padding:19px 24px;font-weight:600;font-size:14px;cursor:pointer;transition:transform .2s,background .2s}.button:hover{background:#315660;transform:translateY(-2px)}.small{padding:13px 18px;font-size:12px}.hero{padding:60px 6% 65px;display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 25px}.eyebrow i{display:inline-block;width:7px;height:7px;background:#af7d37;border-radius:50%;margin-right:8px}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(42px,4.7vw,72px);font-weight:600;line-height:1.11;letter-spacing:-3px;margin:0 0 24px}em{font-family:Georgia,serif;font-weight:400;color:#a46c2d}p{line-height:1.75}.intro{font-size:15px;max-width:410px;color:#5d6b6c}.actions{display:flex;gap:24px;align-items:center;margin-top:30px}.text-link{font-size:13px;border-bottom:1px solid #abb5ae;padding:8px 0}.sub{font-size:11px;margin-top:27px;color:#64716e}.sub span{margin:0 10px}.hero-art{position:relative;background:#1b3c46;border-radius:140px 5px 5px 5px;color:#e8eee1;padding-top:37px;overflow:hidden}.hero-art svg{display:block;width:100%;margin-bottom:-12px}.art-label{text-align:right;padding-right:28px;font-size:9px;letter-spacing:2px}.art-bottom{display:flex;justify-content:space-between;padding:22px 25px;font-size:9px;letter-spacing:1px;border-top:1px solid #3f5960}.art-tag{position:absolute;left:26px;bottom:75px;background:#edc389;color:#20363b;padding:18px 24px;transform:rotate(-5deg);font-size:13px;line-height:1.5}.ribbon{display:flex;align-items:center;justify-content:space-around;padding:23px 5%;background:#e9ece3;border-block:1px solid var(--line);font-size:12px}.ribbon b{color:#9a733e;font-size:21px}.section{padding:80px 6%}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}h2{font-weight:500;letter-spacing:-1.8px;font-size:43px;line-height:1.15;margin:0 0 24px}.section-head p:last-child{max-width:325px;font-size:14px;color:#64716e}.services{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.services article{padding:32px;position:relative;border-right:1px solid var(--line)}.services article:last-child{border:0;background:#eeeee5}.service-icon{font-size:34px}.number{position:absolute;right:25px;top:32px;font-size:11px;color:#71817b}.services h3{font-size:22px;letter-spacing:-.6px;margin-top:28px}.services p{font-size:13px;color:#66736f;min-height:90px}.tags{font-size:10px;margin:22px 0;color:#55645e}.services button{border:0;border-top:1px solid var(--line);padding:20px 0 0;background:transparent;color:var(--ink);font-weight:600;font-size:12px;width:100%;text-align:left;cursor:pointer}.work{background:var(--ink);color:#f1f2e8;display:grid;grid-template-columns:1fr 1fr;gap:15%;align-items:center}.work h2{font-size:52px}.work p:not(.eyebrow){font-size:14px;max-width:350px;color:#bcc9c6}.light{background:#edc389;color:var(--ink);margin-top:22px}.local-card{background:#284750;padding:32px;position:relative;overflow:hidden}.local-card>span{font-size:10px;letter-spacing:2px}.local-card h3{font-size:46px;line-height:1.05;margin:23px 0;position:relative;z-index:1}.local-card a{display:block;border-top:1px solid #688087;margin-top:40px;padding-top:20px;font-size:12px;position:relative}.map-drawing{position:absolute;right:-25px;top:30px;width:200px;height:200px;transform:rotate(-25deg);background:repeating-linear-gradient(90deg,transparent 0 43px,#42616a 44px 52px),repeating-linear-gradient(0deg,transparent 0 43px,#42616a 44px 52px)}.map-drawing span{position:absolute;left:65px;top:90px;background:#edc389;color:#12313b;padding:13px;border-radius:50%;transform:rotate(25deg);font-weight:bold}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.steps b{display:block;border-top:1px solid var(--line);padding-top:20px;color:#9b7136;font-size:12px}.steps h3{font-size:18px}.steps p{font-size:13px;color:#63746e}.contact{background:#e9ece3;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact h2{font-size:55px}.contact p{font-size:13px;color:#5b6e67}.phone{font-size:28px;display:block;margin:30px 0}.contact form{background:var(--paper);padding:33px;border:1px solid #d4d9cf;border-radius:5px}.contact form h3{margin-top:0;font-size:21px}label{display:block;font-size:11px;font-weight:600;margin-bottom:18px}input,textarea,select{display:block;width:100%;border:1px solid #ced5ca;background:#fffefa;color:#16343b;padding:13px;margin-top:8px;border-radius:3px;font-size:12px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact form .button{width:100%}.contact .fine,.fine{font-size:10px;line-height:1.7}#status{font-size:12px}.faq{max-width:1000px;margin:auto}.faq details{padding:20px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:15px}.faq details p{font-size:13px;color:#64716e}footer{border-top:1px solid var(--line);padding:35px 6%;display:flex;align-items:center;justify-content:space-between}footer p,footer>a:last-child{font-size:11px}.mobile-bar{display:none}@media(min-width:1500px){main,header,footer{max-width:1500px;margin:auto}}@media(max-width:900px){nav{gap:17px}.hero{gap:30px}h1{font-size:46px}.actions{flex-wrap:wrap;gap:10px}.services article{padding:22px}.services p{min-height:135px}.work{gap:6%}.contact{gap:6%}.ribbon{font-size:10px}}@media(max-width:620px){.top{font-size:8px;padding:10px 5%;letter-spacing:.7px}header{padding:17px 5%}header nav{display:none}.brand strong{font-size:36px}.brand div{font-size:8px}.small{font-size:10px;padding:12px}.hero{padding:38px 5% 36px;grid-template-columns:1fr;gap:30px}h1{font-size:49px;letter-spacing:-2.5px}.hero-art{max-width:500px;border-top-left-radius:100px}.hero-art svg{max-height:340px}.eyebrow{margin-bottom:19px}.intro{font-size:14px}.actions{gap:20px}.ribbon{flex-wrap:wrap;gap:15px;padding:18px 5%}.ribbon span:last-child,.ribbon b:last-of-type{display:none}.section{padding:50px 5%}.section-head{display:block;margin-bottom:25px}h2{font-size:35px}.section-head p:last-child{max-width:none}.services{grid-template-columns:1fr}.services article{padding:27px;border-right:0;border-bottom:1px solid var(--line)}.services p{min-height:auto}.services h3{margin-top:18px}.work{grid-template-columns:1fr;gap:35px}.work h2{font-size:43px}.local-card{padding:25px}.steps{grid-template-columns:1fr;gap:15px}.steps h3{margin-bottom:7px}.steps p{margin-top:0}.contact{grid-template-columns:1fr;gap:25px}.contact h2{font-size:45px}.contact form{padding:23px}.form-row{grid-template-columns:1fr;gap:0}footer{gap:20px;flex-wrap:wrap;padding:25px 5% 90px}footer p{display:none}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--ink);color:white;z-index:10;box-shadow:0 -4px 20px #1233}.mobile-bar a{width:50%;text-align:center;padding:19px 10px;font-size:12px}.mobile-bar a:last-child{background:#edc389;color:var(--ink)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.verified-services{grid-template-columns:repeat(4,1fr)}.verified-services h3{font-size:20px}.verified-services p{min-height:115px}.source-note{font-size:11px;color:#63746e;margin-top:22px}.source-note a{text-decoration:underline;text-underline-offset:3px}.photo-section{background:#e9ece3}.photo-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.photo-gallery figure{margin:0;min-width:0}.photo-open{display:block;width:100%;padding:0;border:0;position:relative;cursor:zoom-in;background:#d4dbd1;border-radius:4px;overflow:hidden}.photo-open img{display:block;width:100%;height:300px;object-fit:cover;transition:transform .3s}.photo-open:hover img{transform:scale(1.035)}.photo-open span{position:absolute;bottom:12px;right:12px;padding:8px 11px;background:#f7f6f0;color:#132f39;font-size:10px;border-radius:3px}.photo-gallery figure:first-child img{object-position:25% center}.photo-gallery figcaption{padding:16px 0}.photo-gallery figcaption strong{display:block;font-size:13px;font-weight:600}.photo-gallery figcaption span{display:block;font-size:10px;margin-top:5px;color:#65746e}.business-strip{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #cbd3c6;margin-top:35px;padding-top:35px}.business-strip .eyebrow{margin-bottom:12px}.business-strip h3{font-size:18px}.business-strip p:not(.eyebrow){font-size:13px}dialog{border:0;border-radius:5px;background:#f7f6f0;padding:20px;max-width:95vw;max-height:95dvh}dialog::backdrop{background:#081e27dd}dialog img{display:block;max-width:85vw;max-height:73dvh;object-fit:contain;margin:auto}#close-photo{display:block;margin:0 0 15px auto;border:0;background:#132f39;color:white;padding:10px 18px;border-radius:3px;cursor:pointer}dialog p{text-align:center;font-size:12px}@media(max-width:1000px){.verified-services{grid-template-columns:repeat(2,1fr)}.verified-services article{border-bottom:1px solid var(--line)}.verified-services p{min-height:70px}.photo-gallery{grid-template-columns:repeat(2,1fr)}.photo-open img{height:350px}.business-strip{flex-wrap:wrap}}@media(max-width:620px){.verified-services{grid-template-columns:1fr}.verified-services p{min-height:0}.photo-gallery{gap:15px}.photo-open img{height:250px}.photo-gallery figure:first-child{grid-column:1/-1}.photo-gallery figure:first-child img{height:auto;object-fit:contain}.photo-gallery figure:last-child{grid-column:1/-1}.photo-gallery figure:last-child img{height:330px;object-fit:contain;background:#d4dbd1}.business-strip{display:block}.business-strip .button{margin-top:10px}}
.whatsapp-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#176c45;color:#fff;border:0;border-radius:4px;padding:15px 20px;font-size:13px;font-weight:600;line-height:1.3;transition:background .2s}.whatsapp-button:hover{background:#105534;transform:none}.wa-icon{width:21px;height:21px;flex:none}.contact>div>.whatsapp-button{margin:20px 0}.mobile-bar .whatsapp-button{border-radius:0;font-size:11px;padding:17px 8px}.mobile-bar .wa-icon{width:19px;height:19px}header .whatsapp-button{font-size:12px;padding:12px 15px}@media(max-width:620px){header .whatsapp-button{font-size:10px;gap:7px;padding:11px}header .wa-icon{width:18px;height:18px}.actions .whatsapp-button{font-size:12px}.actions{gap:12px}}
/* Consistent action hierarchy and responsive reading rhythm. */
html{scroll-padding-top:110px}header{position:sticky;top:0;z-index:20;background:var(--paper);padding-top:16px;padding-bottom:16px}.skip-link{position:fixed;left:12px;top:-100px;z-index:50;padding:12px;background:white}.skip-link:focus{top:12px}nav a{display:inline-flex;align-items:center;min-height:44px}header .whatsapp-button,.whatsapp-button{min-height:44px;padding:10px 14px;font-size:13px;gap:8px;background:transparent;color:#17623f;border:1px solid #91ad9a;border-radius:6px;white-space:nowrap}.wa-icon,header .wa-icon{width:18px;height:18px}.whatsapp-button:hover{background:#e2ebe2;color:#105534}.button{min-height:46px;padding:12px 18px;border-radius:6px;font-size:14px;gap:18px}.actions{flex-wrap:wrap;gap:14px}.actions .whatsapp-button{border-color:transparent}.hero{padding-top:48px;padding-bottom:48px}.hero-copy{min-width:0}h1{font-size:clamp(38px,4.2vw,64px);letter-spacing:-2.3px}.intro{max-width:450px;line-height:1.7}.eyebrow{line-height:1.6;letter-spacing:1.5px}.section{padding-top:64px;padding-bottom:64px}.section-head p:last-child{max-width:360px}.services article{display:flex;flex-direction:column;min-width:0;padding:26px}.verified-services p{min-height:0;flex:1;font-size:14px;line-height:1.7}.services button{min-height:48px;padding:14px 0 0;font-size:13px}.verified-services h3{line-height:1.35}.steps p,.contact p,.faq details p{font-size:14px}.steps{gap:32px;margin-top:30px}.steps h3{line-height:1.4}.process h2{font-size:36px}.contact{gap:7%;align-items:start}.contact form{padding:28px}.contact .form-intro{font-size:13px;margin:-5px 0 22px}.contact h2{font-size:46px}label{font-size:13px;line-height:1.5}input,textarea,select{font-size:16px;min-height:46px;padding:12px;line-height:1.4}input:focus,textarea:focus,select:focus{outline:2px solid #176c45;outline-offset:2px}.contact .fine,.fine,.source-note{font-size:12px;line-height:1.7}.contact>div>.whatsapp-button{margin:12px 0}.contact form .button{justify-content:center}.fallback-link{font-size:13px;text-decoration:underline;text-underline-offset:3px}.fallback-link[hidden]{display:none}.photo-gallery{gap:18px}.photo-open img{height:280px;object-fit:contain}.photo-gallery figure:first-child img{object-fit:cover;object-position:25% center}.photo-gallery figcaption strong{line-height:1.5}.photo-gallery figcaption span{font-size:11px}.business-strip h3{line-height:1.5}.faq summary{min-height:44px;display:list-item;padding:10px 0;line-height:1.5}.faq details{padding:9px 0}.viewing-photo{overflow:hidden}.photo-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:0 0 12px;padding-right:90px}.photo-toolbar button{min-height:44px;border:1px solid #bdc8bc;background:transparent;padding:8px 12px;border-radius:5px;color:var(--ink);cursor:pointer}.photo-toolbar span{font-size:12px;white-space:nowrap}#close-photo{position:absolute;right:20px;top:20px;min-height:44px;margin:0}dialog img{max-height:65dvh}.mobile-bar{z-index:25}.mobile-bar a{min-height:48px;display:flex;align-items:center;justify-content:center}.mobile-bar .whatsapp-button{border:0;background:#fff;color:#17623f;font-size:13px}.mobile-bar a:last-child{background:var(--ink);color:white}.mobile-bar{padding-bottom:env(safe-area-inset-bottom);background:white}.mobile-bar .wa-icon{width:18px;height:18px}@media(max-width:1000px){.hero{gap:26px}.verified-services article:nth-child(2){border-right:0}.verified-services article:nth-child(n+3){border-bottom:0}.photo-open img{height:300px}}@media(max-width:620px){html{scroll-padding-top:125px;scroll-padding-bottom:80px}header{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 5% 0}header .brand strong{font-size:32px}header .brand div{font-size:8px}header>.whatsapp-button{grid-column:2;grid-row:1;min-height:44px;padding:9px 11px;font-size:12px}header nav{display:flex;grid-column:1/-1;grid-row:2;justify-content:space-between;gap:12px;font-size:12px;border-top:1px solid var(--line);margin-top:6px}header nav a{justify-content:center;flex:1}.hero{padding:30px 5% 34px;gap:26px}h1{font-size:clamp(35px,9.8vw,48px);letter-spacing:-1.8px}.hero .eyebrow{font-size:9px;letter-spacing:1px}.hero-art svg{max-height:270px}.hero-art{padding-top:25px;border-top-left-radius:80px}.art-bottom{padding:16px;font-size:8px}.art-tag{padding:12px 18px;bottom:60px;font-size:12px}.section{padding:42px 5%}.section-head{margin-bottom:24px}h2,.process h2{font-size:32px;letter-spacing:-1px}.contact h2{font-size:38px}.services article{padding:24px;border-right:0!important;border-bottom:1px solid var(--line)!important}.services article:last-child{border-bottom:0!important}.services h3{margin:18px 0 6px}.steps{gap:10px}.steps h3{margin-top:12px}.contact form{padding:22px 18px}.photo-open img{height:220px}.photo-gallery figure:last-child{grid-column:auto}.photo-gallery figure:last-child img{height:220px}.photo-gallery figure:first-child img{height:auto}.source-note{font-size:11px}.photo-gallery figcaption strong{font-size:12px}.photo-gallery figcaption span{font-size:10px}.business-strip{margin-top:24px;padding-top:24px}.photo-toolbar{padding-right:0;margin-top:52px;gap:7px}.photo-toolbar button{font-size:12px}dialog{padding:14px}#close-photo{top:10px;right:14px}dialog img{max-height:58dvh}.mobile-bar .whatsapp-button{padding:12px 8px}.mobile-bar a:last-child{font-size:13px;padding:12px 8px}footer{padding-bottom:calc(86px + env(safe-area-inset-bottom))}footer>a:last-child{min-height:44px;display:flex;align-items:center}}
/* Mobile enquiry sizing and separation from the FAQ. */
@media(max-width:620px){
.contact.section{grid-template-columns:minmax(0,1fr);padding-left:16px;padding-right:16px;padding-bottom:56px;row-gap:32px}
.contact form{box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:0;padding:24px 20px;border-radius:8px}
.contact form .form-row{grid-template-columns:minmax(0,1fr)}
.contact form label,.contact form input,.contact form select,.contact form textarea{min-width:0;max-width:100%}
.contact form textarea{min-height:112px}
.contact form .button{min-height:48px;white-space:normal;line-height:1.5}
.contact form .fine{margin-top:16px;margin-bottom:0}
.contact form #status:empty{display:none}
.contact.section+.faq.section{padding-top:56px;padding-bottom:48px;margin-top:0}
.faq.section>.eyebrow{margin-bottom:24px}
}
@media(max-width:360px){.contact form{padding:22px 16px}}

/* Small subject-specific ribbon icons. */
.ribbon>span{display:inline-flex;align-items:center;gap:8px}.ribbon .ribbon-icon{width:15px;height:15px;flex:none;color:#92703d}@media(max-width:620px){.ribbon>span:last-child{display:none}.ribbon .ribbon-icon{width:14px;height:14px}.ribbon>span{gap:6px}}
/* Business-led composition and shorter enquiry path. */
.business-hero{margin:0;min-width:0;align-self:center}.business-hero>img{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 10px 35px #132f3912}.business-hero figcaption{display:flex;justify-content:space-between;gap:12px;padding:13px 0;color:#53655d;font-size:11px;line-height:1.5}.owner-note{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--line);padding:19px 0 0}.owner-note>span:first-child{font-size:9px;letter-spacing:1.4px;color:#74694e}.owner-note strong{font:600 22px Manrope,sans-serif}.owner-note>span:last-child{font-size:12px;color:#59695f}.business-strip>div{max-width:390px}.business-strip>div>p:last-child{font-size:13px;color:#58685f;line-height:1.7}.contact .optional{font-weight:400;color:#63746e}.hero{grid-template-columns:1.05fr 1fr}.photo-section{padding-bottom:58px}.contact.section{border-top:1px solid #ccd5c8;background:#f0f1e9}.contact form{box-shadow:0 6px 24px #132f3906}h1{font-size:clamp(36px,3.7vw,57px)}@media(max-width:900px){.hero{gap:30px}h1{font-size:40px}}@media(max-width:620px){.hero{grid-template-columns:minmax(0,1fr);gap:28px}h1{font-size:clamp(35px,9.5vw,46px)}.business-hero figcaption{font-size:10px;flex-wrap:wrap;gap:4px}.owner-note{padding-top:15px}.owner-note strong{font-size:20px}.business-strip>div{max-width:none}.photo-section{padding-bottom:42px}.contact.section{padding-bottom:56px}.contact.section+.faq.section{padding-top:56px}}

/* Reduce desktop/tablet hero whitespace while preserving the image aspect ratio. */
@media(min-width:621px){.hero{align-items:start;padding-top:36px;padding-bottom:36px}.business-hero>img{max-height:clamp(360px,52vh,500px);width:auto;max-width:100%;margin-inline:auto}}
