/* Final public UI cleanup: simple, modern, flat surfaces, smaller type, no glass. */
html{background:#fff}
body{background:#fff}
*,*::before,*::after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* Header: solid and readable, never frosted. */
.inner-page .site-header .nav nav{
  background:#f7fafc!important;
  border-color:#dbe8ef!important;
  box-shadow:0 10px 28px rgba(9,48,70,.10)!important;
}
.inner-page .site-header .nav nav a{color:#355469}

/* Homepage header is intentionally background-free and floats over the hero. */
.home-page .site-header.site-header--overlay,
.home-page .site-header.site-header--overlay .nav,
.home-page .site-header.site-header--overlay .nav nav{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* Balanced sitewide display sizes. */
.home-page .home-hero-modern .slide-copy h1{font-size:clamp(42px,4.6vw,72px)!important;line-height:1!important;letter-spacing:-.05em!important}
.home-intro-heading h2,.home-section-head h2,.home-direction-intro h2{font-size:clamp(36px,4vw,58px)!important;letter-spacing:-.045em!important}
.page-banner-title,.editorial-banner h1,.companies-v5-copy h1{font-size:clamp(42px,5vw,72px)!important;line-height:1!important;letter-spacing:-.04em!important}
.contact-page-hero h1,.about-page-hero h1{font-size:clamp(42px,5vw,72px)!important}

/* Homepage: replace translucent/glass cards with solid surfaces. */
.home-page .home-hero-modern .slide-kicker{background:#0b3348!important;border-color:#215169!important}
.home-page .home-hero-modern .hero-identity{background:#0b2d40!important;border-color:#214b60!important;box-shadow:0 16px 36px rgba(0,0,0,.18)!important}
.hero-slider .hero-tabs{background:#0a2637!important;border-color:#24495d!important;box-shadow:0 20px 42px rgba(0,0,0,.22)!important}
.hero-slider .hero-arrows button{background:#0a2637!important;border-color:#355b6e!important}
.home-stat-grid>div,.home-board-card{background:#fff!important}
.home-company-card{background:#0d3042!important;border-color:#244758!important}
.home-company-card .card-image>span{background:#0a2637!important}
.home-portfolio-modern .home-section-link{background:#0b3348!important}

/* CTA: use the CMS-selected image as the full-width background. */
.home-cta-modern{
  padding:0!important;
  background-color:#0a2637!important;
  background-image:
    linear-gradient(90deg,rgba(4,24,36,.88) 0%,rgba(4,24,36,.72) 46%,rgba(4,24,36,.46) 100%),
    var(--home-cta-image,linear-gradient(135deg,#0b536f,#0a789d))!important;
  background-size:cover!important;
  background-position:var(--home-cta-image-position,center)!important;
  background-repeat:no-repeat!important;
  color:#fff!important;
  isolation:isolate;
}
.home-cta-modern:before{
  display:block!important;
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.16));
}
.home-cta-modern .container{width:100%!important;max-width:none!important;position:relative;z-index:1}
.home-cta-card{
  min-height:390px!important;
  border:0!important;
  border-radius:0!important;
  padding:72px max(24px,calc((100vw - 1180px)/2))!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
}
.home-cta-card:before,.home-cta-card:after{display:none!important}
.home-cta-kicker{
  position:relative!important;
  z-index:2!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 16px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:999px!important;
  background:rgba(3,25,40,.88)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  text-shadow:0 1px 8px rgba(0,0,0,.55)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.home-cta-kicker:before{
  content:""!important;
  width:8px!important;
  height:8px!important;
  flex:0 0 8px!important;
  border-radius:50%!important;
  background:#68d1f2!important;
  box-shadow:0 0 0 4px rgba(104,209,242,.16),0 0 16px rgba(104,209,242,.55)!important;
}
.home-cta-modern h2{font-size:clamp(34px,4vw,54px)!important;max-width:780px!important;color:#fff!important;text-shadow:0 3px 24px rgba(0,0,0,.22)}
.home-cta-button{background:#0b78b4!important;color:#fff!important;box-shadow:0 14px 30px rgba(0,0,0,.18)!important;border-radius:10px!important}

/* Main Companies page: solid cards and smaller company names. */
.companies-v5-portfolio{background:#f3f7f9!important}
.companies-v5-entry{background:#fff!important;border:1px solid #dce7ec!important;box-shadow:0 12px 34px rgba(17,61,83,.07)!important;border-radius:18px!important}
.companies-v5-entry:hover{box-shadow:0 18px 42px rgba(17,61,83,.10)!important;border-color:color-mix(in srgb,var(--company-accent,#0b78b4) 38%,#dce7ec)!important}
.companies-v5-entry-main h2{font-size:clamp(32px,3.3vw,48px)!important;line-height:1!important}
.companies-v5-entry-top small{color:var(--company-accent,#0b78b4)!important}
.companies-v5-entry-action i{background:var(--company-accent,#0b78b4)!important}

/* Concern/company detail pages: use the company's CMS accent color and simple solid sections. */
.concern-v3{
  --c-blue:var(--company-accent,#0b78b4)!important;
  --c-sky:color-mix(in srgb,var(--company-accent,#0b78b4) 55%,white)!important;
  background:#fff!important;
}
.concern-v3-hero{background:#f4f8fa!important}
.concern-v3-hero:before{opacity:.34!important}
.concern-v3-logo{background:#fff!important;border-color:#dbe6eb!important;box-shadow:0 10px 28px rgba(11,47,67,.07)!important}
.concern-v3-eyebrow,.concern-v3-section-rail b,.concern-v3-story-meta b{color:var(--company-accent,#0b78b4)!important}
.concern-v3-eyebrow span,.concern-v3-about-media>span,.concern-v3-commitment-label:after{background:var(--company-accent,#0b78b4)!important}
.concern-v3-hero h1{font-size:clamp(42px,5vw,68px)!important;line-height:.98!important;letter-spacing:-.045em!important}
.concern-v3-summary{font-size:17px!important;line-height:1.72!important}
.concern-v3-hero-link,.concern-v3-primary-action{background:var(--company-accent,#0b78b4)!important;box-shadow:none!important;border-radius:9px!important}
.concern-v3-hero-visual{border-radius:20px!important;box-shadow:0 18px 48px rgba(5,38,58,.13)!important}
.concern-v3-facts-grid{background:#fff!important;border-color:#dce7ec!important;border-radius:16px!important;box-shadow:0 12px 30px rgba(12,46,66,.07)!important}
.concern-v3-section{padding:84px 0!important}
.concern-v3-about-copy{font-size:17px!important}
.concern-v3-section-head h2,.concern-v3-additional-title h2,.concern-v3-story-copy h2{font-size:clamp(34px,3.8vw,50px)!important;line-height:1.04!important}

/* Services: simple brand-colored full-width section with flat cards. */
.concern-v3-services{
  background:var(--company-accent,#0b78b4)!important;
  color:#fff!important;
}
.concern-v3-services:before{display:none!important}
.concern-v3-service-grid{gap:12px!important}
.concern-v3-service-grid article{
  min-height:150px!important;
  background:color-mix(in srgb,var(--company-accent,#0b78b4) 88%,black)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.concern-v3-service-grid article:before{display:none!important}
.concern-v3-service-grid article:after{background:#fff!important;height:2px!important}
.concern-v3-service-grid h3{font-size:clamp(20px,2vw,26px)!important;margin-top:24px!important}
.concern-v3-service-top:before{content:none!important;display:none!important}
.concern-v3-service-top i{background:transparent!important;border:1px solid rgba(255,255,255,.3)!important}

/* Additional services: flat white list/cards. */
.concern-v3-additional{background:#f4f8fa!important}
.concern-v3-additional-list{gap:10px!important}
.concern-v3-additional-list>div{
  min-height:78px!important;
  padding:16px 18px 16px 56px!important;
  background:#fff!important;
  border:1px solid #dce7ec!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
.concern-v3-additional-list>div:before{background:var(--company-accent,#0b78b4)!important;color:#fff!important;box-shadow:none!important}
.concern-v3-additional-list b{font-size:16px!important}

/* Commitment: simple full-width tinted block, no floating/glass card. */
.concern-v3-commitment{padding:0!important;background:#fff!important}
.concern-v3-commitment-grid{
  width:100%!important;
  max-width:none!important;
  border:0!important;
  border-radius:0!important;
  padding:72px max(24px,calc((100vw - 1180px)/2))!important;
  background:color-mix(in srgb,var(--company-accent,#0b78b4) 7%,white)!important;
  box-shadow:none!important;
}
.concern-v3-commitment-grid:before{display:none!important}
.concern-v3-commitment-grid:after{color:color-mix(in srgb,var(--company-accent,#0b78b4) 12%,transparent)!important;font-size:160px!important}
.concern-v3-commitment-label b{color:var(--company-accent,#0b78b4)!important}
.concern-v3-commitment-copy,.concern-v3-commitment-copy p{font-size:clamp(22px,2.2vw,30px)!important;color:#18323f!important}

/* Concern CTA: full-width simple brand background. */
.concern-v3-cta{padding:0!important;background:var(--company-accent,#0b78b4)!important;color:#fff!important}
.concern-v3-cta:before{display:none!important}
.concern-v3-cta-grid{
  width:min(1220px,calc(100% - 48px))!important;
  min-height:330px!important;
  margin:auto!important;
  padding:64px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.concern-v3-cta-grid:after{display:none!important}
.concern-v3-cta-side{border-color:rgba(255,255,255,.24)!important}
.concern-v3-cta-side span{color:#fff!important}
.concern-v3-cta-main h2{font-size:clamp(34px,4vw,54px)!important;color:#fff!important}
.concern-v3-cta-copy,.concern-v3-cta-copy p{color:rgba(255,255,255,.88)!important}
.concern-v3-primary-action{background:#fff!important;color:var(--company-accent,#0b78b4)!important}
.concern-v3-secondary-action{color:#fff!important;border-color:rgba(255,255,255,.5)!important}

/* Contact: no glass note. */
.contact-hero-note{background:#fff!important;color:#173345!important;border-color:#dce7ec!important;box-shadow:none!important}
.contact-hero-note span,.contact-hero-note b{color:#173345!important}

/* General public cards: keep radius modest and surfaces solid. */
.about-value-card,.purpose-card,.contact-office-card,.contact-form-card,.gallery-empty{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

@media(max-width:820px){
  .concern-v3-section{padding:68px 0!important}
  .concern-v3-cta-grid{width:min(100% - 34px,1220px)!important;padding:48px 0!important}
  .concern-v3-commitment-grid{padding:54px 24px!important}
}
@media(max-width:600px){
  .home-page .home-hero-modern .slide-copy h1{font-size:clamp(34px,10vw,48px)!important}
  .page-banner-title,.editorial-banner h1,.companies-v5-copy h1,.concern-v3-hero h1{font-size:clamp(36px,11vw,52px)!important}
  .home-cta-card{padding:46px 24px!important;min-height:320px!important}
  .concern-v3-cta-main h2,.home-cta-modern h2{font-size:clamp(32px,10vw,44px)!important}
  .concern-v3-commitment-copy,.concern-v3-commitment-copy p{font-size:20px!important}
}
