@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{--navy:#093c59;--ink:#183746;--cream:#f8f6f0;--gold:#c29342;--line:#dcded7;--muted:#5b6b70}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea,summary{outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.13;font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(44px,4.6vw,76px);margin-bottom:26px}h2{font-size:clamp(32px,3vw,48px);margin-bottom:24px}h3{font-size:23px;line-height:1.3;letter-spacing:-.025em}p{color:var(--muted)}em{font-style:normal;color:#a77c35}.wrap{width:min(1280px,88%);margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--navy);margin-bottom:24px}.topbar{background:var(--navy);color:#fff;display:flex;justify-content:space-between;padding:9px 6%;font-size:11px;letter-spacing:.045em}.topbar span:last-child{opacity:.75}header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:12px 6%;gap:30px;background:var(--cream);border-bottom:1px solid #e8e8df;position:relative;z-index:5}.brand img{width:130px;height:90px;object-fit:contain}nav{display:flex;gap:38px;margin-left:auto;margin-right:34px;font-size:13px}nav a{padding-block:9px;border-bottom:2px solid transparent}nav a:hover,nav a[aria-current]{border-color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:white;border:1px solid var(--navy);padding:16px 25px;font-size:13px;font-weight:600;line-height:1.4;border-radius:3px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#1d536e;transform:translateY(-2px)}.button.outline{background:transparent;color:var(--navy);border-color:#a6b3b8}.button.outline:hover{background:#e8ece9}.button.light{background:var(--cream);border-color:var(--cream);color:var(--navy)}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.herocopy{padding:75px 7% 55px 12%}.hero h1{font-size:clamp(44px,4.5vw,72px)}.lead{font-size:17px;line-height:1.75}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.actions .button{padding:15px 18px;font-size:12px}.heronote{display:flex;gap:13px;align-items:center;font-size:11px;color:var(--muted);margin-top:55px}.goldline{width:30px;height:1px;background:var(--gold)}.heroimage{position:relative;min-height:600px}.heroimage>img{width:100%;height:100%;object-fit:cover}.imagecaption{position:absolute;bottom:30px;left:32px;background:rgba(248,246,240,.94);padding:20px 28px;width:245px}.imagecaption span{display:block;font-size:12px;color:var(--muted)}.imagecaption strong{font-size:18px;font-weight:500}.truststrip{display:flex;justify-content:space-around;gap:20px;padding:24px 6%;border-block:1px solid var(--line);font-size:12px;font-weight:500}.truststrip span:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:13px}.sectionheading{display:grid;grid-template-columns:1.3fr 1fr;gap:90px;align-items:end;margin-bottom:40px}.sectionheading>p{max-width:460px;margin-bottom:28px}.servicegrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.servicecard{padding:34px 25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:background .2s}.servicecard:hover{background:#efeee5}.serviceicon{font-size:30px;color:#96732f;height:62px}.servicecard h3{font-size:21px;max-width:170px}.servicecard p{font-size:13px;line-height:1.8}.textlink{margin-top:auto;padding-top:18px;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;padding-top:20px}.photo{position:relative}.photo img{width:100%;height:510px;object-fit:cover}.phototag{position:absolute;bottom:24px;left:24px;background:var(--cream);padding:10px 18px;font-size:11px}.splitcopy p{font-size:15px}.splitcopy .button{margin-top:15px}.localband{background:#eaece4}.localinner{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-block:75px}.localinner h2{margin-bottom:0}.areatags{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}.areatags span{padding:6px 16px;border:1px solid #b8c3b8;border-radius:40px;font-size:12px}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.process>div{border-top:1px solid #aebbb6;padding-top:25px}.process p{font-size:14px}.cta{background:var(--navy);padding:58px 65px;margin-bottom:80px;display:flex;align-items:center;justify-content:space-between;gap:35px}.cta .eyebrow{color:#d9b56b}.cta h2{color:#fff;margin-bottom:0;font-size:38px}footer{background:#efeee7;padding-top:58px}.footergrid{display:grid;grid-template-columns:1.4fr .8fr 1.2fr 1fr;gap:50px}.footerlogo{width:135px;margin-bottom:24px}.footergrid h3{font-family:'DM Sans',sans-serif;font-size:13px;letter-spacing:0;font-weight:700;margin-bottom:20px}.footergrid p,.footergrid a{font-size:12px}.footergrid a{display:block;margin-bottom:10px}.footergrid a:hover{text-decoration:underline}.footerbottom{display:flex;justify-content:space-between;padding-block:25px;margin-top:40px;border-top:1px solid #d5d8cd;font-size:10px;color:var(--muted)}.pageintro{padding-block:75px 55px}.pageintro h1{max-width:1000px}.pageintro .narrow{max-width:660px}.pageintro .button{margin-top:20px}.widephoto img{width:100%;height:440px;object-fit:cover}.editorial{display:grid;grid-template-columns:1fr 2fr;gap:60px}.editorial>div{max-width:740px}.editorial p{font-size:16px}.servicessection{padding-bottom:70px}.servicessection .servicegrid{grid-template-columns:1fr 1fr}.servicessection .servicecard{padding:38px}.servicessection .servicecard h3{max-width:none;font-size:27px}.servicessection .servicecard p{max-width:440px;font-size:15px}.plainlist{list-style:none;padding:0;font-size:14px;margin-block:24px}.plainlist li{padding:12px 0;border-bottom:1px solid var(--line)}.faq{padding-top:10px;max-width:900px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:25px}.faq summary:after{content:'+';font-size:24px;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{padding-top:20px;font-size:14px;margin:0}.backlink{font-size:12px;text-decoration:underline;display:inline-block;margin-bottom:32px}.inclusions{list-style:none;padding:0;margin-block:30px}.inclusions li{padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}.small{font-size:12px!important}.servicebody{padding-top:10px}.contactlayout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;padding-top:20px}.contactnote{border-top:1px solid var(--line);padding-top:22px;margin-top:30px}.contactnote h3{font-size:19px}.contactnote p{font-size:14px}.contactnote a{display:block;font-size:17px;margin-bottom:8px}form{background:#eeeee6;padding:38px;border:1px solid #e0e2d7}label{display:block;font-size:12px;font-weight:600;margin-bottom:22px}label span{font-weight:400;color:var(--muted)}input,select,textarea{display:block;width:100%;background:var(--cream);border:1px solid #cbd1c7;border-radius:2px;padding:12px;margin-top:8px;color:var(--ink);font-size:14px}textarea{resize:vertical}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:20px}#enquiryresult{border-top:1px solid #b6c4bd;margin-top:30px;padding-top:24px}#enquiryresult h3{font-size:22px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;z-index:20;padding:12px}@media(min-width:1600px){.herocopy{padding-left:calc((100vw - 1280px)/2)}}@media(max-width:1000px){header{gap:20px}nav{gap:20px;margin-right:0}.navcta{display:none}.hero{min-height:580px}.herocopy{padding:60px 8% 40px 12%}.heroimage{min-height:580px}.hero h1{font-size:48px}.servicegrid{grid-template-columns:1fr 1fr}.sectionheading{gap:40px}.split{gap:6%}.photo img{height:440px}.footergrid{grid-template-columns:1fr 1fr}.cta{padding:45px}.cta h2{font-size:32px}}@media(max-width:650px){.topbar{padding:8px 6%}.topbar span:last-child{display:none}header{height:94px;padding-block:6px}.brand img{width:108px;height:78px}.menu{display:block;padding:10px 17px;border:1px solid #9aabb2;background:transparent;border-radius:2px;color:var(--navy);font-size:12px}nav{display:none;position:absolute;top:94px;left:0;right:0;background:var(--cream);padding:24px 6%;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;gap:12px}.hero{display:flex;flex-direction:column}.herocopy{padding:48px 6% 38px}.hero h1{font-size:49px}.lead{font-size:15px}.heroimage{min-height:0;height:370px}.imagecaption{bottom:20px;left:6%;padding:15px 22px}.heronote{margin-top:30px}.truststrip{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:24px 6%;font-size:11px}.section{padding-block:60px}.sectionheading{display:block;margin-bottom:30px}.sectionheading>p{margin-top:25px}h2{font-size:34px}.servicecard{padding:24px 18px}.servicecard h3{font-size:19px}.servicecard p{font-size:12px}.split{display:flex;flex-direction:column;gap:35px;padding-top:0}.photo{width:100%}.photo img{height:370px}.localinner{display:block;padding-block:55px}.localinner h2{margin-bottom:25px}.process{grid-template-columns:1fr;gap:12px;margin-top:30px}.process h3{font-size:22px;margin-bottom:14px}.cta{padding:35px 25px;display:block;margin-bottom:50px}.cta h2{font-size:30px}.cta .button{margin-top:25px}.footergrid{gap:30px;grid-template-columns:1fr 1fr}.footergrid>div:first-child{grid-column:1/-1}.footerbottom{gap:20px;align-items:center}.pageintro{padding-block:45px 35px}.pageintro h1{font-size:43px}.pageintro br{display:none}.widephoto img{height:300px}.editorial{display:block}.editorial>.eyebrow{margin-bottom:30px}.servicessection .servicegrid{grid-template-columns:1fr}.servicessection .servicecard{padding:28px}.servicessection{padding-bottom:30px}.contactlayout{display:block}.contactlayout form{margin-top:35px;padding:24px}.formrow{grid-template-columns:1fr;gap:0}.contactlayout h2 br{display:none}}
