/*
Theme Name: Way Specialty
Theme URI: https://wayspecialty.com/
Author: Custom build for Way Specialty
Description: Responsive dashboard-editable custom WordPress theme for Way Specialty Insurance Agency, LLC. No Elementor integration.
Version: 1.9.38.53
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: way-specialty
*/

:root {
  --ws-navy: #314A75;
  --ws-navy-2: #293F64;
  --ws-cobalt: #314A75;
  --ws-signal: #3871B6;
  --ws-signal-2: #4A82C2;
  --ws-paper: #F6F7FB;
  --ws-paper-2: #EDEFF6;
  --ws-white: #FFFFFF;
  --ws-slate: #5C6480;
  --ws-ink: #243B60;
  --ws-hairline: #E1E4EE;
  --ws-hairline-dark: #2A3062;
  --ws-success: #11663d;
  --ws-error: #9b2c2c;
  --ws-shadow: 0 20px 55px rgba(15, 22, 62, 0.10);
  --ws-shadow-strong: 0 24px 70px rgba(15, 22, 62, 0.16);
  --ws-radius: 10px;
  --ws-radius-sm: 6px;
  --ws-container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Montserrat', Arial, sans-serif;
  color: var(--ws-ink);
  background: var(--ws-paper);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
h1,h2,h3,h4,h5,h6,p,blockquote { margin-top: 0; }
h1,h2,h3,h4,h5,h6 {
  color: var(--ws-navy);
  line-height: 1.12;
  letter-spacing: -0.025em;
}
::selection { background: rgba(59,102,196,.18); color: var(--ws-navy); }

.ws-container {
  width: min(calc(100% - 64px), var(--ws-container));
  margin-inline: auto;
}
.ws-section { padding: 96px 0; }
.ws-section--compact { padding: 72px 0; }
.ws-section--soft { background: var(--ws-paper-2); }
.ws-section--white { background: var(--ws-white); }
.ws-muted { color: var(--ws-slate); }

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  min-height: 78px;
  background: var(--ws-navy);
  border-bottom: 1px solid var(--ws-hairline-dark);
  isolation: isolate;
}
.site-header::before {
  content: '';
  position: absolute;
  inset: 0 0 0 auto;
  width: min(41vw, 620px);
  z-index: -1;
  opacity: .85;
  background:
    linear-gradient(130deg, transparent 0 34%, rgba(59,102,196,.10) 34% 43%, transparent 43% 49%, rgba(59,102,196,.12) 49% 58%, transparent 58% 64%, rgba(255,255,255,.04) 64% 73%, transparent 73%);
}
.site-header__brand-panel {
  position: absolute;
  inset: 0 auto 0 0;
  width: clamp(270px, 25vw, 365px);
  background: var(--ws-paper);
  clip-path: polygon(0 0, 100% 0, 82% 100%, 0 100%);
  z-index: -1;
}
.site-header__inner {
  min-height: 78px;
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto minmax(150px, 1fr);
  align-items: center;
  gap: 28px;
}
.site-brand {
  display: inline-flex;
  align-items: center;
  width: max-content;
  gap: 13px;
  color: var(--ws-cobalt);
}
.site-brand__mark { width: 48px; flex: 0 0 48px; }
.site-brand__divider { width: 1px; height: 37px; background: #cfd5e7; }
.site-brand__text { display: flex; flex-direction: column; line-height: 1; }
.site-brand__text strong { font-size: 12px; letter-spacing: .18em; font-weight: 700; }
.site-brand__text span { font-size: 19px; letter-spacing: -.02em; margin-top: 4px; font-weight: 500; }

.primary-nav { display: flex; align-items: center; gap: 34px; }
.primary-nav__link,
.primary-nav__toggle {
  position: relative;
  appearance: none;
  border: 0;
  background: none;
  color: #d9ddf2;
  padding: 28px 0 26px;
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1;
  transition: color .2s ease;
}
.primary-nav__link::after,
.primary-nav__toggle::after {
  content: '';
  position: absolute;
  height: 2px;
  left: 0;
  right: 100%;
  bottom: 18px;
  background: var(--ws-signal-2);
  transition: right .22s ease;
}
.primary-nav__link:hover,
.primary-nav__toggle:hover,
.primary-nav__link.is-active,
.primary-nav__toggle.is-active { color: var(--ws-white); }
.primary-nav__link:hover::after,
.primary-nav__toggle:hover::after,
.primary-nav__link.is-active::after,
.primary-nav__toggle.is-active::after { right: 0; }

.products-menu { position: relative; }
.products-menu__top { display: inline-flex; align-items: center; gap: 7px; }
.products-menu__chevron {
  width: 7px; height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .2s ease;
}
.products-menu:hover .products-menu__chevron,
.products-menu:focus-within .products-menu__chevron { transform: rotate(225deg) translate(-2px,-2px); }
.products-menu__dropdown {
  position: absolute;
  top: calc(100% - 4px);
  left: 50%;
  width: 286px;
  transform: translate(-50%, 10px);
  padding: 10px;
  background: var(--ws-white);
  border: 1px solid var(--ws-hairline);
  border-radius: 8px;
  box-shadow: var(--ws-shadow-strong);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.products-menu__dropdown::before {
  content: '';
  position: absolute;
  left: 0; right: 0; top: -14px; height: 14px;
}
.products-menu:hover .products-menu__dropdown,
.products-menu:focus-within .products-menu__dropdown {
  opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0);
}
.products-menu__item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 10px 12px;
  border-radius: 6px;
  color: var(--ws-navy);
  font-size: 14px;
  font-weight: 500;
  transition: background .18s ease, transform .18s ease, color .18s ease;
}
.products-menu__item:hover { background: var(--ws-paper-2); color: var(--ws-cobalt); transform: translateX(3px); }
.products-menu__dot { width: 8px; height: 8px; flex: 0 0 8px; background: var(--ws-signal); }
.products-menu__item:nth-child(2) .products-menu__dot { background: var(--ws-cobalt); }

.header-cta {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 19px;
  border-radius: 5px;
  color: var(--ws-white);
  background: var(--ws-signal);
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 8px 26px rgba(59,102,196,.24);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.header-cta:hover { transform: translateY(-2px); background: #3158ab; box-shadow: 0 12px 30px rgba(59,102,196,.32); }
.mobile-menu-toggle { display: none; }
.mobile-nav { display: none; }

/* Hero */
.home-hero,
.page-hero {
  position: relative;
  overflow: hidden;
  color: var(--ws-white);
  background:
    radial-gradient(circle at 86% 26%, rgba(59,102,196,.20), transparent 31%),
    linear-gradient(135deg, var(--ws-navy) 0%, #111737 60%, #101632 100%);
}
.home-hero::after,
.page-hero::after {
  content: '';
  position: absolute;
  width: 530px;
  height: 530px;
  right: -230px;
  bottom: -330px;
  border: 1px solid rgba(255,255,255,.07);
  transform: rotate(45deg);
}
.home-hero { padding: 112px 0 150px; }
.page-hero { padding: 78px 0 88px; }
.home-hero__inner,
.page-hero__inner { position: relative; z-index: 1; }
.ws-eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 23px;
  color: #9eb3ed;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.ws-eyebrow::before { content: ''; width: 30px; height: 1px; background: #536092; }
.home-hero h1 {
  max-width: 830px;
  margin-bottom: 26px;
  color: var(--ws-white);
  font-size: clamp(2.65rem, 5.5vw, 4.55rem);
  letter-spacing: -.045em;
}
.home-hero__lede {
  max-width: 660px;
  margin-bottom: 0;
  color: #c9cfea;
  font-size: clamp(1rem, 1.7vw, 1.15rem);
}
.page-hero h1 {
  max-width: 880px;
  margin-bottom: 0;
  color: var(--ws-white);
  font-size: clamp(2.25rem, 4.6vw, 3.45rem);
}
.page-hero__lede { max-width: 680px; margin: 20px 0 0; color: #c9cfea; font-size: 1.02rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.btn::after { content: '→'; transition: transform .2s ease; }
.btn:hover::after { transform: translateX(4px); }
.btn:hover { transform: translateY(-2px); }
.btn--primary { color: var(--ws-white); background: var(--ws-signal); box-shadow: 0 12px 30px rgba(59,102,196,.24); }
.btn--primary:hover { background: #3158ab; }
.btn--outline { color: var(--ws-white); border: 1px solid #475286; background: rgba(255,255,255,.01); }
.btn--outline:hover { border-color: #8998cf; background: rgba(255,255,255,.04); }
.btn--white { color: var(--ws-cobalt); background: var(--ws-white); }
.btn--white:hover { background: #f0f4ff; }
.btn--dark { color: var(--ws-navy); border: 1px solid #cfd4e2; background: var(--ws-white); }
.btn--dark:hover { border-color: var(--ws-signal); }

/* Home stats */
.stats-strip { position: relative; z-index: 4; margin-top: -62px; }
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: var(--ws-white);
  border: 1px solid var(--ws-hairline);
  box-shadow: var(--ws-shadow);
  border-radius: 10px;
  overflow: hidden;
}
.stat-card { padding: 30px 28px; background: var(--ws-white); border-right: 1px solid var(--ws-hairline); transition: background .2s ease, transform .2s ease; }
.stat-card:last-child { border-right: 0; }
.stat-card:hover { background: #fbfcff; }
.stat-card__number { color: var(--ws-cobalt); font-size: 28px; font-weight: 650; line-height: 1; }
.stat-card__label { margin-top: 9px; color: var(--ws-slate); font-size: 12.5px; }

/* Section headings */
.section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 410px);
  align-items: end;
  gap: 54px;
  margin-bottom: 46px;
}
.section-head--single { grid-template-columns: 1fr; }
.section-head h2 { margin-bottom: 0; max-width: 650px; font-size: clamp(2rem, 3.1vw, 2.65rem); }
.section-head p { margin-bottom: 0; color: var(--ws-slate); font-size: 15px; }

/* Cards */
.feature-grid,
.division-grid,
.leadership-grid { display: grid; gap: 18px; }
.feature-grid { grid-template-columns: repeat(3, 1fr); }
.division-grid { grid-template-columns: repeat(3, 1fr); }
.leadership-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card {
  position: relative;
  min-width: 0;
  background: var(--ws-white);
  border: 1px solid var(--ws-hairline);
  border-radius: var(--ws-radius);
  box-shadow: 0 4px 15px rgba(15,22,62,.03);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 3px;
  height: 0;
  background: var(--ws-signal);
  transition: height .25s ease;
}
.card:hover { transform: translateY(-6px); box-shadow: var(--ws-shadow); border-color: #ccd4ea; }
.card:hover::before { height: 100%; }
.feature-card { padding: 34px 30px; }
.feature-card__accent { width: 31px; height: 5px; margin-bottom: 24px; background: var(--ws-cobalt); transform: skewX(-25deg); }
.feature-card:nth-child(even) .feature-card__accent { background: var(--ws-signal); }
.feature-card h3, .division-card h3 { margin-bottom: 12px; font-size: 18px; }
.feature-card p, .division-card p, .leader-card p { margin-bottom: 0; color: var(--ws-slate); font-size: 14px; }
.division-card { min-height: 280px; padding: 34px 30px; display: flex; flex-direction: column; }
.division-card__index { margin-bottom: 28px; color: var(--ws-slate); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.division-card__link { margin-top: auto; padding-top: 26px; color: var(--ws-cobalt); font-size: 13px; font-weight: 700; }
.division-card__link span { display: inline-block; transition: transform .2s ease; }
.division-card:hover .division-card__link span { transform: translateX(5px); }
.leader-card { padding: 30px; }
.leader-card h3 { margin-bottom: 5px; font-size: 17px; }
.leader-card__role { margin-bottom: 12px; color: var(--ws-cobalt); font-size: 12.5px; font-weight: 700; }

/* Quotes */
.quote-band { position: relative; overflow: hidden; padding: 82px 0; color: var(--ws-white); background: linear-gradient(115deg, var(--ws-cobalt), #0f44bc); }
.quote-band::after { content: '”'; position: absolute; right: 7vw; top: -44px; color: rgba(255,255,255,.07); font-size: 300px; font-family: Georgia, serif; line-height: 1; }
.quote-band blockquote { position: relative; z-index: 1; max-width: 900px; margin-bottom: 0; color: var(--ws-white); font-size: clamp(1.45rem, 2.8vw, 2rem); font-weight: 500; line-height: 1.45; letter-spacing: -.02em; }
.quote-band cite { position: relative; z-index: 1; display: block; margin-top: 24px; color: #d5e0ff; font-size: 13.5px; font-style: normal; }
.executive-quote { display: grid; grid-template-columns: 180px 1fr; gap: 34px; padding: 34px; background: var(--ws-white); border: 1px solid var(--ws-hairline); border-radius: var(--ws-radius); }
.executive-quote__monogram { display: grid; place-items: center; min-height: 180px; background: linear-gradient(145deg, var(--ws-cobalt), var(--ws-signal)); border-radius: 8px; color: var(--ws-white); font-size: 44px; font-weight: 700; letter-spacing: -.05em; }
.executive-quote blockquote { margin-bottom: 18px; font-size: 18px; line-height: 1.55; font-weight: 500; color: var(--ws-navy); }
.executive-quote cite { color: var(--ws-slate); font-style: normal; font-size: 13px; }

/* CTA */
.cta-band { padding: 70px 0; color: var(--ws-white); background: var(--ws-navy); }
.cta-band__inner { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.cta-band h2 { max-width: 610px; margin-bottom: 8px; color: var(--ws-white); font-size: clamp(1.7rem, 3vw, 2.25rem); }
.cta-band p { margin-bottom: 0; color: #b9c3e9; font-size: 14.5px; }

/* Content layouts */
.story-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.story-grid h2 { font-size: 28px; }
.story-grid p, .prose p { color: var(--ws-slate); font-size: 15.5px; }
.prose { max-width: 820px; }
.prose p:last-child { margin-bottom: 0; }
.fact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; background: var(--ws-hairline); border: 1px solid var(--ws-hairline); border-radius: var(--ws-radius); }
.fact-card { padding: 27px 28px; background: var(--ws-white); }
.fact-card__label { margin-bottom: 7px; color: var(--ws-slate); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .09em; }
.fact-card__value { color: var(--ws-navy); font-size: 15px; font-weight: 650; line-height: 1.4; }
.inline-quote { max-width: 820px; padding-left: 24px; border-left: 3px solid var(--ws-signal); color: var(--ws-slate); font-size: 15px; }
.inline-quote strong { color: var(--ws-navy); }

/* Contact */
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: start; }
.contact-panel,
.contact-form-card { background: var(--ws-white); border: 1px solid var(--ws-hairline); border-radius: var(--ws-radius); }
.contact-panel { padding: 32px; }
.contact-form-card { padding: 36px; box-shadow: var(--ws-shadow); }
.contact-panel h2, .contact-form-card h2 { margin-bottom: 25px; font-size: 24px; }
.contact-row { display: grid; grid-template-columns: 100px 1fr; gap: 16px; padding: 19px 0; border-top: 1px solid var(--ws-hairline); }
.contact-row:last-child { border-bottom: 1px solid var(--ws-hairline); }
.contact-row__label { color: var(--ws-slate); font-size: 12.5px; }
.contact-row__value { color: var(--ws-navy); font-size: 14.5px; font-weight: 500; }
.contact-row__value a { color: var(--ws-cobalt); }
.contact-admin-note { margin: 20px 0 0; padding: 14px; border-radius: 6px; background: #fff7e8; color: #7a4b0c; font-size: 12px; }
.ws-form { display: grid; gap: 18px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-field label { display: block; margin-bottom: 7px; color: var(--ws-slate); font-size: 12.5px; font-weight: 500; }
.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  border: 1px solid #d8ddea;
  border-radius: 6px;
  background: var(--ws-white);
  color: var(--ws-navy);
  padding: 13px 14px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { outline: none; border-color: var(--ws-signal); box-shadow: 0 0 0 3px rgba(59,102,196,.10); }
.form-field textarea { resize: vertical; min-height: 130px; }
.form-submit {
  width: max-content;
  min-height: 48px;
  border: 0;
  border-radius: 6px;
  padding: 0 24px;
  color: var(--ws-white);
  background: var(--ws-cobalt);
  font-size: 14px;
  font-weight: 650;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.form-submit:hover { transform: translateY(-2px); background: #02277f; box-shadow: 0 10px 24px rgba(3,48,164,.18); }
.form-status { margin-bottom: 20px; padding: 13px 15px; border-radius: 6px; font-size: 13px; }
.form-status--success { background: #eaf7f0; color: var(--ws-success); }
.form-status--error { background: #fff0f0; color: var(--ws-error); }
.ws-honeypot { position: absolute !important; left: -9999px !important; opacity: 0 !important; }

/* Footer */
.site-footer { background: var(--ws-navy); color: #94a0ce; padding: 66px 0 28px; }
.site-footer__grid { display: grid; grid-template-columns: 1.5fr .8fr 1.25fr .8fr; gap: 46px; padding-bottom: 44px; border-bottom: 1px solid var(--ws-hairline-dark); }
.footer-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--ws-white); }
.footer-brand .site-brand__divider { background: #3a4479; }
.footer-brand .site-brand__text strong,
.footer-brand .site-brand__text span { color: var(--ws-white); }
.site-footer__about { max-width: 310px; margin: 16px 0 0; color: #7e89b9; font-size: 13px; }
.footer-col h3 { margin-bottom: 17px; color: var(--ws-white); font-size: 12px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.footer-col ul { margin: 0; padding: 0; list-style: none; }
.footer-col li + li { margin-top: 9px; }
.footer-col a { color: #9aa5d4; font-size: 13.5px; transition: color .2s ease, transform .2s ease; display: inline-block; }
.footer-col a:hover { color: var(--ws-white); transform: translateX(3px); }
.site-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 25px; color: #68739f; font-size: 12px; }

/* 404 / generic */
.generic-page { min-height: 65vh; padding: 100px 0; }
.generic-page__content { max-width: 780px; }
.generic-page__content h1 { font-size: clamp(2.2rem, 5vw, 4rem); }
.generic-page__content .entry-content { color: var(--ws-slate); }
.not-found { min-height: 70vh; display: grid; place-items: center; text-align: center; }
.not-found__code { color: var(--ws-signal); font-size: clamp(5rem, 18vw, 11rem); font-weight: 700; line-height: .85; opacity: .13; }
.not-found h1 { margin-top: -20px; }

/* reveal */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Accessibility */
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
:focus-visible { outline: 2px solid var(--ws-signal-2); outline-offset: 3px; }

/* Responsive */
@media (max-width: 1060px) {
  .site-header__inner { grid-template-columns: minmax(225px, 1fr) auto minmax(132px, .65fr); gap: 18px; }
  .primary-nav { gap: 24px; }
  .site-header__brand-panel { width: 300px; }
}
@media (max-width: 960px) {
  .site-header__inner { grid-template-columns: 1fr auto; }
  .primary-nav, .header-cta { display: none; }
  .mobile-menu-toggle {
    display: inline-flex;
    justify-self: end;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border: 1px solid #394274;
    border-radius: 6px;
    background: rgba(255,255,255,.03);
    color: var(--ws-white);
  }
  .mobile-menu-toggle__icon,
  .mobile-menu-toggle__icon::before,
  .mobile-menu-toggle__icon::after { width: 20px; height: 2px; background: currentColor; display: block; position: relative; transition: transform .2s ease, opacity .2s ease; }
  .mobile-menu-toggle__icon::before,
  .mobile-menu-toggle__icon::after { content: ''; position: absolute; left: 0; }
  .mobile-menu-toggle__icon::before { top: -6px; }
  .mobile-menu-toggle__icon::after { top: 6px; }
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__icon { background: transparent; }
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__icon::before { top: 0; transform: rotate(45deg); }
  .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__icon::after { top: 0; transform: rotate(-45deg); }
  .mobile-nav {
    display: block;
    position: fixed;
    inset: 78px 0 0;
    z-index: 999;
    padding: 24px;
    background: rgba(19,24,59,.99);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    overflow-y: auto;
    transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
  }
  .mobile-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .mobile-nav__inner { width: min(100%, 620px); margin: 0 auto; }
  .mobile-nav a,
  .mobile-products__button { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 17px 4px; border: 0; border-bottom: 1px solid #2f376b; background: none; color: var(--ws-white); font-size: 17px; text-align: left; }
  .mobile-products__submenu { display: none; padding: 8px 0 8px 18px; }
  .mobile-products__submenu.is-open { display: block; }
  .mobile-products__submenu a { color: #b7c2e8; font-size: 14px; }
  .mobile-nav__cta { margin-top: 24px; border: 0 !important; justify-content: center !important; background: var(--ws-signal) !important; border-radius: 6px; }
  .section-head { grid-template-columns: 1fr; gap: 18px; }
  .section-head p { max-width: 680px; }
  .feature-grid, .division-grid { grid-template-columns: repeat(2, 1fr); }
  .feature-grid > :last-child, .division-grid > :last-child { grid-column: 1 / -1; }
  .contact-grid { grid-template-columns: 1fr; gap: 34px; }
  .site-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .site-footer__grid > :last-child { grid-column: 2 / 3; }
}
@media (max-width: 760px) {
  .ws-container { width: min(calc(100% - 40px), var(--ws-container)); }
  .ws-section { padding: 70px 0; }
  .ws-section--compact { padding: 56px 0; }
  .home-hero { padding: 86px 0 120px; }
  .page-hero { padding: 64px 0 70px; }
  .home-hero h1 { font-size: clamp(2.35rem, 11vw, 3.6rem); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-card { border-right: 1px solid var(--ws-hairline); border-bottom: 1px solid var(--ws-hairline); }
  .stat-card:nth-child(2n) { border-right: 0; }
  .stat-card:nth-last-child(-n+2) { border-bottom: 0; }
  .feature-grid, .division-grid, .leadership-grid { grid-template-columns: 1fr; }
  .feature-grid > :last-child, .division-grid > :last-child { grid-column: auto; }
  .story-grid { grid-template-columns: 1fr; gap: 34px; }
  .fact-grid { grid-template-columns: 1fr; }
  .executive-quote { grid-template-columns: 1fr; }
  .executive-quote__monogram { min-height: 145px; }
  .cta-band__inner { align-items: flex-start; flex-direction: column; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 34px; }
  .site-footer__grid > :first-child { grid-column: 1 / -1; }
  .site-footer__grid > :last-child { grid-column: auto; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 560px) {
  .site-header__brand-panel { width: 238px; }
  .site-brand__mark { width: 39px; flex-basis: 39px; }
  .site-brand__divider { height: 31px; }
  .site-brand__text strong { font-size: 10px; }
  .site-brand__text span { font-size: 16px; }
  .ws-container { width: min(calc(100% - 32px), var(--ws-container)); }
  .home-hero { padding-top: 70px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .btn { width: 100%; }
  .stats-strip { margin-top: -48px; }
  .stat-card { padding: 24px 20px; }
  .stat-card__number { font-size: 24px; }
  .feature-card, .division-card, .leader-card, .contact-panel, .contact-form-card { padding: 26px 22px; }
  .form-row { grid-template-columns: 1fr; }
  .form-submit { width: 100%; }
  .contact-row { grid-template-columns: 1fr; gap: 5px; }
  .quote-band { padding: 65px 0; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .site-footer__grid > :first-child,
  .site-footer__grid > :last-child { grid-column: auto; }
}


/* ===== September 2026 refinement: header, mobile navigation, homepage alignment ===== */
.site-header { min-height: 74px; box-shadow: 0 6px 22px rgba(7,12,38,.10); }
.site-header__inner { min-height: 74px; }
.site-header__brand-panel { width: clamp(310px, 25vw, 390px); }
.site-brand { gap: 0; }
.site-brand__logo { display: block; width: 178px; height: auto; object-fit: contain; }
.primary-nav { gap: 38px; }
.primary-nav__link,
.primary-nav__toggle { padding-top: 27px; padding-bottom: 25px; }
.header-cta { min-width: 116px; min-height: 46px; border-radius: 4px; }
.footer-brand { display: inline-flex; align-items: center; width: max-content; padding: 7px 13px; background: var(--ws-white); border-radius: 3px; }
.footer-brand__logo { width: 176px; height: auto; }

.section-head--balanced { align-items: center; }
.section-head--balanced p { transform: translateY(-5px); line-height: 1.65; }
.section-head--stacked { display: block; margin-bottom: 38px; }
.section-head--stacked h2 { margin-bottom: 13px; }
.section-head--stacked p { max-width: 590px; line-height: 1.65; }

.quote-band {
  padding: 94px 0;
  background: linear-gradient(135deg, #153bb2 0%, var(--ws-cobalt) 55%, #102a86 100%);
}
.quote-band::before {
  content: '';
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(255,255,255,.10);
  pointer-events: none;
}
.quote-band::after { display: none; }
.quote-band__inner {
  position: relative;
  z-index: 1;
  max-width: 960px;
  margin: 0 auto;
  padding: 10px 28px;
  text-align: center;
}
.quote-band__mark {
  display: block;
  height: 46px;
  margin-bottom: 12px;
  color: rgba(255,255,255,.24);
  font-family: Georgia, serif;
  font-size: 88px;
  line-height: .85;
}
.quote-band blockquote {
  max-width: none;
  margin: 0 auto;
  font-size: clamp(1.28rem, 2.2vw, 1.75rem);
  line-height: 1.55;
  font-weight: 500;
  letter-spacing: -.015em;
  text-wrap: balance;
}
.quote-band__rule { display: block; width: 42px; height: 2px; margin: 30px auto 17px; background: rgba(255,255,255,.72); }
.quote-band cite { margin-top: 0; color: var(--ws-white); font-size: 14px; font-weight: 700; letter-spacing: .01em; }
.quote-band cite span { display: block; margin-top: 5px; color: #cbd8ff; font-size: 12px; font-weight: 500; }

@media (max-width: 1060px) {
  .site-header__brand-panel { width: 320px; }
  .site-brand__logo { width: 166px; }
  .primary-nav { gap: 26px; }
}

@media (max-width: 960px) {
  body.menu-open { overflow: hidden; }
  .site-header { min-height: 72px; }
  .site-header__inner { min-height: 72px; }
  .site-header__brand-panel { width: min(70vw, 315px); }
  .site-brand__logo { width: 160px; }
  .mobile-menu-toggle {
    position: relative;
    z-index: 1002;
    width: 44px;
    height: 44px;
    border-color: rgba(255,255,255,.28);
    background: rgba(255,255,255,.06);
    box-shadow: 0 7px 20px rgba(5,9,31,.14);
  }
  .mobile-menu-toggle:hover { background: rgba(255,255,255,.11); }
  .mobile-nav {
    inset: 72px 0 0;
    z-index: 1001;
    padding: 0;
    background: rgba(5,9,31,.42);
    backdrop-filter: blur(3px);
    transform: none;
    transition: opacity .2s ease, visibility .2s ease;
  }
  .mobile-nav__inner {
    width: min(100%, 430px);
    min-height: 100%;
    margin: 0 0 0 auto;
    padding: 18px 24px 32px;
    background: var(--ws-navy);
    box-shadow: -18px 0 50px rgba(5,9,31,.28);
    transform: translateX(102%);
    transition: transform .24s ease;
  }
  .mobile-nav.is-open .mobile-nav__inner { transform: translateX(0); }
  .mobile-nav__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    margin-bottom: 8px;
    padding-bottom: 12px;
    border-bottom: 1px solid #2f376b;
  }
  .mobile-nav__label { color: #8fa6e8; font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
  .mobile-nav__close {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 0 8px 12px;
    border: 0;
    background: transparent;
    color: var(--ws-white);
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
  }
  .mobile-nav__close span:first-child { font-size: 25px; line-height: .7; font-weight: 300; }
  .mobile-nav a,
  .mobile-products__button { padding: 18px 2px; font-size: 16px; }
  .mobile-products__submenu { padding: 5px 0 8px 12px; }
  .mobile-products__submenu a { padding: 13px 2px; font-size: 13.5px; }
  .mobile-nav__cta { min-height: 50px; margin-top: 22px; }
  .section-head--balanced p { transform: none; }
  .section-head--stacked { display: block; }
}

@media (max-width: 560px) {
  .site-header__brand-panel { width: 69vw; max-width: 270px; }
  .site-brand__logo { width: 145px; }
  .mobile-nav__inner { width: min(88vw, 390px); padding-inline: 20px; }
  .quote-band { padding: 72px 0; }
  .quote-band::before { inset: 14px; }
  .quote-band__inner { padding: 4px 10px; }
  .quote-band__mark { font-size: 72px; height: 38px; }
  .quote-band blockquote { font-size: 1.17rem; line-height: 1.6; }
}

/* ===== September 2026 refinement v3: requested homepage/mobile adjustments ===== */

/* Why Way Specialty: align both columns at the top and keep the second thought on its own line. */
.section-head--balanced {
  align-items: start;
}
.section-head--balanced .why-title {
  max-width: 700px;
  margin: 0;
}
.section-head--balanced .why-title span {
  display: block;
}
.section-head--balanced > p {
  transform: none;
  padding-top: 1px;
  line-height: 1.68;
}

/* Divisions intro is intentionally a simple vertical stack so the description can never drift right. */
.divisions-heading {
  max-width: 660px;
  margin-bottom: 38px;
}
.divisions-heading h2 {
  margin-bottom: 12px;
  font-size: clamp(2rem, 3.1vw, 2.65rem);
}
.divisions-heading p {
  max-width: 590px;
  margin: 0;
  color: var(--ws-slate);
  font-size: 15px;
  line-height: 1.65;
}

/* Premium, centered testimonial treatment — no imagery. */
.quote-band {
  padding: 92px 0;
  background:
    radial-gradient(circle at 50% 0%, rgba(91,126,218,.19), transparent 38%),
    linear-gradient(135deg, #10183d 0%, #13265f 48%, #0b2d91 100%);
}
.quote-band::before {
  content: '';
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(255,255,255,.09);
  pointer-events: none;
}
.quote-band::after {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  bottom: -160px;
  width: 420px;
  height: 260px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: rgba(59,102,196,.14);
  filter: blur(8px);
  pointer-events: none;
}
.testimonial-quote {
  position: relative;
  z-index: 1;
  max-width: 980px;
  margin: 0 auto;
  padding: 50px 62px 54px;
  text-align: center;
  color: var(--ws-white);
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 12px;
  box-shadow: 0 28px 70px rgba(3,9,34,.24);
  backdrop-filter: blur(2px);
}
.testimonial-quote__author {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin: 0;
  color: var(--ws-white);
  font-style: normal;
}
.testimonial-quote__author strong {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.01em;
}
.testimonial-quote__author span {
  color: #bfcdf5;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.testimonial-quote__rule {
  display: block;
  width: 34px;
  height: 2px;
  margin: 19px auto 18px;
  background: var(--ws-signal-2);
}
.testimonial-quote__mark {
  display: block;
  height: 36px;
  margin: 0 auto 8px;
  color: rgba(255,255,255,.28);
  font-family: Georgia, serif;
  font-size: 72px;
  line-height: .72;
}
.quote-band .testimonial-quote blockquote {
  max-width: 840px;
  margin: 0 auto;
  color: var(--ws-white);
  font-size: clamp(1.22rem, 2.05vw, 1.68rem);
  font-weight: 500;
  line-height: 1.58;
  letter-spacing: -.018em;
  text-wrap: balance;
}

@media (max-width: 960px) {
  /* The header toggle itself becomes the single close control (X) when open. */
  .mobile-nav__inner {
    padding-top: 26px;
  }
  .section-head--balanced {
    align-items: start;
  }
  .section-head--balanced > p {
    padding-top: 0;
  }
}

@media (max-width: 760px) {
  .section-head--balanced {
    gap: 20px;
    margin-bottom: 38px;
  }
  .section-head--balanced .why-title {
    font-size: clamp(1.95rem, 8.5vw, 2.45rem);
  }
  .divisions-heading {
    margin-bottom: 30px;
  }
  .testimonial-quote {
    padding: 40px 28px 43px;
    border-radius: 10px;
  }
  .quote-band .testimonial-quote blockquote {
    font-size: clamp(1.08rem, 4.8vw, 1.28rem);
    line-height: 1.62;
  }
}

@media (max-width: 560px) {
  .mobile-nav__inner {
    padding-top: 18px;
  }
  .quote-band {
    padding: 66px 0;
  }
  .quote-band::before {
    inset: 12px;
  }
  .testimonial-quote {
    padding: 36px 20px 39px;
  }
  .testimonial-quote__mark {
    height: 32px;
    font-size: 64px;
  }
  .testimonial-quote__author strong {
    font-size: 15px;
  }
}


/* ===== About page refinement v1.0.2 ===== */
.about-hero {
  padding: 72px 0 80px;
}
.about-hero h1 {
  max-width: 1040px;
  font-size: clamp(2.35rem, 3.85vw, 3.15rem);
  line-height: 1.13;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.about-leadership {
  padding-top: 88px;
  padding-bottom: 88px;
}
.about-leadership__grid {
  grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
  gap: clamp(48px, 6vw, 82px);
  align-items: center;
}
.about-leadership__intro {
  max-width: 560px;
}
.about-leadership__intro h2 {
  margin-bottom: 22px;
  font-size: clamp(1.85rem, 2.4vw, 2.25rem);
}
.about-leadership__intro p {
  margin-bottom: 18px;
  line-height: 1.72;
}
.about-leadership__intro p:last-child {
  margin-bottom: 0;
}

.about-leadership .executive-quote {
  position: relative;
  display: grid;
  grid-template-columns: 154px minmax(0, 1fr);
  gap: 34px;
  align-items: center;
  padding: 34px 38px 34px 30px;
  overflow: hidden;
  border: 1px solid #dbe1ee;
  border-radius: 14px;
  background:
    radial-gradient(circle at 12% 18%, rgba(59,102,196,.08), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #fbfcff 100%);
  box-shadow: 0 18px 55px rgba(18,27,73,.08);
}
.about-leadership .executive-quote::after {
  content: '';
  position: absolute;
  inset: auto -70px -90px auto;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(59,102,196,.09);
  transform: rotate(45deg);
  pointer-events: none;
}
.about-leadership .executive-quote__monogram {
  min-height: 0;
  width: 154px;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  background: linear-gradient(145deg, #1239aa 0%, var(--ws-signal) 100%);
  box-shadow: 0 16px 30px rgba(3,48,164,.18);
  font-size: 38px;
}
.executive-quote__content {
  position: relative;
  min-width: 0;
  padding-top: 18px;
}
.executive-quote__mark {
  position: absolute;
  top: -12px;
  left: -3px;
  color: rgba(59,102,196,.20);
  font-family: Georgia, serif;
  font-size: 64px;
  line-height: 1;
  pointer-events: none;
}
.about-leadership .executive-quote blockquote {
  position: relative;
  margin: 0 0 20px;
  color: var(--ws-navy);
  font-size: clamp(1.02rem, 1.35vw, 1.18rem);
  font-weight: 550;
  line-height: 1.58;
  letter-spacing: -.012em;
}
.about-leadership .executive-quote cite {
  display: block;
  width: 100%;
  margin: 0;
  padding-top: 16px;
  border-top: 1px solid #e3e7f1;
  color: var(--ws-slate);
  font-size: 12.75px;
  font-style: normal;
  line-height: 1.45;
  text-align: left;
}

@media (max-width: 1050px) {
  .about-leadership__grid {
    grid-template-columns: minmax(0, .88fr) minmax(460px, 1.12fr);
    gap: 42px;
  }
  .about-leadership .executive-quote {
    grid-template-columns: 124px minmax(0, 1fr);
    gap: 28px;
    padding: 30px;
  }
  .about-leadership .executive-quote__monogram {
    width: 124px;
    font-size: 32px;
  }
}

@media (max-width: 900px) {
  .about-hero {
    padding: 64px 0 70px;
  }
  .about-hero h1 {
    max-width: 820px;
    font-size: clamp(2.15rem, 5.6vw, 2.8rem);
  }
  .about-leadership {
    padding-top: 74px;
    padding-bottom: 74px;
  }
  .about-leadership__grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .about-leadership__intro {
    max-width: 720px;
  }
  .about-leadership .executive-quote {
    max-width: 720px;
  }
}

@media (max-width: 620px) {
  .about-hero {
    padding: 54px 0 60px;
  }
  .about-hero .ws-eyebrow {
    margin-bottom: 18px;
  }
  .about-hero h1 {
    font-size: clamp(2rem, 10vw, 2.45rem);
    line-height: 1.12;
    text-wrap: pretty;
  }
  .about-leadership {
    padding-top: 62px;
    padding-bottom: 62px;
  }
  .about-leadership__intro h2 {
    margin-bottom: 18px;
  }
  .about-leadership .executive-quote {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 26px 24px 28px;
  }
  .about-leadership .executive-quote__monogram {
    width: 76px;
    height: 76px;
    aspect-ratio: auto;
    border-radius: 10px;
    font-size: 24px;
  }
  .executive-quote__content {
    padding-top: 14px;
  }
  .executive-quote__mark {
    top: -12px;
    font-size: 56px;
  }
  .about-leadership .executive-quote blockquote {
    margin-bottom: 18px;
    font-size: 1rem;
    line-height: 1.62;
  }
  .about-leadership .executive-quote cite {
    font-size: 12.25px;
  }
}

/* ===== Product + About refinements v1.0.3 ===== */

/* About leadership portrait replaces the temporary monogram while keeping the card structure. */
.about-leadership .executive-quote {
  grid-template-columns: 172px minmax(0, 1fr);
  gap: 34px;
  padding: 30px 34px 30px 28px;
}
.executive-quote__portrait {
  position: relative;
  width: 172px;
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
  background: #eef2fa;
  box-shadow: 0 16px 34px rgba(17,29,79,.14);
}
.executive-quote__portrait::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: inherit;
  pointer-events: none;
}
.executive-quote__portrait img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
}

/* Product overview: editorial two-column composition, not a generic paragraph block. */
.product-overview {
  position: relative;
  overflow: hidden;
}
.product-overview::before {
  content: '';
  position: absolute;
  right: -120px;
  top: 34px;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(59,102,196,.075);
  transform: rotate(45deg);
  pointer-events: none;
}
.product-overview__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  gap: clamp(46px, 7vw, 92px);
  align-items: start;
  padding: 46px 48px;
  border: 1px solid #e0e5f0;
  border-radius: 14px;
  background: linear-gradient(135deg, #ffffff 0%, #fbfcff 100%);
  box-shadow: 0 20px 60px rgba(19,24,59,.055);
}
.product-overview__panel::before {
  content: '';
  position: absolute;
  left: 0;
  top: 34px;
  bottom: 34px;
  width: 4px;
  border-radius: 0 4px 4px 0;
  background: var(--ws-signal);
}
.product-overview--property .product-overview__panel::before { background: var(--ws-cobalt); }
.product-overview--mining .product-overview__panel::before { background: #274ba9; }
.product-overview__heading {
  position: sticky;
  top: 110px;
  padding-left: 10px;
}
.product-overview__kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
  color: var(--ws-cobalt);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.product-overview__kicker::before {
  content: '';
  width: 26px;
  height: 1px;
  background: var(--ws-signal);
}
.product-overview__heading h2 {
  max-width: 480px;
  margin: 0;
  color: var(--ws-navy);
  font-size: clamp(1.85rem, 2.55vw, 2.55rem);
  line-height: 1.16;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.product-overview__copy {
  padding-left: clamp(0px, 2vw, 24px);
  border-left: 1px solid #e3e7f1;
}
.product-overview__copy p {
  margin: 0;
  color: #626b88;
  font-size: 15.5px;
  line-height: 1.8;
}
.product-overview__copy p + p {
  margin-top: 25px;
  padding-top: 25px;
  border-top: 1px solid #e8ebf3;
}
.product-overview__copy p:first-child {
  color: #3f4969;
  font-size: 16px;
}

/* Property + Mining facts: independent cards with more breathing room and a quiet number system. */
.product-facts {
  padding-top: 64px;
  padding-bottom: 64px;
}
.product-facts__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.product-fact-card {
  position: relative;
  min-height: 170px;
  padding: 30px 28px 28px;
  overflow: hidden;
  border: 1px solid #dce2ee;
  border-radius: 12px;
  background: var(--ws-white);
  box-shadow: 0 12px 34px rgba(19,24,59,.04);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.product-fact-card::after {
  content: '';
  position: absolute;
  right: -36px;
  bottom: -48px;
  width: 110px;
  height: 110px;
  border: 1px solid rgba(59,102,196,.11);
  transform: rotate(45deg);
}
.product-fact-card:hover {
  transform: translateY(-4px);
  border-color: #cbd6eb;
  box-shadow: 0 20px 44px rgba(19,24,59,.08);
}
.product-fact-card__number {
  display: block;
  margin-bottom: 24px;
  color: #8fa0cf;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
}
.product-fact-card__label {
  margin-bottom: 8px;
  color: #5a6482;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.product-fact-card__value {
  position: relative;
  z-index: 1;
  max-width: 280px;
  color: var(--ws-navy);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}

/* Global Property & Energy leadership section: visually distinct from the overview above. */
.product-detail {
  position: relative;
}
.product-detail__grid {
  display: grid;
  grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr);
  gap: clamp(50px, 8vw, 110px);
  align-items: start;
}
.product-detail__heading {
  padding-top: 10px;
}
.product-detail__heading h2 {
  max-width: 430px;
  margin: 0 0 18px;
  font-size: clamp(2rem, 3vw, 2.75rem);
  line-height: 1.14;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.product-detail__heading > p {
  max-width: 430px;
  margin: 0;
  color: var(--ws-slate);
  font-size: 14.5px;
  line-height: 1.7;
}
.product-detail__cards {
  display: grid;
  gap: 18px;
}
.product-detail-card {
  position: relative;
  padding: 30px 32px;
  overflow: hidden;
  border: 1px solid #e0e5ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 13px 34px rgba(19,24,59,.045);
}
.product-detail-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--ws-signal);
}
.product-detail-card--accent {
  background: linear-gradient(135deg, #f4f7ff 0%, #edf2ff 100%);
  border-color: #d5dff4;
}
.product-detail-card--accent::before { background: var(--ws-cobalt); }
.product-detail-card__tag {
  display: block;
  margin-bottom: 12px;
  color: var(--ws-cobalt);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.product-detail-card p {
  margin: 0;
  color: #626b88;
  font-size: 15px;
  line-height: 1.78;
}

/* Product testimonials: centered, restrained and separate from the homepage testimonial treatment. */
.product-quote {
  position: relative;
  overflow: hidden;
  padding: 84px 0;
  background: #11183e;
}
.product-quote::before,
.product-quote::after {
  content: '';
  position: absolute;
  pointer-events: none;
}
.product-quote::before {
  right: -120px;
  top: -150px;
  width: 410px;
  height: 410px;
  border: 1px solid rgba(143,166,232,.12);
  transform: rotate(45deg);
}
.product-quote::after {
  left: -130px;
  bottom: -190px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: rgba(59,102,196,.08);
}
.product-quote--mining { background: linear-gradient(135deg, #11183e 0%, #17245b 100%); }
.product-quote--health { background: linear-gradient(135deg, #10183d 0%, #12337d 100%); }
.product-quote__card {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: 0 auto;
  padding: 42px 52px 44px;
  text-align: center;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 12px;
  background: rgba(255,255,255,.045);
  box-shadow: 0 24px 60px rgba(4,8,28,.22);
}
.product-quote__mark {
  display: block;
  height: 42px;
  margin-bottom: 10px;
  color: rgba(143,166,232,.42);
  font-family: Georgia, serif;
  font-size: 78px;
  line-height: .72;
}
.product-quote blockquote {
  max-width: 780px;
  margin: 0 auto;
  color: var(--ws-white);
  font-size: clamp(1.25rem, 2.2vw, 1.72rem);
  font-weight: 500;
  line-height: 1.58;
  letter-spacing: -.018em;
  text-wrap: balance;
}
.product-quote cite {
  display: block;
  margin-top: 24px;
  color: var(--ws-white);
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
}
.product-quote cite span {
  display: block;
  margin-top: 4px;
  color: #aebce7;
  font-size: 11.5px;
  font-weight: 500;
}

@media (max-width: 1050px) {
  .about-leadership .executive-quote {
    grid-template-columns: 142px minmax(0, 1fr);
  }
  .executive-quote__portrait { width: 142px; }
  .product-overview__panel {
    grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr);
    gap: 42px;
    padding: 40px 38px;
  }
  .product-detail__grid { gap: 58px; }
}

@media (max-width: 820px) {
  .about-leadership .executive-quote {
    grid-template-columns: 150px minmax(0, 1fr);
    max-width: 760px;
  }
  .executive-quote__portrait { width: 150px; }
  .product-overview__panel,
  .product-detail__grid {
    grid-template-columns: 1fr;
  }
  .product-overview__panel { gap: 30px; }
  .product-overview__heading {
    position: static;
    max-width: 650px;
  }
  .product-overview__copy {
    padding-left: 0;
    padding-top: 28px;
    border-left: 0;
    border-top: 1px solid #e3e7f1;
  }
  .product-facts__grid { grid-template-columns: 1fr; gap: 14px; }
  .product-fact-card { min-height: 0; }
  .product-detail__grid { gap: 34px; }
  .product-detail__heading { max-width: 650px; }
}

@media (max-width: 620px) {
  .about-leadership .executive-quote {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .executive-quote__portrait {
    width: min(100%, 220px);
    justify-self: start;
  }
  .executive-quote__portrait img { aspect-ratio: 1 / 1; }
  .product-overview { padding-top: 62px; padding-bottom: 62px; }
  .product-overview__panel {
    gap: 24px;
    padding: 29px 23px 27px;
    border-radius: 10px;
  }
  .product-overview__panel::before { top: 26px; bottom: 26px; width: 3px; }
  .product-overview__heading { padding-left: 6px; }
  .product-overview__heading h2 { font-size: clamp(1.7rem, 8vw, 2.05rem); }
  .product-overview__copy { padding-top: 23px; }
  .product-overview__copy p { font-size: 14.5px; line-height: 1.75; }
  .product-overview__copy p:first-child { font-size: 15px; }
  .product-facts { padding-top: 48px; padding-bottom: 48px; }
  .product-fact-card { padding: 25px 23px; }
  .product-fact-card__number { margin-bottom: 18px; }
  .product-detail__heading h2 { font-size: clamp(1.85rem, 9vw, 2.25rem); }
  .product-detail-card { padding: 25px 23px; }
  .product-detail-card p { font-size: 14.5px; line-height: 1.74; }
  .product-quote { padding: 62px 0; }
  .product-quote__card { padding: 34px 22px 36px; border-radius: 10px; }
  .product-quote__mark { height: 34px; font-size: 66px; }
  .product-quote blockquote { font-size: 1.08rem; line-height: 1.62; }
}

/* ===== v1.1.0 — exact brand logo, shared CTA, dashboard-editable content, testimonial refinement ===== */
.site-header__brand-panel { background: #fff; }
.site-brand__logo {
  width: 208px;
  max-height: 50px;
  object-fit: contain;
  object-position: left center;
}
.footer-brand {
  padding: 8px 14px;
  background: #fff;
  border-radius: 4px;
}
.footer-brand__logo {
  width: 196px;
  max-height: 48px;
  object-fit: contain;
}

/* Home testimonial: real opening + closing quotation marks, with attribution below. */
.testimonial-quote {
  max-width: 980px;
  padding: 54px 64px 50px;
}
.testimonial-quote__text {
  max-width: 850px !important;
  margin: 0 auto !important;
  color: var(--ws-white);
  text-align: center;
  font-size: clamp(1.22rem, 2.05vw, 1.68rem) !important;
  font-weight: 500;
  line-height: 1.6 !important;
  letter-spacing: -.018em;
  text-wrap: balance;
}
.testimonial-quote__open,
.testimonial-quote__close {
  display: inline;
  color: #dbe5ff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.18em;
  font-weight: 700;
  line-height: 1;
}
.testimonial-quote__open { margin-right: 2px; }
.testimonial-quote__close { margin-left: 2px; }
.testimonial-quote__rule {
  width: 38px;
  margin: 25px auto 16px;
}
.testimonial-quote__author {
  margin-top: 0;
}
.testimonial-quote__author strong { font-size: 15px; }
.testimonial-quote__author span { margin-top: 1px; }

/* Keep the shared CTA visually identical on every custom page. */
.cta-band .cta-band__inner > div { max-width: 720px; }

@media (max-width: 1060px) {
  .site-brand__logo { width: 190px; }
}
@media (max-width: 960px) {
  .site-brand__logo { width: 184px; max-height: 47px; }
}
@media (max-width: 620px) {
  .site-header__brand-panel { width: min(72vw, 285px); }
  .site-brand__logo { width: 172px; max-height: 43px; }
  .footer-brand__logo { width: 180px; }
  .testimonial-quote { padding: 38px 22px 40px; }
  .testimonial-quote__text { font-size: 1.08rem !important; line-height: 1.64 !important; }
}


/* ===== v1.1.1 — approved logo proportions + consistent product testimonials ===== */
/* Match the approved header logo presentation: compact artwork inside the angled white brand panel. */
.site-header__brand-panel {
  width: clamp(285px, 22.5vw, 325px);
  background: #f7f8fc;
  clip-path: polygon(0 0, 100% 0, 82% 100%, 0 100%);
}
.site-brand {
  min-width: 0;
  padding-left: 0;
}
.site-brand__logo {
  display: block;
  width: 174px;
  max-width: 100%;
  max-height: 42px;
  height: auto;
  object-fit: contain;
  object-position: left center;
}

/* Footer uses the same approved logo artwork and the same angled white presentation language. */
.footer-brand {
  display: inline-flex;
  align-items: center;
  min-height: 62px;
  padding: 9px 34px 9px 16px;
  background: #f7f8fc;
  border-radius: 0;
  clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
}
.footer-brand__logo {
  display: block;
  width: 174px;
  max-width: 100%;
  max-height: 42px;
  height: auto;
  object-fit: contain;
  object-position: left center;
}

/* Accident & Health and Mining intentionally reuse the exact homepage testimonial component. */
.quote-band--product {
  padding: 82px 0;
}
.quote-band--health {
  background:
    radial-gradient(circle at 82% 16%, rgba(83,126,230,.22), transparent 30%),
    linear-gradient(135deg, #11183e 0%, #173378 48%, #244dc0 100%);
}
.quote-band--mining {
  background:
    radial-gradient(circle at 18% 12%, rgba(74,105,198,.18), transparent 30%),
    linear-gradient(135deg, #101638 0%, #17275d 52%, #1c3d94 100%);
}
.quote-band--product .testimonial-quote {
  margin-inline: auto;
}

@media (max-width: 1060px) {
  .site-header__brand-panel { width: 300px; }
  .site-brand__logo { width: 170px; }
}
@media (max-width: 960px) {
  .site-header__brand-panel { width: 285px; }
  .site-brand__logo { width: 166px; max-height: 41px; }
}
@media (max-width: 620px) {
  .site-header__brand-panel { width: min(72vw, 273px); }
  .site-brand__logo { width: 168px; max-height: 40px; }
  .footer-brand { min-height: 58px; padding: 8px 31px 8px 14px; }
  .footer-brand__logo { width: 168px; max-height: 40px; }
  .quote-band--product { padding: 68px 0; }
}


/* ===== v1.1.2 — final approved logo scale + simplified header navigation ===== */
.site-header__brand-panel {
  width: clamp(340px, 27vw, 420px);
  background: #f7f8fc;
  clip-path: polygon(0 0, 100% 0, 82% 100%, 0 100%);
}
.site-header__inner {
  grid-template-columns: minmax(280px, 1fr) auto minmax(150px, 1fr);
  gap: 30px;
}
.site-brand {
  justify-self: start;
  align-self: center;
  margin: 0;
  padding: 0;
}
.site-brand__logo {
  width: 218px;
  max-width: none;
  max-height: none;
  height: auto;
  object-fit: contain;
  object-position: left center;
  margin-left: -24px;
}
.primary-nav {
  justify-self: center;
  gap: 44px;
}
.header-cta { justify-self: end; }

.footer-brand {
  justify-content: flex-start;
  min-height: 70px;
  padding: 10px 42px 10px 16px;
  background: #f7f8fc;
  clip-path: polygon(0 0, 100% 0, 89% 100%, 0 100%);
}
.footer-brand__logo {
  width: 212px;
  max-width: none;
  max-height: none;
  height: auto;
  object-fit: contain;
  object-position: left center;
}

@media (max-width: 1120px) {
  .site-header__brand-panel { width: 335px; }
  .site-brand__logo { width: 202px; }
  .primary-nav { gap: 32px; }
}
@media (max-width: 960px) {
  .site-header__inner { grid-template-columns: 1fr auto; gap: 18px; }
  .site-header__brand-panel { width: min(72vw, 320px); }
  .site-brand__logo { width: 194px; }
  .footer-brand__logo { width: 198px; }
}
@media (max-width: 620px) {
  .site-header__brand-panel { width: min(73vw, 290px); }
  .site-brand__logo { width: 182px; }
  .footer-brand { min-height: 62px; padding: 9px 34px 9px 14px; }
  .footer-brand__logo { width: 184px; }
}
@media (max-width: 390px) {
  .site-header__brand-panel { width: 72vw; }
  .site-brand__logo { width: 172px; }
}

/* ===== v1.1.4 — alignment, card interaction, about hero and full-width mobile menu ===== */

/* Home statistics: calm centered presentation with a brand-color hover state. */
.stats-grid {
  border-radius: 10px;
}
.stat-card {
  position: relative;
  display: flex;
  min-height: 118px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 20px;
  text-align: center;
  overflow: hidden;
  transition: transform .24s ease, background .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.stat-card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(135deg, var(--ws-cobalt) 0%, var(--ws-signal) 100%);
  opacity: 0;
  transition: opacity .24s ease;
}
.stat-card__number,
.stat-card__label {
  position: relative;
  z-index: 1;
  transition: color .24s ease, transform .24s ease;
}
.stat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 34px rgba(19,24,59,.12);
}
.stat-card:hover::before { opacity: 1; }
.stat-card:hover .stat-card__number { color: var(--ws-white); transform: translateY(-1px); }
.stat-card:hover .stat-card__label { color: #dce5ff; }

/* Home Why section: tighter relationship between heading and copy. */
.section-head--balanced {
  grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr);
  gap: 34px;
  align-items: start;
}
.section-head--balanced .why-title {
  max-width: 690px;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.section-head--balanced .why-title span { display: block; }
.section-head--balanced .why-title span + span { margin-top: 5px; }
.section-head--balanced > p {
  max-width: 500px;
  margin-left: -18px;
  padding-top: 1px;
  line-height: 1.68;
}

/* About hero: smaller, more editorial, with restrained brand geometry. */
.about-hero {
  padding: 68px 0 76px;
  background:
    radial-gradient(circle at 83% 28%, rgba(59,102,196,.22), transparent 29%),
    linear-gradient(132deg, #111737 0%, var(--ws-navy) 62%, #152151 100%);
}
.about-hero .page-hero__inner { position: relative; }
.about-hero .page-hero__inner::after {
  content: '';
  position: absolute;
  right: 1%;
  top: 50%;
  width: 175px;
  height: 175px;
  border: 1px solid rgba(143,166,232,.16);
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
}
.about-hero h1 {
  position: relative;
  z-index: 1;
  max-width: 940px;
  font-size: clamp(2.15rem, 3.25vw, 2.85rem);
  line-height: 1.12;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.about-hero .ws-eyebrow { position: relative; z-index: 1; margin-bottom: 20px; }

/* Global Property & Energy + Mining information cards: consistent interaction and brand accent. */
.product-fact-card {
  isolation: isolate;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease;
}
.product-fact-card::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  z-index: 2;
  background: linear-gradient(90deg, var(--ws-cobalt), var(--ws-signal));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .24s ease;
}
.product-fact-card:hover {
  transform: translateY(-7px);
  border-color: #c8d4ed;
  background: #fbfcff;
  box-shadow: 0 22px 48px rgba(19,24,59,.11);
}
.product-fact-card:hover::before { transform: scaleX(1); }
.product-fact-card:hover .product-fact-card__number { color: var(--ws-signal); }
.product-fact-card__number { transition: color .24s ease; }

/* Property leadership cards use the same clean white surface; Market strength no longer has a separate blue fill. */
.product-detail { background: var(--ws-white); }
.product-detail-card,
.product-detail-card--accent {
  background: var(--ws-white);
  border-color: #e0e5ef;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.product-detail-card:hover {
  transform: translateY(-6px);
  border-color: #cbd6eb;
  box-shadow: 0 20px 46px rgba(19,24,59,.09);
}
.product-detail-card::after {
  content: '';
  position: absolute;
  right: -42px;
  bottom: -50px;
  width: 118px;
  height: 118px;
  border: 1px solid rgba(59,102,196,.09);
  transform: rotate(45deg);
  transition: transform .28s ease, border-color .28s ease;
  pointer-events: none;
}
.product-detail-card:hover::after {
  transform: rotate(45deg) translate(-6px,-6px);
  border-color: rgba(59,102,196,.18);
}
.product-detail-card--accent::before { background: var(--ws-cobalt); }

@media (max-width: 960px) {
  .section-head--balanced {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .section-head--balanced > p {
    max-width: 680px;
    margin-left: 0;
  }

  .about-hero .page-hero__inner::after {
    right: -30px;
    width: 140px;
    height: 140px;
    opacity: .65;
  }

  /* Full-width navigation overlay below the fixed header instead of a half-width drawer. */
  .mobile-nav {
    inset: 72px 0 0;
    width: 100%;
    padding: 0;
    background: var(--ws-navy);
    backdrop-filter: none;
  }
  .mobile-nav__inner {
    width: 100%;
    max-width: none;
    min-height: 100%;
    margin: 0;
    padding: 30px clamp(24px, 7vw, 48px) 46px;
    background: var(--ws-navy);
    box-shadow: none;
    transform: translateY(-8px);
    transition: transform .22s ease;
  }
  .mobile-nav.is-open .mobile-nav__inner { transform: translateY(0); }
  .mobile-nav a,
  .mobile-products__button {
    width: 100%;
    padding: 19px 0;
    text-align: left;
  }
  .mobile-products__submenu {
    padding: 6px 0 8px 18px;
  }
  .mobile-nav__cta {
    width: 100%;
    margin-top: 26px;
    justify-content: center !important;
  }

  /* Desktop's negative logo offset is intentionally removed on mobile. */
  .site-brand__logo {
    margin-left: 6px;
  }
}

@media (max-width: 760px) {
  .stat-card { min-height: 106px; padding: 22px 16px; }
  .about-hero { padding: 58px 0 64px; }
  .about-hero h1 {
    max-width: 720px;
    font-size: clamp(2rem, 8.6vw, 2.55rem);
    line-height: 1.14;
  }
  .about-hero .page-hero__inner::after { display: none; }
}

@media (max-width: 620px) {
  .site-header__brand-panel {
    width: min(77vw, 300px);
  }
  .site-brand__logo {
    width: 176px;
    margin-left: 8px;
  }
  .mobile-nav__inner {
    width: 100%;
    padding: 26px 24px 40px;
  }
  .mobile-nav a,
  .mobile-products__button { font-size: 17px; }
}

@media (max-width: 390px) {
  .site-header__brand-panel { width: 78vw; }
  .site-brand__logo { width: 166px; margin-left: 7px; }
}

@media (hover: none) {
  .stat-card:hover,
  .product-fact-card:hover,
  .product-detail-card:hover { transform: none; }
}

/* ===== v1.1.5 — header/logo cleanup, restrained stat hover, white testimonial, consistent left-edge card accents ===== */

/* Header: keep the approved logo fully inside the white brand panel and remove the stray divider line. */
.site-header {
  border-bottom: 0;
  box-shadow: none;
}
.site-header__brand-panel {
  width: clamp(365px, 29vw, 430px);
}
.site-brand__logo {
  width: 205px;
  margin-left: -16px;
  max-height: 48px;
}

/* Home statistic cards: no blue fill on hover; only a subtle lift, scale and shadow. */
.stat-card {
  background: var(--ws-white);
  box-shadow: 0 7px 20px rgba(19,24,59,.055);
  transform-origin: center;
}
.stat-card::before { display: none; }
.stat-card:hover {
  transform: translateY(-4px) scale(1.018);
  background: var(--ws-white);
  border-color: #d6deec;
  box-shadow: 0 16px 34px rgba(19,24,59,.11);
}
.stat-card:hover .stat-card__number {
  color: var(--ws-cobalt);
  transform: none;
}
.stat-card:hover .stat-card__label {
  color: var(--ws-slate);
}

/* Accident & Health secondary testimonial: same premium quote language on a clean white surface. */
.testimonial-light-section {
  padding-top: 76px;
  padding-bottom: 76px;
}
.testimonial-light {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(40px, 5vw, 58px) clamp(28px, 6vw, 72px) clamp(38px, 5vw, 52px);
  overflow: hidden;
  text-align: center;
  background: var(--ws-white);
  border: 1px solid #e0e5ef;
  border-radius: 14px;
  box-shadow: 0 18px 48px rgba(19,24,59,.08);
}
.testimonial-light::before {
  content: '';
  position: absolute;
  left: 0;
  top: 22%;
  bottom: 22%;
  width: 3px;
  background: linear-gradient(180deg, var(--ws-cobalt), var(--ws-signal));
  border-radius: 0 3px 3px 0;
}
.testimonial-light::after {
  content: '';
  position: absolute;
  right: -72px;
  bottom: -92px;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(59,102,196,.08);
  transform: rotate(45deg);
  pointer-events: none;
}
.testimonial-light__text {
  position: relative;
  z-index: 1;
  max-width: 830px;
  margin: 0 auto;
  color: var(--ws-navy);
  font-size: clamp(1.15rem, 1.8vw, 1.48rem);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: -.018em;
  text-wrap: balance;
}
.testimonial-light__quote {
  color: var(--ws-signal);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1;
}
.testimonial-light__rule {
  display: block;
  width: 38px;
  height: 2px;
  margin: 25px auto 16px;
  background: var(--ws-signal);
}
.testimonial-light__author {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  margin: 0;
  color: var(--ws-navy);
  font-style: normal;
}
.testimonial-light__author strong {
  font-size: 15px;
  font-weight: 700;
}
.testimonial-light__author span {
  color: var(--ws-slate);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Global Property & Energy and Mining fact cards: left-side accent appears only on hover. */
.product-fact-card {
  box-shadow: 0 8px 24px rgba(19,24,59,.055);
}
.product-fact-card::before {
  left: 0;
  right: auto;
  top: 0;
  bottom: 0;
  width: 3px;
  height: auto;
  background: linear-gradient(180deg, var(--ws-cobalt), var(--ws-signal));
  transform: scaleY(0);
  transform-origin: top center;
}
.product-fact-card:hover {
  transform: translateY(-6px);
  background: var(--ws-white);
  border-color: #cfd9eb;
  box-shadow: 0 20px 44px rgba(19,24,59,.10);
}
.product-fact-card:hover::before { transform: scaleY(1); }

/* Property leadership cards: no permanent accent; reveal the same left-side line on hover. */
.product-detail-card,
.product-detail-card--accent {
  background: var(--ws-white);
  box-shadow: 0 8px 24px rgba(19,24,59,.05);
}
.product-detail-card::before,
.product-detail-card--accent::before {
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--ws-cobalt), var(--ws-signal));
  transform: scaleY(0);
  transform-origin: top center;
  transition: transform .24s ease;
}
.product-detail-card:hover::before,
.product-detail-card--accent:hover::before {
  transform: scaleY(1);
}
.product-detail-card:hover {
  transform: translateY(-6px);
  background: var(--ws-white);
  box-shadow: 0 20px 44px rgba(19,24,59,.09);
}

@media (max-width: 1120px) {
  .site-header__brand-panel { width: 350px; }
  .site-brand__logo { width: 194px; margin-left: -12px; }
}

@media (max-width: 960px) {
  .site-header__brand-panel { width: min(76vw, 325px); }
  .site-brand__logo {
    width: 184px;
    max-height: 44px;
    margin-left: 10px;
  }
}

@media (max-width: 620px) {
  .site-header__brand-panel { width: min(79vw, 300px); }
  .site-brand__logo {
    width: 174px;
    max-height: 42px;
    margin-left: 10px;
  }
  .testimonial-light-section { padding-top: 54px; padding-bottom: 54px; }
  .testimonial-light {
    padding: 34px 22px 36px;
    border-radius: 11px;
  }
  .testimonial-light__text {
    font-size: 1.06rem;
    line-height: 1.65;
  }
}

@media (max-width: 390px) {
  .site-brand__logo { width: 166px; margin-left: 9px; }
}

@media (hover: none) {
  .stat-card:hover {
    transform: none;
    box-shadow: 0 7px 20px rgba(19,24,59,.055);
  }
  .product-fact-card:hover,
  .product-detail-card:hover {
    transform: none;
  }
  .product-fact-card:hover::before,
  .product-detail-card:hover::before,
  .product-detail-card--accent:hover::before {
    transform: scaleY(0);
  }
}

/* ===== Dashboard edition — logo/footer polish, WordPress-managed navigation, preview controls ===== */

/* Desktop-only logo position requested by client. Tablet/mobile keep their own safe offsets. */
@media (min-width: 1121px) {
  .site-brand__logo {
    width: 205px;
    margin-left: -60px;
    max-height: 48px;
  }
}

/* Footer brand: the supplied PNG already has transparency; convert the blue artwork to white for navy footer contrast. */
.footer-brand {
  width: max-content;
  min-height: 0;
  padding: 0;
  background: transparent;
  clip-path: none;
}
.footer-brand__logo {
  width: 205px;
  max-height: 48px;
  object-fit: contain;
  object-position: left center;
  filter: brightness(0) invert(1);
  opacity: .96;
}

/* The white Accident & Health testimonial gets a full-height left accent. */
.testimonial-light::before {
  top: 0;
  bottom: 0;
}

/* WordPress-managed desktop navigation. This lets Appearance > Menus control links and new pages. */
.primary-nav .menu,
.primary-nav .sub-menu,
.mobile-nav .menu,
.mobile-nav .sub-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}
.primary-nav .primary-menu {
  display: flex;
  align-items: center;
  gap: 44px;
}
.primary-nav .primary-menu > .menu-item {
  position: relative;
}
.primary-nav .primary-menu > .menu-item > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 28px 0 26px;
  color: #d9ddf2;
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1;
  transition: color .2s ease;
}
.primary-nav .primary-menu > .menu-item > a::after {
  content: '';
  position: absolute;
  height: 2px;
  left: 0;
  right: 100%;
  bottom: 18px;
  background: var(--ws-signal-2);
  transition: right .22s ease;
}
.primary-nav .primary-menu > .menu-item:hover > a,
.primary-nav .primary-menu > .current-menu-item > a,
.primary-nav .primary-menu > .current-menu-ancestor > a,
.primary-nav .primary-menu > .current_page_item > a,
.primary-nav .primary-menu > .current_page_ancestor > a {
  color: var(--ws-white);
}
.primary-nav .primary-menu > .menu-item:hover > a::after,
.primary-nav .primary-menu > .current-menu-item > a::after,
.primary-nav .primary-menu > .current-menu-ancestor > a::after,
.primary-nav .primary-menu > .current_page_item > a::after,
.primary-nav .primary-menu > .current_page_ancestor > a::after {
  right: 0;
}
.primary-nav .menu-item-has-children > a::before {
  content: '';
  width: 7px;
  height: 7px;
  margin-left: 2px;
  order: 2;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .2s ease;
}
.primary-nav .menu-item-has-children:hover > a::before,
.primary-nav .menu-item-has-children:focus-within > a::before {
  transform: rotate(225deg) translate(-2px,-2px);
}
.primary-nav .sub-menu {
  position: absolute;
  top: calc(100% - 4px);
  left: 50%;
  width: 286px;
  padding: 10px;
  background: var(--ws-white);
  border: 1px solid var(--ws-hairline);
  border-radius: 8px;
  box-shadow: var(--ws-shadow-strong);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 10px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.primary-nav .sub-menu::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -14px;
  height: 14px;
}
.primary-nav .menu-item-has-children:hover > .sub-menu,
.primary-nav .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.primary-nav .sub-menu a {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 10px 12px;
  border-radius: 6px;
  color: var(--ws-navy);
  font-size: 14px;
  font-weight: 500;
  transition: background .18s ease, transform .18s ease, color .18s ease;
}
.primary-nav .sub-menu a::before {
  content: '';
  width: 8px;
  height: 8px;
  margin-right: 12px;
  flex: 0 0 8px;
  background: var(--ws-signal);
}
.primary-nav .sub-menu li:nth-child(2) a::before { background: var(--ws-cobalt); }
.primary-nav .sub-menu a:hover {
  background: var(--ws-paper-2);
  color: var(--ws-cobalt);
  transform: translateX(3px);
}
.ws-menu-link-disabled { cursor: default; }

@media (max-width: 1120px) and (min-width: 961px) {
  .site-brand__logo {
    width: 194px;
    max-height: 46px;
    margin-left: 0;
  }
  .primary-nav .primary-menu { gap: 30px; }
}

@media (max-width: 960px) {
  .site-brand__logo {
    margin-left: 10px;
  }
  .mobile-menu {
    width: 100%;
  }
  .mobile-menu > .menu-item {
    position: relative;
    border-bottom: 1px solid #2f376b;
  }
  .mobile-menu > .menu-item > a {
    display: flex;
    width: 100%;
    align-items: center;
    min-height: 58px;
    padding: 16px 52px 16px 0;
    border: 0;
    color: var(--ws-white);
    font-size: 17px;
    text-align: left;
  }
  .mobile-menu .sub-menu {
    display: none;
    padding: 2px 0 12px 18px;
  }
  .mobile-menu .is-submenu-open > .sub-menu {
    display: block;
  }
  .mobile-menu .sub-menu li {
    border: 0;
  }
  .mobile-menu .sub-menu a {
    display: block;
    padding: 12px 0;
    border: 0;
    color: #b7c2e8;
    font-size: 14px;
  }
  .mobile-submenu-toggle {
    position: absolute;
    right: 0;
    top: 7px;
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: var(--ws-white);
    font-size: 20px;
  }
  .mobile-nav__cta {
    display: flex;
    min-height: 56px;
    margin-top: 26px;
    padding: 0 20px;
    align-items: center;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 6px;
    background: var(--ws-signal) !important;
    color: var(--ws-white);
    font-size: 16px;
    font-weight: 600;
  }
}

@media (max-width: 620px) {
  .site-brand__logo {
    margin-left: 10px;
  }
  .footer-brand__logo {
    width: 184px;
    max-height: 44px;
  }
}

/* ===== v1.7.0 — wide-desktop header stability + testimonial polish ===== */

/*
 * Wide desktop / browser zoom-out fix.
 * The regular site container is centered and capped at 1180px; at very wide
 * viewports that used to pull the brand inward while the white brand panel
 * stayed pinned to the viewport edge. Make the header grid full-width on
 * desktop so the logo keeps a stable left position at every desktop width.
 */
@media (min-width: 1121px) {
  .site-header__inner {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: clamp(96px, 7vw, 150px);
    grid-template-columns: minmax(260px, 1fr) auto minmax(260px, 1fr);
  }
  .site-header__brand-panel {
    width: clamp(340px, 24vw, 430px);
  }
  .site-brand__logo {
    width: 205px;
    margin-left: -60px;
    max-height: 48px;
  }
}

/* Home stat cards: static presentation only — no hover movement or hover shadow/color change. */
.stat-card,
.stat-card:hover {
  transform: none;
  background: var(--ws-white);
  border-color: var(--ws-hairline);
  box-shadow: 0 7px 20px rgba(19,24,59,.055);
}
.stat-card:hover .stat-card__number {
  color: var(--ws-cobalt);
  transform: none;
}
.stat-card:hover .stat-card__label {
  color: var(--ws-slate);
}

/* Accident & Health primary testimonial: remove the outer inset frame; keep the inner premium card. */
.quote-band--health::before {
  display: none;
}

/* Accident & Health secondary white testimonial: no blue side rule, only a restrained soft shadow. */
.testimonial-light {
  box-shadow: 0 10px 28px rgba(19,24,59,.065);
}
.testimonial-light::before {
  display: none;
}

/* About executive quote: visible closing quotation mark at the end of the quote. */
.executive-quote__close {
  display: inline;
  margin-left: 2px;
  color: var(--ws-signal);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.18em;
  font-weight: 700;
  line-height: 1;
}


/* ===== v1.8.0 — header chevrons, simplified hero surfaces, clean About quote ===== */

/* Header: subtle divider plus exactly three restrained chevrons beside the CTA.
   The chevrons stay fully visible on wide desktop screens and browser zoom-out. */
.site-header {
  border-bottom: 1px solid #2a3062;
  background-color: #314A75;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 74'%3E%3Cpolygon points='0,0 24,0 58,37 24,74 0,74 34,37' fill='%23293472' fill-opacity='.48'/%3E%3Cpolygon points='44,0 68,0 102,37 68,74 44,74 78,37' fill='%23293472' fill-opacity='.48'/%3E%3Cpolygon points='88,0 112,0 146,37 112,74 88,74 122,37' fill='%23293472' fill-opacity='.48'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 145px center;
  background-size: 176px 74px;
}
.site-header::before { display: none; }

@media (max-width: 1240px) and (min-width: 901px) {
  .site-header {
    background-position: right 126px center;
    background-size: 164px 72px;
  }
}

@media (max-width: 900px) {
  .site-header {
    background-image: none;
  }
}

/* All hero sections: clean single-brand-color background only. */
.home-hero,
.page-hero,
.about-hero {
  background: #314A75 !important;
}
.home-hero::after,
.page-hero::after,
.about-hero .page-hero__inner::after {
  display: none !important;
}

/* About leadership quote: remove the tinted/gradient treatment and geometry. */
.about-leadership .executive-quote {
  background: #ffffff;
  border-color: #e1e4ee;
  box-shadow: 0 12px 34px rgba(19,24,59,.07);
}
.about-leadership .executive-quote::after {
  display: none;
}
.executive-quote__mark,
.executive-quote__close {
  color: #3871B6;
}


/* ===== v1.9.0 — exact three-chevron header + matched About quotation marks ===== */
.about-leadership .executive-quote blockquote .executive-quote__mark,
.about-leadership .executive-quote blockquote .executive-quote__close {
  position: static;
  display: inline;
  margin: 0 2px;
  color: var(--ws-signal);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.12em;
  font-weight: 700;
  line-height: 1;
  vertical-align: baseline;
  pointer-events: none;
}
.about-leadership .executive-quote blockquote .executive-quote__mark { margin-left: 0; }
.about-leadership .executive-quote blockquote .executive-quote__close { margin-right: 0; }

/* ===== v1.9.1 — supplied header/hero artwork + mobile hero balance ===== */
/* Keep the approved v19 layout; only replace the decorative artwork. */
.site-header {
  background-color: #314A75;
  background-image: url('assets/images/header-chevrons.png');
  background-repeat: no-repeat;
  /* The supplied artwork fills the full header height: no top/bottom gap. */
  background-size: auto 100%;
  background-position: right 142px center;
}
.site-header::before { display: none !important; }

/* Use the supplied Way Specialty watermark in every hero while retaining
   the existing v19 copy, spacing and content-management system. */
.home-hero,
.page-hero,
.about-hero {
  background-color: #314A75 !important;
  background-image: url('assets/images/hero-branding.png') !important;
  background-repeat: no-repeat !important;
  background-position: right center !important;
  background-size: auto 100% !important;
}
.home-hero::after,
.page-hero::after,
.about-hero .page-hero__inner::after {
  display: none !important;
}
.home-hero__inner,
.page-hero__inner {
  position: relative;
  z-index: 2;
}

/* Keep hero copy visually clear of the right-side watermark on desktop. */
.home-hero h1,
.home-hero__lede,
.page-hero h1,
.page-hero__lede {
  position: relative;
  z-index: 2;
  text-wrap: balance;
}
.home-hero h1 { max-width: 780px; }
.home-hero__lede { max-width: 620px; }
.page-hero h1 { max-width: 860px; }

/* About hero: equal vertical breathing room, as requested. */
.about-hero {
  padding-top: 76px;
  padding-bottom: 76px;
}

@media (max-width: 1240px) and (min-width: 961px) {
  .site-header {
    background-position: right 126px center;
  }
}

@media (max-width: 960px) {
  /* The compact header stays uncluttered; the supplied hero branding remains. */
  .site-header { background-image: none; }

  .home-hero,
  .page-hero,
  .about-hero {
    /* Put the watermark lower/right so headings stay readable while the
       branding remains visibly present on tablet/mobile. */
    background-position: right bottom !important;
    background-size: auto 88% !important;
  }

  .home-hero__inner,
  .page-hero__inner {
    padding-right: 0;
  }
}

@media (max-width: 760px) {
  .home-hero {
    padding-top: 66px;
    padding-bottom: 108px;
    background-size: auto 80% !important;
    background-position: right bottom 4px !important;
  }
  .page-hero,
  .about-hero {
    padding-top: 62px;
    padding-bottom: 62px;
    background-size: auto 78% !important;
    background-position: right bottom !important;
  }

  /* Prevent awkward one-word rows like the earlier mobile screenshot. */
  .home-hero h1 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(1.95rem, 8.1vw, 2.45rem);
    line-height: 1.12;
    letter-spacing: -.032em;
    text-wrap: balance;
  }
  .page-hero h1,
  .about-hero h1 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(1.9rem, 7.8vw, 2.35rem);
    line-height: 1.13;
    letter-spacing: -.03em;
    text-wrap: balance;
  }
  .home-hero__lede,
  .page-hero__lede {
    max-width: 92%;
  }
}

@media (max-width: 480px) {
  .home-hero {
    padding-top: 58px;
    padding-bottom: 100px;
    background-size: auto 72% !important;
  }
  .page-hero,
  .about-hero {
    padding-top: 56px;
    padding-bottom: 56px;
    background-size: auto 70% !important;
  }
  .home-hero h1 {
    font-size: clamp(1.82rem, 8vw, 2.08rem);
    line-height: 1.14;
  }
  .page-hero h1,
  .about-hero h1 {
    font-size: clamp(1.78rem, 7.6vw, 2.02rem);
    line-height: 1.15;
  }
}

/* ===== v1.9.2 — header artwork spacing + hero balance refinements ===== */

/* Keep the supplied chevrons tied to the Contact button so they never drift
   into it on wide screens or browser zoom-out. */
.site-header {
  background-image: none !important;
}
.header-cta {
  position: relative;
  z-index: 2;
}
@media (min-width: 1121px) {
  .header-cta::before {
    content: '';
    position: absolute;
    top: 50%;
    right: calc(100% + 16px);
    width: 154px;
    height: 64px;
    transform: translateY(-50%);
    background: url('assets/images/header-chevrons.png') center / contain no-repeat;
    pointer-events: none;
    z-index: -1;
  }
}
@media (max-width: 1120px) {
  .header-cta::before { display: none; }
}

/* Nudge the supplied hero branding slightly left while keeping the same art. */
.home-hero,
.page-hero,
.about-hero {
  background-position: right 18px center !important;
}

/* About: slightly larger title and a little more vertical breathing room so
   it feels consistent with the Home hero without becoming oversized. */
.about-hero {
  padding-top: 86px !important;
  padding-bottom: 92px !important;
}
.about-hero .ws-eyebrow {
  margin-bottom: 22px;
}
.about-hero h1 {
  max-width: 980px;
  font-size: clamp(2.30rem, 3.45vw, 3.05rem);
  line-height: 1.10;
  letter-spacing: -.038em;
  margin-bottom: 0;
}

/* Tablet/mobile: keep the branding visible, but place it away from the copy.
   Slightly smaller type prevents awkward single-word rows. */
@media (max-width: 960px) {
  .home-hero,
  .page-hero,
  .about-hero {
    background-position: right 10px bottom 10px !important;
    background-size: auto 76% !important;
  }
  .about-hero {
    padding-top: 70px !important;
    padding-bottom: 78px !important;
  }
}

@media (max-width: 760px) {
  .home-hero {
    padding-top: 62px;
    padding-bottom: 112px;
    background-size: auto 66% !important;
    background-position: right 6px bottom 8px !important;
  }
  .page-hero,
  .about-hero {
    padding-top: 64px !important;
    padding-bottom: 82px !important;
    background-size: auto 64% !important;
    background-position: right 6px bottom 8px !important;
  }
  .home-hero h1 {
    max-width: 100%;
    font-size: clamp(1.72rem, 7.15vw, 2.12rem);
    line-height: 1.13;
    letter-spacing: -.038em;
    text-wrap: pretty;
  }
  .page-hero h1,
  .about-hero h1 {
    max-width: 100%;
    font-size: clamp(1.72rem, 6.95vw, 2.08rem);
    line-height: 1.14;
    letter-spacing: -.034em;
    text-wrap: pretty;
  }
  .home-hero__lede,
  .page-hero__lede {
    max-width: 94%;
    font-size: .98rem;
    line-height: 1.65;
  }
}

@media (max-width: 480px) {
  .home-hero {
    padding-top: 56px;
    padding-bottom: 104px;
    background-size: auto 58% !important;
    background-position: right 4px bottom 8px !important;
  }
  .page-hero,
  .about-hero {
    padding-top: 58px !important;
    padding-bottom: 76px !important;
    background-size: auto 58% !important;
    background-position: right 4px bottom 8px !important;
  }
  .home-hero h1 {
    font-size: clamp(1.62rem, 7vw, 1.92rem);
  }
  .page-hero h1,
  .about-hero h1 {
    font-size: clamp(1.58rem, 6.75vw, 1.88rem);
  }
}

/* ===== v1.9.3 — exact header-chevron spacing + About hero height/line-break balance ===== */

/* Match the approved header reference: the three-chevron artwork sits almost
   flush with the Contact Us button, with no visible oversized gap. */
@media (min-width: 1121px) {
  .header-cta::before {
    right: calc(100% + 1px);
    width: 154px;
    height: 64px;
  }
}

/* About hero uses the same desktop vertical rhythm as Home. The explicit
   semantic line break in page-about.php keeps the long title readable without
   creating awkward word-by-word wrapping. */
@media (min-width: 961px) {
  .about-hero {
    box-sizing: border-box;
    min-height: 620px;
    padding-top: 112px !important;
    padding-bottom: 150px !important;
  }
  .about-hero h1 {
    max-width: 960px;
    font-size: clamp(2.42rem, 3.58vw, 3.18rem);
    line-height: 1.105;
    letter-spacing: -.039em;
    text-wrap: balance;
  }
}

/* Tablet: keep Home/About spacing visually related while retaining enough room
   for the watermark artwork. */
@media (max-width: 960px) and (min-width: 761px) {
  .about-hero {
    padding-top: 86px !important;
    padding-bottom: 120px !important;
  }
  .about-hero h1 {
    max-width: 94%;
    font-size: clamp(2.18rem, 5.7vw, 2.72rem);
    line-height: 1.11;
    text-wrap: balance;
  }
}

/* Mobile: use the same hero padding cadence as Home, preserve the branding,
   and keep both halves of the heading balanced after the intentional break. */
@media (max-width: 760px) {
  .about-hero {
    padding-top: 62px !important;
    padding-bottom: 112px !important;
  }
  .about-hero h1 {
    max-width: 100%;
    font-size: clamp(1.72rem, 6.95vw, 2.08rem);
    line-height: 1.14;
    text-wrap: balance;
  }
}

@media (max-width: 480px) {
  .about-hero {
    padding-top: 56px !important;
    padding-bottom: 104px !important;
  }
  .about-hero h1 {
    font-size: clamp(1.58rem, 6.75vw, 1.88rem);
    line-height: 1.15;
  }
}

/* ===== v1.9.4 — approved About line breaks + unified hero height ===== */

/* Header reference: use the supplied three-chevron artwork at the full header
   height and let it tuck a few pixels beneath the Contact Us button so there is
   no visual gap between the artwork and CTA. */
@media (min-width: 1121px) {
  .header-cta::before {
    right: calc(100% - 3px);
    width: 187px;
    height: 78px;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
  }
}

/* Every primary hero uses the same desktop height. This includes Home, About,
   Accident & Health, Global Property & Energy, Mining and Contact. */
@media (min-width: 961px) {
  .home-hero,
  .page-hero,
  .about-hero {
    box-sizing: border-box;
    min-height: 620px;
    height: 620px;
    display: flex;
    align-items: center;
    padding-top: 92px !important;
    padding-bottom: 92px !important;
    background-position: right 34px center !important;
    background-size: auto 100% !important;
  }

  .home-hero__inner,
  .page-hero__inner {
    width: 100%;
  }

  /* The approved About title is intentionally a seven-line editorial lockup. */
  .about-hero__title {
    width: min(100%, 720px);
    max-width: 720px !important;
    margin: 0;
    font-size: clamp(2.72rem, 3.65vw, 3.42rem) !important;
    line-height: .98 !important;
    letter-spacing: -.043em !important;
    text-wrap: initial !important;
  }
  .about-hero__line {
    display: block;
    white-space: nowrap;
  }
}

/* Tablet/mobile keep the same hero height per breakpoint so moving between
   pages feels consistent, while the supplied branding remains visible. */
@media (max-width: 960px) and (min-width: 761px) {
  .home-hero,
  .page-hero,
  .about-hero {
    box-sizing: border-box;
    min-height: 570px;
    height: 570px;
    display: flex;
    align-items: center;
    padding-top: 72px !important;
    padding-bottom: 88px !important;
    background-size: auto 72% !important;
    background-position: right -6px bottom 2px !important;
  }

  .about-hero__title {
    max-width: 650px !important;
    margin: 0;
    font-size: clamp(2.18rem, 5.2vw, 2.76rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.04em !important;
    text-wrap: initial !important;
  }
  .about-hero__line { display: block; }
}

@media (max-width: 760px) {
  .home-hero,
  .page-hero,
  .about-hero {
    box-sizing: border-box;
    min-height: 560px;
    height: 550px;
    display: flex;
    align-items: center;
    padding-top: 54px !important;
    padding-bottom: 82px !important;
    background-size: auto 62% !important;
    background-position: right -18px bottom 0 !important;
  }

  .home-hero__inner,
  .page-hero__inner {
    width: 100%;
  }

  .home-hero h1,
  .page-hero h1 {
    max-width: 94% !important;
    text-wrap: balance;
  }

  .about-hero__title {
    max-width: 100% !important;
    margin: 0;
    font-size: clamp(1.62rem, 7.1vw, 2rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    text-wrap: initial !important;
  }
  .about-hero__line {
    display: block;
    white-space: normal;
  }
}

@media (max-width: 480px) {
  .home-hero,
  .page-hero,
  .about-hero {
    min-height: 545px;
    height: 545px;
    padding-top: 48px !important;
    padding-bottom: 72px !important;
    background-size: auto 58% !important;
    background-position: right -20px bottom -2px !important;
  }

  .about-hero__title {
    font-size: clamp(1.52rem, 6.7vw, 1.84rem) !important;
    line-height: 1.09 !important;
  }
}



/* ===== v1.9.5 — unified hero heading alignment + mobile header breathing room ===== */

/* Reinforce the content gutter inside every hero. This prevents headings from
   drifting or clipping at wide desktop widths, browser zoom levels, and all
   responsive breakpoints. */
.home-hero__inner,
.page-hero__inner {
  width: min(calc(100% - 64px), var(--ws-container)) !important;
  max-width: var(--ws-container) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

.hero-title {
  position: relative;
  z-index: 2;
  margin: 0;
  color: var(--ws-white);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

/* Home keeps the strongest hierarchy, but is capped so it never runs outside
   the content grid. Product/contact headings use the same left edge and a
   slightly smaller editorial scale. */
@media (min-width: 961px) {
  .hero-title--home {
    width: min(100%, 800px);
    max-width: 800px !important;
    font-size: clamp(3.05rem, 4.55vw, 4.15rem) !important;
    line-height: 1.055 !important;
    letter-spacing: -.046em !important;
    text-wrap: balance;
  }

  .hero-title--page {
    width: min(100%, 840px);
    max-width: 840px !important;
    font-size: clamp(2.65rem, 3.75vw, 3.45rem) !important;
    line-height: 1.07 !important;
    letter-spacing: -.041em !important;
    text-wrap: balance;
  }

  .hero-title--about {
    width: min(100%, 720px);
    max-width: 720px !important;
  }
}

/* Tablet: consistent gutters and controlled line lengths leave the supplied
   hero branding visible on the right without forcing awkward one-word rows. */
@media (max-width: 960px) and (min-width: 761px) {
  .home-hero__inner,
  .page-hero__inner {
    width: min(calc(100% - 48px), var(--ws-container)) !important;
  }

  .hero-title--home {
    max-width: 760px !important;
    font-size: clamp(2.55rem, 6.1vw, 3.35rem) !important;
    line-height: 1.07 !important;
    text-wrap: balance;
  }

  .hero-title--page {
    max-width: 720px !important;
    font-size: clamp(2.25rem, 5.35vw, 2.9rem) !important;
    line-height: 1.09 !important;
    text-wrap: balance;
  }

  .hero-title--about {
    max-width: 650px !important;
  }
}

/* Mobile header: give both the logo and hamburger deliberate breathing room
   on large, medium and small phone widths. Desktop logo offsets are untouched. */
@media (max-width: 960px) {
  .site-header,
  .site-header__inner {
    min-height: 76px;
  }

  .site-header__inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-inline: 22px !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    gap: 22px !important;
  }

  .site-header__brand-panel {
    width: min(70vw, 310px) !important;
  }

  .site-brand {
    min-width: 0;
    padding-block: 8px;
  }

  .site-brand__logo {
    width: clamp(166px, 23vw, 184px) !important;
    max-height: 44px !important;
    margin-left: 0 !important;
    object-position: left center;
  }

  .mobile-menu-toggle {
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    justify-self: end !important;
    flex: 0 0 48px;
  }

  .mobile-nav {
    inset: 76px 0 0 !important;
  }
}

@media (max-width: 760px) {
  .home-hero__inner,
  .page-hero__inner {
    width: min(calc(100% - 40px), var(--ws-container)) !important;
  }

  .hero-title--home,
  .hero-title--page {
    width: 100%;
    max-width: 100% !important;
    font-size: clamp(1.92rem, 8.2vw, 2.35rem) !important;
    line-height: 1.10 !important;
    letter-spacing: -.037em !important;
    text-wrap: balance;
  }

  /* Keep the approved seven-line About lockup on phones rather than allowing
     single words to fall onto their own unintended rows. */
  .hero-title--about {
    width: 100%;
    max-width: 100% !important;
    font-size: clamp(1.36rem, 5.75vw, 1.72rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -.032em !important;
  }
  .about-hero__line {
    display: block;
    white-space: nowrap !important;
  }

  .home-hero__lede,
  .page-hero__lede {
    max-width: 94%;
  }

  .site-header__inner {
    padding-inline: 18px !important;
    gap: 18px !important;
  }
  .site-header__brand-panel {
    width: min(72vw, 288px) !important;
  }
  .site-brand__logo {
    width: clamp(156px, 43vw, 174px) !important;
    max-height: 42px !important;
  }
  .mobile-menu-toggle {
    width: 46px !important;
    height: 46px !important;
    flex-basis: 46px;
  }
}

@media (max-width: 480px) {
  .home-hero__inner,
  .page-hero__inner {
    width: min(calc(100% - 32px), var(--ws-container)) !important;
  }

  .hero-title--home,
  .hero-title--page {
    font-size: clamp(1.72rem, 8.0vw, 2.02rem) !important;
    line-height: 1.11 !important;
  }

  .hero-title--about {
    font-size: clamp(1.24rem, 5.55vw, 1.52rem) !important;
    line-height: 1.13 !important;
  }

  .site-header__inner {
    padding-inline: 14px !important;
    gap: 14px !important;
  }
  .site-header__brand-panel {
    width: min(73vw, 258px) !important;
  }
  .site-brand__logo {
    width: clamp(146px, 44vw, 160px) !important;
    max-height: 40px !important;
  }
  .mobile-menu-toggle {
    width: 44px !important;
    height: 44px !important;
    flex-basis: 44px;
  }
}

@media (max-width: 360px) {
  .site-header__inner {
    padding-inline: 12px !important;
    gap: 12px !important;
  }
  .site-header__brand-panel {
    width: min(72vw, 240px) !important;
  }
  .site-brand__logo {
    width: 142px !important;
    max-height: 38px !important;
  }
  .hero-title--about {
    font-size: 1.18rem !important;
  }
}

/* ===== v1.9.6 — final hero-height split + header-chevron offset ===== */

/* Keep the approved chevrons close to Contact Us, but move them just far enough
   left that the artwork never overlaps the button on desktop/zoomed layouts. */
@media (min-width: 1121px) {
  .header-cta::before {
    right: calc(100% + 8px) !important;
  }
}

/* Home, About and Contact share one consistent hero height. */
@media (min-width: 961px) {
  .home-hero,
  .about-hero,
  .page-hero--contact {
    box-sizing: border-box;
    min-height: 620px !important;
    height: 620px !important;
    display: flex;
    align-items: center;
    padding-top: 92px !important;
    padding-bottom: 92px !important;
    background-position: right 34px center !important;
    background-size: auto 100% !important;
  }

  /* Product heroes return to the earlier, more compact treatment. */
  .page-hero--product {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding-top: 78px !important;
    padding-bottom: 88px !important;
    background-position: right 18px center !important;
    background-size: auto 100% !important;
  }
}

@media (max-width: 960px) and (min-width: 761px) {
  .home-hero,
  .about-hero,
  .page-hero--contact {
    min-height: 570px !important;
    height: 570px !important;
    display: flex;
    align-items: center;
    padding-top: 72px !important;
    padding-bottom: 88px !important;
    background-size: auto 72% !important;
    background-position: right -6px bottom 2px !important;
  }

  .page-hero--product {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding-top: 78px !important;
    padding-bottom: 88px !important;
    background-size: auto 76% !important;
    background-position: right 10px bottom 10px !important;
  }
}

@media (max-width: 760px) {
  .home-hero,
  .about-hero,
  .page-hero--contact {
    min-height: 560px !important;
    height: 560px !important;
    display: flex;
    align-items: center;
    padding-top: 54px !important;
    padding-bottom: 82px !important;
    background-size: auto 62% !important;
    background-position: right -18px bottom 0 !important;
  }

  .page-hero--product {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding-top: 64px !important;
    padding-bottom: 82px !important;
    background-size: auto 64% !important;
    background-position: right 6px bottom 8px !important;
  }
}

@media (max-width: 480px) {
  .home-hero,
  .about-hero,
  .page-hero--contact {
    min-height: 545px !important;
    height: 545px !important;
    padding-top: 48px !important;
    padding-bottom: 72px !important;
    background-size: auto 58% !important;
    background-position: right -20px bottom -2px !important;
  }

  .page-hero--product {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 58px !important;
    padding-bottom: 76px !important;
    background-size: auto 58% !important;
    background-position: right 4px bottom 8px !important;
  }
}

/* ===== v1.9.7 — compact Contact hero, anchored mobile menu, mobile About balance ===== */

/* Desktop header reference: let the supplied three-chevron artwork tuck beneath
   the left edge of the Contact Us button. The CTA remains above the artwork. */
@media (min-width: 1121px) {
  .header-cta::before {
    right: calc(100% - 24px) !important;
  }
}

/* Contact now follows the same compact hero rhythm as the product sub-pages.
   Home and About retain the taller feature-hero treatment. */
@media (min-width: 961px) {
  .page-hero--contact {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding-top: 78px !important;
    padding-bottom: 88px !important;
    background-position: right 18px center !important;
    background-size: auto 100% !important;
  }
}

@media (max-width: 960px) and (min-width: 761px) {
  .page-hero--contact {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding-top: 78px !important;
    padding-bottom: 88px !important;
    background-size: auto 76% !important;
    background-position: right 10px bottom 10px !important;
  }
}

@media (max-width: 760px) {
  .page-hero--contact {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding-top: 64px !important;
    padding-bottom: 82px !important;
    background-size: auto 64% !important;
    background-position: right 6px bottom 8px !important;
  }

  /* Anchor the mobile overlay to the actual bottom edge of the sticky header.
     This keeps it correct with the WordPress admin bar, at page top, and while
     the sticky header is active. */
  .site-header {
    overflow: visible;
  }
  .mobile-nav {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    height: calc(100dvh - 76px) !important;
    max-height: calc(100dvh - 76px) !important;
  }

  /* About mobile: center the copy block within the hero with a little more
     horizontal breathing room, while keeping the approved line structure. */
  .about-hero .page-hero__inner {
    width: min(calc(100% - 64px), var(--ws-container)) !important;
    margin-inline: auto !important;
  }
  .hero-title--about {
    font-size: clamp(1.46rem, 6.2vw, 1.72rem) !important;
    line-height: 1.13 !important;
  }
}

@media (max-width: 480px) {
  .page-hero--contact {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 58px !important;
    padding-bottom: 76px !important;
    background-size: auto 58% !important;
    background-position: right 4px bottom 8px !important;
  }

  .about-hero .page-hero__inner {
    width: min(calc(100% - 54px), var(--ws-container)) !important;
  }
}

@media (max-width: 360px) {
  .about-hero .page-hero__inner {
    width: min(calc(100% - 40px), var(--ws-container)) !important;
  }
  .hero-title--about {
    font-size: 1.22rem !important;
  }
}


/* ===== v1.9.8 — header chevrons layered underneath Contact Us ===== */
/* The chevron artwork is now a sibling layer of the CTA instead of a pseudo-element
   inside the button. This lets the blue Contact Us button paint above the artwork,
   matching the approved reference where the chevrons tuck underneath the button. */
@media (min-width: 1121px) {
  .site-header__inner {
    position: relative;
    isolation: isolate;
  }

  .header-cta::before {
    display: none !important;
    content: none !important;
  }

  .site-header__inner::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 92px;
    width: 154px;
    height: 64px;
    transform: translateY(-50%);
    background: url('assets/images/header-chevrons.png') center / contain no-repeat;
    pointer-events: none;
    z-index: 0;
  }

  .site-brand,
  .primary-nav,
  .header-cta,
  .mobile-menu-toggle {
    position: relative;
    z-index: 2;
  }
}

/* ===== v1.9.9 — final header chevron placement ===== */
/* Approved header treatment:
   - first two chevrons remain fully visible;
   - only a small portion of the third chevron sits underneath Contact Us;
   - artwork stays fully contained inside the header height. */
@media (min-width: 1121px) {
  .site-header__inner::after {
    top: 9px !important;
    right: 102px !important;
    width: 154px !important;
    height: 60px !important;
    transform: none !important;
    background-image: url('assets/images/header-chevrons.png') !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    z-index: 1 !important;
  }

  .header-cta {
    position: relative !important;
    z-index: 3 !important;
  }

  .site-brand,
  .primary-nav,
  .mobile-menu-toggle {
    position: relative;
    z-index: 2;
  }
}


/* ===== v1.9.10 — approved chevrons/CTA composition ===== */
/* Match the supplied reference exactly in structure: the chevron artwork is a
   real sibling immediately before the CTA. Two arrows remain fully visible and
   the third slips only a few pixels beneath the Contact Us button. Keeping the
   artwork in this wrapper also guarantees it never leaks below the header. */
.header-cta-wrap {
  justify-self: end;
  display: flex;
  align-items: flex-start;
  position: relative;
}
.header-chevrons { display: none; }

@media (min-width: 1121px) {
  /* Retire all legacy pseudo-element arrow treatments. */
  .site-header__inner::after,
  .header-cta::before {
    display: none !important;
    content: none !important;
  }

  .header-cta-wrap {
    align-self: stretch;
    min-height: 78px;
    height: 78px;
    align-items: flex-start;
    overflow: hidden;
    z-index: 2;
  }

  .header-chevrons {
    display: block;
    width: 170px;
    height: 71px;
    max-width: none;
    flex: 0 0 170px;
    object-fit: fill;
    margin: 0 -6px 0 0;
    position: relative;
    z-index: 1;
    pointer-events: none;
  }

  .header-cta-wrap .header-cta {
    position: relative !important;
    z-index: 3 !important;
    margin-top: 9px;
    flex: 0 0 auto;
  }
}

@media (max-width: 1120px) {
  .header-cta-wrap { display: none; }
}

/* ===== v1.9.11 — final micro-adjust for header chevrons/CTA ===== */
/* Nudge the supplied chevrons a touch further under the Contact Us button and
   lower the whole chevron/CTA grouping slightly so the tiny gap beneath them
   is reduced, matching the approved reference more closely. */
@media (min-width: 1121px) {
  .header-cta-wrap {
    min-height: 74px;
    height: 74px;
  }

  .header-chevrons {
    width: 176px;
    height: 72px;
    flex-basis: 176px;
    margin: 2px -10px 0 0;
  }

  .header-cta-wrap .header-cta {
    margin-top: 11px;
  }
}

/* ===== v1.9.12 — client preview link behavior ===== */
/* Locked destinations remain visually unchanged so the client can review the
   complete design, but clicks do not navigate away from the approved pages. */
a[href="#ws-client-preview-locked"] {
  cursor: default;
}


/* ===== v1.9.14 — leadership profiles + interactive division icons ===== */
.leadership-team-section .section-head {
  margin-bottom: 42px;
}
.leadership-profile-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--ws-hairline);
  background: var(--ws-white);
  overflow: hidden;
}
.leader-profile-card {
  position: relative;
  min-width: 0;
  min-height: 286px;
  padding: 28px 26px 26px;
  background: var(--ws-white);
  border-right: 1px solid var(--ws-hairline);
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.leader-profile-card:last-child { border-right: 0; }
.leader-profile-card::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--ws-cobalt), var(--ws-signal));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}
.leader-profile-card:hover {
  z-index: 2;
  background: #fff;
  box-shadow: 0 14px 32px rgba(15,22,62,.09);
  transform: translateY(-3px);
}
.leader-profile-card:hover::after { transform: scaleX(1); }
.leader-profile-card__photo {
  width: 68px;
  height: 68px;
  margin: 0 0 18px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--ws-paper-2);
  box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(3,48,164,.12);
}
.leader-profile-card__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}
.leader-profile-card:hover .leader-profile-card__photo img { transform: scale(1.06); }
.leader-profile-card__content { display: flex; flex-direction: column; min-height: 164px; }
.leader-profile-card h3 {
  margin: 0 0 5px;
  color: var(--ws-navy);
  font-size: 16px;
  line-height: 1.25;
}
.leader-profile-card__role {
  max-width: 240px;
  color: var(--ws-cobalt);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.42;
}
.leader-profile-card__linkedin {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: fit-content;
  margin-top: auto;
  padding-top: 24px;
  color: var(--ws-navy);
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
}
.leader-profile-card__linkedin svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .22s ease;
}
.leader-profile-card__linkedin:hover { color: var(--ws-cobalt); }
.leader-profile-card__linkedin:hover svg { transform: translateX(4px); }

.division-card__topline {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 25px;
}
.division-card__index {
  margin-bottom: 0 !important;
  color: var(--ws-slate);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .035em;
  text-transform: none;
}
.division-card__icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(3,48,164,.16);
  border-radius: 10px;
  color: var(--ws-cobalt);
  background: rgba(59,102,196,.055);
  transition: transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.division-card__icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .3s ease;
}
.division-card:hover .division-card__icon {
  color: #fff;
  background: var(--ws-cobalt);
  border-color: var(--ws-cobalt);
  box-shadow: 0 8px 18px rgba(3,48,164,.18);
  transform: translateY(-2px);
}
.division-card:hover .division-card__icon svg { transform: scale(1.08) rotate(-3deg); }
.division-card:nth-child(2):hover .division-card__icon svg { transform: scale(1.08) rotate(9deg); }
.division-card:nth-child(3):hover .division-card__icon svg { transform: translateY(-2px) scale(1.08); }

@media (max-width: 1040px) {
  .leadership-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .leader-profile-card { border-bottom: 1px solid var(--ws-hairline); }
  .leader-profile-card:nth-child(2n) { border-right: 0; }
  .leader-profile-card:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 620px) {
  .leadership-team-section .section-head { margin-bottom: 30px; }
  .leadership-profile-grid { grid-template-columns: 1fr; }
  .leader-profile-card,
  .leader-profile-card:nth-child(2n) {
    min-height: 0;
    padding: 24px 22px;
    border-right: 0;
    border-bottom: 1px solid var(--ws-hairline);
  }
  .leader-profile-card:nth-last-child(-n+2) { border-bottom: 1px solid var(--ws-hairline); }
  .leader-profile-card:last-child { border-bottom: 0; }
  .leader-profile-card__content { min-height: 0; }
  .leader-profile-card__linkedin { margin-top: 18px; padding-top: 0; }
  .leader-profile-card__photo { width: 74px; height: 74px; }
}

/* ===== v1.9.15 — compact leadership cards + simple grow hover ===== */
.leadership-profile-grid {
  overflow: visible;
}

.leader-profile-card {
  min-height: 0;
  padding: 24px 26px 24px;
  transform-origin: center;
  transition: transform .22s ease, box-shadow .22s ease;
}

/* Remove the previous blue hover accent. */
.leader-profile-card::after {
  display: none !important;
  content: none !important;
}

.leader-profile-card:hover {
  z-index: 3;
  transform: scale(1.018);
  box-shadow: 0 12px 28px rgba(15,22,62,.10);
}

.leader-profile-card__photo {
  margin-bottom: 16px;
}

.leader-profile-card:hover .leader-profile-card__photo img {
  transform: none;
}

.leader-profile-card__content {
  min-height: 0;
}

.leader-profile-card__role {
  min-height: 38px;
}

.leader-profile-card__linkedin {
  margin-top: 14px;
  padding-top: 0;
}

@media (max-width: 620px) {
  .leader-profile-card,
  .leader-profile-card:nth-child(2n) {
    padding: 22px 20px;
  }
  .leader-profile-card__role {
    min-height: 0;
  }
  .leader-profile-card__linkedin {
    margin-top: 12px;
  }
}


/* ===== v1.9.16 — simple static division icons ===== */
/* Keep the new division symbols, but present them as clean standalone line icons.
   No box, border, background, shadow, hover colour swap, or icon motion. */
.division-card__topline {
  gap: 10px;
}

.division-card__icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ws-cobalt) !important;
  transform: none !important;
  transition: none !important;
}

.division-card__icon svg {
  width: 20px !important;
  height: 20px !important;
  transform: none !important;
  transition: none !important;
}

.division-card:hover .division-card__icon,
.division-card:hover .division-card__icon svg,
.division-card:nth-child(2):hover .division-card__icon svg,
.division-card:nth-child(3):hover .division-card__icon svg {
  color: var(--ws-cobalt) !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}


/* ===== v1.9.17 — About hero heading line-height refinement ===== */
/* Give the multi-line About hero heading a cleaner editorial rhythm so each
   approved line has visible breathing room without changing its line breaks. */
@media (min-width: 961px) {
  .about-hero__title,
  .hero-title--about {
    line-height: 1.085 !important;
  }
}

@media (max-width: 960px) and (min-width: 761px) {
  .about-hero__title,
  .hero-title--about {
    line-height: 1.10 !important;
  }
}

/* ===== v1.9.18 — simplified header + clean solid heroes ===== */
/* The header now follows the cleaner reference: logo plus normal navigation only.
   Contact is handled by the native WordPress menu, so the separate CTA artwork
   and chevrons are intentionally removed. */
.header-cta-wrap,
.header-chevrons,
.header-cta {
  display: none !important;
}

@media (min-width: 961px) {
  .site-header__inner {
    grid-template-columns: minmax(280px, 1fr) auto minmax(150px, 1fr) !important;
  }
  .primary-nav {
    justify-self: center;
  }
}

/* Remove all supplied decorative hero artwork on Home, About, Contact and the
   three product pages. Keep the established spacing/content and use the solid
   Way Specialty navy surface shown in the new reference. */
.home-hero,
.page-hero,
.about-hero,
.page-hero--contact,
.page-hero--product {
  background: #314A75 !important;
  background-image: none !important;
}

.home-hero::after,
.page-hero::after,
.about-hero::after,
.about-hero .page-hero__inner::after {
  display: none !important;
  content: none !important;
}

/* The two Home hero actions are now clean text buttons with no trailing arrow. */
.hero-actions .btn::after {
  display: none !important;
  content: none !important;
}



/* ===== v1.9.19 — desktop navigation + Home hero alignment refinement ===== */
/* Shift the desktop menu slightly toward the logo for a tighter, more intentional
   header composition. Home hero copy follows the same visual direction without
   changing the approved layout on product/About/Contact pages. */
@media (min-width: 1121px) {
  .primary-nav {
    transform: translateX(-48px);
  }

  .home-hero__inner {
    position: relative;
    left: -24px;
  }

  .hero-title--home {
    width: min(100%, 770px);
    max-width: 770px !important;
    font-size: clamp(3rem, 4.25vw, 3.95rem) !important;
    line-height: 1.065 !important;
    letter-spacing: -.043em !important;
  }

  .home-hero__lede {
    max-width: 640px;
  }
}

/* Smaller desktop/laptop widths get a gentler offset so the menu never crowds
   the logo panel before the mobile navigation breakpoint. */
@media (max-width: 1120px) and (min-width: 961px) {
  .primary-nav {
    transform: translateX(-22px);
  }

  .home-hero__inner {
    position: relative;
    left: -12px;
  }

  .hero-title--home {
    max-width: 760px !important;
    line-height: 1.07 !important;
  }
}

/* ===== v1.9.20 — standard right-aligned navigation + Home hero spacing ===== */
/* Use a conventional desktop header composition: brand on the left and the
   WordPress navigation aligned to the right edge of the content container with
   normal breathing room. This intentionally cancels the v1.9.19 left offsets. */
@media (min-width: 961px) {
  .site-header__inner {
    grid-template-columns: minmax(280px, 1fr) auto !important;
    column-gap: 40px !important;
  }

  .primary-nav {
    justify-self: end !important;
    transform: none !important;
  }

  .primary-nav .primary-menu {
    gap: 38px;
  }

  .home-hero__inner {
    left: 0 !important;
  }

  .hero-title--home {
    width: min(100%, 820px) !important;
    max-width: 820px !important;
    line-height: 1.12 !important;
    letter-spacing: -.041em !important;
    margin-bottom: 30px !important;
  }

  .home-hero__lede {
    max-width: 660px;
    line-height: 1.65;
  }
}

@media (max-width: 1120px) and (min-width: 961px) {
  .site-header__inner {
    column-gap: 28px !important;
  }

  .primary-nav .primary-menu {
    gap: 28px;
  }

  .hero-title--home {
    max-width: 780px !important;
    line-height: 1.11 !important;
    margin-bottom: 28px !important;
  }
}

/* ===== v1.9.21 — subtle right-shifted navigation + Home title breathing room ===== */
/* Fine-tune only the desktop composition: the WordPress menu is a touch larger
   and sits slightly farther right, while only the Home hero title receives a
   modest left inset so the headline has more intentional breathing room. */
@media (min-width: 1121px) {
  .primary-nav {
    transform: translateX(12px) !important;
  }

  .primary-nav .primary-menu {
    gap: 40px;
  }

  .primary-nav .primary-menu > .menu-item > a {
    font-size: 15.25px;
  }

  .hero-title--home {
    margin-left: 26px !important;
    width: min(calc(100% - 26px), 820px) !important;
  }
}

@media (max-width: 1120px) and (min-width: 961px) {
  .primary-nav {
    transform: translateX(7px) !important;
  }

  .primary-nav .primary-menu {
    gap: 30px;
  }

  .primary-nav .primary-menu > .menu-item > a {
    font-size: 15px;
  }

  .hero-title--home {
    margin-left: 18px !important;
    width: min(calc(100% - 18px), 780px) !important;
  }
}

/* ===== v1.9.23 — mobile hero spacing + alignment cleanup ===== */
/* Mobile heroes now use one predictable content gutter and natural height.
   This removes the old fixed-height/legacy offsets that made Home, Product,
   and Contact hero copy feel cramped or misaligned on phones. */
@media (max-width: 760px) {
  .home-hero,
  .page-hero--product,
  .page-hero--contact {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    align-items: initial !important;
    background: #314A75 !important;
    background-image: none !important;
  }

  .home-hero {
    padding: 50px 0 64px !important;
  }

  .page-hero--product,
  .page-hero--contact {
    padding: 52px 0 60px !important;
  }

  .home-hero__inner,
  .page-hero--product .page-hero__inner,
  .page-hero--contact .page-hero__inner {
    width: min(calc(100% - 48px), var(--ws-container)) !important;
    max-width: var(--ws-container) !important;
    margin-inline: auto !important;
    padding: 0 !important;
    left: 0 !important;
  }

  .home-hero .ws-eyebrow,
  .page-hero--product .ws-eyebrow,
  .page-hero--contact .ws-eyebrow {
    margin: 0 0 22px !important;
    font-size: 11.5px !important;
    line-height: 1.4 !important;
    letter-spacing: .13em !important;
  }

  .home-hero .hero-title--home {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    font-size: clamp(2.02rem, 8.7vw, 2.35rem) !important;
    line-height: 1.13 !important;
    letter-spacing: -.035em !important;
    text-wrap: balance !important;
  }

  .page-hero--product .hero-title--page,
  .page-hero--contact .hero-title--page {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
    font-size: clamp(1.94rem, 8.2vw, 2.22rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -.032em !important;
    text-wrap: balance !important;
  }

  .home-hero__lede,
  .page-hero--product .page-hero__lede,
  .page-hero--contact .page-hero__lede {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 1rem !important;
    line-height: 1.62 !important;
    text-wrap: pretty !important;
  }

  .home-hero .hero-actions {
    width: 100% !important;
    margin-top: 32px !important;
    gap: 12px !important;
  }
}

@media (max-width: 480px) {
  .home-hero {
    padding: 44px 0 56px !important;
  }

  .page-hero--product,
  .page-hero--contact {
    padding: 46px 0 54px !important;
  }

  .home-hero__inner,
  .page-hero--product .page-hero__inner,
  .page-hero--contact .page-hero__inner {
    width: min(calc(100% - 40px), var(--ws-container)) !important;
  }

  .home-hero .ws-eyebrow,
  .page-hero--product .ws-eyebrow,
  .page-hero--contact .ws-eyebrow {
    margin-bottom: 20px !important;
  }

  .home-hero .hero-title--home {
    margin-bottom: 22px !important;
    font-size: clamp(1.92rem, 8.7vw, 2.12rem) !important;
    line-height: 1.14 !important;
  }

  .page-hero--product .hero-title--page,
  .page-hero--contact .hero-title--page {
    margin-bottom: 20px !important;
    font-size: clamp(1.84rem, 8.2vw, 2.02rem) !important;
    line-height: 1.15 !important;
  }

  .home-hero__lede,
  .page-hero--product .page-hero__lede,
  .page-hero--contact .page-hero__lede {
    font-size: .98rem !important;
    line-height: 1.6 !important;
  }

  .home-hero .hero-actions {
    margin-top: 30px !important;
  }
}

@media (max-width: 360px) {
  .home-hero__inner,
  .page-hero--product .page-hero__inner,
  .page-hero--contact .page-hero__inner {
    width: min(calc(100% - 32px), var(--ws-container)) !important;
  }

  .home-hero .hero-title--home {
    font-size: 1.82rem !important;
  }

  .page-hero--product .hero-title--page,
  .page-hero--contact .hero-title--page {
    font-size: 1.76rem !important;
  }
}

/* ===== v1.9.23 — Home reference sections: Why Way Specialty + Our Divisions ===== */
/* Rebuild the two Home sections from the approved reference while preserving
   native WordPress dashboard editing for all copy and imagery. */
.home-why-reference {
  background: #fff;
  padding: 86px 0 90px;
}
.home-why-reference__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .88fr);
  gap: 86px;
  align-items: end;
  margin-bottom: 54px;
}
.home-why-reference__eyebrow {
  margin-bottom: 22px;
  color: var(--ws-cobalt);
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.home-why-reference__intro h2 {
  max-width: 520px;
  margin: 0;
  color: var(--ws-navy);
  font-size: clamp(2.55rem, 4vw, 3.55rem);
  line-height: 1.04;
  letter-spacing: -.047em;
}
.home-why-reference__intro h2::first-line {
  color: var(--ws-navy);
}
.home-why-reference__intro p {
  max-width: 500px;
  margin: 0 0 2px;
  color: #666d86;
  font-size: 15px;
  line-height: 1.82;
}
.home-why-reference__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .91fr);
  gap: 84px;
  align-items: start;
}
.home-why-reference__visual {
  position: relative;
  min-width: 0;
  padding-bottom: 26px;
}
.home-why-reference__main-image {
  position: relative;
  width: 100%;
  height: 490px;
  overflow: hidden;
  background: var(--ws-paper-2);
}
.home-why-reference__main-image > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.home-why-reference__main-image::after {
  content: '';
  position: absolute;
  inset: 48% 0 0;
  background: linear-gradient(to bottom, rgba(19,24,59,0), rgba(19,24,59,.72));
  pointer-events: none;
}
.home-why-reference__caption {
  position: absolute;
  left: 30px;
  bottom: 30px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: #fff;
  font-size: 20px;
  line-height: 1.38;
  letter-spacing: -.02em;
}
.home-why-reference__caption > span {
  width: 34px;
  height: 2px;
  margin-bottom: 14px;
  background: #fff;
}
.home-why-reference__caption strong { font-weight: 500; }
.home-why-reference__caption strong + strong { font-weight: 700; }
.home-why-reference__inset {
  position: absolute;
  right: -28px;
  bottom: 58px;
  z-index: 3;
  width: 190px;
  height: 148px;
  padding: 7px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(19,24,59,.10);
}
.home-why-reference__inset img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.home-why-reference__points {
  padding-top: 2px;
}
.home-why-reference__point {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 6px;
  padding: 0 0 29px;
  margin-bottom: 29px;
  border-bottom: 1px solid #dde1eb;
}
.home-why-reference__number {
  padding-top: 4px;
  color: var(--ws-cobalt);
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
}
.home-why-reference__point h3 {
  margin: 0 0 10px;
  color: var(--ws-navy);
  font-size: 19px;
  line-height: 1.25;
  letter-spacing: -.022em;
}
.home-why-reference__point p {
  max-width: 460px;
  margin: 0;
  color: #697089;
  font-size: 14px;
  line-height: 1.82;
}
.home-why-reference__link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  min-width: 234px;
  padding: 10px 1px 9px 0;
  border-bottom: 1px solid var(--ws-cobalt);
  color: var(--ws-cobalt);
  font-size: 13px;
  line-height: 1.3;
  font-weight: 700;
}
.home-why-reference__link-arrow {
  font-size: 22px;
  line-height: 1;
}

.home-divisions-reference {
  background: #eef0f7;
  padding: 82px 0 92px;
}
.home-divisions-reference__heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .69fr);
  gap: 72px;
  align-items: start;
  margin-bottom: 44px;
}
.home-divisions-reference__heading h2 {
  margin: 0;
  color: var(--ws-navy);
  font-size: clamp(2.45rem, 4vw, 3.35rem);
  line-height: 1.05;
  letter-spacing: -.046em;
}
.home-divisions-reference__heading h2 span { color: var(--ws-cobalt); }
.home-divisions-reference__heading p {
  max-width: 405px;
  margin: 2px 0 0 auto;
  color: #697089;
  font-size: 15px;
  line-height: 1.75;
}
.home-divisions-reference__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.home-division-reference-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d9deea;
  background: #fff;
}
.home-division-reference-card__image {
  position: relative;
  height: 218px;
  overflow: hidden;
  background: #dfe3ec;
}
.home-division-reference-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.home-division-reference-card__number {
  position: absolute;
  top: 16px;
  left: 16px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 34px;
  background: var(--ws-navy);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
}
.home-division-reference-card__body {
  display: flex;
  flex-direction: column;
  min-height: 286px;
  padding: 28px 28px 25px;
}
.home-division-reference-card__label {
  margin-bottom: 14px;
  color: var(--ws-cobalt);
  font-size: 10px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.home-division-reference-card h3 {
  margin: 0 0 14px;
  color: var(--ws-navy);
  font-size: 22px;
  line-height: 1.18;
  letter-spacing: -.034em;
}
.home-division-reference-card p {
  margin: 0;
  color: #697089;
  font-size: 13.5px;
  line-height: 1.75;
}
.home-division-reference-card__footer {
  margin-top: auto;
  padding-top: 27px;
}
.home-division-reference-card__footer::before {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  margin-bottom: 20px;
  background: #dde1eb;
}
.home-division-reference-card__footer a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--ws-cobalt);
  font-size: 12px;
  line-height: 1.3;
  font-weight: 700;
}
.home-division-reference-card__arrow {
  display: grid;
  place-items: center;
  width: 33px;
  height: 33px;
  flex: 0 0 33px;
  border: 1px solid #d8dfef;
  border-radius: 50%;
  font-size: 19px;
  line-height: 1;
}

@media (max-width: 1100px) {
  .home-why-reference__intro,
  .home-why-reference__grid { gap: 52px; }
  .home-why-reference__main-image { height: 455px; }
  .home-why-reference__inset { right: -16px; width: 172px; height: 135px; }
  .home-divisions-reference__grid { gap: 18px; }
  .home-division-reference-card__body { padding-inline: 23px; }
}

@media (max-width: 900px) {
  .home-why-reference { padding: 72px 0 76px; }
  .home-why-reference__intro {
    grid-template-columns: 1fr;
    gap: 22px;
    margin-bottom: 42px;
  }
  .home-why-reference__intro p { max-width: 650px; }
  .home-why-reference__grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .home-why-reference__visual { max-width: 680px; }
  .home-why-reference__main-image { height: 500px; }
  .home-why-reference__inset { right: -10px; }
  .home-why-reference__points { max-width: 680px; }

  .home-divisions-reference { padding: 72px 0 78px; }
  .home-divisions-reference__heading {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-bottom: 34px;
  }
  .home-divisions-reference__heading p { margin-left: 0; }
  .home-divisions-reference__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-divisions-reference__grid > :last-child { grid-column: 1 / -1; }
  .home-divisions-reference__grid > :last-child .home-division-reference-card__image { height: 260px; }
}

@media (max-width: 760px) {
  .home-why-reference,
  .home-divisions-reference { padding: 60px 0 64px; }
  .home-why-reference .ws-container,
  .home-divisions-reference .ws-container {
    width: min(calc(100% - 40px), var(--ws-container));
  }
  .home-why-reference__eyebrow { margin-bottom: 16px; }
  .home-why-reference__intro h2 {
    max-width: 100%;
    font-size: clamp(2.25rem, 10.6vw, 3rem);
    line-height: 1.05;
  }
  .home-why-reference__intro p {
    font-size: 14px;
    line-height: 1.72;
  }
  .home-why-reference__main-image { height: clamp(345px, 105vw, 470px); }
  .home-why-reference__caption {
    left: 22px;
    bottom: 23px;
    font-size: 18px;
  }
  .home-why-reference__inset {
    right: 10px;
    bottom: 42px;
    width: 148px;
    height: 116px;
    padding: 5px;
  }
  .home-why-reference__point {
    grid-template-columns: 25px minmax(0, 1fr);
    padding-bottom: 23px;
    margin-bottom: 23px;
  }
  .home-why-reference__point h3 { font-size: 18px; }
  .home-why-reference__point p { font-size: 13.5px; line-height: 1.72; }

  .home-divisions-reference__heading h2 {
    font-size: clamp(2.25rem, 10vw, 2.9rem);
  }
  .home-divisions-reference__heading p {
    font-size: 14px;
    line-height: 1.68;
  }
  .home-divisions-reference__grid { grid-template-columns: 1fr; gap: 20px; }
  .home-divisions-reference__grid > :last-child { grid-column: auto; }
  .home-divisions-reference__grid > :last-child .home-division-reference-card__image,
  .home-division-reference-card__image { height: 220px; }
  .home-division-reference-card__body { min-height: 270px; padding: 26px 25px 23px; }
}

@media (max-width: 480px) {
  .home-why-reference .ws-container,
  .home-divisions-reference .ws-container {
    width: min(calc(100% - 32px), var(--ws-container));
  }
  .home-why-reference__intro { margin-bottom: 34px; }
  .home-why-reference__main-image { height: 390px; }
  .home-why-reference__caption { max-width: 160px; }
  .home-why-reference__inset {
    right: 8px;
    bottom: 36px;
    width: 130px;
    height: 102px;
  }
  .home-why-reference__link { width: 100%; min-width: 0; }
  .home-division-reference-card__image { height: 205px; }
}
.home-why-reference__intro h2 > span { display: block; }
.home-why-reference__title-accent { color: var(--ws-cobalt); }


/* ===== v1.9.24 — Home division + specialist link hover polish ===== */
.home-division-reference-card {
  position: relative;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  transform-origin: center center;
}
.home-division-reference-card__image img {
  transition: transform .42s cubic-bezier(.2,.7,.2,1);
}
.home-division-reference-card__footer a,
.home-why-reference__link {
  transition: color .22s ease, border-color .22s ease, transform .22s ease;
}
.home-division-reference-card__footer a > span:first-child,
.home-why-reference__link > span:first-child {
  transition: transform .22s ease, letter-spacing .22s ease;
}
.home-division-reference-card__arrow,
.home-why-reference__link-arrow {
  transition: transform .24s ease, background-color .24s ease, color .24s ease, border-color .24s ease, box-shadow .24s ease;
}

@media (hover: hover) and (pointer: fine) {
  .home-division-reference-card.reveal.is-visible:hover,
  .home-division-reference-card:hover {
    transform: translateY(-7px) scale(1.012);
    border-color: #cbd4e8;
    box-shadow: 0 18px 38px rgba(19, 24, 59, .12);
  }

  .home-division-reference-card:hover .home-division-reference-card__image img {
    transform: scale(1.035);
  }

  .home-division-reference-card__footer a:hover,
  .home-division-reference-card__footer a:focus-visible {
    transform: translateY(-1px);
  }

  .home-division-reference-card__footer a:hover > span:first-child,
  .home-division-reference-card__footer a:focus-visible > span:first-child {
    transform: translateX(3px);
    letter-spacing: .01em;
  }

  .home-division-reference-card__footer a:hover .home-division-reference-card__arrow,
  .home-division-reference-card__footer a:focus-visible .home-division-reference-card__arrow {
    transform: translate(2px, -2px);
    border-color: var(--ws-cobalt);
    background: var(--ws-cobalt);
    color: #fff;
    box-shadow: 0 7px 16px rgba(3, 48, 164, .18);
  }

  .home-why-reference__link:hover,
  .home-why-reference__link:focus-visible {
    transform: translateY(-2px);
    border-bottom-color: var(--ws-signal);
  }

  .home-why-reference__link:hover > span:first-child,
  .home-why-reference__link:focus-visible > span:first-child {
    transform: translateX(3px);
    letter-spacing: .01em;
  }

  .home-why-reference__link:hover .home-why-reference__link-arrow,
  .home-why-reference__link:focus-visible .home-why-reference__link-arrow {
    transform: translate(4px, -4px) scale(1.08);
  }
}

.home-division-reference-card__footer a:focus-visible,
.home-why-reference__link:focus-visible {
  outline: 2px solid var(--ws-signal);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .home-division-reference-card,
  .home-division-reference-card__image img,
  .home-division-reference-card__footer a,
  .home-division-reference-card__footer a > span,
  .home-division-reference-card__arrow,
  .home-why-reference__link,
  .home-why-reference__link > span,
  .home-why-reference__link-arrow {
    transition: none !important;
    transform: none !important;
  }
}


/* ===== v1.9.25 — inset image frame visibility fix ===== */
/* Keep the overlapping meeting image fully readable where its white frame
   extends onto the white section background. */
.home-why-reference__inset {
  box-sizing: border-box;
  border: 1px solid #dfe3ec;
  box-shadow: 0 14px 34px rgba(19,24,59,.14), 0 0 0 1px rgba(19,24,59,.03);
}
.home-why-reference__inset img {
  display: block;
}

/* ===== v1.9.26 — show full Home inset image ===== */
/* The supplied inset photo is portrait-oriented. Preserve its full 3:4 frame
   instead of cropping it into the earlier landscape box. */
.home-why-reference__inset {
  width: 172px;
  height: auto !important;
  aspect-ratio: 3 / 4;
  right: -22px;
  bottom: 44px;
  overflow: hidden;
}
.home-why-reference__inset img {
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff;
}

@media (max-width: 1100px) {
  .home-why-reference__inset {
    width: 158px;
    height: auto !important;
    right: -12px;
    bottom: 42px;
  }
}

@media (max-width: 900px) {
  .home-why-reference__inset {
    width: 160px;
    height: auto !important;
    right: 8px;
  }
}

@media (max-width: 760px) {
  .home-why-reference__inset {
    width: 132px;
    height: auto !important;
    right: 8px;
    bottom: 34px;
  }
}

@media (max-width: 480px) {
  .home-why-reference__inset {
    width: 116px;
    height: auto !important;
    right: 6px;
    bottom: 30px;
  }
}

/* ===== v1.9.27 — Home inset image landscape proportion ===== */
/* Match the approved reference: keep the inset image as a wider landscape card,
   give it a little more vertical presence, and let the photo fill the frame cleanly. */
.home-why-reference__inset {
  width: 190px !important;
  height: 150px !important;
  aspect-ratio: auto !important;
  right: -22px;
  bottom: 52px;
  padding: 7px;
  overflow: hidden;
}
.home-why-reference__inset img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center 58% !important;
  background: transparent;
}

@media (max-width: 1100px) {
  .home-why-reference__inset {
    width: 176px !important;
    height: 140px !important;
    right: -12px;
    bottom: 48px;
  }
}

@media (max-width: 900px) {
  .home-why-reference__inset {
    width: 170px !important;
    height: 136px !important;
    right: 8px;
    bottom: 44px;
  }
}

@media (max-width: 760px) {
  .home-why-reference__inset {
    width: 148px !important;
    height: 118px !important;
    right: 8px;
    bottom: 36px;
    padding: 5px;
  }
}

@media (max-width: 480px) {
  .home-why-reference__inset {
    width: 132px !important;
    height: 106px !important;
    right: 6px;
    bottom: 32px;
    padding: 5px;
  }
}

/* ===== v1.9.28 — Home hero copy alignment + reference leadership cards ===== */
/* Home hero: give the approved description the same visual measure as the title
   so the copy finishes on the same right-hand rhythm instead of stopping early. */
@media (min-width: 1121px) {
  .home-hero__lede {
    width: min(calc(100% - 26px), 820px) !important;
    max-width: 820px !important;
    margin-left: 26px !important;
  }
}

@media (max-width: 1120px) and (min-width: 961px) {
  .home-hero__lede {
    width: min(calc(100% - 18px), 780px) !important;
    max-width: 780px !important;
    margin-left: 18px !important;
  }
}

/* About / Leadership team — recreate the approved large-photo card composition. */
.leadership-team-section {
  padding: 74px 0 86px;
  background: #eef0f7;
}

.leadership-team-section > .ws-container {
  width: min(calc(100% - 64px), 1320px);
}

.leadership-team-section .section-head {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: 38px;
  margin-bottom: 52px;
}

.leadership-team-section .section-head::after {
  content: '';
  display: block;
  flex: 1 1 auto;
  min-width: 80px;
  height: 1px;
  background: #d4d9e6;
}

.leadership-team-section .section-head h2 {
  flex: 0 0 auto;
  max-width: none;
  margin: 0;
  color: var(--ws-navy);
  font-size: clamp(2.9rem, 4.25vw, 3.55rem);
  line-height: 1;
  letter-spacing: -.052em;
}

.leadership-profile-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 26px;
  border: 0 !important;
  background: transparent !important;
  overflow: visible;
}

.leader-profile-card,
.leader-profile-card:nth-child(2n),
.leader-profile-card:nth-last-child(-n+2),
.leader-profile-card:last-child {
  position: relative;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0 !important;
  background: #fff;
  overflow: hidden;
  transform: translateZ(0);
  transform-origin: center;
  transition: transform .25s ease, box-shadow .25s ease;
}

.leader-profile-card:hover {
  z-index: 3;
  transform: translateY(-6px) scale(1.012);
  box-shadow: 0 18px 40px rgba(19,24,59,.12);
}

.leader-profile-card::after {
  display: none !important;
  content: none !important;
}

.leader-profile-card__photo {
  position: relative;
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  margin: 0 !important;
  border-radius: 0 !important;
  overflow: hidden;
  background: #e4e7ef;
  box-shadow: none !important;
}

.leader-profile-card__photo::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 58px;
  height: 4px;
  background: #1d45d7;
  transition: width .25s ease;
}

.leader-profile-card:hover .leader-profile-card__photo::after {
  width: 82px;
}

.leader-profile-card__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1);
  transition: transform .35s ease;
}

.leader-profile-card:hover .leader-profile-card__photo img {
  transform: scale(1.025);
}

.leader-profile-card__content {
  display: flex;
  flex-direction: column;
  min-height: 232px;
  padding: 30px 26px 23px;
}

.leader-profile-card h3 {
  margin: 0 0 13px;
  color: var(--ws-navy);
  font-size: 21px;
  line-height: 1.2;
  letter-spacing: -.026em;
}

.leader-profile-card__role {
  max-width: 255px;
  min-height: 54px;
  color: #3b57b8;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
}

.leader-profile-card__linkedin {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  margin-top: auto;
  padding: 20px 0 0;
  border-top: 1px solid #dfe3ed;
  color: var(--ws-navy);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
  transition: color .2s ease;
}

.leader-profile-card__linkedin-arrow {
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  background: #f6f7fb;
  color: var(--ws-cobalt);
  font-size: 21px;
  line-height: 1;
  transition: transform .22s ease, background .22s ease, color .22s ease;
}

.leader-profile-card__linkedin:hover {
  color: var(--ws-cobalt);
}

.leader-profile-card__linkedin:hover .leader-profile-card__linkedin-arrow {
  color: #fff;
  background: var(--ws-cobalt);
  transform: translate(2px, -2px);
}

@media (max-width: 1100px) {
  .leadership-team-section > .ws-container {
    width: min(calc(100% - 48px), 940px);
  }

  .leadership-profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .leader-profile-card__content {
    min-height: 220px;
  }
}

@media (max-width: 760px) {
  .leadership-team-section {
    padding: 60px 0 68px;
  }

  .leadership-team-section > .ws-container {
    width: min(calc(100% - 40px), 680px);
  }

  .leadership-team-section .section-head {
    gap: 22px;
    margin-bottom: 34px;
  }

  .leadership-team-section .section-head h2 {
    font-size: clamp(2.25rem, 10vw, 2.8rem);
  }

  .leadership-profile-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .leader-profile-card,
  .leader-profile-card:nth-child(2n),
  .leader-profile-card:nth-last-child(-n+2) {
    border: 0 !important;
  }

  .leader-profile-card__content {
    min-height: 0;
    padding: 26px 24px 22px;
  }

  .leader-profile-card__role {
    min-height: 0;
    margin-bottom: 26px;
  }

  .leader-profile-card__linkedin {
    margin-top: 0;
  }
}

@media (max-width: 480px) {
  .leadership-team-section > .ws-container {
    width: min(calc(100% - 32px), 680px);
  }

  .leadership-team-section .section-head {
    display: block;
    margin-bottom: 30px;
  }

  .leadership-team-section .section-head::after {
    width: 100%;
    min-width: 0;
    margin-top: 18px;
  }

  .leader-profile-card h3 {
    font-size: 20px;
  }

  .leader-profile-card__role,
  .leader-profile-card__linkedin {
    font-size: 14.5px;
  }
}

/* ===== v1.9.29 — Home cleanup, compact leadership, balanced Contact ===== */

/* Home hero: the eyebrow is intentionally removed on Home only. Give the title
   a little extra breathing room at the top without changing the other heroes. */
.home-hero .hero-title--home {
  margin-top: 0 !important;
}

/* Why Way Specialty: with the CTA removed, make the three underwriting points
   occupy the same vertical measure as the main image. The last divider now ends
   with the image, giving the two columns a clean common baseline. */
@media (min-width: 901px) {
  .home-why-reference__points {
    display: flex;
    flex-direction: column;
    min-height: 490px;
    padding-top: 0 !important;
  }

  .home-why-reference__point {
    flex: 1 1 0;
    align-content: center;
    margin-bottom: 0 !important;
    padding: 24px 0 !important;
  }

  .home-why-reference__point:first-child {
    padding-top: 6px !important;
  }

  .home-why-reference__point:last-child {
    padding-bottom: 6px !important;
  }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .home-why-reference__points {
    min-height: 455px;
  }
}

/* Retire the removed Home CTA styles from layout calculations. */
.home-why-reference__link,
.home-why-reference__link-arrow {
  display: none !important;
}

/* Leadership: preserve the approved large-photo design while bringing the whole
   composition down to a more normal corporate-card scale. */
.leadership-team-section {
  padding: 68px 0 78px;
}

.leadership-team-section > .ws-container {
  width: min(calc(100% - 64px), 1180px) !important;
}

.leadership-team-section .section-head {
  gap: 30px;
  margin-bottom: 40px;
}

.leadership-team-section .section-head h2 {
  font-size: clamp(2.55rem, 3.6vw, 3.15rem) !important;
}

.leadership-profile-grid {
  gap: 20px !important;
}

.leader-profile-card__content {
  min-height: 198px !important;
  padding: 22px 22px 19px !important;
}

.leader-profile-card h3 {
  margin-bottom: 9px !important;
  font-size: 19px !important;
}

.leader-profile-card__role {
  max-width: 235px;
  min-height: 48px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.leader-profile-card__linkedin {
  padding-top: 15px !important;
  font-size: 14px !important;
}

.leader-profile-card__linkedin-arrow {
  width: 32px !important;
  height: 32px !important;
  flex-basis: 32px !important;
  font-size: 18px !important;
}

.leader-profile-card:hover {
  transform: translateY(-5px) scale(1.01) !important;
  box-shadow: 0 15px 34px rgba(19,24,59,.10) !important;
}

@media (max-width: 1100px) {
  .leadership-team-section > .ws-container {
    width: min(calc(100% - 48px), 900px) !important;
  }
  .leader-profile-card__content {
    min-height: 190px !important;
  }
}

@media (max-width: 760px) {
  .leadership-team-section > .ws-container {
    width: min(calc(100% - 40px), 640px) !important;
  }
  .leader-profile-card__content {
    min-height: 0 !important;
    padding: 22px 20px 18px !important;
  }
  .leader-profile-card__role {
    min-height: 0 !important;
    margin-bottom: 20px !important;
  }
}

/* Contact: restore a balanced professional two-column layout. Strong end-of-file
   rules intentionally protect this page from older theme refinements and cached
   inherited link sizing. */
@media (min-width: 901px) {
  .contact-grid {
    width: min(calc(100% - 64px), 1160px) !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 44px !important;
    align-items: start !important;
  }
}

.contact-panel,
.contact-form-card {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding: 32px !important;
  border: 1px solid var(--ws-hairline) !important;
  border-radius: 9px !important;
  background: #fff !important;
}

.contact-panel {
  box-shadow: none !important;
}

.contact-form-card {
  box-shadow: 0 14px 34px rgba(19,24,59,.08) !important;
}

.contact-panel h2,
.contact-form-card h2 {
  margin: 0 0 24px !important;
  font-size: 23px !important;
  line-height: 1.2 !important;
}

.contact-row {
  grid-template-columns: 92px minmax(0,1fr) !important;
  gap: 16px !important;
  padding: 17px 0 !important;
}

.contact-row__label {
  font-size: 12.5px !important;
  line-height: 1.5 !important;
}

.contact-row__value,
.contact-row__value a {
  min-width: 0 !important;
  color: var(--ws-navy) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.contact-row__value a {
  color: var(--ws-cobalt) !important;
  text-decoration: none !important;
}

.contact-row__value a:hover {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.contact-admin-note {
  display: none !important;
}

.contact-form-card .ws-form {
  gap: 17px !important;
}

.contact-form-card .form-row {
  gap: 14px !important;
}

.contact-form-card .form-field label {
  font-size: 12px !important;
}

.contact-form-card .form-field input,
.contact-form-card .form-field select,
.contact-form-card .form-field textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  font-size: 14px !important;
}

@media (max-width: 900px) {
  .contact-grid {
    width: min(calc(100% - 48px), 720px) !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
}

@media (max-width: 600px) {
  .contact-grid {
    width: min(calc(100% - 32px), 620px) !important;
  }
  .contact-panel,
  .contact-form-card {
    padding: 24px 20px !important;
  }
  .contact-row {
    grid-template-columns: 1fr !important;
    gap: 5px !important;
  }
}

/* ===== v1.9.33 — leadership card size + no blue photo accent ===== */
/* Final About leadership refinement: remove the blue image accent entirely and
   bring the four desktop cards down one more step while preserving the approved
   large-photo composition, responsive behavior, and restrained lift hover. */
.leader-profile-card__photo::after,
.leader-profile-card:hover .leader-profile-card__photo::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
}

@media (min-width: 1101px) {
  .leadership-team-section > .ws-container {
    width: min(calc(100% - 64px), 1080px) !important;
  }

  .leadership-profile-grid {
    gap: 18px !important;
  }

  .leader-profile-card__content {
    min-height: 184px !important;
    padding: 20px 20px 17px !important;
  }

  .leader-profile-card h3 {
    margin-bottom: 8px !important;
    font-size: 18px !important;
  }

  .leader-profile-card__role {
    min-height: 44px !important;
    font-size: 13.5px !important;
    line-height: 1.48 !important;
  }

  .leader-profile-card__linkedin {
    padding-top: 13px !important;
    font-size: 13.5px !important;
  }

  .leader-profile-card__linkedin-arrow {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
    font-size: 17px !important;
  }
}

@media (max-width: 1100px) and (min-width: 761px) {
  .leadership-team-section > .ws-container {
    width: min(calc(100% - 48px), 850px) !important;
  }
}


/* ===== v1.9.33 — contact column balance ===== */
/* Refine the desktop Contact layout so the information card is more compact
   and the inquiry form receives a little more room, while keeping both cards
   aligned and the existing tablet/mobile stack untouched. */
@media (min-width: 901px) {
  .contact-grid {
    width: min(calc(100% - 64px), 1180px) !important;
    grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr) !important;
    gap: 38px !important;
  }

  .contact-panel {
    padding: 30px 28px !important;
  }

  .contact-form-card {
    padding: 34px 36px !important;
  }
}


/* ===== v1.9.33 — Home Explore Our Divisions anchor ===== */
html { scroll-behavior: smooth; }
#our-divisions { scroll-margin-top: 96px; }
@media (max-width: 960px) {
  #our-divisions { scroll-margin-top: 82px; }
}

/* ===== v1.9.34 — simple home division icons + product editorial image sections ===== */

/* Home / Our divisions: simple inline icons matching the approved reference. */
.home-division-reference-card__label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  color: #59617c;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
.home-division-reference-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  color: var(--ws-cobalt);
}
.home-division-reference-card__icon svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Shared editorial overview used by all three product pages. */
.product-overview-reference {
  position: relative;
  overflow: hidden;
  padding-top: 82px;
  padding-bottom: 82px;
}
.product-overview-reference::before {
  content: '';
  position: absolute;
  top: -170px;
  right: -160px;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(59,102,196,.08);
  transform: rotate(45deg);
  pointer-events: none;
}
.product-overview-reference .product-overview-reference__panel {
  position: relative;
  max-width: 1160px;
  margin: 0 auto;
  padding: 34px 46px 46px 48px;
  border: 1px solid #dfe4ef;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 22px 58px rgba(19,24,59,.055);
}
.product-overview-reference .product-overview-reference__panel::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50px;
  bottom: 50px;
  width: 4px;
  border-radius: 0 4px 4px 0;
  background: var(--ws-signal);
}
.product-overview--property .product-overview-reference__panel::before,
.product-overview--mining .product-overview-reference__panel::before {
  background: var(--ws-cobalt);
}
.product-overview-reference__kicker {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 26px 0;
  color: var(--ws-cobalt);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.product-overview-reference__kicker::before {
  content: '';
  width: 30px;
  height: 1px;
  flex: 0 0 30px;
  background: var(--ws-signal);
}
.product-overview-reference__grid {
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.18fr);
  gap: 46px;
  align-items: stretch;
}
.product-overview-reference__image {
  min-width: 0;
  min-height: 330px;
  overflow: hidden;
  background: #e8ebf2;
}
.product-overview-reference__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 330px;
  object-fit: cover;
  object-position: center;
}
.product-overview-reference__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding-left: 38px;
  border-left: 1px solid #e1e5ee;
}
.product-overview-reference__copy p {
  margin: 0;
  color: #5f6780;
  font-size: 16px;
  line-height: 1.78;
}
.product-overview-reference__copy p + p {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #e1e5ee;
}

/* Accident & Health / How we work with producers. */
.producer-work-section {
  padding: 78px 0 86px;
  background: #eef0f7;
}
.producer-work-section__head {
  margin-bottom: 40px;
}
.producer-work-section__head h2 {
  margin: 0;
  color: var(--ws-navy);
  font-size: clamp(2.7rem, 4.4vw, 4rem);
  line-height: 1.04;
  letter-spacing: -.045em;
  font-weight: 500;
}
.producer-work-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.producer-work-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d9deea;
  background: #fff;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.producer-work-card__image {
  height: 230px;
  overflow: hidden;
  background: #dfe3ec;
}
.producer-work-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .35s ease;
}
.producer-work-card__body {
  min-height: 310px;
  padding: 35px 36px 38px;
}
.producer-work-card__accent {
  display: block;
  width: 44px;
  height: 5px;
  margin-bottom: 34px;
  background: var(--ws-signal);
  transform: skewX(-18deg);
}
.producer-work-card h3 {
  margin: 0 0 17px;
  color: var(--ws-navy);
  font-size: 28px;
  line-height: 1.12;
  letter-spacing: -.035em;
  font-weight: 500;
}
.producer-work-card p {
  margin: 0;
  color: #737a92;
  font-size: 15.5px;
  line-height: 1.78;
}
@media (hover: hover) and (pointer: fine) {
  .producer-work-card:hover {
    transform: translateY(-5px);
    border-color: #cbd4e7;
    box-shadow: 0 18px 38px rgba(19,24,59,.08);
  }
  .producer-work-card:hover .producer-work-card__image img {
    transform: scale(1.025);
  }
}

@media (max-width: 1060px) {
  .product-overview-reference .product-overview-reference__panel {
    padding: 32px 36px 40px 38px;
  }
  .product-overview-reference__grid {
    gap: 34px;
  }
  .product-overview-reference__copy {
    padding-left: 28px;
  }
  .producer-work-grid {
    gap: 18px;
  }
  .producer-work-card__body {
    padding: 30px 28px 32px;
  }
  .producer-work-card h3 {
    font-size: 24px;
  }
}

@media (max-width: 860px) {
  .product-overview-reference {
    padding-top: 66px;
    padding-bottom: 66px;
  }
  .product-overview-reference .product-overview-reference__panel {
    padding: 30px 30px 34px 32px;
  }
  .product-overview-reference__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .product-overview-reference__image,
  .product-overview-reference__image img {
    min-height: 0;
  }
  .product-overview-reference__image {
    aspect-ratio: 16 / 10;
  }
  .product-overview-reference__copy {
    padding: 28px 0 0;
    border-left: 0;
    border-top: 1px solid #e1e5ee;
  }
  .producer-work-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .producer-work-card:last-child {
    grid-column: 1 / -1;
    max-width: calc(50% - 9px);
  }
}

@media (max-width: 640px) {
  .home-division-reference-card__label {
    gap: 9px;
    font-size: 12.5px;
  }
  .home-division-reference-card__icon,
  .home-division-reference-card__icon svg {
    width: 18px;
    height: 18px;
  }
  .product-overview-reference {
    padding: 54px 0;
  }
  .product-overview-reference .ws-container,
  .producer-work-section .ws-container {
    width: min(calc(100% - 36px), var(--ws-container));
  }
  .product-overview-reference .product-overview-reference__panel {
    padding: 26px 22px 28px 24px;
    border-radius: 11px;
  }
  .product-overview-reference .product-overview-reference__panel::before {
    top: 32px;
    bottom: 32px;
    width: 3px;
  }
  .product-overview-reference__kicker {
    gap: 10px;
    margin-bottom: 21px;
    font-size: 10.5px;
    letter-spacing: .13em;
  }
  .product-overview-reference__kicker::before {
    width: 24px;
    flex-basis: 24px;
  }
  .product-overview-reference__image {
    aspect-ratio: 4 / 3;
  }
  .product-overview-reference__copy {
    padding-top: 22px;
  }
  .product-overview-reference__copy p {
    font-size: 14.5px;
    line-height: 1.72;
  }
  .product-overview-reference__copy p + p {
    margin-top: 22px;
    padding-top: 22px;
  }
  .producer-work-section {
    padding: 58px 0 64px;
  }
  .producer-work-section__head {
    margin-bottom: 28px;
  }
  .producer-work-section__head h2 {
    font-size: clamp(2.25rem, 10.5vw, 3rem);
    line-height: 1.06;
  }
  .producer-work-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .producer-work-card:last-child {
    grid-column: auto;
    max-width: none;
  }
  .producer-work-card__image {
    height: 218px;
  }
  .producer-work-card__body {
    min-height: 0;
    padding: 28px 25px 31px;
  }
  .producer-work-card__accent {
    width: 38px;
    height: 4px;
    margin-bottom: 25px;
  }
  .producer-work-card h3 {
    font-size: 23px;
  }
  .producer-work-card p {
    font-size: 14px;
    line-height: 1.72;
  }
}

@media (prefers-reduced-motion: reduce) {
  .producer-work-card,
  .producer-work-card__image img {
    transition: none !important;
    transform: none !important;
  }
}


/* ===== v1.9.35 — unified page-section heading typography ===== */
/* Approved section-heading specification from the supplied reference.
   Hero H1 titles and card-level headings intentionally keep their own scale. */
.ws-section-heading {
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: 43.2px !important;
  line-height: 49.248px !important;
  letter-spacing: normal !important;
  color: #314A75 !important;
}

/* Preserve the established blue emphasis while retaining the exact typography. */
.ws-section-heading .home-why-reference__title-accent {
  color: var(--ws-cobalt) !important;
}


/* ===== v1.9.36 — responsive page-section heading scale ===== */
/* Keep the approved 43.2px desktop specification, then reduce major section
   headings at tablet and phone widths so they remain balanced and readable. */
@media (max-width: 960px) {
  .ws-section-heading {
    font-size: 36px !important;
    line-height: 42px !important;
  }
}

@media (max-width: 760px) {
  .ws-section-heading {
    font-size: 32px !important;
    line-height: 38px !important;
  }
}

@media (max-width: 480px) {
  .ws-section-heading {
    font-size: 28px !important;
    line-height: 34px !important;
  }
}

/* ===== v1.9.37 — final heading typography refinements ===== */
/* Accident & Health / producer card titles: exact approved card-heading spec. */
.producer-work-card h3 {
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  line-height: 25.96px !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
  color: #314A75 !important;
}

/* Home / Why Way Specialty: tighten character tracking while keeping normal
   word spacing so the heading reads naturally and consistently. */
.home-why-reference__intro .ws-section-heading {
  letter-spacing: -0.02em !important;
  word-spacing: normal !important;
}

/* About / Leadership team: lock desktop size to the requested 43.3px while
   retaining the shared responsive scale on tablets and phones. */
.leadership-team-section .section-head .ws-section-heading {
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: 43.3px !important;
  line-height: 49.36px !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
  color: #314A75 !important;
}

@media (max-width: 960px) {
  .leadership-team-section .section-head .ws-section-heading {
    font-size: 36px !important;
    line-height: 42px !important;
  }
}

@media (max-width: 760px) {
  .leadership-team-section .section-head .ws-section-heading {
    font-size: 32px !important;
    line-height: 38px !important;
  }
}

@media (max-width: 480px) {
  .leadership-team-section .section-head .ws-section-heading {
    font-size: 28px !important;
    line-height: 34px !important;
  }
}


/* ===== v1.9.38.1 — compact mobile leadership cards ===== */
/* Keep the approved desktop/tablet leadership design, but scale the cards down
   on phones so the portrait, copy and LinkedIn row feel proportionate instead
   of filling almost the entire viewport. */
@media (max-width: 760px) {
  .leadership-profile-grid {
    justify-items: center;
  }

  .leader-profile-card,
  .leader-profile-card:nth-child(2n),
  .leader-profile-card:nth-last-child(-n+2),
  .leader-profile-card:last-child {
    width: min(100%, 310px) !important;
  }

  .leader-profile-card__content {
    padding: 20px 19px 17px !important;
  }

  .leader-profile-card h3 {
    margin-bottom: 7px !important;
    font-size: 18px !important;
  }

  .leader-profile-card__role {
    margin-bottom: 17px !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
  }

  .leader-profile-card__linkedin {
    padding-top: 13px !important;
    font-size: 13.5px !important;
  }

  .leader-profile-card__linkedin-arrow {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
    font-size: 17px !important;
  }
}

@media (max-width: 480px) {
  .leadership-team-section > .ws-container {
    width: min(calc(100% - 30px), 680px) !important;
  }

  .leader-profile-card,
  .leader-profile-card:nth-child(2n),
  .leader-profile-card:nth-last-child(-n+2),
  .leader-profile-card:last-child {
    width: min(100%, 290px) !important;
  }

  .leader-profile-card__content {
    padding: 18px 18px 16px !important;
  }

  .leader-profile-card h3 {
    font-size: 17px !important;
  }

  .leader-profile-card__role,
  .leader-profile-card__linkedin {
    font-size: 13px !important;
  }
}

/* ===== v1.9.38.2 — Global Property & Energy combined leadership card ===== */
/* Keep Leadership and Market Strength inside one card, but preserve them as
   two distinct paragraphs with the same breathing room used in the overview. */
.product-detail__cards--single {
  display: block;
  width: 100%;
}

.product-detail-card--combined {
  min-height: 0;
  padding: 34px 38px 32px;
  border: 1px solid #dce2ee;
  border-left: 3px solid var(--ws-cobalt);
  border-radius: 12px;
  background: var(--ws-white);
  box-shadow: 0 14px 36px rgba(19,24,59,.055);
}

.product-detail-card--combined::before {
  display: none !important;
}

.product-detail-card--combined p {
  margin: 0;
  color: var(--ws-slate);
  font-size: 15px;
  line-height: 1.72;
}

.product-detail-card--combined p + p {
  margin-top: 28px;
}

.product-detail-card--combined:hover {
  transform: translateY(-4px);
  border-color: #cbd6eb;
  border-left-color: var(--ws-cobalt);
  box-shadow: 0 20px 46px rgba(19,24,59,.085);
}

@media (min-width: 961px) {
  .product-detail__grid {
    grid-template-columns: minmax(330px, .72fr) minmax(0, 1.28fr);
    gap: clamp(58px, 7vw, 96px);
    align-items: center;
  }

  .product-detail__heading {
    padding-top: 0;
  }

  .product-detail-card--combined {
    width: 100%;
    max-width: 690px;
    margin-left: auto;
  }
}

@media (max-width: 960px) {
  .product-detail__grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .product-detail-card--combined {
    max-width: 100%;
  }
}

@media (max-width: 620px) {
  .product-detail-card--combined {
    padding: 26px 24px;
  }

  .product-detail-card--combined p {
    font-size: 14px;
    line-height: 1.68;
  }

  .product-detail-card--combined p + p {
    margin-top: 22px;
  }
}

/* ===== v1.9.38.3 — combined leadership card hover accent only ===== */
/* Keep the combined Global Property & Energy card neutral at rest. The blue
   left-side accent appears only on hover/focus, matching the interaction used
   elsewhere in the site without changing the card's layout. */
.product-detail-card--combined {
  border-left: 1px solid #dce2ee !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.product-detail-card--combined:hover,
.product-detail-card--combined:focus-within {
  border-left: 3px solid var(--ws-cobalt) !important;
}


/* ===== v1.9.38.4 — branded contact email workflow ===== */


/* ===== v1.9.38.7 — polished email/contact feedback ===== */
.form-status--success {
  transition: opacity .28s ease, transform .28s ease, max-height .28s ease, margin .28s ease, padding .28s ease;
  overflow: hidden;
  max-height: 90px;
}
.form-status--success.is-hiding {
  opacity: 0;
  transform: translateY(-4px);
  max-height: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}


/* ===== v1.9.38.8 — client website edits 9.17.2026 ===== */
/* Brand alignment */
.site-brand img,
.site-brand__logo { width: 232px !important; max-height: 58px !important; object-fit: contain; }
.site-header__brand-panel { width: clamp(305px, 27vw, 405px); }
.site-header::before { opacity: .45; }

/* Home hero: no paragraph/contact CTA; strong brand visual on opening viewport. */
.home-hero--client-refresh { padding: 72px 0; overflow: hidden; }
.home-hero__inner--split { display:grid; grid-template-columns:minmax(0, .95fr) minmax(360px, 1.05fr); gap:58px; align-items:center; }
.home-hero__content { min-width:0; }
.home-hero__client-visual { margin:0; border:1px solid rgba(255,255,255,.16); overflow:hidden; box-shadow:0 24px 70px rgba(8,18,38,.2); }
.home-hero__client-visual img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.home-hero--client-refresh .hero-actions { margin-top:34px; }
.home-hero--client-refresh .btn--outline { border-color:rgba(255,255,255,.72); }

/* Why Way Specialty: remove empty-chair inset and keep visual/points aligned. */
.home-why-reference__grid--no-inset .home-why-reference__inset { display:none !important; }
.home-why-reference__grid--no-inset .home-why-reference__main-image { height:100%; min-height:540px; }
.home-why-reference__grid--no-inset .home-why-reference__main-image img { height:100%; object-fit:cover; }
.home-why-reference__grid--no-inset { align-items:stretch; }
.home-why-reference__grid--no-inset .home-why-reference__visual { height:100%; }

/* Division cards: division name is the primary navy heading. */
.home-division-reference-card__division-title { margin:0 0 16px; color:var(--ws-navy); font-size:21px; line-height:1.22; font-weight:700; letter-spacing:-.02em; }
.home-division-reference-card__label { display:none !important; }
.home-division-reference-card__body > h3:not(.home-division-reference-card__division-title) { display:none !important; }

/* Accident & Health producer cards are intentionally text-only. */
.producer-work-grid--text-only { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.producer-work-card--text { min-height:330px; }
.producer-work-card--text .producer-work-card__body { height:100%; padding:34px 32px 36px; }
.producer-work-card--text h3 { font-size:22px; line-height:25.96px; }

/* Mining client content */
.mining-client-section { position:relative; }
.mining-client-grid { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); gap:72px; align-items:start; }
.mining-coverage-card { background:#fff; border:1px solid var(--ws-hairline); padding:34px 38px; box-shadow:var(--ws-shadow); }
.mining-coverage-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 34px; }
.mining-coverage-list li { position:relative; padding:15px 0 15px 28px; border-bottom:1px solid var(--ws-hairline); color:var(--ws-ink); font-weight:500; }
.mining-coverage-list li::before { content:'✓'; position:absolute; left:0; top:15px; color:var(--ws-signal); font-weight:800; }
.mining-benefit-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; margin-top:34px; }
.mining-benefit { background:#fff; border:1px solid var(--ws-hairline); min-height:145px; padding:24px 22px; display:flex; flex-direction:column; gap:18px; box-shadow:0 12px 32px rgba(49,74,117,.07); }
.mining-benefit span { color:var(--ws-signal); font-size:24px; line-height:1; }
.mining-benefit strong { color:var(--ws-navy); font-size:15px; line-height:1.45; }
.mining-market-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.mining-market-card { border:1px solid var(--ws-hairline); padding:30px 32px; background:#fff; box-shadow:0 10px 34px rgba(49,74,117,.06); }
.mining-market-card--wide { grid-column:1/-1; }
.mining-market-card__eyebrow { display:block; margin-bottom:14px; color:var(--ws-signal); font-size:12px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }
.mining-market-card h3 { margin:0; font-size:22px; line-height:1.45; }
.mining-market-card h3 span { color:var(--ws-signal); padding-inline:4px; }
.mining-market-card p { margin:0 0 18px; color:var(--ws-slate); }
.mining-minimum { display:inline-block; padding:9px 13px; background:var(--ws-paper-2); color:var(--ws-navy); font-size:14px; }
.mining-downloads-section__head { display:grid; grid-template-columns:minmax(0,.9fr) minmax(280px,.7fr); gap:60px; align-items:end; margin-bottom:34px; }
.mining-downloads-section__head p { margin:0; color:var(--ws-slate); }
.mining-download-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.mining-download-card { background:#fff; border:1px solid var(--ws-hairline); padding:20px 22px; display:flex; gap:15px; align-items:center; min-height:96px; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.mining-download-card:hover { transform:translateY(-3px); border-color:rgba(56,113,182,.55); box-shadow:0 16px 36px rgba(49,74,117,.1); }
.mining-download-card__icon { width:38px; height:38px; border:1px solid var(--ws-hairline); display:grid; place-items:center; color:var(--ws-signal); font-size:20px; flex:0 0 38px; }
.mining-download-card strong { display:block; color:var(--ws-navy); font-size:14px; line-height:1.35; }
.mining-download-card small { display:block; margin-top:5px; color:var(--ws-slate); }
.mining-downloads-section__contact { margin-top:26px; }

/* Contact: one clean Get In Touch form panel. */
.contact-single-section .ws-container { max-width:980px; }
.contact-form-card--single { width:100%; max-width:none; padding:40px 42px; }
.contact-form-card__intro { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; padding-bottom:24px; margin-bottom:26px; border-bottom:1px solid var(--ws-hairline); }
.contact-form-card__intro h2 { margin:8px 0 0; font-size:34px; }
.contact-form-card__intro p { margin:0; color:var(--ws-slate); }
.contact-form-card__intro a { color:var(--ws-signal); font-weight:600; }
.ws-form--wide .form-row { gap:18px; }

@media (max-width: 1000px) {
  .home-hero__inner--split { grid-template-columns:1fr; gap:36px; }
  .home-hero__client-visual { max-width:760px; }
  .mining-client-grid { grid-template-columns:1fr; gap:34px; }
  .mining-benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mining-download-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .producer-work-grid--text-only { grid-template-columns:1fr; }
  .producer-work-card--text { min-height:0; }
}
@media (max-width: 760px) {
  .site-brand img, .site-brand__logo { width:174px !important; max-height:46px !important; }
  .home-hero--client-refresh { padding:52px 0 58px; }
  .home-hero__inner--split { gap:28px; }
  .home-hero__client-visual img { aspect-ratio:16/11; }
  .home-why-reference__grid--no-inset .home-why-reference__main-image { min-height:390px; }
  .mining-coverage-list { grid-template-columns:1fr; }
  .mining-benefit-grid, .mining-market-grid, .mining-download-grid { grid-template-columns:1fr; }
  .mining-market-card--wide { grid-column:auto; }
  .mining-downloads-section__head { grid-template-columns:1fr; gap:18px; }
  .contact-form-card--single { padding:28px 22px; }
  .contact-form-card__intro { display:block; }
  .contact-form-card__intro p { margin-top:14px; }
  .contact-form-card__intro h2 { font-size:30px; }
}
@media (max-width: 480px) {
  .home-hero__client-visual { display:none; }
  .mining-benefit { min-height:0; }
  .mining-coverage-card, .mining-market-card { padding:24px 22px; }
}


/* ===== v1.9.38.11 — client polish: compact Home, readable footer, mobile About, refined Mining ===== */
/* The virtual-background graphic is intentionally retained in the Home hero:
   the 9.17 client notes describe it as optional but specifically say they may
   like a graphic visible on opening and definitely want the logo prominent. */
@media (min-width: 1001px) {
  .home-hero--client-refresh {
    padding-top: 62px !important;
    padding-bottom: 64px !important;
  }
  .home-hero__inner--split {
    grid-template-columns: minmax(0, 1fr) minmax(390px, .92fr) !important;
    gap: 46px !important;
  }
  .home-hero__client-visual {
    width: 100%;
    max-width: 535px;
    justify-self: end;
  }
}

/* Why Way Specialty: tighter editorial rhythm without crowding the copy. */
.home-why-reference__intro {
  margin-bottom: 42px !important;
}
.home-why-reference__grid {
  gap: 66px !important;
}
.home-why-reference__point {
  padding-bottom: 18px !important;
  margin-bottom: 18px !important;
}
.home-why-reference__point h3 {
  margin-bottom: 7px !important;
}
.home-why-reference__point p {
  line-height: 1.66 !important;
}
.home-why-reference__grid--no-inset .home-why-reference__main-image {
  min-height: 455px !important;
}

/* Our Divisions: keep the strong CTA treatment while making the cards more compact. */
.home-divisions-reference {
  padding-top: 70px !important;
  padding-bottom: 76px !important;
}
.home-divisions-reference__heading {
  margin-bottom: 34px !important;
}
.home-divisions-reference__grid {
  gap: 20px !important;
}
.home-division-reference-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.home-division-reference-card__image {
  height: 194px !important;
}
.home-division-reference-card__body {
  flex: 1;
  min-height: 230px !important;
  padding: 23px 24px 21px !important;
}
.home-division-reference-card__division-title {
  margin-bottom: 10px !important;
  font-size: 20px !important;
}
.home-division-reference-card p {
  font-size: 13.25px !important;
  line-height: 1.62 !important;
}
.home-division-reference-card__footer {
  padding-top: 18px !important;
}
.home-division-reference-card__footer::before {
  margin-bottom: 15px !important;
}
.home-division-reference-card__footer a {
  padding-block: 2px;
}

/* Footer contrast: keep the client-approved navy but make every line comfortably readable. */
.site-footer {
  color: rgba(255,255,255,.82) !important;
}
.site-footer__about {
  color: rgba(255,255,255,.78) !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
}
.footer-col h3 {
  color: #fff !important;
}
.footer-col a {
  color: rgba(255,255,255,.82) !important;
}
.footer-col a:hover,
.footer-col a:focus-visible {
  color: #fff !important;
}
.site-footer__bottom {
  color: rgba(255,255,255,.66) !important;
  border-top-color: rgba(255,255,255,.16) !important;
}

/* About hero: the desktop line lockup may wrap naturally on phones instead of overflowing. */
@media (max-width: 760px) {
  .about-hero {
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding-top: 54px !important;
    padding-bottom: 62px !important;
  }
  .about-hero .page-hero__inner {
    width: min(calc(100% - 40px), var(--ws-container)) !important;
    margin-inline: auto !important;
  }
  .about-hero__title,
  .hero-title--about {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(1.52rem, 6.55vw, 1.88rem) !important;
    line-height: 1.16 !important;
    letter-spacing: -.028em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
  .about-hero__line {
    display: block !important;
    white-space: normal !important;
  }
}
@media (max-width: 420px) {
  .about-hero .page-hero__inner {
    width: min(calc(100% - 34px), var(--ws-container)) !important;
  }
  .about-hero__title,
  .hero-title--about {
    font-size: clamp(1.42rem, 6.35vw, 1.62rem) !important;
  }
}

/* Mining coverage: use clean mini-cards instead of checkbox-style rows. */
.mining-client-grid {
  gap: 56px !important;
  align-items: center !important;
}
.mining-coverage-card {
  padding: 24px !important;
  border-radius: 12px;
  box-shadow: 0 14px 40px rgba(49,74,117,.075) !important;
}
.mining-coverage-list {
  gap: 14px !important;
}
.mining-coverage-list li {
  min-height: 66px;
  display: flex;
  align-items: center;
  padding: 16px 18px !important;
  border: 1px solid #dfe5ef !important;
  border-radius: 8px;
  background: #f9fbfe;
  color: var(--ws-navy) !important;
  font-size: 14.5px;
  line-height: 1.45;
  font-weight: 600 !important;
}
.mining-coverage-list li::before {
  display: none !important;
  content: none !important;
}

/* Why Mining Operations Choose Us: no ticks/arrows; restrained brand card treatment. */
.mining-benefit-grid {
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 16px !important;
  margin-top: 30px !important;
}
.mining-benefit {
  position: relative;
  min-height: 132px !important;
  justify-content: center;
  gap: 0 !important;
  padding: 24px 21px !important;
  border: 1px solid #dfe4ee !important;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(49,74,117,.055) !important;
  overflow: hidden;
}
.mining-benefit::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--ws-signal);
  opacity: .72;
}
.mining-benefit span {
  display: none !important;
}
.mining-benefit strong {
  font-size: 14.5px !important;
  line-height: 1.48 !important;
}

/* Mine/operation/service coverage: more cohesive cards, rhythm and responsive spacing. */
.mining-market-grid {
  gap: 18px !important;
}
.mining-market-card {
  position: relative;
  padding: 28px 30px !important;
  border: 1px solid #dfe4ee !important;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(49,74,117,.055) !important;
  overflow: hidden;
}
.mining-market-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 68px;
  height: 3px;
  background: var(--ws-signal);
}
.mining-market-card__eyebrow {
  margin-bottom: 12px !important;
  color: var(--ws-navy) !important;
  font-size: 11px !important;
  letter-spacing: .14em !important;
}
.mining-market-card h3 {
  color: var(--ws-navy);
  font-size: 20px !important;
  line-height: 1.42 !important;
}
.mining-market-card h3 span {
  color: var(--ws-signal) !important;
  padding-inline: 3px !important;
}
.mining-market-card--wide {
  padding-block: 30px !important;
}
.mining-market-card--wide p {
  max-width: 980px;
  margin-bottom: 16px !important;
  line-height: 1.7;
}
.mining-minimum {
  border-radius: 5px;
  background: #eef3fa !important;
  color: var(--ws-navy) !important;
}

/* Supplemental applications: client explicitly requested direct downloads; submission
   destination remains intentionally unspecified until they provide/confirm it. */
.mining-downloads-section__head {
  align-items: center !important;
  margin-bottom: 30px !important;
}
.mining-downloads-section__head p {
  max-width: 500px;
  line-height: 1.65;
}
.mining-download-card {
  border-radius: 9px;
}

@media (max-width: 1050px) {
  .mining-benefit-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .home-why-reference__grid {
    gap: 34px !important;
  }
  .home-why-reference__point {
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
  }
  .home-why-reference__grid--no-inset .home-why-reference__main-image {
    min-height: 360px !important;
    height: 390px !important;
  }
  .home-divisions-reference {
    padding-top: 58px !important;
    padding-bottom: 62px !important;
  }
  .home-division-reference-card__image {
    height: 205px !important;
  }
  .home-division-reference-card__body {
    min-height: 0 !important;
    padding: 22px 22px 20px !important;
  }
  .mining-client-grid {
    gap: 28px !important;
  }
  .mining-coverage-card {
    padding: 18px !important;
  }
  .mining-benefit-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .mining-benefit {
    min-height: 0 !important;
    padding: 20px !important;
  }
  .mining-market-card,
  .mining-market-card--wide {
    padding: 24px 22px !important;
  }
}

/* ===== v1.9.38.11 — client-aligned spacing + Mining card polish ===== */
/* Home hero: retain the optional client-supplied brand visual, but give it a
   stronger, more intentional presence on desktop without overpowering the copy. */
@media (min-width: 1001px) {
  .home-hero__inner--split {
    grid-template-columns: minmax(0, .82fr) minmax(480px, 1.18fr) !important;
    gap: 52px !important;
  }
  .home-hero__client-visual {
    width: 100% !important;
    max-width: 640px !important;
    justify-self: end !important;
  }
  .home-hero__client-visual img {
    aspect-ratio: 16 / 9.65 !important;
  }
}

/* Why Way Specialty: align the start of the editorial heading block with the
   first line of the approved client paragraph instead of bottom-aligning them. */
.home-why-reference__intro {
  align-items: start !important;
}
.home-why-reference__intro > div,
.home-why-reference__intro > p {
  align-self: start !important;
}
.home-why-reference__intro p {
  margin-top: 0 !important;
}

/* Mining — numbered editorial cards with a side accent revealed on hover.
   No checkmarks/arrows and no always-on top rule. */
.mining-benefit-grid {
  counter-reset: mining-benefit;
}
.mining-benefit {
  counter-increment: mining-benefit;
  position: relative;
  justify-content: flex-start !important;
  padding: 28px 22px 24px !important;
  border-radius: 9px !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.mining-benefit::before {
  content: counter(mining-benefit, decimal-leading-zero) !important;
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin-bottom: 18px;
  background: none !important;
  color: var(--ws-signal) !important;
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .12em;
  opacity: 1 !important;
}
.mining-benefit::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background: var(--ws-signal);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform .22s ease;
}
.mining-benefit:hover,
.mining-benefit:focus-within {
  transform: translateY(-4px);
  border-color: rgba(56,113,182,.42) !important;
  box-shadow: 0 16px 36px rgba(49,74,117,.10) !important;
}
.mining-benefit:hover::after,
.mining-benefit:focus-within::after {
  transform: scaleY(1);
}
.mining-benefit strong {
  display: block;
  margin: 0;
}

/* Mining market/operation cards use the same numbered system for consistency. */
.mining-market-grid {
  counter-reset: mining-market;
}
.mining-market-card {
  counter-increment: mining-market;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.mining-market-card::before {
  content: counter(mining-market, decimal-leading-zero) !important;
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin-bottom: 16px;
  background: none !important;
  color: var(--ws-signal) !important;
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .12em;
}
.mining-market-card::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background: var(--ws-signal);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform .22s ease;
}
.mining-market-card:hover,
.mining-market-card:focus-within {
  transform: translateY(-3px);
  border-color: rgba(56,113,182,.40) !important;
  box-shadow: 0 16px 36px rgba(49,74,117,.09) !important;
}
.mining-market-card:hover::after,
.mining-market-card:focus-within::after {
  transform: scaleY(1);
}

/* Keep the wider service-supplier card visually calm and readable. */
.mining-market-card--wide {
  min-height: 190px;
}
.mining-market-card--wide p {
  max-width: 1040px !important;
}

@media (max-width: 1000px) and (min-width: 761px) {
  .home-hero__client-visual {
    max-width: 680px !important;
  }
}

@media (max-width: 760px) {
  .home-why-reference__intro {
    align-items: start !important;
  }
  .mining-benefit {
    padding: 22px 20px !important;
  }
  .mining-benefit::before,
  .mining-market-card::before {
    margin-bottom: 13px;
  }
  .mining-market-card--wide {
    min-height: 0;
  }
}

/* ===== v1.9.38.11 — hero background, testimonial color, About label, Mining card/download polish ===== */
/* Home hero: use the client-supplied virtual background as the actual opening
   background. Copy and CTA are centered over the image, while the logo inside
   the supplied artwork remains visible. */
.home-hero--brand-background {
  position: relative;
  min-height: 720px;
  padding: 0 !important;
  overflow: hidden;
  background: #eef3f8 !important;
  isolation: isolate;
}
.home-hero--brand-background::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(255,255,255,.20);
  pointer-events: none;
}
.home-hero__brand-background {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.home-hero__inner--centered {
  position: relative;
  z-index: 2;
  min-height: 720px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding-top: 180px;
  padding-bottom: 84px;
}
.home-hero--brand-background .home-hero__content {
  width: min(100%, 760px);
  margin-inline: auto;
  text-align: center;
}
.home-hero--brand-background .hero-title--home,
.home-hero--brand-background h1 {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  color: #2F4872 !important;
  text-align: center;
  text-shadow: 0 1px 0 rgba(255,255,255,.4);
}
.home-hero--brand-background .hero-actions {
  justify-content: center;
  margin-top: 30px !important;
}
.home-hero--brand-background .btn--outline {
  min-width: 205px;
  color: #fff !important;
  background: #2F4872 !important;
  border-color: #2F4872 !important;
  box-shadow: 0 10px 24px rgba(47,72,114,.18);
}
.home-hero--brand-background .btn--outline:hover {
  color: #fff !important;
  background: #263d64 !important;
  border-color: #263d64 !important;
  box-shadow: 0 14px 30px rgba(47,72,114,.24);
}

/* Testimonials/quotes use the client's exact approved navy. */
.quote-band,
.quote-band--health,
.quote-band--mining,
.quote-band--product {
  background: #314A75 !important;
}
.quote-band::after {
  background: rgba(255,255,255,.045) !important;
}

/* About hero eyebrow: only a slight size lift, preserving the existing hierarchy. */
.about-hero .ws-eyebrow {
  font-size: 14px !important;
  line-height: 1.3;
  letter-spacing: .14em;
}

/* Mining benefits: a touch larger and roomier, still restrained and consistent. */
.mining-benefit {
  min-height: 150px !important;
  padding: 30px 24px 26px !important;
}
.mining-benefit strong {
  font-size: 15px !important;
  line-height: 1.48 !important;
}

/* Application file icons inspired by the client PDF reference. */
.mining-download-card__icon.filetype-icon {
  position: relative;
  display: block !important;
  width: 46px !important;
  height: 54px !important;
  flex: 0 0 46px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 5px;
  background: #e7eaee;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(49,74,117,.08);
}
.filetype-icon__fold {
  position: absolute;
  top: 0;
  right: 0;
  width: 15px;
  height: 15px;
  background: #bcc2c9;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
}
.filetype-icon__arrow {
  position: absolute;
  top: 11px;
  left: 50%;
  transform: translateX(-50%);
  color: #e94f3b;
  font-size: 22px;
  line-height: 1;
  font-weight: 800;
}
.filetype-icon__label {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 18px;
  display: grid;
  place-items: center;
  color: #fff;
  background: #e94f3b;
  font-size: 9px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .04em;
}
.filetype-icon--doc .filetype-icon__arrow { color: #3871B6; }
.filetype-icon--doc .filetype-icon__label { background: #3871B6; }

@media (max-width: 1000px) {
  .home-hero--brand-background,
  .home-hero__inner--centered {
    min-height: 650px;
  }
  .home-hero__inner--centered {
    padding-top: 165px;
    padding-bottom: 72px;
  }
  .home-hero__brand-background {
    object-position: center 38%;
  }
}

@media (max-width: 760px) {
  .home-hero--brand-background,
  .home-hero__inner--centered {
    min-height: 590px;
  }
  .home-hero__brand-background {
    object-fit: cover;
    object-position: center 34%;
  }
  .home-hero--brand-background::before {
    background: rgba(255,255,255,.32);
  }
  .home-hero__inner--centered {
    padding-top: 170px;
    padding-bottom: 70px;
  }
  .home-hero--brand-background .home-hero__content {
    width: min(100%, 520px);
  }
  .home-hero--brand-background .hero-title--home,
  .home-hero--brand-background h1 {
    max-width: 520px !important;
    font-size: clamp(2.15rem, 10vw, 3rem) !important;
    line-height: 1.08 !important;
  }
  .home-hero--brand-background .btn--outline {
    width: auto;
    min-width: 190px;
  }
  .about-hero .ws-eyebrow {
    font-size: 13px !important;
  }
  .mining-benefit {
    min-height: 0 !important;
    padding: 24px 21px !important;
  }
}

@media (max-width: 480px) {
  .home-hero--brand-background,
  .home-hero__inner--centered {
    min-height: 560px;
  }
  .home-hero__inner--centered {
    padding-top: 160px;
    padding-bottom: 62px;
  }
  .home-hero__brand-background {
    object-position: center 30%;
  }
}

/* Full-image safeguard: a soft full-bleed copy fills the hero edges while the
   foreground artwork uses contain, so the supplied graphic/logo itself is never cropped.
   The background-image itself is now set inline per-page (see home_hero_bg_image),
   so it is editable from the WordPress admin; only sizing/position stay here. */
.home-hero--brand-background {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.home-hero__brand-background {
  object-fit: contain !important;
  object-position: center center !important;
}
@media (max-width: 760px) {
  .home-hero__brand-background {
    object-fit: cover !important;
    object-position: center 32% !important;
  }
}

/* ===== v1.9.38.12 — exact hero logo, quote/image alignment, mobile hero polish ===== */
/* Home hero: crop the logo baked into the supplied virtual background out of view,
   then place the approved Way Specialty logo asset over the scene. */
.home-hero--brand-background {
  min-height: 690px !important;
  background-size: cover !important;
  background-position: center 70% !important;
  background-repeat: no-repeat !important;
}
.home-hero--brand-background::before {
  background: rgba(255,255,255,.12) !important;
}
.home-hero__brand-background { display: none !important; }
.home-hero__brand-logo {
  position: absolute;
  z-index: 3;
  top: 58px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: min(520px, 40vw);
  height: auto;
  max-height: 110px;
  object-fit: contain;
}
.home-hero__inner--centered {
  min-height: 690px !important;
  padding-top: 185px !important;
  padding-bottom: 72px !important;
}
.home-hero--brand-background .home-hero__content {
  width: min(100%, 790px) !important;
}
.home-hero--brand-background .hero-title--home,
.home-hero--brand-background h1 {
  max-width: 790px !important;
}

/* Home + product testimonials: use the client's requested light blue. */
.quote-band,
.quote-band--health,
.quote-band--mining,
.quote-band--product {
  background: #3871B6 !important;
}

/* About executive image: lift it slightly so its top aligns more naturally with the quote. */
.about-leadership .executive-quote__portrait {
  transform: translateY(-10px);
}

/* Accident & Health overview image: remove any residual baseline/border line. */
.product-overview--health .product-overview-reference__image,
.product-overview--health .product-overview-reference__image img {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.product-overview--health .product-overview-reference__image img {
  display: block !important;
  vertical-align: top !important;
}

@media (max-width: 1000px) {
  .home-hero--brand-background,
  .home-hero__inner--centered {
    min-height: 620px !important;
  }
  .home-hero__brand-logo {
    top: 52px;
    width: min(440px, 48vw);
  }
  .home-hero__inner--centered {
    padding-top: 165px !important;
    padding-bottom: 62px !important;
  }
}

@media (max-width: 760px) {
  .home-hero--brand-background,
  .home-hero__inner--centered {
    min-height: 520px !important;
  }
  .home-hero--brand-background {
    background-position: center 72% !important;
  }
  .home-hero--brand-background::before {
    background: rgba(255,255,255,.18) !important;
  }
  .home-hero__brand-logo {
    top: 38px;
    width: min(270px, 68vw);
    max-height: 64px;
  }
  .home-hero__inner--centered {
    padding-top: 128px !important;
    padding-bottom: 42px !important;
  }
  .home-hero--brand-background .home-hero__content {
    width: min(100%, 360px) !important;
    padding-inline: 8px;
  }
  .home-hero--brand-background .hero-title--home,
  .home-hero--brand-background h1 {
    max-width: 340px !important;
    font-size: clamp(2.05rem, 9.4vw, 2.7rem) !important;
    line-height: 1.1 !important;
    letter-spacing: -.035em !important;
  }
  .home-hero--brand-background .hero-actions {
    margin-top: 22px !important;
    align-items: center !important;
  }
  .home-hero--brand-background .btn--outline {
    min-width: 0 !important;
    width: auto !important;
    max-width: max-content !important;
    padding: 11px 20px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }
  .about-leadership .executive-quote__portrait {
    transform: translateY(-5px);
  }
}

@media (max-width: 480px) {
  .home-hero--brand-background,
  .home-hero__inner--centered {
    min-height: 500px !important;
  }
  .home-hero__brand-logo {
    top: 34px;
    width: min(240px, 70vw);
  }
  .home-hero__inner--centered {
    padding-top: 118px !important;
    padding-bottom: 38px !important;
  }
  .home-hero--brand-background .hero-title--home,
  .home-hero--brand-background h1 {
    max-width: 320px !important;
    font-size: clamp(1.85rem, 9vw, 2.3rem) !important;
  }
  .home-hero--brand-background .btn--outline {
    padding: 10px 17px !important;
    font-size: 12.5px !important;
  }
}

.product-overview--health .product-overview-reference__image { line-height: 0 !important; }

/* ===== v1.9.38.13 — exact virtual-background hero + matched header/footer mark + contact alignment ===== */
/* Use the client's supplied Virtual Background as the single hero artwork.
   The artwork already contains the full Way Specialty logo, so no second logo is overlaid. */
.home-hero--brand-background {
  min-height: 690px !important;
  padding: 0 !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: top center !important;
  background-color: #eef3f8 !important;
}
.home-hero--brand-background::before {
  background: rgba(255,255,255,.04) !important;
}
.home-hero__brand-logo,
.home-hero__brand-background {
  display: none !important;
}
.home-hero__inner--centered {
  min-height: 690px !important;
  padding-top: calc(16vw + 44px) !important;
  padding-bottom: 76px !important;
}
.home-hero--brand-background .home-hero__content {
  width: min(100%, 790px) !important;
}

/* Contact heading and preferred-email line share one clean baseline on desktop. */
.contact-form-card__intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end !important;
  column-gap: 34px;
}
.contact-form-card__intro p {
  align-self: end;
  margin: 0 0 4px !important;
  white-space: nowrap;
}

@media (max-width: 1000px) {
  .home-hero--brand-background,
  .home-hero__inner--centered {
    min-height: 620px !important;
  }
  .home-hero--brand-background {
    background-position: top center !important;
  }
  .home-hero__inner--centered {
    padding-top: 180px !important;
    padding-bottom: 62px !important;
  }
}

@media (max-width: 760px) {
  .home-hero--brand-background,
  .home-hero__inner--centered {
    min-height: 520px !important;
  }
  .home-hero--brand-background {
    background-size: cover !important;
    background-position: top center !important;
  }
  .home-hero--brand-background::before {
    background: rgba(255,255,255,.12) !important;
  }
  .home-hero__inner--centered {
    padding-top: 135px !important;
    padding-bottom: 44px !important;
  }
  .contact-form-card__intro {
    display: block !important;
  }
  .contact-form-card__intro p {
    margin-top: 14px !important;
    white-space: normal;
  }
}

@media (max-width: 480px) {
  .home-hero--brand-background,
  .home-hero__inner--centered {
    min-height: 500px !important;
  }
  .home-hero--brand-background {
    background-size: cover !important;
    background-position: top center !important;
  }
  .home-hero__inner--centered {
    padding-top: 126px !important;
    padding-bottom: 38px !important;
  }
}

/* ===== v1.9.38.14 — hero background admin control, contact email sizing, divider cleanup ===== */

/* Contact: the "Prefer email?" label and the email address now share one
   explicit, matching size so the email no longer renders oversized next to
   the label. Also keeps the pair readable at every mobile width. */
.contact-form-card__intro p {
  font-size: 15px !important;
  line-height: 1.5 !important;
}
.contact-form-card__intro p a {
  font-size: 15px !important;
  font-weight: 600 !important;
}
@media (max-width: 760px) {
  .contact-form-card__intro p,
  .contact-form-card__intro p a {
    font-size: 14px !important;
  }
}

/* Why Way Specialty: the hairline under each point is a separator between
   points, not a trailing rule under the last one with nothing beneath it. */
.home-why-reference__point:last-child {
  border-bottom: none !important;
}

/* ===== v1.9.38.22 — Mining market image cards: reduced size + subtle hover ===== */
.mining-market-showcase {
  padding: 68px 0 64px !important;
  overflow: hidden;
}
.mining-market-showcase__container {
  width: min(calc(100% - 64px), 1320px);
  margin-inline: auto;
}
.mining-market-showcase__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.mining-market-visual-card {
  position: relative;
  min-width: 0;
  height: clamp(455px, 27vw, 510px);
  overflow: hidden;
  background: #081221;
  isolation: isolate;
  transition: transform .24s ease;
  transform-origin: center;
}
.mining-market-visual-card__image {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
  transform: scale(1.01);
}
.mining-market-visual-card--mine .mining-market-visual-card__image {
  object-position: 52% center;
}
.mining-market-visual-card--operation .mining-market-visual-card__image {
  object-position: 49% center;
}
.mining-market-visual-card--services .mining-market-visual-card__image {
  object-position: 50% center;
}
.mining-market-visual-card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(180deg, rgba(2,10,20,.67) 0%, rgba(2,10,20,.58) 48%, rgba(1,8,17,.78) 100%);
}
.mining-market-visual-card--services::before {
  background: linear-gradient(180deg, rgba(8,28,61,.64) 0%, rgba(6,24,53,.60) 48%, rgba(4,17,39,.74) 100%);
}
.mining-market-visual-card__content {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 34px 28px 30px;
  color: #fff;
}
.mining-market-visual-card__number {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  width: max-content;
  color: #fff;
}
.mining-market-visual-card__number span {
  display: block;
  font-size: clamp(32px, 1.85vw, 38px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.035em;
}
.mining-market-visual-card__number i {
  display: block;
  width: 42px;
  height: 2px;
  margin-top: 11px;
  background: #3871B6;
}
.mining-market-visual-card__copy {
  width: 100%;
  color: #fff;
}
.mining-market-visual-card__eyebrow {
  display: block;
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(11px, .72vw, 13px);
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: uppercase;
}
.mining-market-visual-card h3,
.mining-market-visual-card p {
  margin: 0;
  color: #fff;
}
.mining-market-visual-card h3 {
  max-width: 100%;
  font-size: clamp(20px, 1.25vw, 25px);
  line-height: 1.16;
  font-weight: 700;
  letter-spacing: -.018em;
}
.mining-market-visual-card h3 span {
  color: #fff;
}
.mining-market-visual-card__copy--services p {
  max-width: 100%;
  font-size: clamp(17px, 1.08vw, 22px);
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: -.012em;
}
.mining-market-visual-card__minimum {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 30px;
  color: #fff;
}
.mining-market-visual-card__minimum span {
  display: block;
  margin-bottom: 3px;
  font-size: clamp(12px, .7vw, 14px);
  line-height: 1.35;
  font-weight: 500;
}
.mining-market-visual-card__minimum strong {
  display: block;
  color: #fff;
  font-size: clamp(36px, 2.15vw, 44px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.035em;
}

@media (hover: hover) and (pointer: fine) {
  .mining-market-visual-card:hover {
    transform: scale(1.012);
    z-index: 2;
  }
}

@media (max-width: 1050px) {
  .mining-market-showcase__container {
    width: min(calc(100% - 40px), 920px);
  }
  .mining-market-showcase__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  .mining-market-visual-card {
    height: 465px;
  }
  .mining-market-visual-card--services {
    grid-column: 1 / -1;
    height: 430px;
  }
  .mining-market-visual-card--services .mining-market-visual-card__image {
    object-position: center 52%;
  }
  .mining-market-visual-card__content {
    padding: 32px 27px 28px;
  }
  .mining-market-visual-card__copy--services {
    max-width: 660px;
  }
}

@media (max-width: 700px) {
  .mining-market-showcase {
    padding: 48px 0 50px !important;
  }
  .mining-market-showcase__container {
    width: min(calc(100% - 32px), 560px);
  }
  .mining-market-showcase__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .mining-market-visual-card,
  .mining-market-visual-card--services {
    grid-column: auto;
    height: clamp(420px, 108vw, 480px);
  }
  .mining-market-visual-card__content {
    padding: 28px 22px 25px;
  }
  .mining-market-visual-card__number span {
    font-size: 32px;
  }
  .mining-market-visual-card__number i {
    width: 38px;
    margin-top: 10px;
  }
  .mining-market-visual-card__eyebrow {
    margin-bottom: 9px;
    font-size: 11px;
    line-height: 1.4;
  }
  .mining-market-visual-card h3 {
    font-size: clamp(20px, 5.9vw, 25px);
    line-height: 1.16;
  }
  .mining-market-visual-card__copy--services p {
    font-size: clamp(17px, 4.9vw, 21px);
    line-height: 1.4;
  }
  .mining-market-visual-card__minimum {
    margin-top: 24px;
  }
  .mining-market-visual-card__minimum strong {
    font-size: clamp(36px, 10vw, 44px);
  }
}

@media (max-width: 420px) {
  .mining-market-showcase__container {
    width: min(calc(100% - 24px), 560px);
  }
  .mining-market-visual-card,
  .mining-market-visual-card--services {
    height: 430px;
  }
  .mining-market-visual-card__content {
    padding: 25px 19px 22px;
  }
  .mining-market-visual-card__copy--services p {
    font-size: 17px;
    line-height: 1.4;
  }
  .mining-market-visual-card__minimum {
    margin-top: 20px;
  }
}

/* ===== v1.9.38.24 — Home Why Way points: slightly larger desktop diamond markers ===== */
.home-why-reference__point {
  grid-template-columns: 30px minmax(0, 1fr) !important;
  column-gap: 14px !important;
}
.home-why-reference__diamond {
  display: block;
  width: 30px;
  height: 30px;
  max-width: none;
  margin-top: 0;
  align-self: start;
  object-fit: contain;
}
.home-why-reference__point-copy {
  min-width: 0;
}
.home-why-reference__point h3 {
  min-height: 30px;
  display: flex;
  align-items: center;
}

@media (max-width: 760px) {
  .home-why-reference__point {
    grid-template-columns: 23px minmax(0, 1fr) !important;
    column-gap: 11px !important;
  }
  .home-why-reference__diamond {
    width: 23px;
    height: 23px;
    margin-top: 0;
  }
  .home-why-reference__point h3 {
    min-height: 23px;
  }
}

@media (max-width: 420px) {
  .home-why-reference__point {
    grid-template-columns: 21px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }
  .home-why-reference__diamond {
    width: 21px;
    height: 21px;
  }
  .home-why-reference__point h3 {
    min-height: 21px;
  }
}

/* ===== v1.9.38.25 — Home division icons + Mining supplemental-applications hero jump ===== */
/* Scope these changes to the requested Home division headings only. */
.home-division-reference-card__division-title {
  display: flex;
  align-items: center;
  gap: 9px;
}
.home-division-reference-card__division-title .home-division-reference-card__icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: #244fc4;
}
.home-division-reference-card__division-title .home-division-reference-card__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Mining hero button only; the destination sits below the sticky header when jumped to. */
.mining-hero-actions {
  margin-top: 28px;
}
#supplemental-applications {
  scroll-margin-top: 92px;
}

@media (max-width: 760px) {
  .home-division-reference-card__division-title {
    gap: 8px;
  }
  .home-division-reference-card__division-title .home-division-reference-card__icon {
    width: 17px;
    height: 17px;
    flex-basis: 17px;
  }
  .mining-hero-actions {
    margin-top: 26px;
  }
  #supplemental-applications {
    scroll-margin-top: 78px;
  }
}

@media (max-width: 420px) {
  .home-division-reference-card__division-title .home-division-reference-card__icon {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
  }
}


/* ===== v1.9.38.26 — Home division icon sizing/color + Mining hero button visibility ===== */
/* Requested Home / Our Divisions icon refinement only. */
.home-division-reference-card__division-title .home-division-reference-card__icon {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  color: #314A75;
}

/* Keep the Mining hero CTA clearly identifiable as a button before hover. */
.mining-hero-actions .btn--outline {
  border: 2px solid rgba(255, 255, 255, .96);
  color: #FFFFFF;
  background: transparent;
  box-shadow: none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

@media (hover: hover) and (pointer: fine) {
  .mining-hero-actions .btn--outline:hover {
    border-color: #FFFFFF;
    background: #FFFFFF;
    color: #314A75;
  }
}

.mining-hero-actions .btn--outline:focus-visible {
  border-color: #FFFFFF;
  background: #FFFFFF;
  color: #314A75;
  outline: 2px solid rgba(255, 255, 255, .55);
  outline-offset: 3px;
}

@media (max-width: 760px) {
  .home-division-reference-card__division-title .home-division-reference-card__icon {
    width: 19px;
    height: 19px;
    flex-basis: 19px;
  }
}

@media (max-width: 420px) {
  .home-division-reference-card__division-title .home-division-reference-card__icon {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
  }
}


/* ===== v1.9.38.27 — Home division heading fit + larger aligned icons ===== */
/* Scope strictly to the Home / Our Divisions card headings. */
.home-division-reference-card__division-title {
  gap: 11px;
  line-height: 1.18;
}
.home-division-reference-card__division-title .home-division-reference-card__icon {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  color: #314A75;
}

/* Keep all three desktop headings on the same single-line rhythm. */
@media (min-width: 901px) {
  .home-division-reference-card__division-title {
    font-size: 18px !important;
    letter-spacing: -.025em;
    white-space: nowrap;
    align-items: center;
  }
}

/* Tablet: there is enough width for the longer division name; keep alignment clean. */
@media (min-width: 761px) and (max-width: 900px) {
  .home-division-reference-card__division-title {
    font-size: 18px !important;
    letter-spacing: -.02em;
    align-items: center;
  }
  .home-division-reference-card__division-title .home-division-reference-card__icon {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
  }
}

/* Mobile: allow natural wrapping, but keep the icon aligned to the heading's first line. */
@media (max-width: 760px) {
  .home-division-reference-card__division-title {
    gap: 10px;
    font-size: 18px !important;
    line-height: 1.22;
    align-items: flex-start;
  }
  .home-division-reference-card__division-title .home-division-reference-card__icon {
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    margin-top: 0;
  }
}

@media (max-width: 420px) {
  .home-division-reference-card__division-title {
    font-size: 17px !important;
    gap: 9px;
  }
  .home-division-reference-card__division-title .home-division-reference-card__icon {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
  }
}

/* ===== v1.9.38.29 — Mining: hero CTA border color + Why Mining Operations Choose Us checked icons ===== */
/* Mining hero CTA: brand-blue outline in its default state only.
   Hover / focus states are unchanged (white fill, #314A75 text). */
.mining-hero-actions .btn--outline {
  border-color: #3771B6;
}

/* Why Mining Operations Choose Us: numbers (01–05) replaced by the supplied
   checked.svg icon. The icon fills its own artboard edge to edge, so it sits
   flush with the card text edge; size is set once via --mining-benefit-icon. */
.mining-benefit {
  --mining-benefit-icon: 26px;
}
.mining-benefit::before {
  content: '' !important;
  display: block !important;
  flex: 0 0 auto;
  width: var(--mining-benefit-icon) !important;
  height: var(--mining-benefit-icon) !important;
  margin: 0 0 14px 0;
  background: url('assets/images/checked.svg') no-repeat center / contain !important;
  font-size: 0 !important;
  letter-spacing: 0;
  opacity: 1 !important;
}

@media (max-width: 760px) {
  .mining-benefit {
    --mining-benefit-icon: 24px;
  }
  .mining-benefit::before {
    margin-bottom: 12px;
  }
}

@media (max-width: 420px) {
  .mining-benefit {
    --mining-benefit-icon: 22px;
  }
}

/* Mining hero CTA on mobile: natural (content-sized) width, centered — instead of the global full-width mobile button. */
@media (max-width: 760px) {
  .mining-hero-actions {
    align-items: center;
    justify-content: center;
  }
  .mining-hero-actions .btn--outline {
    width: auto;
    max-width: 100%;
    min-height: 46px;
    padding-left: 26px;
    padding-right: 26px;
    text-align: center;
  }
}


/* ===== v1.9.38.31 — Mining coverage showcase redesign ===== */
.mining-coverage-showcase {
  padding-top: 100px;
  padding-bottom: 100px;
}
.mining-coverage-showcase__layout {
  display: grid;
  grid-template-columns: minmax(245px, 0.86fr) minmax(0, 1.14fr);
  gap: 56px;
  align-items: start;
}
.mining-coverage-showcase__intro {
  padding-top: 96px;
}
.mining-coverage-showcase__title {
  max-width: 360px;
  margin-bottom: 0;
  font-size: clamp(2.9rem, 4.8vw, 4.45rem);
  line-height: 1.03;
  letter-spacing: -0.04em;
}
.mining-coverage-showcase__visuals {
  display: grid;
  gap: 22px;
}
.mining-coverage-showcase__row {
  display: grid;
  gap: 22px;
}
.mining-coverage-showcase__row--top {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.mining-coverage-showcase__row--bottom {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mining-coverage-tile {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  min-width: 0;
  background: #dfe6f3;
  box-shadow: 0 18px 48px rgba(25, 46, 82, 0.08);
}
.mining-coverage-tile__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mining-coverage-tile--top {
  min-height: 258px;
  aspect-ratio: 1 / 1.06;
}
.mining-coverage-tile--bottom {
  min-height: 228px;
  aspect-ratio: 1.32 / 0.82;
}
.mining-coverage-tile__overlay {
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  background: linear-gradient(180deg, rgba(8,18,44,0) 0%, rgba(8,21,50,.62) 30%, rgba(8,21,50,.86) 100%);
}
.mining-coverage-tile__content {
  position: absolute;
  inset: auto 20px 22px 20px;
  z-index: 1;
}
.mining-coverage-tile h3 {
  margin: 0;
  color: #fff;
  font-size: 17px;
  line-height: 1.15;
  letter-spacing: -0.03em;
  font-weight: 600;
  text-wrap: balance;
}
@media (max-width: 1260px) {
  .mining-coverage-showcase__layout {
    grid-template-columns: minmax(225px, 0.8fr) minmax(0, 1.2fr);
    gap: 42px;
  }
  .mining-coverage-showcase__intro {
    padding-top: 74px;
  }
  .mining-coverage-showcase__title {
    font-size: clamp(2.7rem, 4.5vw, 4rem);
    max-width: 320px;
  }
  .mining-coverage-showcase__row,
  .mining-coverage-showcase__visuals {
    gap: 18px;
  }
  .mining-coverage-showcase__row--top {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mining-coverage-showcase__row--bottom {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mining-coverage-showcase__row--bottom .mining-coverage-tile:last-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 900px) {
  .mining-coverage-showcase {
    padding-top: 78px;
    padding-bottom: 78px;
  }
  .mining-coverage-showcase__layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .mining-coverage-showcase__intro {
    padding-top: 0;
  }
  .mining-coverage-showcase__title {
    max-width: 520px;
    font-size: clamp(2.5rem, 8vw, 3.7rem);
  }
}
@media (max-width: 680px) {
  .mining-coverage-showcase {
    padding-top: 64px;
    padding-bottom: 68px;
  }
  .mining-coverage-showcase__row--top,
  .mining-coverage-showcase__row--bottom {
    grid-template-columns: 1fr;
  }
  .mining-coverage-showcase__row--bottom .mining-coverage-tile:last-child {
    grid-column: auto;
  }
  .mining-coverage-showcase__visuals,
  .mining-coverage-showcase__row {
    gap: 16px;
  }
  .mining-coverage-tile {
    border-radius: 16px;
  }
  .mining-coverage-tile--top,
  .mining-coverage-tile--bottom {
    aspect-ratio: 1.35 / 1;
    min-height: 0;
  }
  .mining-coverage-tile__overlay {
    height: 45%;
  }
  .mining-coverage-tile__content {
    left: 16px;
    right: 16px;
    bottom: 18px;
  }
  .mining-coverage-tile h3 {
    font-size: 16px;
    line-height: 1.18;
  }
}
@media (max-width: 420px) {
  .mining-coverage-showcase__title {
    font-size: clamp(2.2rem, 10vw, 3rem);
  }
}


/* ===== v1.9.38.32 — Mining coverage showcase spacing + overlay refinement ===== */
.mining-coverage-showcase {
  background: var(--ws-paper-2) !important;
  padding-top: 110px !important;
  padding-bottom: 110px !important;
}
.mining-coverage-showcase .ws-container {
  width: min(calc(100% - 96px), 1660px) !important;
}
.mining-coverage-showcase__layout {
  grid-template-columns: minmax(320px, 0.86fr) minmax(0, 1.14fr) !important;
  gap: 72px !important;
  align-items: start !important;
}
.mining-coverage-showcase__intro {
  padding-top: 104px !important;
}
.mining-coverage-showcase__title {
  max-width: 430px !important;
  font-size: clamp(3.3rem, 4.8vw, 5rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
}
.mining-coverage-showcase__visuals {
  gap: 22px !important;
}
.mining-coverage-showcase__row {
  gap: 22px !important;
}
.mining-coverage-showcase__row--top {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.mining-coverage-showcase__row--bottom {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.mining-coverage-tile {
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  background: #d9e1ef !important;
}
.mining-coverage-tile--top {
  aspect-ratio: 1 / 1.02 !important;
  min-height: 0 !important;
}
.mining-coverage-tile--bottom {
  aspect-ratio: 1.34 / 0.82 !important;
  min-height: 0 !important;
}
.mining-coverage-tile__image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.mining-coverage-tile__overlay {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  height: 43% !important;
  background: rgba(8, 27, 64, 0.64) !important;
}
.mining-coverage-tile__content {
  position: absolute !important;
  left: 22px !important;
  right: 20px !important;
  bottom: 18px !important;
  inset-top: auto !important;
}
.mining-coverage-tile h3 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(18px, 1.28vw, 22px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
  font-weight: 600 !important;
  text-wrap: pretty;
}
@media (max-width: 1420px) {
  .mining-coverage-showcase .ws-container {
    width: min(calc(100% - 72px), 1400px) !important;
  }
  .mining-coverage-showcase__layout {
    gap: 54px !important;
  }
  .mining-coverage-showcase__intro {
    padding-top: 74px !important;
  }
  .mining-coverage-showcase__title {
    max-width: 360px !important;
    font-size: clamp(2.95rem, 4.3vw, 4.2rem) !important;
  }
  .mining-coverage-showcase__row,
  .mining-coverage-showcase__visuals {
    gap: 18px !important;
  }
}
@media (max-width: 1200px) {
  .mining-coverage-showcase__layout {
    grid-template-columns: minmax(240px, 0.74fr) minmax(0, 1.26fr) !important;
    gap: 40px !important;
  }
  .mining-coverage-showcase__title {
    max-width: 310px !important;
    font-size: clamp(2.6rem, 4vw, 3.5rem) !important;
  }
  .mining-coverage-showcase__row--top {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .mining-coverage-showcase__row--bottom {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .mining-coverage-showcase__row--bottom .mining-coverage-tile:last-child {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 900px) {
  .mining-coverage-showcase {
    padding-top: 82px !important;
    padding-bottom: 84px !important;
  }
  .mining-coverage-showcase .ws-container {
    width: min(calc(100% - 44px), 900px) !important;
  }
  .mining-coverage-showcase__layout {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .mining-coverage-showcase__intro {
    padding-top: 0 !important;
  }
  .mining-coverage-showcase__title {
    max-width: 100% !important;
    font-size: clamp(2.5rem, 7.8vw, 3.8rem) !important;
  }
}
@media (max-width: 680px) {
  .mining-coverage-showcase {
    padding-top: 64px !important;
    padding-bottom: 68px !important;
  }
  .mining-coverage-showcase .ws-container {
    width: min(calc(100% - 32px), 680px) !important;
  }
  .mining-coverage-showcase__visuals,
  .mining-coverage-showcase__row {
    gap: 14px !important;
  }
  .mining-coverage-showcase__row--top,
  .mining-coverage-showcase__row--bottom {
    grid-template-columns: 1fr !important;
  }
  .mining-coverage-showcase__row--bottom .mining-coverage-tile:last-child {
    grid-column: auto !important;
  }
  .mining-coverage-tile {
    border-radius: 16px !important;
  }
  .mining-coverage-tile--top,
  .mining-coverage-tile--bottom {
    aspect-ratio: 1.38 / 1 !important;
  }
  .mining-coverage-tile__overlay {
    height: 40% !important;
  }
  .mining-coverage-tile__content {
    left: 16px !important;
    right: 16px !important;
    bottom: 16px !important;
  }
  .mining-coverage-tile h3 {
    font-size: 16px !important;
    line-height: 1.16 !important;
  }
}


/* ===== v1.9.38.33 — larger coverage cards + smaller overlay copy ===== */
@media (min-width: 1201px) {
  .mining-coverage-showcase__layout {
    grid-template-columns: minmax(285px, 0.62fr) minmax(0, 1.38fr) !important;
    gap: 54px !important;
  }
  .mining-coverage-showcase__intro {
    padding-top: 92px !important;
  }
  .mining-coverage-showcase__title {
    max-width: 390px !important;
  }
  .mining-coverage-showcase__visuals,
  .mining-coverage-showcase__row {
    gap: 20px !important;
  }
  .mining-coverage-tile--top {
    aspect-ratio: 1 / 1.04 !important;
  }
  .mining-coverage-tile--bottom {
    aspect-ratio: 1.55 / 1 !important;
  }
  .mining-coverage-tile__overlay {
    height: 47% !important;
    background: linear-gradient(180deg, rgba(8,27,64,0.08) 0%, rgba(8,27,64,.66) 28%, rgba(8,27,64,.84) 100%) !important;
  }
  .mining-coverage-tile__content {
    left: 20px !important;
    right: 18px !important;
    bottom: 17px !important;
  }
  .mining-coverage-tile h3 {
    font-size: clamp(15px, 1.02vw, 18px) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.025em !important;
  }
}

@media (min-width: 1421px) {
  .mining-coverage-showcase__layout {
    grid-template-columns: minmax(330px, 0.66fr) minmax(0, 1.34fr) !important;
    gap: 68px !important;
  }
  .mining-coverage-showcase__visuals,
  .mining-coverage-showcase__row {
    gap: 22px !important;
  }
  .mining-coverage-tile h3 {
    font-size: clamp(16px, 1vw, 19px) !important;
  }
}

@media (max-width: 1200px) and (min-width: 901px) {
  .mining-coverage-tile__overlay {
    height: 44% !important;
    background: linear-gradient(180deg, rgba(8,27,64,0.06) 0%, rgba(8,27,64,.64) 28%, rgba(8,27,64,.84) 100%) !important;
  }
  .mining-coverage-tile h3 {
    font-size: 16px !important;
    line-height: 1.18 !important;
  }
}

@media (max-width: 900px) {
  .mining-coverage-tile__overlay {
    height: 44% !important;
    background: linear-gradient(180deg, rgba(8,27,64,0.06) 0%, rgba(8,27,64,.66) 28%, rgba(8,27,64,.86) 100%) !important;
  }
  .mining-coverage-tile h3 {
    font-size: 16px !important;
    line-height: 1.18 !important;
  }
}

@media (max-width: 680px) {
  .mining-coverage-tile--top,
  .mining-coverage-tile--bottom {
    aspect-ratio: 1.42 / 1 !important;
  }
  .mining-coverage-tile__overlay {
    height: 43% !important;
  }
  .mining-coverage-tile h3 {
    font-size: 15.5px !important;
    line-height: 1.2 !important;
  }
}


/* ===== v1.9.38.34 — Mining coverage exact-balance refinement ===== */
@media (min-width: 1201px) {
  .mining-coverage-showcase .ws-container {
    width: min(calc(100% - 72px), 1720px) !important;
  }
  .mining-coverage-showcase__layout {
    grid-template-columns: minmax(235px, 0.52fr) minmax(0, 1.48fr) !important;
    gap: 48px !important;
    align-items: start !important;
  }
  .mining-coverage-showcase__intro {
    padding-top: 86px !important;
  }
  .mining-coverage-showcase__title {
    max-width: 335px !important;
    font-size: clamp(2.7rem, 3.95vw, 4.15rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.04em !important;
  }
  .mining-coverage-showcase__visuals,
  .mining-coverage-showcase__row {
    gap: 22px !important;
  }
  .mining-coverage-tile--top {
    aspect-ratio: 1 / 1.14 !important;
  }
  .mining-coverage-tile--bottom {
    aspect-ratio: 1.34 / 1 !important;
  }
  .mining-coverage-tile__overlay {
    height: 50% !important;
    background: linear-gradient(180deg, rgba(5,16,40,0.02) 0%, rgba(5,16,40,0.74) 26%, rgba(5,16,40,0.93) 100%) !important;
  }
  .mining-coverage-tile__content {
    left: 22px !important;
    right: 20px !important;
    bottom: 18px !important;
  }
  .mining-coverage-tile h3 {
    font-size: clamp(14px, 0.88vw, 17px) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.024em !important;
    font-weight: 600 !important;
  }
}
@media (min-width: 1500px) {
  .mining-coverage-showcase__layout {
    grid-template-columns: minmax(250px, 0.5fr) minmax(0, 1.5fr) !important;
  }
  .mining-coverage-showcase__title {
    max-width: 350px !important;
    font-size: clamp(2.85rem, 3.7vw, 4.3rem) !important;
  }
}
@media (max-width: 1200px) and (min-width: 901px) {
  .mining-coverage-showcase__title {
    max-width: 300px !important;
    font-size: clamp(2.4rem, 3.25vw, 3.2rem) !important;
  }
  .mining-coverage-tile--top {
    aspect-ratio: 1 / 1.08 !important;
  }
  .mining-coverage-tile--bottom {
    aspect-ratio: 1.3 / 1 !important;
  }
  .mining-coverage-tile__overlay {
    height: 48% !important;
    background: linear-gradient(180deg, rgba(5,16,40,0.02) 0%, rgba(5,16,40,0.72) 28%, rgba(5,16,40,0.92) 100%) !important;
  }
  .mining-coverage-tile h3 {
    font-size: 15px !important;
    line-height: 1.16 !important;
  }
}
@media (max-width: 900px) {
  .mining-coverage-showcase__title {
    max-width: 520px !important;
    font-size: clamp(2.35rem, 7vw, 3.45rem) !important;
  }
  .mining-coverage-tile__overlay {
    height: 46% !important;
    background: linear-gradient(180deg, rgba(5,16,40,0.02) 0%, rgba(5,16,40,0.72) 28%, rgba(5,16,40,0.92) 100%) !important;
  }
  .mining-coverage-tile h3 {
    font-size: 15.5px !important;
    line-height: 1.16 !important;
  }
}
@media (max-width: 680px) {
  .mining-coverage-showcase__title {
    font-size: clamp(2.1rem, 9vw, 3rem) !important;
  }
  .mining-coverage-tile--top,
  .mining-coverage-tile--bottom {
    aspect-ratio: 1.5 / 1 !important;
  }
  .mining-coverage-tile__overlay {
    height: 47% !important;
  }
  .mining-coverage-tile h3 {
    font-size: 15px !important;
    line-height: 1.18 !important;
  }
}


/* ===== v1.9.38.35 — Mining coverage darker blue overlay + smaller heading/cards ===== */
@media (min-width: 1201px) {
  .mining-coverage-showcase__layout {
    grid-template-columns: minmax(285px, 0.6fr) minmax(0, 1.4fr) !important;
    gap: 56px !important;
  }
  .mining-coverage-showcase__intro {
    padding-top: 74px !important;
  }
  .mining-coverage-showcase__title {
    max-width: 295px !important;
    font-size: clamp(2.25rem, 3.1vw, 3.45rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.035em !important;
  }
  .mining-coverage-showcase__visuals,
  .mining-coverage-showcase__row {
    gap: 18px !important;
  }
  .mining-coverage-tile--top {
    aspect-ratio: 1 / 1.02 !important;
  }
  .mining-coverage-tile--bottom {
    aspect-ratio: 1.46 / 0.9 !important;
  }
  .mining-coverage-tile__overlay {
    height: 52% !important;
    background: linear-gradient(180deg, rgba(49,74,117,0.03) 0%, rgba(49,74,117,0.78) 24%, rgba(22,40,79,0.97) 100%) !important;
  }
  .mining-coverage-tile__content {
    left: 20px !important;
    right: 18px !important;
    bottom: 16px !important;
  }
  .mining-coverage-tile h3 {
    font-size: clamp(13.5px, 0.82vw, 16px) !important;
    line-height: 1.16 !important;
  }
}

@media (min-width: 1500px) {
  .mining-coverage-showcase__title {
    max-width: 310px !important;
    font-size: clamp(2.4rem, 3vw, 3.65rem) !important;
  }
}

@media (max-width: 1200px) and (min-width: 901px) {
  .mining-coverage-showcase__title {
    max-width: 280px !important;
    font-size: clamp(2.1rem, 2.8vw, 2.9rem) !important;
    line-height: 1.08 !important;
  }
  .mining-coverage-showcase__visuals,
  .mining-coverage-showcase__row {
    gap: 16px !important;
  }
  .mining-coverage-tile--top {
    aspect-ratio: 1 / 1 !important;
  }
  .mining-coverage-tile--bottom {
    aspect-ratio: 1.38 / 0.95 !important;
  }
  .mining-coverage-tile__overlay {
    height: 50% !important;
    background: linear-gradient(180deg, rgba(49,74,117,0.03) 0%, rgba(49,74,117,0.76) 26%, rgba(22,40,79,0.96) 100%) !important;
  }
  .mining-coverage-tile h3 {
    font-size: 14px !important;
    line-height: 1.16 !important;
  }
}

@media (max-width: 900px) {
  .mining-coverage-showcase__title {
    max-width: 430px !important;
    font-size: clamp(2rem, 6.1vw, 2.95rem) !important;
    line-height: 1.08 !important;
  }
  .mining-coverage-showcase__visuals,
  .mining-coverage-showcase__row {
    gap: 14px !important;
  }
  .mining-coverage-tile__overlay {
    height: 49% !important;
    background: linear-gradient(180deg, rgba(49,74,117,0.03) 0%, rgba(49,74,117,0.76) 26%, rgba(22,40,79,0.96) 100%) !important;
  }
  .mining-coverage-tile h3 {
    font-size: 14.5px !important;
    line-height: 1.16 !important;
  }
}

@media (max-width: 680px) {
  .mining-coverage-showcase__title {
    font-size: clamp(1.9rem, 8.2vw, 2.55rem) !important;
  }
  .mining-coverage-tile--top,
  .mining-coverage-tile--bottom {
    aspect-ratio: 1.44 / 1 !important;
  }
  .mining-coverage-tile__overlay {
    height: 50% !important;
  }
  .mining-coverage-tile h3 {
    font-size: 14px !important;
    line-height: 1.18 !important;
  }
}


/* ===== v1.9.38.36 — darker blue full overlay + smaller 3-line heading ===== */
@media (min-width: 1201px) {
  .mining-coverage-showcase__layout {
    grid-template-columns: minmax(300px, 0.64fr) minmax(0, 1.36fr) !important;
    gap: 54px !important;
  }
  .mining-coverage-showcase__intro {
    padding-top: 70px !important;
  }
  .mining-coverage-showcase__title {
    max-width: 360px !important;
    font-size: clamp(2.05rem, 2.75vw, 3.1rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.032em !important;
  }
  .mining-coverage-showcase__visuals,
  .mining-coverage-showcase__row {
    gap: 18px !important;
  }
  .mining-coverage-tile--top {
    aspect-ratio: 1 / 1.01 !important;
  }
  .mining-coverage-tile--bottom {
    aspect-ratio: 1.42 / 0.9 !important;
  }
  .mining-coverage-tile__overlay {
    height: 58% !important;
    background: linear-gradient(180deg, rgba(49,74,117,0.00) 0%, rgba(49,74,117,0.82) 20%, rgba(29,53,98,0.96) 58%, rgba(21,39,77,0.99) 100%) !important;
  }
  .mining-coverage-tile__content {
    left: 20px !important;
    right: 18px !important;
    bottom: 22px !important;
  }
  .mining-coverage-tile h3 {
    font-size: clamp(14px, 0.84vw, 16.5px) !important;
    line-height: 1.14 !important;
  }
}

@media (min-width: 1500px) {
  .mining-coverage-showcase__title {
    max-width: 375px !important;
    font-size: clamp(2.15rem, 2.6vw, 3.2rem) !important;
  }
}

@media (max-width: 1200px) and (min-width: 901px) {
  .mining-coverage-showcase__title {
    max-width: 330px !important;
    font-size: clamp(1.95rem, 2.55vw, 2.6rem) !important;
    line-height: 1.08 !important;
  }
  .mining-coverage-tile__overlay {
    height: 55% !important;
    background: linear-gradient(180deg, rgba(49,74,117,0.00) 0%, rgba(49,74,117,0.80) 22%, rgba(29,53,98,0.95) 58%, rgba(21,39,77,0.99) 100%) !important;
  }
  .mining-coverage-tile__content {
    bottom: 20px !important;
  }
  .mining-coverage-tile h3 {
    font-size: 14.5px !important;
    line-height: 1.15 !important;
  }
}

@media (max-width: 900px) {
  .mining-coverage-showcase__title {
    max-width: 520px !important;
    font-size: clamp(1.95rem, 5.7vw, 2.7rem) !important;
    line-height: 1.08 !important;
  }
  .mining-coverage-tile__overlay {
    height: 54% !important;
    background: linear-gradient(180deg, rgba(49,74,117,0.00) 0%, rgba(49,74,117,0.80) 22%, rgba(29,53,98,0.95) 58%, rgba(21,39,77,0.99) 100%) !important;
  }
  .mining-coverage-tile__content {
    bottom: 18px !important;
  }
  .mining-coverage-tile h3 {
    font-size: 14px !important;
    line-height: 1.16 !important;
  }
}

@media (max-width: 680px) {
  .mining-coverage-showcase__title {
    max-width: 100% !important;
    font-size: clamp(1.8rem, 7vw, 2.35rem) !important;
  }
  .mining-coverage-tile__overlay {
    height: 55% !important;
  }
  .mining-coverage-tile__content {
    bottom: 17px !important;
  }
  .mining-coverage-tile h3 {
    font-size: 13.8px !important;
    line-height: 1.18 !important;
  }
}

/* Mining coverage section: white background + vertically centered heading */
.mining-coverage-showcase {
  background: #ffffff !important;
}
@media (min-width: 901px) {
  .mining-coverage-showcase__layout {
    align-items: center !important;
  }
  .mining-coverage-showcase__intro {
    padding-top: 0 !important;
    align-self: center !important;
  }
}

/* ===== v1.9.38.39 — new home hero background + landscape logo above heading ===== */
.home-hero--brand-background {
  min-height: 760px !important;
  background-size: cover !important;
  background-position: center center !important;
}
.home-hero--brand-background::before {
  background: rgba(255,255,255,.08) !important;
}
.home-hero--brand-background .home-hero__inner--centered {
  min-height: 760px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding-top: 110px !important;
  padding-bottom: 90px !important;
  text-align: center;
}
.home-hero__landscape-logo {
  display: block !important;
  width: min(1140px, 62vw) !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto 70px !important;
  position: static !important;
  transform: none !important;
}
.home-hero--brand-background .home-hero__content {
  width: min(100%, 980px) !important;
  margin-inline: auto !important;
  text-align: center;
}
.home-hero--brand-background .hero-title--home,
.home-hero--brand-background h1 {
  max-width: 980px !important;
  margin-inline: auto !important;
}
.home-hero--brand-background .hero-actions {
  justify-content: center !important;
}

@media (max-width: 1000px) {
  .home-hero--brand-background,
  .home-hero--brand-background .home-hero__inner--centered {
    min-height: 620px !important;
  }
  .home-hero--brand-background .home-hero__inner--centered {
    padding-top: 90px !important;
    padding-bottom: 70px !important;
  }
  .home-hero__landscape-logo {
    width: min(760px, 80vw) !important;
    margin-bottom: 50px !important;
  }
}

@media (max-width: 760px) {
  .home-hero--brand-background,
  .home-hero--brand-background .home-hero__inner--centered {
    min-height: 520px !important;
  }
  .home-hero--brand-background .home-hero__inner--centered {
    padding-top: 70px !important;
    padding-bottom: 54px !important;
  }
  .home-hero__landscape-logo {
    width: 88vw !important;
    margin-bottom: 36px !important;
  }
}

@media (max-width: 480px) {
  .home-hero--brand-background,
  .home-hero--brand-background .home-hero__inner--centered {
    min-height: 460px !important;
  }
  .home-hero--brand-background .home-hero__inner--centered {
    padding-top: 56px !important;
    padding-bottom: 44px !important;
  }
  .home-hero__landscape-logo {
    width: 92vw !important;
    margin-bottom: 28px !important;
  }
}

/* ===== v1.9.38.41 — hero stack: logo, heading, button, all centered ===== */
.home-hero--brand-background .home-hero__content.home-hero__content--stacked {
  width: min(100%, 1140px) !important;
  max-width: 1140px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  margin-inline: auto !important;
}
.home-hero--brand-background .home-hero__content--stacked .home-hero__landscape-logo {
  width: min(1140px, 62vw) !important;
}
.home-hero--brand-background .home-hero__content--stacked .hero-title--home {
  max-width: 980px !important;
  text-align: center !important;
}
.home-hero--brand-background .home-hero__content--stacked .hero-actions {
  display: flex !important;
  justify-content: center !important;
  width: 100%;
}
@media (max-width: 1000px) {
  .home-hero--brand-background .home-hero__content--stacked .home-hero__landscape-logo { width: min(760px, 80vw) !important; }
}
@media (max-width: 760px) {
  .home-hero--brand-background .home-hero__content--stacked .home-hero__landscape-logo { width: 88vw !important; }
}
@media (max-width: 480px) {
  .home-hero--brand-background .home-hero__content--stacked .home-hero__landscape-logo { width: 92vw !important; }
}

/* v1.9.38.42 — division card numbers removed */
.home-division-reference-card__number { display: none !important; }

/* ===== v1.9.38.43 — mining / A&H / GPE client edits ===== */
/* Mining market cards: numbers removed, keep copy anchored to the bottom */
.mining-market-visual-card__number { display: none !important; }
.mining-market-visual-card__content { justify-content: flex-end !important; }

/* GPE fact cards: numbers removed, larger text */
.product-fact-card__number { display: none !important; }
.product-facts .product-fact-card {
  min-height: 0 !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.product-facts .product-fact-card__label {
  margin-bottom: 12px !important;
  font-size: 14px !important;
  letter-spacing: .12em !important;
}
.product-facts .product-fact-card__value {
  max-width: none !important;
  font-size: 22px !important;
  line-height: 1.35 !important;
}
@media (max-width: 760px) {
  .product-facts .product-fact-card__label { font-size: 13px !important; }
  .product-facts .product-fact-card__value { font-size: 19px !important; }
}

/* ===== v1.9.38.44 — mining coverage card text centered ===== */
.mining-coverage-tile__content {
  left: 18px !important;
  right: 18px !important;
  text-align: center !important;
}
.mining-coverage-tile h3,
.mining-coverage-tile__content h3 {
  text-align: center !important;
  margin-inline: auto !important;
}

/* ===== v1.9.38.45 — mining coverage cards: equal height in both rows ===== */
.mining-coverage-showcase .mining-coverage-tile--top,
.mining-coverage-showcase .mining-coverage-tile--bottom {
  aspect-ratio: auto !important;
  min-height: 0 !important;
  height: clamp(190px, 14vw, 230px) !important;
}
@media (max-width: 1200px) {
  .mining-coverage-showcase .mining-coverage-tile--top,
  .mining-coverage-showcase .mining-coverage-tile--bottom {
    height: 210px !important;
  }
}
@media (max-width: 680px) {
  .mining-coverage-showcase .mining-coverage-tile--top,
  .mining-coverage-showcase .mining-coverage-tile--bottom {
    height: 190px !important;
  }
}

/* ===== Mining market cards: same text style + same start position in all three cards ===== */
.mining-market-visual-card__copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
}
/* Cards 1 & 2 main text uses exactly the same style as card 3's text */
.mining-market-visual-card h3,
.mining-market-visual-card__copy--services p {
  font-size: clamp(17px, 1.08vw, 22px);
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: -.012em;
}
.mining-market-visual-card__eyebrow {
  min-height: 1.35em;
  margin-bottom: 10px;
}
/* Minimum premium: slightly smaller */
.mining-market-visual-card__minimum span {
  font-size: clamp(11px, .62vw, 13px);
}
.mining-market-visual-card__minimum strong {
  font-size: clamp(24px, 1.45vw, 29px);
}
/* Shorter cards */
.mining-market-visual-card {
  height: clamp(370px, 22vw, 410px);
}
@media (max-width: 1050px) {
  .mining-market-visual-card { height: 400px; }
  .mining-market-visual-card--services { height: 370px; }
}
@media (max-width: 700px) {
  .mining-market-visual-card,
  .mining-market-visual-card--services { height: clamp(370px, 96vw, 420px); }
}
@media (max-width: 420px) {
  .mining-market-visual-card,
  .mining-market-visual-card--services { height: 380px; }
}
@media (max-width: 700px) {
  .mining-market-visual-card h3,
  .mining-market-visual-card__copy--services p {
    font-size: clamp(17px, 4.9vw, 21px);
    line-height: 1.4;
  }
  .mining-market-visual-card__minimum strong {
    font-size: clamp(24px, 7vw, 29px);
  }
}

/* ===== v1.9.38.49 — A&H carrier rating line + About LinkedIn button ===== */
.ah-carrier-badge {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 26px;
  padding: 16px 20px;
  background: #EEF0F7;
  border-radius: 8px;
}
.ah-carrier-badge__icon {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  background: url('assets/images/checked.svg') no-repeat center / contain;
}
.ah-carrier-badge strong {
  color: var(--ws-navy);
  font-size: 15px;
  line-height: 1.48;
  font-weight: 700;
  white-space: nowrap;
}
@media (max-width: 480px) {
  .ah-carrier-badge { padding: 14px 16px; gap: 12px; }
  .ah-carrier-badge__icon { flex-basis: 24px; width: 24px; height: 24px; }
  .ah-carrier-badge strong { white-space: normal; font-size: 14px; }
}

.about-hero .about-hero-actions {
  margin-top: 34px;
}
@media (max-width: 760px) {
  .about-hero .about-hero-actions { margin-top: 24px; }
}
.about-hero .about-hero-actions {
  display: flex !important;
  justify-content: flex-start !important;
  text-align: left !important;
}
.about-hero .about-hero-actions { align-items: flex-start !important; }

/* ===== v1.9.38.51 — SVG arrows (iPhone showed emoji), download card text, hero button centering ===== */
/* Arrow icons are inline SVGs now, so iOS can no longer swap them for emoji. */
.ws-icon-svg {
  display: block;
  width: 1em;
  height: 1em;
  flex: none;
  pointer-events: none;
}
.home-division-reference-card__arrow .ws-icon-svg,
.leader-profile-card__linkedin-arrow .ws-icon-svg {
  width: .92em;
  height: .92em;
}
.filetype-icon__arrow {
  display: block;
  top: 12px !important;
  font-size: 18px !important;
  line-height: 0 !important;
}

/* Supplemental application cards: fixed type so the label never inherits a larger size. */
.mining-download-card,
.mining-download-card strong,
.mining-download-card small {
  font-family: 'Montserrat', Arial, sans-serif !important;
}
.mining-download-card strong {
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}
.mining-download-card small {
  display: block !important;
  margin-top: 5px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
  color: var(--ws-slate) !important;
  letter-spacing: 0 !important;
}

/* Hero buttons have no trailing arrow, so drop the arrow gap: text sits truly centered. */
.hero-actions .btn {
  gap: 0 !important;
  justify-content: center !important;
  text-align: center !important;
}
.about-hero .about-hero-actions .btn {
  padding-left: 26px !important;
  padding-right: 26px !important;
}

/* ===== v1.9.38.53 — contact form validation ===== */
.form-required-note {
  margin: 0;
  font-size: 12.5px;
  color: var(--ws-slate);
}
.form-required-note span,
.form-field .req {
  color: #c62828;
  font-weight: 700;
}
.form-field input[aria-invalid="true"],
.form-field select[aria-invalid="true"],
.form-field textarea[aria-invalid="true"] {
  border-color: #c62828 !important;
  background-color: #fffafa !important;
}
.form-field input[aria-invalid="true"]:focus,
.form-field select[aria-invalid="true"]:focus,
.form-field textarea[aria-invalid="true"]:focus {
  box-shadow: 0 0 0 3px rgba(198, 40, 40, .12) !important;
}
.field-error {
  margin: 7px 0 0;
  font-size: 12.5px;
  line-height: 1.4;
  font-weight: 500;
  color: #c62828;
}
.field-error[hidden] { display: none; }
.form-submit:disabled {
  opacity: .7;
  cursor: progress;
  transform: none;
}
#contact-form { scroll-margin-top: 110px; }
