@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
:root{--navy:#18344f;--deep:#10273b;--green:#397d58;--ink:#24394a;--muted:#657584;--paper:#f4f6f8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Montserrat,Arial,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;background:white;padding:12px;z-index:30}.header{position:sticky;top:0;z-index:10;background:#fff;box-shadow:0 1px 12px #0000000c}.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;flex-direction:column;line-height:1;min-width:140px}.brand-main{font-weight:800;font-size:31px;letter-spacing:4px;color:var(--navy)}.brand-rule{width:137px;height:2px;background:#a6adb3;margin:5px 0}.brand-sub{font-weight:700;color:var(--green);letter-spacing:3.5px;font-size:13px}.nav nav{display:flex;align-items:center;gap:22px;font-size:12px;font-weight:700}.nav nav a:hover,.text-link:hover{color:var(--green)}.nav-cta{background:var(--green);color:#fff!important;padding:13px 17px;border-radius:3px}.menu-toggle{display:none;background:none;border:0;font-size:25px}.hero{background:var(--deep);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:45px;align-items:center;min-height:620px}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:800;color:#a9d1b5;margin:0 0 18px}.eyebrow.dark{color:var(--green)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(53px,6.5vw,92px);line-height:1.08;letter-spacing:-3px;margin-bottom:22px}h1 em{font-style:normal;color:#75b58e}h2{font-size:clamp(29px,3.4vw,45px);line-height:1.24;letter-spacing:-1.5px}h2 span{color:var(--green)}.hero-text{color:#d0dce5;max-width:530px;font-size:15px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:29px}.btn{padding:14px 19px;font-size:12px;font-weight:800;border-radius:3px}.btn-green{background:var(--green);color:white}.btn-outline{border:1px solid #9baebd;color:white}.hero-visual{height:440px;position:relative;background:linear-gradient(140deg,#28485d,#10273b);border:1px solid #38556b;overflow:hidden}.architecture{position:absolute;inset:0;display:flex;align-items:end;gap:14px;transform:skewY(-14deg) translateY(40px);opacity:.7}.architecture span{flex:1;height:80%;background:linear-gradient(90deg,#60798a,#274359);border-left:4px solid #8ca2af;box-shadow:inset -12px 0 20px #091e2b}.architecture span:nth-child(2){height:93%}.architecture span:nth-child(3){height:72%}.architecture span:nth-child(4){height:98%}.architecture span:nth-child(5){height:87%}.visual-label{position:absolute;bottom:20px;left:20px;font-size:10px;font-weight:800;letter-spacing:1.5px;color:white}.stats{background:#eef2f3}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr)}.stat-grid>div{padding:28px 24px;border-right:1px solid #d8e0e3;display:flex;flex-direction:column;gap:2px}.stat-grid strong{font-size:23px;color:var(--navy)}.stat-grid span{font-size:11px;color:var(--muted)}.section{padding:100px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.about p,.locations p,.insights p{font-size:14px;color:#566675}.text-link{font-size:12px;font-weight:800;color:var(--green)}.services{background:var(--paper)}.section-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:30px}.section-head>p{max-width:300px;font-size:13px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.service-card{background:#fff;padding:30px 26px;min-height:225px;border-bottom:3px solid transparent}.service-card:hover{border-color:var(--green)}.card-no{font-size:12px;color:var(--green);font-weight:800}.service-card h3{font-size:17px;margin:19px 0 10px}.service-card p{font-size:12px;color:var(--muted)}.section-note{font-size:11px;color:var(--muted);margin-top:20px}.approach{background:var(--navy);color:#fff}.approach h2{max-width:750px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:45px}.steps>div{border-top:1px solid #668091;padding-top:20px}.steps span{color:#a4d1b3;font-weight:800;font-size:13px}.steps h3{font-size:16px;margin:17px 0 10px}.steps p{font-size:12px;color:#c5d1da}.locations{background:white}.city-list{background:var(--paper);padding:32px}.hq{padding-bottom:22px;border-bottom:1px solid #d4dde1;display:flex;flex-direction:column}.hq span{font-size:11px;color:var(--green);text-transform:uppercase;font-weight:800;letter-spacing:1px}.hq strong{font-size:23px}.cities{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:24px;font-size:12px;font-weight:700}.insights{background:var(--paper)}.insight-placeholder{border:1px dashed #b5c4cb;padding:45px;margin-top:30px;display:flex;flex-direction:column;gap:12px;background:white}.insight-placeholder span{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:800}.insight-placeholder strong{font-size:18px}.assignment{background:var(--green);color:#fff;padding:70px 0}.assignment-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.assignment h2{max-width:650px}.assignment p{max-width:690px;font-size:13px}.assignment .eyebrow{color:#d1e9d9}.pending{display:inline-block;border:1px solid #c9e2d2;padding:16px 20px;border-radius:3px;font-size:11px;font-weight:800;white-space:nowrap}footer{background:#0e2234;color:#c3d0d9;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-brand{font-weight:800;color:white;font-size:24px;letter-spacing:2px}.footer-brand span{color:#7fc09a}.footer-grid h3{font-size:12px;color:white}.footer-grid p,.footer-grid a{font-size:12px;display:block;margin-bottom:10px}.foot-bottom{border-top:1px solid #395063;margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;color:#9cafbd;font-size:11px}@media(max-width:900px){.nav nav{gap:10px;font-size:10px}.hero-grid{gap:20px}.service-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.wrap{width:min(100% - 34px,1160px)}.nav{min-height:75px}.menu-toggle{display:block}.nav nav{display:none;position:absolute;top:75px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 10px 18px #0002;flex-direction:column;align-items:stretch;gap:15px;font-size:13px}.nav nav.open{display:flex}.hero-grid{grid-template-columns:1fr;padding:70px 0 35px;min-height:0}.hero-visual{height:240px}.stat-grid{grid-template-columns:1fr}.stat-grid>div{border-bottom:1px solid #d8e0e3;padding:17px}.section{padding:65px 0}.two-col,.service-grid,.footer-grid{grid-template-columns:1fr;gap:22px}.section-head{display:block}.steps{grid-template-columns:1fr 1fr;gap:16px}.assignment-inner{display:block}.pending{white-space:normal}.foot-bottom{gap:15px;flex-wrap:wrap}.cities{grid-template-columns:1fr 1fr}}

/* Phase 2: official identity and refined corporate presentation */
:root{--navy:#061f57;--deep:#071d3e;--green:#347827;--ink:#19334d}
.brand{display:block;min-width:0;width:184px;line-height:0}.brand img{display:block;width:100%;height:auto;object-fit:contain}
.nav{min-height:94px}.nav nav a{transition:color .18s ease}.nav-cta,.btn-green{background:var(--green);transition:background .18s ease,transform .18s ease}.nav-cta:hover,.btn-green:hover{background:#245e1d;color:#fff!important;transform:translateY(-1px)}
.hero{background:radial-gradient(ellipse at 85% 20%,#143e65 0%,#071d3e 56%,#06172c 100%)}.hero-grid{min-height:650px}.hero-visual{border:1px solid #54708a;background:linear-gradient(145deg,#1e496b,#07182d)}.hero-art{position:absolute;inset:0;overflow:hidden}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:34px 34px}.art-beam{position:absolute;transform:skewX(-25deg) rotate(-8deg);height:130%;width:18%;top:-12%;background:linear-gradient(90deg,#67879d,#173750);box-shadow:inset 6px 0 #9bb1c0,20px 0 30px #0005}.beam-one{left:18%}.beam-two{left:50%;background:linear-gradient(90deg,#8ba1ad,#24465c)}.beam-three{left:83%}.art-circle{position:absolute;width:250px;height:250px;border:1px solid #9fb1c155;border-radius:50%;right:-85px;top:-85px}.visual-label{background:#071d3ed9;padding:12px 15px;bottom:24px;left:24px}
.service-card{box-shadow:0 5px 20px #122d3b08;transition:transform .2s ease,box-shadow .2s ease}.service-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #122d3b16}
.footer-emblem{display:block;width:86px;height:auto;margin:0 0 19px;filter:brightness(1.25)}.footer-brand{font-size:19px}.footer-grid>div:first-child{max-width:380px}
:focus-visible{outline:3px solid #7cc29b;outline-offset:3px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:680px){.nav{min-height:78px}.brand{width:135px}.hero-grid{padding-top:58px}.hero-visual{height:270px}.hero h1{font-size:clamp(51px,12vw,72px)}.footer-emblem{width:70px}}

/* Content-preservation revision */
.why{background:#f4f6f8}.why h2{margin-bottom:2rem}.why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem}.why-grid article{background:#fff;padding:1.7rem;border:1px solid #e3e8ed;border-radius:12px}.why-grid h3{font-size:1.12rem;line-height:1.4}.why-grid p{font-size:.95rem;line-height:1.75;color:#586678}.why-icon{width:60px;height:60px;border-radius:50%;background:#09245a;color:white;display:grid;place-items:center;font-size:2rem;margin-bottom:1rem}.overview-stack{display:grid;gap:1.5rem}.overview-stack h3{color:#102d49;margin-bottom:.5rem}.service-map{width:100%;height:auto;border-radius:12px;border:1px solid #e2e7ec;display:block}.map-caption{font-size:.82rem;color:#667482}.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem;margin-top:2rem}.article-grid article{border:1px solid #e1e7ee;border-radius:12px;padding:1.6rem;background:#fff}.article-grid span{font-size:.75rem;color:#34743d;font-weight:700}.article-grid h3{margin:.75rem 0}.article-grid p{color:#5c6b78;line-height:1.7}@media(max-width:850px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.why-grid,.article-grid{grid-template-columns:1fr}}

/* Version 4: editable slideshow and photo services */
.hero-visual{isolation:isolate}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity .8s ease}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover;display:block}.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#06172b88,transparent 55%)}.hero-controls{position:absolute;right:18px;bottom:17px;z-index:2;display:flex;gap:7px}.hero-controls button,.hero-dots button{cursor:pointer;background:#071d3edd;border:1px solid #c5d4df;color:white;border-radius:4px;min-width:34px;min-height:34px}.hero-dots{position:absolute;left:22px;top:18px;display:flex;gap:6px;z-index:2}.hero-dots button{min-width:12px;min-height:12px;width:12px;height:12px;border-radius:50%;padding:0}.hero-dots button[aria-current="true"]{background:#8bc49c}.service-card{padding:0;overflow:hidden}.service-card-body{padding:24px 26px}.service-card-image{display:block;width:100%;height:170px;object-fit:cover}.service-card-placeholder{height:170px;background:linear-gradient(130deg,#163a58,#587c91);position:relative;overflow:hidden}.service-card-placeholder:after{content:"";position:absolute;inset:-35% 20%;transform:rotate(30deg);border-left:20px solid #ffffff25;border-right:10px solid #ffffff19}.service-card a{color:var(--navy);text-decoration:underline;text-decoration-color:#347827;text-underline-offset:5px}.service-card h3{margin:10px 0}.service-card p{margin:0;color:#5d6e7b;font-size:12px}.hero-visual .visual-label{bottom:20px;left:20px;max-width:65%}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Version 5: exact Rowe corporate colors and animated Our Numbers */
:root{--navy:#012060;--deep:#012060;--green:#3C7828;--ink:#19334d}
.hero{background:linear-gradient(115deg,#061a39 0%,#012060 100%)}
.hero h1 em{color:#8fc08b}
.hero-visual{border-color:#537097}
.hero-controls button,.hero-dots button{background:#012060dd}
.hero-dots button[aria-current="true"]{background:#3C7828}
.visual-label{background:#012060dc}
.why-icon{background:var(--navy)}
.article-grid span{color:var(--green)}
.service-card a{text-decoration-color:var(--green)}
.footer-brand span{color:#8fc08b}
footer{background:#061a39}
.numbers{background:#fff;text-align:center;padding:85px 0 95px}
.numbers h2{color:#30343b;font-size:clamp(32px,4vw,50px);letter-spacing:2px;margin:0 0 60px;font-weight:800}
.numbers-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.number-item{min-width:0}
.number-item strong{display:block;color:var(--navy);font-size:clamp(36px,4.4vw,62px);font-weight:700;line-height:1.2;letter-spacing:-2px;font-variant-numeric:tabular-nums}
.number-item p{max-width:260px;margin:10px auto 0;color:#66717b;font-size:clamp(13px,1.3vw,17px);line-height:1.65}
@media(max-width:800px){.numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:35px}.numbers h2{margin-bottom:38px}}
@media(max-width:480px){.numbers{padding:60px 0}.numbers-grid{gap:30px 14px}.number-item strong{font-size:38px}.number-item p{font-size:12px}}

/* Footer uses the supplied horizontal emblem and lettering artwork. */
.footer-combined-logo{display:block;width:min(100%,365px);height:auto;object-fit:contain;margin:0 0 16px}
@media(max-width:680px){.footer-combined-logo{width:min(100%,320px)}}

/* V7: Animated headline inspired by the existing Rowe homepage. */
.hero-animated-line{display:block;font-size:clamp(22px,3vw,39px);line-height:1.25;letter-spacing:.01em;margin-top:28px;min-height:1.5em;font-weight:800;color:#fff}.hero-animated-prefix{color:#fff}.hero-animated-word{display:inline-block;color:#8fc08b;transition:opacity .35s ease,transform .35s ease}.hero-animated-word.is-changing{opacity:0;transform:translateY(12px)}@media(max-width:680px){.hero-animated-line{font-size:clamp(19px,5.5vw,28px);margin-top:22px}}@media(prefers-reduced-motion:reduce){.hero-animated-word{transition:none}}

/* V9: restored original full-width, photographic hero layout. */
.hero.hero-full{position:relative;isolation:isolate;min-height:clamp(570px,70vh,760px);display:flex;align-items:center;justify-content:center;text-align:center;background:#012060;color:#fff;overflow:hidden}
.hero-full .hero-slides,.hero-full .hero-slide{position:absolute;inset:0;z-index:-3}
.hero-full .hero-slide img{object-fit:cover;object-position:center;width:100%;height:100%}
.hero-full .hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,15,45,.40),rgba(0,15,45,.52))}
.hero-center{position:relative;z-index:1;padding:110px 0 125px;display:flex;align-items:center;flex-direction:column}
.hero-animated-title{font-size:clamp(45px,6.3vw,98px);font-weight:800;letter-spacing:.035em;line-height:1.15;margin:0 0 30px;color:white;text-shadow:0 3px 22px #0007}
.hero-animated-title .hero-animated-prefix{color:white}.hero-animated-title .hero-animated-word{color:white;transition:opacity .35s ease,transform .35s ease}
.hero-tagline{font-size:clamp(16px,1.65vw,25px);font-style:italic;line-height:1.6;color:white;max-width:1250px;margin:0 auto 42px;text-shadow:0 2px 12px #000a}
.hero-tagline strong{font-weight:800}
.hero-submit{background:#012060;border-radius:3px;color:white;padding:18px 34px;font-size:16px;box-shadow:0 6px 24px #0004}.hero-submit:hover{background:#3C7828}
.hero-bottom-controls{position:absolute;bottom:17px;right:22px;display:flex;align-items:center;gap:7px;z-index:3}.hero-bottom-controls>button{background:#012060cc;color:#fff;border:1px solid #fff7;border-radius:3px;width:36px;height:36px;cursor:pointer}.hero-bottom-controls .hero-dots{position:static;display:flex;align-items:center;margin-left:8px}
@media(max-width:680px){.hero.hero-full{min-height:560px}.hero-center{padding:95px 0 110px}.hero-animated-title{font-size:clamp(34px,8vw,54px);letter-spacing:0}.hero-tagline{font-size:17px}.hero-submit{font-size:13px}}
@media(prefers-reduced-motion:reduce){.hero-full .hero-slide,.hero-full .hero-animated-word{transition:none!important}}

/* V10: smaller original-style two-line hero typography */
.hero-full .hero-animated-title{font-size:clamp(32px,4.15vw,66px);line-height:1.15;letter-spacing:.015em;margin-bottom:25px;white-space:nowrap}
.hero-full .hero-tagline{font-size:clamp(13px,1.22vw,19px);line-height:1.5;max-width:none;white-space:nowrap;margin-bottom:38px}
@media(max-width:1100px){.hero-full .hero-tagline{white-space:normal;max-width:94%}}
@media(max-width:680px){.hero-full .hero-animated-title{font-size:clamp(25px,6.5vw,42px);letter-spacing:0;white-space:normal}.hero-full .hero-tagline{font-size:clamp(13px,3.6vw,16px);white-space:normal}}

/* V12: traditional editorial list for Technical Insights */
.insights-list{display:grid;gap:0;margin-top:2rem}.insight-row{display:grid;grid-template-columns:minmax(210px,32%) 1fr;gap:32px;padding:26px 0;border-bottom:1px solid #dce3e8;align-items:start}.insight-image-link{display:block;aspect-ratio:2/1;overflow:hidden;background:#e9eef2}.insight-image-link img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}.insight-image-link:hover img{transform:scale(1.035)}.insight-image-fallback{display:grid;place-items:center;background:linear-gradient(125deg,#012060,#345a75);color:#fff;font-weight:700;letter-spacing:.12em;font-size:.9rem}.insight-row-content h3{font-size:clamp(19px,2vw,25px);line-height:1.35;font-weight:600;margin:12px 0 16px}.insight-row-content h3 a{color:#19334d;text-decoration:none}.insight-row-content h3 a:hover{color:#3C7828;text-decoration:underline}.insight-meta{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#012060}.insight-row-content>p:last-child{color:#66717b;line-height:1.75;margin:0}.insights-more{margin-top:30px}.insights-page{padding-top:75px;padding-bottom:95px}.insights-page h1{color:#012060;font-size:clamp(30px,4vw,50px)}.insights-intro{max-width:980px}.article-body{max-width:900px}.article-body img{max-width:100%;height:auto}@media(max-width:700px){.insight-row{grid-template-columns:1fr;gap:14px}.insight-image-link{max-width:100%;aspect-ratio:16/9}}

/* Contact and assignment */
.form-page{max-width:900px;margin:0 auto}.form-page h1{color:#012060}.assignment-form{margin-top:30px;display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.assignment-form label{display:grid;gap:8px;font-weight:600;color:#012060}.assignment-form input,.assignment-form select,.assignment-form textarea{font:inherit;padding:12px;border:1px solid #bac3cc;border-radius:3px;width:100%;background:white;color:#182d43}.assignment-form .form-check{display:flex;align-items:flex-start;gap:12px;font-weight:400}.assignment-form .form-check input{width:auto;margin-top:5px}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-notice{padding:16px;border-left:4px solid #3C7828;background:#f2f6ef}@media(max-width:680px){.form-grid{grid-template-columns:1fr}}

/* Migrated Technical Insights */
.article-wrap{max-width:900px}.article-wrap h1{color:#012060;line-height:1.18}.article-meta{color:#5b6675;font-size:.88rem}.article-content{line-height:1.85;color:#253449}.article-content h2,.article-content h3,.article-content h4{color:#012060;margin-top:1.8em}.article-content img{max-width:100%;height:auto}.article-content figure{max-width:100%;margin:28px 0}.article-content figcaption{font-size:.85rem;color:#5b6675}.article-list{margin-top:36px}.article-list-item{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;padding:30px 0;border-bottom:1px solid #d9dee4}.article-list-item h2{font-size:1.35rem;margin:5px 0 12px;line-height:1.3}.article-list-item h2 a{color:#012060;text-decoration:none}.article-list-item h2 a:hover{color:#3C7828}.article-thumb{display:block;width:100%;height:160px;overflow:hidden;background:#edf1f4}.article-thumb img{width:100%;height:100%;object-fit:cover}.article-list-item p{margin:0 0 12px}@media(max-width:650px){.article-list-item{grid-template-columns:1fr}.article-thumb{height:200px}}

/* V20: white Rowe Forensics footer, consistent contact spacing */
footer{background:#fff;color:#012060;border-top:7px solid #3C7828;padding:70px 0 25px}
footer .footer-grid{grid-template-columns:minmax(0,1.65fr) minmax(170px,.9fr) minmax(245px,1fr);gap:clamp(25px,5vw,90px);align-items:start}
footer .footer-grid h3{color:#012060;font-size:16px;font-weight:800;margin:0 0 24px}
footer .footer-grid p,footer .footer-grid a{color:#012060;font-size:14px;line-height:1.7}
footer .footer-grid a{text-decoration:none}
footer .footer-grid a:hover{text-decoration:underline;color:#3C7828}
footer .footer-logo-col p{margin-top:12px}
footer .footer-contact-col .footer-address{margin:0 0 24px}
footer .footer-contact-details{display:grid;gap:13px}
footer .footer-contact-details p{margin:0;display:flex;gap:6px;flex-wrap:wrap}
footer .footer-contact-details strong{font-weight:700}
footer .foot-bottom{border-top:1px solid #cbd1d7;color:#012060;margin-top:60px;padding-top:22px}
footer .footer-combined-logo{max-width:100%;width:min(100%,440px);height:auto;object-fit:contain}
@media(max-width:800px){footer .footer-grid{grid-template-columns:1fr 1fr;gap:35px}footer .footer-logo-col{grid-column:1/-1}}
@media(max-width:520px){footer{padding:45px 0 22px}footer .footer-grid{grid-template-columns:1fr;gap:30px}footer .footer-logo-col{grid-column:auto}footer .footer-grid h3{margin-bottom:12px}footer .foot-bottom{margin-top:35px}}

/* V21: smaller footer logo, preserve original aspect ratio */
footer .footer-combined-logo{width:min(100%,310px);max-width:310px;height:auto;display:block;margin:0}
@media(max-width:520px){footer .footer-combined-logo{width:min(100%,270px)}}
/* V23 interactive service area map and aligned footer contact details */
#interactive-service-map{position:relative;width:100%;min-height:270px;border:1px solid #e2e7ec;border-radius:12px;overflow:hidden;background:#fff}
#interactive-service-map svg{display:block;width:100%;height:auto;aspect-ratio:900/540}
.map-state{stroke:#fff;stroke-width:1.1;cursor:default;transition:filter .12s ease;outline:none}
.map-state:hover,.map-state:focus{filter:brightness(1.22);stroke:#0c244d;stroke-width:1.8}
.map-current{fill:#012060}.map-soon{fill:#3C7828}.map-none{fill:#a8adb5}
.map-offices circle{fill:#3C7828;stroke:#fff;stroke-width:1.8;pointer-events:none}
.map-state-tooltip{position:absolute;transform:translate(-50%,-100%);pointer-events:none;background:#fff;color:#012060;padding:5px 10px;border:1px solid #cbd1d7;border-radius:5px;font-size:13px;font-weight:700;white-space:nowrap;box-shadow:0 2px 10px #0002}
.map-legend{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:13px;color:#012060;font-size:12px}
.map-legend span{display:flex;align-items:center;gap:7px}.map-legend i{width:13px;height:13px;display:inline-block;border-radius:2px}
.map-load-note{padding:8px 14px;color:#012060;font-size:12px}
footer .footer-contact-details{gap:0}
footer .footer-contact-details p{margin:0 0 10px;line-height:1.7}
footer .footer-contact-col .footer-address{margin:0 0 10px}

/* Version 24: centered full-width service area map */
.locations .locations-centered{display:flex;flex-direction:column;gap:30px;align-items:stretch}
.locations-heading{text-align:center}
.locations-map-content{width:min(100%,1000px);margin-inline:auto}
.locations #interactive-service-map{min-height:0}
.locations #interactive-service-map svg{aspect-ratio:900/540}
.locations .map-legend{justify-content:center;align-items:center;gap:14px 24px}
.map-offices polygon{fill:#3C7828;stroke:#fff;stroke-width:2;stroke-linejoin:round;pointer-events:none}
.office-legend-star{width:17px;height:17px;flex:none;overflow:visible}
.office-legend-star path{fill:#3C7828;stroke:#012060;stroke-width:1.25;stroke-linejoin:round}
@media(max-width:700px){.locations .locations-centered{gap:18px}.locations-map-content{width:100%}.locations .map-legend{gap:10px 14px}}

/* V25: Footer uses identical logo asset and rendered width as header. */
footer .footer-combined-logo{width:184px;max-width:100%;height:auto;object-fit:contain;margin:0;display:block}
@media(max-width:680px){footer .footer-combined-logo{width:135px}}

/* V26: balanced map and synchronized state lists */
.locations .locations-heading{text-align:center;margin-bottom:34px}
.locations .service-area-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,1fr);gap:22px;align-items:stretch}
.locations .locations-map-content{width:100%;min-width:0;margin:0}
.locations #interactive-service-map{width:100%;min-height:0;aspect-ratio:1.6;display:flex;align-items:center;justify-content:center;padding:14px;overflow:hidden}
.locations #interactive-service-map svg{width:100%;height:100%;aspect-ratio:auto;display:block;overflow:visible}
.locations #interactive-service-map .service-map{max-height:100%;object-fit:contain;border:0}
.locations .map-legend{justify-content:center;gap:12px 16px;font-size:11px}
.service-state-panels{display:flex;flex-direction:column;gap:16px;min-width:0}
.service-state-panel{border:1px solid #dce4ec;border-radius:12px;overflow:hidden;flex:1;background:#f8fafc}
.service-state-panel h3{color:white;background:#012060;margin:0;padding:15px 19px;font-size:16px;line-height:1.4;letter-spacing:0}
.service-state-panel ul{list-style:none;margin:0;padding:18px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px;color:#012060;font-size:13px;line-height:1.55}
.service-state-panel li{margin:0}
.service-state-panel.soon-panel{background:#f2f8f0;flex:0 0 auto;min-height:160px}
.service-state-panel.soon-panel h3{background:#3C7828}
.service-state-panel.soon-panel ul{grid-template-columns:1fr}
@media(max-width:820px){.locations .service-area-layout{grid-template-columns:1fr}.locations #interactive-service-map{aspect-ratio:1.7}.service-state-panel ul{grid-template-columns:repeat(3,minmax(0,1fr))}.service-state-panel.soon-panel ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.locations #interactive-service-map{aspect-ratio:1.45;padding:6px}.service-state-panel ul,.service-state-panel.soon-panel ul{grid-template-columns:repeat(2,minmax(0,1fr));font-size:12px}}

/* V29: editorial typography for Technical Insights articles */
.article-wrap > h1{font-size:clamp(1.8rem,2.7vw,2.55rem);line-height:1.28;letter-spacing:-.025em;font-weight:600;margin:14px 0 14px}
.article-wrap{max-width:1060px}
.article-wrap .article-content{font-size:1rem;line-height:1.8}
.article-content .wp-block-media-text{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr)!important;gap:28px;align-items:start;margin:26px 0}
.article-content .wp-block-media-text__media{margin:0;max-width:200px}
.article-content .wp-block-media-text__media img{width:100%;height:auto;display:block}
@media(max-width:600px){.article-wrap > h1{font-size:1.75rem}.article-content .wp-block-media-text{grid-template-columns:1fr!important}.article-content .wp-block-media-text__media{max-width:200px}}

/* Consistent interior page headings. Homepage hero and article titles are unchanged. */
.form-page > h1, .insights-page > h1 {font-size:clamp(30px,3.4vw,52px);line-height:1.16;letter-spacing:-.035em;font-weight:700;margin:18px 0 24px;}
@media(max-width:900px){.form-page > h1,.insights-page > h1{font-size:clamp(30px,4.2vw,36px);}}
@media(max-width:600px){.form-page > h1,.insights-page > h1{font-size:30px;letter-spacing:-.025em;}}
