/* Exact public-site visual alignment with the Sousa Murray Group corporate redesign v2. */
:root{--sm-bg:hsl(216 28% 95%);--sm-card:hsl(216 30% 98%);--sm-text:hsl(220 38% 12%);--sm-muted:hsl(216 18% 30%);--sm-border:hsl(215 22% 82%);--sm-soft:hsl(215 24% 91%);--sm-primary:#2563eb;--sm-navy:#071a38;--sm-footer:#06152e}
:root[data-sm-theme="dark"]{--sm-bg:hsl(220 36% 9%);--sm-card:hsl(220 34% 12%);--sm-text:hsl(214 32% 94%);--sm-muted:hsl(215 18% 72%);--sm-border:hsl(219 25% 24%);--sm-soft:hsl(219 30% 16%)}

/* Header: same density, width, logo treatment and controls as the Group website. */
.sm-header{background:color-mix(in srgb,var(--sm-bg) 88%,transparent)!important;border-bottom:1px solid color-mix(in srgb,var(--sm-border) 80%,transparent)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important}
.sm-container-wide{width:min(calc(100% - 48px),1440px)!important}
.sm-header-inner{height:82px!important;gap:20px!important}
.sm-header-logo{min-width:0!important;flex:0 0 auto!important}
.sm-logo{width:230px!important;height:auto!important;max-width:230px!important;max-height:58px!important;object-fit:contain!important;object-position:left center!important}
.sm-desktop-nav{gap:2px!important;margin-left:18px!important;margin-right:auto!important}
.sm-nav-link{padding:8px 11px!important;border-radius:999px!important;font-size:13px!important;font-weight:650!important;color:var(--sm-muted)!important}
.sm-nav-link:hover,.sm-nav-link.active{background:var(--sm-soft)!important;color:var(--sm-text)!important}
.sm-header-actions{gap:8px!important}
.sm-icon-btn{width:40px!important;height:40px!important;border-radius:12px!important;background:var(--sm-soft)!important;color:var(--sm-muted)!important}
.sm-account-btn{min-height:42px!important;padding:0 18px!important;border-radius:8px!important;background:#0A2A5E!important;font-size:13px!important;font-weight:800!important}
.sm-account-btn:hover{background:#123B80!important}

/* Hero: copy the corporate-redesign-v2 proportions rather than the former oversized marketing hero. */
.sm-hero,.sm-page-hero,.sm-service-hero{background:linear-gradient(135deg,#071a38 0%,#0a2854 58%,#12376e 100%)!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.10)!important}
.sm-hero-bg{display:none!important}
.sm-hero:before,.sm-page-hero:before,.sm-service-hero:before{display:none!important}
.sm-hero:after,.sm-page-hero:after,.sm-service-hero:after{z-index:0!important;background:radial-gradient(circle at 85% 15%,rgba(73,130,255,.24),transparent 32%)!important;opacity:.4!important}
.sm-hero>.sm-container,.sm-page-hero>.sm-container,.sm-service-hero>.sm-container{position:relative!important;z-index:1!important}
.sm-container{width:min(calc(100% - 40px),1280px)!important}
.sm-hero-grid,.sm-service-hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;align-items:center!important;gap:56px!important;padding:72px 0 78px!important}
.sm-kicker{font-size:.72rem!important;font-weight:800!important;letter-spacing:.16em!important;color:#bfdbfe!important}
.sm-kicker>span{display:none!important}
.sm-hero h1,.sm-service-hero h1{max-width:700px!important;margin:16px 0 0!important;font-size:clamp(2.3rem,4vw,3.85rem)!important;line-height:1.06!important;letter-spacing:-.028em!important;font-weight:800!important}
.sm-hero h1 br{display:none!important}
.sm-hero h1 em{font-style:normal!important;color:#fff!important}
.sm-hero>div p,.sm-service-lead{max-width:680px!important;margin:20px 0 0!important;font-size:16px!important;line-height:1.65!important;color:rgba(255,255,255,.76)!important}
.sm-hero-actions{margin-top:26px!important;gap:10px!important}
.sm-btn{min-height:40px!important;padding:0 20px!important;border-radius:6px!important;font-size:13px!important;font-weight:750!important}
.sm-btn-light{box-shadow:none!important}
.sm-btn-light:hover{transform:none!important}

/* Right hand hero panel: exact restrained Group card style. */
.sm-glass-card{width:100%!important;max-width:500px!important;justify-self:end!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:12px!important;background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.07))!important;box-shadow:0 18px 45px -30px rgba(0,0,0,.55)!important;backdrop-filter:blur(14px) saturate(1.04)!important;-webkit-backdrop-filter:blur(14px) saturate(1.04)!important}
.sm-glass-card>.sm-overline{margin:22px 24px 0!important;font-size:.72rem!important;letter-spacing:.16em!important}
.sm-glass-card>h2{margin:8px 24px 20px!important;font-size:17px!important;line-height:1.3!important;letter-spacing:-.01em!important;font-weight:750!important}
.sm-facts{border-top:1px solid rgba(255,255,255,.15)!important}
.sm-facts>div{grid-template-columns:120px 1fr!important;gap:20px!important;padding:13px 24px!important;min-height:51px!important}
.sm-facts b{font-size:14px!important;font-weight:750!important}
.sm-facts span{font-size:12px!important;line-height:1.5!important;color:rgba(255,255,255,.62)!important}

/* Fact strip: same height and hierarchy as screenshot 2. */
.sm-fact-strip{background:var(--sm-card)!important}
.sm-fact-grid>div{padding:20px 24px!important}
.sm-fact-grid span{font-size:.72rem!important;letter-spacing:.16em!important;color:var(--sm-muted)!important}
.sm-fact-grid b{margin-top:5px!important;font-size:15px!important;font-weight:750!important}

/* Interior section rhythm from corporate redesign v2. */
.sm-section{padding:58px 0 66px!important;background:var(--sm-bg)!important}
.sm-soft{background:var(--sm-soft)!important}
.sm-two-col{grid-template-columns:.82fr 1.18fr!important;gap:56px!important}
.sm-overline{font-size:.72rem!important;font-weight:800!important;letter-spacing:.16em!important}
.sm-two-col h2,.sm-section-head h2,.sm-dark-section h2,.sm-cta h2{margin-top:12px!important;font-size:clamp(1.7rem,2.8vw,2.65rem)!important;line-height:1.14!important;letter-spacing:-.022em!important;font-weight:750!important}
.sm-rich-copy{font-size:15px!important;line-height:1.7!important}
.sm-muted-intro{font-size:15px!important;line-height:1.7!important}
.sm-section-head{margin-bottom:28px!important}
.sm-section-head>a,.sm-inline-links a,.sm-text-link{font-size:13px!important}

/* Service lists and content panels are deliberately flatter, like the Group information routes. */
.sm-service-row{grid-template-columns:42px 46px minmax(0,1fr) 24px!important;gap:16px!important;padding:20px 10px!important}
.sm-row-number{font-size:11px!important;letter-spacing:.12em!important}
.sm-row-icon,.sm-large-icon{width:40px!important;height:40px!important;border-radius:7px!important}
.sm-row-title h3{font-size:16px!important;font-weight:750!important}
.sm-row-main p{margin-top:6px!important;font-size:13px!important;line-height:1.6!important}
.sm-row-audiences{font-size:10px!important}
.sm-status{border-radius:5px!important}
.sm-steps>div{grid-template-columns:48px 1fr!important;gap:18px!important;padding:20px 0!important}
.sm-steps h3{font-size:17px!important}
.sm-steps p{font-size:14px!important}
.sm-process-grid article{min-height:210px!important;padding:22px 20px!important}
.sm-process-grid h3{margin-top:26px!important;font-size:17px!important}
.sm-process-grid p{font-size:12.5px!important}
.sm-detail-grid article,.sm-support-grid article{border-radius:12px!important;padding:24px!important;box-shadow:none!important}
.sm-audience-card{border-radius:12px!important;padding:22px!important}
.sm-cta{border-radius:12px!important;padding:34px 38px!important}

/* Page/service hero density also follows Group site rather than giant display pages. */
.sm-page-hero{padding:64px 0 70px!important}
.sm-page-hero h1{max-width:760px!important;margin-top:14px!important;font-size:clamp(2.3rem,4vw,3.85rem)!important;line-height:1.06!important;letter-spacing:-.028em!important;font-weight:800!important}
.sm-page-hero p{max-width:720px!important;margin-top:18px!important;font-size:16px!important;line-height:1.65!important}
.sm-service-title-line{margin-top:20px!important}
.sm-service-strapline{font-size:19px!important}

/* Footer: same corporate footer proportions and logo treatment. */
.sm-footer{background:#06152E!important}
.sm-footer-grid{grid-template-columns:1.25fr .75fr .75fr .75fr!important;gap:48px!important;padding-top:52px!important;padding-bottom:42px!important}
.sm-footer-logo-box{display:inline-flex!important;background:#fff!important;border-radius:12px!important;padding:10px 14px!important}
.sm-logo-footer{width:220px!important;height:auto!important;max-width:220px!important;max-height:50px!important}
.sm-footer-brand p{max-width:430px!important;font-size:13px!important;line-height:1.7!important;color:rgba(255,255,255,.62)!important}
.sm-footer h3{font-size:11px!important;letter-spacing:.18em!important;color:#bfdbfe!important}
.sm-footer a{font-size:13px!important;color:rgba(255,255,255,.62)!important}
.sm-footer-bottom{padding-top:22px!important;padding-bottom:28px!important;font-size:11px!important;color:rgba(255,255,255,.52)!important}

@media(max-width:1100px){.sm-desktop-nav{display:none!important}.sm-menu-btn{display:grid!important}.sm-hero-grid,.sm-service-hero-grid{grid-template-columns:1fr!important}.sm-glass-card{justify-self:start!important;max-width:620px!important}.sm-two-col,.sm-dark-grid{grid-template-columns:1fr!important;gap:34px!important}.sm-footer-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:640px){.sm-container,.sm-container-wide{width:min(calc(100% - 32px),1280px)!important}.sm-header-inner{height:72px!important}.sm-logo{width:185px!important;max-width:185px!important}.sm-account-btn{display:none!important}.sm-hero-grid,.sm-service-hero-grid{padding:52px 0 58px!important;gap:34px!important}.sm-hero h1,.sm-service-hero h1,.sm-page-hero h1{font-size:2.4rem!important}.sm-fact-grid{grid-template-columns:1fr!important}.sm-fact-grid>div{border-left:0!important;border-right:0!important;border-top:1px solid var(--sm-border)!important}.sm-fact-grid>div:first-child{border-top:0!important}.sm-process-grid{grid-template-columns:1fr!important}.sm-footer-grid{grid-template-columns:1fr!important}.sm-footer-bottom{display:block!important}.sm-glass-card{max-width:none!important}}
