@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');

:root {
  --md-surface:#f6fbff; --md-on-surface:#10273b;
  --md-primary:#205b88; --md-on-primary:#fff; --md-secondary-container:#d9eaf7;
  --md-on-secondary-container:#112d45; --md-tertiary:#356b88;
  --md-container:#eaf3fa; --md-low:#dfeaf3; --md-outline:#718394;
  --md-variant:#40576b; --md-primary-container:#d5e8f8; --md-on-primary-container:#0b2c49;
  --md-ease:cubic-bezier(.2,0,0,1);
  --md-shadow-1:0 1px 3px #10273b0d,0 2px 5px #10273b05;
  --md-shadow-2:0 4px 12px #10273b10,0 2px 6px #10273b0a;
  --md-shadow-3:0 10px 32px #173b5812,0 4px 12px #173b580a;
  --navy:var(--md-on-surface); --gold:var(--md-primary); --ivory:var(--md-surface);
  --ink:var(--md-on-surface); --muted:var(--md-variant); --line:#bed0df;
}
body{background:var(--md-surface);color:var(--md-on-surface);font-family:Roboto,Arial,sans-serif;font-size:16px;line-height:1.6}
h1,h2,h3{font-family:Roboto,Arial,sans-serif;font-weight:500;letter-spacing:-.01em}
h1{font-size:56px;line-height:1.2}h2{font-size:48px;line-height:1.2}h3{font-size:24px;line-height:1.3}p{font-size:16px;line-height:1.6;color:var(--md-variant)}
em{font-style:normal;color:var(--md-primary)}
a,button,input,select,textarea,summary{transition:background-color .3s var(--md-ease),box-shadow .3s var(--md-ease),transform .3s var(--md-ease),opacity .3s var(--md-ease),border-color .3s var(--md-ease)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--md-primary);outline-offset:4px;box-shadow:0 0 0 4px #d5e8f880}
:where(button,.button,.service-card,.service-help a,.text-link,.audience-links a,nav a,.mobile-contact a):active{transform:scale(.95)}
.topline{background:var(--md-secondary-container);color:var(--md-on-secondary-container);font-size:12px;letter-spacing:0;padding:8px 5%}
.topline i{color:var(--md-primary)}
header{height:124px;padding:0 4%;gap:16px;background:#eaf3faeb;color:var(--md-on-surface);border-bottom:1px solid #71839422;backdrop-filter:blur(16px)}
header .brand-image{width:188px;height:110px;border-radius:24px;background:#031329;box-shadow:var(--md-shadow-1)}
header .brand-image img{width:188px;transform:translateY(-34px)}
nav{gap:4px;font-size:14px;font-weight:500}nav a{padding:10px 13px;border-radius:9999px;min-height:44px;display:flex;align-items:center}
nav a:hover,header nav a:hover{background:#205b881a;color:var(--md-primary)}nav a[aria-current=page]{background:var(--md-secondary-container);color:var(--md-on-secondary-container)}
.header-phone{font-size:14px;font-weight:500;padding:10px 6px;border-radius:9999px;min-height:44px;white-space:nowrap}
.header-phone:hover{background:#205b881a;color:var(--md-primary)}
.button,.button.small{position:relative;isolation:isolate;overflow:hidden;min-height:48px;padding:13px 25px;border:0;border-radius:9999px;background:var(--md-primary);color:var(--md-on-primary);font-size:14px;font-weight:500;letter-spacing:.01em;box-shadow:none;gap:20px}
.button:before{content:'';position:absolute;z-index:-1;inset:0;background:#fff;opacity:0;pointer-events:none;transition:opacity .3s var(--md-ease)}
.button:hover{background:var(--md-primary);color:var(--md-on-primary);transform:none;box-shadow:var(--md-shadow-2)}.button:hover:before{opacity:.1}.button:active{transform:scale(.95)}.button:active:before{opacity:.2}
.button.outline{background:transparent;color:var(--md-primary);border:1px solid var(--md-outline)}.button.outline:before{background:var(--md-primary)}
.button.outline:hover{color:var(--md-primary);background:transparent}.button.outline:hover:before{opacity:.05}
.eyebrow{font:500 12px/1.5 Roboto,Arial,sans-serif;letter-spacing:.08em;color:var(--md-primary);margin-bottom:16px}
.section{padding:80px 5%;max-width:1440px;margin-inline:auto}
.section-heading{gap:32px;margin-bottom:36px}.section-heading p{font-size:16px;max-width:390px}.section-heading h2{font-size:48px}.section-heading p br{display:none}
.text-link{border:0;border-radius:9999px;color:var(--md-primary);padding:10px 16px;font-size:14px;min-height:44px;display:inline-flex;align-items:center;gap:12px}
.text-link:hover{color:var(--md-primary);background:#205b881a}.text-link b{margin:0}
.hero-slideshow{margin:20px 24px 0;border-radius:48px;min-height:640px;height:min(740px,calc(100svh - 176px));background:#14364e;box-shadow:var(--md-shadow-3);isolation:isolate}
.hero-slide{transition:opacity .5s var(--md-ease)}.hero-shade{background:linear-gradient(100deg,#0d2940ad,#15384e9c 55%,#132e4375)}
.md-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;border-radius:inherit}
.md-atmosphere i{position:absolute;display:block;border-radius:50%;width:390px;height:390px;background:#205b88;opacity:.18;filter:blur(72px);mix-blend-mode:multiply;left:-100px;top:-150px}
.md-atmosphere i:nth-child(2){width:360px;height:480px;background:#d9eaf7;opacity:.25;border-radius:140px 40px 150px 130px;left:auto;right:-110px;top:15%;transform:rotate(32deg)}
.md-atmosphere i:nth-child(3){width:420px;height:290px;background:#356b88;opacity:.2;top:auto;bottom:-170px;left:30%}
.slideshow-content{max-width:1100px;padding:42px 30px 112px}.slideshow-content .eyebrow{font-size:12px;letter-spacing:.09em;color:#e7f3fd;margin-bottom:20px}
.slideshow-content h1{font-size:56px;font-weight:500;line-height:1.2;letter-spacing:-.01em;text-shadow:none;margin-bottom:20px;color:#f6fbff}
.slideshow-content h1 em{color:#d5e8f8}.slideshow-content>p{font-size:20px;line-height:1.5;color:#eef7fd;margin-bottom:20px}
.hero-service-tags{font-size:12px;gap:8px;flex-wrap:wrap}.hero-service-tags span{border:1px solid #ffffff30;background:#ffffff14;backdrop-filter:blur(8px);border-radius:9999px;padding:6px 14px;color:#f6fbff}
.slideshow-content .postcode-form{max-width:590px;margin:24px auto 0}.slideshow-content .postcode-form label{font-size:14px;letter-spacing:0;font-weight:500;color:#f6fbff}
.slideshow-content .postcode-form>div{border-radius:32px;background:var(--md-container);padding:8px 8px 8px 16px;box-shadow:var(--md-shadow-2)}
.slideshow-content .postcode-form input{background:var(--md-low);height:52px;border-radius:12px 12px 0 0;border:0;border-bottom:2px solid var(--md-outline);color:var(--md-on-surface);font-size:16px;padding:12px;min-width:0}
.slideshow-content .postcode-form input:focus{border-bottom-color:var(--md-primary);outline:2px solid var(--md-primary);outline-offset:2px}
.slideshow-content .postcode-form button{border-radius:9999px;font-size:14px;min-height:52px;padding:14px 22px;margin-left:8px}
.postcode-symbol{color:var(--md-primary);font-size:27px;padding:0 10px 0 0}.slideshow-content .postcode-form small{font-size:12px;color:#eaf3fa;margin-top:10px}
.slideshow-content .audience-links{gap:12px;font-size:14px;margin-top:18px}.slideshow-content .audience-links a{border:1px solid #ffffff60;padding:10px 19px;border-radius:9999px;min-height:44px;background:#ffffff0d;backdrop-filter:blur(6px)}
.slideshow-content .audience-links a:hover{background:#ffffff26;color:#f6fbff;border-color:#ffffff90}.slideshow-content .audience-links span{margin-left:12px}
.slider-bottom{bottom:22px;left:4%;right:4%;gap:16px}.slider-caption,.slider-disclosure,.slider-count{font-size:12px;letter-spacing:.02em;color:#e9f4fc}.slider-caption{max-width:220px}.slider-disclosure{max-width:210px;text-align:right}
.slider-controls{gap:6px;background:#ffffff14;backdrop-filter:blur(12px);border:1px solid #ffffff30;padding:4px 8px;border-radius:9999px}
.slide-arrow,.slider-pause{width:44px;height:44px;min-width:44px;border:0;background:transparent;border-radius:9999px;color:#f6fbff;font-size:22px}
.slide-arrow:hover,.slider-pause:hover{background:#ffffff26;color:#f6fbff}.slider-pause{font-size:16px}
.slide-dot{height:44px;width:44px;padding:17px;background:transparent;border-radius:9999px}.slide-dot:after{width:9px;height:9px;border-color:#eaf5ff}
.slide-dot.active:after{border-color:#d5e8f8;background:#d5e8f8;box-shadow:0 0 0 4px #d5e8f830}.slide-dot:hover{background:#ffffff1a}.slide-dot.active:before{content:'';position:absolute;inset:5px;border:1px solid #ffffff60;border-radius:50%}.slide-dots{gap:0}.slider-count{padding-inline:8px;white-space:nowrap}
.hero-slideshow:focus-visible{outline-color:#d5e8f8;outline-offset:-5px}
.hero-slideshow :where(a,button):focus-visible{outline-color:#d5e8f8;box-shadow:0 0 0 4px #205b8880}
.trust-strip{max-width:1392px;margin:16px 24px 0;padding:22px 32px;background:var(--md-secondary-container);border:0;border-radius:28px;color:var(--md-primary);font-size:14px;gap:20px}
.trust-strip b{color:var(--md-on-secondary-container);font-weight:500;margin-left:8px}
.service-grid{border:0;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.service-card,.service-help{position:relative;isolation:isolate;border:0;border-radius:24px;background:var(--md-container);padding:28px;min-height:305px;box-shadow:var(--md-shadow-1);overflow:hidden}
.service-card:before{content:'';position:absolute;inset:0;background:var(--md-primary);opacity:0;z-index:-1;transition:opacity .3s var(--md-ease)}
.service-card:hover{background:var(--md-container);transform:scale(1.02);box-shadow:var(--md-shadow-2)}.service-card:hover:before{opacity:.08}.service-card:active{transform:scale(.95)}
.service-number{font-size:12px;letter-spacing:.02em;color:var(--md-variant)}
.line-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--md-secondary-container);color:var(--md-primary);font-size:30px;margin:20px 0}
.line-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service-card:hover .line-icon{box-shadow:0 0 24px #205b8825}.service-card h3{font-size:24px;min-height:0;margin-bottom:12px}.service-card p{font-size:16px;min-height:52px}.service-card .text-link{padding-left:0;font-weight:500}.service-card:hover .text-link{padding-left:12px;background:#205b8810}
.service-card.s2{background:var(--md-secondary-container);transform:translateY(-8px);box-shadow:var(--md-shadow-2)}.service-card.s2:hover{transform:translateY(-8px) scale(1.02)}.service-card.s2:active{transform:translateY(-8px) scale(.95)}
.service-help{background:var(--md-primary-container);color:var(--md-on-primary-container);grid-column:span 2;background-image:radial-gradient(ellipse at 90% 100%,#356b8825,transparent 65%)}
.service-help>span{font-size:12px;color:var(--md-on-primary-container);letter-spacing:.05em}.service-help h3{font:500 32px/1.2 Roboto,Arial,sans-serif;margin:20px 0}.service-help a{align-self:flex-start;color:var(--md-primary);font-size:14px;padding:10px 18px;border-radius:9999px;background:#f6fbff80;min-height:44px}
.agent-feature{position:relative;isolation:isolate;max-width:1296px;margin:12px auto 0;border-radius:48px;background:var(--md-primary-container);color:var(--md-on-primary-container);box-shadow:var(--md-shadow-3);grid-template-columns:.85fr 1fr;background-image:radial-gradient(ellipse at 15% 15%,#d9eaf7,transparent 55%)}
.agent-art{background:#205b8810;border:0;border-radius:48px 100px 100px 48px;min-height:480px;margin:20px 0 20px 20px;overflow:hidden}
.house-drawing{font-family:Roboto,Arial,sans-serif;color:var(--md-primary);font-size:200px}.house-drawing svg{width:220px;height:220px;stroke:var(--md-primary);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.agent-art>span{color:var(--md-on-secondary-container);font-size:12px;letter-spacing:.07em;line-height:1.8}.agent-copy{padding:52px}.agent-copy .eyebrow{color:var(--md-primary)}.agent-copy h2{font-size:48px}.agent-copy h2 em{color:var(--md-primary)}.agent-copy p{font-size:16px;max-width:none;color:var(--md-on-secondary-container)}.agent-copy ul{font-size:16px;color:var(--md-on-secondary-container);line-height:1.6;display:grid;gap:12px;margin:24px 0}.agent-copy li:before{color:var(--md-primary)}
.steps{gap:24px}.steps>div{border:0;background:var(--md-container);border-radius:24px;padding:24px;position:relative;isolation:isolate;box-shadow:var(--md-shadow-1)}
.steps span{font:500 18px/1 Roboto,Arial,sans-serif;background:var(--md-secondary-container);color:var(--md-primary);height:48px;width:48px;display:grid;place-items:center;border-radius:16px;position:relative;transition:box-shadow .3s var(--md-ease),transform .3s var(--md-ease)}
.steps span:after{content:'';position:absolute;inset:-12px;border-radius:50%;background:var(--md-primary);filter:blur(20px);opacity:0;z-index:-1;transition:opacity .3s var(--md-ease)}
.steps>div:hover span:after{opacity:.25}.steps>div:hover span{box-shadow:var(--md-shadow-2);transform:translateY(-2px)}.steps h3{font-size:24px;margin-top:24px}.steps p{font-size:16px;margin-bottom:0}
.care-section{isolation:isolate;position:relative;overflow:hidden;background:var(--md-container);border-radius:48px;max-width:1296px;margin:0 auto;padding:80px 24px;background-image:radial-gradient(ellipse at 30% 20%,#d9eaf799,transparent 60%);box-shadow:var(--md-shadow-3)}
.care-section h2{font-size:48px}.care-section p{font-size:20px;line-height:1.6}.care-section .eyebrow{color:var(--md-primary)}
.faq-section{gap:64px;grid-template-columns:.8fr 1.3fr;align-items:start}.faq-list{border:0;display:grid;gap:16px}details{border:0;background:var(--md-container);border-radius:24px;padding:0;box-shadow:var(--md-shadow-1);overflow:hidden;transition:box-shadow .3s var(--md-ease),background-color .3s var(--md-ease)}
details:hover{box-shadow:var(--md-shadow-2);background:#e0eef9}summary{font-size:16px;line-height:1.5;min-height:72px;padding:24px;border-radius:24px;align-items:center;gap:20px}summary span{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;background:var(--md-secondary-container);color:var(--md-primary);border-radius:50%;font-size:20px}details p{font-size:16px;padding:0 24px 24px;margin:0}details[open]{background:var(--md-secondary-container)}
.closing{position:relative;isolation:isolate;overflow:hidden;background:var(--md-secondary-container);color:var(--md-on-secondary-container);border-radius:48px;margin:0 24px 24px;padding:56px;box-shadow:var(--md-shadow-3);background-image:radial-gradient(ellipse at 80% 15%,#356b881f,transparent 60%)}
.closing .eyebrow{font-size:12px;color:var(--md-primary)}.closing h2{font-size:48px}.closing .button{background:var(--md-primary);color:var(--md-on-primary);border:0;flex-shrink:0}
footer{background:var(--md-container);color:var(--md-on-surface);padding:56px 5% 24px;border-radius:48px 48px 0 0}.footer-grid{gap:40px;grid-template-columns:1.15fr 1fr 1fr 1.1fr}
.footer-name{font:500 30px/1.3 Roboto,Arial,sans-serif;color:var(--md-on-surface);letter-spacing:-.01em}.footer-name span{font:500 12px/1.5 Roboto,Arial,sans-serif;letter-spacing:.16em;color:var(--md-primary)}
footer h3{font-size:16px;color:var(--md-primary);font-weight:500;margin-bottom:20px}footer p{font-size:14px;color:var(--md-variant)}footer a{font-size:14px;margin:0 -8px 4px;padding:8px;border-radius:12px;min-height:36px}footer a:hover{background:#205b881a;color:var(--md-primary)}.footer-bottom{border-color:#71839433;color:var(--md-variant);font-size:12px;margin-top:36px;align-items:center;gap:20px}.footer-bottom a{font-size:12px}.muted{font-size:12px;margin-top:20px}
.page-intro{position:relative;isolation:isolate;overflow:hidden;border-radius:48px;background:var(--md-container);max-width:none;margin:24px 24px 0;padding:64px 5%;background-image:radial-gradient(ellipse at top right,#d9eaf780,transparent 55%)}
.page-intro h1{max-width:950px;font-size:56px}.page-intro p{font-size:20px;max-width:720px;line-height:1.6}.page-intro.compact{padding-bottom:48px}
.page-intro.navy{background:var(--md-primary-container);color:var(--md-on-primary-container)}.navy .eyebrow,.navy em{color:var(--md-primary)}.navy p{color:var(--md-on-secondary-container)}.button-row{gap:16px}
.service-hero{position:relative;isolation:isolate;overflow:hidden;border-radius:48px;background:var(--md-container);margin:24px 24px 0;padding:52px 4%;gap:48px;align-items:center;grid-template-columns:1.1fr 1fr;background-image:radial-gradient(ellipse at 15% 0,#d9eaf780,transparent 65%)}
.service-hero h1{font-size:56px;line-height:1.2}.service-hero p{font-size:20px;line-height:1.6}.service-hero .eyebrow{margin-top:28px}.breadcrumb{font-size:12px;color:var(--md-variant);display:inline-block;min-height:32px;border-radius:9999px;padding:4px 8px;margin-left:-8px}.breadcrumb:hover{background:#205b881a}.caption{font-size:12px!important}
.service-visual{border-radius:32px;min-height:470px;box-shadow:var(--md-shadow-2)}.service-visual img{border-radius:32px;transition:transform .3s var(--md-ease)}.service-visual:hover img{transform:scale(1.02)}.service-visual>span{color:#d5e8f8;font-size:80px}.service-visual small{font-size:12px;letter-spacing:.04em;border-radius:9999px;background:#10273b80;padding:5px 12px;backdrop-filter:blur(8px)}
.scope-grid{gap:64px;padding-top:72px}.scope-box{background:var(--md-container);border-radius:32px;padding:32px;border:0;box-shadow:var(--md-shadow-1)}.scope-box h3{font-size:24px}.scope-box ul{margin-bottom:28px}.scope-box li{font-size:16px;padding:12px 0;border-color:#71839426}.scope-box li:before{color:var(--md-primary)}.scope-box p{font-size:16px}.scope-grid p{max-width:none}
.info-grid{gap:24px}.info-grid article{background:var(--md-container);padding:28px;border:0;border-radius:24px;box-shadow:var(--md-shadow-1)}.info-grid h3{font-size:24px}.info-grid p{font-size:16px}.info-grid .eyebrow{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--md-secondary-container);font-size:14px;letter-spacing:0}
.form-section{max-width:none;margin:24px;border-radius:48px;background:var(--md-container);padding:56px;gap:64px;align-items:start}.form-section>div>p,.form-section aside>p{font-size:16px}
.enquiry-form{border:0;border-radius:32px;background:var(--md-surface);padding:32px;gap:24px;box-shadow:var(--md-shadow-2)}.enquiry-form label{font-size:14px;font-weight:500;gap:8px;color:var(--md-variant)}
.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{border:0;border-bottom:2px solid var(--md-outline);border-radius:12px 12px 0 0;background:var(--md-low);min-height:56px;padding:14px 16px;font-size:16px;color:var(--md-on-surface);font-weight:400}
.enquiry-form :where(input,select,textarea):focus{border-bottom-color:var(--md-primary);outline:2px solid var(--md-primary);outline-offset:2px;box-shadow:0 0 0 4px #205b880d}
.enquiry-form input[type=checkbox]{accent-color:var(--md-primary);width:20px;height:20px;flex-shrink:0;margin-top:2px}.enquiry-form .consent{font-size:14px;font-weight:400;line-height:1.6;align-items:flex-start;min-height:44px;gap:12px;padding:6px 0}.enquiry-form .button{font-size:14px;min-height:52px}.field-pair{gap:20px}
.demo-note{border:0;border-radius:24px;background:var(--md-secondary-container);color:var(--md-on-secondary-container);padding:24px;font-size:14px;margin-block:24px}.demo-note p{font-size:14px;color:var(--md-on-secondary-container)}.phone-big{font-size:24px;color:var(--md-primary);border-radius:9999px;padding:8px 16px;margin-left:-16px;display:inline-flex;min-height:48px}.phone-big:hover{background:#205b881a}
.area-panel{position:relative;isolation:isolate;overflow:hidden;background:var(--md-primary-container);color:var(--md-on-primary-container);border-radius:48px;padding:48px;box-shadow:var(--md-shadow-3);background-image:radial-gradient(ellipse at bottom left,#356b8825,transparent 60%)}.area-panel>span{color:var(--md-primary)}.area-panel p{color:var(--md-on-secondary-container)}.area-panel small{color:var(--md-primary);font-size:12px}
.logo-panel{background:#031329;border-radius:32px;overflow:hidden;box-shadow:var(--md-shadow-2)}.prose{max-width:1000px}.prose h2{font-size:32px}.prose p{font-size:16px}
.skip{border-radius:9999px;background:var(--md-secondary-container);color:var(--md-on-secondary-container);font-size:14px;padding:12px 20px}
.menu{min-width:44px;min-height:44px;border-radius:9999px;padding:8px}header .menu{color:var(--md-primary)}.menu:hover{background:#205b881a}

@media(min-width:1440px){.trust-strip{margin-inline:auto;width:calc(100% - 48px)}}
@media(max-width:1250px){header{gap:8px}nav a{font-size:12px;padding:10px}.header-phone{display:none}header .button{padding-inline:20px}.agent-feature,.care-section{margin-inline:24px}.steps{gap:16px}.steps>div{padding:24px 20px}.steps h3{font-size:22px}.footer-grid{gap:24px}.service-hero{gap:32px}}
@media(max-width:1000px){.section-heading{align-items:start}.section-heading h2{font-size:40px}.section-heading p{max-width:300px}.agent-copy{padding:36px}.agent-copy h2{font-size:40px}.agent-art{min-height:440px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-help{grid-column:auto}.service-card.s2{transform:none}.service-card.s2:hover{transform:scale(1.02)}.service-card.s2:active{transform:scale(.95)}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-section{gap:32px}.closing{padding:40px}.closing h2{font-size:40px}.footer-grid{grid-template-columns:1fr 1fr}.service-hero h1{font-size:48px}.service-hero p{font-size:18px}.service-visual{min-height:440px}.form-section{padding:40px;gap:36px;grid-template-columns:.9fr 1.2fr}.enquiry-form{padding:28px}.scope-grid{gap:40px}}
@media(max-width:850px){header{height:112px;gap:12px}header .brand-image{width:170px;height:100px}header .brand-image img{width:170px;transform:translateY(-30px)}header nav{top:112px;background:var(--md-container);color:var(--md-on-surface);border-radius:0 0 28px 28px;box-shadow:var(--md-shadow-3);padding:20px;gap:8px}header nav a{font-size:16px;padding:12px 20px}.hero-slideshow{height:auto;min-height:670px;margin:16px 20px 0;border-radius:40px}.slideshow-content h1{font-size:48px}.slideshow-content .eyebrow{font-size:11px}.slideshow-content>p{font-size:18px}.slideshow-content{padding:44px 24px 140px}.slider-bottom{display:grid;grid-template-columns:1fr auto;bottom:22px;gap:12px}.slider-caption{max-width:170px;font-size:11px}.slider-disclosure{max-width:none;grid-column:1/-1;text-align:center;font-size:11px}.trust-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 20px 0;padding:24px;font-size:14px}.agent-feature{grid-template-columns:.7fr 1fr}.agent-art{border-radius:32px 70px 70px 32px}.house-drawing svg{width:155px;height:155px}.agent-art>span{font-size:10px}.agent-copy h2{font-size:36px}.care-section h2{font-size:40px}.care-section p{font-size:18px}.page-intro{padding:48px 6%;margin:20px 20px 0}.page-intro h1{font-size:48px}.page-intro p{font-size:18px}.service-hero{margin:20px 20px 0;grid-template-columns:1fr;gap:28px;padding:40px 6%}.service-hero h1{font-size:48px;max-width:650px}.service-visual{min-height:360px}.service-hero .caption{margin-bottom:0}.service-hero .eyebrow{margin-top:20px}.scope-grid{grid-template-columns:1fr 1fr;gap:28px}.scope-grid h2{font-size:40px}.scope-box{padding:28px}.form-section{grid-template-columns:1fr;padding:40px;gap:24px}.enquiry-form{margin-top:0}.form-section h2{font-size:40px}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.closing{display:block}.closing h2{margin-bottom:24px}.closing .button{display:inline-flex}.page-intro.compact{padding-bottom:40px}}
@media(max-width:600px){body{padding-bottom:64px}h1{font-size:40px}h2{font-size:36px}h3{font-size:24px}.topline{font-size:12px;padding:8px 16px}header{height:96px;gap:8px;padding:0 16px}header .brand-image{width:140px;height:84px;border-radius:20px}header .brand-image img{width:140px;transform:translateY(-24px)}header .button{padding:12px 18px;font-size:12px;min-height:44px;max-width:140px}header .button span{display:none}header nav{top:96px}header .menu{font-size:22px}.eyebrow{font-size:12px;letter-spacing:.05em;line-height:1.5;margin-bottom:14px}
.hero-slideshow{border-radius:24px;margin:12px 12px 0;min-height:0;height:auto}.slideshow-content{padding:32px 20px 168px}.slideshow-content .eyebrow{font-size:10px;letter-spacing:.06em;line-height:1.5;max-width:300px;margin-bottom:20px}.slideshow-content h1{font-size:36px;line-height:1.2;letter-spacing:-.01em;margin-bottom:18px}.slideshow-content>p{font-size:16px;line-height:1.5;margin-bottom:18px}.slideshow-content>p br{display:none}.hero-service-tags{font-size:11px;gap:6px}.hero-service-tags span{padding:5px 9px}.slideshow-content .postcode-form{margin-top:20px}.slideshow-content .postcode-form label{font-size:14px;margin-bottom:10px}.slideshow-content .postcode-form>div{padding:10px;border-radius:24px;flex-wrap:wrap;gap:10px}.postcode-symbol{display:none}.slideshow-content .postcode-form input{width:100%;flex:1 1 100%;font-size:16px;padding:12px;height:56px}.slideshow-content .postcode-form button{width:100%;font-size:14px;min-height:48px;justify-content:center;margin:0;padding:12px 20px}.slideshow-content .postcode-form small{font-size:12px;line-height:1.5;margin-top:8px}.slideshow-content .audience-links{gap:10px;margin-top:18px;flex-direction:column;align-items:stretch;font-size:14px}.slideshow-content .audience-links a{padding:10px 12px;min-height:44px;display:flex;justify-content:center;gap:10px}.slideshow-content .audience-links span{margin:0}.slider-bottom{bottom:20px;left:16px;right:16px;display:flex;flex-direction:column;gap:8px}.slider-caption{max-width:none;font-size:10px}.slider-disclosure{font-size:10px;letter-spacing:0}.slider-controls{gap:0;padding:2px 6px}.slide-arrow,.slider-pause{width:44px;height:44px;font-size:20px}.slider-pause{font-size:14px}.slide-dot{width:40px;height:44px;padding:15px}.slider-count{font-size:11px;padding:0 8px}.trust-strip{margin:12px 12px 0;padding:20px 16px;gap:16px 12px;border-radius:24px;font-size:12px;align-items:start}.trust-strip span{display:flex;align-items:start;gap:4px}.trust-strip b{margin:0;font-size:12px;line-height:1.5}.section{padding:48px 20px}.section-heading{margin-bottom:28px;display:block}.section-heading h2{font-size:36px}.section-heading>p{font-size:16px;margin-top:16px;max-width:none}.service-grid{grid-template-columns:1fr;gap:20px}.service-card,.service-help{padding:28px;min-height:0}.service-card h3{font-size:24px}.service-card p{font-size:16px;min-height:0;margin-bottom:12px}.service-number{font-size:12px}.line-icon{margin:16px 0}.service-card .text-link{font-size:14px}.service-help>span{font-size:12px}.service-help h3{font-size:32px}.service-help a{font-size:14px}
.agent-feature{margin:0 12px;border-radius:24px;display:flex}.agent-art{min-height:200px;margin:12px 12px 0;border-radius:20px 60px 20px 60px;gap:24px}.house-drawing svg{width:130px;height:130px}.agent-art>span{font-size:11px;max-width:140px}.agent-copy{padding:28px 24px}.agent-copy h2{font-size:36px}.agent-copy p,.agent-copy ul{font-size:16px}.agent-copy .button{width:100%;justify-content:center}.steps{grid-template-columns:1fr;gap:20px}.steps>div{padding:28px}.steps h3{font-size:24px;margin:20px 0 12px}.steps p{font-size:16px}.care-section{margin:0 12px;border-radius:24px;padding:48px 24px}.care-section h2{font-size:36px}.care-section p{font-size:18px}.care-section p br{display:none}.faq-section{display:block}.faq-section h2{font-size:36px}.faq-section>div:first-child{margin-bottom:28px}summary{font-size:16px;min-height:72px;padding:20px}details p{font-size:16px;padding:0 20px 20px}.faq-list{gap:12px}.closing{margin:0 12px 16px;border-radius:24px;padding:32px 24px}.closing h2{font-size:36px}.closing .button{width:100%;justify-content:center}.closing .eyebrow{font-size:12px}footer{border-radius:24px 24px 0 0;padding:40px 24px 24px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-grid>div{grid-column:auto!important}.footer-grid a{font-size:14px;min-height:44px;padding-block:10px}.footer-name{font-size:30px}.footer-bottom{font-size:12px;margin-top:28px;padding-top:16px}.footer-bottom a{font-size:12px}.mobile-contact{height:64px;background:var(--md-container);color:var(--md-on-secondary-container);border:0;box-shadow:0 -2px 12px #10273b0d;padding:8px;gap:6px;grid-template-columns:1fr 1fr 1.25fr}.mobile-contact a{border:0;border-radius:9999px;background:var(--md-secondary-container);min-height:48px;font-size:14px;font-weight:500}.mobile-contact a:last-child{background:var(--md-tertiary);color:var(--md-on-primary)}.mobile-contact a:hover{box-shadow:var(--md-shadow-2)}
.page-intro,.service-hero{margin:12px 12px 0;border-radius:24px;padding:36px 24px}.page-intro h1{font-size:40px;line-height:1.2}.page-intro p{font-size:18px}.page-intro.compact{padding-bottom:32px}.service-hero h1{font-size:40px}.service-hero p{font-size:18px}.service-hero .eyebrow{font-size:12px;margin-top:16px}.service-hero .button{width:100%;justify-content:center}.service-visual{min-height:280px;margin-top:0;border-radius:24px}.service-visual img{border-radius:24px}.service-visual small{font-size:10px;left:12px;bottom:12px}.breadcrumb{font-size:12px}.scope-grid{display:block}.scope-grid h2{font-size:36px}.scope-box{padding:28px 24px;margin-top:28px;border-radius:24px}.scope-box h3{font-size:24px}.scope-box li,.scope-box p{font-size:16px}.info-grid{grid-template-columns:1fr;gap:20px}.info-grid article{padding:28px}.info-grid h3{font-size:24px}.info-grid p{font-size:16px}.form-section{margin:12px;border-radius:24px;padding:32px 20px}.form-section h2{font-size:36px}.enquiry-form{padding:24px 16px;border-radius:24px;gap:22px;margin-top:24px}.enquiry-form label{font-size:14px}.field-pair{grid-template-columns:1fr;gap:22px}.enquiry-form :where(input,select,textarea){font-size:16px}.enquiry-form .consent{font-size:14px}.enquiry-form .button{font-size:14px}.demo-note{padding:20px;font-size:14px}.area-panel{margin-top:28px;padding:36px 24px;border-radius:24px}.area-panel h2{font-size:40px}.area-panel small{font-size:12px}.logo-panel{margin-top:28px;border-radius:24px}.prose h2{font-size:32px}.prose p{font-size:16px}.button-row{flex-direction:column}.button-row .button{justify-content:center}.hero-slideshow .md-atmosphere i{width:260px;height:260px}.hero-slideshow .md-atmosphere i:nth-child(2){height:380px}}
@media(max-width:380px){header{height:88px;gap:4px}header .brand-image{width:120px;height:76px;border-radius:16px}header .brand-image img{width:120px;transform:translateY(-20px)}header nav{top:88px}header .button{font-size:11px;padding:10px 12px;max-width:114px}.slideshow-content{padding-inline:16px}.slideshow-content h1{font-size:32px}.slider-controls{padding-inline:2px}.slider-count{padding-inline:4px}.slide-dot{width:36px;padding:13px}.service-hero,.page-intro{padding-inline:20px}.enquiry-form{padding-inline:12px}}
/* A light, left-aligned place card over the revolving interiors. */
.hero-slideshow{height:auto;min-height:780px;justify-content:flex-start;align-items:center;background:var(--md-container)}
.hero-slideshow .hero-shade{background:linear-gradient(90deg,#122d4326,#122d4305 65%,#122d4310)}
.hero-slideshow>.md-atmosphere{opacity:.3}
.hero-slideshow .hero-place-card{position:relative;isolation:isolate;width:min(620px,calc(53% - 28px));max-width:620px;padding:40px;margin:40px 0 110px 40px;text-align:left;border-radius:44px 68px 44px 44px;background:var(--md-surface);box-shadow:0 12px 40px #10273b17;color:var(--md-on-surface)}
.hero-place-card:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(ellipse at 100% 0,#d9eaf77a,transparent 65%);pointer-events:none}
.hero-slideshow .hero-place-card .eyebrow{font-size:11px;line-height:1.6;letter-spacing:.06em;color:var(--md-primary);margin:0 0 18px;max-width:none}
.hero-slideshow .hero-place-card h1{font-size:46px;line-height:1.14;letter-spacing:-.02em;color:var(--md-on-surface);margin-bottom:20px}
.hero-slideshow .hero-place-card h1 em{color:var(--md-primary)}
.hero-slideshow .hero-place-card>p{font-size:18px;line-height:1.55;color:var(--md-variant);max-width:490px;margin:0 0 22px}
.place-card-actions{display:flex;flex-wrap:wrap;gap:12px}.place-card-actions .button{min-height:48px;padding:12px 22px;gap:20px}.place-card-actions .button.outline{background:var(--md-secondary-container);border:1px solid #205b884d}
.hero-slideshow .hero-place-card .postcode-form{margin:24px 0 0;max-width:none}
.hero-slideshow .hero-place-card .postcode-form label{font-size:14px;color:var(--md-on-surface);margin-bottom:10px}
.hero-slideshow .hero-place-card .postcode-form>div{border-radius:24px;background:var(--md-container);box-shadow:none;padding:8px;gap:8px}
.hero-slideshow .hero-place-card .postcode-symbol{display:none}
.hero-slideshow .hero-place-card .postcode-form input{font-size:14px;height:50px;padding:12px;flex:1 1 45%;width:45%}
.hero-slideshow .hero-place-card .postcode-form button{min-height:50px;font-size:13px;padding:12px 18px;gap:14px;margin:0;flex:0 0 auto}
.hero-slideshow .hero-place-card .postcode-form small{font-size:12px;color:var(--md-variant);margin-top:8px}
.hero-slideshow .hero-place-card .audience-links{justify-content:flex-start;margin-top:12px;font-size:14px}
.hero-slideshow .hero-place-card .audience-links a{display:inline-flex;border:0;background:transparent;backdrop-filter:none;color:var(--md-primary);padding:9px 12px;margin-left:-12px;min-height:44px}
.hero-slideshow .hero-place-card .audience-links a:hover{background:#205b881a}
.place-card-points{display:flex;flex-wrap:wrap;gap:12px 20px;list-style:none;padding:18px 0 0;margin:12px 0 0;border-top:1px solid #71839426;font-size:12px;color:var(--md-variant)}
.place-card-points li{display:flex;align-items:center;gap:7px}.place-card-points li span{display:grid;place-items:center;height:22px;width:22px;border-radius:50%;background:var(--md-primary);color:var(--md-on-primary);font-size:12px}
.hero-slideshow .hero-place-card :where(a,button):focus-visible{outline-color:var(--md-primary);box-shadow:0 0 0 4px #205b881a}
.hero-slideshow .slider-bottom{left:40px;right:40px;bottom:24px}.hero-slideshow .slider-caption,.hero-slideshow .slider-disclosure{color:#f6fbff;text-shadow:0 1px 5px #10273b80}
.hero-slideshow .slider-controls{background:#14354e8c;border-color:#ffffff45}
@media(min-width:1600px){.hero-slideshow .hero-place-card{margin-left:64px;margin-block:52px 110px;width:620px;padding:44px}.hero-slideshow .hero-place-card h1{font-size:48px}.hero-slideshow .slider-bottom{left:64px;right:48px}}
@media(max-width:1150px){.hero-slideshow .hero-place-card{width:58%;margin-left:28px;padding:32px}.hero-slideshow .hero-place-card h1{font-size:40px}.hero-slideshow .hero-place-card>p{font-size:16px}.place-card-points{gap:12px}.hero-slideshow .slider-bottom{left:28px;right:28px}}
@media(max-width:850px){.hero-slideshow{min-height:0}.hero-slideshow .hero-place-card{width:70%;margin:32px 0 140px 24px;padding:32px;border-radius:32px 52px 32px 32px}.hero-slideshow .hero-place-card h1{font-size:38px}.hero-slideshow .hero-place-card .postcode-form>div{flex-wrap:wrap}.hero-slideshow .hero-place-card .postcode-form input{flex:1 1 100%;width:100%}.hero-slideshow .hero-place-card .postcode-form button{width:100%;justify-content:center}.hero-slideshow .slider-bottom{left:24px;right:24px}.place-card-points{font-size:12px;gap:12px}}
@media(max-width:600px){.hero-slideshow{display:block;background:var(--md-container);padding-top:1px;border-radius:24px}.hero-slideshow .hero-slides,.hero-slideshow .hero-shade{height:340px;bottom:auto}.hero-slideshow .hero-slide img{object-position:center center}.hero-slideshow .hero-place-card{width:auto;max-width:none;margin:220px 12px 144px;padding:28px 22px;border-radius:28px 44px 28px 28px;box-shadow:var(--md-shadow-2)}.hero-slideshow .hero-place-card .eyebrow{font-size:10px;line-height:1.5;margin-bottom:16px}.hero-slideshow .hero-place-card h1{font-size:34px;line-height:1.15;margin-bottom:18px}.hero-slideshow .hero-place-card>p{font-size:16px;margin-bottom:20px}.place-card-actions{gap:10px}.place-card-actions .button{font-size:14px;padding:12px 18px;gap:12px;justify-content:center;flex:1 1 auto}.hero-slideshow .hero-place-card .postcode-form{margin-top:22px}.hero-slideshow .hero-place-card .postcode-form input{height:56px;font-size:16px}.hero-slideshow .hero-place-card .postcode-form button{min-height:48px;font-size:14px}.hero-slideshow .hero-place-card .postcode-form small{font-size:12px}.hero-slideshow .hero-place-card .audience-links{align-items:stretch;font-size:14px;margin-top:14px}.hero-slideshow .hero-place-card .audience-links a{justify-content:flex-start;padding:10px 4px;margin-left:0;gap:10px}.hero-slideshow .hero-place-card .audience-links span{margin-left:auto}.place-card-points{display:grid;gap:10px;font-size:12px;padding-top:18px;margin-top:14px}.hero-slideshow .slider-bottom{left:12px;right:12px;bottom:20px}.hero-slideshow .slider-caption,.hero-slideshow .slider-disclosure{color:var(--md-variant);text-shadow:none}.hero-slideshow .slider-controls{background:var(--md-primary);border:0}}
/* Photography-led service cards. The complete card remains a single link. */
.service-grid .service-card{display:flex;flex-direction:column;gap:24px;padding:24px;min-height:0}
.service-card-photo{display:block;overflow:hidden;border-radius:24px;background:var(--md-low);aspect-ratio:16/10;width:100%;flex-shrink:0}
.service-card-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s var(--md-ease)}
.service-card:hover .service-card-photo img{transform:scale(1.04)}
.service-card-content{display:flex;flex:1;flex-direction:column;padding:0 4px 4px}
.service-card .service-card-content h3{font-size:24px;line-height:1.3;margin:0 0 16px;min-height:62px}
.service-card .service-card-content p{font-size:16px;line-height:1.6;margin:0 0 24px;min-height:0;flex:1}
.service-card .service-card-content .text-link{display:flex;align-items:center;justify-content:space-between;border:0;border-radius:9999px;background:var(--md-primary);color:var(--md-on-primary);padding:8px 8px 8px 20px;min-height:48px;width:100%;font-size:14px;font-weight:500;gap:16px}
.service-card:hover .service-card-content .text-link{padding-left:20px;background:var(--md-primary);box-shadow:var(--md-shadow-2)}
.service-card .service-card-content .text-link b{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:var(--md-secondary-container);color:var(--md-primary);font-size:18px;font-weight:400}
.service-image-note{font-size:12px;line-height:1.5;color:var(--md-variant);margin:0 0 18px}
@media(max-width:600px){.service-grid .service-card{padding:20px;gap:24px}.service-card-photo{border-radius:20px}.service-card .service-card-content h3{min-height:0;font-size:24px}.service-card-content{padding-inline:4px}.service-card .service-card-content p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.service-card:hover .service-card-photo img{transform:none}}
.service-context{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;padding-bottom:16px;align-items:start}
.service-context h2{font-size:40px;max-width:520px}.service-context p{font-size:18px;line-height:1.7;margin-bottom:20px}
@media(max-width:850px){.service-context{grid-template-columns:1fr;gap:12px}.service-context h2{max-width:650px;font-size:36px}.service-context p{font-size:16px}}
/* Header colours sampled from the supplied logo artwork. */
:root{--brand-navy:#02122c;--brand-gold:#e1ac4c}
header{background:var(--brand-navy);color:#fff;border-bottom-color:#ffffff1a}
header .brand-image{background:var(--brand-navy);box-shadow:none}
header nav a,header .header-phone,header .menu{color:#fff}
header nav a:hover,header .header-phone:hover,header .menu:hover{background:#ffffff14;color:#fff}
header nav a[aria-current=page]{background:#ffffff1f;color:#fff}
header .button,header .button:hover,header .button.small,header .button.small:hover{background:var(--brand-gold);color:var(--brand-navy)}
header :where(a,button):focus-visible{outline-color:var(--brand-gold);box-shadow:0 0 0 4px #e1ac4c26}
@media(max-width:850px){header nav{background:var(--brand-navy);color:#fff}}
@media(max-width:1150px){header nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:8px;padding:20px;background:var(--brand-navy);color:#fff;border-radius:0 0 28px 28px;box-shadow:var(--md-shadow-3)}header nav.open{display:flex}header nav a{font-size:16px;padding:12px 20px}header .menu{display:block}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.button:active,.service-card:hover,.service-card:active,.service-card.s2,.service-card.s2:hover,.service-card.s2:active,.steps>div:hover span,.service-visual:hover img{transform:none!important}}
