/* FINAL 9.7 PASS — content hierarchy, compact hero, editorial visuals, no decorative UI clutter */
:root{--wc-red:#d71920;--wc-navy:#0b1724;--wc-ink:#101820;--wc-muted:#5d6872;--wc-line:#dfe4e8}

/* HERO: compact without sacrificing copy */
.hero{height:555px!important;min-height:555px!important}
.inner-hero{height:470px!important;min-height:470px!important}
.hero-content,.inner-hero .hero-content{padding-top:126px!important;padding-bottom:52px!important;max-width:1120px!important}
.hero h1,.inner-hero h1{max-width:760px!important;font-size:clamp(42px,4.9vw,70px)!important;line-height:1.03!important;letter-spacing:-2.6px!important;margin-bottom:18px!important}
.hero-content p,.inner-hero p{max-width:620px!important;font-size:16.5px!important;line-height:1.55!important;margin:14px 0 20px!important}
.hero .eyebrow,.inner-hero .eyebrow{margin-bottom:18px!important;font-size:10px!important;letter-spacing:1.8px!important}
.hero-bottom,.inner-hero .hero-bottom{bottom:15px!important;padding-top:10px!important;font-size:9.5px!important;letter-spacing:1px!important}
.location-hero-visual{right:6vw!important;top:116px!important;width:min(31vw,430px)!important;max-height:280px!important;object-fit:cover!important;opacity:.78!important}
.location-cities{display:flex;gap:7px;flex-wrap:wrap;max-width:650px;margin-top:17px}
.location-cities span{padding:7px 10px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);font-size:10px;letter-spacing:.03em;color:#eef2f5}

/* The visual story is now photo + explanation + clean takeaway cards. No fake diagrams. */
.visual-story{padding:68px 0!important;background:#fff!important;border-top:1px solid #edf0f2;border-bottom:1px solid #edf0f2}
.visual-story .vs-wrap{width:min(1180px,calc(100% - 48px))!important;max-width:none!important;margin:auto!important;display:grid!important;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;grid-template-rows:auto auto!important;gap:26px 48px!important;align-items:start!important}
.visual-story .vs-visual-image-wrap{grid-column:1!important;grid-row:1 / span 2!important;margin:0!important;height:100%!important;max-height:430px!important;border:0!important;border-radius:2px!important;box-shadow:0 18px 45px rgba(8,27,43,.12)!important;overflow:hidden!important;background:#e9edf0!important}
.visual-story .vs-visual-image{display:block!important;width:100%!important;height:100%!important;min-height:360px!important;max-height:430px!important;aspect-ratio:auto!important;object-fit:cover!important}
.visual-story .vs-wrap>div:not(.vs-diagram){grid-column:2!important;grid-row:1!important;align-self:center!important}
.visual-story .vs-kicker{margin-bottom:10px!important;font-size:10px!important;letter-spacing:.16em!important}
.visual-story h2{font-size:clamp(28px,3.2vw,48px)!important;line-height:1.06!important;letter-spacing:-1.6px!important;margin-bottom:13px!important}
.visual-story .vs-copy{font-size:16px!important;line-height:1.68!important;color:#56636e!important;max-width:560px!important;margin:0!important}
.visual-story .vs-diagram{grid-column:2!important;grid-row:2!important;min-height:0!important;padding:0!important;background:transparent!important;display:block!important;overflow:visible!important;border:0!important}
.visual-story .visual-canvas{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;min-height:0!important;height:auto!important;padding:0!important;background:transparent!important;border:0!important;overflow:visible!important}
.visual-story .visual-canvas:before,.visual-story .visual-canvas:after,.visual-story .vline,.visual-story .vdot,.visual-story .visual-caption,.visual-story .region-ring,.visual-story .region-core,.visual-story .career-arrow{display:none!important}
.visual-story .vnode,.visual-story .vstep{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;height:auto!important;min-height:112px!important;padding:16px!important;border:1px solid var(--wc-line)!important;background:#f7f9fa!important;box-shadow:none!important;backdrop-filter:none!important;color:var(--wc-ink)!important}
.visual-story .vnode b,.visual-story .vstep b{display:block!important;color:var(--wc-red)!important;font-size:9px!important;letter-spacing:.12em!important;margin:0 0 9px!important}
.visual-story .vnode strong{display:block!important;color:var(--wc-ink)!important;font-size:14px!important;line-height:1.25!important}
.visual-story .vnode small{display:block!important;color:#697681!important;font-size:11px!important;line-height:1.45!important;margin-top:7px!important}
.visual-story .vstep{font-size:12px!important;line-height:1.45!important;color:#33414c!important}
.visual-story .vstep b{display:inline!important;margin-right:8px!important}
.visual-story .viz-location{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-content:flex-start!important}
.visual-story .viz-location .city{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;padding:9px 11px!important;background:#f7f9fa!important;border:1px solid var(--wc-line)!important;color:#34424d!important;font-size:11px!important}

/* Content: less empty space, stronger editorial rhythm */
.clarity-band{padding:56px 0!important}
.clarity-head{margin-bottom:30px!important;gap:36px!important}
.clarity-head h2{font-size:clamp(30px,3.5vw,52px)!important}
.clarity-head p{font-size:15.5px!important;line-height:1.65!important}
.clarity-step{min-height:165px!important;padding:22px!important}
.clarity-step h3{margin:22px 0 8px!important;font-size:18px!important}
.clarity-step p{font-size:13px!important;line-height:1.5!important}
.content-band{padding-top:62px!important;padding-bottom:62px!important}
.page-main h2,.page-section>h2{max-width:920px}
.long-copy p{font-size:16px!important;line-height:1.75!important}
.editorial-card p,.process p{font-size:14px!important;line-height:1.58!important}

/* Metrics become proof, not decoration */
.metrics{gap:0!important;border-top:1px solid var(--wc-line)!important;border-left:1px solid var(--wc-line)!important}
.metric{padding:25px!important;border-right:1px solid var(--wc-line)!important;border-bottom:1px solid var(--wc-line)!important}
.metric strong{font-size:36px!important}
.metric span{font-size:12px!important;line-height:1.45!important}

/* Location pages: regional proposition is explicit and useful */
.page-explainer{padding-bottom:62px!important}
.pe-card{padding:25px!important}
.pe-card h3{font-size:24px!important}
.pe-card p{font-size:14px!important;line-height:1.62!important}
.location-seo-grid article{padding-top:22px!important;padding-bottom:22px!important}
.location-seo-grid h3{font-size:19px!important}
.location-seo-grid p{font-size:13.5px!important;line-height:1.6!important}

/* Remove the old synthetic-diagram feel from the final pass everywhere. */
.viz-home .vnode,.viz-about .vnode,.viz-services .vnode,.viz-industries .vnode,.viz-contact .vnode,.viz-careers .vstep{border-radius:2px!important}

/* Responsive */
@media(max-width:900px){
 .hero{height:560px!important;min-height:560px!important}.inner-hero{height:500px!important;min-height:500px!important}
 .hero-content,.inner-hero .hero-content{padding:118px 42px 55px!important}
 .visual-story .vs-wrap{grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:24px!important}
 .visual-story .vs-visual-image-wrap{grid-column:1!important;grid-row:1!important;max-height:none!important}
 .visual-story .vs-wrap>div:not(.vs-diagram){grid-column:1!important;grid-row:2!important}
 .visual-story .vs-diagram{grid-column:1!important;grid-row:3!important}
 .location-hero-visual{opacity:.32!important;width:300px!important;right:22px!important;top:160px!important}
}
@media(max-width:700px){
 .hero{height:585px!important;min-height:585px!important}.inner-hero{height:540px!important;min-height:540px!important}
 .hero-content,.inner-hero .hero-content{padding:112px 24px 58px!important}
 .hero h1,.inner-hero h1{font-size:clamp(35px,10vw,50px)!important;letter-spacing:-1.7px!important}
 .hero-content p,.inner-hero p{font-size:15px!important}
 .hero-bottom,.inner-hero .hero-bottom{left:24px!important;right:24px!important}
 .visual-story{padding:48px 0!important}
 .visual-story .vs-wrap{width:min(100% - 30px,1180px)!important}
 .visual-story .vs-visual-image{min-height:250px!important;height:260px!important}
 .visual-story .visual-canvas{grid-template-columns:1fr!important}
 .clarity-band{padding:46px 0!important}.clarity-wrap{width:min(100% - 30px,1180px)!important}
 .clarity-flow{grid-template-columns:1fr!important}.clarity-step{border-right:0!important;border-bottom:1px solid rgba(12,28,45,.1)!important}
 .location-cities{max-width:100%}.location-cities span{font-size:9px;padding:6px 8px}
}

/* FINAL COLOR OVERRIDE */
header, .header, #header,
footer, .footer, #footer {
  background-color: #7A0F16;
}
/* Keep Job Posting / job-posting tabs blue */
.job-posting, .job-posting-tab, .job-posting-btn,
.job-posting a, a.job-posting, button.job-posting {
  background-color: #0B63CE;
  border-color: #0B63CE;
  color: #FFFFFF;
}
.job-posting-tab.active, .job-posting.active {
  background-color: #0B63CE;
  color: #FFFFFF;
}
