:root{--ink:#10231e;--forest:#13251f;--ivory:#f5f1e8;--paper:#fbfaf6;--sage:#dce4dd;--bronze:#b77942;--line:rgba(16,35,30,.2);--serif:Georgia,'Times New Roman',serif;--sans:Arial,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:17px;line-height:1.65}.svc-header{height:112px;display:grid;grid-template-columns:260px 1fr 230px;align-items:center;padding:0 5vw;border-top:13px solid var(--forest);border-bottom:1px solid var(--line);background:#fff}.brand img{width:170px}.svc-header nav{display:flex;justify-content:center;gap:42px}.svc-header a{color:inherit;text-decoration:none}.header-call{text-align:right}.header-call small{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:10px}.header-call a{font:700 20px var(--serif)}main{overflow:hidden}.crumbs{max-width:1500px;margin:auto;padding:22px 5vw;font-size:13px;color:#586660}.crumbs a{color:inherit}.crumbs span{margin:0 9px}.svc-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.65fr);gap:7vw;max-width:1500px;margin:auto;padding:70px 5vw 86px;background:linear-gradient(120deg,var(--ivory),#fff)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--bronze);font-size:12px;font-weight:700}.svc-hero h1{font:500 clamp(48px,6vw,88px)/.96 var(--serif);letter-spacing:-.045em;max-width:850px;margin:20px 0 30px}.lead{font:italic 27px/1.35 var(--serif);max-width:700px}.svc-hero>div>p:not(.eyebrow):not(.lead){max-width:720px}.svc-hero aside{align-self:end;background:var(--forest);color:white;padding:44px;border-top:5px solid var(--bronze);box-shadow:0 25px 60px rgba(16,35,30,.18)}.svc-hero aside span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#d8bd9a}.svc-hero aside h2{font:500 34px/1.1 var(--serif);margin:18px 0}.hero-actions{display:flex;gap:12px;margin-top:35px}.hero-actions a{padding:14px 22px;border:1px solid var(--ink);color:var(--ink);text-decoration:none;font-weight:700}.hero-actions .primary{background:var(--forest);color:#fff}.svc-grid{max-width:1400px;margin:72px auto;display:grid;grid-template-columns:1fr .8fr;gap:80px;padding:0 5vw}.svc-grid h2,.svc-table h2,.svc-faq h2{font:500 clamp(38px,4vw,58px)/1.04 var(--serif);letter-spacing:-.035em;margin:14px 0 30px}.scope{list-style:none;padding:0;border-top:1px solid var(--line)}.scope li{padding:18px 5px;border-bottom:1px solid var(--line)}.scope li:before{content:'—';color:var(--bronze);margin-right:14px}.factors{background:var(--sage);padding:45px}.factors ol{padding-left:22px}.factors li{padding:12px 0;border-bottom:1px solid var(--line)}.svc-table{background:var(--ivory);padding:70px max(5vw,calc((100vw - 1400px)/2));display:grid;grid-template-columns:.55fr 1.2fr;gap:70px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:19px;border-bottom:1px solid var(--line);vertical-align:top}thead th{background:var(--forest);color:white}.svc-faq{max-width:1400px;margin:80px auto;display:grid;grid-template-columns:.55fr 1.2fr;gap:70px;padding:0 5vw}details{border-top:1px solid var(--line);padding:20px 0}details:last-child{border-bottom:1px solid var(--line)}summary{font:600 23px var(--serif);cursor:pointer}details p{max-width:780px;color:#485750}.svc-cta{background:var(--forest);color:white;padding:55px max(5vw,calc((100vw - 1400px)/2));display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid var(--bronze)}.svc-cta p{color:#d8bd9a}.svc-cta h2{font:500 45px var(--serif);margin:0}.svc-cta>a{font:600 28px var(--serif);background:#d2a16c;color:var(--ink);padding:18px 28px;text-decoration:none}footer{background:#0c1b17;color:#dfe6e1;padding:55px 5vw;text-align:center}footer img{width:210px;filter:none}footer a{color:white}.mobile-call{display:none}@media(max-width:800px){body{font-size:16px;padding-bottom:62px}.svc-header{height:80px;grid-template-columns:1fr auto;padding:0 18px;border-top-width:8px}.brand img{width:145px}.svc-header nav{display:none}.header-call small{display:none}.header-call a{font-size:16px}.crumbs{white-space:nowrap;overflow:hidden;padding:14px 18px}.svc-hero{display:block;padding:45px 22px}.svc-hero h1{font-size:49px}.lead{font-size:23px}.svc-hero aside{margin-top:40px;padding:30px}.hero-actions{flex-direction:column}.hero-actions a{text-align:center}.svc-grid,.svc-faq,.svc-table{display:block;margin:45px auto;padding:0 22px}.factors{margin-top:40px;padding:28px}.svc-table{padding:48px 22px}.table-wrap{margin-top:30px}.svc-faq>div+div{margin-top:25px}.svc-cta{padding:38px 22px;display:block}.svc-cta h2{font-size:36px}.svc-cta>a{display:inline-block;margin-top:25px;font-size:22px}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#c99057;color:#10231e;text-align:center;padding:17px;font-weight:800;text-decoration:none}footer{padding-bottom:65px}}
.svc-hero{display:grid!important;grid-template-columns:minmax(0,1.02fr) minmax(440px,.98fr)!important;max-width:none!important;margin:0!important;padding:0!important;gap:0!important;min-height:680px;background:var(--ivory)!important}.svc-hero-copy{padding:78px 7vw;display:flex;flex-direction:column;justify-content:center}.svc-hero-photo{position:relative;min-height:680px;overflow:hidden;padding:34px 4vw;background:#e7e0d4;display:flex;flex-direction:column;justify-content:center}.svc-hero-photo>img{position:relative;display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:#d9d1c4;box-shadow:0 24px 60px rgba(16,35,30,.15);border:12px solid #f8f4ec}.svc-hero-photo:after{content:none}.svc-hero .svc-hero-photo aside{position:relative!important;z-index:2;left:auto;right:auto;bottom:auto;width:calc(100% - 44px);margin:-38px auto 0!important;padding:25px 34px!important;background:rgba(19,37,31,.98);border-top:4px solid var(--bronze);box-shadow:0 22px 45px rgba(16,35,30,.2)}.svc-trust{background:var(--forest);color:#fff;min-height:54px;padding:14px 5vw;display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:28px;align-items:center;font-size:14px}.svc-trust strong{font-family:var(--serif);font-size:17px}@media(max-width:800px){.svc-hero{display:flex!important;flex-direction:column;min-height:0}.svc-hero-copy{padding:45px 22px}.svc-hero-photo{min-height:0;padding:22px 18px 30px}.svc-hero-photo>img{border-width:8px}.svc-hero .svc-hero-photo aside{width:calc(100% - 20px);margin:-20px auto 0!important;padding:23px!important}.svc-trust{display:none}}

/* Editorial process section: deliberately dense, readable and image-led rather than oversized. */
.svc-process{max-width:1420px;margin:76px auto;padding:0 5vw;display:grid;grid-template-columns:minmax(360px,.84fr) minmax(0,1.16fr);gap:clamp(42px,6vw,92px);align-items:start}.svc-process-photo{position:sticky;top:28px;background:var(--forest);padding:14px 14px 0;box-shadow:0 28px 70px rgba(16,35,30,.14)}.svc-process-photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;background:#e7e0d4}.svc-process-photo span{display:block;padding:16px 5px 17px;color:#f4e7d7;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700}.svc-process article{max-width:790px}.svc-process h2,.svc-pricing h2{font:500 clamp(39px,4.2vw,62px)/1.02 var(--serif);letter-spacing:-.04em;margin:13px 0 28px}.svc-process article>p:not(.eyebrow){font-size:16px;line-height:1.74;margin:0 0 17px;color:#34463f}.svc-process article>p:not(.eyebrow):first-of-type::first-letter{float:left;font:500 64px/.82 var(--serif);color:var(--bronze);padding:8px 10px 0 0}.process-signoff{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:27px;padding-top:17px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.process-signoff span{color:#66756f;text-align:right}

.svc-pricing{background:#efe8dc;padding:70px max(5vw,calc((100vw - 1420px)/2));display:grid;grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr);gap:clamp(28px,4vw,64px);align-items:stretch}.price-intro{position:relative;overflow:hidden;color:white;background:var(--forest);padding:42px 40px 38px;border-top:5px solid var(--bronze);box-shadow:0 24px 60px rgba(16,35,30,.13)}.price-intro:after{content:'JH';position:absolute;right:-18px;bottom:-46px;color:rgba(255,255,255,.035);font:700 170px/1 var(--serif);pointer-events:none}.price-intro>*{position:relative;z-index:1}.price-intro .eyebrow{color:#d3a474}.price-intro h2{color:#fff;font-size:clamp(38px,3.8vw,57px)}.price-intro>p:not(.eyebrow){color:#e5ebe8;font-size:15px;line-height:1.72}.price-intro>a{display:inline-block;margin-top:16px;padding-bottom:5px;border-bottom:1px solid #d3a474;color:#fff;text-decoration:none;font-weight:700}.price-table-wrap{min-width:0;overflow:auto;background:#fff;padding:10px 22px 18px;box-shadow:0 24px 70px rgba(16,35,30,.12)}.price-table-wrap table{min-width:0;table-layout:fixed}.price-table-wrap th:nth-child(1),.price-table-wrap td:nth-child(1){width:28%}.price-table-wrap th:nth-child(2),.price-table-wrap td:nth-child(2){width:30%}.price-table-wrap th:nth-child(3),.price-table-wrap td:nth-child(3){width:42%}.price-table-wrap caption{text-align:left;padding:16px 5px 18px;font:600 25px/1.2 var(--serif);color:var(--ink)}.price-table-wrap thead th{background:transparent;color:#6d4d30;border-top:1px solid var(--line);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.price-table-wrap tbody th{font-family:var(--serif);font-size:17px}.price-table-wrap td:nth-child(2){font:600 18px var(--serif)}.price-table-wrap th,.price-table-wrap td{padding:15px 8px;overflow-wrap:anywhere}.price-note{font-size:12px;line-height:1.55;color:#68756f;margin:15px 6px 0}

@media(max-width:1100px){.svc-pricing{grid-template-columns:1fr;padding:50px max(22px,5vw)}.price-intro{padding:38px}.price-table-wrap{margin-top:0}.price-table-wrap table{min-width:620px}}
@media(max-width:900px){.svc-process{grid-template-columns:1fr;margin:50px auto;padding:0 22px;gap:35px}.svc-process-photo{position:relative;top:auto;padding:10px 10px 0}.svc-process-photo img{aspect-ratio:16/10}.svc-process article>p:not(.eyebrow){font-size:15.5px}.process-signoff{display:block}.process-signoff span{display:block;text-align:left;margin-top:6px}.svc-pricing{display:block;padding:40px 22px}.price-intro{padding:32px 26px}.price-table-wrap{margin-top:24px;padding:8px 12px 16px}.price-table-wrap table{min-width:620px}.price-table-wrap th,.price-table-wrap td{padding:13px 7px}}

/* Keep the process card present while the longer explanation scrolls. */
main{overflow-x:clip!important;overflow-y:visible!important}.local-signals{margin:0 -14px;background:#f1eadf;color:var(--ink);padding:27px 28px 25px;border-top:1px solid rgba(208,167,121,.55)}.local-signals>p{margin:0 0 17px;color:#8b5a31;text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:800}.signal-postcodes{display:flex;gap:9px;margin-bottom:20px}.signal-postcodes b{display:grid;place-items:center;width:58px;height:58px;border:1px solid #9f7651;border-radius:50%;font:600 20px var(--serif);background:#fbf8f2}.local-signals dl{margin:0;border-top:1px solid var(--line)}.local-signals dl>div{display:grid;grid-template-columns:105px 1fr;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.local-signals dt{color:#755337;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:800}.local-signals dd{margin:0;font-size:13px;line-height:1.4}.local-signals small{display:block;margin-top:17px;color:#5d6b65;font-size:12px;line-height:1.55}
@media(max-width:900px){.local-signals{margin:0 -10px;padding:24px 22px}.local-signals dl>div{grid-template-columns:95px 1fr}}
/* Contact form: keep the existing Gravity Forms endpoint in the new premium shell. */
.svc-contact-form{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(360px,1.3fr);gap:clamp(32px,6vw,96px);padding:clamp(64px,8vw,112px) max(6vw,24px);background:#e8e0d1;color:#10241d}
.svc-contact-form h2{font-family:"Playfair Display",Georgia,serif;font-size:clamp(36px,4vw,62px);line-height:1.03;margin:.25em 0}
.contact-form-aside{align-self:start;position:sticky;top:110px}
.contact-form-aside>p:not(.eyebrow){max-width:34rem;line-height:1.7}
.contact-services-card{margin-top:30px;padding:25px;background:#10241d;color:#fff}.contact-services-card>span{display:block;margin-bottom:12px;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#d8c9ad}.contact-services-card a{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none;font-weight:700}.contact-services-card a:hover b{transform:translateX(4px)}.contact-services-card b{transition:transform .2s ease}
.contact-help-card{margin-top:34px;padding:26px;border-top:3px solid #b66a2d;background:rgba(255,255,255,.5)}
.contact-help-card>span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9a5725}
.contact-help-card ol{list-style:none;counter-reset:steps;margin:22px 0 0;padding:0}
.contact-help-card li{counter-increment:steps;position:relative;padding:0 0 20px 42px}
.contact-help-card li:last-child{padding-bottom:0}
.contact-help-card li:before{content:counter(steps);position:absolute;left:0;top:-2px;width:26px;height:26px;border:1px solid #9d8f79;border-radius:50%;display:grid;place-items:center;font:700 .75rem/1 sans-serif}
.contact-help-card b,.contact-help-card small{display:block}.contact-help-card small{margin-top:4px;line-height:1.45;color:#52615b}
.contact-privacy-note{margin:18px 0 0;padding:16px 18px;border:1px solid rgba(16,36,29,.18);font-size:.84rem}.contact-privacy-note b{display:block;margin-bottom:2px}
.contact-form-card{background:#fff;padding:clamp(24px,4vw,52px);box-shadow:0 24px 60px rgba(16,36,29,.12)}
.contact-form-card .gform_fields{display:grid;gap:18px}
.contact-form-card label,.contact-form-card legend{display:block;font-weight:700;margin-bottom:7px}
.contact-form-card input:not([type=submit]):not([type=checkbox]):not([type=radio]),.contact-form-card textarea,.contact-form-card select{width:100%;border:1px solid #b9b09f;background:#fbfaf7;padding:13px 14px;font:inherit;color:#10241d}
.contact-form-card textarea{min-height:130px;resize:vertical}
.contact-form-card input[type=submit],.contact-form-card button[type=submit]{appearance:none;border:0;background:#10241d;color:#fff;padding:15px 24px;font-weight:700;cursor:pointer}
.contact-form-card .gfield_description,.contact-form-card .validation_message{font-size:.9rem;color:#745331}
@media(max-width:760px){.svc-contact-form{grid-template-columns:1fr}.contact-form-aside{position:static}.contact-form-card{padding:22px}.contact-help-card{margin-top:20px}.contact-services-card{margin-top:24px}}
