:root{--blue:#49677d;--navy:#172026;--sky:#eceeea;--red:#d83935;--line:#d8d9d4;--stone:#f4f3ef;--warm:#ded9cf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);font:16px/1.55 Arial,sans-serif;background:var(--stone)}a{text-decoration:none;color:inherit}.site-header{height:94px;padding:0 4vw;background:#fff;display:grid;grid-template-columns:245px 1fr auto auto;gap:30px;align-items:center;border-bottom:1px solid var(--line)}.brand img,.site-footer img{width:190px;height:auto;display:block}.desktop-nav{display:flex;justify-content:center;gap:28px;font-size:14px}.status{font-size:12px}.status i,.final-cta i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#6d8171;margin-right:7px}.phone-cta{background:var(--navy);color:#fff;padding:12px 18px;border-radius:7px;font-weight:bold}.phone-cta small{display:block;font-size:10px;color:#b7c0c4}.menu-toggle,.mobile-nav{display:none}.hero{min-height:720px;position:relative;padding:80px 5vw;overflow:hidden}.backdrop{position:absolute;inset:0}.backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#eeefeb 0%,rgba(238,239,235,.94) 45%,rgba(238,239,235,.12) 78%)}.backdrop img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(.96)}.hero-copy{position:relative;max-width:760px}.hero-copy p,.section-head p,.quote>div>p,.coverage>p,.side>p,.gallery-head p{font-weight:bold;color:var(--blue);text-transform:uppercase;letter-spacing:.14em;font-size:12px}.hero h1{font-size:clamp(50px,5.4vw,86px);line-height:.96;letter-spacing:-.052em;margin:17px 0;max-width:820px}.hero-copy>span{font-size:19px;max-width:600px;display:block}.selector{position:relative;margin-top:42px;background:rgba(255,255,255,.97);padding:18px;border-radius:16px;box-shadow:0 24px 70px rgba(27,35,39,.13);max-width:950px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.service-grid a{min-height:62px;border:1px solid var(--line);background:#fff;border-radius:7px;padding:10px;font-weight:bold;display:grid;place-items:center;text-align:center}.service-grid a:hover{background:var(--sky);border-color:var(--blue);color:#29495e}.selection{margin-top:12px;background:var(--navy);color:#fff;border-radius:9px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.selection>span{font-size:11px;color:#aeb8bd}.selection div{display:flex;gap:8px}.selection a{padding:10px 14px;border-radius:6px;background:#516f83}.selection a+a{background:#e5e1d8;color:var(--navy)}.selector>small{display:block;margin-top:9px;color:#626a6d}.signals{display:grid;grid-template-columns:repeat(4,1fr);padding:0 5vw;background:#fff}.signals div{padding:28px;border-right:1px solid var(--line)}.signals b,.signals span{display:block}.signals span{font-size:13px;color:#6d777b}.work-gallery{padding:110px 6vw;display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:280px;gap:12px;background:#fff}.gallery-head{grid-column:1/3;padding:10px 7vw 30px 0}.gallery-head h2,.side h2,.section-head h2,.quote h2,.coverage h2,.faq h2,.final-cta h2{font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.045em;margin:16px 0 30px}.gallery-head>span{color:#667176}.work-gallery figure{position:relative;margin:0;overflow:hidden;border-radius:10px;background:#ddd}.work-gallery figure.wide{grid-column:1/3}.work-gallery figure.portrait{grid-row:span 2}.work-gallery img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78);transition:transform .5s ease,filter .5s ease}.work-gallery figure:hover img{transform:scale(1.025);filter:saturate(.95)}.work-gallery figcaption{position:absolute;left:12px;right:12px;bottom:12px;padding:13px 15px;background:rgba(255,255,255,.93);border-radius:7px;display:flex;justify-content:space-between;gap:12px}.work-gallery figcaption b{font-size:14px}.work-gallery figcaption span{font-size:12px;color:#667176}.process,.quote{padding:100px 6vw;display:grid;grid-template-columns:1fr 1.3fr;gap:8vw}.side>a{color:#385d75;font-weight:bold}.steps{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--line)}.steps article{padding:30px;display:grid;grid-template-columns:50px 1fr;gap:20px;border-bottom:1px solid var(--line)}.steps article:last-child{border:0}.steps article>span{display:grid;place-items:center;background:var(--sky);color:#365971;height:42px;border-radius:8px;font-weight:bold}.steps h3{margin:0;font-size:22px}.rooms{padding:100px 6vw;background:var(--navy);color:#fff}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:45px}.room-grid a{min-height:160px;background:#202b31;border:1px solid #39454b;border-radius:12px;padding:25px;display:flex;flex-direction:column;justify-content:flex-end;transition:.2s}.room-grid a:hover{background:#314652;transform:translateY(-3px)}.room-grid b{font-size:24px}.room-grid span{color:#b8c1c4}.quote{background:#e6e8e4}.quote-card{background:#fff;border-radius:14px;padding:34px;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.quote-card b{font-size:26px}.quote-card a{display:block;background:var(--navy);color:#fff;text-align:center;padding:15px;border-radius:7px;margin-top:12px;font-weight:bold}.quote-card a.secondary{background:#e8ecee;color:var(--navy)}.coverage{padding:110px 6vw;background:#3f5968;color:#fff}.coverage>p{color:#d9d3c7}.coverage div{font-size:21px;display:flex;flex-wrap:wrap;align-items:center;gap:18px}.coverage i{width:5px;height:5px;background:#d9d3c7;border-radius:50%}.faq{padding:100px 18vw}.faq details{background:#fff;padding:22px;margin:8px 0;border-radius:8px;border:1px solid var(--line)}.faq summary{font-weight:bold;cursor:pointer;font-size:18px}.final-cta{text-align:center;padding:110px 20px;background:var(--warm)}.final-cta h2{font-size:clamp(54px,8vw,110px)}.final-cta>a{display:inline-block;background:var(--navy);color:#fff;padding:16px 22px;border-radius:7px;font-weight:bold}.site-footer{padding:40px 5vw;display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:25px;background:#fff;font-size:13px}.sticky{display:none}.plain-page{padding:80px 6vw}.content-wrap{max-width:900px;margin:auto}
@media(max-width:850px){.site-header{grid-template-columns:1fr auto;height:80px;padding:0 18px}.brand img{width:155px}.desktop-nav,.status,.phone-cta{display:none}.menu-toggle{display:block;border:0;background:#fff;font-weight:bold}.mobile-nav.open{display:flex;position:absolute;z-index:20;top:80px;left:0;right:0;padding:22px;background:#fff;flex-direction:column;gap:18px}.hero{padding:55px 18px;min-height:800px}.backdrop:after{background:linear-gradient(#eeefeb 0%,rgba(238,239,235,.96) 64%,rgba(238,239,235,.2))}.hero h1{font-size:50px}.service-grid{grid-template-columns:1fr 1fr}.selection{grid-template-columns:1fr}.selection div{display:grid;grid-template-columns:1fr 1fr}.selection a{text-align:center}.signals{grid-template-columns:1fr 1fr;padding:0}.work-gallery{padding:70px 18px;grid-template-columns:1fr 1fr;grid-auto-rows:230px}.gallery-head{grid-column:1/-1;padding:0 0 25px}.work-gallery figure.wide{grid-column:1/-1}.work-gallery figure.portrait{grid-row:span 1}.work-gallery figcaption{display:block}.work-gallery figcaption span{display:block;margin-top:3px}.process,.quote{grid-template-columns:1fr;padding:70px 18px}.room-grid{grid-template-columns:1fr 1fr}.rooms,.coverage{padding:70px 18px}.faq{padding:70px 18px}.final-cta{padding:85px 18px 110px}.site-footer{grid-template-columns:1fr;padding:35px 18px 100px}.sticky{position:fixed;z-index:30;display:grid;grid-template-columns:1fr 1fr;left:10px;right:10px;bottom:10px;background:var(--navy);padding:5px;border-radius:9px}.sticky a{padding:13px 8px;text-align:center;color:#fff}.sticky a+a{background:#e5e1d8;color:var(--navy);border-radius:6px}}

/* Hero refinement: clearer real-work photography and calmer type scale. */
.backdrop img{object-position:55% center}
.hero h1{font-size:clamp(42px,3.8vw,64px);line-height:1.01;letter-spacing:-.045em;max-width:690px}
@media(max-width:850px){.backdrop img{object-position:62% center}.hero h1{font-size:42px}}

/* Premium split hero: keep the copy calm and the photography crisp. */
.hero{background:#f1f1ed}
.backdrop{left:48%}
.backdrop:after{background:linear-gradient(90deg,#f1f1ed 0%,rgba(241,241,237,.82) 7%,rgba(241,241,237,0) 28%)}
.backdrop img{filter:saturate(.88) contrast(1.04);object-position:55% center}
.hero-copy{max-width:660px}
@media(max-width:850px){.backdrop{left:0;top:48%;opacity:.42}.backdrop:after{background:linear-gradient(180deg,#f1f1ed 0%,rgba(241,241,237,.45) 30%,rgba(241,241,237,.08) 100%)}.backdrop img{object-position:62% center;filter:saturate(.82) contrast(1.04)}.hero-copy{max-width:620px}}

/* Branded London arrival hero. */
.backdrop{left:0}
.backdrop:after{background:linear-gradient(90deg,#f1f1ed 0%,rgba(241,241,237,.98) 31%,rgba(241,241,237,.72) 43%,rgba(241,241,237,0) 61%)}
.backdrop img{filter:none;object-position:center center}
@media(max-width:850px){.backdrop{left:0;top:45%;opacity:.48}.backdrop:after{background:linear-gradient(180deg,#f1f1ed 0%,rgba(241,241,237,.65) 28%,rgba(241,241,237,.08) 100%)}.backdrop img{filter:none;object-position:64% center}}

/* Keep the vehicle branding outside the readability fade. */
.backdrop:after{background:linear-gradient(90deg,#f1f1ed 0%,rgba(241,241,237,.98) 30%,rgba(241,241,237,.64) 38%,rgba(241,241,237,0) 47%)}
@media(max-width:850px){.backdrop:after{background:linear-gradient(180deg,#f1f1ed 0%,rgba(241,241,237,.65) 28%,rgba(241,241,237,.08) 100%)}}

/* Keep reCAPTCHA protection without the floating badge covering the interface. */
.grecaptcha-badge{visibility:hidden!important}
.recaptcha-notice{grid-column:1/-1;margin:20px 0 0;color:#687278;font-size:11px;line-height:1.5}
.recaptcha-notice a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:700px){.recaptcha-notice{margin-top:10px;font-size:10px}}

/* Local Answers pilot: reusable presentation, authored per-area content. */
.geo-local-answers{padding-block:42px 86px}.geo-local-answers-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px 40px;margin-bottom:30px;padding-bottom:27px;border-bottom:1px solid #d1d2cd}.geo-local-answers-head .service-kicker{grid-column:1/-1;margin-bottom:0}.geo-local-answers-head h2{max-width:820px;margin:0;font-size:clamp(36px,4vw,58px);line-height:1;letter-spacing:-.045em}.geo-local-answers-head>span{padding-bottom:4px;color:#53646d;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.geo-local-answer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.geo-local-answer-grid article{min-height:238px;padding:27px;border:1px solid #d8d9d4;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(21,33,41,.055)}.geo-local-answer-grid article:before{content:"";display:block;width:30px;height:3px;margin-bottom:24px;border-radius:2px;background:#d83935}.geo-local-answer-grid h3{margin:0 0 17px;font-size:21px;line-height:1.18;letter-spacing:-.025em}.geo-local-answer-grid p{margin:0;color:#53636b;font-size:15px;line-height:1.68}
@media(max-width:900px){.geo-local-answers{padding-block:34px 70px}.geo-local-answers-head{grid-template-columns:1fr}.geo-local-answers-head>span{padding:0}.geo-local-answer-grid{grid-template-columns:1fr}.geo-local-answer-grid article{min-height:0;padding:24px}}

/* Homepage visit-planning section: useful contexts instead of repeated service links. */
.visit-planner{position:relative;padding:110px 6vw 86px;overflow:hidden;background:#111c22;color:#fff}.visit-planner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 86% 18%,rgba(37,79,155,.23),transparent 28%),linear-gradient(115deg,rgba(255,255,255,.025),transparent 42%);pointer-events:none}.visit-planner-head,.visit-scenarios,.visit-planner-foot{position:relative}.visit-planner-head{display:grid;grid-template-columns:.62fr 1.15fr .8fr;gap:4vw;align-items:start;padding-bottom:65px}.visit-planner-head>p{margin:9px 0 0;color:#9cabb2;font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.visit-planner-head>p:before{content:"";display:inline-block;width:27px;height:2px;margin:0 11px 3px 0;background:#df403c}.visit-planner-head h2{max-width:650px;margin:0;font-size:clamp(48px,5.7vw,88px);font-weight:600;line-height:.93;letter-spacing:-.055em}.visit-planner-head>div{padding:8px 0 0 30px;border-left:1px solid rgba(255,255,255,.15)}.visit-planner-head>div span{display:block;color:#c2cdd1;font-size:16px;line-height:1.7}.visit-planner-head a{display:inline-flex;align-items:center;gap:18px;margin-top:26px;font-weight:800}.visit-planner-head a b{display:grid;width:31px;height:31px;place-items:center;border-radius:50%;background:#254f9b}.visit-scenarios{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.visit-scenarios article{min-height:360px;padding:34px 34px 30px;border-right:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent);transition:background .3s ease,transform .3s ease}.visit-scenarios article:last-child{border-right:0}.visit-scenarios article:hover{background:rgba(37,79,155,.13);transform:translateY(-5px)}.visit-scenarios small{color:#e14a45;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.visit-scenarios h3{max-width:330px;margin:70px 0 18px;font-size:clamp(27px,2.5vw,39px);font-weight:600;line-height:1.05;letter-spacing:-.035em}.visit-scenarios p{max-width:420px;margin:0;color:#bac6cb;font-size:15px;line-height:1.72}.visit-scenarios span{display:block;margin-top:25px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);color:#84959d;font-size:12px;line-height:1.5}.visit-planner-foot{display:flex;align-items:center;justify-content:center;gap:18px;padding-top:30px;color:#8fa0a8;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.visit-planner-foot strong{color:#fff}.visit-planner-foot i{width:4px;height:4px;border-radius:50%;background:#df403c}
@media(max-width:900px){.visit-planner{padding:78px 20px 65px}.visit-planner-head{grid-template-columns:1fr;gap:24px;padding-bottom:45px}.visit-planner-head>div{padding:24px 0 0;border-top:1px solid rgba(255,255,255,.15);border-left:0}.visit-scenarios{grid-template-columns:1fr}.visit-scenarios article{min-height:0;padding:30px 22px;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.visit-scenarios article:last-child{border-bottom:0}.visit-scenarios h3{margin:32px 0 15px}.visit-planner-foot{justify-content:flex-start;flex-wrap:wrap}}

/* Final global chrome overrides. */
.site-header{position:sticky;top:0;z-index:1000;width:100%;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(23,32,38,.08)}
body.admin-bar .site-header{top:32px}.services-mega{position:fixed;top:94px;z-index:999}body.admin-bar .services-mega{top:126px}
.site-footer{background:linear-gradient(135deg,#f1e8dc 0%,#e8d8c5 52%,#dcc2a5 100%)}.site-footer:before{background:rgba(111,74,43,.24)}.footer-brand p,.footer-contact span{color:#5f554c}.footer-services>p,.footer-contact>p,.footer-call>p{color:#76583e}.footer-services a,.footer-quick a{color:#2d2a27}.footer-base{border-color:rgba(111,74,43,.24)}.floating-call{display:none}
@media(max-width:850px){
 body.admin-bar .site-header{top:46px}.site-header{height:76px;padding:0 16px;grid-template-columns:1fr auto}.brand img{width:150px}
 .menu-toggle{position:relative;display:flex;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:#172026;box-shadow:0 10px 24px rgba(23,32,38,.18)}.menu-toggle:before{display:none;content:none}.menu-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:#fff;transition:transform .25s ease,opacity .2s ease}.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .mobile-nav{position:fixed;z-index:998;inset:76px 0 0;display:flex;flex-direction:column;gap:0;padding:0 18px 32px;overflow-y:auto;background:#152129;color:#fff;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-15px);transition:opacity .25s ease,transform .3s ease,visibility .3s}body.admin-bar .mobile-nav{top:122px}.mobile-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}body.mobile-menu-open{overflow:hidden}
 .mobile-nav-head{display:flex;align-items:center;justify-content:space-between;min-height:72px;border-bottom:1px solid rgba(255,255,255,.12);color:#9eabb2;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.mobile-nav-head button{width:38px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:transparent;color:#fff;font-size:25px;line-height:1}
 .mobile-services-toggle{display:grid;grid-template-columns:1fr auto;gap:4px 20px;width:100%;padding:24px 2px;border:0;border-bottom:1px solid rgba(255,255,255,.14);background:transparent;color:#fff;text-align:left}.mobile-services-toggle span{font-size:27px;font-weight:750;letter-spacing:-.03em}.mobile-services-toggle i{grid-column:1;color:#94a5ad;font-size:10px;font-style:normal;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.mobile-services-toggle b{grid-column:2;grid-row:1/3;align-self:center;color:#e04742;font-size:26px;font-weight:400;transition:transform .25s ease}.mobile-services-toggle.is-open b{transform:rotate(45deg)}
 .mobile-services-list{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:6px 0 20px;border-bottom:1px solid rgba(255,255,255,.14)}.mobile-services-list[hidden]{display:none}.mobile-services-list a{padding:13px 2px;border-bottom:1px solid rgba(255,255,255,.08);color:#dce3e6;font-size:13px;font-weight:650}
 .mobile-main-links{display:grid}.mobile-main-links a{display:flex;align-items:center;justify-content:space-between;padding:18px 2px;border-bottom:1px solid rgba(255,255,255,.12);font-size:18px;font-weight:700}.mobile-main-links a span{color:#e04742}.mobile-nav-call{display:block;margin-top:24px;padding:17px 19px;border-radius:11px;background:#254f9b;color:#fff}.mobile-nav-call small,.mobile-nav-call strong{display:block}.mobile-nav-call small{margin-bottom:3px;color:#c8d6ed;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.mobile-nav-call strong{font-size:23px}
 .site-footer{padding-bottom:70px}.sticky{display:none!important}.floating-call{position:fixed;z-index:950;right:18px;bottom:18px;display:block}.floating-call a{position:relative;display:grid;width:62px;height:62px;place-items:center;border:2px solid rgba(255,255,255,.88);border-radius:50%;background:linear-gradient(145deg,#315fae,#193f82);color:#fff;box-shadow:0 16px 38px rgba(20,45,82,.35);transition:transform .2s ease}.floating-call a:before{content:"";position:absolute;inset:-7px;border:1px solid rgba(37,79,155,.25);border-radius:50%;animation:call-pulse 2.4s ease-out infinite}.floating-call svg{width:27px;height:27px;fill:currentColor}.floating-call span{position:absolute;right:72px;padding:8px 11px;border-radius:7px;background:#172026;color:#fff;font-size:11px;font-weight:800;white-space:nowrap;opacity:0;transform:translateX(6px);transition:.2s}.floating-call a:hover span{opacity:1;transform:none}.zone-nav,.prices-jump{top:76px}
}
@media(max-width:782px){body.admin-bar .site-header{top:46px}body.admin-bar .mobile-nav{top:122px}}@media(max-width:600px){body.admin-bar .site-header{top:0}body.admin-bar .mobile-nav{top:76px}}

/* About and Contact: premium company pages. */
.company-page{--ink:#172026;--blue:#254f9b;--red:#d83935;--stone:#f3f2ed;color:var(--ink);background:#fff}.company-shell{width:min(1240px,calc(100% - 48px));margin-inline:auto}.company-kicker{margin:0 0 18px;color:#aebac0;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.company-kicker:before{content:"";display:inline-block;width:28px;height:2px;margin:0 11px 3px 0;background:var(--red)}.company-kicker.dark{color:#52626a}.company-hero{position:relative;overflow:hidden;padding:clamp(90px,10vw,155px) 0;background:var(--ink);color:#fff}.company-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 28%,rgba(37,79,155,.3),transparent 31%),linear-gradient(115deg,rgba(255,255,255,.035),transparent 48%);pointer-events:none}.company-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(350px,.65fr);gap:clamp(50px,8vw,130px);align-items:center}.company-hero h1{max-width:790px;margin:0 0 28px;color:#fff;font-size:clamp(56px,6.4vw,102px);font-weight:600;line-height:.94;letter-spacing:-.055em}.company-lede{max-width:720px;margin:0;color:#d4dbde;font-size:19px;line-height:1.72}.company-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.company-actions a{display:inline-flex;align-items:center;min-height:51px;padding:14px 20px;border:1px solid rgba(255,255,255,.2);border-radius:9px;color:#fff;font-size:14px;font-weight:750;transition:.25s}.company-actions a:first-child{border-color:var(--blue);background:var(--blue)}.company-actions a:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.contact-direct{padding:35px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.06);box-shadow:0 25px 60px rgba(0,0,0,.16);backdrop-filter:blur(12px)}.contact-direct>span{display:block;margin-bottom:12px;color:#9fadb4;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.contact-direct>strong{display:block;margin-bottom:22px;font-size:28px;line-height:1.15}.contact-direct>a{display:block;margin-bottom:29px;color:#fff;font-size:clamp(26px,2.4vw,38px);font-weight:800;letter-spacing:-.035em}.contact-direct dl{margin:0}.contact-direct dl div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid rgba(255,255,255,.12)}.contact-direct dt{color:#96a5ac;font-size:12px}.contact-direct dd{margin:0;color:#fff;font-size:13px;font-weight:700;text-align:right}
.contact-workspace{display:grid;grid-template-columns:minmax(290px,.7fr) minmax(0,1.3fr);gap:clamp(45px,7vw,100px);padding-top:105px;padding-bottom:110px}.contact-prep h2,.contact-form-card h2,.about-intro h2,.about-audiences h2{margin:0 0 24px;font-size:clamp(38px,4vw,62px);line-height:1;letter-spacing:-.045em}.contact-prep>p{color:#56646a;line-height:1.7}.contact-prep ul{margin:34px 0;padding:0;list-style:none}.contact-prep li{display:grid;gap:6px;padding:17px 0;border-top:1px solid #d8dcd9}.contact-prep li b{font-size:16px}.contact-prep li span{color:#68767c;font-size:14px;line-height:1.5}.contact-callout{margin-top:35px;padding:24px;border-radius:14px;background:var(--ink);color:#fff}.contact-callout small,.contact-callout strong{display:block}.contact-callout small{color:#9eabb2;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.contact-callout strong{margin:8px 0 18px;font-size:20px}.contact-callout a{color:#fff;font-weight:750}.contact-form-card{padding:clamp(28px,4vw,55px);border:1px solid #dfe1dd;border-radius:22px;background:#f8f8f5;box-shadow:0 28px 75px rgba(23,32,38,.1)}.contact-form-card>p{color:#58666c;line-height:1.65}.preserved-form{margin-top:32px}.preserved-form .gform_heading{display:none}.preserved-form .gform_fields{gap:18px!important}.preserved-form label,.preserved-form .gfield_label{color:var(--ink)!important;font-size:14px!important;font-weight:750!important}.preserved-form input:not([type=checkbox]),.preserved-form select,.preserved-form textarea{min-height:52px!important;padding:12px 14px!important;border:1px solid #cfd4d1!important;border-radius:8px!important;background:#fff!important;color:var(--ink)!important;font-size:16px!important;box-shadow:none!important}.preserved-form textarea{min-height:155px!important}.preserved-form input:focus,.preserved-form select:focus,.preserved-form textarea:focus{outline:3px solid rgba(37,79,155,.17)!important;border-color:var(--blue)!important}.preserved-form .gform_button{min-height:52px!important;padding:14px 22px!important;border:0!important;border-radius:8px!important;background:var(--blue)!important;color:#fff!important;font-size:14px!important;font-weight:800!important;cursor:pointer!important}.preserved-form .gfield_description,.preserved-form .gform_required_legend{font-size:12px!important;line-height:1.5!important}.contact-next{padding:90px 0;background:var(--ink);color:#fff}.contact-next>.company-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.contact-next h2,.about-section-head h2,.about-london h2,.company-final h2{margin:0;font-size:clamp(42px,4.8vw,74px);line-height:.98;letter-spacing:-.05em}.contact-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.contact-steps article{padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.035)}.contact-steps b{display:block;margin-bottom:13px;font-size:18px}.contact-steps p{margin:0;color:#b9c3c8;font-size:14px;line-height:1.65}.company-faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;padding-top:105px;padding-bottom:105px}.company-faq h2{margin:0;font-size:clamp(42px,4vw,65px);line-height:1}.company-faq details{border-bottom:1px solid #d5d9d6}.company-faq summary{padding:22px 5px;font-size:17px;font-weight:750;cursor:pointer}.company-faq details p{padding:0 5px 22px;color:#55646a;line-height:1.7}.company-final{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;padding:90px max(24px,7vw);background:#233445;color:#fff}.company-final>div:first-child{max-width:800px}.company-final p:not(.company-kicker){max-width:620px;color:#c5cdd1;line-height:1.7}
.about-mark{padding:40px;border:1px solid rgba(255,255,255,.15);border-radius:24px;background:rgba(255,255,255,.055)}.about-mark>span{display:block;margin-bottom:25px;color:#a8b5bb;font-size:10px;font-weight:800;letter-spacing:.18em}.about-mark strong{display:block;font-size:clamp(48px,5vw,75px);font-weight:600;line-height:.9;letter-spacing:-.055em}.about-mark em{color:#ee4744;font-style:normal}.about-mark p{margin:26px 0 0;color:#b9c3c8}.about-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;padding-top:115px;padding-bottom:115px}.about-intro>div:last-child{padding-top:38px;border-top:1px solid #cfd4d1}.about-intro>div:last-child p{margin:0 0 22px;color:#49595f;font-size:18px;line-height:1.75}.about-principles{padding:105px 0;background:var(--ink);color:#fff}.about-section-head{display:grid;grid-template-columns:.6fr 1.4fr;gap:6vw;margin-bottom:65px}.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.principle-grid article{min-height:290px;padding:30px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015))}.principle-grid span{color:#71828a;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.principle-grid h3{margin:70px 0 16px;font-size:23px}.principle-grid p{margin:0;color:#bac4c9;font-size:15px;line-height:1.7}.about-audiences{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;padding-top:110px;padding-bottom:110px}.audience-grid{display:grid;gap:12px}.audience-grid article{padding:29px 30px;border:1px solid #d8dcda;border-radius:14px;background:#f7f7f4}.audience-grid h3{margin:0 0 8px;font-size:23px}.audience-grid p{margin:0;color:#58676d;line-height:1.65}.about-london{padding:110px 0;background:#233445;color:#fff}.about-london>.company-shell{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.about-london p:not(.company-kicker){color:#c3ccd0;font-size:17px;line-height:1.75}.about-london a{display:inline-flex;margin-top:18px;padding:13px 17px;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-weight:750}.about-london ol{margin:0;padding:0;list-style:none;counter-reset:steps}.about-london li{position:relative;padding:23px 15px 23px 60px;border-bottom:1px solid rgba(255,255,255,.13);counter-increment:steps}.about-london li:before{content:counter(steps);position:absolute;left:5px;top:20px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--blue);font-size:12px;font-weight:800}.about-london li b,.about-london li span{display:block}.about-london li b{margin-bottom:6px;font-size:18px}.about-london li span{color:#b8c3c8;font-size:14px;line-height:1.5}.desktop-nav a[aria-current=page]{color:var(--blue,#254f9b)}.desktop-nav a[aria-current=page]:after{right:0}
@media(max-width:1000px){.company-hero-grid{grid-template-columns:1fr}.contact-direct{max-width:600px}.principle-grid{grid-template-columns:repeat(2,1fr)}.contact-next>.company-shell,.company-faq,.about-intro,.about-audiences,.about-london>.company-shell{grid-template-columns:1fr}.contact-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.company-shell{width:min(100% - 32px,1240px)}.company-hero{padding:76px 0}.company-hero h1{font-size:48px}.company-lede{font-size:17px}.company-actions{flex-direction:column;align-items:stretch}.company-actions a{justify-content:center}.contact-workspace{grid-template-columns:1fr;padding-top:70px;padding-bottom:75px}.contact-next{padding:70px 0}.contact-next>.company-shell{grid-template-columns:1fr}.contact-steps{grid-template-columns:1fr}.company-faq{padding-top:75px;padding-bottom:75px}.company-final{align-items:stretch;flex-direction:column;padding:70px 18px}.about-intro,.about-principles,.about-audiences,.about-london{padding-top:75px;padding-bottom:75px}.about-section-head{grid-template-columns:1fr}.principle-grid{grid-template-columns:1fr}.principle-grid article{min-height:230px}.principle-grid h3{margin-top:45px}.contact-form-card{padding:24px 18px}.preserved-form .gform_fields{grid-template-columns:1fr!important}}

/* Contact form: remove the legacy editor columns and use the full premium card. */
.preserved-form>.wp-block-columns{display:block!important}
.preserved-form>.wp-block-columns>.wp-block-column{width:100%!important;max-width:none!important;flex-basis:100%!important}
.preserved-form .gform_wrapper{width:100%!important;max-width:none!important}
.preserved-form input:not([type=checkbox]),.preserved-form select,.preserved-form textarea{width:100%!important;min-height:58px!important;padding:14px 16px!important}

/* Global sticky navigation, warm copper footer and compact mobile call action. */
.site-header{position:sticky;top:0;z-index:1000;width:100%;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(23,32,38,.08)}
body.admin-bar .site-header{top:32px}
.services-mega{position:fixed;top:94px;z-index:999}
body.admin-bar .services-mega{top:126px}
.site-footer{background:linear-gradient(135deg,#f1e8dc 0%,#e8d8c5 52%,#dcc2a5 100%)}
.site-footer:before{background:rgba(111,74,43,.24)}
.footer-brand p,.footer-contact span{color:#5f554c}.footer-services>p,.footer-contact>p,.footer-call>p{color:#76583e}.footer-services a,.footer-quick a{color:#2d2a27}.footer-base{border-color:rgba(111,74,43,.24)}
.floating-call{display:none}

@media(max-width:850px){
	body.admin-bar .site-header{top:46px}
	.site-header{height:76px;padding:0 16px;grid-template-columns:1fr auto}
	.brand img{width:150px}
	.menu-toggle{position:relative;display:flex;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:#172026;box-shadow:0 10px 24px rgba(23,32,38,.18)}
	.menu-toggle:before{display:none}
	.menu-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:#fff;transition:transform .25s ease,opacity .2s ease}
	.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
	.menu-toggle.is-open span:nth-child(2){opacity:0}
	.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
	.mobile-nav{position:fixed;z-index:998;inset:76px 0 0;display:flex;flex-direction:column;gap:0;padding:0 18px 32px;overflow-y:auto;background:#152129;color:#fff;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-15px);transition:opacity .25s ease,transform .3s ease,visibility .3s}
	body.admin-bar .mobile-nav{top:122px}
	.mobile-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
	body.mobile-menu-open{overflow:hidden}
	.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;min-height:72px;border-bottom:1px solid rgba(255,255,255,.12);color:#9eabb2;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
	.mobile-nav-head button{width:38px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:transparent;color:#fff;font-size:25px;line-height:1}
	.mobile-services-toggle{display:grid;grid-template-columns:1fr auto;gap:4px 20px;width:100%;padding:24px 2px;border:0;border-bottom:1px solid rgba(255,255,255,.14);background:transparent;color:#fff;text-align:left}
	.mobile-services-toggle span{font-size:27px;font-weight:750;letter-spacing:-.03em}.mobile-services-toggle i{grid-column:1;color:#94a5ad;font-size:10px;font-style:normal;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.mobile-services-toggle b{grid-column:2;grid-row:1/3;align-self:center;color:#e04742;font-size:26px;font-weight:400;transition:transform .25s ease}.mobile-services-toggle.is-open b{transform:rotate(45deg)}
	.mobile-services-list{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:6px 0 20px;border-bottom:1px solid rgba(255,255,255,.14)}
	.mobile-services-list[hidden]{display:none}
	.mobile-services-list a{padding:13px 2px;border-bottom:1px solid rgba(255,255,255,.08);color:#dce3e6;font-size:13px;font-weight:650}
	.mobile-main-links{display:grid}.mobile-main-links a{display:flex;align-items:center;justify-content:space-between;padding:18px 2px;border-bottom:1px solid rgba(255,255,255,.12);font-size:18px;font-weight:700}.mobile-main-links a span{color:#e04742}
	.mobile-nav-call{display:block;margin-top:24px;padding:17px 19px;border-radius:11px;background:#254f9b;color:#fff}.mobile-nav-call small,.mobile-nav-call strong{display:block}.mobile-nav-call small{margin-bottom:3px;color:#c8d6ed;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.mobile-nav-call strong{font-size:23px}
	.site-footer{padding-bottom:70px}
	.sticky{display:none!important}
	.floating-call{position:fixed;z-index:950;right:18px;bottom:18px;display:block}
	.floating-call a{position:relative;display:grid;width:62px;height:62px;place-items:center;border:2px solid rgba(255,255,255,.88);border-radius:50%;background:linear-gradient(145deg,#315fae,#193f82);color:#fff;box-shadow:0 16px 38px rgba(20,45,82,.35);transition:transform .2s ease}
	.floating-call a:before{content:"";position:absolute;inset:-7px;border:1px solid rgba(37,79,155,.25);border-radius:50%;animation:call-pulse 2.4s ease-out infinite}
	.floating-call a:hover{transform:translateY(-3px)}
	.floating-call svg{width:27px;height:27px;fill:currentColor}.floating-call span{position:absolute;right:72px;padding:8px 11px;border-radius:7px;background:#172026;color:#fff;font-size:11px;font-weight:800;white-space:nowrap;opacity:0;transform:translateX(6px);transition:.2s}.floating-call a:hover span{opacity:1;transform:none}
	.zone-nav,.prices-jump{top:76px}
}
@keyframes call-pulse{0%{opacity:.7;transform:scale(.9)}70%,100%{opacity:0;transform:scale(1.22)}}
@media(prefers-reduced-motion:reduce){.floating-call a:before{animation:none}.mobile-nav,.menu-toggle span{transition:none}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}body.admin-bar .mobile-nav{top:122px}}
@media(max-width:600px){body.admin-bar .site-header{top:0}body.admin-bar .mobile-nav{top:76px}}

/* Branded 404 */
.error-page{background:#f4f3ef;color:#172026}.error-hero{min-height:610px;display:grid;grid-template-columns:minmax(360px,.82fr) 1.18fr;overflow:hidden}.error-visual{position:relative;display:grid;place-items:center;background:#172026;color:#fff;isolation:isolate}.error-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 25%,rgba(73,103,125,.55),transparent 42%),linear-gradient(140deg,transparent 35%,rgba(255,255,255,.035) 35% 55%,transparent 55%);z-index:-1}.error-code{font-size:clamp(150px,20vw,330px);font-weight:800;line-height:.8;letter-spacing:-.1em;color:rgba(255,255,255,.08);transform:translateX(-.04em)}.error-tool{position:absolute;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center;color:#fff}.error-tool-one{width:72px;height:72px;right:13%;top:15%;font-size:22px}.error-tool-two{width:42px;height:42px;left:14%;bottom:16%;font-size:11px;color:#d83935}.error-copy{padding:clamp(70px,8vw,135px) clamp(35px,8vw,145px);display:flex;flex-direction:column;justify-content:center}.error-kicker,.error-help-heading>p{margin:0 0 20px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800;color:#49677d}.error-kicker:before,.error-help-heading>p:before{content:"";display:inline-block;width:28px;height:2px;background:#d83935;margin:0 12px 3px 0}.error-copy h1{max-width:780px;margin:0;font-size:clamp(54px,6.5vw,102px);line-height:.92;letter-spacing:-.055em}.error-copy>p:not(.error-kicker){max-width:650px;margin:30px 0 0;color:#536068;font-size:18px;line-height:1.7}.error-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}.error-actions a{min-height:56px;padding:0 22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.error-primary{gap:28px;background:#172026;color:#fff}.error-primary span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#285caf}.error-secondary{border:1px solid #c9cbc8;background:#fff}.error-help{padding:100px 6vw;display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;background:#fff}.error-help-heading h2,.error-call h2{font-size:clamp(42px,5vw,76px);line-height:.96;letter-spacing:-.045em;margin:0 0 30px}.error-help-heading>a{font-weight:700;color:#285caf}.error-help-heading>a span{display:inline-grid;margin-left:9px;place-items:center;width:28px;height:28px;border-radius:50%;background:#285caf;color:#fff}.error-service-grid{border-top:1px solid #d8d9d4}.error-service-grid>a{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #d8d9d4;padding:20px 8px;transition:.2s}.error-service-grid>a:hover{padding-left:18px;background:#f4f3ef}.error-service-grid span,.error-service-grid b,.error-service-grid small{display:block}.error-service-grid b{font-size:25px}.error-service-grid small{margin-top:5px;color:#667176}.error-service-grid i{font-style:normal;display:grid;place-items:center;width:40px;height:40px;border:1px solid #aeb5b8;border-radius:50%}.error-service-grid>a:hover i{background:#285caf;border-color:#285caf;color:#fff}.error-call{padding:65px 6vw;background:#3f5968;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:40px}.error-call p{margin:0 0 8px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:#d8d2c8}.error-call h2{font-size:clamp(38px,4vw,62px);margin:0}.error-call>a{min-width:250px;padding:17px 22px;border-radius:8px;background:#172026}.error-call small,.error-call strong{display:block}.error-call small{font-size:10px;letter-spacing:.12em;color:#b7c0c4}.error-call strong{font-size:22px}
@media(max-width:850px){.error-hero{min-height:auto;grid-template-columns:1fr}.error-visual{min-height:250px}.error-code{font-size:170px}.error-copy{padding:55px 20px 70px}.error-copy h1{font-size:52px}.error-copy>p:not(.error-kicker){font-size:16px}.error-actions{display:grid}.error-actions a{width:100%}.error-help{padding:70px 20px;grid-template-columns:1fr;gap:45px}.error-service-grid b{font-size:21px}.error-service-grid>a{min-height:100px}.error-call{padding:55px 20px 95px;display:grid}.error-call>a{min-width:0}}

/* Journal archive, article pages and homepage journal */
.blog-page,.article-page{background:#f4f3ef}.blog-hero{min-height:520px;padding:105px 6vw 80px;display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;background:#172026;color:#fff;overflow:hidden}.blog-hero-copy>p,.blog-index-head p,.article-related header p,.home-journal header p{margin:0 0 20px;color:#92a7b4;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800}.blog-hero-copy>p:before,.blog-index-head p:before,.article-related header p:before,.home-journal header p:before{content:"";display:inline-block;width:28px;height:2px;margin:0 12px 3px 0;background:#d83935}.blog-hero h1{max-width:960px;margin:0;font-size:clamp(58px,7.5vw,118px);line-height:.88;letter-spacing:-.06em}.blog-hero-copy>span{display:block;max-width:650px;margin-top:35px;color:#c0c9cd;font-size:19px}.blog-hero-mark{position:relative;min-height:280px;border:1px solid #35434b;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle,rgba(73,103,125,.35),transparent 62%)}.blog-hero-mark:before,.blog-hero-mark:after{content:"";position:absolute;border:1px solid #314049;border-radius:50%}.blog-hero-mark:before{inset:10%}.blog-hero-mark:after{inset:23%}.blog-hero-mark b{font-size:clamp(85px,11vw,180px);line-height:1;letter-spacing:-.09em;color:rgba(255,255,255,.1)}.blog-hero-mark span{position:relative;margin-top:15px;text-transform:uppercase;letter-spacing:.17em;font-size:10px;color:#b5c0c5}.blog-index{padding:100px 6vw 120px}.blog-index-head{margin-bottom:50px;display:flex;justify-content:space-between;align-items:end;gap:30px}.blog-index-head h2{margin:0;font-size:clamp(48px,6vw,86px);line-height:.9;letter-spacing:-.05em}.blog-index-head>span{padding-bottom:8px;color:#667176}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px 18px}.blog-card{background:#fff;border:1px solid #d8d9d4;border-radius:12px;overflow:hidden;display:grid;grid-template-rows:260px 1fr;transition:transform .25s,box-shadow .25s}.blog-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(23,32,38,.11)}.blog-card-featured{grid-column:span 2;grid-template-columns:1.15fr .85fr;grid-template-rows:500px}.blog-card-image{display:block;overflow:hidden;background:#23343e}.blog-card-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform .45s}.blog-card:hover img{transform:scale(1.025)}.blog-image-fallback{width:100%;height:100%;display:grid;place-items:center;color:#fff;letter-spacing:.14em}.blog-card-copy{padding:28px;display:flex;flex-direction:column}.blog-meta{display:flex;align-items:center;gap:9px;color:#788185;text-transform:uppercase;font-size:10px;letter-spacing:.1em}.blog-meta i{width:4px;height:4px;border-radius:50%;background:#d83935}.blog-card h2{margin:18px 0 15px;font-size:28px;line-height:1.08;letter-spacing:-.035em}.blog-card-featured h2{font-size:40px}.blog-card p{margin:0;color:#59666d}.blog-read{margin-top:auto;padding-top:25px;font-weight:800}.blog-read b{display:inline-grid;margin-left:8px;width:27px;height:27px;place-items:center;border-radius:50%;background:#285caf;color:#fff}.blog-cta{padding:85px 6vw;display:flex;align-items:end;justify-content:space-between;gap:50px;background:#3f5968;color:#fff}.blog-cta p{margin:0 0 10px;text-transform:uppercase;letter-spacing:.17em;font-size:11px}.blog-cta h2{max-width:850px;margin:0;font-size:clamp(42px,5vw,75px);line-height:.95;letter-spacing:-.05em}.blog-cta>div:last-child{display:grid;gap:10px;min-width:240px}.blog-cta a{padding:15px 18px;border-radius:7px;text-align:center;font-weight:800;background:#172026}.blog-cta a+a{background:#fff;color:#172026}.article-hero{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;background:#172026;color:#fff}.article-heading{padding:90px 6vw 80px;display:flex;flex-direction:column;justify-content:center}.article-back{align-self:flex-start;margin-bottom:60px;color:#b7c2c7;font-size:13px}.article-heading h1{margin:25px 0;font-size:clamp(54px,6.2vw,96px);line-height:.94;letter-spacing:-.055em}.article-heading>p{max-width:720px;margin:0;color:#b9c3c7;font-size:18px}.article-image{min-height:560px;overflow:hidden;background:#2b3c46;display:grid;place-items:center}.article-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.article-image>span{font-size:70px;font-weight:900;color:rgba(255,255,255,.13);line-height:.8}.article-layout{padding:110px 8vw;display:grid;grid-template-columns:280px minmax(0,790px);gap:9vw;justify-content:center;background:#fff}.article-aside{align-self:start;position:sticky;top:130px;padding:28px;background:#f4f3ef;border:1px solid #d8d9d4;border-radius:10px}.article-aside>p{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:#49677d;font-weight:800}.article-aside h2{margin:15px 0 28px;font-size:30px;line-height:1.05}.article-aside>a{display:block;margin-top:9px;padding:13px;border-radius:7px;text-align:center;font-weight:800;background:#172026;color:#fff}.article-aside>a+a{background:#e4e8e8;color:#172026}.article-aside small{display:block;color:#aeb7bc}.article-content{font-size:18px;line-height:1.8;color:#34434b}.article-content>:first-child{margin-top:0}.article-content h2{margin:65px 0 20px;font-size:clamp(34px,4vw,52px);line-height:1.03;letter-spacing:-.04em;color:#172026}.article-content h3{margin:45px 0 15px;font-size:29px;line-height:1.1;color:#172026}.article-content a{color:#225a9f;text-decoration:underline;text-underline-offset:3px}.article-content img{max-width:100%;height:auto;border-radius:10px}.article-content ul,.article-content ol{padding-left:24px}.article-content blockquote{margin:45px 0;padding:28px 35px;border-left:3px solid #d83935;background:#f4f3ef;color:#172026;font-size:23px}.article-related{padding:90px 6vw 120px}.article-related header{display:flex;align-items:end;justify-content:space-between;margin-bottom:35px}.article-related h2{margin:0;font-size:clamp(42px,5vw,70px);line-height:.95;letter-spacing:-.045em}.article-related>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.article-related>div>a{min-height:190px;padding:26px;border:1px solid #d8d9d4;border-radius:10px;background:#fff;display:flex;flex-direction:column}.article-related span{color:#788185;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.article-related b{margin-top:18px;font-size:22px;line-height:1.12}.article-related i{margin-top:auto;align-self:flex-end;font-style:normal;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#285caf;color:#fff}.home-journal{padding:105px 6vw;background:#fff}.home-journal>header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.home-journal h2{max-width:900px;margin:0;font-size:clamp(45px,5vw,78px);line-height:.95;letter-spacing:-.05em}.home-journal>header>a{font-weight:800;color:#285caf}.home-journal>header>a b{display:inline-grid;margin-left:8px;width:29px;height:29px;place-items:center;border-radius:50%;background:#285caf;color:#fff}.home-journal>div{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.home-journal article{border-top:1px solid #cfd2d0;padding-top:14px}.home-journal-image{display:block;height:230px;overflow:hidden;border-radius:9px;background:#e7e7e3}.home-journal-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:.4s}.home-journal article:hover img{transform:scale(1.025)}.home-journal article>span{display:block;margin-top:20px;color:#788185;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.home-journal h3{margin:10px 0 22px;font-size:25px;line-height:1.1}.home-journal-read{font-weight:800;color:#285caf}
@media(max-width:980px){.blog-card-featured{grid-column:span 3}.article-hero{grid-template-columns:1fr}.article-image{min-height:480px;grid-row:1}.article-heading{grid-row:2}.article-layout{grid-template-columns:230px minmax(0,1fr);gap:5vw}}
@media(max-width:700px){.blog-hero{padding:65px 20px;grid-template-columns:1fr}.blog-hero h1{font-size:56px}.blog-hero-mark{min-height:210px}.blog-index{padding:70px 20px 90px}.blog-index-head{display:block}.blog-index-head>span{display:block;margin-top:18px}.blog-grid{grid-template-columns:1fr;gap:20px}.blog-card,.blog-card-featured{grid-column:auto;grid-template-columns:1fr;grid-template-rows:230px auto}.blog-card-featured h2{font-size:30px}.blog-cta{padding:65px 20px 90px;display:grid;align-items:start}.blog-cta>div:last-child{min-width:0}.article-image{min-height:300px}.article-heading{padding:55px 20px 70px}.article-back{margin-bottom:40px}.article-heading h1{font-size:50px}.article-layout{padding:70px 20px;grid-template-columns:1fr}.article-aside{position:static;order:2}.article-content{font-size:17px}.article-related{padding:70px 20px 95px}.article-related>div{grid-template-columns:1fr}.home-journal{padding:75px 20px}.home-journal>header{display:grid}.home-journal>div{grid-template-columns:1fr}.home-journal-image{height:240px}}

/* Service pages — editorial utility, clear type and restrained brand colour. */
.service-page{overflow:hidden;background:#f3f2ed;color:#152129}.service-wrap{width:min(1240px,calc(100% - 40px));margin-inline:auto}.service-kicker{margin:0 0 18px;color:#b9d0df;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.service-kicker:before{content:"";display:inline-block;width:28px;height:2px;margin:0 12px 3px 0;background:#e13c38}.service-kicker.dark{color:#3e657d}.service-hero{position:relative;min-height:720px;display:flex;align-items:center;background:#172026;color:#fff}.service-hero-media,.service-hero-shade{position:absolute;inset:0}.service-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}.service-hero-shade{background:linear-gradient(90deg,rgba(16,26,33,.96) 0%,rgba(16,26,33,.86) 38%,rgba(16,26,33,.18) 68%,rgba(16,26,33,.05) 100%)}.service-hero-copy{position:relative;z-index:2;width:min(1240px,calc(100% - 40px));margin:auto;padding:90px 0}.service-hero-copy h1{max-width:720px;margin:0 0 25px;font-size:clamp(54px,6vw,88px);line-height:.95;letter-spacing:-.055em}.service-lede{max-width:640px;margin:0 0 27px;color:#dce4e8;font-size:19px;line-height:1.55}.service-hero-copy ul{display:grid;gap:11px;margin:0 0 34px;padding:0;list-style:none}.service-hero-copy li{font-size:15px}.service-hero-copy li:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;margin-right:10px;border-radius:50%;background:#244f9d;color:#fff;font-size:12px}.service-actions{display:flex;gap:12px;flex-wrap:wrap}.service-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 22px;border-radius:8px;font-size:14px;font-weight:800}.service-call{background:#fff;color:#172026}.service-quote{border:1px solid rgba(255,255,255,.45);color:#fff}.service-quote span{margin-left:18px;color:#e13c38}.service-note{margin:17px 0 0;color:#b9c5cb;font-size:12px}.service-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;padding-block:110px;border-bottom:1px solid #d1d2cd}.service-intro h2,.service-copy-card h2,.pricing-copy h2,.service-prep h2,.faq-heading h2,.service-related h2{margin:0;font-size:clamp(38px,4.2vw,64px);line-height:1;letter-spacing:-.045em}.service-prose p,.service-copy-card>p,.pricing-copy>p,.faq-heading>p{margin:0 0 19px;color:#4b5b63;font-size:17px;line-height:1.75}.service-split,.service-london{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;padding-block:110px}.service-image-card{position:relative;min-height:610px;overflow:hidden;border-radius:18px;background:#d9d9d4}.service-image-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.service-image-card span{position:absolute;left:22px;right:22px;bottom:22px;padding:15px 18px;border-radius:8px;background:rgba(21,33,41,.9);color:#fff;font-size:12px;font-weight:700;backdrop-filter:blur(8px)}.service-copy-card h2{margin-bottom:28px}.service-ticks{display:grid;gap:12px;margin:28px 0 0;padding:25px 0 0;border-top:1px solid #d1d2cd;list-style:none}.service-ticks li{font-weight:700}.service-ticks li:before{content:"";display:inline-block;width:7px;height:7px;margin:0 12px 2px 0;border-radius:50%;background:#e13c38}.service-process,.service-related{padding:105px 0;background:#152129;color:#fff}.process-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:52px}.process-head h2{max-width:690px;margin:0;font-size:clamp(44px,5vw,72px);line-height:.98;letter-spacing:-.05em}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}.process-grid article{min-height:260px;padding:34px 26px;border-right:1px solid rgba(255,255,255,.14)}.process-grid article:last-child{border:0}.process-grid b{display:block;margin-bottom:22px;font-size:20px}.process-grid p{color:#bcc8cd;font-size:14px;line-height:1.7}.service-pricing{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;padding-block:110px}.pricing-copy h2{margin-bottom:28px}.price-table-wrap{padding:12px 0}.price-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 20px 55px rgba(21,33,41,.08)}.price-table caption{text-align:left;padding:0 0 14px;color:#52636c;font-size:12px}.price-table th,.price-table td{padding:20px 18px;text-align:left;border-bottom:1px solid #e1e2de;vertical-align:top}.price-table th{background:#1a2730;color:#fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.price-table td{font-size:14px;line-height:1.5}.price-table td:nth-child(2){white-space:nowrap;color:#214d95}.price-review{margin:14px 0 0;color:#647078;font-size:12px;line-height:1.6}.service-london{border-top:1px solid #d1d2cd}.service-image-card.tall{min-height:680px}.service-prep{display:grid;grid-template-columns:.65fr 1.35fr;gap:7vw;padding-block:100px;border-top:1px solid #d1d2cd}.prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.prep-grid p{margin:0;padding:24px;border:1px solid #d4d5d0;border-radius:12px;background:#fafaf7}.prep-grid b,.prep-grid span{display:block}.prep-grid b{margin-bottom:9px;font-size:17px}.prep-grid span{color:#5c6970;font-size:14px;line-height:1.6}.service-related h2{max-width:650px;margin-bottom:46px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.related-grid a{position:relative;min-height:180px;padding:28px;border:1px solid rgba(255,255,255,.16);border-radius:12px;transition:background .25s,transform .25s}.related-grid a:hover{background:rgba(255,255,255,.06);transform:translateY(-4px)}.related-grid b,.related-grid span{display:block}.related-grid b{margin-bottom:15px;font-size:21px}.related-grid span{max-width:300px;color:#b9c5cb;font-size:14px;line-height:1.6}.related-grid i{position:absolute;right:24px;bottom:23px;color:#e13c38;font-style:normal}.service-faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;padding-block:110px}.faq-heading h2{margin-bottom:25px}.faq-list details{border-top:1px solid #cfd1cc}.faq-list details:last-child{border-bottom:1px solid #cfd1cc}.faq-list summary{position:relative;padding:25px 48px 25px 0;font-size:18px;font-weight:700;cursor:pointer;list-style:none}.faq-list summary:after{content:"+";position:absolute;right:8px;color:#244f9d;font-size:24px}.faq-list details[open] summary:after{content:"−"}.faq-list details p{max-width:720px;margin:0;padding:0 45px 25px 0;color:#53636b;font-size:15px;line-height:1.7}.service-final{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:end;padding:85px max(5vw,calc((100vw - 1240px)/2));background:#244f9d;color:#fff}.service-final h2{max-width:780px;margin:0 0 20px;font-size:clamp(46px,5vw,76px);line-height:.96;letter-spacing:-.05em}.service-final p:not(.service-kicker){max-width:630px;color:#d5e0ed;font-size:16px;line-height:1.6}.service-final>div:last-child{display:flex;flex-direction:column;gap:12px}.service-final>div:last-child a{min-width:240px;padding:17px 20px;border-radius:8px;background:#fff;color:#152129;font-weight:800}.service-final>div:last-child a:first-child{background:#152129;color:#fff;font-size:20px}.service-final span{float:right;color:#e13c38}.service-fallback{width:min(900px,calc(100% - 40px));min-height:60vh;margin:auto;padding:90px 0}.service-fallback h1{font-size:60px}
@media(max-width:900px){.service-hero{min-height:760px;align-items:end}.service-hero-shade{background:linear-gradient(90deg,rgba(16,26,33,.95),rgba(16,26,33,.45))}.service-hero-copy{padding:70px 0}.service-intro,.service-split,.service-pricing,.service-london,.service-prep,.service-faq{grid-template-columns:1fr;gap:46px;padding-block:75px}.service-london .service-image-card{order:-1}.process-grid{grid-template-columns:1fr 1fr}.process-grid article:nth-child(2){border-right:0}.process-grid article{border-bottom:1px solid rgba(255,255,255,.14)}.related-grid{grid-template-columns:1fr}.service-final{grid-template-columns:1fr}.service-image-card,.service-image-card.tall{min-height:520px}}
@media(max-width:560px){.service-wrap,.service-hero-copy{width:min(100% - 28px,1240px)}.service-hero{min-height:720px}.service-hero-media img{object-position:62% center}.service-hero-shade{background:linear-gradient(0deg,rgba(16,26,33,.98) 10%,rgba(16,26,33,.75) 55%,rgba(16,26,33,.2))}.service-hero-copy h1{font-size:46px}.service-lede{font-size:16px}.service-actions{display:grid}.service-actions a{width:100%}.service-intro h2,.service-copy-card h2,.pricing-copy h2,.service-prep h2,.faq-heading h2,.service-related h2{font-size:39px}.service-image-card,.service-image-card.tall{min-height:390px}.process-grid{grid-template-columns:1fr}.process-grid article{min-height:auto;border-right:0}.prep-grid{grid-template-columns:1fr}.price-table{display:block;overflow-x:auto}.price-table th,.price-table td{min-width:145px}.service-final{padding:65px 20px}.service-final h2{font-size:43px}.service-final>div:last-child a{min-width:0}.service-page+.site-footer{margin-top:0}}

.service-editorial,.service-areas{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;padding-block:92px;border-top:1px solid #d1d2cd}.service-editorial h2,.service-areas h2{margin:0;font-size:clamp(38px,4.2vw,62px);line-height:1;letter-spacing:-.045em}.service-editorial:nth-of-type(even){background:#ebece7}.service-split-reverse .service-image-card{order:2}.service-areas{padding-block:100px}.service-page-generic .service-hero-copy h1{max-width:810px}

/* Keep service-page hero titles confident without overpowering the photography. */
.service-page .service-hero-copy h1{max-width:760px;font-size:clamp(44px,4.6vw,70px);line-height:.98;letter-spacing:-.048em}
@media(max-width:560px){.service-page .service-hero-copy h1{font-size:38px;line-height:1.02}}

.service-price-link{display:inline-block;margin-top:14px;color:#244f9d;font-weight:800}.prices-page{background:#f3f2ed;color:#152129}.prices-shell{width:min(1240px,calc(100% - 40px));margin-inline:auto}.prices-hero{padding:105px 0 70px;background:linear-gradient(120deg,#101b22,#203544);color:#fff}.prices-hero h1{max-width:850px;margin:0 0 26px;font-size:clamp(48px,5.2vw,76px);line-height:.96;letter-spacing:-.052em}.prices-hero>div>p:not(.service-kicker){max-width:690px;color:#d4e0e5;font-size:19px;line-height:1.6}.prices-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:48px}.prices-trust span{padding:11px 15px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#dce6ea;font-size:13px}.prices-jump{position:sticky;z-index:5;top:0;display:flex;justify-content:center;gap:8px;padding:12px 20px;background:rgba(255,255,255,.96);border-bottom:1px solid #d7d8d3;backdrop-filter:blur(10px)}.prices-jump a{padding:9px 14px;border-radius:7px;font-size:13px;font-weight:800}.prices-jump a:hover{background:#e9eceb}.prices-intro,.price-factors,.prices-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding-block:95px}.prices-intro h2,.price-factors h2,.prices-faq h2,.rate-head h2,.quote-services h2{margin:0;font-size:clamp(38px,4.2vw,64px);line-height:1;letter-spacing:-.045em}.prices-intro>p{margin:0;color:#4d5c64;font-size:18px;line-height:1.75}.rate-section{padding-block:85px;border-top:1px solid #d0d2cc}.rate-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.rate-head>strong{color:#244f9d;font-size:18px}.rate-head>strong b{display:block;font-size:54px;line-height:1}.premium-table{overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 20px 55px rgba(21,33,41,.08)}.premium-table table{width:100%;border-collapse:collapse}.premium-table th,.premium-table td{padding:21px 19px;text-align:left;border-bottom:1px solid #e0e2dd}.premium-table th{background:#18252d;color:#fff;font-size:12px;letter-spacing:.07em;text-transform:uppercase}.premium-table td:first-child{font-weight:800}.premium-table td:nth-child(2),.premium-table td:nth-child(3){color:#244f9d;font-size:18px;font-weight:800}.quote-services{padding:100px 0;background:#152129;color:#fff}.quote-services>.prices-shell>p:not(.service-kicker){max-width:720px;color:#bdc8cd;line-height:1.7}.quote-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:42px}.quote-service-grid a{min-height:135px;padding:24px;border:1px solid rgba(255,255,255,.15);border-radius:12px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.quote-service-grid a:hover{background:#20313b;transform:translateY(-3px)}.quote-service-grid b{font-size:19px}.quote-service-grid span{color:#b9c6cb;font-size:13px}.factor-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.factor-grid article{padding:25px;border:1px solid #d2d4ce;border-radius:12px;background:#fff}.factor-grid h3{margin:0 0 10px}.factor-grid p{margin:0;color:#59676e;line-height:1.6}.prices-faq{border-top:1px solid #d0d2cc}.prices-faq .faq-list p{margin:0;padding:0 45px 25px 0;color:#53636b;line-height:1.7}
@media(max-width:760px){.prices-hero{padding:75px 0 55px}.prices-hero h1{font-size:42px}.prices-jump{justify-content:flex-start;overflow-x:auto}.prices-intro,.price-factors,.prices-faq{grid-template-columns:1fr;gap:35px;padding-block:65px}.rate-section{padding-block:65px}.rate-head{align-items:start;flex-direction:column}.premium-table{overflow:visible;background:transparent;box-shadow:none}.premium-table table,.premium-table tbody{display:block}.premium-table thead{position:absolute;clip:rect(0 0 0 0)}.premium-table tr{display:grid;margin-bottom:12px;padding:18px;border-radius:12px;background:#fff;box-shadow:0 10px 30px rgba(21,33,41,.06)}.premium-table td{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #e1e2de;text-align:right}.premium-table td:before{color:#69757a;font-size:11px;font-weight:800;text-align:left;text-transform:uppercase}.premium-table td:nth-child(1):before{content:'Appointment'}.premium-table td:nth-child(2):before{content:'First 30 minutes'}.premium-table td:nth-child(3):before{content:'Additional 30 minutes'}.premium-table td:nth-child(4):before{content:'Longer booking'}.quote-service-grid,.factor-grid{grid-template-columns:1fr}.quote-services{padding:70px 0}}
@media(max-width:900px){.service-editorial,.service-areas{grid-template-columns:1fr;gap:35px;padding-block:70px}.service-split-reverse .service-image-card{order:0}}

/* Editorial workmanship showcase. */
.work-gallery{position:relative;isolation:isolate;padding:130px 5vw 145px;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:310px;gap:16px;background:#131c22;color:#fff;overflow:hidden}
.work-gallery:before{content:"CRAFT";position:absolute;z-index:-1;right:-.03em;top:10px;color:rgba(255,255,255,.025);font-size:clamp(150px,21vw,390px);font-weight:900;line-height:1;letter-spacing:-.09em;pointer-events:none}
.gallery-head{grid-column:1/-1;display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;padding:0 0 54px}
.gallery-head p{margin:0 0 18px;color:#9eb0bb;font-size:10px;letter-spacing:.2em}
.gallery-head p:before{content:"";display:inline-block;width:28px;height:2px;margin:0 11px 3px 0;background:#d83935}
.gallery-head h2{max-width:750px;margin:0;font-size:clamp(52px,6.4vw,104px);font-weight:600;line-height:.88;letter-spacing:-.06em}
.gallery-note{max-width:510px;padding:0 0 5px 26px;border-left:1px solid rgba(255,255,255,.18)}
.gallery-note>span{display:block;color:#b9c3c8;font-size:16px;line-height:1.75}
.gallery-note>a{display:inline-flex;align-items:center;gap:18px;margin-top:25px;color:#fff;font-size:13px;font-weight:700}
.gallery-note>a b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#254f9b;transition:transform .25s ease,background .25s ease}
.gallery-note>a:hover b{transform:translate(3px,-3px);background:#d83935}
.work-gallery figure{border-radius:3px;background:#26343c;box-shadow:0 26px 58px rgba(0,0,0,.2)}
.work-gallery figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(10,18,23,.88));pointer-events:none}
.work-gallery figure.wide{grid-column:1/3}
.work-gallery img{filter:saturate(.76) contrast(1.08);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .7s ease}
.work-gallery figure:hover img{transform:scale(1.045);filter:saturate(.95) contrast(1.04)}
.work-gallery figcaption{z-index:2;left:0;right:0;bottom:0;align-items:end;padding:28px 26px 24px;background:transparent;border-radius:0}
.work-gallery figcaption b{font-size:18px;font-weight:700;letter-spacing:-.02em}
.work-gallery figcaption span{max-width:180px;color:#c0c9ce;font-size:11px;line-height:1.45;text-align:right}
.work-number{position:absolute;z-index:2;top:18px;right:20px;color:rgba(255,255,255,.72);font-size:10px;font-weight:800;letter-spacing:.16em}
.work-number:before{content:"";display:inline-block;width:24px;height:1px;margin:0 8px 3px 0;background:#d83935}
@media(max-width:850px){.work-gallery{padding:85px 18px 95px;grid-template-columns:1fr 1fr;grid-auto-rows:250px;gap:10px}.gallery-head{grid-template-columns:1fr;gap:30px;padding-bottom:35px}.gallery-head h2{font-size:55px}.gallery-note{padding-left:18px}.work-gallery figure.wide{grid-column:1/-1}.work-gallery figure.portrait{grid-row:span 1}.work-gallery figcaption{padding:20px 16px 17px;display:block}.work-gallery figcaption span{margin-top:4px;text-align:left}.work-gallery:before{font-size:180px;top:45px}}
@media(max-width:560px){.work-gallery{grid-template-columns:1fr;grid-auto-rows:310px}.work-gallery figure.wide{grid-column:auto}.gallery-head h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){.work-gallery img,.gallery-note>a b{transition:none}}

/* Premium process, property, enquiry, coverage, FAQ and close. */
.process{position:relative;padding:130px 7vw;background:#f2f1ec;grid-template-columns:minmax(300px,.78fr) minmax(560px,1.22fr);gap:9vw;overflow:hidden}
.process:before{content:"HOW";position:absolute;right:-25px;top:-30px;color:rgba(23,32,38,.035);font-size:270px;font-weight:900;line-height:1;letter-spacing:-.09em}
.process .side{position:relative;align-self:start;top:15px}
.side>p:first-child{margin:0 0 18px;color:#476b83;font-size:10px;letter-spacing:.2em}
.side h2{margin:0 0 28px;font-size:clamp(50px,5.4vw,86px);line-height:.91}
.side>p:nth-of-type(2){max-width:520px;color:#59656a;font-size:17px;line-height:1.75;text-transform:none;letter-spacing:0;font-weight:400}
.side>a{display:inline-flex;align-items:center;gap:18px;margin-top:24px;color:#172026;font-size:14px}
.side>a b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#254f9b;color:#fff;transition:.25s}
.side>a:hover b{background:#d83935;transform:translate(3px,-3px)}
.steps{position:relative;border:0;border-radius:2px;background:transparent;overflow:visible}
.steps article{position:relative;min-height:200px;padding:35px 25px 34px 112px;grid-template-columns:1fr;border:0;border-top:1px solid #c9cbc6;background:transparent;transition:padding .35s ease,background .35s ease}
.steps article:last-child{border-bottom:1px solid #c9cbc6}
.steps article:hover{padding-left:125px;background:rgba(255,255,255,.55)}
.steps article>span{position:absolute;left:24px;top:35px;width:auto;height:auto;border-radius:0;background:transparent;color:#d83935;font-size:11px;letter-spacing:.15em}
.steps article>div>p{margin:0 0 8px;color:#748086;font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.steps h3{max-width:570px;margin:0 0 14px;font-size:clamp(27px,2.5vw,40px);line-height:1.05;letter-spacing:-.035em}
.steps small{display:block;max-width:600px;color:#5e696e;font-size:15px;line-height:1.7}
.rooms{position:relative;padding:125px 6vw 140px;background:#172026;overflow:hidden}
.rooms:after{content:"PROPERTY";position:absolute;right:-.04em;bottom:-.18em;color:rgba(255,255,255,.026);font-size:18vw;font-weight:900;letter-spacing:-.08em;pointer-events:none}
.rooms .section-head{display:grid;grid-template-columns:1.1fr .65fr;gap:8vw;align-items:end}
.section-head>p{grid-column:1/-1;margin:0;color:#9caab1;font-size:10px;letter-spacing:.2em}
.section-head h2{margin:12px 0 0;font-size:clamp(50px,5.8vw,91px);font-weight:600;line-height:.92}
.section-head>span{padding:0 0 8px 24px;border-left:1px solid rgba(255,255,255,.16);color:#aeb9be;font-size:16px;line-height:1.7}
.room-grid{position:relative;z-index:1;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:65px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}
.room-grid a{position:relative;min-height:220px;padding:27px;background:#172026;border:0;border-radius:0;justify-content:flex-end;overflow:hidden}
.room-grid a:before{content:"";position:absolute;inset:100% 0 0;background:#223442;transition:inset .45s cubic-bezier(.2,.8,.2,1)}
.room-grid a:hover{background:#172026;transform:none}
.room-grid a:hover:before{inset:0}
.room-grid em,.room-grid b,.room-grid span,.room-grid i{position:relative;z-index:1}
.room-grid em{position:absolute;top:24px;left:27px;color:#718087;font-size:10px;font-style:normal;letter-spacing:.14em}
.room-grid b{font-size:31px;letter-spacing:-.04em}
.room-grid span{font-size:13px}
.room-grid i{position:absolute;right:27px;top:22px;color:#d83935;font-style:normal;opacity:0;transform:translate(-5px,5px);transition:.3s}
.room-grid a:hover i{opacity:1;transform:none}
.quote{position:relative;padding:130px 7vw;background:#e7e4dc;grid-template-columns:1.05fr .75fr;gap:10vw;overflow:hidden}
.quote:before{content:"";position:absolute;left:0;top:0;width:7px;height:100%;background:linear-gradient(#254f9b 0 72%,#d83935 72%)}
.quote-intro>p{margin:0 0 18px;font-size:10px;letter-spacing:.2em}
.quote h2{max-width:770px;margin:0 0 30px;font-size:clamp(50px,5.5vw,88px);line-height:.92}
.quote-intro>span{display:block;max-width:690px;color:#536066;font-size:17px;line-height:1.75}
.quote-proof{display:flex;flex-wrap:wrap;gap:10px 25px;margin-top:35px;padding-top:27px;border-top:1px solid rgba(23,32,38,.15)}
.quote-proof b{font-size:11px;letter-spacing:.04em}.quote-proof b:before{content:"✓";margin-right:8px;color:#254f9b}
.quote-card{position:relative;padding:45px;border:0;border-radius:2px;box-shadow:0 28px 80px rgba(23,32,38,.13)}
.quote-card:after{content:"";position:absolute;right:0;top:0;width:60px;height:5px;background:#d83935}
.quote-card>small{margin-bottom:18px;color:#557186;font-size:9px;font-weight:800;letter-spacing:.18em}
.quote-card>b{font-size:30px;line-height:1.1;letter-spacing:-.03em}
.quote-card>p{color:#5e696e;line-height:1.7}
.quote-card>a{padding:15px 17px;text-align:left}
.quote-card>a:first-of-type{display:flex;align-items:center;justify-content:space-between}.quote-card>a:first-of-type span{font-size:11px;color:#aeb9be}.quote-card>a:first-of-type strong{font-size:17px}
.quote-card a.secondary{display:flex;justify-content:space-between;background:#eef0ef}.quote-card a.secondary b{color:#d83935}
.quote-card>em{margin-top:19px;color:#7a858a;font-size:11px;font-style:normal;text-align:center}
.coverage{position:relative;padding:125px 6vw;background:#355466;display:grid;grid-template-columns:.7fr 1.3fr;gap:9vw;overflow:hidden}
.coverage:after{content:"LDN";position:absolute;left:-.06em;bottom:-.26em;color:rgba(255,255,255,.04);font-size:310px;font-weight:900;letter-spacing:-.08em}
.coverage-title{position:relative;z-index:1}
.coverage-title>p{margin:0 0 18px;color:#d6d1c8;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.coverage h2{margin:0 0 28px;font-size:clamp(50px,5vw,80px);line-height:.92}
.coverage-title>span{display:block;max-width:480px;color:#d2dce1;font-size:16px;line-height:1.75}
.coverage-list{position:relative;z-index:1;display:block;font-size:initial}
.coverage-list a{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;padding:22px 8px;border-top:1px solid rgba(255,255,255,.22);transition:padding .25s,background .25s}
.coverage-list a:last-child{border-bottom:1px solid rgba(255,255,255,.22)}
.coverage-list a:hover{padding-left:20px;padding-right:20px;background:rgba(255,255,255,.07)}
.coverage-list span{color:#d8e0e4;font-size:15px}.coverage-list b{font-size:25px}.coverage-list i{color:#fff;font-style:normal}
.faq{padding:130px 8vw;display:grid;grid-template-columns:.68fr 1.32fr;gap:10vw;background:#f7f6f2}
.faq-intro>p{margin:0 0 17px;color:#476b83;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.faq h2{margin:0 0 27px;font-size:clamp(48px,5vw,78px);line-height:.93}
.faq-intro>span{display:block;color:#667176;font-size:15px;line-height:1.7}.faq-intro>a{display:inline-block;margin-top:25px;font-weight:700}.faq-intro>a b{margin-left:12px;color:#d83935}
.faq details{margin:0;padding:0;border:0;border-radius:0;background:transparent;border-top:1px solid #cdd0cc}
.faq details:last-child{border-bottom:1px solid #cdd0cc}
.faq summary{position:relative;padding:27px 55px 27px 0;list-style:none;font-size:20px;letter-spacing:-.02em}.faq summary::-webkit-details-marker{display:none}
.faq summary i,.faq summary i:after{position:absolute;right:8px;top:50%;width:16px;height:1px;background:#254f9b;content:"";transition:transform .25s}.faq summary i:after{right:0;top:0;transform:rotate(90deg)}.faq details[open] summary i:after{transform:rotate(0)}
.faq details p{max-width:700px;margin:0;padding:0 55px 28px 0;color:#5d686d;line-height:1.75}
.final-cta{position:relative;padding:135px 20px 145px;background:#d9d4c9;overflow:hidden}
.final-cta:before,.final-cta:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(23,32,38,.12)}.final-cta:before{width:520px;height:520px;left:-280px;top:-260px}.final-cta:after{width:650px;height:650px;right:-350px;bottom:-390px}
.final-kicker{position:relative;z-index:1;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.final-cta h2{position:relative;z-index:1;margin:26px 0 25px;font-size:clamp(75px,11vw,180px);font-weight:600;line-height:.75;letter-spacing:-.075em}.final-cta h2 span{color:#254f9b}
.final-cta>p{position:relative;z-index:1;max-width:560px;margin:40px auto 30px;color:#4f5b60;font-size:17px;line-height:1.7}
.final-actions{position:relative;z-index:1;display:flex;justify-content:center;gap:10px}.final-actions a{padding:16px 21px;border-radius:6px;background:#172026;color:#fff;font-weight:700}.final-actions a+a{background:#fff;color:#172026}
@media(max-width:850px){.process,.quote,.coverage,.faq{grid-template-columns:1fr;gap:50px;padding:85px 18px}.process:before{font-size:160px}.steps article{padding-left:75px}.steps article:hover{padding-left:75px}.steps article>span{left:10px}.rooms{padding:85px 18px 100px}.rooms .section-head{grid-template-columns:1fr;gap:25px}.section-head>span{padding-left:18px}.room-grid{grid-template-columns:1fr 1fr}.room-grid a{min-height:180px}.quote-card{padding:30px 22px}.coverage:after{font-size:190px}.faq{gap:45px}.final-cta{padding:100px 18px 120px}.final-cta h2{font-size:80px;line-height:.8}.final-actions{flex-direction:column;max-width:340px;margin:auto}}
@media(max-width:520px){.room-grid{grid-template-columns:1fr}.room-grid a{min-height:155px}.coverage-list b{font-size:21px}.final-cta h2{font-size:64px}}
@media(prefers-reduced-motion:reduce){.side>a b,.steps article,.room-grid a:before,.room-grid i,.coverage-list a,.faq summary i:after{transition:none}}

/* London service atlas: one crawlable hub for the approved 180 GEO pages. */
.areas-page{background:#f3f2ed;color:#152129;overflow:hidden}.areas-hero{position:relative;min-height:650px;display:grid;align-items:end;padding:90px 6vw;color:#fff;background:#111c22;overflow:hidden}.areas-hero-media{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,20,26,.97),rgba(10,20,26,.76) 52%,rgba(10,20,26,.34)),url("../images/london-aerial-map-bg-v1.webp") center/cover no-repeat}.areas-hero-copy{position:relative;z-index:1;max-width:940px}.areas-hero h1{max-width:930px;margin:17px 0 24px;font-size:clamp(54px,6.5vw,104px);line-height:.9;letter-spacing:-.06em}.areas-lede{max-width:700px;margin:0;color:#d6e0e4;font-size:19px;line-height:1.7}.areas-stat{display:flex;align-items:center;gap:20px;margin:38px 0}.areas-stat strong{font-size:clamp(60px,8vw,112px);line-height:.72;letter-spacing:-.06em}.areas-stat span{padding-left:20px;border-left:1px solid rgba(255,255,255,.3);color:#c6d1d6;font-size:12px;font-weight:800;line-height:1.6;letter-spacing:.13em;text-transform:uppercase}.zone-nav{position:sticky;top:0;z-index:12;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.zone-nav .service-wrap{display:grid;grid-template-columns:repeat(6,1fr)}.zone-nav a{padding:18px 14px;border-right:1px solid var(--line);transition:background .22s,color .22s}.zone-nav a:first-child{border-left:1px solid var(--line)}.zone-nav span,.zone-nav small{display:block}.zone-nav span{font-size:13px;font-weight:800}.zone-nav small{margin-top:3px;color:#68757b;font-size:11px}.zone-nav a:hover,.zone-nav a:focus-visible,.zone-nav a.is-current{background:var(--navy);color:#fff}.zone-nav a:hover small,.zone-nav a:focus-visible small,.zone-nav a.is-current small{color:#c9d4d8}.areas-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;padding-block:105px}.areas-intro h2{max-width:760px;margin:14px 0 24px;font-size:clamp(43px,5vw,76px);line-height:.95;letter-spacing:-.05em}.areas-intro>div:first-child>p:not(.service-kicker){max-width:790px;color:#53636b;font-size:17px;line-height:1.75}.area-search{padding:28px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 55px rgba(26,37,43,.08)}.area-search label{display:block;margin-bottom:10px;font-size:15px;font-weight:800}.area-search>div{display:grid;grid-template-columns:1fr auto}.area-search input{min-width:0;padding:15px;border:1px solid #aeb8bc;border-radius:7px 0 0 7px;font:inherit}.area-search button{padding:0 18px;border:0;border-radius:0 7px 7px 0;background:#233d4c;color:#fff;font-weight:800}.area-search p{margin:12px 0 0;color:#657176;font-size:12px}.zone-panel{position:relative;padding:105px 0;scroll-margin-top:86px;overflow:hidden}.zone-panel:nth-child(odd){background:#122027;color:#fff}.zone-panel:nth-child(even){background:#e8e9e4}.zone-panel:before{content:attr(data-mark);position:absolute;right:-.03em;top:-.28em;color:rgba(73,103,125,.075);font-size:360px;font-weight:900;line-height:1;pointer-events:none}.zone-layout{position:relative;display:grid;grid-template-columns:minmax(275px,.65fr) minmax(540px,1.35fr);gap:8vw;align-items:start}.zone-heading{position:sticky;top:115px}.zone-heading>p{margin:0;color:#e4433e;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.zone-heading h2{margin:15px 0 22px;font-size:clamp(47px,5vw,78px);line-height:.92;letter-spacing:-.055em}.zone-heading>span{display:block;margin-bottom:19px;color:#7b898f;font-size:16px;line-height:1.7}.zone-panel:nth-child(odd) .zone-heading>span{color:#b8c5ca}.zone-heading>b{display:block;margin-bottom:34px;color:#6c7b82;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.zone-heading>a{display:inline-flex;gap:18px;padding:13px 16px;border:1px solid currentColor;border-radius:7px;font-weight:800}.zone-heading a i{color:#e4433e;font-style:normal}.location-index{display:grid;grid-template-columns:1fr 1fr;column-gap:34px}.location-index a{display:flex;align-items:center;justify-content:space-between;min-height:67px;padding:15px 5px;border-top:1px solid rgba(115,130,138,.34);font-size:18px;font-weight:700;transition:padding .22s,background .22s,color .22s}.location-index a:nth-last-child(-n+2){border-bottom:1px solid rgba(115,130,138,.34)}.location-index a:hover,.location-index a:focus-visible{padding-inline:17px;background:rgba(73,103,125,.14);color:#e4433e}.location-index i{color:#e4433e;font-style:normal}.zone-panel[hidden],.location-index a[hidden]{display:none}.area-empty{padding-block:80px;font-size:20px;font-weight:800}.areas-help{padding:105px 0;background:#d9d4ca}.areas-help>.service-wrap{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.areas-help h2{margin:14px 0;font-size:clamp(43px,5vw,76px);line-height:.95;letter-spacing:-.05em}.areas-help>div>div:last-child>p{font-size:18px;line-height:1.7}.areas-help small{display:block;margin-top:15px;color:#5c686e}.geo-all-areas{color:#fff!important;background:rgba(73,103,125,.16)}
@media(max-width:900px){.areas-intro,.zone-layout,.areas-help>.service-wrap{grid-template-columns:1fr}.zone-nav{position:relative;overflow-x:auto}.zone-nav .service-wrap{width:max-content;grid-template-columns:repeat(6,minmax(155px,1fr))}.zone-heading{position:static}.location-index{grid-template-columns:1fr 1fr}.areas-hero{min-height:620px;padding:75px 18px}.areas-intro,.zone-layout{gap:42px}.zone-panel{padding:78px 0}.zone-panel:before{font-size:240px}.areas-help{padding:80px 0}}
@media(max-width:560px){.areas-hero h1{font-size:52px}.areas-stat strong{font-size:70px}.location-index{grid-template-columns:1fr}.location-index a:nth-last-child(-n+2){border-bottom:0}.location-index a:last-child{border-bottom:1px solid rgba(115,130,138,.34)}.area-search{padding:20px}.zone-panel{padding:70px 0}.zone-heading h2{font-size:49px}}
@media(prefers-reduced-motion:reduce){.zone-nav a,.location-index a{transition:none}}

/* Bespoke London coverage map and service standards. */
.london-map{position:relative;display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center;padding:125px 6vw 135px;background:linear-gradient(90deg,rgba(9,18,24,.78) 0%,rgba(9,18,24,.63) 43%,rgba(9,18,24,.36) 100%),url("../images/london-aerial-map-bg-v1.webp") center/cover no-repeat;color:#fff;overflow:hidden}
.london-map:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,16,22,.04),rgba(7,16,22,.2));pointer-events:none}.map-copy,.map-visual{position:relative;z-index:1}
.london-map:before{content:"51.5074° N  ·  0.1278° W";position:absolute;left:6vw;bottom:32px;color:#65737a;font-size:9px;letter-spacing:.2em}
.map-copy{position:relative;z-index:2}
.map-copy>p,.standards-title>p{margin:0 0 18px;color:#99a8af;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.map-copy>p:before{content:"";display:inline-block;width:28px;height:2px;margin:0 11px 3px 0;background:#d83935}
.map-copy h2{margin:0 0 28px;font-size:clamp(52px,5.2vw,84px);font-weight:600;line-height:.9;letter-spacing:-.055em}
.map-copy>span{display:block;max-width:520px;color:#abb7bd;font-size:16px;line-height:1.75}
.map-zones{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:30px 0 22px;max-width:560px}
.map-zones a{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:12px 14px 12px 16px;overflow:hidden;border:1px solid rgba(181,202,213,.19);border-radius:8px;background:rgba(15,31,40,.62);box-shadow:inset 0 1px rgba(255,255,255,.025);backdrop-filter:blur(7px);transition:transform .25s ease,border-color .25s ease,background .25s ease}
.map-zones a:before{content:"";position:absolute;inset:0 100% 0 0;background:linear-gradient(90deg,rgba(37,79,155,.34),rgba(84,125,148,.12));transition:right .35s cubic-bezier(.2,.8,.2,1)}
.map-zones a:hover{transform:translateY(-2px);border-color:rgba(112,148,172,.62);background:rgba(22,44,56,.76)}.map-zones a:hover:before{right:0}
.map-zones b,.map-zones i{position:relative;z-index:1}.map-zones b{font-size:13px;letter-spacing:.01em}.map-zones i{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:rgba(84,125,148,.2);color:#dce9ef;font-style:normal;transition:transform .25s ease,background .25s ease}.map-zones a:hover i{transform:translate(2px,-2px);background:#254f9b}
.map-key{display:flex;gap:24px;margin:28px 0;color:#8d9ba2;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.map-key b{font-weight:600}.map-key i{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#d83935}.map-key b+b i{background:#5e7888}
.map-copy>a{display:inline-flex;align-items:center;gap:20px;padding:14px 17px;border:1px solid rgba(255,255,255,.2);border-radius:7px;font-size:13px;font-weight:700}.map-copy>a strong{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#254f9b;transition:.25s}.map-copy>a:hover strong{background:#d83935;transform:translate(3px,-3px)}
.map-visual{position:relative;min-height:590px;color:#b5c1c7}
.map-visual svg{width:100%;height:100%;overflow:visible}.map-land{fill:#17262f;stroke:#4e6674;stroke-width:1.5}.map-grid{fill:url(#street-grid)}.thames-shadow,.thames{fill:none;stroke-linecap:round}.thames-shadow{stroke:#071116;stroke-width:28;opacity:.55}.thames{stroke:#547d94;stroke-width:15}
.map-rings circle{fill:none;stroke:#8ea1aa;stroke-width:1;stroke-dasharray:5 9;opacity:.23}.map-rings circle:nth-child(2){opacity:.16}.map-rings circle:nth-child(3){opacity:.1}
.map-pin circle:first-child{fill:rgba(37,79,155,.24);stroke:#7094ac;stroke-width:1}.map-pin circle:nth-child(2){fill:#fff;filter:url(#map-glow)}.map-pin text{fill:#c5d0d5;font:700 10px Arial,sans-serif;letter-spacing:2px;text-anchor:middle}.map-pin.central circle:first-child{fill:rgba(216,57,53,.25);stroke:#d83935}.map-pin.central circle:nth-child(2){fill:#ff615d}.map-pin{animation:map-pulse 4.5s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.map-pin.north{animation-delay:-.9s}.map-pin.south{animation-delay:-1.8s}.map-pin.east{animation-delay:-2.7s}.map-pin.west{animation-delay:-3.6s}
.map-badge{position:absolute;right:4%;bottom:5%;display:grid;grid-template-columns:1fr auto;min-width:220px;padding:17px 19px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:rgba(12,21,27,.86);box-shadow:0 18px 50px rgba(0,0,0,.3);backdrop-filter:blur(8px)}.map-badge small{grid-column:1/-1;color:#d83935;font-size:8px;font-weight:800;letter-spacing:.17em}.map-badge b{margin-top:3px;font-size:16px}.map-badge span{align-self:end;color:#829097;font-size:10px}
@keyframes map-pulse{0%,100%{opacity:.72}50%{opacity:1}}
.standards{padding:120px 6vw 130px;background:#fff}.standards-title{display:grid;grid-template-columns:.55fr 1.45fr;gap:7vw;align-items:start}.standards-title>p{padding-top:13px;color:#557186}.standards-title h2{max-width:970px;margin:0;font-size:clamp(50px,5.7vw,90px);font-weight:600;line-height:.92;letter-spacing:-.055em}.standards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:75px;background:#d6d9d5;border:1px solid #d6d9d5}.standards article{min-height:260px;padding:32px;background:#fff}.standards article span{color:#d83935;font-size:10px;font-weight:800;letter-spacing:.16em}.standards article h3{margin:55px 0 13px;font-size:27px;letter-spacing:-.035em}.standards article p{max-width:380px;margin:0;color:#606c71;font-size:14px;line-height:1.7}
@media(max-width:850px){.london-map{grid-template-columns:1fr;padding:85px 18px 105px;gap:35px}.map-visual{min-height:440px}.map-badge{right:0}.standards{padding:85px 18px 95px}.standards-title{grid-template-columns:1fr;gap:20px}.standards-grid{grid-template-columns:1fr}.standards article{min-height:210px}.standards article h3{margin-top:38px}}
@media(max-width:520px){.map-visual{min-height:330px}.map-badge{min-width:190px;padding:13px}.map-zones{grid-template-columns:1fr}.map-zones a{min-height:50px}.map-key{flex-direction:column;gap:8px}.map-copy h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){.map-pin{animation:none}.map-copy>a strong{transition:none}}

/* Premium closing footer. */
.site-footer{position:relative;padding:75px 6vw 0;grid-template-columns:1.05fr 2fr .65fr .78fr;align-items:start;gap:4vw;background:#fff;font-size:13px}
.site-footer:before{content:"";position:absolute;left:6vw;right:6vw;top:0;height:1px;background:#d8d9d4}
.site-footer img{width:205px}.footer-brand p{max-width:330px;margin:22px 0 0;color:#657176;line-height:1.65}
.footer-contact,.footer-call{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-services>p,.footer-contact>p,.footer-call>p{margin:0 0 12px;color:#7e898e;font-size:9px;font-weight:800;letter-spacing:.17em}.footer-contact span{color:#59656a;line-height:1.75}.footer-quick{display:flex;flex-wrap:wrap;gap:9px 17px;margin-top:24px}.footer-quick a{font-size:12px;font-weight:700;color:#254f9b}.footer-services>div{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:8px 20px}.footer-services a{position:relative;padding:2px 0 2px 11px;color:#435057;font-size:12px;line-height:1.35;transition:.2s}.footer-services a:before{content:"";position:absolute;left:0;top:.65em;width:4px;height:4px;border-radius:50%;background:#d83935}.footer-services a:hover{color:#254f9b;transform:translateX(2px)}
.footer-call>a:first-of-type{display:block;padding:15px 17px;border-radius:7px;background:#172026;color:#fff;font-size:17px;font-weight:800;line-height:1.15}.footer-call>a:first-of-type small{display:block;margin-bottom:5px;color:#b5c0c5;font-size:8px;letter-spacing:.14em}.footer-call>a:last-child{margin-top:5px;color:#254f9b;font-weight:700}
.footer-base{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr auto;gap:20px;margin-top:58px;padding:22px 0;border-top:1px solid #d8d9d4;color:#7b8589;font-size:10px;letter-spacing:.05em}.footer-base b{color:#172026;letter-spacing:.13em}
.footer-legal{display:flex;flex-wrap:wrap;gap:10px 18px}.footer-legal a{color:inherit;text-decoration:none}.footer-legal a:hover,.footer-legal a:focus-visible{color:#172026;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1050px){.site-footer{grid-template-columns:1fr 2fr}.footer-contact,.footer-call{margin-top:15px}.footer-services>div{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.site-footer{grid-template-columns:1fr;padding:60px 18px 105px;gap:40px}.site-footer:before{left:18px;right:18px}.footer-services>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.footer-base{grid-template-columns:1fr;gap:8px;margin-top:15px}.footer-base b{margin-top:5px}}

/* GEO pilots — same design language, dedicated editorial composition. */
.geo-page{overflow:hidden;background:#f3f2ed;color:#152129}.geo-hero{position:relative;min-height:690px;display:flex;align-items:end;background:#172026;color:#fff}.geo-hero-media,.geo-hero-shade{position:absolute;inset:0}.geo-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.88) contrast(1.03)}.geo-hero-shade{background:linear-gradient(90deg,rgba(12,21,27,.97) 0%,rgba(12,21,27,.88) 40%,rgba(12,21,27,.2) 72%,rgba(12,21,27,.05))}.geo-hero-copy{position:relative;z-index:1;width:min(1240px,calc(100% - 40px));margin:auto;padding:92px 0 72px}.geo-hero h1{max-width:820px;margin:0 0 24px;font-size:clamp(44px,4.8vw,72px);line-height:.97;letter-spacing:-.05em}.geo-lede{max-width:680px;margin:0 0 26px;color:#dbe4e8;font-size:18px;line-height:1.65}.geo-hero-copy>ul{display:grid;gap:10px;margin:0 0 32px;padding:0;list-style:none}.geo-hero-copy>ul li:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;margin-right:10px;border-radius:50%;background:#244f9d;font-size:12px}.geo-breadcrumbs{padding-block:20px;border-bottom:1px solid #d4d5d0}.geo-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;color:#657176;font-size:12px}.geo-breadcrumbs li+li:before{content:"/";margin-right:8px;color:#a1a8ab}.geo-breadcrumbs a{color:#244f9d}.geo-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:8vw;align-items:center;padding-block:92px;border-bottom:1px solid #d1d2cd}.geo-section:nth-child(even){grid-template-columns:minmax(360px,.72fr) minmax(0,1fr)}.geo-section:nth-child(even) .geo-section-copy{order:2}.geo-section:not(:has(.geo-section-image)){display:block}.geo-section-copy{max-width:820px}.geo-section-copy h2,.geo-pricing h2,.geo-links h2{margin:0 0 28px;font-size:clamp(38px,4.2vw,62px);line-height:1;letter-spacing:-.045em}.geo-section-copy>p{margin:0 0 19px;color:#4b5b63;font-size:17px;line-height:1.78}.geo-section-image{position:relative;min-height:540px;margin:0;overflow:hidden;border-radius:16px;background:#d7d9d5}.geo-section-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.geo-section-image figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:14px 16px;border-radius:8px;background:rgba(21,33,41,.9);color:#fff;font-size:12px;line-height:1.5}.geo-pricing{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;padding-block:105px}.geo-pricing>div:first-child>p:last-child{color:#53636b;font-size:17px;line-height:1.75}.geo-links{padding:105px 0;background:#152129;color:#fff}.geo-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.geo-links h2{font-size:clamp(36px,3.8vw,56px)}.geo-service-links,.geo-nearby{display:grid;border-top:1px solid rgba(255,255,255,.17)}.geo-service-links a,.geo-nearby a{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 15px;padding:20px 44px 20px 0;border-bottom:1px solid rgba(255,255,255,.15);transition:padding .25s,background .25s}.geo-service-links a:hover,.geo-nearby a:hover{padding-left:14px;background:rgba(255,255,255,.05)}.geo-service-links span{grid-column:1;color:#9eacb3;font-size:12px}.geo-service-links i,.geo-nearby span{position:absolute;right:8px;top:20px;color:#e13c38;font-style:normal}.geo-nearby a{display:block;color:#e3eaed;font-weight:700}.geo-page .service-faq{background:#f7f6f2}.geo-page+.site-footer{margin-top:0}
@media(max-width:900px){.geo-hero{min-height:720px}.geo-hero-shade{background:linear-gradient(0deg,rgba(12,21,27,.98) 8%,rgba(12,21,27,.78) 60%,rgba(12,21,27,.2))}.geo-section,.geo-section:nth-child(even),.geo-pricing,.geo-link-grid{grid-template-columns:1fr;gap:45px}.geo-section:nth-child(even) .geo-section-copy{order:0}.geo-section-image{min-height:480px}.geo-link-grid{gap:70px}}
@media(max-width:560px){.geo-hero-copy{width:calc(100% - 28px);padding:58px 0 48px}.geo-hero h1{font-size:36px;line-height:1}.geo-lede{font-size:16px}.geo-breadcrumbs,.geo-section,.geo-pricing,.geo-link-grid{width:calc(100% - 28px)}.geo-section{padding-block:68px}.geo-section-copy h2,.geo-pricing h2,.geo-links h2{font-size:38px}.geo-section-copy>p{font-size:16px;line-height:1.72}.geo-section-image{min-height:350px}.geo-pricing{padding-block:72px}.geo-links{padding-block:75px}}

/* GEO fallbacks avoid relying on :has() and keep pricing usable on tablets. */
.geo-section-text-only{display:block}
@media(max-width:900px){.geo-page .price-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}}

/* Calm service index replaces the uneven photo mosaic. */
.work-index{position:relative;padding:125px 6vw 45px;background:#131c22;color:#fff;overflow:hidden}
.work-index:before{content:"DETAIL";position:absolute;right:-.03em;top:-.12em;color:rgba(255,255,255,.025);font-size:clamp(150px,22vw,410px);font-weight:900;line-height:1;letter-spacing:-.09em;pointer-events:none}
.work-index-head{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;padding-bottom:75px}
.work-index-head>p{grid-column:1/-1;margin:0 0 -2vw;color:#9eabb2;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.work-index-head>p:before{content:"";display:inline-block;width:28px;height:2px;margin:0 11px 3px 0;background:#d83935}
.work-index-head h2{max-width:890px;margin:0;font-size:clamp(54px,6.6vw,108px);font-weight:600;line-height:.88;letter-spacing:-.065em}
.work-index-head>div{padding:0 0 5px 26px;border-left:1px solid rgba(255,255,255,.16)}.work-index-head>div>span{display:block;color:#b3bec3;font-size:16px;line-height:1.75}.work-index-head a{display:inline-flex;align-items:center;gap:16px;margin-top:25px;font-size:13px;font-weight:700}.work-index-head a b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#254f9b;transition:.25s}.work-index-head a:hover b{background:#d83935;transform:translate(3px,-3px)}
.work-index-list{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.18)}
.work-index-list>a{position:relative;display:grid;grid-template-columns:80px 1.05fr 1fr 42px;gap:24px;align-items:center;min-height:108px;padding:15px 20px 15px 4px;border-bottom:1px solid rgba(255,255,255,.16);overflow:hidden;transition:padding .3s ease}
.work-index-list>a:before{content:"";position:absolute;inset:0 100% 0 0;background:#1c2b34;transition:right .45s cubic-bezier(.2,.8,.2,1)}.work-index-list>a:hover:before{right:0}.work-index-list>a:hover{padding-left:18px}
.work-index-list em,.work-index-list strong,.work-index-list span,.work-index-list i{position:relative;z-index:1}.work-index-list em{color:#d83935;font-size:10px;font-style:normal;font-weight:800;letter-spacing:.17em}.work-index-list strong{font-size:clamp(24px,2.5vw,39px);font-weight:600;letter-spacing:-.035em}.work-index-list span{color:#9eabb2;font-size:13px}.work-index-list i{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.2);border-radius:50%;font-style:normal;transition:.3s}.work-index-list>a:hover i{border-color:#254f9b;background:#254f9b;transform:rotate(45deg)}
.work-index-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:20px;padding:32px 0 0;color:#68777e;font-size:9px;font-weight:800;letter-spacing:.16em}.work-index-foot i{width:4px;height:4px;border-radius:50%;background:#d83935}
@media(max-width:850px){.work-index{padding:85px 18px 35px}.work-index-head{grid-template-columns:1fr;gap:32px;padding-bottom:50px}.work-index-head>p{margin:0}.work-index-head h2{font-size:55px}.work-index-head>div{padding-left:18px}.work-index-list>a{grid-template-columns:45px 1fr 34px;gap:12px;min-height:100px;padding-right:5px}.work-index-list>a>span{display:none}.work-index-list strong{font-size:25px}.work-index-foot{flex-wrap:wrap;gap:10px 14px}}
@media(max-width:520px){.work-index-head h2{font-size:48px}.work-index-list>a{grid-template-columns:34px 1fr 32px}.work-index-list strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.work-index-head a b,.work-index-list>a,.work-index-list>a:before,.work-index-list i{transition:none}}

/* Remove decorative sequence numbers site-wide. */
.steps article{padding-left:35px}.steps article:hover{padding-left:48px}.steps article>span,.room-grid em,.standards article>span,.work-number{display:none!important}
.standards article h3{margin-top:42px}
.work-index-list>a{grid-template-columns:1.05fr 1fr 42px;padding-left:18px}
@media(max-width:850px){.steps article,.steps article:hover{padding-left:20px}.work-index-list>a{grid-template-columns:1fr 34px;padding-left:5px}.work-index-list>a>span{display:none}}

/* Readable type scale: no micro-copy on primary page content. */
body{font-size:17px}
.hero-copy p,.section-head p,.quote>div>p,.coverage>p,.side>p,.gallery-head p{font-size:13px}
.hero-copy>span,.intro-copy p,.section-head>span,.side>span,.quote>div>span,.coverage>span{font-size:18px;line-height:1.7}
.signals b{font-size:17px}.signals span{font-size:15px;line-height:1.5}
.work-index-head>p,.map-copy>p,.standards-title>p{font-size:12px}.work-index-head>div>span{font-size:18px}.work-index-head a{font-size:15px}
.work-index-list strong{display:block;color:#fff;font-size:clamp(28px,2.7vw,43px)}.work-index-list span{color:#c2cbd0;font-size:16px}.work-index-foot{font-size:11px}
.steps h3{font-size:25px}.steps p,.room-grid span,.quote-card p,.faq details,.final-cta p{font-size:16px;line-height:1.7}
.map-copy>span{font-size:18px;color:#d2d9dc}.map-key{font-size:12px}.map-copy>a{font-size:15px}.map-pin text{font-size:12px}.map-badge small{font-size:10px}.map-badge b{font-size:18px}.map-badge span{font-size:12px}
.standards article p{font-size:16px}.standards article span{font-size:12px}
.site-footer{font-size:15px}.footer-brand p,.footer-contact span{font-size:15px}.footer-services>p,.footer-contact>p,.footer-call>p{font-size:11px}.footer-services a{font-size:14px}.footer-quick a{font-size:14px}.footer-base{font-size:12px}
@media(max-width:850px){body{font-size:16px}.work-index-list strong{font-size:26px}.work-index-list>a>span{display:none}.footer-services a{font-size:14px}}

/* Subtle talking mascot and timed call prompt on the branded van. */
.backdrop:after{z-index:1;pointer-events:none}
.backdrop img{position:relative;z-index:0}
.hero-copy,.selector{z-index:2}
.seo-intro{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(48px,7vw,120px);align-items:center;padding:110px 7vw;background:#f7f6f2}
.seo-intro-image{position:relative;min-height:560px;overflow:hidden;border-radius:24px;background:#d8d8d2;box-shadow:0 30px 75px rgba(23,32,38,.12)}
.seo-intro-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(13,24,31,.62))}
.seo-intro-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.82) contrast(1.03);transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.seo-intro:hover .seo-intro-image img{transform:scale(1.025)}
.seo-intro-image span{position:absolute;z-index:1;left:30px;right:30px;bottom:27px;color:#fff;font-size:14px;font-weight:700;letter-spacing:.06em}
.seo-intro-copy{max-width:650px}
.seo-intro-copy .eyebrow{margin:0 0 18px;color:#476b83;font-size:11px;font-weight:800;letter-spacing:.18em}
.seo-intro-copy h2{max-width:610px;margin:0 0 28px;font-size:clamp(40px,4vw,66px);line-height:.98;letter-spacing:-.045em}
.seo-intro-copy>p:not(.eyebrow){margin:0 0 18px;color:#4e5a60;font-size:17px;line-height:1.75}
.seo-intro-actions{display:flex;align-items:center;gap:24px;margin-top:34px;padding-top:28px;border-top:1px solid #d8d9d4}
.seo-intro-actions>a{flex:0 0 auto;padding:14px 19px;border-radius:8px;background:#172026;color:#fff;font-weight:700}
.seo-intro-actions>span{color:#68757b;font-size:12px;font-weight:700;letter-spacing:.03em}
.seo-intro-actions i{display:inline-block;width:4px;height:4px;margin:0 8px;border-radius:50%;background:#d83935;vertical-align:middle}
@media(max-width:850px){.seo-intro{grid-template-columns:1fr;padding:70px 18px;gap:42px}.seo-intro-image{min-height:420px;border-radius:18px}.seo-intro-copy h2{font-size:42px}.seo-intro-actions{align-items:flex-start;flex-direction:column}.seo-intro-actions>span{line-height:1.8}}
.van-mascot-mouth{position:absolute;z-index:2;left:47.5%;top:34.4%;width:9px;height:3px;border-radius:50%;background:#163f94;transform-origin:center;animation:mascot-talk 8s ease-in-out infinite;pointer-events:none}
.van-mascot-mouth{display:none!important}
.van-offer-bubble{position:absolute;z-index:3;left:49%;top:6%;max-width:230px;padding:14px 17px 15px;border:1px solid rgba(255,255,255,.8);border-radius:14px;background:rgba(23,32,38,.96);box-shadow:0 18px 45px rgba(23,32,38,.22);color:#fff;font-size:15px;font-weight:700;line-height:1.25;opacity:0;transform:translateY(7px) scale(.98);transform-origin:left bottom;animation:offer-speak 8s ease-in-out infinite;backdrop-filter:blur(8px)}
.van-offer-bubble:after{content:"";position:absolute;left:20px;bottom:-8px;width:15px;height:15px;background:rgba(23,32,38,.94);transform:rotate(45deg);border-right:1px solid rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.55)}
.van-offer-bubble small{display:block;margin-bottom:4px;color:#ff4a4a;font-size:9px;letter-spacing:.15em}
@keyframes mascot-talk{0%,12%,58%,100%{height:3px;transform:scaleY(.45)}18%,23%,31%,38%,46%,53%{height:8px;transform:scaleY(1)}21%,27%,35%,42%,50%{height:4px;transform:scaleY(.6)}}
@keyframes offer-speak{0%,11%,60%,100%{opacity:0;transform:translateY(7px) scale(.98)}14%,56%{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1200px){.van-mascot-mouth{left:47%;top:37.5%;width:9px;transform:scale(.8)}.van-offer-bubble{left:48%;top:6%;max-width:200px;font-size:13px}}
@media(max-width:850px){.van-mascot-mouth,.van-offer-bubble{display:none}}
@media(prefers-reduced-motion:reduce){.van-mascot-mouth{animation:none}.van-offer-bubble{animation:none;opacity:1;transform:none}}

/* Premium navigation and services atlas. */
.site-header{position:relative;z-index:90;isolation:isolate;box-shadow:0 1px 0 rgba(23,32,38,.04)}
.desktop-nav{align-items:center}
.desktop-nav a,.services-trigger{position:relative;padding:35px 0 31px;border:0;background:transparent;color:#172026;font:600 13px/1 Arial,sans-serif;cursor:pointer}
.desktop-nav a:after,.services-trigger:after{content:"";position:absolute;left:0;right:100%;bottom:24px;height:2px;background:#254f9b;transition:right .25s ease}
.desktop-nav a:hover:after,.services-trigger:hover:after,.services-trigger[aria-expanded="true"]:after{right:0}
.services-trigger span{display:inline-block;margin-left:5px;color:#d83935;font-size:15px;transition:transform .25s ease}
.services-trigger[aria-expanded="true"] span{transform:rotate(180deg)}
.phone-cta{position:relative;display:flex;align-items:center;gap:11px;min-width:178px;padding:11px 15px 11px 10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#172026;box-shadow:0 10px 28px rgba(23,32,38,.14);transition:transform .2s ease,box-shadow .2s ease}
.phone-cta:after{content:"";position:absolute;right:14px;top:0;width:36px;height:3px;border-radius:0 0 3px 3px;background:#d83935}
.phone-cta:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(23,32,38,.2)}
.phone-cta .phone-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#254f9b;color:#fff;font-size:16px;transform:rotate(-45deg)}
.phone-cta>span:last-child{display:block;line-height:1.15}
.phone-cta small{margin-bottom:3px;color:#b9c2c8;font-size:9px;letter-spacing:.06em;text-transform:uppercase}
.phone-cta b{font-size:15px;letter-spacing:.015em;white-space:nowrap}
.services-mega{position:absolute;z-index:80;top:94px;left:0;right:0;display:grid;grid-template-columns:minmax(270px,.55fr) minmax(760px,1.45fr);gap:4.5vw;min-height:540px;padding:50px 5vw 42px;overflow:hidden;background:#151e24;color:#fff;box-shadow:0 35px 70px rgba(15,23,28,.28);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-14px);transition:opacity .26s ease,transform .32s cubic-bezier(.2,.8,.2,1),visibility .32s}
body.admin-bar .services-mega{top:126px}
.services-mega.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.services-mega:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 90%,rgba(37,79,155,.22),transparent 31%),linear-gradient(115deg,rgba(255,255,255,.025),transparent 48%);pointer-events:none}
.mega-intro,.mega-services,.mega-close{position:relative;z-index:2}
.mega-intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-right:3vw;border-right:1px solid rgba(255,255,255,.11)}
.mega-intro>p,.mega-services>div>p{margin:0 0 20px;color:#9eabb2;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.mega-intro>p:before{content:"";display:inline-block;width:25px;height:2px;margin:0 10px 3px 0;background:#d83935}
.mega-intro h2{max-width:530px;margin:0 0 40px;font-size:clamp(36px,3.4vw,55px);font-weight:600;line-height:1.02;letter-spacing:-.045em}
.mega-intro>a{display:inline-flex;align-items:center;gap:18px;padding:13px 16px;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:13px;font-weight:700;transition:background .2s ease,border-color .2s ease}
.mega-intro>a b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#254f9b;font-size:15px}
.mega-intro>a:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.4)}
.mega-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4vw;align-content:center}
.mega-services>div>p{padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12)}
.mega-services a{display:grid;grid-template-columns:1fr auto;align-items:center;min-height:49px;border-bottom:1px solid rgba(255,255,255,.09);color:#eef1f2;font-size:15px;transition:padding .22s ease,color .22s ease,border-color .22s ease}
.mega-services a span{color:#6d7a81;font-size:9px;letter-spacing:.1em;transition:color .22s ease}
.mega-services a:hover{padding-left:10px;border-color:#254f9b;color:#fff}
.mega-services a:hover span{color:#d83935}
.mega-close{position:absolute;top:20px;right:3vw;width:38px;height:38px;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:transparent;color:#fff;font-size:24px;font-weight:200;line-height:1;cursor:pointer;transition:background .2s ease,transform .2s ease}
.mega-close:hover{background:rgba(255,255,255,.08);transform:rotate(90deg)}
.tool-rain{position:absolute;z-index:1;top:0;left:0;right:0;height:92px;overflow:hidden;pointer-events:none;color:#fff;border-bottom:1px solid rgba(255,255,255,.035)}
.tool-rain span{position:absolute;left:-70px;top:18px;display:block;opacity:0;color:#fff;font-family:"Segoe UI Emoji","Segoe UI Symbol",sans-serif;filter:grayscale(1) brightness(0) invert(1);text-shadow:0 0 16px rgba(255,255,255,.35);animation:tool-roll 18s linear infinite paused;will-change:transform,opacity}
.services-mega.open .tool-rain span{animation-play-state:running}
.tool-rain span:nth-child(1){font-size:27px;animation-delay:-1.5s;animation-duration:17s}.tool-rain span:nth-child(2){top:44px;font-size:31px;animation-delay:-10s;animation-duration:21s}.tool-rain span:nth-child(3){top:12px;font-size:22px;animation-delay:-6s;animation-duration:19s}.tool-rain span:nth-child(4){top:41px;font-size:28px;animation-delay:-14s;animation-duration:23s}.tool-rain span:nth-child(5){top:20px;font-size:25px;animation-delay:-18s;animation-duration:25s}.tool-rain span:nth-child(6){top:48px;font-size:30px;animation-delay:-4s;animation-duration:22s}.tool-rain span:nth-child(7){top:10px;font-size:21px;animation-delay:-12s;animation-duration:20s}.tool-rain span:nth-child(8){top:43px;font-size:27px;animation-delay:-8s;animation-duration:24s}.tool-rain span:nth-child(9){top:17px;font-size:23px;animation-delay:-16s;animation-duration:26s}.tool-rain span:nth-child(10){top:45px;font-size:29px;animation-delay:-2s;animation-duration:21s}.tool-rain span:nth-child(11){top:13px;font-size:21px;animation-delay:-20s;animation-duration:27s}.tool-rain span:nth-child(12){top:42px;font-size:25px;animation-delay:-11s;animation-duration:25s}
@keyframes tool-roll{0%{opacity:0;transform:translate3d(-80px,0,0) rotate(-80deg)}7%{opacity:.34}50%{opacity:.28}93%{opacity:.34}100%{opacity:0;transform:translate3d(calc(100vw + 150px),0,0) rotate(920deg)}}
@media(prefers-reduced-motion:reduce){.tool-rain span{display:none}.services-mega,.services-trigger span,.mega-close{transition:none}}
@media(max-width:1100px) and (min-width:851px){.site-header{grid-template-columns:210px 1fr auto;gap:20px}.status{display:none}.brand img{width:176px}.desktop-nav{gap:20px}.services-mega{grid-template-columns:230px 1fr;gap:3vw;padding-left:3vw;padding-right:3vw}.mega-intro h2{font-size:34px}.mega-services{gap:2vw}.mega-services a{font-size:13px}}
@media(max-width:850px){.services-mega{display:none}.site-header{z-index:90}.mobile-nav{z-index:89}.desktop-nav a,.services-trigger{padding:0}.phone-cta{display:none}.menu-toggle{display:grid;width:46px;height:46px;padding:0;place-items:center;border:1px solid #34424a;border-radius:50%;background:#172026;color:#fff;font-size:0;box-shadow:0 8px 22px rgba(23,32,38,.14)}.menu-toggle:before{content:"☰";font-size:18px;line-height:1}}

.geo-section-copy>p strong{color:#20343f;font-weight:750}

/* Premium service signals. */
.signals{position:relative;z-index:3;gap:14px;padding:24px 5vw 30px;background:#f1f1ed;overflow:hidden}
.signals div{position:relative;min-height:128px;padding:25px 24px 22px 78px;overflow:hidden;border:1px solid rgba(23,32,38,.1);border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,247,243,.9));box-shadow:0 12px 34px rgba(23,32,38,.07);transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease,border-color .38s ease}
.signals div:after{content:"";position:absolute;width:100px;height:100px;right:-48px;bottom:-55px;border:1px solid rgba(37,79,155,.1);border-radius:50%;transition:transform .7s ease}
.signals div:hover{transform:translateY(-6px);border-color:rgba(37,79,155,.24);box-shadow:0 22px 48px rgba(23,32,38,.12)}
.signals div:hover:after{transform:scale(1.25) translate(-8px,-8px)}
.signals i{position:absolute;left:22px;top:25px;display:grid;place-items:center;width:39px;height:39px;border:1px solid rgba(37,79,155,.18);border-radius:11px;background:#eef2f6;color:#254f9b;font-size:12px;font-style:normal;font-weight:800;letter-spacing:.04em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);animation:signal-breathe 5s ease-in-out infinite}
.signals div:nth-child(2) i{animation-delay:-1.2s}.signals div:nth-child(3) i{animation-delay:-2.4s}.signals div:nth-child(4) i{animation-delay:-3.6s;background:#172026;color:#fff;border-color:#172026}
.signals b{margin:2px 0 4px;font-size:16px;letter-spacing:-.012em}
.signals span{font-size:12px;color:#6d777b}
@keyframes signal-breathe{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.signals i{animation:none}.signals div{transition:none}}
@media(max-width:850px){.signals{gap:10px;padding:18px}.signals div{min-height:122px;padding:68px 16px 18px}.signals i{left:16px;top:17px}.signals b{font-size:15px}}
@media(max-width:520px){.signals{grid-template-columns:1fr}.signals div{min-height:96px;padding:24px 18px 20px 74px}.signals i{left:18px;top:22px}}

.backdrop:after{background:linear-gradient(90deg,#f1f1ed 0%,rgba(241,241,237,.98) 28%,rgba(241,241,237,.55) 35%,rgba(241,241,237,0) 43%)}
@media(max-width:850px){.backdrop:after{background:linear-gradient(180deg,#f1f1ed 0%,rgba(241,241,237,.65) 28%,rgba(241,241,237,.08) 100%)}}
