:root{color-scheme:light;--ink: #33241d;--brown: #553927;--mid-brown: #79573d;--tan: #c99a4d;--paper: #f7f4ee;--cream: #efebe2;--white: #fffdf9;--muted: #786f65;--rule: #d9d0c4;--display: "Manrope", "DM Sans", sans-serif;--body: "DM Sans", sans-serif;--content: 1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit}::selection{background:#d8bd8f;color:var(--ink)}:focus-visible{outline:3px solid #9c6829;outline-offset:4px}.skip-link{position:fixed;left:12px;top:12px;z-index:100;transform:translateY(-150%);background:var(--ink);color:var(--white);padding:10px 16px}.skip-link:focus{transform:translateY(0)}.page-wrap{width:min(calc(100% - 80px),var(--content));margin-inline:auto}.site-header{position:sticky;top:0;z-index:20;height:82px;background:#f7f4eef5;border-bottom:1px solid rgba(85,57,39,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-inner{height:100%;max-width:1380px;padding:0 40px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;min-width:195px}.brand img{width:48px;height:48px;object-fit:contain;mix-blend-mode:multiply}.brand-name{font-family:var(--display);font-size:17px;font-weight:800;letter-spacing:-.055em;line-height:1.05}.brand-name span{display:block;font-family:var(--body);font-weight:500;font-size:10px;letter-spacing:.06em;text-transform:uppercase;margin-top:4px}.primary-nav{display:flex;align-items:center;gap:clamp(15px,2.2vw,32px);font-size:13px;color:#55483c}.primary-nav a:not(.nav-contact){position:relative;padding-block:9px}.primary-nav a:not(.nav-contact):after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--tan);transition:right .2s ease}.primary-nav a:hover:after{right:0}.nav-contact{display:inline-flex;align-items:center;gap:15px;border:1px solid var(--brown);padding:11px 15px;color:var(--brown);transition:color .2s,background .2s}.nav-contact:hover{background:var(--brown);color:var(--white)}.nav-contact span{font-size:17px}.menu-toggle{display:none}.hero{min-height:668px;padding:75px 0 104px;display:grid;grid-template-columns:.9fr 1.1fr;gap:6%;align-items:center;position:relative}.hero-copy{padding:0 0 20px 6%;position:relative;z-index:2}.eyebrow{margin:0 0 21px;color:var(--mid-brown);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow-rule{display:inline-block;width:27px;height:1px;vertical-align:middle;background:var(--tan);margin-right:10px}.eyebrow-dot{margin-inline:5px;color:var(--tan)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display)}h1{font-size:clamp(47px,5.25vw,75px);line-height:1.04;letter-spacing:-.075em;font-weight:600;margin:0 0 25px}h1 em,h2 em{color:var(--mid-brown);font-style:normal}.hero-intro{max-width:430px;color:#685d52;font-size:16px;line-height:1.75;margin-bottom:27px}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.button{min-height:52px;padding:0 20px;display:inline-flex;justify-content:center;align-items:center;gap:20px;border:1px solid transparent;font-size:13px;font-weight:700;transition:background .2s,color .2s,transform .2s;cursor:pointer}.button:hover{transform:translateY(-2px)}.button-dark{color:var(--white);background:var(--brown)}.button-dark:hover{background:var(--ink)}.button-dark span{font-size:18px}.button-outline{border-color:#b9aa98;color:var(--ink)}.button-outline:hover{border-color:var(--brown);background:var(--cream)}.text-link,.underlined-link{color:var(--brown);font-size:13px;font-weight:700}.text-link span{padding-left:5px}.hero-facebook{display:inline-block;margin-top:22px;border-bottom:1px solid #b8a998;padding-bottom:4px}.hero-visual{min-height:490px;position:relative}.hero-main-photo{width:66%;height:450px;position:absolute;top:12px;left:18%;margin:0;overflow:hidden}.hero-main-photo img{object-position:center 60%}.hero-main-photo figcaption{position:absolute;right:0;bottom:0;background:var(--white);padding:13px 20px 12px;min-width:195px}.hero-main-photo figcaption span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.hero-main-photo figcaption b{font-family:var(--display);font-size:16px;letter-spacing:-.03em}.hero-inset{position:absolute;margin:0;overflow:hidden}.hero-inset-one{left:0;bottom:15px;width:31%;height:212px;border:8px solid var(--paper)}.hero-inset-two{right:0;top:34px;width:26%;height:176px;border:7px solid var(--paper)}.photo-note{position:absolute;right:3%;bottom:-8px;display:flex;gap:9px;align-items:center;color:var(--muted);font-size:11px;letter-spacing:.02em}.note-mark{width:18px;height:1px;background:var(--tan)}.hero-scroll{position:absolute;bottom:27px;left:6%;color:var(--muted);font-size:11px;display:flex;gap:10px;align-items:center}.hero-scroll span{display:inline-block;height:28px;width:1px;background:var(--tan)}.section-pad{padding:112px max(40px,calc((100vw - var(--content))/2))}.about{display:grid;grid-template-columns:1fr 1fr 50px;gap:7%;align-items:center;background:var(--cream)}.about-image{height:482px;position:relative}.about-image img{object-position:center 55%}.image-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:14px 17px;background:#33241de0;color:var(--white);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.about-copy{max-width:470px;padding-block:35px}h2{margin:0 0 22px;font-weight:600;font-size:clamp(37px,4.1vw,56px);line-height:1.1;letter-spacing:-.07em}.about-copy p:not(.eyebrow){font-size:15px;line-height:1.85;color:#685d52}.underlined-link{display:inline-block;margin-top:13px;padding-bottom:6px;border-bottom:1px solid #a98c69}.underlined-link span{margin-left:10px;transition:margin .2s}.underlined-link:hover span{margin-left:16px}.about-side-note{align-self:stretch;display:flex;flex-direction:column;align-items:center;gap:15px;justify-content:center;color:var(--muted);font-size:10px;letter-spacing:.04em;writing-mode:vertical-rl}.vertical-line{width:1px;height:45px;background:var(--tan)}.services{background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin:0 0 61px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:340px;margin-bottom:5px;color:var(--muted);font-size:14px;line-height:1.8}.service-feature{display:grid;grid-template-columns:1fr .9fr .56fr;gap:5.5%;align-items:start}.service-photo-tall{height:604px}.service-list{padding-top:1px}.service-row{padding:0 0 23px;margin-bottom:24px;border-bottom:1px solid var(--rule)}.service-index{display:block;margin-bottom:8px;color:var(--mid-brown);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.service-row h3{margin:0 0 10px;font-size:23px;line-height:1.17;letter-spacing:-.055em;font-weight:600}.service-row p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.service-contact{margin-top:-8px}.service-side-photo{margin-top:169px;height:328px}.service-bottom{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;align-items:center;margin-top:85px}.service-bottom img{height:245px}.service-bottom p{font-family:var(--display);font-size:23px;line-height:1.45;letter-spacing:-.04em;margin:0;max-width:390px}.service-bottom .eyebrow{font-family:var(--body);font-size:10px;letter-spacing:.15em}.work{background:var(--brown);color:var(--white)}.work .eyebrow{color:#d7bc8e}.work-top{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}.work h2{margin:0}.work h2 em{color:#d7bc8e}.work-top>p{color:#e0d6ca;max-width:315px;margin:0 0 6px;font-size:13px;line-height:1.8}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;grid-auto-flow:dense;gap:12px}.gallery-item{position:relative;display:block;width:100%;height:100%;border:0;padding:0;overflow:hidden;background:#78614e;cursor:zoom-in;text-align:left}.gallery-item img{transition:transform .45s cubic-bezier(.2,.7,.2,1)}.gallery-item:hover img{transform:scale(1.045)}.gallery-item:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#1e140f94);opacity:.8}.gallery-item>span{position:absolute;bottom:13px;left:15px;z-index:1;color:var(--white);font-size:11px;letter-spacing:.05em}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 2}.reviews{background:var(--cream);overflow:hidden}.reviews-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:38px}.reviews-heading h2{margin:0}.carousel-controls{display:flex;align-items:center;gap:16px}.carousel-arrow{border:1px solid #b7a997;background:transparent;width:43px;height:43px;border-radius:50%;font-size:20px;cursor:pointer;transition:background .2s,color .2s}.carousel-arrow:hover{background:var(--brown);color:var(--white)}.carousel-count{color:var(--brown);font-size:11px;font-variant-numeric:tabular-nums}.carousel-count i{margin:0 6px;color:#9a8977;font-style:normal}.review-track{display:flex;gap:17px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:2px 2px 12px;cursor:grab}.review-track::-webkit-scrollbar{display:none}.review-track:active{cursor:grabbing}.review-card{scroll-snap-align:start;flex:0 0 calc((100% - 34px)/3);min-height:285px;padding:26px 27px 22px;background:var(--white);border:1px solid #ded5ca;display:flex;flex-direction:column}.review-meta{display:flex;align-items:center;gap:11px}.review-avatar{flex:0 0 39px;width:39px;height:39px;border-radius:50%;background:#e7dcc9;color:var(--brown);display:grid;place-items:center;font-size:11px;font-weight:700}.review-meta b{display:block;font-size:13px}.review-meta small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.facebook-mark{margin-left:auto;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;background:#4267a8;color:#fff;font-family:Arial,sans-serif;font-size:17px;font-weight:700}.review-card blockquote{margin:25px 0 20px;color:#50463d;font-size:14px;line-height:1.72}.review-source{border-top:1px solid #e5ded4;padding-top:12px;color:#7d7166;font-size:10px;margin-top:auto}.review-source span{float:right}.reviews-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:26px;color:var(--muted);font-size:11px}.reviews-bottom .underlined-link{margin:0}.areas{min-height:390px;background:#e7dfd1;position:relative;overflow:hidden;display:grid;grid-template-columns:.95fr 1.05fr;gap:9%;align-items:center}.areas-copy,.area-list{position:relative;z-index:1}.areas-copy h2{margin-bottom:18px}.areas-copy p:not(.eyebrow){max-width:370px;color:#67594c;font-size:14px;line-height:1.8;margin:0}.area-list{display:flex;flex-wrap:wrap;gap:9px;max-width:500px}.area-list span{border:1px solid #c7b9a6;padding:9px 13px;color:#594839;font-size:12px}.area-list span:last-child{background:var(--brown);color:var(--white);border-color:var(--brown)}.areas-decoration{position:absolute;right:-34px;bottom:-122px;color:#7e603b12;font-family:var(--display);font-size:360px;font-weight:800;letter-spacing:-.12em;line-height:1}.contact{background:#4c3426;color:var(--white);display:grid;grid-template-columns:1fr .78fr;gap:12%;align-items:center}.contact .eyebrow{color:#d7bc8e}.contact h2{font-size:clamp(40px,4.8vw,64px)}.contact h2 em{color:#d7bc8e}.contact-copy>p:not(.eyebrow){max-width:410px;color:#dfd4ca;font-size:14px;line-height:1.8}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;margin-top:39px}.contact-details a,.contact-details div{display:block;color:var(--white);font-size:13px}.contact-details span{display:block;color:#d7bc8e;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:3px}.contact-details b{padding-left:4px}.enquiry-form{background:#f8f5ef;color:var(--ink);padding:35px 36px}.form-heading{margin-bottom:24px;font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.04em}.enquiry-form label{display:block;margin:16px 0 7px;color:#5e5044;font-size:11px;font-weight:700}.enquiry-form label span{color:#9a5d36}.enquiry-form input,.enquiry-form textarea{display:block;width:100%;min-height:45px;padding:10px 11px;border:1px solid #d3c8ba;border-radius:0;background:#fffdf9;color:var(--ink);outline:none}.enquiry-form textarea{resize:vertical;min-height:101px}.enquiry-form input:focus,.enquiry-form textarea:focus{border-color:var(--mid-brown);box-shadow:0 0 0 2px #79573d29}.form-submit{width:100%;margin-top:20px;justify-content:space-between}.form-note{color:#73685e;font-size:10px;line-height:1.6;margin:12px 0 0}.site-footer{min-height:102px;padding:25px max(40px,calc((100vw - var(--content))/2));background:#33241d;color:#e8ddd1;display:flex;align-items:center;gap:24px;font-size:11px}.footer-brand{color:var(--white);font-family:var(--display);font-size:13px;font-weight:700}.copyright{margin-left:auto;color:#c3b4a6}.floating-whatsapp{position:fixed;z-index:18;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));min-height:51px;padding:0 17px;background:#416548;color:#fff;display:flex;align-items:center;gap:9px;box-shadow:0 4px 18px #222a1c33;font-size:12px;font-weight:700;transition:transform .2s,background .2s}.floating-whatsapp:hover{transform:translateY(-3px);background:#34573c}.floating-whatsapp svg{width:21px;height:21px;fill:currentColor}.floating-whatsapp.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px)}.lightbox{width:min(92vw,1080px);height:min(90dvh,850px);max-width:none;max-height:none;padding:42px 66px 32px;border:0;background:#2c211a;color:#fff;overflow:visible}.lightbox::backdrop{background:#16100ce6}.lightbox figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox img{min-height:0;height:calc(100% - 27px);width:100%;object-fit:contain}.lightbox figcaption{min-height:27px;padding-top:7px;font-size:11px;color:#e1d5c9}.lightbox button{position:absolute;border:1px solid rgba(255,255,255,.45);background:#30231ab3;color:#fff;width:43px;height:43px;cursor:pointer;font-size:23px}.lightbox-close{top:0;right:0;font-size:27px!important}.lightbox-prev{top:50%;left:5px}.lightbox-next{top:50%;right:5px}@media(min-width:1500px){.hero{min-height:720px}}@media(max-width:1050px){.header-inner{padding-inline:25px}.primary-nav{gap:14px;font-size:12px}.brand{min-width:auto}.brand-name{font-size:15px}.page-wrap{width:min(calc(100% - 54px),var(--content))}.hero-copy{padding-left:0}.hero{gap:2%}.hero-visual{min-height:420px}.hero-main-photo{height:390px}.hero-inset-one{height:170px}.section-pad{padding:90px 42px}.about{grid-template-columns:.9fr 1fr 28px;gap:5%}.service-feature{grid-template-columns:.9fr 1fr .46fr;gap:4%}.service-photo-tall{height:545px}.service-side-photo{height:270px}.review-card{flex-basis:calc((100% - 17px)/2)}.site-footer{padding-inline:35px;gap:17px}}@media(max-width:840px){html{scroll-padding-top:72px}.site-header{height:70px}.header-inner{padding-inline:20px}.brand img{width:42px;height:42px}.brand-name{font-size:15px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;padding:11px;border:1px solid #cfc3b5;background:transparent;cursor:pointer}.menu-toggle span{width:100%;height:1px;background:var(--brown);transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6px) rotate(-45deg)}.primary-nav{position:absolute;top:69px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:6px 20px 20px;background:var(--paper);border-bottom:1px solid var(--rule);box-shadow:0 14px 20px #2d20171a;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s}.primary-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}.primary-nav a:not(.nav-contact){padding:11px 2px;border-bottom:1px solid #e7dfd4;font-size:14px}.primary-nav a:not(.nav-contact):after{display:none}.nav-contact{margin-top:13px;justify-content:space-between}.page-wrap{width:calc(100% - 40px)}.hero{min-height:auto;padding:49px 0 84px;grid-template-columns:1fr;gap:27px}.hero-copy{padding:0}.eyebrow{margin-bottom:16px;font-size:10px}h1{font-size:clamp(44px,12vw,61px);margin-bottom:18px}.hero-intro{max-width:500px;font-size:14px;line-height:1.7;margin-bottom:21px}.hero-actions{gap:9px}.button{min-height:49px;padding-inline:15px;gap:12px;font-size:12px}.hero-facebook{margin-top:14px}.hero-visual{min-height:420px;margin-inline:3px}.hero-main-photo{left:17%;width:70%;top:0;height:374px}.hero-inset-one{width:33%;height:165px;bottom:0;left:0}.hero-inset-two{top:19px;right:-2px;width:27%;height:142px}.photo-note{bottom:7px;right:0;font-size:9px}.hero-scroll{left:0;bottom:18px;font-size:10px}.section-pad{padding:73px 22px}.about{grid-template-columns:1fr;gap:27px}.about-image{height:370px;max-width:540px}.about-copy{padding:0}h2{font-size:clamp(36px,10vw,49px)}.about-copy p:not(.eyebrow){font-size:14px}.about-side-note{display:none}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:17px;max-width:440px}.service-feature{grid-template-columns:1fr;gap:0}.service-photo-tall{height:410px}.service-list{padding-top:33px}.service-row{margin-bottom:19px;padding-bottom:18px}.service-row h3{font-size:22px}.service-side-photo{height:250px;margin:32px 0 0 15%;width:85%}.service-bottom{grid-template-columns:1fr;gap:18px;margin-top:45px}.service-bottom img{height:220px}.service-bottom p{font-size:20px}.work-top{display:block;margin-bottom:30px}.work-top>p{margin-top:17px}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:175px;gap:8px}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 2}.gallery-item>span{font-size:10px;left:10px;bottom:9px}.reviews-heading{gap:18px;align-items:end}.reviews-heading h2{font-size:39px}.carousel-controls{gap:8px}.carousel-arrow{width:38px;height:38px}.review-track{margin-right:-22px;padding-right:22px}.review-card{flex:0 0 min(86%,380px);min-height:265px;padding:22px}.reviews-bottom{display:block}.reviews-bottom .underlined-link{margin-top:15px}.areas{grid-template-columns:1fr;gap:27px;min-height:auto}.area-list{gap:7px}.area-list span{font-size:11px;padding:8px 10px}.areas-decoration{font-size:220px;right:-20px;bottom:-68px}.contact{grid-template-columns:1fr;gap:33px}.contact-details{gap:19px 14px;margin-top:27px}.contact-details a,.contact-details div{font-size:12px;overflow-wrap:anywhere}.enquiry-form{padding:27px 22px}.site-footer{padding:28px 22px 34px;display:grid;grid-template-columns:1fr 1fr;gap:13px 12px;font-size:10px}.footer-brand{grid-column:1 / -1}.copyright{grid-column:1 / -1;margin:9px 0 0}.floating-whatsapp{right:max(13px,env(safe-area-inset-right));bottom:max(13px,env(safe-area-inset-bottom));min-height:48px;padding:0 13px}.lightbox{width:100vw;height:100dvh;padding:56px 15px 23px}.lightbox-close{top:8px!important;right:10px!important}.lightbox-prev{left:5px!important}.lightbox-next{right:5px!important}}@media(max-width:390px){.hero-actions .button{padding-inline:12px;font-size:11px}.hero-visual{min-height:365px}.hero-main-photo{height:330px}.hero-inset-one{height:138px}.reviews-heading{display:block}.carousel-controls{justify-content:flex-end;margin-top:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
