/* Unified visual system. Keep this file loaded after page-specific CSS. */
:root {
  --site-font: "Manrope", "Segoe UI", Arial, Helvetica, sans-serif;
  --site-navy: #071846;
  --site-blue: #1767d9;
  --site-orange: #e06f20;
  --site-orange-dark: #c95f18;
  --site-text: #465773;
  --site-muted: #64748b;
  --site-line: #dbe5f2;
  --site-soft: #f7faff;
  --site-white: #ffffff;
  --font-main: var(--site-font);
  --heading-color: var(--site-navy);
  --body-color: var(--site-text);
  --label-color: var(--site-blue);
  --navy: var(--site-navy);
  --blue: var(--site-blue);
  --blue-dark: var(--site-navy);
  --orange: var(--site-orange);
  --orange-dark: var(--site-orange-dark);
  --accent: var(--site-orange);
  --orange-accent: var(--site-orange);
  --gold: var(--site-orange);
  --logo-navy: var(--site-navy);
  --logo-gold: var(--site-orange);
  --muted: var(--site-muted);
  --warm: var(--site-white);
  --paper: var(--site-white);
  --line: var(--site-line);
  --type-h1: clamp(40px, 4.1vw, 62px);
  --type-h2: clamp(30px, 2.8vw, 44px);
  --type-h3: clamp(20px, 1.45vw, 26px);
  --type-h4: clamp(18px, 1.15vw, 22px);
  --type-body: 16px;
  --type-card: 16px;
  --type-small: 14px;
  --type-button: 16px;
  --site-h1: var(--type-h1);
  --site-h2: var(--type-h2);
  --site-h3: var(--type-h3);
  --site-body: var(--type-body);
  --site-small: var(--type-small);
  --site-button-font-size: var(--type-button);
}

/* Campaign Reach case study redesign — 2026-07-20 */
html body.case-detail-page.campaign-reach-page .reach-case-redesign {
  --reach-navy: #0b1d4f;
  --reach-blue: #193267;
  --reach-orange: #bd8d42;
  --reach-text: #4f596c;
  --reach-muted: #747b89;
  --reach-line: #e3ded3;
  --reach-soft-blue: #f3f4f7;
  --reach-soft-orange: #fbf5e9;
  --reach-space-section: 76px;
  --reach-space-heading: 32px;
  --reach-space-major: 56px;
  --reach-space-copy: 20px;
  color: var(--reach-text);
  background: #fcfbf8;
}

html body.case-detail-page.campaign-reach-page .reach-case-redesign *,
html body.case-detail-page.campaign-reach-page .reach-image-modal * {
  box-sizing: border-box;
}

html body.case-detail-page.campaign-reach-page .reach-case-redesign .container {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

html body.case-detail-page.campaign-reach-page .reach-case-redesign :is(h1, h2, h3, p) {
  margin-top: 0;
}

html body.case-detail-page.campaign-reach-page .reach-case-redesign :is(h1, h2, h3, strong) {
  color: var(--reach-navy);
}

html body.case-detail-page.campaign-reach-page .reach-case-redesign h2 {
  margin-bottom: var(--reach-space-copy);
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: 0;
}

html body.case-detail-page.campaign-reach-page .reach-case-redesign h3 {
  font-size: 18px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0;
}

html body.case-detail-page.campaign-reach-page .reach-case-redesign p,
html body.case-detail-page.campaign-reach-page .reach-case-redesign li {
  font-size: 16px;
  line-height: 1.65;
}

html body.case-detail-page.campaign-reach-page .reach-intro {
  padding: 28px 0 64px;
}

html body.case-detail-page.campaign-reach-page .reach-back {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 40px;
  color: var(--reach-navy);
  font-weight: 700;
  text-decoration: none;
}

html body.case-detail-page.campaign-reach-page .reach-back span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #f1c7aa;
  border-radius: 50%;
  color: var(--reach-orange);
  transition: transform .2s ease, background-color .2s ease;
}

html body.case-detail-page.campaign-reach-page .reach-back:hover span {
  transform: translateX(-3px);
  background: var(--reach-soft-orange);
}

html body.case-detail-page.campaign-reach-page .reach-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(270px, .75fr);
  gap: clamp(44px, 7vw, 96px);
  align-items: center;
}

html body.case-detail-page.campaign-reach-page .reach-intro-copy {
  max-width: 760px;
}

html body.case-detail-page.campaign-reach-page .reach-eyebrow {
  margin-bottom: 12px;
  color: var(--reach-orange);
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

html body.case-detail-page.campaign-reach-page .reach-intro h1 {
  max-width: 760px;
  margin: 0 0 18px;
  color: var(--reach-navy);
  font-size: clamp(44px, 5vw, 68px);
  line-height: 1.03;
  font-weight: 700;
  letter-spacing: 0;
  overflow-wrap: normal;
}

html body.case-detail-page.campaign-reach-page .reach-intro h1 span {
  color: var(--reach-navy);
}

html body.case-detail-page.campaign-reach-page .reach-lead {
  max-width: 680px;
  margin-bottom: 18px;
  color: var(--reach-text);
  font-size: 19px !important;
  line-height: 1.55 !important;
}

html body.case-detail-page.campaign-reach-page .reach-context {
  max-width: 720px;
  margin: 20px 0 0;
}

html body.case-detail-page.campaign-reach-page .reach-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

html body.case-detail-page.campaign-reach-page .reach-chips span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 6px 11px;
  border: 1px solid #d8e5f8;
  border-radius: 6px;
  color: var(--reach-navy);
  background: #f7faff;
  font-size: 13px;
  font-weight: 650;
}

html body.case-detail-page.campaign-reach-page .reach-chips :is(img, svg) {
  width: 21px;
  height: 21px;
  object-fit: contain;
  fill: none;
  stroke: var(--reach-blue);
  stroke-width: 1.8;
}

html body.case-detail-page.campaign-reach-page .reach-ads-preview {
  overflow: hidden;
  border: 1px solid #cfdaea;
  border-radius: 8px;
  background: #fff;
}

html body.case-detail-page.campaign-reach-page .reach-ads-toolbar,
html body.case-detail-page.campaign-reach-page .reach-ads-status,
html body.case-detail-page.campaign-reach-page .reach-ads-mini-metrics {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

html body.case-detail-page.campaign-reach-page .reach-ads-toolbar {
  min-height: 54px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--reach-line);
  color: var(--reach-navy);
  font-weight: 750;
}

html body.case-detail-page.campaign-reach-page .reach-ads-toolbar span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

html body.case-detail-page.campaign-reach-page .reach-ads-toolbar img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

html body.case-detail-page.campaign-reach-page .reach-ads-toolbar small {
  color: var(--reach-muted);
  font-size: 12px;
}

html body.case-detail-page.campaign-reach-page .reach-ads-status {
  padding: 10px 16px;
  border-bottom: 1px solid #f1d4c1;
  background: var(--reach-soft-orange);
  font-size: 12px;
}

html body.case-detail-page.campaign-reach-page .reach-ads-status span {
  color: #17804a;
  font-weight: 700;
}

html body.case-detail-page.campaign-reach-page .reach-ads-status strong {
  color: var(--reach-orange);
}

html body.case-detail-page.campaign-reach-page .reach-ad-example {
  padding: 18px 16px;
  border-bottom: 1px solid var(--reach-line);
}

html body.case-detail-page.campaign-reach-page .reach-ad-example small {
  color: #45536a;
  font-size: 11px;
}

html body.case-detail-page.campaign-reach-page .reach-ad-example h2 {
  margin: 5px 0 6px;
  color: #175ac6;
  font-size: 20px;
  line-height: 1.25;
}

html body.case-detail-page.campaign-reach-page .reach-ad-example p {
  margin-bottom: 12px;
  font-size: 13px;
  line-height: 1.45;
}

html body.case-detail-page.campaign-reach-page .reach-ad-example div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

html body.case-detail-page.campaign-reach-page .reach-ad-example div span {
  padding: 5px 8px;
  border: 1px solid #d8e5f8;
  border-radius: 4px;
  color: var(--reach-blue);
  background: #f7faff;
  font-size: 11px;
  font-weight: 700;
}

html body.case-detail-page.campaign-reach-page .reach-ads-mini-metrics {
  padding: 12px 16px;
}

html body.case-detail-page.campaign-reach-page .reach-ads-mini-metrics span {
  min-width: 0;
}

html body.case-detail-page.campaign-reach-page .reach-ads-mini-metrics small,
html body.case-detail-page.campaign-reach-page .reach-ads-mini-metrics strong {
  display: block;
}

html body.case-detail-page.campaign-reach-page .reach-ads-mini-metrics small {
  color: var(--reach-muted);
  font-size: 10px;
}

html body.case-detail-page.campaign-reach-page .reach-ads-mini-metrics strong {
  margin-top: 2px;
  font-size: 18px;
}

html body.case-detail-page.campaign-reach-page .reach-ads-caption {
  margin: 0;
  padding: 13px 16px;
  color: var(--reach-navy);
  background: var(--reach-soft-blue);
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 650;
}

html body.case-detail-page.campaign-reach-page .reach-icon {
  display: grid;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 1px solid #d4e3fa;
  border-radius: 50%;
  color: var(--reach-blue);
  background: var(--reach-soft-blue);
}

html body.case-detail-page.campaign-reach-page .reach-icon-orange {
  color: var(--reach-orange);
  border-color: #f3d5c0;
  background: var(--reach-soft-orange);
}

html body.case-detail-page.campaign-reach-page .reach-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html body.case-detail-page.campaign-reach-page .reach-section,
html body.case-detail-page.campaign-reach-page .reach-band {
  padding: var(--reach-space-section) 0;
}

html body.case-detail-page.campaign-reach-page .reach-band {
  background: #f8fafc;
  border-block: 1px solid #edf1f6;
}

html body.case-detail-page.campaign-reach-page .reach-section-heading {
  max-width: 760px;
  margin-bottom: var(--reach-space-heading);
}

html body.case-detail-page.campaign-reach-page .reach-section-heading > p:last-child {
  margin-bottom: 0;
}

html body.case-detail-page.campaign-reach-page .reach-company-grid {
  display: grid;
  grid-template-columns: .9fr 1.6fr;
  gap: 54px;
  align-items: center;
}

html body.case-detail-page.campaign-reach-page .reach-company-grid > div:first-child p {
  margin-bottom: 0;
}

html body.case-detail-page.campaign-reach-page .reach-company-grid > div:first-child h2 {
  margin-bottom: var(--reach-space-copy);
}

html body.case-detail-page.campaign-reach-page .reach-company-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

html body.case-detail-page.campaign-reach-page .reach-company-facts article {
  display: flex;
  min-height: 92px;
  align-items: center;
  gap: 13px;
  padding: 16px;
  border: 1px solid var(--reach-line);
  border-radius: 8px;
  background: #fff;
}

html body.case-detail-page.campaign-reach-page .reach-company-facts .reach-icon {
  width: 38px;
  height: 38px;
}

html body.case-detail-page.campaign-reach-page .reach-company-facts .reach-icon svg {
  width: 20px;
  height: 20px;
}

html body.case-detail-page.campaign-reach-page .reach-company-facts small,
html body.case-detail-page.campaign-reach-page .reach-company-facts strong {
  display: block;
}

html body.case-detail-page.campaign-reach-page .reach-company-facts small {
  margin-bottom: 4px;
  color: var(--reach-muted);
  font-size: 12px;
}

html body.case-detail-page.campaign-reach-page .reach-company-facts strong {
  font-size: 14px;
  line-height: 1.35;
}

html body.case-detail-page.campaign-reach-page .reach-issue-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

html body.case-detail-page.campaign-reach-page .reach-issue-grid article {
  display: flex;
  min-height: 170px;
  gap: 14px;
  padding: 24px;
  border: 1px solid var(--reach-line);
  border-top: 3px solid var(--reach-orange);
  border-radius: 8px;
  background: #fff;
}

html body.case-detail-page.campaign-reach-page .reach-status-bad {
  display: grid;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #f19a68;
  border-radius: 50%;
  color: var(--reach-orange);
  font-size: 20px;
  line-height: 1;
}

html body.case-detail-page.campaign-reach-page .reach-issue-grid h3 {
  margin-bottom: 8px;
}

html body.case-detail-page.campaign-reach-page .reach-issue-grid p {
  margin-bottom: 0;
}

html body.case-detail-page.campaign-reach-page .reach-section-note {
  max-width: 940px;
  margin: var(--reach-space-heading) 0 0;
}

html body.case-detail-page.campaign-reach-page .reach-work-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 54px;
}

html body.case-detail-page.campaign-reach-page .reach-process {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: var(--reach-space-heading);
}

html body.case-detail-page.campaign-reach-page .reach-process span {
  display: grid;
  min-width: 104px;
  gap: 8px;
  color: var(--reach-navy);
  font-size: 13px;
  font-weight: 650;
  text-align: center;
}

html body.case-detail-page.campaign-reach-page .reach-process b {
  display: grid;
  width: 38px;
  height: 38px;
  margin-inline: auto;
  place-items: center;
  border: 1px solid #d4e3fa;
  border-radius: 50%;
  color: var(--reach-blue);
  background: #fff;
}

html body.case-detail-page.campaign-reach-page .reach-process i {
  color: #9ba8ba;
  font-style: normal;
}

html body.case-detail-page.campaign-reach-page .reach-roles {
  display: grid;
  gap: 14px;
}

html body.case-detail-page.campaign-reach-page .reach-roles article {
  padding: 22px 24px;
  border-left: 3px solid var(--reach-blue);
  background: #fff;
}

html body.case-detail-page.campaign-reach-page .reach-roles article:last-child {
  border-color: var(--reach-orange);
}

html body.case-detail-page.campaign-reach-page .reach-roles h3 {
  margin-bottom: 10px;
}

html body.case-detail-page.campaign-reach-page .reach-roles :is(p, ul) {
  margin-bottom: 0;
}

html body.case-detail-page.campaign-reach-page .reach-roles ul {
  padding-left: 20px;
}

html body.case-detail-page.campaign-reach-page .reach-change-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

html body.case-detail-page.campaign-reach-page .reach-change-grid article {
  display: flex;
  min-height: 260px;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
  border: 1px solid var(--reach-line);
  border-radius: 8px;
  background: #fff;
}

html body.case-detail-page.campaign-reach-page .reach-change-meta {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}

html body.case-detail-page.campaign-reach-page .reach-step-letter {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--reach-blue);
  font-size: 16px;
  line-height: 1;
  font-weight: 800;
}

html body.case-detail-page.campaign-reach-page .reach-step-letter.is-orange {
  background: var(--reach-orange);
}

html body.case-detail-page.campaign-reach-page .reach-change-grid h3 {
  min-height: 48px;
  margin: 18px 0 10px;
}

html body.case-detail-page.campaign-reach-page .reach-change-grid p {
  margin-bottom: 0;
}

html body.case-detail-page.campaign-reach-page .reach-change-rationale {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 22px;
  margin-top: var(--reach-space-major);
}

html body.case-detail-page.campaign-reach-page .reach-rationale-card {
  position: relative;
  overflow: hidden;
  padding: 32px;
  border: 1px solid var(--reach-line);
  border-radius: 14px;
  box-shadow: 0 16px 38px rgba(7, 24, 70, .07);
}

html body.case-detail-page.campaign-reach-page .reach-rationale-card--strategy {
  background: linear-gradient(145deg, #fbf5e9 0%, #fff 62%);
  border-top: 4px solid var(--reach-orange);
}

html body.case-detail-page.campaign-reach-page .reach-rationale-card--impact {
  background: linear-gradient(145deg, #f3f4f7 0%, #fff 62%);
  border-top: 4px solid var(--reach-blue);
}

html body.case-detail-page.campaign-reach-page .reach-rationale-head {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

html body.case-detail-page.campaign-reach-page .reach-rationale-number {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--reach-orange);
  font-size: 14px;
  line-height: 1;
  font-weight: 800;
  box-shadow: 0 8px 18px rgba(189, 141, 66, .2);
}

html body.case-detail-page.campaign-reach-page .reach-rationale-card--impact .reach-rationale-number {
  background: var(--reach-blue);
  box-shadow: 0 8px 18px rgba(25, 50, 103, .18);
}

html body.case-detail-page.campaign-reach-page .reach-rationale-head .reach-eyebrow {
  margin-bottom: 6px;
}

html body.case-detail-page.campaign-reach-page .reach-change-rationale h3 {
  margin: 0;
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.18;
}

html body.case-detail-page.campaign-reach-page .reach-rationale-intro {
  margin: 24px 0;
}

html body.case-detail-page.campaign-reach-page .reach-decision-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
}

html body.case-detail-page.campaign-reach-page .reach-decision-flow > i {
  align-self: center;
  color: var(--reach-orange);
  font-size: 24px;
  font-style: normal;
}

html body.case-detail-page.campaign-reach-page .reach-decision-option {
  padding: 18px;
  border: 1px solid var(--reach-line);
  border-radius: 10px;
  background: #fff;
}

html body.case-detail-page.campaign-reach-page .reach-decision-option > span,
html body.case-detail-page.campaign-reach-page .reach-decision-option > strong,
html body.case-detail-page.campaign-reach-page .reach-decision-option > small {
  display: block;
}

html body.case-detail-page.campaign-reach-page .reach-decision-option > span {
  margin-bottom: 8px;
  color: var(--reach-orange);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

html body.case-detail-page.campaign-reach-page .reach-decision-option.is-choice > span {
  color: var(--reach-blue);
}

html body.case-detail-page.campaign-reach-page .reach-decision-option > strong {
  margin-bottom: 7px;
  font-size: 16px;
}

html body.case-detail-page.campaign-reach-page .reach-decision-option > small {
  color: var(--reach-muted);
  font-size: 13px;
  line-height: 1.5;
}

html body.case-detail-page.campaign-reach-page .reach-change-rationale ul {
  display: grid;
  gap: 0;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

html body.case-detail-page.campaign-reach-page .reach-change-rationale li {
  position: relative;
  display: grid;
  gap: 3px;
  padding: 14px 0 14px 38px;
  border-bottom: 1px solid var(--reach-line);
}

html body.case-detail-page.campaign-reach-page .reach-change-rationale li::before {
  position: absolute;
  top: 14px;
  left: 0;
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  color: var(--reach-blue);
  background: #edf0f5;
  content: "✓";
  font-size: 13px;
  font-weight: 800;
}

html body.case-detail-page.campaign-reach-page .reach-change-rationale li strong {
  font-size: 15px;
}

html body.case-detail-page.campaign-reach-page .reach-change-rationale li span {
  color: var(--reach-muted);
  font-size: 14px;
  line-height: 1.5;
}

html body.case-detail-page.campaign-reach-page .reach-rationale-summary {
  margin: 24px 0 0;
  padding: 16px 18px;
  border-left: 3px solid var(--reach-blue);
  border-radius: 0 8px 8px 0;
  color: var(--reach-navy);
  background: #f1f2f5;
  font-weight: 700;
}

html body.case-detail-page.campaign-reach-page .reach-data-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

html body.case-detail-page.campaign-reach-page .reach-data-card,
html body.case-detail-page.campaign-reach-page .reach-data-summary {
  min-width: 0;
  min-height: 360px;
  padding: 16px;
  border: 1px solid var(--reach-line);
  border-radius: 8px;
  color: var(--reach-text);
  background: #fff;
  text-align: left;
  font: inherit;
}

html body.case-detail-page.campaign-reach-page button.reach-data-card {
  cursor: zoom-in;
  transition: border-color .2s ease, transform .2s ease;
}

html body.case-detail-page.campaign-reach-page button.reach-data-card:hover {
  border-color: var(--reach-blue);
  transform: translateY(-3px);
}

html body.case-detail-page.campaign-reach-page .reach-data-grid > * > span {
  display: block;
  min-height: 38px;
  color: var(--reach-navy);
  font-size: 14px;
  font-weight: 700;
}

html body.case-detail-page.campaign-reach-page .reach-shot-frame {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 190px;
  margin-bottom: 16px;
  border: 1px solid #e4e9f1;
  background: #f7f9fc;
}

html body.case-detail-page.campaign-reach-page .reach-data-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

html body.case-detail-page.campaign-reach-page .reach-private-mask {
  position: absolute;
  z-index: 2;
  display: block;
  border: 0;
  border-radius: 7px;
  background: rgba(255, 255, 255, .08);
  backdrop-filter: blur(13px) saturate(.72);
  -webkit-backdrop-filter: blur(13px) saturate(.72);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
}

html body.case-detail-page.campaign-reach-page .reach-private-mask-name {
  top: 58%;
  left: 7.5%;
  width: 14%;
  height: 13%;
}

html body.case-detail-page.campaign-reach-page .reach-private-mask-budget {
  top: 58%;
  left: 21.5%;
  width: 6.5%;
  height: 13%;
}

html body.case-detail-page.campaign-reach-page .reach-shot-highlight {
  position: absolute;
  z-index: 3;
  right: 10px;
  bottom: 10px;
  padding: 7px 9px;
  border: 1px solid rgba(23, 105, 232, .32);
  border-radius: 5px;
  color: var(--reach-navy);
  background: rgba(255,255,255,.96);
  font-size: 11px;
  line-height: 1.2;
}

html body.case-detail-page.campaign-reach-page .reach-shot-visibility .reach-private-mask-name {
  top: 58%;
  left: 7.5%;
  width: 14%;
}

html body.case-detail-page.campaign-reach-page .reach-data-grid > * > strong,
html body.case-detail-page.campaign-reach-page .reach-data-grid > * > small {
  display: block;
}

html body.case-detail-page.campaign-reach-page .reach-data-grid > * > strong {
  margin-bottom: 6px;
  font-size: 22px;
}

html body.case-detail-page.campaign-reach-page .reach-data-grid > * > small {
  color: var(--reach-muted);
  font-size: 13px;
  line-height: 1.5;
}

html body.case-detail-page.campaign-reach-page .reach-data-summary {
  display: flex;
  flex-direction: column;
}

html body.case-detail-page.campaign-reach-page .reach-data-bars {
  display: flex;
  height: 190px;
  align-items: flex-end;
  justify-content: center;
  gap: 14px;
  margin-bottom: 16px;
  padding: 24px;
  border-bottom: 1px solid #dbe3ef;
}

html body.case-detail-page.campaign-reach-page .reach-data-bars i {
  width: 26px;
  height: var(--h);
  border-radius: 3px 3px 0 0;
  background: var(--reach-blue);
}

html body.case-detail-page.campaign-reach-page .reach-data-bars i:nth-child(even) {
  background: var(--reach-orange);
}

html body.case-detail-page.campaign-reach-page .reach-results-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

html body.case-detail-page.campaign-reach-page .reach-results-grid article {
  position: relative;
  overflow: hidden;
  min-height: 150px;
  padding: 24px;
  border: 1px solid var(--reach-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(7, 29, 77, .04);
}

html body.case-detail-page.campaign-reach-page .reach-results-grid article::before {
  position: absolute;
  top: 0;
  left: 24px;
  width: 38px;
  height: 3px;
  border-radius: 0 0 3px 3px;
  background: var(--reach-orange);
  content: "";
}

html body.case-detail-page.campaign-reach-page .reach-results-grid span,
html body.case-detail-page.campaign-reach-page .reach-results-grid strong,
html body.case-detail-page.campaign-reach-page .reach-results-grid small {
  display: block;
}

html body.case-detail-page.campaign-reach-page .reach-results-grid span {
  min-height: 44px;
  color: var(--reach-muted);
  font-size: 13px;
  line-height: 1.4;
}

html body.case-detail-page.campaign-reach-page .reach-results-grid strong {
  margin: 8px 0 5px;
  font-size: clamp(21px, 2.3vw, 30px);
  line-height: 1.15;
}

html body.case-detail-page.campaign-reach-page .reach-results-grid small {
  color: #13843a;
  font-size: 13px;
  font-weight: 750;
}

html body.case-detail-page.campaign-reach-page .reach-results-grid small.is-neutral {
  color: var(--reach-orange);
}

html body.case-detail-page.campaign-reach-page .reach-takeaway {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  margin-top: var(--reach-space-major);
  padding: 28px;
  border: 1px solid var(--reach-line);
  border-top: 3px solid var(--reach-orange);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(7, 24, 70, .06);
}

html body.case-detail-page.campaign-reach-page .reach-takeaway > span {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--reach-orange);
  font-size: 30px;
}

html body.case-detail-page.campaign-reach-page .reach-takeaway h2 {
  margin-bottom: 6px;
  font-size: 26px;
}

html body.case-detail-page.campaign-reach-page .reach-takeaway p {
  margin-bottom: 8px;
}

html body.case-detail-page.campaign-reach-page .reach-takeaway strong {
  color: var(--reach-navy);
}

html body.case-detail-page.campaign-reach-page .reach-cta {
  padding: var(--reach-space-section) 0;
}

html body.case-detail-page.campaign-reach-page .reach-cta-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 20px;
  align-items: center;
  padding: 24px 28px;
  border: 1px solid #f0ccb4;
  border-radius: 8px;
  background: var(--reach-soft-orange);
}

html body.case-detail-page.campaign-reach-page .reach-cta h2 {
  margin-bottom: 4px;
  font-size: 24px;
}

html body.case-detail-page.campaign-reach-page .reach-cta p {
  margin-bottom: 0;
}

html body.case-detail-page.campaign-reach-page .reach-cta .button {
  white-space: nowrap;
}

html body.case-detail-page.campaign-reach-page .reach-case-redesign .case-more-section {
  padding: var(--reach-space-section) 0;
  border-top: 1px solid #edf1f6;
}

html body.case-detail-page.campaign-reach-page .reach-image-modal {
  position: fixed;
  z-index: 10020;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(13, 24, 43, .72);
}

html body.case-detail-page.campaign-reach-page .reach-image-modal.is-open {
  display: flex;
}

html body.case-detail-page.campaign-reach-page .reach-modal-shot {
  position: relative;
  overflow: hidden;
  width: min(1400px, 94vw);
  max-height: 86vh;
  background: #fff;
  isolation: isolate;
}

html body.case-detail-page.campaign-reach-page .reach-image-modal img {
  display: block;
  width: 100%;
  max-height: 86vh;
  object-fit: contain;
  background: #fff;
  opacity: 1;
  filter: none;
  mix-blend-mode: normal;
}

html body.case-detail-page.campaign-reach-page .reach-modal-shot .reach-private-mask-name {
  top: 59%;
  left: 7.5%;
  width: 14%;
  height: 13%;
}

html body.case-detail-page.campaign-reach-page .reach-modal-shot .reach-private-mask-budget {
  top: 59%;
  left: 21.5%;
  width: 6.5%;
  height: 13%;
}

html body.case-detail-page.campaign-reach-page .reach-modal-shot .reach-shot-highlight {
  right: 18px;
  bottom: 18px;
  padding: 10px 13px;
  font-size: 14px;
}

html body.case-detail-page.campaign-reach-page .reach-image-modal button {
  position: absolute;
  top: 20px;
  right: 24px;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 50%;
  color: #fff;
  background: transparent;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 980px) {
  html body.case-detail-page.campaign-reach-page .reach-intro-grid,
  html body.case-detail-page.campaign-reach-page .reach-company-grid,
  html body.case-detail-page.campaign-reach-page .reach-work-grid,
  html body.case-detail-page.campaign-reach-page .reach-change-rationale {
    grid-template-columns: 1fr;
  }

  html body.case-detail-page.campaign-reach-page .reach-ads-preview {
    max-width: 620px;
  }

  html body.case-detail-page.campaign-reach-page .reach-company-facts,
  html body.case-detail-page.campaign-reach-page .reach-issue-grid,
  html body.case-detail-page.campaign-reach-page .reach-data-grid,
  html body.case-detail-page.campaign-reach-page .reach-results-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html body.case-detail-page.campaign-reach-page .reach-change-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html body.case-detail-page.campaign-reach-page .reach-cta-inner {
    grid-template-columns: auto 1fr;
  }

  html body.case-detail-page.campaign-reach-page .reach-cta .button {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 640px) {
  html body.case-detail-page.campaign-reach-page .reach-case-redesign {
    --reach-space-section: 54px;
    --reach-space-heading: 28px;
    --reach-space-major: 44px;
    --reach-space-copy: 16px;
  }

  html body.case-detail-page.campaign-reach-page .page-header .nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px 12px;
    width: min(100% - 28px, 1180px);
    min-height: 0;
    padding-block: 10px 8px;
  }

  html body.case-detail-page.campaign-reach-page .page-header .brand {
    min-width: 0;
    column-gap: 9px;
  }

  html body.case-detail-page.campaign-reach-page .page-header .brand-symbol {
    width: 24px;
  }

  html body.case-detail-page.campaign-reach-page .page-header .brand-separator {
    height: 28px;
  }

  html body.case-detail-page.campaign-reach-page .page-header .brand-copy {
    gap: 4px;
  }

  html body.case-detail-page.campaign-reach-page .page-header .brand strong {
    font-size: .98rem;
  }

  html body.case-detail-page.campaign-reach-page .page-header .brand-copy > span {
    overflow: hidden;
    max-width: 185px;
    font-size: .68rem;
    text-overflow: ellipsis;
  }

  html body.case-detail-page.campaign-reach-page .page-header .nav-actions {
    gap: 8px;
  }

  html body.case-detail-page.campaign-reach-page .page-header .header-phone > span:last-child {
    display: none;
  }

  html body.case-detail-page.campaign-reach-page .page-header .phone-icon {
    width: 32px;
    height: 32px;
  }

  html body.case-detail-page.campaign-reach-page .page-header .page-nav {
    grid-column: 1 / -1;
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 18px;
    overflow-x: auto;
    padding: 2px 0 1px;
    scrollbar-width: none;
  }

  html body.case-detail-page.campaign-reach-page .page-header .page-nav::-webkit-scrollbar {
    display: none;
  }

  html body.case-detail-page.campaign-reach-page .page-header .page-nav a {
    flex: 0 0 auto;
    padding: 4px 0;
    font-size: 13px;
    white-space: nowrap;
  }

  html body.case-detail-page.campaign-reach-page .reach-case-redesign .container {
    width: min(100% - 28px, 1180px);
  }

  html body.case-detail-page.campaign-reach-page .reach-intro {
    padding: 22px 0 46px;
  }

  html body.case-detail-page.campaign-reach-page .reach-back {
    margin-bottom: 30px;
  }

  html body.case-detail-page.campaign-reach-page .reach-intro h1 {
    font-size: clamp(38px, 11vw, 50px);
  }

  html body.case-detail-page.campaign-reach-page .reach-section,
  html body.case-detail-page.campaign-reach-page .reach-band {
    padding: var(--reach-space-section) 0;
  }

  html body.case-detail-page.campaign-reach-page .reach-company-facts,
  html body.case-detail-page.campaign-reach-page .reach-issue-grid,
  html body.case-detail-page.campaign-reach-page .reach-change-grid,
  html body.case-detail-page.campaign-reach-page .reach-data-grid,
  html body.case-detail-page.campaign-reach-page .reach-results-grid {
    grid-template-columns: 1fr;
  }

  html body.case-detail-page.campaign-reach-page .reach-process {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  html body.case-detail-page.campaign-reach-page .reach-process i {
    display: none;
  }

  html body.case-detail-page.campaign-reach-page .reach-change-grid article {
    min-height: 0;
  }

  html body.case-detail-page.campaign-reach-page .reach-change-grid h3 {
    min-height: 0;
  }

  html body.case-detail-page.campaign-reach-page .reach-change-rationale {
    margin-top: var(--reach-space-major);
  }

  html body.case-detail-page.campaign-reach-page .reach-rationale-card {
    padding: 24px 20px;
  }

  html body.case-detail-page.campaign-reach-page .reach-rationale-head {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
  }

  html body.case-detail-page.campaign-reach-page .reach-rationale-number {
    width: 42px;
    height: 42px;
  }

  html body.case-detail-page.campaign-reach-page .reach-decision-flow {
    grid-template-columns: 1fr;
  }

  html body.case-detail-page.campaign-reach-page .reach-decision-flow > i {
    transform: rotate(90deg);
    justify-self: center;
  }

  html body.case-detail-page.campaign-reach-page .reach-takeaway,
  html body.case-detail-page.campaign-reach-page .reach-cta-inner {
    grid-template-columns: 1fr;
  }

  html body.case-detail-page.campaign-reach-page .reach-takeaway {
    margin-top: var(--reach-space-major);
  }

  html body.case-detail-page.campaign-reach-page .reach-cta .button {
    grid-column: 1;
  }

  html body.case-detail-page.campaign-reach-page .reach-image-modal {
    padding: 12px;
  }
}

/* Smart Bidding case study: compact reference-aligned layout */
html body.smart-bidding-page {
  --smart-navy: #071846;
  --smart-blue: #1767d8;
  --smart-orange: #e66b19;
  --smart-green: #15945f;
  --smart-ink: #4c5c78;
  --smart-line: #dce4ef;
  background: #fff;
}

html body.smart-bidding-page main { overflow: hidden; }
html body.smart-bidding-page main section { background: #fff; }
html body.smart-bidding-page .container { width: min(1180px, calc(100% - 40px)); }

html body.smart-bidding-page .campaign-reach-hero { padding: 28px 0 42px; }
html body.smart-bidding-page .case-study-topline { margin-bottom: 26px; }
html body.smart-bidding-page .case-study-tag { display: none; }
html body.smart-bidding-page .campaign-reach-hero-grid {
  grid-template-columns: minmax(0, .82fr) minmax(560px, 1.18fr);
  gap: 34px;
  align-items: start;
}
html body.smart-bidding-page .campaign-reach-copy { padding-top: 10px; }
html body.smart-bidding-page .campaign-kicker {
  margin: 0 0 14px;
  color: var(--smart-orange);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
html body.smart-bidding-page .campaign-kicker span::before { content: "  ·  "; }
html body.smart-bidding-page .campaign-reach-copy h1 {
  max-width: 470px;
  margin: 0 0 18px;
  color: var(--smart-navy);
  font-size: clamp(42px, 4vw, 62px);
  line-height: 1.02;
  letter-spacing: 0;
}
html body.smart-bidding-page .campaign-reach-copy h1 span { color: var(--smart-orange); }
html body.smart-bidding-page .campaign-reach-copy > p:not(.campaign-kicker) {
  max-width: 500px;
  margin: 0 0 24px;
  color: var(--smart-ink);
  font-size: 17px;
  line-height: 1.65;
}
html body.smart-bidding-page .campaign-meta-chips {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 0 0 22px;
}
html body.smart-bidding-page .campaign-meta-chips span {
  min-width: 0;
  gap: 8px;
  color: var(--smart-navy);
  font-size: 12px;
  line-height: 1.35;
}
html body.smart-bidding-page .campaign-meta-chips svg,
html body.smart-bidding-page .campaign-meta-chips img { width: 27px; height: 27px; flex: 0 0 27px; }
html body.smart-bidding-page .smart-readiness-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
html body.smart-bidding-page .smart-readiness-strip span {
  min-height: 62px;
  padding: 10px;
  border: 1px solid var(--smart-line);
  border-radius: 7px;
  color: var(--smart-navy);
  background: #fff;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.35;
}
html body.smart-bidding-page .smart-readiness-strip svg { width: 22px; height: 22px; }

html body.smart-bidding-page .smart-dashboard {
  min-height: 0;
  border: 1px solid #cfdae9;
  border-radius: 8px;
  box-shadow: none;
}
html body.smart-bidding-page .smart-dashboard .campaign-ads-topbar { min-height: 52px; padding: 10px 14px; }
html body.smart-bidding-page .smart-dashboard .campaign-ads-sidebar { padding: 16px 10px; }
html body.smart-bidding-page .smart-dashboard .campaign-ads-main { padding: 16px; }
html body.smart-bidding-page .smart-dashboard .campaign-ads-head h2 { font-size: 26px; }
html body.smart-bidding-page .smart-dashboard .campaign-kpi-grid article { min-height: 106px; padding: 12px; }
html body.smart-bidding-page .smart-dashboard .campaign-chart-area { min-height: 220px; }

html body.smart-bidding-page .campaign-context-section,
html body.smart-bidding-page .campaign-changes-section,
html body.smart-bidding-page .campaign-results-section,
html body.smart-bidding-page .campaign-insight-section { padding: 34px 0; }
html body.smart-bidding-page .campaign-three-grid {
  display: grid;
  grid-template-columns: .88fr .9fr 1.6fr;
  gap: 0;
  border-top: 1px solid var(--smart-line);
  border-bottom: 1px solid var(--smart-line);
}
html body.smart-bidding-page .campaign-info-card {
  min-width: 0;
  padding: 30px 28px;
  border: 0;
  border-right: 1px solid var(--smart-line);
  border-radius: 0;
  box-shadow: none;
}
html body.smart-bidding-page .campaign-info-card:last-child { border-right: 0; }
html body.smart-bidding-page .campaign-info-card::after { display: none; }
html body.smart-bidding-page .campaign-info-card h2,
html body.smart-bidding-page .campaign-section-heading h2 {
  color: var(--smart-navy);
  font-size: 24px;
  line-height: 1.15;
}
html body.smart-bidding-page .campaign-info-card > p,
html body.smart-bidding-page .campaign-section-heading p { color: var(--smart-ink); font-size: 14px; line-height: 1.6; }
html body.smart-bidding-page .campaign-step {
  width: 30px;
  height: 30px;
  border-radius: 5px;
  background: var(--smart-blue);
  color: #fff;
  font-size: 12px;
}
html body.smart-bidding-page .campaign-info-card:nth-child(2) .campaign-step { background: var(--smart-orange); }
html body.smart-bidding-page .campaign-context-list { gap: 14px; }
html body.smart-bidding-page .campaign-context-list div { padding-left: 28px; }
html body.smart-bidding-page .campaign-context-list dt { color: var(--smart-blue); font-size: 12px; }
html body.smart-bidding-page .campaign-context-list dd,
html body.smart-bidding-page .campaign-issue-list li { color: var(--smart-ink); font-size: 13px; line-height: 1.45; }
html body.smart-bidding-page .smart-finding-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
html body.smart-bidding-page .smart-finding-cards article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--smart-line);
  border-radius: 7px;
  background: #fff;
}
html body.smart-bidding-page .smart-finding-cards article::before { content: "+"; color: var(--smart-orange); margin-right: 6px; }
html body.smart-bidding-page .smart-finding-cards span { color: var(--smart-orange); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
html body.smart-bidding-page .smart-finding-cards strong { margin-top: 9px; color: var(--smart-navy); font-size: 13px; line-height: 1.35; }
html body.smart-bidding-page .smart-finding-cards p { margin-top: 6px; color: var(--smart-ink); font-size: 11px; line-height: 1.45; }

html body.smart-bidding-page .smart-manual-section { padding: 0 0 34px; }
html body.smart-bidding-page .smart-manual-band {
  display: grid;
  grid-template-columns: auto minmax(260px, 1.3fr) minmax(420px, 1fr);
  gap: 22px;
  align-items: center;
  padding: 22px 26px;
  border: 1px solid #cfe0f5;
  border-radius: 8px;
}
html body.smart-bidding-page .smart-manual-icon {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 50%;
  background: #edf4fe;
}
html body.smart-bidding-page .smart-manual-icon svg { width: 28px; fill: none; stroke: var(--smart-blue); stroke-width: 1.8; }
html body.smart-bidding-page .smart-manual-band h2 { margin: 0 0 7px; color: var(--smart-navy); font-size: 20px; }
html body.smart-bidding-page .smart-manual-band p { margin: 0; color: var(--smart-ink); font-size: 13px; line-height: 1.55; }
html body.smart-bidding-page .smart-manual-band ul { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; }
html body.smart-bidding-page .smart-manual-band li { padding: 8px 14px; border-left: 1px solid var(--smart-line); color: var(--smart-navy); font-size: 11px; font-weight: 650; line-height: 1.35; text-align: center; }

html body.smart-bidding-page .campaign-section-card {
  padding: 28px;
  border: 1px solid var(--smart-line);
  border-radius: 8px;
  box-shadow: none;
}
html body.smart-bidding-page .campaign-section-heading { margin-bottom: 22px; }
html body.smart-bidding-page .smart-strategy-flow { gap: 10px; }
html body.smart-bidding-page .smart-strategy-flow article { min-height: 128px; padding: 16px 10px; border-radius: 7px; }
html body.smart-bidding-page .smart-strategy-flow span { font-size: 12px; }
html body.smart-bidding-page .smart-solved-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
html body.smart-bidding-page .smart-action-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
html body.smart-bidding-page .smart-action-list article { padding: 15px; border-radius: 7px; }
html body.smart-bidding-page .smart-action-list article:last-child { grid-column: 1 / -1; }
html body.smart-bidding-page .smart-action-list strong,
html body.smart-bidding-page .smart-before-after h3 { color: var(--smart-navy); font-size: 13px; }
html body.smart-bidding-page .smart-action-list p,
html body.smart-bidding-page .smart-table-row { font-size: 11px; line-height: 1.4; }
html body.smart-bidding-page .smart-results-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
html body.smart-bidding-page .smart-results-grid article { min-height: 132px; padding: 18px; border-radius: 7px; }
html body.smart-bidding-page .smart-results-grid strong { color: var(--smart-navy); font-size: 30px; }
html body.smart-bidding-page .smart-results-grid small { color: var(--smart-green); }
html body.smart-bidding-page .smart-results-story { display: none; }
html body.smart-bidding-page .campaign-insight-grid { gap: 16px; }
html body.smart-bidding-page .campaign-insight-card,
html body.smart-bidding-page .campaign-related-card { padding: 22px; border-radius: 8px; box-shadow: none; }
html body.smart-bidding-page .campaign-bottom-cta-grid { border-radius: 8px; box-shadow: none; }

@media (max-width: 980px) {
  html body.smart-bidding-page .campaign-reach-hero-grid { grid-template-columns: 1fr; }
  html body.smart-bidding-page .campaign-three-grid { grid-template-columns: 1fr; }
  html body.smart-bidding-page .campaign-info-card { border-right: 0; border-bottom: 1px solid var(--smart-line); }
  html body.smart-bidding-page .campaign-info-card:last-child { border-bottom: 0; }
  html body.smart-bidding-page .smart-manual-band { grid-template-columns: auto 1fr; }
  html body.smart-bidding-page .smart-manual-band ul { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  html body.smart-bidding-page .container { width: min(100% - 28px, 1180px); }
  html body.smart-bidding-page .campaign-reach-copy h1 { font-size: 42px; }
  html body.smart-bidding-page .campaign-meta-chips,
  html body.smart-bidding-page .smart-readiness-strip,
  html body.smart-bidding-page .smart-finding-cards,
  html body.smart-bidding-page .smart-solved-grid,
  html body.smart-bidding-page .smart-action-list,
  html body.smart-bidding-page .smart-results-grid { grid-template-columns: 1fr; }
  html body.smart-bidding-page .smart-action-list article:last-child { grid-column: auto; }
  html body.smart-bidding-page .smart-manual-band { grid-template-columns: 1fr; padding: 20px; }
  html body.smart-bidding-page .smart-manual-band ul { grid-column: auto; grid-template-columns: 1fr; }
  html body.smart-bidding-page .smart-manual-band li { border-left: 0; border-top: 1px solid var(--smart-line); text-align: left; }
}

/* Smart Bidding: readable type and resilient card content */
html body.smart-bidding-page .campaign-three-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.55fr);
}

html body.smart-bidding-page :is(
  .campaign-info-card,
  .smart-finding-cards article,
  .smart-manual-band,
  .smart-strategy-flow article,
  .smart-action-list article,
  .smart-before-after,
  .smart-results-grid article
) {
  min-width: 0;
  height: auto;
  overflow: visible;
}

html body.smart-bidding-page :is(
  .campaign-info-card,
  .smart-finding-cards,
  .smart-manual-band,
  .smart-strategy-flow,
  .smart-action-list,
  .smart-before-after,
  .smart-results-grid
) :is(h2, h3, p, li, dt, dd, span, strong, small) {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
}

html body.smart-bidding-page .campaign-info-card > p,
html body.smart-bidding-page .campaign-section-heading p {
  font-size: 15px;
  line-height: 1.6;
}

html body.smart-bidding-page .campaign-context-list dt {
  font-size: 13px;
  line-height: 1.35;
}

html body.smart-bidding-page .campaign-context-list dd,
html body.smart-bidding-page .campaign-issue-list li {
  font-size: 14px;
  line-height: 1.5;
}

html body.smart-bidding-page .smart-finding-cards span {
  font-size: 11px;
  line-height: 1.35;
}

html body.smart-bidding-page .smart-finding-cards strong {
  display: block;
  font-size: 14px;
  line-height: 1.4;
}

html body.smart-bidding-page .smart-finding-cards p {
  font-size: 13px;
  line-height: 1.5;
}

html body.smart-bidding-page .smart-manual-band p {
  font-size: 14px;
  line-height: 1.55;
}

html body.smart-bidding-page .smart-manual-band li {
  font-size: 12.5px;
  line-height: 1.4;
}

html body.smart-bidding-page .smart-strategy-flow span {
  font-size: 13px;
  line-height: 1.4;
}

html body.smart-bidding-page .smart-action-list strong,
html body.smart-bidding-page .smart-before-after h3 {
  font-size: 14px;
  line-height: 1.4;
}

html body.smart-bidding-page .smart-action-list p,
html body.smart-bidding-page .smart-table-row {
  font-size: 13px;
  line-height: 1.45;
}

html body.smart-bidding-page .smart-table-row {
  grid-template-columns: minmax(110px, 1.35fr) repeat(3, minmax(58px, .72fr));
  gap: 8px;
}

html body.smart-bidding-page .smart-results-grid :is(span, small) {
  font-size: 13px;
  line-height: 1.4;
}

html body.smart-bidding-page .smart-dashboard .campaign-kpi-grid article {
  min-width: 0;
  height: auto;
  min-height: 112px;
  overflow: visible;
}

html body.smart-bidding-page .smart-dashboard .campaign-kpi-grid article :is(span, strong, small) {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
}

@media (max-width: 1100px) and (min-width: 981px) {
  html body.smart-bidding-page .campaign-three-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html body.smart-bidding-page .campaign-info-card:nth-child(2) {
    border-right: 0;
  }

  html body.smart-bidding-page .smart-found-card {
    grid-column: 1 / -1;
    border-top: 1px solid var(--smart-line);
  }
}

@media (max-width: 980px) {
  html body.smart-bidding-page .campaign-three-grid {
    grid-template-columns: 1fr;
  }
}

html {
  background: var(--site-white);
}

body {
  font-family: var(--site-font) !important;
  color: var(--site-text);
  background: var(--site-white) !important;
  font-size: var(--type-body);
  font-weight: 500;
  line-height: 1.66;
  letter-spacing: 0;
}

main,
.page,
.case-page,
.case-detail-page,
.case-index-page,
.articles-page,
.insights-page {
  background-color: var(--site-white);
}

:where(input, textarea, select, button) {
  font-family: var(--site-font) !important;
  letter-spacing: 0;
}

:where(p, li, dd, td, th, label, input, textarea, select) {
  color: var(--site-text);
  font-size: inherit;
  font-weight: 500;
  line-height: 1.66;
  letter-spacing: 0;
}

:where(p) {
  margin-top: 0;
}

:where(p + p) {
  margin-top: 14px;
}

:where(h1, h2, h3, h4) {
  font-family: var(--site-font) !important;
  color: var(--site-navy) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  margin-top: 0;
}

:where(h1) {
  font-size: var(--type-h1) !important;
  line-height: 1.08 !important;
  margin-bottom: clamp(22px, 2.2vw, 34px);
}

:where(h2) {
  font-size: var(--type-h2) !important;
  line-height: 1.14 !important;
  margin-bottom: clamp(16px, 1.8vw, 24px);
}

:where(h3) {
  font-size: var(--type-h3) !important;
  line-height: 1.22 !important;
  margin-bottom: 12px;
}

:where(h4) {
  font-size: var(--type-h4) !important;
  line-height: 1.28 !important;
  margin-bottom: 10px;
}

:where(h1 > span, h2 > span, .orange, .accent, .footer-heading-accent, .headline-support) {
  color: var(--site-orange) !important;
}

:where(.eyebrow, .section-kicker, .tag, .case-study-tag, .case-more-eyebrow, .case-filter, .case-tag, .case-kicker, .migration-kicker, .campaign-kicker) {
  color: var(--site-orange) !important;
  font-family: var(--site-font) !important;
  font-size: 0.78rem !important;
  font-weight: 760 !important;
  letter-spacing: 0.1em !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

:where(.hero-lead, .case-lead, .case-index-lead, .section-head p, .article-hero p, .policy-hero p, .audit-note, .lead-form-panel > p, .lead-form-subtitle) {
  color: var(--site-text) !important;
  font-size: clamp(16px, 1.15vw, 19px) !important;
  font-weight: 500 !important;
  line-height: 1.68 !important;
}

:where(.card p, .service-card p, .case-card p, .problem-card p, .article-main p, .sidebar p, .footer-brand p, .page-footer p, .site-footer p, .policy-card p) {
  color: var(--site-text) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.66 !important;
}

:where(a) {
  color: inherit;
}

:where(a:not(.button):not(.button-primary):not(.button-secondary):not(.button-orange):not(.case-back-link):not(.footer-social):not(.brand):not(.brand-text):not(.footer-brand-mark):not(.action-button):not(.contact-widget-toggle):not(.contact-widget-link)) {
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

:where(.button, .button-primary, .button-orange, .audit-form-card .button, .lead-form .button, .policy-footer-link, .facebook-link) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px;
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--site-orange), var(--site-orange-dark)) !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-size: var(--type-button) !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

:where(.button, .button-primary, .button-orange, .audit-form-card .button, .lead-form .button, .policy-footer-link, .facebook-link):hover,
:where(.button, .button-primary, .button-orange, .audit-form-card .button, .lead-form .button, .policy-footer-link, .facebook-link):focus-visible {
  background: linear-gradient(135deg, #f07a27, var(--site-orange-dark)) !important;
  transform: translateY(-1px);
}

:where(.lead-form [hidden], .lead-form-modal [hidden], .form-field[hidden]) {
  display: none !important;
}

:where(.button-secondary, .case-more-link, .site-back-link, .case-back-link) {
  color: var(--site-navy) !important;
  background: var(--site-white) !important;
  border: 1px solid var(--site-line) !important;
  box-shadow: none !important;
  font-size: var(--type-button) !important;
  font-weight: 720 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

:where(.button-secondary, .case-more-link, .site-back-link, .case-back-link):hover,
:where(.button-secondary, .case-more-link, .site-back-link, .case-back-link):focus-visible {
  color: var(--site-orange) !important;
  border-color: rgba(224, 111, 32, 0.38) !important;
}

html body.case-detail-page .case-more-section {
  padding: clamp(34px, 4.2vw, 58px) 0 clamp(44px, 5vw, 72px) !important;
  background: #ffffff !important;
}

html body.case-detail-page .case-more-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(24px, 4vw, 64px) !important;
  padding: clamp(12px, 1.4vw, 18px) 0 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-top: 1px solid rgba(22, 60, 120, 0.12) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.case-detail-page .case-more-copy {
  max-width: 620px !important;
  gap: 10px !important;
}

html body.case-detail-page .case-more-eyebrow {
  color: var(--site-orange, #e06f20) !important;
}

html body.case-detail-page .case-more-copy h2 {
  max-width: 560px !important;
  color: var(--site-navy, #163C78) !important;
  font-size: clamp(30px, 3vw, 44px) !important;
  line-height: 1.08 !important;
  font-weight: 720 !important;
}

html body.case-detail-page .case-more-copy p {
  max-width: 620px !important;
  color: var(--site-body, #33415d) !important;
  font-size: clamp(16px, 1.2vw, 18px) !important;
  line-height: 1.62 !important;
}

html body.case-detail-page .case-more-link {
  min-height: 50px !important;
  padding: 15px 24px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--site-orange, #e06f20), var(--site-orange-dark, #c8510d)) !important;
  border: 1px solid rgba(224, 111, 32, 0.42) !important;
  border-radius: 999px !important;
  box-shadow: 0 16px 30px rgba(224, 111, 32, 0.16) !important;
  font-size: var(--type-button, 15px) !important;
  font-weight: 760 !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease !important;
}

html body.case-detail-page .case-more-link::after {
  content: "\2192";
  display: inline-block;
  margin-left: 2px;
  transition: transform 0.22s ease;
}

html body.case-detail-page .case-more-link:hover,
html body.case-detail-page .case-more-link:focus-visible {
  color: #ffffff !important;
  background: linear-gradient(135deg, #f07a27, var(--site-orange-dark, #c8510d)) !important;
  border-color: rgba(224, 111, 32, 0.58) !important;
  box-shadow: 0 20px 36px rgba(224, 111, 32, 0.2) !important;
  transform: translateY(-2px) !important;
}

html body.case-detail-page .case-more-link:hover::after,
html body.case-detail-page .case-more-link:focus-visible::after {
  transform: translateX(4px);
}

@media (max-width: 760px) {
  html body.case-detail-page .case-more-inner {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  html body.case-detail-page .case-more-link {
    width: 100% !important;
  }
}

:where(.page-nav a, .nav-links a, .footer-link-arrow, .footer-contact-link, .contact-widget-link) {
  color: var(--site-text) !important;
  font-weight: 600 !important;
}

:where(.page-nav a:hover, .nav-links a:hover, .footer-link-arrow:hover, .footer-contact-link:hover, .contact-widget-link:hover) {
  color: var(--site-orange) !important;
}

:where(.page-header, .site-header) {
  background: rgba(255, 255, 255, 0.94) !important;
  border-bottom-color: rgba(7, 24, 70, 0.08) !important;
}

:where(.brand strong, .brand-name, .footer-brand-name, .footer-col h3, .contact-card h3, .service-card h3, .problem-card h3, .case-card h2, .case-card h3) {
  color: var(--site-navy) !important;
}

:where(.brand-separator, .footer-brand-separator, .footer-brand-mark .footer-brand-separator, .footer-brand-symbol + span) {
  background: var(--site-orange) !important;
}

:where(.phone-icon, .contact-widget-toggle) {
  background: var(--site-orange) !important;
  box-shadow: none !important;
}

:where(.card, .service-card, .case-card, .problem-card, .cta-card, .policy-card, .audit-check-card, .lead-form-panel, .thank-card, .facebook-card) {
  border-color: rgba(7, 24, 70, 0.12) !important;
}

:where(.language-switcher button, .thank-language button) {
  color: var(--site-text) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
}

:where(.language-switcher button.is-active, .thank-language button.is-active) {
  color: var(--site-navy) !important;
  border-color: rgba(224, 111, 32, 0.4) !important;
  background: rgba(224, 111, 32, 0.1) !important;
}

:where(input, textarea, select) {
  color: var(--site-navy) !important;
  border-color: var(--site-line) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

:where(input::placeholder, textarea::placeholder) {
  color: rgba(70, 87, 115, 0.72) !important;
}

@media (max-width: 760px) {
  :root {
    --type-h1: clamp(34px, 11vw, 46px);
    --type-h2: clamp(26px, 8vw, 36px);
    --type-h3: clamp(19px, 5vw, 24px);
  }

  body {
    font-size: 15.5px;
  }

  :where(.button, .button-primary, .button-orange, .button-secondary) {
    min-height: 46px;
    padding: 12px 18px;
  }
}

/* Final specificity pass for older page-specific rules. */
html body,
html body.case-detail-page,
html body.case-index-page,
html body.articles-page,
html body.insights-page,
html body.campaign-reach-page,
html body.migration-case-page,
html body.migration-showcase-page,
html body.attribution-case-page,
html body.launch-case-page,
html body.smart-bidding-page {
  color: var(--site-text) !important;
}

html body h1,
html body h2,
html body h3,
html body h4 {
  color: var(--site-navy) !important;
  font-family: var(--site-font) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

html body h1 {
  font-size: var(--type-h1) !important;
  line-height: 1.08 !important;
}

html body h2 {
  font-size: var(--type-h2) !important;
  line-height: 1.14 !important;
}

html body h3 {
  font-size: var(--type-h3) !important;
  line-height: 1.22 !important;
}

html body h4 {
  font-size: var(--type-h4) !important;
  line-height: 1.28 !important;
}

html body h1 > span,
html body h1 > strong,
html body h2 > span,
html body .orange,
html body .accent,
html body .footer-heading-accent,
html body .headline-support {
  color: var(--site-orange) !important;
}

/* Shared footer system for every page, including simple/utility pages. */
html body .site-footer {
  background: var(--site-white) !important;
  border-top: 1px solid rgba(7, 24, 70, 0.1) !important;
  color: var(--site-text) !important;
}

html body .site-footer .footer-main {
  padding: clamp(42px, 5vw, 68px) 0 !important;
}

html body .site-footer .container,
html body .site-footer .footer-main-grid {
  width: min(1120px, calc(100% - 48px));
  max-width: 1120px;
  margin-inline: auto;
}

html body .site-footer .footer-main-grid {
  display: grid !important;
  grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(150px, 0.75fr));
  gap: clamp(24px, 3vw, 44px);
  align-items: start;
}

html body .site-footer .footer-brand-mark {
  display: inline-grid !important;
  grid-template-columns: auto auto auto;
  gap: 14px;
  align-items: center;
  color: var(--site-navy) !important;
  text-decoration: none !important;
}

html body .site-footer .footer-brand-symbol,
html body .site-footer .footer-infinity {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 34px;
  min-width: 34px;
  color: var(--site-navy) !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

html body .site-footer .footer-brand-separator {
  width: 1px !important;
  height: 42px !important;
  background: rgba(7, 24, 70, 0.2) !important;
}

html body .site-footer .footer-brand-copy {
  display: grid !important;
  gap: 3px;
}

html body .site-footer .footer-brand-name {
  color: var(--site-navy) !important;
  font-size: 18px !important;
  font-weight: 760 !important;
  line-height: 1.1 !important;
}

html body .site-footer .footer-brand-line {
  color: var(--site-text) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}

html body .site-footer .footer-brand p {
  max-width: 340px;
  margin: 18px 0 0 !important;
  color: var(--site-text) !important;
}

html body .site-footer .footer-socials {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

html body .site-footer .footer-social {
  display: inline-flex !important;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(7, 24, 70, 0.14) !important;
  border-radius: 999px;
  background: var(--site-white) !important;
  color: var(--site-navy) !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

html body .site-footer .footer-social svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html body .site-footer .footer-social:hover,
html body .site-footer .footer-social:focus-visible {
  color: var(--site-orange) !important;
  border-color: rgba(224, 111, 32, 0.45) !important;
  transform: translateY(-1px);
}

html body .site-footer .footer-col h3 {
  color: var(--site-navy) !important;
  font-size: 14px !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
  margin: 0 0 14px !important;
}

html body .site-footer .footer-col ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

html body .site-footer .footer-col a,
html body .site-footer .footer-contact-link {
  color: var(--site-text) !important;
  font-size: 14px !important;
  font-weight: 560 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
}

html body .site-footer .footer-col a:hover,
html body .site-footer .footer-col a:focus-visible,
html body .site-footer .footer-contact-link:hover,
html body .site-footer .footer-contact-link:focus-visible {
  color: var(--site-orange) !important;
}

html body .site-footer .footer-mini-contact {
  display: grid;
  gap: 10px;
}

html body .site-footer .footer-mini-contact span,
html body .site-footer .footer-bottom {
  color: var(--site-muted) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

html body .site-footer .footer-bottom {
  border-top: 1px solid rgba(7, 24, 70, 0.08) !important;
  padding: 18px 0 !important;
  background: var(--site-white) !important;
}

html body .site-footer .footer-bottom .container {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  align-items: center;
  justify-content: space-between;
}

html body .site-footer .footer-bottom a {
  color: var(--site-text) !important;
  text-decoration: none !important;
}

html body .site-footer .footer-bottom a:hover,
html body .site-footer .footer-bottom a:focus-visible {
  color: var(--site-orange) !important;
}

@media (max-width: 820px) {
  html body .site-footer .footer-main-grid {
    grid-template-columns: 1fr;
  }

  html body .site-footer .footer-bottom .container {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Final homepage hero balance: calmer scale, navy headline, tighter first viewport. */
html body .hero#top {
  padding-top: clamp(14px, 2.2vw, 34px) !important;
  padding-bottom: clamp(54px, 6vw, 82px) !important;
}

html body .hero#top .hero-inner {
  align-items: flex-start !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 430px) !important;
  gap: clamp(42px, 5vw, 84px) !important;
  padding-top: clamp(14px, 2.2vw, 30px) !important;
  padding-bottom: clamp(28px, 4vw, 54px) !important;
}

html body .hero#top .hero-copy {
  max-width: 820px !important;
  padding-top: 0 !important;
}

html body .hero#top .hero-trust-label,
html body .hero#top #hero-title {
  top: 0 !important;
}

html body .hero#top .hero-trust-label {
  margin: 0 0 clamp(18px, 2vw, 26px) !important;
  color: var(--site-blue) !important;
  font-size: clamp(16px, 1.25vw, 20px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}

html body .hero#top #hero-title {
  max-width: min(100%, 840px) !important;
  margin: 0 !important;
  color: var(--site-navy) !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

html body .hero#top #hero-title > span,
html body .hero#top #hero-title .headline-main,
html body .hero#top #hero-title .headline-support {
  display: block !important;
  color: var(--site-navy) !important;
  letter-spacing: 0 !important;
}

html body .hero#top #hero-title .headline-main {
  font-size: clamp(42px, 4.45vw, 64px) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
}

html body .hero#top #hero-title .headline-support {
  margin-top: 14px !important;
  font-size: clamp(24px, 2.35vw, 34px) !important;
  font-weight: 680 !important;
  line-height: 1.14 !important;
}

html body .hero#top .hero-lead {
  max-width: 700px !important;
  margin: clamp(32px, 3vw, 44px) 0 clamp(26px, 3vw, 36px) !important;
  color: var(--site-text) !important;
  font-size: clamp(17px, 1.35vw, 21px) !important;
  line-height: 1.6 !important;
}

html body .hero#top .hero-media {
  width: 100% !important;
  max-width: 430px !important;
  margin-top: clamp(48px, 4.8vw, 66px) !important;
  justify-self: end !important;
}

html body .hero#top .hero-photo {
  width: 100% !important;
  max-width: 430px !important;
}

html body .hero#top .hero-photo img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}

html body .hero#top .hero-actions {
  margin-bottom: clamp(30px, 3.6vw, 42px) !important;
}

html body .hero#top .proof-row {
  gap: 18px 30px !important;
}

html body .hero#top .proof-row li {
  color: var(--site-text) !important;
  font-size: clamp(15px, 1.05vw, 17px) !important;
  font-weight: 640 !important;
}

html body .hero#top .proof-row li::before {
  background-color: #fff8f2 !important;
  border-color: rgba(224, 111, 32, 0.22) !important;
  box-shadow: none !important;
}

html body .hero#top .proof-row li:nth-child(2n)::before {
  background-color: #f4f8ff !important;
  border-color: rgba(23, 103, 217, 0.18) !important;
}

/* Case Studies hero: reduce empty space and keep the intro readable. */
html body.case-index-page .case-index-hero {
  padding-top: clamp(20px, 2.2vw, 32px) !important;
  padding-bottom: clamp(22px, 2.7vw, 36px) !important;
}

html body.case-index-page .case-index-back-row {
  margin-bottom: clamp(14px, 1.8vw, 22px) !important;
}

html body.case-index-page .case-index-hero-grid {
  grid-template-columns: minmax(0, 1.55fr) minmax(360px, 0.95fr) !important;
  gap: clamp(36px, 4vw, 58px) !important;
  align-items: start !important;
}

html body.case-index-page .case-index-hero-copy {
  max-width: 780px !important;
  padding-top: 0 !important;
}

@media (min-width: 981px) {
  html body.case-index-page .case-index-hero-copy {
    padding-top: clamp(54px, 4.4vw, 64px) !important;
  }
}

html body.case-index-page .case-index-title {
  max-width: 720px !important;
  margin-bottom: 0 !important;
  font-size: clamp(38px, 3.75vw, 54px) !important;
  line-height: 1.06 !important;
}

html body.case-index-page .case-index-title span {
  margin-top: 8px !important;
}

html body.case-index-page .case-index-lead {
  max-width: 720px !important;
  margin-top: clamp(22px, 2.3vw, 30px) !important;
  margin-bottom: 0 !important;
  font-size: clamp(16px, 1.18vw, 19px) !important;
  line-height: 1.72 !important;
}

html body.case-index-page .case-tags {
  max-width: 700px !important;
  margin-top: clamp(22px, 2.2vw, 30px) !important;
  gap: 10px !important;
}

html body.case-index-page .case-tags button {
  min-height: 38px !important;
  padding: 9px 16px !important;
  font-size: 0.78rem !important;
}

html body.case-index-page .case-index-help-card {
  transform: translateY(-12px) !important;
  padding: clamp(22px, 2.2vw, 26px) !important;
}

html body.case-index-page .case-index-help-list {
  gap: 16px !important;
}

html body.case-index-page .case-index-help-item {
  gap: 14px !important;
}

html body.case-index-page .case-index-help-item-icon {
  width: 48px !important;
  height: 48px !important;
}

html body.case-index-page .case-index-help-item strong {
  font-size: 17px !important;
}

html body.case-index-page .case-index-help-item span {
  font-size: 14px !important;
}

html body.case-index-page .case-index-section {
  padding-top: clamp(18px, 2.4vw, 30px) !important;
}

/* Final page-scale polish: keep case heroes compact and backgrounds clean. */
html body :is(.shape, .dots, .confetti, .section-watermark, [class*="watermark"]) {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

html body::before,
html body::after,
html body main::before,
html body main::after,
html body main > section::before,
html body main > section::after {
  background: none !important;
  background-image: none !important;
  content: none !important;
  display: none !important;
}

html body,
html body main,
html body main > section {
  background-color: #ffffff !important;
  background-image: none !important;
}

html body.case-detail-page :is(.case-detail-hero h1, .case-hero h1, .campaign-reach-copy h1, .launch-hero-copy h1, .smart-bidding-page .campaign-reach-copy h1, .attribution-hero-copy h1, .migration-showcase-copy h1) {
  font-size: clamp(36px, 3.45vw, 52px) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

html body.case-detail-page .case-study-topline {
  margin-bottom: clamp(22px, 2.5vw, 34px) !important;
}

html body.case-detail-page.migration-showcase-page .migration-showcase-hero {
  padding-top: clamp(24px, 2.8vw, 40px) !important;
  padding-bottom: clamp(44px, 4.4vw, 62px) !important;
}

html body.case-detail-page.migration-showcase-page .migration-showcase-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(520px, 0.98fr) !important;
  align-items: start !important;
  gap: clamp(32px, 3.4vw, 50px) !important;
}

html body.case-detail-page.migration-showcase-page .migration-showcase-copy,
html body.case-detail-page.migration-showcase-page .migration-dashboard-hero,
html body.case-detail-page.migration-showcase-page .migration-dashboard-photo {
  height: auto !important;
  min-height: 0 !important;
}

html body.case-detail-page.migration-showcase-page .migration-showcase-copy h1 {
  max-width: 690px !important;
}

html body.case-detail-page.migration-showcase-page .migration-showcase-copy h1 strong {
  color: var(--site-blue) !important;
}

html body.case-detail-page.migration-showcase-page .migration-showcase-copy > p:not(.migration-kicker) {
  max-width: 640px !important;
  margin: clamp(22px, 2.2vw, 30px) 0 0 !important;
  font-size: clamp(16px, 1.1vw, 18px) !important;
  line-height: 1.68 !important;
}

html body.case-detail-page.migration-showcase-page .migration-tool-chips {
  margin-top: clamp(22px, 2.2vw, 30px) !important;
}

html body.case-detail-page.migration-showcase-page .migration-meta-line {
  margin-top: clamp(18px, 2vw, 26px) !important;
  padding-top: 0 !important;
}

html body.case-detail-page.migration-showcase-page .migration-dashboard-photo {
  padding: clamp(18px, 2vw, 24px) !important;
}

html body.case-detail-page.campaign-reach-page .campaign-reach-hero {
  padding-top: clamp(26px, 3vw, 42px) !important;
  padding-bottom: clamp(44px, 4.5vw, 64px) !important;
}

html body.case-detail-page.campaign-reach-page .campaign-reach-hero-grid {
  grid-template-columns: minmax(360px, 0.9fr) minmax(540px, 1.1fr) !important;
  align-items: start !important;
}

html body.case-detail-page.campaign-reach-page .campaign-reach-copy h1 {
  max-width: 580px !important;
}

html body.case-detail-page.campaign-reach-page .campaign-inline-cta {
  margin-top: 24px !important;
  padding: 18px !important;
}

html body.case-detail-page.campaign-reach-page .campaign-ads-card {
  max-height: 620px !important;
  overflow: hidden !important;
}

html body.case-detail-page.launch-case-page .launch-hero {
  padding-top: clamp(26px, 3vw, 42px) !important;
  padding-bottom: clamp(44px, 4.5vw, 64px) !important;
}

html body.case-detail-page.launch-case-page .launch-hero-shell {
  min-height: 0 !important;
  padding: clamp(34px, 4vw, 48px) !important;
}

html body.case-detail-page.launch-case-page .launch-hero-copy h1 {
  max-width: 700px !important;
  font-size: clamp(34px, 3.1vw, 46px) !important;
  line-height: 1.09 !important;
}

html body.case-detail-page.launch-case-page .launch-overview-grid {
  margin-top: clamp(28px, 3vw, 44px) !important;
}

@media (max-width: 1180px) {
  html body.case-detail-page.migration-showcase-page .migration-showcase-hero-grid {
    grid-template-columns: 1fr !important;
  }

  html body.case-detail-page.migration-showcase-page .migration-showcase-copy,
  html body.case-detail-page.migration-showcase-page .migration-meta-line,
  html body.case-detail-page.migration-showcase-page .migration-dashboard-hero {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.case-detail-page.migration-showcase-page .migration-meta-line {
    grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
  }
}

@media (max-width: 980px) {
  html body .hero#top .hero-inner,
  html body.case-index-page .case-index-hero-grid,
  html body.case-detail-page.migration-showcase-page .migration-showcase-hero-grid,
  html body.case-detail-page.campaign-reach-page .campaign-reach-hero-grid {
    grid-template-columns: 1fr !important;
  }

  html body .hero#top .hero-media,
  html body.case-index-page .case-index-help-card,
  html body.case-detail-page.migration-showcase-page .migration-dashboard-hero,
  html body.case-detail-page.campaign-reach-page .campaign-ads-card {
    margin-top: 0 !important;
    transform: none !important;
    justify-self: start !important;
  }

  html body.case-detail-page.campaign-reach-page .campaign-reach-copy,
  html body.case-detail-page.campaign-reach-page .campaign-ads-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.case-index-page .case-index-lead,
  html body.case-index-page .case-tags {
    max-width: 100% !important;
  }

  html body.case-detail-page.migration-showcase-page .migration-showcase-copy,
  html body.case-detail-page.migration-showcase-page .migration-meta-line {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.case-detail-page.migration-showcase-page .migration-meta-line {
    grid-template-columns: 1fr !important;
  }

  html body.case-detail-page.migration-showcase-page .migration-meta-line span {
    width: 100% !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
  }
}

@media (max-width: 640px) {
  html body .hero#top {
    padding-top: 16px !important;
  }

  html body .hero#top .hero-inner {
    padding-top: 10px !important;
    gap: 28px !important;
  }

  html body .hero#top #hero-title .headline-main {
    font-size: clamp(38px, 11vw, 52px) !important;
  }

  html body .hero#top #hero-title .headline-support {
    font-size: clamp(24px, 7vw, 32px) !important;
  }

  html body.case-index-page .case-index-title {
    font-size: clamp(38px, 11vw, 54px) !important;
  }

  html body.case-detail-page.launch-case-page .launch-hero-shell {
    padding: 0 !important;
  }

  html body.case-detail-page.launch-case-page .launch-hero-copy {
    width: 100% !important;
    max-width: none !important;
    padding: 20px !important;
    box-sizing: border-box !important;
  }

  html body.case-detail-page.launch-case-page .launch-hero-copy h1 {
    width: 100% !important;
    max-width: none !important;
    font-size: clamp(23px, 6vw, 28px) !important;
    line-height: 1.12 !important;
  }
}

/* New account case study: unified project snapshot and launch objective. */
html body.case-detail-page.launch-case-page .launch-overview-heading {
  margin: clamp(52px, 6vw, 76px) 0 26px !important;
}

html body.case-detail-page.launch-case-page .launch-overview-heading h2 {
  margin: 0 !important;
  color: var(--site-navy, #081d4d) !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

html body.case-detail-page.launch-case-page .launch-overview-heading p {
  max-width: 940px !important;
  margin: 12px 0 0 !important;
  color: var(--site-body, #4c5c78) !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
}

html body.case-detail-page.launch-case-page .launch-overview-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 24px !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
}

html body.case-detail-page.launch-case-page .launch-snapshot-card,
html body.case-detail-page.launch-case-page .launch-support-card {
  box-sizing: border-box !important;
  height: 100% !important;
  min-width: 0 !important;
  padding: 30px !important;
  border: 1px solid #dce4ef !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

html body.case-detail-page.launch-case-page .launch-support-card {
  display: block !important;
}

html body.case-detail-page.launch-case-page .launch-panel-title {
  margin: 0 !important;
  color: var(--site-navy, #081d4d) !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

html body.case-detail-page.launch-case-page .launch-snapshot-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  gap: 16px !important;
  margin: 22px 0 0 !important;
  border: 0 !important;
}

html body.case-detail-page.launch-case-page .launch-snapshot-grid article {
  display: flex !important;
  min-width: 0 !important;
  min-height: 188px !important;
  padding: 22px 18px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  border: 1px solid #dce4ef !important;
  border-radius: 8px !important;
  background: #fff !important;
  text-align: center !important;
}

html body.case-detail-page.launch-case-page .launch-snapshot-grid article > span {
  display: grid !important;
  width: 58px !important;
  height: 58px !important;
  flex: 0 0 58px !important;
  place-items: center !important;
  border: 1px solid #d7e5fb !important;
  border-radius: 50% !important;
  background: #f4f8ff !important;
  color: #1767d8 !important;
}

html body.case-detail-page.launch-case-page .launch-snapshot-grid article svg {
  width: 29px !important;
  height: 29px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body.case-detail-page.launch-case-page .launch-snapshot-grid article strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: var(--site-orange, #e66b19) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
}

html body.case-detail-page.launch-case-page .launch-snapshot-grid article p {
  margin: 0 !important;
  color: var(--site-navy, #081d4d) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  overflow-wrap: anywhere !important;
}

html body.case-detail-page.launch-case-page .launch-objective-lead {
  display: grid !important;
  grid-template-columns: 124px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 24px !important;
  margin-top: 22px !important;
  padding: 24px !important;
  border: 1px solid #c9dcfb !important;
  border-radius: 8px !important;
  background: #fff !important;
}

html body.case-detail-page.launch-case-page .launch-objective-icon {
  display: grid !important;
  min-height: 112px !important;
  place-items: center !important;
  border-right: 1px solid #dce4ef !important;
  color: #1767d8 !important;
}

html body.case-detail-page.launch-case-page .launch-objective-icon svg {
  width: 72px !important;
  height: 72px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.65 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body.case-detail-page.launch-case-page .launch-objective-lead h2 {
  margin: 0 !important;
  color: var(--site-navy, #081d4d) !important;
  font-size: clamp(24px, 2vw, 32px) !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
}

html body.case-detail-page.launch-case-page .launch-objective-lead p {
  margin: 10px 0 0 !important;
  color: var(--site-body, #4c5c78) !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

html body.case-detail-page.launch-case-page .launch-readiness-list {
  display: grid !important;
  gap: 12px !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  counter-reset: none !important;
}

html body.case-detail-page.launch-case-page .launch-readiness-list li {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) 38px !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 76px !important;
  padding: 12px 18px !important;
  border: 1px solid #dce4ef !important;
  border-radius: 8px !important;
  background: #fff !important;
}

html body.case-detail-page.launch-case-page .launch-step-number {
  display: grid !important;
  width: 44px !important;
  height: 44px !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #1767d8 !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}

html body.case-detail-page.launch-case-page .launch-readiness-list strong,
html body.case-detail-page.launch-case-page .launch-readiness-list li div > span {
  display: block !important;
}

html body.case-detail-page.launch-case-page .launch-readiness-list strong {
  color: var(--site-navy, #081d4d) !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

html body.case-detail-page.launch-case-page .launch-readiness-list li div > span {
  margin-top: 3px !important;
  color: var(--site-body, #4c5c78) !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

html body.case-detail-page.launch-case-page .launch-step-icon {
  color: #1767d8 !important;
}

html body.case-detail-page.launch-case-page .launch-step-icon svg {
  width: 32px !important;
  height: 32px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

@media (max-width: 900px) {
  html body.case-detail-page.launch-case-page .launch-overview-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  html body.case-detail-page.launch-case-page .launch-overview-heading {
    margin-top: 42px !important;
  }

  html body.case-detail-page.launch-case-page .launch-snapshot-card,
  html body.case-detail-page.launch-case-page .launch-support-card {
    padding: 20px !important;
  }

  html body.case-detail-page.launch-case-page .launch-snapshot-grid {
    grid-template-columns: 1fr !important;
  }

  html body.case-detail-page.launch-case-page .launch-snapshot-grid article {
    min-height: 0 !important;
  }

  html body.case-detail-page.launch-case-page .launch-objective-lead {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 18px !important;
  }

  html body.case-detail-page.launch-case-page .launch-objective-icon {
    min-height: 88px !important;
  }

  html body.case-detail-page.launch-case-page .launch-objective-icon svg {
    width: 48px !important;
    height: 48px !important;
  }

  html body.case-detail-page.launch-case-page .launch-readiness-list li {
    grid-template-columns: 42px minmax(0, 1fr) 30px !important;
    gap: 10px !important;
    padding: 12px !important;
  }

  html body.case-detail-page.launch-case-page .launch-step-number {
    width: 38px !important;
    height: 38px !important;
  }
}

/* Launch case final refinement: keep this last so legacy page rules cannot override it. */
html body.case-detail-page.launch-case-page .launch-hero-shell {
  align-items: start !important;
}

html body.case-detail-page.launch-case-page .launch-hero-copy {
  justify-content: flex-start !important;
}

html body.case-detail-page.launch-case-page .launch-hero-copy h1 {
  max-width: 640px !important;
  color: var(--site-navy, #071846) !important;
  font-size: clamp(36px, 3.25vw, 48px) !important;
  line-height: 1.08 !important;
}

html body.case-detail-page.launch-case-page .launch-hero-copy h1 span {
  color: var(--site-navy, #071846) !important;
}

@media (min-width: 1101px) {
  html body.case-detail-page.launch-case-page .launch-hero-media {
    margin-top: 0 !important;
  }
}

html body.case-detail-page.launch-case-page .launch-process-card {
  gap: 12px !important;
  padding: 20px !important;
}

html body.case-detail-page.launch-case-page .launch-process-card article {
  min-width: 0 !important;
  min-height: 350px !important;
  padding: 20px 16px !important;
}

html body.case-detail-page.launch-case-page .launch-process-card h2 {
  min-height: 44px !important;
  margin-top: 10px !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere !important;
}

html body.case-detail-page.launch-case-page .launch-process-card p,
html body.case-detail-page.launch-case-page .launch-process-card li {
  font-size: 13px !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere !important;
}

html body.case-detail-page.launch-case-page .launch-process-card p,
html body.case-detail-page.launch-case-page .launch-process-card ul {
  margin-top: 14px !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr) !important;
  align-items: stretch !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-card,
html body.case-detail-page.launch-case-page .launch-services-card {
  padding: clamp(26px, 3vw, 38px) !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-card {
  grid-template-columns: minmax(210px, 0.42fr) minmax(0, 0.58fr) !important;
  gap: 24px 34px !important;
  align-items: center !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-heading {
  grid-column: 1 / -1 !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-card h2,
html body.case-detail-page.launch-case-page .launch-services-card h2 {
  color: var(--site-navy, #071846) !important;
  font-size: clamp(24px, 2vw, 30px) !important;
  line-height: 1.15 !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-heading p,
html body.case-detail-page.launch-case-page .launch-services-card > div > p {
  margin: 10px 0 0 !important;
  color: var(--site-text, #43516a) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-card figure {
  overflow: hidden !important;
  aspect-ratio: 4 / 3 !important;
  border-radius: 6px !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-list {
  display: grid !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-list li {
  position: relative !important;
  padding-left: 24px !important;
  color: var(--site-text, #43516a) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-list li::before {
  content: "\2713" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  color: var(--site-orange, #e66b1f) !important;
  font-weight: 800 !important;
}

@media (max-width: 1100px) {
  html body.case-detail-page.launch-case-page .launch-process-card {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.case-detail-page.launch-case-page .launch-takeaway-grid,
  html body.case-detail-page.launch-case-page .launch-takeaway-card {
    grid-template-columns: 1fr !important;
  }

  html body.case-detail-page.launch-case-page .launch-takeaway-heading {
    grid-column: auto !important;
  }
}

@media (max-width: 640px) {
  html body.case-detail-page.launch-case-page .launch-hero-copy h1 {
    font-size: clamp(32px, 9vw, 40px) !important;
  }

  html body.case-detail-page.launch-case-page .launch-process-card {
    grid-template-columns: 1fr !important;
  }
}

/* Final logo guard: level, compact infinity mark in every header and footer. */
html body .brand-symbol,
html body .brand-infinity,
html body .footer-infinity,
html body .footer-brand-symbol {
  display: inline-block !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 12px !important;
  color: transparent !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 32'%3E%3Cpath d='M32 16C26 8 20 6 14 7C5 8 4 18 10 23C16 28 25 23 32 16ZM32 16C38 8 44 6 50 7C59 8 60 18 54 23C48 28 39 23 32 16Z' fill='none' stroke='%23071846' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0 !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  overflow: hidden !important;
  text-indent: -9999px !important;
  transform: none !important;
  vertical-align: middle !important;
}

/* Homepage FAQ final guard: calm typography and refined, understated details. */
html body .faq-section {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(234, 113, 30, 0.055), transparent 21rem),
    radial-gradient(circle at 94% 86%, rgba(97, 155, 232, 0.07), transparent 24rem),
    #fff !important;
}

html body .faq-section .faq-category {
  position: relative !important;
}

html body .faq-section .faq-category h3 {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 24px !important;
  color: #071846 !important;
  font-size: clamp(1.04rem, 1.25vw, 1.22rem) !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.025em !important;
}

html body .faq-section .faq-category h3::before {
  width: 9px !important;
  height: 9px !important;
  flex: 0 0 9px !important;
  border: 4px solid #fff !important;
  border-radius: 50% !important;
  background: #ea711e !important;
  box-shadow: 0 0 0 2px rgba(97, 155, 232, 0.2), 0 0 0 7px rgba(97, 155, 232, 0.09) !important;
}

html body .faq-section .faq-category h3::after {
  content: "" !important;
  height: 1px !important;
  flex: 1 1 auto !important;
  background: linear-gradient(90deg, rgba(7, 24, 70, 0.13), transparent) !important;
}

html body .faq-section .faq-item {
  overflow: hidden !important;
  border: 1px solid rgba(7, 24, 70, 0.12) !important;
  border-left: 3px solid rgba(97, 155, 232, 0.5) !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 9px 28px rgba(7, 24, 70, 0.035) !important;
}

html body .faq-section .faq-item:nth-child(even) {
  border-left-color: rgba(234, 113, 30, 0.58) !important;
}

html body .faq-section .faq-question {
  min-height: 78px !important;
  padding: 18px 21px !important;
}

html body .faq-section .faq-question-text {
  color: #102654 !important;
  font-size: clamp(0.98rem, 1.1vw, 1.08rem) !important;
  font-weight: 600 !important;
  line-height: 1.42 !important;
  letter-spacing: -0.006em !important;
}

html body .faq-section .faq-number {
  font-weight: 650 !important;
}

html body .faq-section .faq-toggle {
  border-color: rgba(7, 24, 70, 0.13) !important;
  background: #fbfcff !important;
}

html body .faq-section .faq-cta-card {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(97, 155, 232, 0.32) !important;
  border-left: 3px solid #ea711e !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 89% 32%, rgba(97, 155, 232, 0.1), transparent 15rem),
    #fff !important;
  box-shadow: 0 16px 42px rgba(7, 24, 70, 0.055) !important;
}

html body .faq-section .faq-cta-card::after {
  content: "" !important;
  position: absolute !important;
  top: 18px !important;
  right: 22px !important;
  width: 54px !important;
  height: 54px !important;
  pointer-events: none !important;
  opacity: 0.42 !important;
  background-image: radial-gradient(rgba(97, 155, 232, 0.65) 1.25px, transparent 1.25px) !important;
  background-size: 9px 9px !important;
}

html body .faq-section .faq-cta-card h3 {
  color: #071846 !important;
  font-size: clamp(1.35rem, 1.8vw, 1.7rem) !important;
  font-weight: 650 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.018em !important;
}

html body .faq-section .faq-cta-card p {
  color: #52627e !important;
  font-weight: 450 !important;
}

html body .faq-section .faq-cta-card .button {
  font-weight: 650 !important;
}

@media (max-width: 760px) {
  html body .faq-section .faq-category h3 {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    margin-bottom: 17px !important;
    font-size: 1rem !important;
  }

  html body .faq-section .faq-category h3::after {
    display: none !important;
  }

  html body .faq-section .faq-question {
    min-height: 72px !important;
    padding: 16px !important;
  }

  html body .faq-section .faq-cta-card::after {
    opacity: 0.24 !important;
  }
}

/* Campaign reach case: the supplied performance image includes its own privacy treatment and result callout. */
html body.case-detail-page.campaign-reach-page .reach-shot-performance img {
  object-fit: contain !important;
  object-position: center !important;
  background: #fff !important;
}

html body.case-detail-page.campaign-reach-page .reach-shot-visibility img,
html body.case-detail-page.campaign-reach-page .reach-modal-shot[data-reach-shot="performance"] img {
  object-fit: contain !important;
  object-position: center !important;
  background: #fff !important;
}

html body.case-detail-page.campaign-reach-page .reach-modal-shot[data-reach-shot="visibility"] img {
  object-fit: contain !important;
  object-position: center !important;
  background: #fff !important;
}

html body.case-detail-page.campaign-reach-page .reach-modal-shot[data-reach-shot="performance"] .reach-private-mask,
html body.case-detail-page.campaign-reach-page .reach-modal-shot[data-reach-shot="performance"] .reach-shot-highlight,
html body.case-detail-page.campaign-reach-page .reach-modal-shot[data-reach-shot="visibility"] .reach-private-mask,
html body.case-detail-page.campaign-reach-page .reach-modal-shot[data-reach-shot="visibility"] .reach-shot-highlight {
  display: none !important;
}

/* Brand mark refinement: smaller, optically level and perfectly symmetrical. */
html body .brand-symbol,
html body .brand-infinity,
html body .footer-infinity,
html body .footer-brand-symbol {
  display: inline-block !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 12px !important;
  color: transparent !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 32'%3E%3Cpath d='M32 16C26 8 20 6 14 7C5 8 4 18 10 23C16 28 25 23 32 16ZM32 16C38 8 44 6 50 7C59 8 60 18 54 23C48 28 39 23 32 16Z' fill='none' stroke='%23071846' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0 !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  overflow: hidden !important;
  text-indent: -9999px !important;
  transform: none !important;
  vertical-align: middle !important;
}

/* Whole-site consistency and accessibility pass. */
html body :where(a, button, input, textarea, select):focus-visible {
  outline: 3px solid rgba(23, 103, 217, 0.32) !important;
  outline-offset: 3px !important;
}

html body :where(.language-switcher button, .thank-language button) {
  min-width: 44px !important;
  min-height: 44px !important;
  padding: 8px 12px !important;
}

html body :where(
  .text-link,
  .case-index-read-link,
  .case-more-link,
  .site-back-link,
  .footer-link-arrow,
  .service-link
) {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 44px !important;
  line-height: 1.35 !important;
}

html body.case-index-page .case-tags button {
  min-height: 44px !important;
  padding: 10px 17px !important;
}

html body.case-index-page .case-index-card-copy p {
  color: var(--site-text) !important;
  font-size: 14px !important;
  line-height: 1.58 !important;
}

html body.case-index-page .case-index-card-copy strong {
  font-size: 11px !important;
  line-height: 1.2 !important;
}

html body.case-index-page .case-index-read-link {
  width: fit-content !important;
  margin-bottom: -10px !important;
  padding-block: 10px !important;
  font-size: 14px !important;
}

html body :where(.lead-form-close, .testimonial-modal-close, .migration-lightbox-close) {
  min-width: 44px !important;
  min-height: 44px !important;
}

html body .form-consent {
  min-height: 44px !important;
  align-items: flex-start !important;
}

html body .form-consent input {
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  margin-top: 2px !important;
}

html body.case-detail-page.launch-case-page .launch-process-card p,
html body.case-detail-page.launch-case-page .launch-process-card li {
  font-size: 14px !important;
  line-height: 1.58 !important;
}

@media (max-width: 760px) {
  html body :where(.page-nav a, .nav-links a) {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  html body :where(.phone-link, .header-phone, .footer-contact-link) {
    min-height: 44px !important;
  }

  html body :where(.text-link, .case-index-read-link, .case-more-link) {
    min-height: 44px !important;
    padding-block: 10px !important;
  }
}

/* FAQ refinement: calmer hierarchy with restrained editorial details. */
html body .faq-section {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(23, 103, 217, 0.055), transparent 22%),
    radial-gradient(circle at 94% 82%, rgba(224, 111, 32, 0.05), transparent 20%),
    #fcfdff !important;
}

html body .faq-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 28px auto auto 50% !important;
  display: block !important;
  width: min(78%, 1120px) !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(23, 103, 217, 0.16), transparent) !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

html body .faq-category h3 {
  display: grid !important;
  grid-template-columns: auto auto minmax(48px, 1fr) !important;
  gap: 11px !important;
  align-items: center !important;
  width: 100% !important;
  margin-bottom: 20px !important;
  color: #102754 !important;
  font-size: clamp(1.04rem, 1.25vw, 1.22rem) !important;
  font-weight: 650 !important;
  letter-spacing: 0.035em !important;
  line-height: 1.25 !important;
}

html body .faq-category h3::after {
  content: "" !important;
  display: block !important;
  height: 1px !important;
  margin-left: 8px !important;
  background: linear-gradient(90deg, rgba(23, 103, 217, 0.2), transparent) !important;
}

html body .faq-category:nth-child(even) h3::after {
  background: linear-gradient(90deg, rgba(224, 111, 32, 0.22), transparent) !important;
}

html body .faq-category h3 span {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  background: #ffffff !important;
  border: 1px solid rgba(23, 103, 217, 0.18) !important;
  box-shadow: 0 0 0 5px rgba(23, 103, 217, 0.055) !important;
}

html body .faq-category h3 span::before {
  width: 7px !important;
  height: 7px !important;
}

html body .faq-list {
  gap: 14px !important;
}

html body .faq-item {
  border: 1px solid rgba(7, 24, 70, 0.11) !important;
  border-left: 3px solid rgba(23, 103, 217, 0.42) !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, 0.82) !important;
}

html body .faq-item:nth-child(even) {
  border-left-color: rgba(224, 111, 32, 0.48) !important;
}

html body .faq-item:hover,
html body .faq-item:focus-within {
  background: #ffffff !important;
  border-color: rgba(23, 103, 217, 0.24) !important;
  box-shadow: 0 12px 30px rgba(7, 24, 70, 0.055) !important;
  transform: translateY(-1px) !important;
}

html body .faq-question {
  min-height: 76px !important;
  padding: 18px 22px !important;
}

html body .faq-question-text {
  color: #17305e !important;
  font-size: clamp(0.98rem, 0.95vw, 1.08rem) !important;
  font-weight: 600 !important;
  line-height: 1.38 !important;
}

html body .faq-number {
  color: #27436f !important;
  background: #f7f9fc !important;
  font-size: 0.8rem !important;
  font-weight: 650 !important;
}

html body .faq-chevron {
  width: 38px !important;
  height: 38px !important;
  color: #27436f !important;
  background: #fbfcfe !important;
  border-color: rgba(7, 24, 70, 0.11) !important;
}

html body .faq-answer {
  padding: 0 24px 22px 78px !important;
}

html body .faq-answer p {
  font-size: 0.96rem !important;
  line-height: 1.7 !important;
}

html body .faq-cta-card {
  position: relative !important;
  overflow: hidden !important;
  gap: clamp(18px, 2vw, 26px) !important;
  padding: clamp(23px, 2.2vw, 31px) !important;
  background:
    radial-gradient(circle at 90% 18%, rgba(23, 103, 217, 0.07), transparent 25%),
    #ffffff !important;
  border: 1px solid rgba(23, 103, 217, 0.18) !important;
  border-left: 3px solid var(--site-orange, #e06f20) !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 38px rgba(7, 24, 70, 0.05) !important;
}

html body .faq-cta-card::after {
  content: "" !important;
  position: absolute !important;
  right: 28px !important;
  bottom: 18px !important;
  width: 54px !important;
  height: 22px !important;
  opacity: 0.32 !important;
  background-image: radial-gradient(circle, rgba(23, 103, 217, 0.55) 1.5px, transparent 1.7px) !important;
  background-size: 9px 9px !important;
  pointer-events: none !important;
}

html body .faq-cta-icon {
  width: 58px !important;
  height: 58px !important;
  color: #24416f !important;
  background: #f7f9fd !important;
  border: 1px solid rgba(23, 103, 217, 0.18) !important;
  border-radius: 16px !important;
}

html body .faq-cta-card h3 {
  color: #102754 !important;
  font-size: clamp(1.24rem, 1.55vw, 1.58rem) !important;
  font-weight: 650 !important;
  line-height: 1.22 !important;
}

html body .faq-cta-card p {
  max-width: 720px !important;
  color: #52627c !important;
  font-size: clamp(0.96rem, 0.95vw, 1.04rem) !important;
  font-weight: 450 !important;
  line-height: 1.6 !important;
}

html body .faq-cta-card .button,
html body .faq-cta-card .button-primary {
  min-height: 50px !important;
  padding: 13px 24px !important;
  border-radius: 12px !important;
  font-size: 0.96rem !important;
  font-weight: 650 !important;
}

@media (max-width: 760px) {
  html body .faq-category h3 {
    grid-template-columns: auto minmax(0, 1fr) !important;
    font-size: 1rem !important;
  }

  html body .faq-category h3::after {
    display: none !important;
  }

  html body .faq-question {
    min-height: 72px !important;
    padding: 16px !important;
  }

  html body .faq-answer {
    padding: 0 18px 20px 56px !important;
  }

  html body .faq-cta-card::after {
    display: none !important;
  }
}

/* Smart Bidding final cascade guard: prevent global type rules from clipping cards. */
html body.case-detail-page.smart-bidding-page .campaign-info-card h2,
html body.case-detail-page.smart-bidding-page .campaign-section-heading h2 {
  font-size: clamp(22px, 2vw, 26px) !important;
  line-height: 1.18 !important;
  overflow-wrap: break-word !important;
}

html body.case-detail-page.smart-bidding-page .smart-finding-cards strong,
html body.case-detail-page.smart-bidding-page .smart-action-list strong,
html body.case-detail-page.smart-bidding-page .smart-before-after h3 {
  font-size: 14px !important;
  line-height: 1.4 !important;
}

html body.case-detail-page.smart-bidding-page .smart-manual-band h2 {
  font-size: 21px !important;
  line-height: 1.22 !important;
}

html body.case-detail-page.smart-bidding-page :is(
  .campaign-info-card,
  .smart-finding-cards article,
  .smart-manual-band,
  .smart-strategy-flow article,
  .smart-action-list article,
  .smart-before-after,
  .smart-results-grid article
) {
  min-width: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

html body.case-detail-page.smart-bidding-page :is(
  .campaign-info-card,
  .smart-finding-cards,
  .smart-manual-band,
  .smart-strategy-flow,
  .smart-action-list,
  .smart-before-after,
  .smart-results-grid
) :is(p, li, dt, dd, span, strong, small) {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

html body.case-detail-page.smart-bidding-page .campaign-info-card > p,
html body.case-detail-page.smart-bidding-page .campaign-section-heading p {
  font-size: 15px !important;
  line-height: 1.6 !important;
}

html body.case-detail-page.smart-bidding-page .campaign-context-list dt {
  font-size: 13px !important;
}

html body.case-detail-page.smart-bidding-page .campaign-context-list dd,
html body.case-detail-page.smart-bidding-page .campaign-issue-list li,
html body.case-detail-page.smart-bidding-page .smart-manual-band p {
  font-size: 14px !important;
  line-height: 1.52 !important;
}

html body.case-detail-page.smart-bidding-page .smart-finding-cards p,
html body.case-detail-page.smart-bidding-page .smart-strategy-flow span,
html body.case-detail-page.smart-bidding-page .smart-action-list p,
html body.case-detail-page.smart-bidding-page .smart-table-row,
html body.case-detail-page.smart-bidding-page .smart-results-grid :is(span, small) {
  font-size: 13px !important;
  line-height: 1.46 !important;
}

html body.case-detail-page.smart-bidding-page .smart-finding-cards span {
  font-size: 11px !important;
}

html body.case-detail-page.smart-bidding-page .smart-manual-band li {
  font-size: 12.5px !important;
  line-height: 1.42 !important;
}

/* Smart Bidding solved section: compact rows instead of narrow stretched cards. */
html body.case-detail-page.smart-bidding-page .smart-solved-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr) !important;
  gap: 22px !important;
  align-items: start !important;
}

html body.case-detail-page.smart-bidding-page .smart-action-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  align-content: start !important;
}

html body.case-detail-page.smart-bidding-page .smart-action-list article,
html body.case-detail-page.smart-bidding-page .smart-action-list article:last-child {
  display: grid !important;
  grid-column: auto !important;
  grid-template-columns: minmax(190px, .82fr) minmax(0, 1.18fr) !important;
  gap: 18px !important;
  align-items: center !important;
  min-height: 82px !important;
  padding: 14px 16px !important;
}

html body.case-detail-page.smart-bidding-page .smart-action-list strong,
html body.case-detail-page.smart-bidding-page .smart-action-list p {
  width: auto !important;
  margin: 0 !important;
  writing-mode: horizontal-tb !important;
  white-space: normal !important;
}

html body.case-detail-page.smart-bidding-page .smart-action-list strong {
  padding-left: 28px !important;
}

html body.case-detail-page.smart-bidding-page .smart-before-after {
  align-self: start !important;
  min-height: 0 !important;
  padding: 24px !important;
}

@media (max-width: 1100px) {
  html body.case-detail-page.smart-bidding-page .smart-solved-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  html body.case-detail-page.smart-bidding-page .smart-action-list article,
  html body.case-detail-page.smart-bidding-page .smart-action-list article:last-child {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
}

/* Smart Bidding page rhythm and type scale. */
html body.case-detail-page.smart-bidding-page :is(
  .campaign-context-section,
  .smart-manual-section,
  .campaign-changes-section,
  .campaign-results-section,
  .campaign-insight-section,
  .campaign-bottom-cta,
  .case-more-section
) {
  padding-top: 44px !important;
  padding-bottom: 44px !important;
}

html body.case-detail-page.smart-bidding-page :is(
  .campaign-section-heading h2,
  .smart-manual-band h2,
  .campaign-insight-card h2,
  .campaign-related-card h2,
  .campaign-bottom-cta h2,
  .case-more-copy h2
) {
  margin: 0 !important;
  color: var(--smart-navy) !important;
  font-size: 26px !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
}

html body.case-detail-page.smart-bidding-page .campaign-info-card h2 {
  margin: 0 !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

html body.case-detail-page.smart-bidding-page :is(
  .smart-before-after h3,
  .smart-results-story h3,
  .campaign-insight-card h3,
  .campaign-related-card h3
) {
  margin: 0 !important;
  color: var(--smart-navy) !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}

html body.case-detail-page.smart-bidding-page :is(
  .campaign-section-heading p,
  .campaign-info-card > p,
  .smart-manual-band p,
  .smart-action-list p,
  .campaign-insight-card p,
  .campaign-related-card p,
  .campaign-bottom-cta p,
  .case-more-copy p
) {
  color: var(--smart-ink) !important;
  font-size: 15px !important;
  line-height: 1.58 !important;
  font-weight: 500 !important;
}

html body.case-detail-page.smart-bidding-page .campaign-section-heading {
  align-items: flex-start !important;
  gap: 14px !important;
  margin-bottom: 24px !important;
}

html body.case-detail-page.smart-bidding-page .campaign-section-heading > div {
  display: grid !important;
  gap: 8px !important;
}

html body.case-detail-page.smart-bidding-page .campaign-section-heading p,
html body.case-detail-page.smart-bidding-page .campaign-info-card > p {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
}

html body.case-detail-page.smart-bidding-page :is(
  .campaign-context-list dt,
  .smart-finding-cards span,
  .campaign-kicker,
  .campaign-insight-card .eyebrow,
  .campaign-related-card .eyebrow
) {
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

html body.case-detail-page.smart-bidding-page :is(
  .campaign-context-list dd,
  .campaign-issue-list li,
  .smart-finding-cards p,
  .smart-strategy-flow span,
  .smart-action-list p,
  .smart-table-row,
  .smart-results-grid span,
  .smart-results-grid small
) {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

html body.case-detail-page.smart-bidding-page :is(
  .campaign-section-card,
  .campaign-info-card,
  .smart-manual-band,
  .campaign-insight-card,
  .campaign-related-card,
  .campaign-bottom-cta-grid
) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 700px) {
  html body.case-detail-page.smart-bidding-page :is(
    .campaign-context-section,
    .smart-manual-section,
    .campaign-changes-section,
    .campaign-results-section,
    .campaign-insight-section,
    .campaign-bottom-cta,
    .case-more-section
  ) {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  html body.case-detail-page.smart-bidding-page :is(
    .campaign-section-heading h2,
    .smart-manual-band h2,
    .campaign-insight-card h2,
    .campaign-related-card h2,
    .campaign-bottom-cta h2,
    .case-more-copy h2
  ) {
    font-size: 24px !important;
  }
}

/* Airport transportation Google Ads case study */
html body.airport-case-page {
  background: #fff !important;
  color: #071846 !important;
}

html body.airport-case-page > main > .launch-hero,
html body.airport-case-page > main > .launch-section,
html body.airport-case-page > main > .case-more-section {
  display: none !important;
}

html body.airport-case-page .airport-case-hero,
html body.airport-case-page .airport-section,
html body.airport-case-page .airport-metrics-section {
  background: #fff;
}

html body.airport-case-page .airport-case-hero {
  padding: 42px 0 52px;
  border-bottom: 1px solid #dce4ef;
}

html body.airport-case-page .airport-case-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

html body.airport-case-page .airport-case-topline > span,
html body.airport-case-page .airport-eyebrow {
  color: #e66b19;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: .06em;
  text-transform: uppercase;
}

html body.airport-case-page .airport-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(470px, 1.08fr);
  align-items: stretch;
  gap: clamp(34px, 5vw, 76px);
}

html body.airport-case-page .airport-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: 0;
  min-width: 0;
}

html body.airport-case-page .airport-hero-copy h1 {
  max-width: 790px;
  margin: 0;
  color: #071846;
  font-size: clamp(30px, 2.45vw, 40px) !important;
  font-weight: 760;
  line-height: 1.1 !important;
  letter-spacing: 0;
}

html body.airport-case-page .airport-hero-copy h1 span {
  color: #1767d8;
}

html body.airport-case-page .airport-hero-copy > p {
  max-width: 610px;
  margin: 24px 0 0;
  color: #4c5c78;
  font-size: 17px;
  line-height: 1.55;
}

html body.airport-case-page .airport-hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

html body.airport-case-page .airport-hero-actions .button,
html body.airport-case-page .airport-cta .button {
  min-height: 50px;
  padding: 0 24px;
  border-radius: 7px;
  font-size: 15px;
}

html body.airport-case-page .airport-secondary-button {
  border: 1px solid #aebbd0;
  background: #fff;
  color: #071846;
}

html body.airport-case-page .airport-secondary-button:hover {
  border-color: #1767d8;
  background: #f7faff;
  color: #1767d8;
}

html body.airport-case-page .airport-hero-photo {
  min-height: 430px;
  max-height: 530px;
  margin: 0;
  overflow: hidden;
  border: 1px solid #dce4ef;
  border-radius: 8px;
}

html body.airport-case-page .airport-hero-photo img,
html body.airport-case-page .airport-client-grid figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html body.airport-case-page .airport-metrics-section {
  padding: 34px 0 0;
}

html body.airport-case-page .airport-metrics-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

html body.airport-case-page .airport-metrics-grid article {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 132px;
  padding: 24px;
  border: 1px solid #dce4ef;
  border-top: 3px solid #1767d8;
  border-radius: 8px;
  background: #fff;
}

html body.airport-case-page .airport-metrics-grid article:nth-child(2) {
  border-top-color: #e66b19;
}

html body.airport-case-page .airport-metric-icon,
html body.airport-case-page .airport-work-icon,
html body.airport-case-page .airport-challenge-icon,
html body.airport-case-page .airport-takeaway-icon {
  display: grid;
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  place-items: center;
  border: 1px solid #cfe0fb;
  border-radius: 50%;
  background: #f3f7ff;
  color: #1767d8;
}

html body.airport-case-page .airport-metric-icon.orange,
html body.airport-case-page .airport-work-icon.orange,
html body.airport-case-page .airport-takeaway-icon {
  border-color: #f4d2bb;
  background: #fff8f3;
  color: #e66b19;
}

html body.airport-case-page .airport-metric-icon svg,
html body.airport-case-page .airport-work-icon svg,
html body.airport-case-page .airport-challenge-icon svg,
html body.airport-case-page .airport-takeaway-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

html body.airport-case-page .airport-metrics-grid article > div {
  display: grid;
  gap: 3px;
}

html body.airport-case-page .airport-metrics-grid small {
  color: #4c5c78;
  font-size: 14px;
  font-weight: 700;
}

html body.airport-case-page .airport-metrics-grid strong {
  color: #1767d8;
  font-size: clamp(32px, 3vw, 46px);
  line-height: 1;
}

html body.airport-case-page .airport-metrics-grid article:nth-child(2) strong {
  color: #e66b19;
}

html body.airport-case-page .airport-metrics-grid article > div > span {
  color: #4c5c78;
  font-size: 14px;
}

html body.airport-case-page .airport-section {
  padding: 78px 0 0;
}

html body.airport-case-page .airport-client-grid {
  display: grid;
  grid-template-columns: minmax(360px, .88fr) minmax(0, 1.12fr);
  align-items: center;
  gap: clamp(36px, 6vw, 88px);
}

html body.airport-case-page .airport-client-grid figure {
  aspect-ratio: 16 / 11;
  margin: 0;
  overflow: hidden;
  border: 1px solid #dce4ef;
  border-radius: 8px;
}

html body.airport-case-page .airport-client-grid h2,
html body.airport-case-page .airport-section-heading h2,
html body.airport-case-page .airport-challenge h2,
html body.airport-case-page .airport-takeaway h2,
html body.airport-case-page .airport-cta h2 {
  margin: 10px 0 16px;
  color: #071846;
  font-size: clamp(25px, 2vw, 34px);
  font-weight: 750;
  line-height: 1.15;
}

html body.airport-case-page .airport-client-grid p,
html body.airport-case-page .airport-section-heading p,
html body.airport-case-page .airport-challenge p,
html body.airport-case-page .airport-takeaway p,
html body.airport-case-page .airport-cta p {
  margin: 0;
  color: #4c5c78;
  font-size: 16px;
  line-height: 1.65;
}

html body.airport-case-page .airport-client-tags,
html body.airport-case-page .airport-challenge-goals {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0;
  padding: 0;
  list-style: none;
}

html body.airport-case-page .airport-client-tags li,
html body.airport-case-page .airport-challenge-goals span {
  padding: 9px 13px;
  border: 1px solid #cfe0fb;
  border-radius: 999px;
  color: #163a74;
  font-size: 13px;
  font-weight: 650;
}

html body.airport-case-page .airport-challenge {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 24px;
  padding: 34px 38px;
  border: 1px solid #cfe0fb;
  border-left: 4px solid #e66b19;
  border-radius: 8px;
  background: #f8fbff;
}

html body.airport-case-page .airport-section-heading {
  max-width: 760px;
  margin: 0 auto 34px;
  text-align: center;
}

html body.airport-case-page .airport-work-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

html body.airport-case-page .airport-work-grid article {
  position: relative;
  min-height: 310px;
  padding: 28px 24px;
  border: 1px solid #dce4ef;
  border-radius: 8px;
  background: #fff;
}

html body.airport-case-page .airport-work-grid article:nth-child(even) {
  border-top: 3px solid #e66b19;
}

html body.airport-case-page .airport-work-grid article:nth-child(odd) {
  border-top: 3px solid #1767d8;
}

html body.airport-case-page .airport-work-number {
  position: absolute;
  top: 25px;
  right: 22px;
  color: #9aa9bf;
  font-size: 13px;
  font-weight: 750;
}

html body.airport-case-page .airport-work-grid h3 {
  min-height: 52px;
  margin: 22px 0 12px;
  color: #071846;
  font-size: 18px;
  line-height: 1.25;
}

html body.airport-case-page .airport-work-grid p {
  margin: 0;
  color: #4c5c78;
  font-size: 14px;
  line-height: 1.6;
}

html body.airport-case-page .airport-results-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: 22px;
}

html body.airport-case-page .airport-results-table,
html body.airport-case-page .airport-results-chart {
  overflow: hidden;
  border: 1px solid #dce4ef;
  border-radius: 8px;
  background: #fff;
}

html body.airport-case-page .airport-results-row {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, .7fr);
  align-items: center;
  min-height: 66px;
  padding: 0 22px;
  border-bottom: 1px solid #e7edf5;
  color: #263858;
  font-size: 14px;
}

html body.airport-case-page .airport-results-row.header {
  min-height: 52px;
  background: #f7faff;
  color: #071846;
  font-weight: 750;
}

html body.airport-case-page .airport-results-row em {
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff4ec;
  color: #c8530a;
  font-style: normal;
  font-weight: 750;
}

html body.airport-case-page .airport-results-row em.positive {
  background: #edf8f1;
  color: #14743a;
}

html body.airport-case-page .airport-results-table > small {
  display: block;
  padding: 15px 22px;
  color: #687790;
  font-size: 12px;
}

html body.airport-case-page .airport-results-chart {
  position: relative;
  min-height: 330px;
  margin: 0;
  padding: 28px 24px 24px;
}

html body.airport-case-page .airport-results-chart svg {
  display: block;
  width: 100%;
  height: 235px;
  overflow: visible;
}

html body.airport-case-page .airport-results-chart .grid {
  fill: none;
  stroke: #e7edf5;
  stroke-width: 1;
}

html body.airport-case-page .airport-results-chart .area {
  fill: #edf5ff;
  stroke: none;
}

html body.airport-case-page .airport-results-chart .line {
  fill: none;
  stroke: #1767d8;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4;
}

html body.airport-case-page .airport-results-chart circle {
  fill: #fff;
  stroke: #1767d8;
  stroke-width: 4;
}

html body.airport-case-page .airport-chart-value {
  position: absolute;
  z-index: 2;
  display: grid;
  padding: 8px 10px;
  border: 1px solid #cfe0fb;
  border-radius: 6px;
  background: #fff;
  color: #071846;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.1;
}

html body.airport-case-page .airport-chart-value small {
  margin-top: 3px;
  color: #687790;
  font-size: 10px;
}

html body.airport-case-page .airport-chart-value.before { left: 34px; bottom: 60px; }
html body.airport-case-page .airport-chart-value.after { top: 16px; right: 24px; color: #1767d8; }

html body.airport-case-page .airport-results-chart figcaption {
  position: absolute;
  right: 26px;
  bottom: 22px;
  display: grid;
  color: #071846;
  font-size: 14px;
}

html body.airport-case-page .airport-results-chart figcaption span {
  color: #687790;
  font-size: 12px;
}

html body.airport-case-page .airport-takeaway {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  padding: 30px 34px;
  border: 1px solid #f0c9ae;
  border-radius: 8px;
  background: #fffdfb;
}

html body.airport-case-page .airport-takeaway h2 {
  margin-bottom: 8px;
  font-size: clamp(23px, 1.8vw, 30px);
}

html body.airport-case-page .airport-cta-section {
  padding-bottom: 78px;
}

html body.airport-case-page .airport-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 34px 38px;
  border: 1px solid #dce4ef;
  border-top: 4px solid #1767d8;
  border-radius: 8px;
  background: #fff;
}

html body.airport-case-page .airport-cta h2 {
  margin: 0 0 6px;
  font-size: clamp(23px, 1.9vw, 31px);
}

@media (max-width: 1100px) {
  html body.airport-case-page .airport-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(400px, .95fr);
    gap: 32px;
  }

  html body.airport-case-page .airport-hero-copy h1 {
    font-size: clamp(30px, 3.3vw, 38px) !important;
  }

  html body.airport-case-page .airport-work-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 850px) {
  html body.airport-case-page .airport-hero-grid,
  html body.airport-case-page .airport-client-grid,
  html body.airport-case-page .airport-results-grid {
    grid-template-columns: 1fr;
  }

  html body.airport-case-page .airport-hero-copy {
    order: 1;
  }

  html body.airport-case-page .airport-hero-photo {
    order: 2;
    min-height: 420px;
  }

  html body.airport-case-page .airport-metrics-grid {
    grid-template-columns: 1fr;
  }

  html body.airport-case-page .airport-metrics-grid article {
    min-height: 108px;
  }

  html body.airport-case-page .airport-results-grid {
    gap: 16px;
  }
}

@media (max-width: 640px) {
  html body.airport-case-page .airport-case-hero {
    padding: 26px 0 40px;
  }

  html body.airport-case-page .airport-case-topline {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 22px;
  }

  html body.airport-case-page .airport-hero-copy h1 {
    font-size: clamp(28px, 7.8vw, 34px) !important;
  }

  html body.airport-case-page .airport-hero-copy > p {
    margin-top: 18px;
    font-size: 16px;
  }

  html body.airport-case-page .airport-hero-actions,
  html body.airport-case-page .airport-hero-actions .button,
  html body.airport-case-page .airport-cta .button {
    width: 100%;
  }

  html body.airport-case-page .airport-hero-photo {
    min-height: 310px;
  }

  html body.airport-case-page .airport-section {
    padding-top: 56px;
  }

  html body.airport-case-page .airport-work-grid {
    grid-template-columns: 1fr;
  }

  html body.airport-case-page .airport-work-grid article {
    min-height: 0;
  }

  html body.airport-case-page .airport-challenge,
  html body.airport-case-page .airport-takeaway {
    grid-template-columns: 1fr;
    padding: 25px 22px;
  }

  html body.airport-case-page .airport-results-row {
    grid-template-columns: 1.25fr repeat(3, .72fr);
    padding: 0 12px;
    font-size: 12px;
  }

  html body.airport-case-page .airport-cta {
    align-items: stretch;
    flex-direction: column;
    padding: 28px 22px;
  }
}

/* New account launch case: aligned hero, readable process, and clear project summary. */
html body.case-detail-page.launch-case-page .launch-hero-shell {
  align-items: start !important;
}

html body.case-detail-page.launch-case-page .launch-hero-copy {
  justify-content: flex-start !important;
}

html body.case-detail-page.launch-case-page .launch-hero-copy h1 {
  max-width: 640px !important;
  color: var(--site-navy, #071846) !important;
  font-size: clamp(36px, 3.25vw, 48px) !important;
  line-height: 1.08 !important;
}

html body.case-detail-page.launch-case-page .launch-hero-copy h1 span {
  color: var(--site-navy, #071846) !important;
}

html body.case-detail-page.launch-case-page .launch-process-card {
  gap: 12px !important;
  padding: 20px !important;
}

html body.case-detail-page.launch-case-page .launch-process-card article {
  min-width: 0 !important;
  min-height: 350px !important;
  padding: 20px 16px !important;
}

html body.case-detail-page.launch-case-page .launch-process-card h2 {
  min-height: 44px !important;
  margin-top: 10px !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere !important;
}

html body.case-detail-page.launch-case-page .launch-process-card p,
html body.case-detail-page.launch-case-page .launch-process-card li {
  font-size: 13px !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere !important;
}

html body.case-detail-page.launch-case-page .launch-process-card p,
html body.case-detail-page.launch-case-page .launch-process-card ul {
  margin-top: 14px !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr) !important;
  align-items: stretch !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-card,
html body.case-detail-page.launch-case-page .launch-services-card {
  padding: clamp(26px, 3vw, 38px) !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-card {
  grid-template-columns: minmax(210px, 0.42fr) minmax(0, 0.58fr) !important;
  gap: 24px 34px !important;
  align-items: center !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-heading {
  grid-column: 1 / -1 !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-card h2,
html body.case-detail-page.launch-case-page .launch-services-card h2 {
  color: var(--site-navy, #071846) !important;
  font-size: clamp(24px, 2vw, 30px) !important;
  line-height: 1.15 !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-heading p,
html body.case-detail-page.launch-case-page .launch-services-card > div > p {
  margin: 10px 0 0 !important;
  color: var(--site-text, #43516a) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-card figure {
  overflow: hidden !important;
  aspect-ratio: 4 / 3 !important;
  border-radius: 6px !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-list {
  display: grid !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-list li {
  position: relative !important;
  padding-left: 24px !important;
  color: var(--site-text, #43516a) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

html body.case-detail-page.launch-case-page .launch-takeaway-list li::before {
  content: "\2713" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  color: var(--site-orange, #d96f25) !important;
  font-weight: 800 !important;
}

html body.case-detail-page.launch-case-page .launch-services-card li {
  font-size: 14px !important;
  line-height: 1.35 !important;
}

@media (max-width: 1100px) {
  html body.case-detail-page.launch-case-page .launch-process-card {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.case-detail-page.launch-case-page .launch-process-card article {
    min-height: 0 !important;
  }

  html body.case-detail-page.launch-case-page .launch-process-card article:not(:last-child)::after {
    content: none !important;
  }

  html body.case-detail-page.launch-case-page .launch-takeaway-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  html body.case-detail-page.launch-case-page .launch-hero-copy h1 {
    font-size: clamp(32px, 9vw, 40px) !important;
  }

  html body.case-detail-page.launch-case-page .launch-process-card {
    grid-template-columns: 1fr !important;
    padding: 0 !important;
  }

  html body.case-detail-page.launch-case-page .launch-process-card h2 {
    min-height: 0 !important;
  }

  html body.case-detail-page.launch-case-page .launch-takeaway-card {
    grid-template-columns: 1fr !important;
  }

  html body.case-detail-page.launch-case-page .launch-takeaway-card figure {
    aspect-ratio: 16 / 10 !important;
  }
}

/* Case Studies index: compact cards without unused vertical space. */
html body.case-index-page .case-index-card-body {
  min-height: 258px !important;
  padding: 24px 24px 22px !important;
}

html body.case-index-page .case-index-card-label {
  margin-bottom: 10px !important;
}

html body.case-index-page .case-index-card h2 {
  margin-bottom: 14px !important;
  font-size: clamp(24px, 2vw, 30px) !important;
  line-height: 1.08 !important;
}

html body.case-index-page .case-index-card-copy {
  gap: 14px !important;
  margin-bottom: 18px !important;
}

html body.case-index-page .case-index-card-copy strong {
  margin-bottom: 4px !important;
}

html body.case-index-page .case-index-number {
  right: 18px !important;
  bottom: 20px !important;
}

@media (max-width: 680px) {
  html body.case-index-page .case-index-card-body {
    min-height: 0 !important;
    padding: 24px 22px 24px !important;
  }

  html body.case-index-page .case-index-card-copy {
    margin-bottom: 22px !important;
  }

  html body.case-index-page .case-index-read-link {
    margin-top: 4px !important;
  }
}

/* Final case-study back navigation lock. Keep this after page overrides. */
html body.case-detail-page :is(.case-study-topline, .case-back-nav) {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 18px !important;
  margin: 0 0 clamp(22px, 2.5vw, 34px) !important;
}

html body.case-detail-page .case-back-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--site-navy) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--site-font) !important;
  font-size: 16px !important;
  font-weight: 720 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
}

html body.case-detail-page .case-back-link::before {
  content: "\2190" !important;
  flex: 0 0 44px !important;
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  color: var(--site-orange) !important;
  background: rgba(224, 111, 32, 0.08) !important;
  border: 1px solid rgba(224, 111, 32, 0.28) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

html body.case-detail-page .case-back-link::after {
  content: "" !important;
  display: none !important;
  flex: 0 0 1px !important;
  width: 1px !important;
  height: 36px !important;
  margin-left: 14px !important;
  background: rgba(83, 98, 120, 0.28) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.case-detail-page :is(.case-study-topline, .case-back-nav):has(.case-study-tag) .case-back-link::after {
  display: block !important;
}

html body.case-detail-page .case-back-link:hover,
html body.case-detail-page .case-back-link:focus-visible {
  color: var(--site-orange) !important;
  border-color: transparent !important;
  transform: translateX(-2px) !important;
  outline: none !important;
}

html body.case-detail-page .case-back-link:focus-visible::before {
  box-shadow: 0 0 0 3px rgba(224, 111, 32, 0.18) !important;
}

html body.case-detail-page .case-back-link > span {
  display: inline !important;
  min-width: 0 !important;
}

html body.case-detail-page :is(.case-study-topline, .case-back-nav) .case-study-tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  color: var(--site-orange) !important;
  background: rgba(224, 111, 32, 0.06) !important;
  border: 1px solid rgba(224, 111, 32, 0.28) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: var(--site-font) !important;
  font-size: 13px !important;
  font-weight: 780 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

html body.case-detail-page :is(.case-study-topline, .case-back-nav) .case-study-tag::before {
  color: currentColor !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 640px) {
  html body.case-detail-page :is(.case-study-topline, .case-back-nav) {
    gap: 14px !important;
    margin-bottom: 28px !important;
  }

  html body.case-detail-page .case-back-link {
    gap: 12px !important;
    font-size: 15px !important;
  }

  html body.case-detail-page .case-back-link::before {
    flex-basis: 40px !important;
    width: 40px !important;
    height: 40px !important;
    font-size: 18px !important;
  }

  html body.case-detail-page .case-back-link::after {
    display: none !important;
  }

  html body.case-detail-page :is(.case-study-topline, .case-back-nav):has(.case-study-tag) .case-back-link::after {
    display: none !important;
  }

  html body.case-detail-page :is(.case-study-topline, .case-back-nav) .case-study-tag {
    min-height: 38px !important;
    padding: 0 16px !important;
    font-size: 11px !important;
  }
}

/* Conversion Data case: keep the back control and screenshot aligned with the hero copy. */
html body.case-detail-page.conversion-data-page .case-hero {
  padding-top: clamp(34px, 3.4vw, 50px) !important;
}

html body.case-detail-page.conversion-data-page .case-back-nav {
  width: min(var(--max), calc(100% - 80px)) !important;
  max-width: var(--max) !important;
  margin-inline: auto !important;
  margin-bottom: clamp(48px, 4.4vw, 66px) !important;
  justify-content: flex-start !important;
}

html body.case-detail-page.conversion-data-page .case-hero-grid {
  align-items: start !important;
  gap: clamp(44px, 5vw, 76px) !important;
}

html body.case-detail-page.conversion-data-page .account-shot-card {
  margin-top: clamp(-52px, -3.2vw, -34px) !important;
}

html body.case-detail-page.conversion-data-page .account-shot-toolbar span {
  gap: 0 !important;
}

html body.case-detail-page.conversion-data-page .account-shot-toolbar span::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 900px) {
  html body.case-detail-page.conversion-data-page .case-back-nav {
    width: min(100% - 32px, var(--max)) !important;
    margin-bottom: 40px !important;
  }

  html body.case-detail-page.conversion-data-page .account-shot-card {
    margin-top: 0 !important;
  }
}

/* Case detail visual cleanup: one calmer rhythm, no category pill noise. */
html body.case-detail-page :is(.case-study-topline, .case-back-nav) .case-study-tag {
  display: none !important;
}

html body.case-detail-page :is(.case-study-topline, .case-back-nav):has(.case-study-tag) .case-back-link::after {
  display: none !important;
}

html body.case-detail-page.conversion-data-page {
  --case-unified-border: 1px solid var(--site-line);
  --case-unified-radius: 18px;
  --case-unified-space: clamp(48px, 4.3vw, 66px);
}

html body.case-detail-page.conversion-data-page .case-page,
html body.case-detail-page.conversion-data-page .case-hero,
html body.case-detail-page.conversion-data-page .case-section,
html body.case-detail-page.conversion-data-page .challenge-section,
html body.case-detail-page.conversion-data-page .data-story-section,
html body.case-detail-page.conversion-data-page .takeaway,
html body.case-detail-page.conversion-data-page .case-more-section {
  background: #ffffff !important;
  background-image: none !important;
}

html body.case-detail-page.conversion-data-page .case-container {
  width: min(1240px, calc(100% - 80px)) !important;
  max-width: 1240px !important;
}

html body.case-detail-page.conversion-data-page .case-hero {
  padding-top: clamp(38px, 3.6vw, 54px) !important;
  padding-bottom: var(--case-unified-space) !important;
  border-bottom: 1px solid rgba(22, 60, 120, 0.08) !important;
}

html body.case-detail-page.conversion-data-page :is(
  .case-hero,
  .account-shot-card,
  .challenge-panel,
  .data-visual-card,
  .challenge-section,
  .data-story-section,
  .split-section,
  .case-more-section
)::before,
html body.case-detail-page.conversion-data-page :is(
  .case-hero,
  .account-shot-card,
  .challenge-panel,
  .data-visual-card,
  .challenge-section,
  .data-story-section,
  .split-section,
  .case-more-section
)::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
}

html body.case-detail-page.conversion-data-page .case-back-nav {
  width: min(1240px, calc(100% - 80px)) !important;
  max-width: 1240px !important;
  margin: 0 auto clamp(68px, 5.2vw, 88px) !important;
  gap: 0 !important;
}

html body.case-detail-page.conversion-data-page .case-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(520px, 1fr) !important;
  gap: clamp(48px, 5vw, 76px) !important;
  align-items: start !important;
}

html body.case-detail-page.conversion-data-page .case-hero-copy {
  gap: clamp(30px, 3.5vw, 46px) !important;
}

html body.case-detail-page.conversion-data-page .case-hero h1 {
  max-width: 620px !important;
  margin-bottom: clamp(26px, 2.8vw, 36px) !important;
  font-size: clamp(44px, 4vw, 58px) !important;
  line-height: 1.1 !important;
}

html body.case-detail-page.conversion-data-page .case-lead {
  max-width: 620px !important;
  font-size: clamp(17px, 1.25vw, 18px) !important;
  line-height: 1.76 !important;
}

html body.case-detail-page.conversion-data-page .case-pills {
  width: 100% !important;
  max-width: 560px !important;
}

html body.case-detail-page.conversion-data-page .case-hero-bottom {
  gap: 18px !important;
}

html body.case-detail-page.conversion-data-page .hero-signal-gap {
  width: 100%;
  max-width: 560px;
  padding: 20px 22px;
  background: var(--site-soft);
  border: 1px solid var(--site-line);
  border-radius: 18px;
}

html body.case-detail-page.conversion-data-page .hero-signal-gap-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

html body.case-detail-page.conversion-data-page .hero-signal-gap-head > span {
  color: var(--site-navy);
  font-size: 16px;
  font-weight: 600;
}

html body.case-detail-page.conversion-data-page .hero-signal-gap-head > small {
  color: var(--site-muted);
  font-size: 12px;
  font-weight: 500;
}

html body.case-detail-page.conversion-data-page .hero-signal-gap-values {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) minmax(112px, 0.8fr);
  align-items: center;
  gap: 14px;
}

html body.case-detail-page.conversion-data-page .hero-signal-gap-values > span:not(.hero-signal-arrow) {
  display: grid;
  gap: 4px;
}

html body.case-detail-page.conversion-data-page .hero-signal-gap-values strong {
  color: var(--site-navy);
  font-size: clamp(24px, 2vw, 30px);
  font-weight: 650;
  line-height: 1;
}

html body.case-detail-page.conversion-data-page .hero-signal-gap-values small {
  color: var(--site-text);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
}

html body.case-detail-page.conversion-data-page .hero-signal-arrow {
  color: var(--site-orange);
  font-size: 24px;
  line-height: 1;
}

html body.case-detail-page.conversion-data-page .hero-signal-delta {
  padding-left: 16px;
  border-left: 1px solid var(--site-line);
}

html body.case-detail-page.conversion-data-page .hero-signal-delta strong {
  color: var(--site-orange);
}

html body.case-detail-page.conversion-data-page .case-pill,
html body.case-detail-page.conversion-data-page .account-shot-card,
html body.case-detail-page.conversion-data-page .challenge-panel,
html body.case-detail-page.conversion-data-page .data-visual-card,
html body.case-detail-page.conversion-data-page .happening-grid > div:first-child,
html body.case-detail-page.conversion-data-page .result-box,
html body.case-detail-page.conversion-data-page .reviewed-row,
html body.case-detail-page.conversion-data-page .split-section,
html body.case-detail-page.conversion-data-page .takeaway-photo,
html body.case-detail-page.conversion-data-page .takeaway-cta-card,
html body.case-detail-page.conversion-data-page .case-more-inner {
  background: #ffffff !important;
  background-image: none !important;
  border: var(--case-unified-border) !important;
  border-radius: var(--case-unified-radius) !important;
  box-shadow: none !important;
}

html body.case-detail-page.conversion-data-page .account-shot-card {
  margin-top: 0 !important;
  padding: clamp(16px, 1.8vw, 22px) !important;
}

html body.case-detail-page.conversion-data-page :is(.case-section, .challenge-section, .data-story-section, .takeaway, .case-more-section) {
  margin: 0 !important;
  padding: var(--case-unified-space) 0 !important;
}

html body.case-detail-page.conversion-data-page .rule {
  margin: 0 !important;
  background: rgba(22, 60, 120, 0.1) !important;
}

html body.case-detail-page.conversion-data-page .challenge-panel,
html body.case-detail-page.conversion-data-page .data-story-grid,
html body.case-detail-page.conversion-data-page .happening-grid,
html body.case-detail-page.conversion-data-page .takeaway-grid {
  gap: clamp(38px, 4.4vw, 62px) !important;
}

html body.case-detail-page.conversion-data-page .challenge-panel {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) !important;
  align-items: start !important;
  padding: clamp(30px, 4vw, 48px) !important;
}

html body.case-detail-page.conversion-data-page .challenge-copy h2,
html body.case-detail-page.conversion-data-page .takeaway h2 {
  max-width: 560px !important;
  margin-top: 18px !important;
  font-size: clamp(28px, 2.45vw, 36px) !important;
  line-height: 1.18 !important;
}

html body.case-detail-page.conversion-data-page .challenge-copy p,
html body.case-detail-page.conversion-data-page .data-story-copy p,
html body.case-detail-page.conversion-data-page .happening-grid p,
html body.case-detail-page.conversion-data-page .takeaway p {
  color: var(--site-body, #33415d) !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}

html body.case-detail-page.conversion-data-page .data-story-grid {
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
  align-items: stretch !important;
}

html body.case-detail-page.conversion-data-page .data-story-copy {
  display: flex !important;
  flex-direction: column !important;
  padding-top: 0 !important;
}

html body.case-detail-page.conversion-data-page .data-story-copy h2 {
  max-width: 560px !important;
  margin: 18px 0 10px !important;
  color: var(--site-navy) !important;
  font-size: clamp(28px, 2.45vw, 36px) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
}

html body.case-detail-page.conversion-data-page .data-story-points {
  gap: 0 !important;
  margin-top: 24px !important;
  padding: 4px 18px !important;
  background: #ffffff !important;
  border: 1px solid var(--site-line) !important;
  border-radius: 18px !important;
}

html body.case-detail-page.conversion-data-page .data-story-points span {
  min-height: 72px !important;
  padding: 14px 0 !important;
  color: var(--site-text) !important;
  border-bottom: 1px solid var(--site-line) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

html body.case-detail-page.conversion-data-page .data-story-points span:last-child {
  border-bottom: 0 !important;
}

html body.case-detail-page.conversion-data-page .data-story-rule {
  display: grid;
  gap: 8px;
  margin-top: auto;
  padding: 20px 22px;
  background: var(--site-soft);
  border: 1px solid var(--site-line);
  border-radius: 18px;
}

html body.case-detail-page.conversion-data-page .data-story-rule small {
  color: var(--site-orange);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 1.2;
  text-transform: uppercase;
}

html body.case-detail-page.conversion-data-page .data-story-rule strong {
  max-width: 430px;
  color: var(--site-navy);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;
}

html body.case-detail-page.conversion-data-page .data-visual-card {
  padding: clamp(26px, 3vw, 38px) !important;
}

html body.case-detail-page.conversion-data-page .happening-grid {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr) !important;
  align-items: stretch !important;
  padding: 0 !important;
}

html body.case-detail-page.conversion-data-page .happening-grid > div:first-child,
html body.case-detail-page.conversion-data-page .result-box {
  padding: clamp(24px, 3vw, 34px) !important;
}

html body.case-detail-page.conversion-data-page .happening-grid p {
  max-width: none !important;
  margin: 18px 0 0 !important;
}

html body.case-detail-page.conversion-data-page .happening-heading {
  max-width: 760px !important;
  margin: 0 0 clamp(22px, 2.6vw, 32px) !important;
  text-align: left !important;
}

html body.case-detail-page.conversion-data-page .happening-heading .section-kicker {
  justify-content: flex-start !important;
}

html body.case-detail-page.conversion-data-page .happening-heading .section-kicker::after {
  position: static !important;
  margin-top: 0 !important;
}

html body.case-detail-page.conversion-data-page .happening-heading h2 {
  max-width: 680px !important;
  margin: 14px 0 0 !important;
  color: var(--site-navy, #163C78) !important;
  font-size: clamp(28px, 2.45vw, 36px) !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
}

html body.case-detail-page.conversion-data-page .happening-card,
html body.case-detail-page.conversion-data-page .result-box {
  display: grid !important;
  align-content: start !important;
  gap: clamp(18px, 2vw, 24px) !important;
  min-height: 320px !important;
}

html body.case-detail-page.conversion-data-page .happening-card-head,
html body.case-detail-page.conversion-data-page .result-head {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 18px !important;
  min-height: 58px !important;
  margin: 0 !important;
  color: var(--site-navy, #163C78) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

html body.case-detail-page.conversion-data-page .happening-card-head h3,
html body.case-detail-page.conversion-data-page .result-head h3 {
  margin: 0 !important;
  color: var(--site-navy, #163C78) !important;
  font-size: clamp(20px, 1.5vw, 24px) !important;
  line-height: 1.18 !important;
  font-weight: 700 !important;
}

html body.case-detail-page.conversion-data-page .circle-icon,
html body.case-detail-page.conversion-data-page .list-icon {
  width: 58px !important;
  height: 58px !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--site-blue), var(--site-navy)) !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

html body.case-detail-page.conversion-data-page .result-box .list-icon {
  background: linear-gradient(135deg, var(--site-orange), var(--site-orange-dark)) !important;
}

html body.case-detail-page.conversion-data-page .circle-icon svg,
html body.case-detail-page.conversion-data-page .list-icon svg {
  width: 32px !important;
  height: 32px !important;
  stroke: currentColor !important;
}

html body.case-detail-page.conversion-data-page .happening-card-copy {
  display: grid !important;
  gap: 14px !important;
}

html body.case-detail-page.conversion-data-page .happening-card-copy p {
  margin: 0 !important;
}

html body.case-detail-page.conversion-data-page .check-list {
  display: grid !important;
  align-content: start !important;
  gap: 14px !important;
}

html body.case-detail-page.conversion-data-page .check-list li {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
  min-height: 26px !important;
  padding-left: 0 !important;
  line-height: 1.45 !important;
}

html body.case-detail-page.conversion-data-page .check-list li::before {
  position: static !important;
  width: 22px !important;
  height: 22px !important;
  margin-top: 1px !important;
  color: #ffffff !important;
  background: var(--site-orange) !important;
  border: 0 !important;
  font-size: 12px !important;
}

html body.case-detail-page.conversion-data-page .reviewed-row {
  gap: 0 !important;
  padding: clamp(22px, 2.8vw, 32px) !important;
}

html body.case-detail-page.conversion-data-page [data-case-section="changes"] > .case-container > .centered {
  max-width: none !important;
  margin: 0 0 28px !important;
}

html body.case-detail-page.conversion-data-page [data-case-section="changes"] .section-kicker {
  position: static !important;
  justify-content: center !important;
}

html body.case-detail-page.conversion-data-page [data-case-section="changes"] .section-kicker::after {
  position: static !important;
  margin: 0 !important;
}

html body.case-detail-page.conversion-data-page .reviewed-item {
  display: grid !important;
  grid-template-rows: 70px auto !important;
  justify-items: center !important;
  align-content: start !important;
  gap: 16px !important;
  min-height: 150px !important;
  padding: 4px clamp(16px, 1.7vw, 24px) !important;
}

html body.case-detail-page.conversion-data-page .reviewed-item svg,
html body.case-detail-page.conversion-data-page .reviewed-item img {
  width: 70px !important;
  height: 70px !important;
  margin: 0 !important;
  padding: 14px !important;
  color: var(--site-blue) !important;
  background: linear-gradient(145deg, rgba(25, 50, 103, 0.12), rgba(25, 50, 103, 0.035)) !important;
  border: 1px solid rgba(25, 50, 103, 0.16) !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 24px rgba(11, 29, 79, 0.08) !important;
}

html body.case-detail-page.conversion-data-page .reviewed-item:nth-child(3n + 1) svg,
html body.case-detail-page.conversion-data-page .reviewed-item:nth-child(3n + 1) img {
  color: var(--site-orange) !important;
  background: linear-gradient(145deg, rgba(189, 141, 66, 0.17), rgba(189, 141, 66, 0.04)) !important;
  border-color: rgba(189, 141, 66, 0.2) !important;
}

html body.case-detail-page.conversion-data-page .reviewed-item svg {
  stroke-width: 1.55 !important;
}

html body.case-detail-page.conversion-data-page .reviewed-label {
  display: block !important;
  max-width: 190px !important;
  color: var(--site-navy) !important;
  font-size: clamp(15px, 1.05vw, 17px) !important;
  font-weight: 500 !important;
  line-height: 1.42 !important;
  text-align: center !important;
  text-wrap: balance;
}

html body.case-detail-page.conversion-data-page .split-section {
  padding: clamp(28px, 3vw, 38px) !important;
}

html body.case-detail-page.conversion-data-page .takeaway-grid {
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.08fr) minmax(240px, 0.52fr) !important;
  align-items: center !important;
}

html body.case-detail-page.conversion-data-page .takeaway-photo,
html body.case-detail-page.conversion-data-page .takeaway-photo img {
  min-height: 300px !important;
}

html body.case-detail-page.conversion-data-page .takeaway-photo::after,
html body.case-detail-page.conversion-data-page .takeaway-photo-caption {
  content: none !important;
  display: none !important;
}

html body.case-detail-page.conversion-data-page .takeaway-cta-card {
  align-content: center !important;
  gap: 14px !important;
  padding: 4px 0 4px 24px !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-left: 2px solid rgba(189, 141, 66, 0.42) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.case-detail-page.conversion-data-page .takeaway-cta-card strong {
  max-width: 220px !important;
  color: var(--site-navy, #163C78) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 550 !important;
}

html body.case-detail-page.conversion-data-page .takeaway-cta-card .button {
  width: fit-content !important;
  min-width: 0 !important;
  min-height: 44px !important;
  gap: 28px !important;
  padding: 10px 14px 10px 18px !important;
  color: var(--site-navy) !important;
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid rgba(189, 141, 66, 0.55) !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 20px rgba(11, 29, 79, 0.07) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

html body.case-detail-page.conversion-data-page .takeaway-cta-card .button::before {
  content: none !important;
  display: none !important;
}

html body.case-detail-page.conversion-data-page .takeaway-cta-card .button span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  margin: -2px -4px -2px 0;
  color: #ffffff;
  background: var(--site-orange);
  border-radius: 8px;
  font-size: 16px;
  line-height: 1;
}

html body.case-detail-page.conversion-data-page .takeaway-cta-card .button:is(:hover, :focus-visible) {
  color: var(--site-navy) !important;
  background: var(--site-soft) !important;
  border-color: var(--site-orange) !important;
  box-shadow: 0 11px 24px rgba(11, 29, 79, 0.1) !important;
  transform: translateY(-1px) !important;
}

html body.case-detail-page.conversion-data-page .case-more-inner {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-top: 1px solid rgba(22, 60, 120, 0.12) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: clamp(12px, 1.4vw, 18px) 0 0 !important;
}

/* Conversion case final rhythm: one type scale, one border language, purposeful motion only. */
html body.case-detail-page.conversion-data-page :is(
  .case-pill,
  .account-shot-card,
  .challenge-panel,
  .data-visual-card,
  .happening-grid,
  .reviewed-row,
  .split-section,
  .takeaway-photo,
  .takeaway-cta-card
) {
  animation: none !important;
}

html body.case-detail-page.conversion-data-page .data-gap-bar::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

html body.case-detail-page.conversion-data-page :is(
  .challenge-copy h2,
  .data-story-copy h2,
  .happening-heading h2,
  .split-section h2,
  .takeaway h2
) {
  color: var(--site-navy) !important;
  font-size: clamp(28px, 2.45vw, 36px) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
}

html body.case-detail-page.conversion-data-page .split-section h2 {
  margin-bottom: 18px !important;
}

html body.case-detail-page.conversion-data-page :is(
  .challenge-copy p,
  .data-story-copy p,
  .data-visual-note,
  .happening-grid p,
  .orange-list li,
  .takeaway p
) {
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

html body.case-detail-page.conversion-data-page .case-pill strong {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

html body.case-detail-page.conversion-data-page .case-pill small {
  font-size: 11px !important;
}

html body.case-detail-page.conversion-data-page :is(
  .account-shot-card,
  .challenge-panel,
  .data-visual-card,
  .happening-card,
  .result-box,
  .reviewed-row,
  .split-section,
  .takeaway-photo
) {
  border-color: var(--site-line) !important;
}

html body.case-detail-page.conversion-data-page .rule {
  background: var(--site-line) !important;
}

@media (max-width: 980px) {
  html body.case-detail-page.conversion-data-page .case-container,
  html body.case-detail-page.conversion-data-page .case-back-nav {
    width: min(100% - 32px, 1240px) !important;
  }

  html body.case-detail-page.conversion-data-page .case-back-nav {
    margin-bottom: 48px !important;
  }

  html body.case-detail-page.conversion-data-page .case-hero-grid,
  html body.case-detail-page.conversion-data-page .challenge-panel,
  html body.case-detail-page.conversion-data-page .data-story-grid,
  html body.case-detail-page.conversion-data-page .happening-grid,
  html body.case-detail-page.conversion-data-page .split-section,
  html body.case-detail-page.conversion-data-page .takeaway-grid {
    grid-template-columns: 1fr !important;
  }

  html body.case-detail-page.conversion-data-page .case-hero h1 {
    font-size: clamp(38px, 10vw, 48px) !important;
  }

  html body.case-detail-page.conversion-data-page .reviewed-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    row-gap: 22px !important;
  }

  html body.case-detail-page.conversion-data-page .reviewed-item {
    min-height: 142px !important;
  }

  html body.case-detail-page.conversion-data-page .takeaway-cta-card {
    padding: 22px 0 0 !important;
    border-top: 1px solid var(--site-line) !important;
    border-left: 0 !important;
  }
}

@media (max-width: 640px) {
  html body.case-detail-page.conversion-data-page {
    --case-unified-space: 42px;
  }

  html body.case-detail-page.conversion-data-page .case-pills,
  html body.case-detail-page.conversion-data-page .account-shot-insights,
  html body.case-detail-page.conversion-data-page .data-gap-bars,
  html body.case-detail-page.conversion-data-page .duplicate-flow,
  html body.case-detail-page.conversion-data-page .reviewed-row {
    grid-template-columns: 1fr !important;
  }

  html body.case-detail-page.conversion-data-page .case-back-link {
    width: 100% !important;
  }

  html body.case-detail-page.conversion-data-page .hero-signal-gap-values {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  }

  html body.case-detail-page.conversion-data-page .hero-signal-delta {
    grid-column: 1 / -1;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    gap: 10px !important;
    padding: 14px 0 0;
    border-top: 1px solid var(--site-line);
    border-left: 0;
  }

  html body.case-detail-page.conversion-data-page .reviewed-item {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    justify-items: start !important;
    gap: 18px !important;
    min-height: 92px !important;
    padding: 12px 4px !important;
    border-left: 0 !important;
    border-top: 1px solid var(--site-line) !important;
  }

  html body.case-detail-page.conversion-data-page .reviewed-item:first-child {
    border-top: 0 !important;
  }

  html body.case-detail-page.conversion-data-page .reviewed-item svg,
  html body.case-detail-page.conversion-data-page .reviewed-item img {
    width: 64px !important;
    height: 64px !important;
    padding: 12px !important;
  }

  html body.case-detail-page.conversion-data-page .reviewed-label {
    max-width: none !important;
    text-align: left !important;
  }

  html body.case-detail-page.conversion-data-page .happening-card,
  html body.case-detail-page.conversion-data-page .result-box {
    min-height: 0 !important;
  }

  html body.case-detail-page.conversion-data-page .happening-card-head,
  html body.case-detail-page.conversion-data-page .result-head {
    grid-template-columns: 52px minmax(0, 1fr) !important;
  }

  html body.case-detail-page.conversion-data-page .circle-icon,
  html body.case-detail-page.conversion-data-page .list-icon {
    width: 52px !important;
    height: 52px !important;
  }
}

/* Launch case hero final fit */
html body.case-detail-page.launch-case-page .launch-hero {
  padding-top: clamp(32px, 3.4vw, 50px) !important;
  padding-bottom: clamp(46px, 5vw, 76px) !important;
}

html body.case-detail-page.launch-case-page .case-study-topline {
  margin-bottom: clamp(34px, 4vw, 56px) !important;
}

html body.case-detail-page.launch-case-page .launch-hero-shell {
  display: grid !important;
  grid-template-columns: minmax(400px, 0.92fr) minmax(460px, 1.08fr) !important;
  gap: clamp(36px, 5vw, 76px) !important;
  align-items: center !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.case-detail-page.launch-case-page .launch-hero-copy {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 720px !important;
  min-width: 0 !important;
  padding: 0 !important;
}

html body.case-detail-page.launch-case-page .launch-hero-copy .campaign-kicker {
  margin-bottom: clamp(16px, 1.8vw, 22px) !important;
}

html body.case-detail-page.launch-case-page .launch-hero-copy h1 {
  max-width: 720px !important;
  margin: 0 !important;
  font-size: clamp(42px, 4vw, 58px) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

html body.case-detail-page.launch-case-page .launch-hero-copy > p:not(.campaign-kicker) {
  max-width: 560px !important;
  margin-top: clamp(20px, 2.2vw, 28px) !important;
  color: var(--site-text, #33415d) !important;
  font-size: clamp(16px, 1.08vw, 18px) !important;
  line-height: 1.72 !important;
}

html body.case-detail-page.launch-case-page .launch-hero-media {
  position: relative !important;
  inset: auto !important;
  justify-self: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  height: clamp(360px, 33vw, 500px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(16, 42, 86, 0.12) !important;
  border-radius: 22px !important;
  box-shadow: none !important;
}

html body.case-detail-page.launch-case-page .launch-hero-media::before,
html body.case-detail-page.launch-case-page .launch-hero-media::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

html body.case-detail-page.launch-case-page .launch-hero-media img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center 52% !important;
  transform: none !important;
  filter: none !important;
  opacity: 1 !important;
}

html body.case-detail-page.launch-case-page .launch-photo-badges {
  top: clamp(14px, 1.6vw, 20px) !important;
  right: clamp(14px, 1.6vw, 20px) !important;
  left: auto !important;
  max-width: min(92%, 520px) !important;
}

html body.case-detail-page.launch-case-page .launch-client-goal {
  left: clamp(16px, 1.8vw, 24px) !important;
  right: auto !important;
  bottom: clamp(16px, 1.8vw, 24px) !important;
  width: min(86%, 390px) !important;
  max-width: 390px !important;
  padding: clamp(15px, 1.5vw, 20px) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: none !important;
}

@media (max-width: 1100px) {
  html body.case-detail-page.launch-case-page .launch-hero-shell {
    grid-template-columns: 1fr !important;
    gap: clamp(28px, 4vw, 44px) !important;
  }

  html body.case-detail-page.launch-case-page .launch-hero-copy {
    max-width: 760px !important;
  }

  html body.case-detail-page.launch-case-page .launch-hero-copy h1 {
    max-width: 760px !important;
    font-size: clamp(38px, 6vw, 54px) !important;
  }

  html body.case-detail-page.launch-case-page .launch-hero-media {
    height: clamp(340px, 52vw, 480px) !important;
  }
}

@media (max-width: 640px) {
  html body.case-detail-page.launch-case-page .launch-hero {
    padding-top: 26px !important;
  }

  html body.case-detail-page.launch-case-page .case-study-topline {
    margin-bottom: 28px !important;
  }

  html body.case-detail-page.launch-case-page .launch-hero-copy h1 {
    font-size: clamp(34px, 10vw, 44px) !important;
    line-height: 1.1 !important;
  }

  html body.case-detail-page.launch-case-page .launch-hero-media {
    height: min(92vw, 390px) !important;
    border-radius: 18px !important;
  }

  html body.case-detail-page.launch-case-page .launch-photo-badges {
    top: 12px !important;
    right: 12px !important;
    left: 12px !important;
    justify-content: flex-start !important;
  }

  html body.case-detail-page.launch-case-page .launch-client-goal {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
    max-width: none !important;
  }
}

/* Google Ads Audit page */
html body.audit-page {
  background: #ffffff !important;
  color: var(--site-text, #465773) !important;
}

html body.audit-page main,
html body.audit-page .audit-hero,
html body.audit-page .audit-section {
  background: #ffffff !important;
  background-image: none !important;
}

html body.audit-page .audit-hero,
html body.audit-page .audit-section {
  padding: clamp(54px, 6vw, 92px) 0 !important;
}

html body.audit-page .audit-hero {
  padding-top: clamp(42px, 5vw, 74px) !important;
  padding-bottom: clamp(26px, 3.2vw, 46px) !important;
}

html body.audit-page .audit-hero + .audit-section {
  padding-top: clamp(28px, 3.4vw, 48px) !important;
}

html body.audit-page .audit-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(390px, 1fr);
  gap: clamp(32px, 4vw, 58px);
  align-items: start;
}

html body.audit-page .audit-hero-copy {
  max-width: 680px;
}

html body.audit-page .audit-hero-copy h1 {
  margin: 0;
  max-width: 620px;
  color: var(--site-navy, #071846) !important;
  font-size: clamp(36px, 3.35vw, 52px) !important;
  line-height: 1.12 !important;
}

html body.audit-page .audit-hero-copy > p:not(.eyebrow) {
  max-width: 590px;
  margin: clamp(26px, 2.6vw, 38px) 0 0;
  color: var(--site-text, #465773) !important;
  font-size: clamp(16px, 1.1vw, 19px);
  line-height: 1.72;
}

html body.audit-page .audit-mini-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: clamp(30px, 3vw, 44px) 0 0;
  padding: 0;
  list-style: none;
}

html body.audit-page .audit-mini-points li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 13px;
  color: var(--site-navy, #071846);
  background: #ffffff;
  border: 1px solid rgba(224, 111, 32, 0.22);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
}

html body.audit-page .audit-mini-points li::before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--site-orange, #e06f20);
  border-radius: 999px;
}

html body.audit-page .audit-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
  align-items: center;
  margin-top: clamp(34px, 3.8vw, 52px);
}

html body.audit-page .audit-hero-actions span {
  color: var(--site-muted, #64748b);
  font-size: 14px;
  font-weight: 650;
}

html body.audit-page .audit-visual-card,
html body.audit-page .audit-card,
html body.audit-page .audit-checklist-panel,
html body.audit-page .audit-price-card,
html body.audit-page .audit-cta-card,
html body.audit-page .audit-book-form,
html body.audit-page .audit-faq-list details {
  background: #ffffff;
  border: 1px solid rgba(7, 24, 70, 0.1);
  border-radius: 14px;
  box-shadow: 0 16px 34px rgba(7, 24, 70, 0.06);
}

html body.audit-page .audit-visual-card {
  position: relative;
  padding: clamp(18px, 2vw, 24px);
  overflow: hidden;
}

html body.audit-page .audit-recommendations-card {
  display: grid;
  align-content: start;
  gap: 14px;
  justify-self: end;
  width: min(100%, 680px);
  margin-top: clamp(14px, 1.7vw, 18px);
  padding: clamp(8px, 1vw, 10px);
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}

html body.audit-page .audit-recommendations-shot-frame {
  overflow: hidden;
  border: 1px solid rgba(7, 24, 70, 0.12);
  border-radius: 12px;
  background: #eef1f4;
}

html body.audit-page .audit-recommendations-shot {
  display: block;
  width: 100%;
  height: auto;
}

html body.audit-page .audit-recommendations-note {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  color: var(--site-navy, #071846);
  background: #fff7ef;
  border: 1px solid rgba(224, 111, 32, 0.2);
  border-radius: 12px;
}

html body.audit-page .audit-recommendations-note strong {
  color: var(--site-navy, #071846);
  font-size: 15px;
  line-height: 1.25;
}

html body.audit-page .audit-recommendations-note span {
  color: var(--site-text, #465773);
  font-size: 14px;
  line-height: 1.5;
}

html body.audit-page .audit-screen {
  overflow: hidden;
  border: 1px solid rgba(7, 24, 70, 0.12);
  border-radius: 12px;
  background: #f7faff;
}

html body.audit-page .audit-screen-top {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 14px 16px;
  color: var(--site-navy, #071846);
  background: #ffffff;
  border-bottom: 1px solid rgba(7, 24, 70, 0.09);
}

html body.audit-page .audit-google-mark {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background:
    linear-gradient(135deg, #4285f4 0 42%, transparent 42%),
    linear-gradient(45deg, #34a853 0 38%, transparent 38%),
    linear-gradient(90deg, #fbbc04 0 45%, transparent 45%),
    linear-gradient(135deg, transparent 48%, #ea4335 49% 62%, transparent 63%);
}

html body.audit-page .audit-search {
  justify-self: end;
  width: min(100%, 230px);
  padding: 9px 12px;
  color: var(--site-muted, #64748b);
  background: #f7faff;
  border: 1px solid rgba(7, 24, 70, 0.1);
  border-radius: 999px;
  font-size: 13px;
}

html body.audit-page .audit-screen-body {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  min-height: 360px;
}

html body.audit-page .audit-screen-body nav {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 18px 14px;
  border-right: 1px solid rgba(7, 24, 70, 0.08);
}

html body.audit-page .audit-screen-body nav span {
  padding: 9px 10px;
  color: var(--site-text, #465773);
  border-radius: 9px;
  font-size: 13px;
  font-weight: 700;
}

html body.audit-page .audit-screen-body nav .is-active {
  color: var(--site-blue, #1767d9);
  background: #eaf2ff;
}

html body.audit-page .audit-screen-content {
  display: grid;
  gap: 16px;
  padding: 18px;
}

html body.audit-page .audit-metrics-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

html body.audit-page .audit-metrics-row article {
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(7, 24, 70, 0.08);
  border-radius: 10px;
}

html body.audit-page .audit-metrics-row span,
html body.audit-page .audit-metrics-row small {
  display: block;
  color: var(--site-muted, #64748b);
  font-size: 12px;
  font-weight: 700;
}

html body.audit-page .audit-metrics-row strong {
  display: block;
  margin: 8px 0 4px;
  color: var(--site-navy, #071846);
  font-size: 24px;
  line-height: 1;
}

html body.audit-page .audit-chart {
  display: flex;
  align-items: end;
  gap: 9px;
  min-height: 120px;
  padding: 18px;
  background: #ffffff;
  border: 1px solid rgba(7, 24, 70, 0.08);
  border-radius: 10px;
}

html body.audit-page .audit-chart i {
  flex: 1;
  min-width: 10px;
  background: linear-gradient(180deg, var(--site-blue, #1767d9), #8bb8ff);
  border-radius: 999px 999px 0 0;
}

html body.audit-page .audit-chart i:nth-child(even) {
  background: linear-gradient(180deg, var(--site-orange, #e06f20), #ffc28f);
}

html body.audit-page .audit-visual-checklist,
html body.audit-page .audit-ga4-chip {
  display: grid;
  gap: 8px;
  padding: 14px;
  background: #ffffff;
  border: 1px solid rgba(224, 111, 32, 0.16);
  border-radius: 10px;
}

html body.audit-page .audit-visual-checklist strong {
  color: var(--site-navy, #071846);
}

html body.audit-page .audit-visual-checklist span {
  color: var(--site-text, #465773);
  font-size: 13px;
}

html body.audit-page .audit-visual-checklist span::before {
  content: "✓";
  margin-right: 8px;
  color: var(--site-orange, #e06f20);
  font-weight: 800;
}

html body.audit-page .audit-ga4-chip {
  position: absolute;
  right: 34px;
  bottom: 34px;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  width: min(72%, 260px);
}

html body.audit-page .audit-ga4-chip > span {
  width: 28px;
  height: 34px;
  border-radius: 999px 999px 4px 4px;
  background: linear-gradient(180deg, #fbbc04, #f57c00);
}

html body.audit-page .audit-ga4-chip > span::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  margin: 20px 0 0 -8px;
  background: #f57c00;
  border-radius: 999px;
}

html body.audit-page .section-head {
  max-width: 760px;
  margin-bottom: clamp(26px, 3vw, 42px);
}

html body.audit-page .audit-step-grid,
html body.audit-page .audit-included-grid,
html body.audit-page .audit-pricing-grid {
  display: grid;
  gap: clamp(16px, 2vw, 24px);
}

html body.audit-page .audit-step-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

html body.audit-page .audit-included-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

html body.audit-page .audit-included-grid .audit-card {
  --audit-card-accent: var(--site-blue, #1767d9);
  position: relative;
  min-height: 178px;
  overflow: hidden;
  background: #ffffff;
  border-color: rgba(23, 103, 217, 0.16);
  border-left: 4px solid var(--audit-card-accent);
  box-shadow: none !important;
}

html body.audit-page .audit-included-grid .audit-card:nth-child(even) {
  --audit-card-accent: var(--site-orange, #e06f20);
  border-color: rgba(224, 111, 32, 0.18);
}

html body.audit-page .audit-included-grid .audit-card::before {
  content: "";
  position: absolute;
  top: 22px;
  right: 22px;
  width: 18px;
  height: 18px;
  background: var(--audit-card-accent);
  border-radius: 999px;
  opacity: 0.9;
}

html body.audit-page .audit-included-grid .audit-card::after {
  content: "";
  position: absolute;
  top: 29px;
  right: 29px;
  width: 4px;
  height: 4px;
  background: #ffffff;
  border-radius: 999px;
}

html body.audit-page .audit-included-grid .audit-card h3 {
  padding-right: 34px;
}

html body.audit-page .audit-included-grid .audit-card h3::after {
  content: "";
  display: block;
  width: 34px;
  height: 3px;
  margin-top: 12px;
  background: var(--audit-card-accent);
  border-radius: 999px;
}

html body.audit-page .audit-included-grid .audit-card:hover {
  border-color: rgba(23, 103, 217, 0.28);
  box-shadow: none !important;
}

html body.audit-page .audit-included-grid .audit-card:nth-child(even):hover {
  border-color: rgba(224, 111, 32, 0.32);
}

html body.audit-page .audit-pricing-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}

html body.audit-page .audit-card,
html body.audit-page .audit-price-card {
  padding: clamp(22px, 2.5vw, 30px);
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

html body.audit-page .audit-step-card {
  display: grid;
  align-content: start;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

html body.audit-page .audit-step-card:hover .audit-step-photo {
  transform: scale(1.035);
}

html body.audit-page .audit-step-photo {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  object-fit: cover;
  object-position: center;
  transition: transform 0.32s ease;
}

html body.audit-page .audit-step-content {
  position: relative;
  display: grid;
  align-content: start;
  min-height: 176px;
  padding: 28px clamp(20px, 2vw, 26px) clamp(22px, 2.4vw, 28px);
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

html body.audit-page .audit-step-number {
  position: absolute;
  top: -20px;
  left: clamp(20px, 2vw, 26px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: #ffffff;
  background: var(--site-orange, #e06f20);
  border: 4px solid #ffffff;
  border-radius: 14px;
  box-shadow: 0 10px 22px rgba(224, 111, 32, 0.2);
  font-size: 14px;
  font-weight: 800;
}

html body.audit-page .audit-card:hover,
html body.audit-page .audit-price-card:hover {
  transform: translateY(-4px);
  border-color: rgba(224, 111, 32, 0.25);
  box-shadow: 0 20px 42px rgba(7, 24, 70, 0.08);
}

html body.audit-page .audit-card > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin-bottom: 18px;
  color: #ffffff;
  background: var(--site-orange, #e06f20);
  border-radius: 12px;
  font-weight: 800;
}

html body.audit-page .audit-card h3,
html body.audit-page .audit-price-card h3 {
  margin: 0 0 12px;
  color: var(--site-navy, #071846);
  font-size: clamp(19px, 1.4vw, 24px) !important;
  line-height: 1.22;
}

html body.audit-page .audit-card p,
html body.audit-page .audit-price-card li {
  margin: 0;
  color: var(--site-text, #465773);
  font-size: 15px;
  line-height: 1.65;
}

html body.audit-page .audit-checklist-panel {
  padding: clamp(26px, 4vw, 44px);
  background:
    radial-gradient(circle at 92% 8%, rgba(23, 103, 217, 0.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

html body.audit-page .audit-checklist-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}

html body.audit-page .audit-score-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

html body.audit-page .audit-reset-button {
  min-height: 46px;
  color: var(--site-navy, #071846);
  background: #ffffff;
}

html body.audit-page .audit-checklist-head p {
  max-width: 540px;
  margin: 10px 0 0;
}

html body.audit-page .audit-checklist-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

html body.audit-page .audit-checklist-grid label,
html body.audit-page .audit-consent {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  color: var(--site-navy, #071846);
  background: linear-gradient(135deg, #ffffff 0%, #fbfdff 100%);
  border: 1px solid rgba(7, 24, 70, 0.09);
  border-radius: 10px;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.45;
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

html body.audit-page .audit-checklist-grid label:nth-child(3n + 1) {
  border-left: 4px solid rgba(224, 111, 32, 0.72);
}

html body.audit-page .audit-checklist-grid label:nth-child(3n + 2) {
  border-left: 4px solid rgba(23, 103, 217, 0.68);
}

html body.audit-page .audit-checklist-grid label:nth-child(3n) {
  border-left: 4px solid rgba(14, 165, 139, 0.58);
}

html body.audit-page .audit-checklist-grid label:hover {
  transform: translateY(-2px);
  border-color: rgba(224, 111, 32, 0.28);
}

html body.audit-page .audit-checklist-grid label:has(input:checked) {
  background: linear-gradient(135deg, #fff7ef 0%, #eef5ff 100%);
  border-color: rgba(224, 111, 32, 0.34);
}

html body.audit-page input[type="checkbox"] {
  width: 20px;
  height: 20px;
  accent-color: var(--site-orange, #e06f20);
  cursor: pointer;
}

html body.audit-page .audit-score-result {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  margin-top: 22px;
  padding: 18px;
  background:
    linear-gradient(135deg, rgba(255, 247, 239, 0.96), rgba(239, 246, 255, 0.96));
  border: 1px solid rgba(224, 111, 32, 0.22);
  border-radius: 12px;
}

html body.audit-page .audit-score-result[data-score-level="low"] {
  background: linear-gradient(135deg, #fff7ef 0%, #fff1e5 100%);
  border-color: rgba(224, 111, 32, 0.32);
}

html body.audit-page .audit-score-result[data-score-level="mid"] {
  background: linear-gradient(135deg, #fff7ef 0%, #eff6ff 100%);
  border-color: rgba(224, 111, 32, 0.28);
}

html body.audit-page .audit-score-result[data-score-level="high"] {
  background: linear-gradient(135deg, #effdf8 0%, #eff6ff 100%);
  border-color: rgba(14, 165, 139, 0.28);
}

html body.audit-page .audit-score-result[hidden],
html body.audit-page .audit-form-success[hidden] {
  display: none;
}

html body.audit-page .audit-score-result span {
  display: block;
  color: var(--site-orange, #e06f20);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

html body.audit-page .audit-score-result strong {
  display: block;
  color: var(--site-navy, #071846);
  font-size: 34px;
  line-height: 1;
}

html body.audit-page .audit-score-result p {
  margin: 0;
  color: var(--site-text, #465773);
  font-size: 15px;
  line-height: 1.6;
}

html body.audit-page .audit-price-card {
  display: grid;
  grid-template-rows: auto minmax(62px, auto) auto 1fr auto;
  align-content: stretch;
  gap: 15px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

html body.audit-page .audit-price-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, rgba(23, 103, 217, 0.76), rgba(224, 111, 32, 0.52));
}

html body.audit-page .audit-price-card.is-featured::before {
  background: linear-gradient(90deg, rgba(224, 111, 32, 0.92), rgba(23, 103, 217, 0.36));
}

html body.audit-page .audit-price-card h3 {
  display: flex;
  align-items: flex-start;
  margin: 0;
  max-width: 11.5em;
}

html body.audit-page .audit-price-card strong {
  color: var(--site-navy, #071846);
  font-size: clamp(32px, 3vw, 44px);
  line-height: 1;
}

html body.audit-page .audit-price-label,
html body.audit-page .audit-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  width: max-content;
  padding: 6px 10px;
  color: var(--site-orange, #e06f20);
  border: 1px solid rgba(224, 111, 32, 0.24);
  background: rgba(255, 247, 239, 0.72);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

html body.audit-page .audit-price-label-blue {
  color: var(--site-blue, #1767d9);
  background: rgba(239, 246, 255, 0.92);
  border-color: rgba(23, 103, 217, 0.2);
}

html body.audit-page .audit-price-card ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

html body.audit-page .audit-price-card li::before {
  content: "✓";
  margin-right: 8px;
  color: var(--site-orange, #e06f20);
  font-weight: 800;
}

html body.audit-page .audit-price-card .button {
  justify-self: start;
  align-self: end;
  min-height: 48px;
}

html body.audit-page .audit-price-card .button-secondary {
  color: var(--site-navy, #071846) !important;
  background: #ffffff !important;
  border-color: rgba(23, 103, 217, 0.22) !important;
  box-shadow: none !important;
}

html body.audit-page .audit-price-card .button-secondary:hover,
html body.audit-page .audit-price-card .button-secondary:focus-visible {
  color: var(--site-navy, #071846) !important;
  background: #eef5ff !important;
  border-color: rgba(23, 103, 217, 0.44) !important;
  box-shadow: 0 0 0 4px rgba(23, 103, 217, 0.08) !important;
  transform: translateY(-2px);
}

html body.audit-page .audit-cta-card,
html body.audit-page .audit-book-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, auto);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
}

html body.audit-page .audit-cta-card {
  position: relative;
  overflow: hidden;
  padding: clamp(30px, 4vw, 48px);
  color: var(--site-navy, #071846);
  background: #ffffff;
  border-color: rgba(7, 24, 70, 0.1);
  box-shadow: none;
}

html body.audit-page .audit-cta-card::before {
  content: none;
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: none;
}

html body.audit-page .audit-cta-copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 16px;
}

html body.audit-page .audit-cta-kicker {
  display: inline-flex;
  width: max-content;
  padding: 7px 11px;
  color: var(--site-orange, #e06f20);
  background: #fff7ef;
  border: 1px solid rgba(224, 111, 32, 0.22);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

html body.audit-page .audit-cta-card h2 {
  color: var(--site-navy, #071846);
}

html body.audit-page .audit-cta-card p {
  max-width: 680px;
  color: var(--site-text, #465773);
}

html body.audit-page .audit-cta-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}

html body.audit-page .audit-cta-benefits li {
  display: grid;
  gap: 3px;
  position: relative;
  padding: 13px 14px 13px 42px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(23, 103, 217, 0.12);
  border-radius: 12px;
}

html body.audit-page .audit-cta-benefits li::before {
  content: "✓";
  position: absolute;
  top: 14px;
  left: 14px;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  color: #ffffff;
  background: var(--site-orange, #e06f20);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

html body.audit-page .audit-cta-benefits strong {
  color: var(--site-navy, #071846);
  font-size: 14px;
  line-height: 1.25;
}

html body.audit-page .audit-cta-benefits span {
  color: var(--site-muted, #64748b);
  font-size: 13px;
  line-height: 1.35;
}

html body.audit-page .audit-cta-action {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: stretch;
  gap: 14px;
  min-width: 240px;
  padding: 22px;
  background: #ffffff;
  border: 1px solid rgba(23, 103, 217, 0.16);
  border-radius: 14px;
  box-shadow: none;
}

html body.audit-page .audit-cta-action span {
  color: var(--site-blue, #1767d9);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
}

html body.audit-page .audit-cta-action .button {
  width: 100%;
  min-height: 54px;
  box-shadow: none;
}

html body.audit-page .audit-faq-layout {
  display: grid;
  grid-template-columns: minmax(180px, 0.22fr) minmax(0, 0.78fr);
  gap: clamp(24px, 4vw, 54px);
  align-items: start;
}

html body.audit-page .audit-faq-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

html body.audit-page .audit-faq-list details {
  position: relative;
  padding: 0;
  overflow: hidden;
  border-left: 4px solid var(--site-blue, #1767d9);
  box-shadow: none !important;
}

html body.audit-page .audit-faq-list details:nth-child(even) {
  border-left-color: var(--site-orange, #e06f20);
}

html body.audit-page .audit-faq-list summary {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  cursor: pointer;
  min-height: 78px;
  padding: 18px 18px 18px 16px;
  color: var(--site-navy, #071846);
  font-size: 16px;
  font-weight: 760;
  line-height: 1.25;
  list-style: none;
}

html body.audit-page .audit-faq-list summary::-webkit-details-marker {
  display: none;
}

html body.audit-page .audit-faq-list summary::before {
  content: "";
  width: 24px;
  height: 24px;
  background: rgba(23, 103, 217, 0.1);
  border: 1px solid rgba(23, 103, 217, 0.22);
  border-radius: 999px;
}

html body.audit-page .audit-faq-list details:nth-child(even) summary::before {
  background: rgba(224, 111, 32, 0.1);
  border-color: rgba(224, 111, 32, 0.26);
}

html body.audit-page .audit-faq-list summary::after {
  content: "";
  position: absolute;
  left: 25px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--site-blue, #1767d9);
  border-bottom: 2px solid var(--site-blue, #1767d9);
  transform: translateY(-50%) rotate(-45deg);
  transition: transform 0.18s ease;
}

html body.audit-page .audit-faq-list details:nth-child(even) summary::after {
  border-color: var(--site-orange, #e06f20);
}

html body.audit-page .audit-faq-list details[open] summary::after {
  transform: translateY(-58%) rotate(45deg);
}

html body.audit-page .audit-faq-list p {
  margin: 0;
  padding: 0 18px 16px 54px;
  color: var(--site-text, #465773);
  font-size: 14px;
  line-height: 1.62;
}

html body.audit-page .audit-book-layout {
  align-items: start;
}

html body.audit-page .audit-book-copy {
  max-width: 520px;
}

html body.audit-page .audit-book-form {
  display: grid;
  gap: 16px;
  width: 100%;
  padding: clamp(24px, 3vw, 36px);
}

html body.audit-page .audit-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

html body.audit-page .audit-book-form label {
  display: grid;
  gap: 8px;
  color: var(--site-navy, #071846);
  font-size: 14px;
  font-weight: 760;
}

html body.audit-page .audit-book-form input,
html body.audit-page .audit-book-form select,
html body.audit-page .audit-book-form textarea {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  padding: 12px 14px;
  color: var(--site-navy, #071846);
  background: #ffffff;
  border: 1px solid rgba(7, 24, 70, 0.14);
  border-radius: 10px;
  font: inherit;
  font-weight: 600;
}

html body.audit-page .audit-book-form textarea {
  min-height: 130px;
  resize: vertical;
}

html body.audit-page .audit-form-success {
  margin: 0;
  padding: 14px 16px;
  color: #166534;
  background: #ecfdf5;
  border: 1px solid rgba(22, 101, 52, 0.18);
  border-radius: 10px;
}

@media (max-width: 1100px) {
  html body.audit-page .audit-hero-grid,
  html body.audit-page .audit-book-layout,
  html body.audit-page .audit-faq-layout {
    grid-template-columns: 1fr;
  }

  html body.audit-page .audit-step-grid,
  html body.audit-page .audit-included-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html body.audit-page .audit-pricing-grid {
    grid-template-columns: 1fr;
  }

  html body.audit-page .audit-recommendations-card {
    justify-self: stretch;
    width: auto;
    margin-top: 0;
  }
}

@media (max-width: 720px) {
  html body.audit-page .audit-screen-body,
  html body.audit-page .audit-metrics-row,
  html body.audit-page .audit-checklist-grid,
  html body.audit-page .audit-score-result,
  html body.audit-page .audit-form-grid,
  html body.audit-page .audit-step-grid,
  html body.audit-page .audit-included-grid,
  html body.audit-page .audit-faq-list {
    grid-template-columns: 1fr;
  }

  html body.audit-page .audit-screen-body nav {
    display: none;
  }

  html body.audit-page .audit-checklist-head,
  html body.audit-page .audit-cta-card {
    display: grid;
    grid-template-columns: 1fr;
  }

  html body.audit-page .audit-cta-benefits {
    grid-template-columns: 1fr;
  }

  html body.audit-page .audit-cta-action {
    min-width: 0;
  }

  html body.audit-page .audit-ga4-chip {
    position: static;
    width: auto;
    margin-top: 14px;
  }
}

/* Keep the brand infinity mark as one clean, balanced symbol across pages. */
html body .brand-symbol,
html body .footer-infinity,
html body .footer-brand-symbol {
  display: inline-block !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 15px !important;
  color: transparent !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 36'%3E%3Cpath d='M32 18C25 8 16 7 10 13C3 20 10 30 20 27C25.5 25.4 29.3 20.7 32 18C34.7 15.3 38.5 10.6 44 9C54 6 61 16 54 23C48 29 39 28 32 18Z' fill='none' stroke='%23071846' stroke-width='4.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0 !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  overflow: hidden !important;
  text-indent: -9999px !important;
  transform: none !important;
}

/* Site rule: footer social icons use one navy/orange treatment on every page. */
html body .footer-socials,
html body .site-footer .footer-socials,
html body .page-footer .footer-socials {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 22px !important;
}

html body .footer-social,
html body .site-footer .footer-social,
html body .page-footer .footer-social {
  position: relative !important;
  display: inline-flex !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  color: var(--site-navy, #071846) !important;
  background: #ffffff !important;
  border: 1.5px solid rgba(7, 24, 70, 0.2) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease !important;
}

html body .footer-social::after,
html body .site-footer .footer-social::after,
html body .page-footer .footer-social::after {
  content: none !important;
  display: none !important;
}

html body .footer-social svg,
html body .site-footer .footer-social svg,
html body .page-footer .footer-social svg {
  display: block !important;
  width: 21px !important;
  height: 21px !important;
  color: currentColor !important;
  transform: none !important;
  transition: transform 0.18s ease !important;
}

html body .footer-social:not(.mail) svg,
html body .site-footer .footer-social:not(.mail) svg,
html body .page-footer .footer-social:not(.mail) svg,
html body .footer-social:not(.mail) svg path,
html body .site-footer .footer-social:not(.mail) svg path,
html body .page-footer .footer-social:not(.mail) svg path {
  fill: currentColor !important;
  stroke: none !important;
}

html body .footer-social.mail svg,
html body .site-footer .footer-social.mail svg,
html body .page-footer .footer-social.mail svg,
html body .footer-social.mail svg path,
html body .site-footer .footer-social.mail svg path,
html body .page-footer .footer-social.mail svg path {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body .footer-social:hover,
html body .footer-social:focus-visible,
html body .site-footer .footer-social:hover,
html body .site-footer .footer-social:focus-visible,
html body .page-footer .footer-social:hover,
html body .page-footer .footer-social:focus-visible {
  color: var(--site-orange, #e06f20) !important;
  background: #fffaf5 !important;
  border-color: rgba(224, 111, 32, 0.55) !important;
  box-shadow: none !important;
  outline: 0 !important;
  transform: translateY(-2px) !important;
}

/* Site rule: footer social buttons use a clean ring accent, not dot markers. */
html body .footer-social::before,
html body .site-footer .footer-social::before,
html body .page-footer .footer-social::before {
  content: none !important;
  display: none !important;
}

html body .footer-social:hover,
html body .footer-social:focus-visible,
html body .site-footer .footer-social:hover,
html body .site-footer .footer-social:focus-visible,
html body .page-footer .footer-social:hover,
html body .page-footer .footer-social:focus-visible {
  background: #ffffff !important;
  border-color: var(--site-orange, #e06f20) !important;
  outline: 3px solid rgba(224, 111, 32, 0.12) !important;
}

html body .footer-social:hover svg,
html body .footer-social:focus-visible svg,
html body .site-footer .footer-social:hover svg,
html body .site-footer .footer-social:focus-visible svg,
html body .page-footer .footer-social:hover svg,
html body .page-footer .footer-social:focus-visible svg {
  transform: scale(1.06) !important;
}

/* Homepage rule: improvement cards use detailed navy/orange icons and clean site styling. */
html body .improvements .improvement-grid {
  align-items: stretch !important;
  gap: clamp(18px, 1.8vw, 26px) !important;
}

html body .improvements .improvement-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  padding: clamp(24px, 2.1vw, 32px) !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(7, 24, 70, 0.12) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

html body .improvements .improvement-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto auto 0 !important;
  width: 100% !important;
  height: 3px !important;
  background: var(--site-navy, #071846) !important;
  opacity: 0.9 !important;
}

html body .improvements .improvement-card:nth-child(even)::before {
  background: var(--site-orange, #e06f20) !important;
}

html body .improvements .improvement-icon {
  display: inline-grid !important;
  place-items: center !important;
  width: 62px !important;
  height: 62px !important;
  margin: 0 0 26px !important;
  color: var(--site-navy, #071846) !important;
  background: #f8fbff !important;
  border: 1px solid rgba(7, 24, 70, 0.14) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

html body .improvements .improvement-card:nth-child(even) .improvement-icon {
  color: var(--site-orange, #e06f20) !important;
  background: #fffaf5 !important;
  border-color: rgba(224, 111, 32, 0.24) !important;
}

html body .improvements .improvement-icon svg {
  display: block !important;
  width: 31px !important;
  height: 31px !important;
  overflow: visible !important;
}

html body .improvements .improvement-icon .icon-line {
  fill: none !important;
  stroke: var(--site-navy, #071846) !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body .improvements .improvement-icon .icon-accent {
  fill: none !important;
  stroke: var(--site-orange, #e06f20) !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body .improvements .improvement-icon .icon-accent-fill {
  fill: rgba(224, 111, 32, 0.16) !important;
  stroke: var(--site-orange, #e06f20) !important;
  stroke-width: 2.1 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body .improvements .improvement-icon .icon-dot {
  fill: var(--site-orange, #e06f20) !important;
  stroke: none !important;
}

html body .improvements .improvement-card h3 {
  margin-bottom: 12px !important;
}

html body .improvements .improvement-card p {
  margin: 0 !important;
  color: var(--site-text, #465773) !important;
}

html body .improvements .improvement-visual {
  display: grid !important;
  place-items: center !important;
  height: 106px !important;
  margin-top: 28px !important;
  padding: 8px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(7, 24, 70, 0.12) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

html body .improvements .improvement-visual svg {
  display: block !important;
  width: 100% !important;
  max-width: 220px !important;
  height: 92px !important;
  opacity: 1 !important;
  overflow: visible !important;
  transform: none !important;
}

html body .improvements .improvement-visual .visual-card {
  fill: #ffffff !important;
  stroke: rgba(7, 24, 70, 0.12) !important;
  stroke-width: 1.4 !important;
}

html body .improvements .improvement-visual .visual-fill-blue {
  fill: rgba(7, 24, 70, 0.07) !important;
  stroke: var(--site-navy, #071846) !important;
  stroke-width: 3 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body .improvements .improvement-visual .visual-fill-orange {
  fill: rgba(224, 111, 32, 0.13) !important;
  stroke: var(--site-orange, #e06f20) !important;
  stroke-width: 3 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body .improvements .improvement-visual .visual-line-blue {
  fill: none !important;
  stroke: var(--site-navy, #071846) !important;
  stroke-width: 3 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body .improvements .improvement-visual .visual-line-orange {
  fill: none !important;
  stroke: var(--site-orange, #e06f20) !important;
  stroke-width: 3 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body .improvements .improvement-visual .visual-dot-blue {
  fill: #ffffff !important;
  stroke: var(--site-navy, #071846) !important;
  stroke-width: 3 !important;
}

html body .improvements .improvement-visual .visual-dot-orange {
  fill: #ffffff !important;
  stroke: var(--site-orange, #e06f20) !important;
  stroke-width: 3 !important;
}

html body .improvements .improvement-card:hover,
html body .improvements .improvement-card:focus-within {
  border-color: rgba(224, 111, 32, 0.24) !important;
  box-shadow: none !important;
  transform: translateY(-2px) !important;
}

html body .improvements .improvement-card:hover .improvement-icon,
html body .improvements .improvement-card:focus-within .improvement-icon {
  transform: translateY(-2px) !important;
}

html body .improvements .improvement-card:hover .improvement-visual,
html body .improvements .improvement-card:focus-within .improvement-visual {
  border-color: rgba(224, 111, 32, 0.26) !important;
}

/* Homepage rule: testimonial logos, text levels, and carousel controls stay consistent. */
html body .testimonials .testimonial-track {
  align-items: stretch !important;
}

html body .testimonials .testimonial-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: clamp(480px, 38vw, 560px) !important;
  padding: clamp(28px, 2.2vw, 36px) !important;
  background: #ffffff !important;
  border: 1px solid rgba(7, 24, 70, 0.13) !important;
  border-radius: 22px !important;
  box-shadow: none !important;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

html body .testimonials .testimonial-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  height: 3px !important;
  background: var(--site-navy, #071846) !important;
  opacity: 0 !important;
  transition: opacity 180ms ease !important;
}

html body .testimonials .testimonial-card:nth-child(even)::before {
  background: var(--site-orange, #e06f20) !important;
}

html body .testimonials .testimonial-author {
  display: grid !important;
  grid-template-columns: 74px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 18px !important;
  min-height: 82px !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
}

html body .testimonials .testimonial-author > div {
  display: flex !important;
  min-width: 0 !important;
  min-height: 72px !important;
  flex-direction: column !important;
  justify-content: center !important;
}

html body .testimonials .testimonial-author h3 {
  margin: 0 0 6px !important;
  color: var(--site-navy, #071846) !important;
  font-size: clamp(1.38rem, 1.55vw, 1.72rem) !important;
  font-weight: 760 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

html body .testimonials .testimonial-author p {
  margin: 0 !important;
  color: var(--site-muted, #68758d) !important;
  font-size: clamp(0.94rem, 0.9vw, 1rem) !important;
  font-weight: 500 !important;
  line-height: 1.28 !important;
}

html body .testimonials .testimonial-logo {
  display: inline-grid !important;
  place-items: center !important;
  width: 70px !important;
  height: 70px !important;
  flex: 0 0 70px !important;
  color: var(--site-navy, #071846) !important;
  background: #ffffff !important;
  border: 1px solid rgba(7, 24, 70, 0.14) !important;
  border-radius: 21px !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

html body .testimonials .testimonial-logo img {
  display: block !important;
  width: 76% !important;
  height: 76% !important;
  padding: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
}

html body .testimonials .testimonial-logo-image {
  background: #f8fbff !important;
}

html body .testimonials .testimonial-logo-image img {
  border-radius: 14px !important;
}

html body .testimonials .testimonial-logo-starline {
  background: #ffffff !important;
}

html body .testimonials .testimonial-logo-starline img {
  width: 42px !important;
  height: 42px !important;
  image-rendering: auto !important;
}

html body .testimonials .testimonial-logo-avatar {
  background: #ffffff !important;
  border-color: rgba(7, 24, 70, 0.14) !important;
  border-radius: 999px !important;
}

html body .testimonials .testimonial-logo-avatar img {
  width: 70px !important;
  height: 70px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
}

html body .testimonials .testimonial-logo svg {
  display: block !important;
  width: 42px !important;
  height: 42px !important;
  overflow: visible !important;
}

html body .testimonials .testimonial-logo-print {
  background: #ffffff !important;
  border-color: rgba(7, 24, 70, 0.14) !important;
}

html body .testimonials .testimonial-logo-print img {
  width: 58px !important;
  height: 58px !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  image-rendering: auto !important;
}

html body .testimonials .testimonial-logo-spa {
  color: var(--site-navy, #071846) !important;
  background: #fffaf5 !important;
  border-color: rgba(224, 111, 32, 0.28) !important;
}

html body .testimonials .testimonial-logo-spa svg {
  fill: none !important;
}

html body .testimonials .testimonial-logo-spa .spa-leaf-main,
html body .testimonials .testimonial-logo-spa .spa-leaf-line {
  fill: none !important;
  stroke: var(--site-navy, #071846) !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body .testimonials .testimonial-logo-spa .spa-leaf-accent {
  fill: none !important;
  stroke: var(--site-orange, #e06f20) !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body .testimonials .testimonial-logo-spa .spa-leaf-dot {
  fill: var(--site-orange, #e06f20) !important;
  stroke: none !important;
}

html body .testimonials .testimonial-logo-verified {
  color: var(--site-navy, #071846) !important;
  background: #f8fbff !important;
  border-color: rgba(7, 24, 70, 0.14) !important;
}

html body .testimonials .testimonial-logo-verified svg {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body .testimonials .testimonial-recommend {
  display: inline-flex !important;
  width: fit-content !important;
  min-height: 26px !important;
  align-items: center !important;
  margin: 0 0 18px !important;
  color: var(--site-orange, #e06f20) !important;
  font-size: 0.82rem !important;
  font-weight: 760 !important;
  letter-spacing: 0.08em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

html body .testimonials .testimonial-quote-mark {
  margin: 0 0 10px !important;
  color: var(--site-blue, #2e7de1) !important;
  font-size: 3.8rem !important;
  line-height: 0.72 !important;
}

html body .testimonials .testimonial-body {
  flex: 1 1 auto !important;
  max-height: 188px !important;
  min-height: 188px !important;
  margin: 0 !important;
  color: var(--site-text, #465773) !important;
  font-size: clamp(1rem, 1vw, 1.08rem) !important;
  font-weight: 440 !important;
  line-height: 1.64 !important;
}

html body .testimonials .testimonial-card.is-expanded .testimonial-body {
  max-height: 460px !important;
  min-height: 188px !important;
}

html body .testimonials .testimonial-read {
  width: fit-content !important;
  margin: 18px 0 0 !important;
  color: var(--site-navy, #071846) !important;
  font-size: 0.92rem !important;
  font-weight: 760 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  transition: color 180ms ease, transform 180ms ease !important;
}

html body .testimonials .testimonial-read:hover,
html body .testimonials .testimonial-read:focus-visible {
  color: var(--site-orange, #e06f20) !important;
  transform: translateX(3px) !important;
}

html body .testimonials .testimonial-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding-top: 28px !important;
}

html body .testimonials .testimonial-tags span {
  min-height: 30px !important;
  padding: 6px 12px !important;
  color: var(--site-navy, #071846) !important;
  background: #ffffff !important;
  border: 1px solid rgba(7, 24, 70, 0.14) !important;
  border-radius: 999px !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

html body .testimonials .testimonial-card:hover,
html body .testimonials .testimonial-card:focus-within {
  border-color: rgba(224, 111, 32, 0.34) !important;
  box-shadow: none !important;
  transform: translateY(-3px) !important;
}

html body .testimonials .testimonial-card:hover::before,
html body .testimonials .testimonial-card:focus-within::before {
  opacity: 1 !important;
}

html body .testimonials .testimonial-card:hover .testimonial-logo,
html body .testimonials .testimonial-card:focus-within .testimonial-logo {
  border-color: rgba(224, 111, 32, 0.42) !important;
  transform: translateY(-2px) !important;
}

html body .testimonials .testimonial-nav {
  width: 44px !important;
  height: 44px !important;
  color: var(--site-navy, #071846) !important;
  background: #ffffff !important;
  border: 1px solid rgba(7, 24, 70, 0.14) !important;
  box-shadow: none !important;
}

html body .testimonials .testimonial-nav:hover,
html body .testimonials .testimonial-nav:focus-visible {
  color: var(--site-orange, #e06f20) !important;
  background: #fffaf5 !important;
  border-color: rgba(224, 111, 32, 0.42) !important;
  box-shadow: none !important;
}

html body .testimonials .testimonial-nav svg {
  width: 21px !important;
  height: 21px !important;
}

@media (max-width: 760px) {
  html body .testimonials .testimonial-card {
    min-height: 0 !important;
    padding: 24px !important;
  }

  html body .testimonials .testimonial-author {
    grid-template-columns: 62px minmax(0, 1fr) !important;
    gap: 14px !important;
    min-height: 70px !important;
  }

  html body .testimonials .testimonial-logo {
    width: 60px !important;
    height: 60px !important;
    flex-basis: 60px !important;
    border-radius: 18px !important;
  }

  html body .testimonials .testimonial-body {
    min-height: 0 !important;
  }
}

/* Site rule: FAQ sections stay visible with flat navy/orange accents, no shadows or gradients. */
html body .faq-section {
  background: #ffffff !important;
}

html body .faq-section::before,
html body .faq-section::after {
  display: none !important;
}

html body .faq-section .faq-intro,
html body .faq-section .section-head {
  margin-bottom: clamp(34px, 3.2vw, 52px) !important;
}

html body .faq-section .faq-intro h2,
html body .faq-section .section-head h2 {
  color: var(--site-navy, #071846) !important;
}

html body .faq-section .faq-intro p,
html body .faq-section .section-head p {
  max-width: 820px !important;
  color: var(--site-text, #465773) !important;
}

html body .faq-grid {
  gap: clamp(26px, 2.8vw, 44px) !important;
}

html body .faq-list {
  gap: clamp(22px, 2vw, 30px) !important;
}

html body .faq-category {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body .faq-category h3 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 0 18px !important;
  color: var(--site-navy, #071846) !important;
  font-size: clamp(1.3rem, 1.8vw, 1.7rem) !important;
  font-weight: 780 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

html body .faq-category h3 span {
  display: inline-grid !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  place-items: center !important;
  background: #f8fbff !important;
  border: 1px solid rgba(46, 125, 225, 0.24) !important;
  border-radius: 999px !important;
}

html body .faq-category h3 span::before {
  content: "" !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: var(--site-orange, #e06f20) !important;
}

html body .faq-item {
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1.5px solid rgba(7, 24, 70, 0.16) !important;
  border-left: 4px solid rgba(46, 125, 225, 0.52) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    transform 180ms ease !important;
}

html body .faq-item:nth-child(even) {
  border-left-color: rgba(224, 111, 32, 0.62) !important;
}

html body .faq-item:hover,
html body .faq-item:focus-within {
  background: #fffaf5 !important;
  border-color: rgba(224, 111, 32, 0.42) !important;
  box-shadow: none !important;
  transform: translateY(-2px) !important;
}

html body .faq-item.is-open,
html body .faq-item.is-open:hover,
html body .faq-item.is-open:focus-within {
  background: #f8fbff !important;
  border-color: rgba(46, 125, 225, 0.46) !important;
  border-left-color: var(--site-orange, #e06f20) !important;
  box-shadow: none !important;
}

html body .faq-question {
  min-height: 82px !important;
  padding: 22px 28px !important;
  background: transparent !important;
}

html body .faq-number {
  display: inline-grid !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  place-items: center !important;
  color: var(--site-navy, #071846) !important;
  background: #f8fbff !important;
  border: 1px solid rgba(7, 24, 70, 0.12) !important;
  border-radius: 999px !important;
  font-size: 0.84rem !important;
  font-weight: 780 !important;
}

html body .faq-question-text {
  color: var(--site-navy, #071846) !important;
  font-size: clamp(1rem, 1.05vw, 1.14rem) !important;
  font-weight: 720 !important;
  line-height: 1.25 !important;
}

html body .faq-chevron {
  width: 42px !important;
  height: 42px !important;
  color: var(--site-navy, #071846) !important;
  background: #ffffff !important;
  border: 1px solid rgba(7, 24, 70, 0.14) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

html body .faq-item.is-open .faq-number,
html body .faq-item.is-open .faq-chevron {
  color: #ffffff !important;
  background: var(--site-orange, #e06f20) !important;
  border-color: var(--site-orange, #e06f20) !important;
}

html body .faq-answer {
  padding: 0 28px 24px 92px !important;
}

html body .faq-answer p {
  color: var(--site-text, #465773) !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

html body .faq-cta-card {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(18px, 2vw, 28px) !important;
  margin-top: clamp(28px, 3vw, 46px) !important;
  padding: clamp(24px, 2.4vw, 34px) !important;
  background: #ffffff !important;
  border: 2px solid rgba(46, 125, 225, 0.24) !important;
  border-left: 5px solid var(--site-orange, #e06f20) !important;
  border-radius: 20px !important;
  box-shadow: none !important;
}

html body .faq-cta-icon {
  width: 64px !important;
  height: 64px !important;
  color: var(--site-navy, #071846) !important;
  background: #f8fbff !important;
  border: 1.5px solid rgba(46, 125, 225, 0.26) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

html body .faq-cta-icon svg {
  width: 29px !important;
  height: 29px !important;
  stroke: currentColor !important;
}

html body .faq-cta-card h3 {
  margin: 0 0 6px !important;
  color: var(--site-navy, #071846) !important;
  font-size: clamp(1.32rem, 1.8vw, 1.8rem) !important;
  font-weight: 780 !important;
  line-height: 1.15 !important;
}

html body .faq-cta-card p {
  margin: 0 !important;
  color: var(--site-text, #465773) !important;
  font-size: clamp(1rem, 1vw, 1.08rem) !important;
  line-height: 1.5 !important;
}

html body .faq-cta-card .button,
html body .faq-cta-card .button-primary {
  min-height: 54px !important;
  padding: 14px 26px !important;
  background: var(--site-orange, #e06f20) !important;
  border-color: var(--site-orange, #e06f20) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

html body .faq-cta-card .button:hover,
html body .faq-cta-card .button:focus-visible,
html body .faq-cta-card .button-primary:hover,
html body .faq-cta-card .button-primary:focus-visible {
  color: var(--site-orange, #e06f20) !important;
  background: #ffffff !important;
  border-color: var(--site-orange, #e06f20) !important;
  box-shadow: none !important;
}

@media (max-width: 760px) {
  html body .faq-question {
    min-height: 74px !important;
    padding: 18px 18px !important;
  }

  html body .faq-answer {
    padding: 0 18px 22px 58px !important;
  }

  html body .faq-cta-card {
    grid-template-columns: 1fr !important;
  }
}

/* Site rule: map/contact details stay calm, readable, and visible without motion. */
html body .footer-contact .footer-contact-list {
  display: grid !important;
  gap: clamp(16px, 1.7vw, 24px) !important;
  margin-top: clamp(26px, 2.7vw, 38px) !important;
  padding-top: clamp(22px, 2.2vw, 30px) !important;
  border-top: 1.5px solid rgba(7, 24, 70, 0.14) !important;
}

html body .footer-contact .footer-contact-row {
  display: grid !important;
  grid-template-columns: 50px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 18px !important;
  min-height: 0 !important;
  padding: 18px 20px !important;
  background: #ffffff !important;
  border: 1.5px solid rgba(7, 24, 70, 0.13) !important;
  border-left: 4px solid rgba(46, 125, 225, 0.6) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  animation: none !important;
  transition: none !important;
  transform: none !important;
}

html body .footer-contact .footer-contact-row:nth-child(2) {
  border-left-color: rgba(224, 111, 32, 0.7) !important;
}

html body .footer-contact .footer-contact-row:nth-child(3) {
  border-left-color: rgba(46, 125, 225, 0.6) !important;
}

html body .footer-contact .footer-contact-row:hover,
html body .footer-contact .footer-contact-row:focus-within,
html body .footer-contact .footer-contact-row.footer-contact-row-accent,
html body .footer-contact .footer-contact-row.footer-contact-row-accent:hover,
html body .footer-contact .footer-contact-row.footer-contact-row-accent:focus-within {
  background: #ffffff !important;
  border-color: rgba(7, 24, 70, 0.13) !important;
  border-left-color: rgba(224, 111, 32, 0.7) !important;
  box-shadow: none !important;
  animation: none !important;
  transition: none !important;
  transform: none !important;
}

html body .footer-contact .footer-contact-row:nth-child(1):hover,
html body .footer-contact .footer-contact-row:nth-child(1):focus-within,
html body .footer-contact .footer-contact-row:nth-child(3):hover,
html body .footer-contact .footer-contact-row:nth-child(3):focus-within {
  border-left-color: rgba(46, 125, 225, 0.6) !important;
}

html body .footer-contact .footer-contact-row .footer-icon,
html body .footer-contact .footer-contact-row:hover .footer-icon,
html body .footer-contact .footer-contact-row:focus-within .footer-icon,
html body .footer-contact .footer-contact-row-accent .footer-icon {
  display: inline-grid !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  place-items: center !important;
  color: var(--site-navy, #071846) !important;
  background: #f8fbff !important;
  border: 1px solid rgba(46, 125, 225, 0.22) !important;
  border-radius: 15px !important;
  box-shadow: none !important;
  animation: none !important;
  transition: none !important;
  transform: none !important;
}

html body .footer-contact .footer-contact-row:nth-child(2) .footer-icon {
  color: var(--site-orange, #e06f20) !important;
  background: #fffaf5 !important;
  border-color: rgba(224, 111, 32, 0.24) !important;
}

html body .footer-contact .footer-contact-row .footer-icon svg {
  width: 23px !important;
  height: 23px !important;
  stroke-width: 2.1 !important;
}

html body .footer-contact .footer-contact-row h3,
html body .footer-contact .footer-contact-row.footer-contact-row-accent h3 {
  margin: 0 0 6px !important;
  color: var(--site-navy, #071846) !important;
  font-size: clamp(1.08rem, 1.1vw, 1.24rem) !important;
  font-weight: 740 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

html body .footer-contact .footer-contact-row p,
html body .footer-contact .footer-contact-row a,
html body .footer-contact .footer-contact-row.footer-contact-row-accent a {
  margin: 0 !important;
  color: var(--site-blue, #2e7de1) !important;
  font-size: clamp(0.98rem, 0.95vw, 1.08rem) !important;
  font-weight: 640 !important;
  line-height: 1.45 !important;
  word-break: break-word !important;
  animation: none !important;
  transition: none !important;
  transform: none !important;
}

html body .footer-contact .footer-contact-row a:hover,
html body .footer-contact .footer-contact-row a:focus-visible {
  color: var(--site-orange, #e06f20) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

html body .footer-contact .footer-hours {
  display: grid !important;
  grid-template-columns: minmax(125px, max-content) minmax(0, 1fr) !important;
  column-gap: clamp(16px, 2vw, 28px) !important;
  row-gap: 9px !important;
  margin-top: 8px !important;
  color: var(--site-text, #465773) !important;
  font-size: clamp(0.94rem, 0.92vw, 1.02rem) !important;
  font-weight: 520 !important;
  line-height: 1.35 !important;
}

html body .footer-contact .footer-hours span {
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

html body .footer-contact .footer-hours span:nth-child(even) {
  color: var(--site-blue, #2e7de1) !important;
  font-weight: 680 !important;
}

html body .footer-contact .footer-map-card,
html body .footer-contact .footer-location-card,
html body .footer-contact .footer-available-links a {
  box-shadow: none !important;
  animation: none !important;
  transition: none !important;
  transform: none !important;
}

html body .footer-contact .footer-location-card:hover,
html body .footer-contact .footer-location-card:focus-within,
html body .footer-contact .footer-available-links a:hover,
html body .footer-contact .footer-available-links a:focus-visible {
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 760px) {
  html body .footer-contact .footer-contact-row {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 16px !important;
  }

  html body .footer-contact .footer-contact-row .footer-icon,
  html body .footer-contact .footer-contact-row:hover .footer-icon,
  html body .footer-contact .footer-contact-row:focus-within .footer-icon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
  }

  html body .footer-contact .footer-hours {
    grid-template-columns: 1fr !important;
    row-gap: 4px !important;
  }

  html body .footer-contact .footer-hours span:nth-child(even) {
    margin-bottom: 7px !important;
  }
}

/* Site rule: services cards use the same thin dark-navy outline across the Services page. */
html body #services .service-card,
html body #services .service-package-card,
html body .services-section .service-card,
html body .services-section .service-package-card {
  border: 1px solid rgba(7, 24, 70, 0.34) !important;
}

html body #services .service-package-card.is-featured {
  border-color: rgba(7, 24, 70, 0.34) !important;
}

html body #services .service-card:hover,
html body #services .service-card:focus-within,
html body #services .service-package-card:hover,
html body #services .service-package-card:focus-within,
html body .services-section .service-card:hover,
html body .services-section .service-card:focus-within,
html body .services-section .service-package-card:hover,
html body .services-section .service-package-card:focus-within {
  border-color: rgba(7, 24, 70, 0.58) !important;
}

/* Services cleanup: remove package labels/icons and let the service title lead the card. */
html body #services .service-package-head,
html body #services .service-number,
html body #services .package-icon {
  display: none !important;
}

html body #services .service-package-grid {
  gap: clamp(18px, 2vw, 24px) !important;
  align-items: stretch !important;
}

html body #services .service-package-card {
  min-height: 0 !important;
  border-radius: 18px !important;
  box-shadow: none !important;
}

html body #services .service-package-card:hover,
html body #services .service-package-card:focus-within {
  box-shadow: none !important;
  transform: translateY(-2px) !important;
}

html body #services .service-media {
  aspect-ratio: 1.72 / 1 !important;
}

html body #services .service-package-card .service-body {
  display: grid !important;
  grid-template-rows: auto auto 1fr auto !important;
  align-content: start !important;
  padding: clamp(20px, 2vw, 24px) !important;
}

html body #services .service-package-card h3 {
  display: inline-block !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 0 14px !important;
  color: var(--site-navy, #071846) !important;
  font-size: clamp(20px, 1.35vw, 23px) !important;
  font-weight: 760 !important;
  line-height: 1.18 !important;
  min-height: 68px !important;
}

html body #services .service-package-card h3::after {
  display: block !important;
  width: 42px !important;
  height: 3px !important;
  margin-top: 11px !important;
  background: var(--site-orange, #e06f20) !important;
  border-radius: 999px !important;
}

html body #services .service-package-card p {
  margin-bottom: 14px !important;
  padding-bottom: 13px !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  min-height: 112px !important;
}

html body #services .service-package-card .service-list {
  gap: 8px !important;
  margin-bottom: 18px !important;
  font-size: 14px !important;
  line-height: 1.44 !important;
}

html body #services .service-package-card .service-list li {
  font-size: 13.5px !important;
  line-height: 1.42 !important;
}

html body #services .service-package-card .button {
  min-height: 46px !important;
  align-self: end !important;
  border-radius: 11px !important;
}

@media (max-width: 1180px) {
  html body #services .service-package-card h3,
  html body #services .service-package-card p {
    min-height: 0 !important;
  }
}

/* Site rule: testimonial cards keep company names and review text aligned consistently. */
html body .testimonials .testimonial-card {
  display: grid !important;
  grid-template-rows: 102px 28px 52px 188px auto auto !important;
  align-content: start !important;
}

html body .testimonials .testimonial-card.is-expanded {
  grid-template-rows: 102px 28px 52px auto auto auto !important;
}

html body .testimonials .testimonial-author {
  align-self: start !important;
  min-height: 102px !important;
  margin: 0 !important;
}

html body .testimonials .testimonial-author > div {
  min-height: 70px !important;
}

html body .testimonials .testimonial-author h3 {
  font-size: clamp(1.24rem, 1.25vw, 1.42rem) !important;
  line-height: 1.16 !important;
}

html body .testimonials .testimonial-recommend {
  align-self: start !important;
  min-height: 28px !important;
  margin: 0 !important;
}

html body .testimonials .testimonial-quote-mark {
  display: flex !important;
  height: 52px !important;
  align-items: flex-end !important;
  margin: 0 !important;
}

html body .testimonials .testimonial-body {
  align-self: start !important;
  min-height: 188px !important;
  margin: 0 !important;
}

html body .testimonials .testimonial-read {
  margin: 18px 0 0 !important;
}

html body .testimonials .testimonial-tags {
  align-self: end !important;
  margin-top: 18px !important;
  padding-top: 0 !important;
}

/* Site rule: full testimonial text opens in a clean readable popup. */
html body .testimonial-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 12000 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(18px, 3vw, 42px) !important;
}

html body .testimonial-modal.is-open {
  display: flex !important;
}

html body .testimonial-modal-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(7, 24, 70, 0.48) !important;
}

html body .testimonial-modal-panel {
  position: relative !important;
  z-index: 1 !important;
  width: min(920px, 100%) !important;
  max-height: min(86vh, 820px) !important;
  overflow: auto !important;
  padding: clamp(28px, 4vw, 54px) !important;
  color: var(--site-text, #465773) !important;
  background: #ffffff !important;
  border: 1px solid rgba(7, 24, 70, 0.2) !important;
  border-radius: 22px !important;
  box-shadow: none !important;
}

html body .testimonial-modal-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  color: var(--site-navy, #071846) !important;
  background: #f8fbff !important;
  border: 1px solid rgba(7, 24, 70, 0.16) !important;
  border-radius: 999px !important;
  font-size: 1.8rem !important;
  font-weight: 520 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}

html body .testimonial-modal-close:hover,
html body .testimonial-modal-close:focus-visible {
  color: #ffffff !important;
  background: var(--site-orange, #e06f20) !important;
  border-color: var(--site-orange, #e06f20) !important;
}

html body .testimonial-modal-kicker {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 0 20px !important;
  color: var(--site-orange, #e06f20) !important;
  font-size: 0.8rem !important;
  font-weight: 780 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

html body .testimonial-modal-author {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 18px !important;
}

html body .testimonial-modal-author .testimonial-logo {
  display: inline-grid !important;
  place-items: center !important;
  width: 54px !important;
  height: 54px !important;
  flex: 0 0 54px !important;
  overflow: hidden !important;
  color: var(--site-navy, #071846) !important;
  background: #ffffff !important;
  border: 1px solid rgba(7, 24, 70, 0.14) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

html body .testimonial-modal-author .testimonial-logo img {
  display: block !important;
  width: 76% !important;
  height: 76% !important;
  object-fit: contain !important;
}

html body .testimonial-modal-author .testimonial-logo svg {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.3 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body .testimonial-modal-author .testimonial-logo-print img {
  width: 46px !important;
  height: 46px !important;
}

html body .testimonial-modal-author .testimonial-logo-avatar img {
  width: 54px !important;
  height: 54px !important;
}

html body .testimonial-modal-author-note {
  color: var(--site-orange, #e06f20) !important;
  font-size: 0.82rem !important;
  font-weight: 780 !important;
  letter-spacing: 0.1em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

html body .testimonial-modal h3 {
  margin: 0 54px 6px 0 !important;
  color: var(--site-navy, #071846) !important;
  font-size: clamp(1.75rem, 2.4vw, 2.55rem) !important;
  font-weight: 760 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

html body .testimonial-modal-subtitle {
  margin: 0 0 24px !important;
  color: var(--site-muted, #68758d) !important;
  font-size: clamp(1rem, 1vw, 1.12rem) !important;
  font-weight: 520 !important;
  line-height: 1.45 !important;
}

html body .testimonial-modal blockquote {
  margin: 0 !important;
  padding: 24px 0 0 !important;
  color: var(--site-text, #465773) !important;
  border-top: 1px solid rgba(7, 24, 70, 0.12) !important;
  font-size: clamp(1.05rem, 1.15vw, 1.22rem) !important;
  font-weight: 440 !important;
  line-height: 1.72 !important;
}

html body .testimonial-modal-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 26px !important;
}

html body .testimonial-modal-tags span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 7px 12px !important;
  color: var(--site-navy, #071846) !important;
  background: #ffffff !important;
  border: 1px solid rgba(46, 125, 225, 0.24) !important;
  border-radius: 999px !important;
  font-size: 0.78rem !important;
  font-weight: 680 !important;
  line-height: 1 !important;
}

@media (max-width: 680px) {
  html body .testimonial-modal {
    align-items: flex-end !important;
    padding: 12px !important;
  }

  html body .testimonial-modal-panel {
    max-height: 90vh !important;
    border-radius: 18px !important;
  }

  html body .testimonial-modal h3 {
    margin-right: 44px !important;
  }
}

/* Site rule: testimonial rating, read button, and tags use the same bright blue-orange system. */
html body .testimonials .testimonial-card {
  grid-template-rows: 102px 34px 52px 188px auto auto !important;
}

html body .testimonials .testimonial-card.is-expanded {
  grid-template-rows: 102px 34px 52px auto auto auto !important;
}

html body .testimonials .testimonial-recommend {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 34px !important;
  padding: 5px 10px !important;
  color: var(--site-navy, #071846) !important;
  background: #fffaf5 !important;
  border: 1px solid rgba(224, 111, 32, 0.28) !important;
  border-radius: 999px !important;
  font-size: 0.74rem !important;
  font-weight: 760 !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

html body .testimonials .testimonial-stars {
  display: inline-flex !important;
  gap: 1px !important;
  color: var(--site-orange, #e06f20) !important;
  font-size: 0.9rem !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

html body .testimonials .testimonial-read {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: fit-content !important;
  min-height: 38px !important;
  margin: 18px 0 0 !important;
  padding: 9px 14px !important;
  color: var(--site-navy, #071846) !important;
  background: #fffaf5 !important;
  border: 1px solid rgba(224, 111, 32, 0.38) !important;
  border-radius: 999px !important;
  font-size: 0.82rem !important;
  font-weight: 780 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease !important;
}

html body .testimonials .testimonial-read::after {
  content: "\2192" !important;
  color: var(--site-orange, #e06f20) !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  transition: color 180ms ease, transform 180ms ease !important;
}

html body .testimonials .testimonial-read:hover,
html body .testimonials .testimonial-read:focus-visible {
  color: #ffffff !important;
  background: var(--site-navy, #071846) !important;
  border-color: var(--site-navy, #071846) !important;
  transform: translateY(-1px) !important;
}

html body .testimonials .testimonial-read:hover::after,
html body .testimonials .testimonial-read:focus-visible::after {
  color: #ffffff !important;
  transform: translateX(2px) !important;
}

html body .testimonials .testimonial-tags {
  gap: 6px !important;
  min-height: 30px !important;
  margin-top: 16px !important;
  padding-top: 0 !important;
}

html body .testimonials .testimonial-tags span {
  min-height: 24px !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  font-size: 0.68rem !important;
  font-weight: 720 !important;
  letter-spacing: 0.01em !important;
  line-height: 1 !important;
}

html body .testimonials .testimonial-tags span:nth-child(3n + 1) {
  color: var(--site-blue, #2e7de1) !important;
  background: #f3f8ff !important;
  border-color: rgba(46, 125, 225, 0.26) !important;
}

html body .testimonials .testimonial-tags span:nth-child(3n + 2) {
  color: var(--site-orange, #e06f20) !important;
  background: #fff7f0 !important;
  border-color: rgba(224, 111, 32, 0.26) !important;
}

html body .testimonials .testimonial-tags span:nth-child(3n) {
  color: var(--site-navy, #071846) !important;
  background: #ffffff !important;
  border-color: rgba(7, 24, 70, 0.14) !important;
}

/* Site rule: footer contact methods are a clean text list, not boxed cards. */
html body .footer-contact .footer-contact-list {
  gap: 22px !important;
  margin-top: clamp(24px, 2.4vw, 34px) !important;
}

html body .footer-contact .footer-contact-row,
html body .footer-contact .footer-contact-row:hover,
html body .footer-contact .footer-contact-row:focus-within,
html body .footer-contact .footer-contact-row.footer-contact-row-accent,
html body .footer-contact .footer-contact-row.footer-contact-row-accent:hover,
html body .footer-contact .footer-contact-row.footer-contact-row-accent:focus-within,
html body .footer-contact .footer-contact-row:nth-child(1):hover,
html body .footer-contact .footer-contact-row:nth-child(1):focus-within,
html body .footer-contact .footer-contact-row:nth-child(3):hover,
html body .footer-contact .footer-contact-row:nth-child(3):focus-within {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body .footer-contact .footer-contact-row {
  grid-template-columns: 46px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
}

html body .footer-contact .footer-contact-row .footer-icon,
html body .footer-contact .footer-contact-row:hover .footer-icon,
html body .footer-contact .footer-contact-row:focus-within .footer-icon,
html body .footer-contact .footer-contact-row-accent .footer-icon,
html body .footer-contact .footer-contact-row:nth-child(2) .footer-icon {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  color: var(--site-navy, #071846) !important;
  background: #ffffff !important;
  border: 1px solid rgba(7, 24, 70, 0.12) !important;
  border-radius: 13px !important;
}

html body .footer-contact .footer-contact-row:nth-child(2) .footer-icon {
  color: var(--site-orange, #e06f20) !important;
  border-color: rgba(224, 111, 32, 0.22) !important;
}

html body .footer-contact .footer-contact-row .footer-icon svg {
  width: 21px !important;
  height: 21px !important;
}

html body .footer-contact .footer-contact-row h3,
html body .footer-contact .footer-contact-row.footer-contact-row-accent h3 {
  margin-bottom: 5px !important;
}

html body .footer-contact .footer-hours {
  margin-top: 10px !important;
  row-gap: 8px !important;
}

@media (max-width: 760px) {
  html body .footer-contact .footer-contact-row {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 0 !important;
  }
}

/* Services rule: additional task support is one light helper panel, not another package. */
html body .service-addons {
  margin-top: clamp(58px, 6vw, 92px) !important;
  padding: clamp(28px, 4vw, 44px) !important;
  border: 0 !important;
  border-radius: 22px !important;
  background: var(--site-white, #ffffff) !important;
  box-shadow: none !important;
}

html body .service-addons-main {
  display: grid !important;
  grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1.42fr) !important;
  gap: clamp(28px, 4vw, 54px) !important;
  align-items: start !important;
}

html body .service-addons-intro {
  max-width: 430px !important;
}

html body .service-addons .section-kicker {
  color: var(--site-orange, #e06f20) !important;
  font-size: 13px !important;
  font-weight: 760 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

html body .service-addons h3 {
  margin: 12px 0 16px !important;
  color: var(--site-navy, #071846) !important;
  font-size: clamp(26px, 2.4vw, 36px) !important;
  line-height: 1.16 !important;
  font-weight: 700 !important;
}

html body .service-addons-intro > p {
  max-width: 390px !important;
  margin: 0 !important;
  color: var(--site-text, #465773) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

html body .service-addons-note {
  margin-top: 24px !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(224, 111, 32, 0.22) !important;
  border-left: 4px solid var(--site-orange, #e06f20) !important;
  border-radius: 16px !important;
  background: #fffaf5 !important;
}

html body .service-addons-note strong,
html body .service-addons-note span {
  display: block !important;
}

html body .service-addons-note strong {
  margin-bottom: 6px !important;
  color: var(--site-navy, #071846) !important;
  font-size: 15px !important;
  font-weight: 720 !important;
  line-height: 1.35 !important;
}

html body .service-addons-note span {
  color: var(--site-text, #465773) !important;
  font-size: 14px !important;
  font-weight: 520 !important;
  line-height: 1.6 !important;
}

html body .service-addons-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 clamp(22px, 2.6vw, 34px) !important;
  padding-top: 52px !important;
}

html body .service-addons-item {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 15px !important;
  align-items: start !important;
  padding: 0 0 22px !important;
  margin-bottom: 22px !important;
  border-bottom: 1px solid rgba(219, 229, 242, 0.85) !important;
}

html body .service-addons-icon {
  display: inline-flex !important;
  width: 42px !important;
  height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(23, 103, 217, 0.24) !important;
  border-radius: 14px !important;
  background: #f7faff !important;
  color: var(--site-blue, #1767d9) !important;
}

html body .service-addons-icon.is-orange {
  border-color: rgba(224, 111, 32, 0.26) !important;
  background: #fffaf5 !important;
  color: var(--site-orange, #e06f20) !important;
}

html body .service-addons-icon svg {
  width: 22px !important;
  height: 22px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body .service-addons-item h4 {
  margin: 0 0 7px !important;
  color: var(--site-navy, #071846) !important;
  font-size: 17px !important;
  font-weight: 720 !important;
  line-height: 1.28 !important;
}

html body .service-addons-item p {
  margin: 0 !important;
  color: var(--site-text, #465773) !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1.62 !important;
}

html body .service-addons-small {
  grid-column: 1 / -1 !important;
  margin: -2px 0 0 !important;
  padding: 0 0 0 57px !important;
  color: var(--site-muted, #64748b) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

html body .service-addons-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  margin-top: clamp(28px, 3vw, 38px) !important;
  padding: 22px clamp(22px, 3vw, 30px) !important;
  border: 1px solid rgba(224, 111, 32, 0.22) !important;
  border-radius: 18px !important;
  background: #fffaf5 !important;
}

html body .service-addons-cta h4 {
  margin: 0 0 5px !important;
  color: var(--site-navy, #071846) !important;
  font-size: 20px !important;
  font-weight: 720 !important;
  line-height: 1.25 !important;
}

html body .service-addons-cta p {
  margin: 0 !important;
  color: var(--site-text, #465773) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

html body .service-addons-cta .button {
  flex: 0 0 auto !important;
  min-width: 170px !important;
}

@media (max-width: 980px) {
  html body .service-addons-main {
    grid-template-columns: 1fr !important;
  }

  html body .service-addons-intro {
    max-width: 720px !important;
  }

  html body .service-addons-intro > p {
    max-width: 620px !important;
  }
}

@media (max-width: 720px) {
  html body .service-addons {
    padding: 24px 18px !important;
    border-radius: 18px !important;
  }

  html body .service-addons-list {
    grid-template-columns: 1fr !important;
    padding-top: 0 !important;
  }

  html body .service-addons-item {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 13px !important;
  }

  html body .service-addons-icon {
    width: 38px !important;
    height: 38px !important;
    border-radius: 12px !important;
  }

  html body .service-addons-small {
    padding-left: 51px !important;
  }

  html body .service-addons-cta {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  html body .service-addons-cta .button {
    width: 100% !important;
  }
}

/* Footer contact cleanup: simpler typography, fewer repeated visual blocks. */
html body .footer-contact {
  padding-top: clamp(64px, 6vw, 88px) !important;
  padding-bottom: clamp(64px, 6vw, 88px) !important;
}

html body .footer-contact .footer-contact-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr) !important;
  gap: clamp(48px, 6vw, 82px) !important;
  align-items: start !important;
}

html body .footer-contact .footer-contact-copy {
  max-width: 680px !important;
  padding-top: 0 !important;
  align-self: start !important;
}

html body .footer-contact .footer-contact-copy .section-kicker {
  margin: 0 0 16px !important;
  color: var(--site-orange, #e06f20) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  letter-spacing: 0.09em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

html body .footer-contact .footer-contact-copy .section-kicker::before,
html body .footer-contact .footer-contact-copy h2::after {
  content: none !important;
  display: none !important;
}

html body .footer-contact .footer-contact-copy h2 {
  max-width: 660px !important;
  margin: 0 !important;
  color: var(--site-navy, #071846) !important;
  font-size: clamp(42px, 4.6vw, 64px) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.08 !important;
}

html body .footer-contact .footer-heading-accent {
  color: var(--site-orange, #e06f20) !important;
}

html body .footer-contact .footer-contact-copy > p {
  max-width: 600px !important;
  margin: clamp(24px, 2.5vw, 34px) 0 0 !important;
  color: var(--site-text, #465773) !important;
  font-size: clamp(17px, 1.35vw, 20px) !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

html body .footer-contact .footer-contact-list {
  max-width: 620px !important;
  margin-top: clamp(30px, 3.2vw, 44px) !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  gap: 24px !important;
}

html body .footer-contact .footer-contact-row,
html body .footer-contact .footer-contact-row:hover,
html body .footer-contact .footer-contact-row:focus-within {
  grid-template-columns: 30px minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

html body .footer-contact .footer-contact-row .footer-icon,
html body .footer-contact .footer-contact-row:hover .footer-icon,
html body .footer-contact .footer-contact-row:focus-within .footer-icon,
html body .footer-contact .footer-contact-row:nth-child(2) .footer-icon {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  margin-top: 2px !important;
  color: var(--site-blue, #1767d9) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

html body .footer-contact .footer-contact-row:nth-child(2) .footer-icon {
  color: var(--site-orange, #e06f20) !important;
}

html body .footer-contact .footer-contact-row .footer-icon svg {
  width: 24px !important;
  height: 24px !important;
}

html body .footer-contact .footer-contact-row h3 {
  margin: 0 0 5px !important;
  color: var(--site-navy, #071846) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
}

html body .footer-contact .footer-contact-row a,
html body .footer-contact .footer-contact-row p {
  color: var(--site-blue, #1767d9) !important;
  font-size: 17px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
}

html body .footer-contact .footer-hours {
  grid-template-columns: minmax(0, 160px) minmax(0, 1fr) !important;
  gap: 7px 24px !important;
  max-width: 430px !important;
  margin-top: 6px !important;
  color: var(--site-text, #465773) !important;
  font-size: 15px !important;
  font-weight: 520 !important;
  line-height: 1.45 !important;
}

html body .footer-contact .footer-hours span:nth-child(even) {
  color: var(--site-blue, #1767d9) !important;
  font-weight: 650 !important;
}

html body .footer-contact .footer-location-card.footer-location-compact {
  display: none !important;
}

html body .footer-contact .footer-available-card h3 {
  font-size: 1.05rem !important;
  line-height: 1.25 !important;
}

@media (max-width: 980px) {
  html body .footer-contact .footer-contact-grid {
    grid-template-columns: 1fr !important;
  }

  html body .footer-contact .footer-contact-copy h2 {
    font-size: clamp(34px, 7vw, 48px) !important;
  }
}

@media (max-width: 640px) {
  html body .footer-contact .footer-contact-row {
    grid-template-columns: 26px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  html body .footer-contact .footer-hours {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}

/* Site rule: any dark text must use the shared dark navy, never black. */
:root {
  --site-navy: #071846;
  --ink: var(--site-navy);
  --dark: var(--site-navy);
  --heading-color: var(--site-navy);
  --body-color: var(--site-text);
}

html body :where(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .brand-text,
  .brand-name,
  .footer-brand-name,
  .nav-links a,
  .site-nav a,
  .button-secondary,
  .site-back-link,
  .case-back-link,
  .case-more-link,
  .proof-row li,
  .testimonial-author h3,
  .faq-question,
  .footer-contact-row h3
) {
  color: var(--site-navy) !important;
}

/* Homepage hero final polish: tighter first screen, cleaner hierarchy, photo untouched. */
html body .hero#top {
  padding-top: 0 !important;
  padding-bottom: clamp(42px, 5vw, 68px) !important;
}

html body .hero#top .hero-inner {
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 430px) !important;
  align-items: flex-start !important;
  gap: clamp(44px, 5vw, 76px) !important;
  padding-top: clamp(6px, 1vw, 14px) !important;
  padding-bottom: clamp(24px, 3.5vw, 44px) !important;
}

html body .hero#top .hero-copy {
  max-width: 820px !important;
  padding-top: clamp(2px, 0.8vw, 10px) !important;
}

html body .hero#top .hero-trust-label {
  margin-bottom: clamp(14px, 1.6vw, 20px) !important;
  color: var(--site-blue) !important;
  font-size: clamp(16px, 1.2vw, 19px) !important;
  font-weight: 720 !important;
  line-height: 1.25 !important;
}

html body .hero#top #hero-title {
  max-width: 850px !important;
}

html body .hero#top #hero-title .headline-main {
  color: var(--site-navy) !important;
  font-size: clamp(46px, 4.9vw, 72px) !important;
  font-weight: 760 !important;
  line-height: 1 !important;
}

html body .hero#top #hero-title .headline-support {
  margin-top: clamp(10px, 1.2vw, 14px) !important;
  color: var(--site-navy) !important;
  font-size: clamp(25px, 2.55vw, 38px) !important;
  font-weight: 680 !important;
  line-height: 1.12 !important;
}

html body .hero#top .hero-lead {
  max-width: 720px !important;
  margin: clamp(26px, 2.8vw, 38px) 0 clamp(24px, 2.6vw, 32px) !important;
  color: var(--site-text) !important;
  font-size: clamp(18px, 1.35vw, 21px) !important;
  font-weight: 500 !important;
  line-height: 1.58 !important;
}

html body .hero#top .hero-actions {
  gap: clamp(14px, 1.8vw, 22px) !important;
  margin-bottom: clamp(34px, 3.4vw, 46px) !important;
}

html body .hero#top .hero-actions .button {
  min-height: 54px !important;
  padding-inline: clamp(22px, 2.2vw, 30px) !important;
  border-radius: 13px !important;
}

html body .hero#top .hero-actions .button-secondary {
  color: var(--site-navy) !important;
  background: var(--site-white) !important;
  border-color: rgba(7, 24, 70, 0.16) !important;
  box-shadow: none !important;
}

html body .hero#top .hero-actions .button-secondary:hover,
html body .hero#top .hero-actions .button-secondary:focus-visible {
  color: var(--site-navy) !important;
  background: #fff8f2 !important;
  border-color: rgba(224, 111, 32, 0.52) !important;
  box-shadow: none !important;
  transform: translateY(-1px);
}

html body .hero#top .proof-row {
  max-width: 760px !important;
  gap: 20px 36px !important;
}

html body .hero#top .proof-row li {
  min-height: 44px !important;
  color: var(--site-text) !important;
  font-size: clamp(15px, 1.05vw, 17px) !important;
  font-weight: 650 !important;
}

html body .hero#top .proof-row li::before {
  width: 38px !important;
  height: 38px !important;
  flex: 0 0 38px !important;
  margin-right: 14px !important;
  background-color: #ffffff !important;
  background-size: 20px 20px !important;
  border-color: rgba(224, 111, 32, 0.24) !important;
}

html body .hero#top .proof-row li:nth-child(2n)::before {
  border-color: rgba(23, 103, 217, 0.24) !important;
}

@media (max-width: 980px) {
  html body .hero#top .hero-inner {
    gap: 34px !important;
  }
}

@media (max-width: 640px) {
  html body .hero#top {
    padding-top: 0 !important;
  }

  html body .hero#top .hero-inner {
    padding-top: 8px !important;
    padding-bottom: 34px !important;
  }

  html body .hero#top #hero-title .headline-main {
    font-size: clamp(38px, 11vw, 50px) !important;
  }

  html body .hero#top #hero-title .headline-support {
    font-size: clamp(23px, 6.6vw, 30px) !important;
  }

  html body .hero#top .hero-actions .button {
    width: 100% !important;
  }
}

/* Site rule: the contact block uses the same page frame as the rest of the site. */
html body .footer-contact > .container.footer-contact-grid {
  width: min(100% - 56px, var(--max, 1240px)) !important;
  max-width: var(--max, 1240px) !important;
  margin-inline: auto !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr) !important;
  gap: clamp(46px, 5vw, 76px) !important;
}

html body .footer-contact .footer-contact-copy {
  max-width: none !important;
}

html body .footer-contact .footer-contact-copy h2 {
  max-width: 780px !important;
}

html body .footer-contact .footer-contact-copy > p,
html body .footer-contact .footer-contact-list {
  max-width: 720px !important;
}

@media (max-width: 980px) {
  html body .footer-contact > .container.footer-contact-grid {
    width: min(100% - 40px, var(--max, 1240px)) !important;
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
}

@media (max-width: 640px) {
  html body .footer-contact > .container.footer-contact-grid {
    width: min(100% - 28px, var(--max, 1240px)) !important;
  }
}

/* Footer contact polish: align the main title with the map and keep the map crisp. */
html body .footer-contact .footer-contact-copy {
  position: relative !important;
  padding-top: 0 !important;
}

html body .footer-contact .footer-contact-copy .section-kicker {
  position: absolute !important;
  top: -28px !important;
  left: 0 !important;
  margin: 0 !important;
}

html body .footer-contact .footer-map-card {
  position: relative !important;
  min-height: 320px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid rgba(7, 24, 70, 0.16) !important;
  border-radius: 14px !important;
}

html body .footer-contact .footer-map-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  z-index: 2 !important;
  width: 5px !important;
  background: var(--site-orange, #e06f20) !important;
  pointer-events: none !important;
}

html body .footer-contact .footer-map-card::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 18px 18px auto !important;
  z-index: 2 !important;
  width: 44px !important;
  height: 44px !important;
  border: 1px solid rgba(7, 24, 70, 0.14) !important;
  border-radius: 12px !important;
  background:
    linear-gradient(90deg, transparent 48%, rgba(7, 24, 70, 0.36) 48% 52%, transparent 52%),
    linear-gradient(0deg, transparent 48%, rgba(7, 24, 70, 0.36) 48% 52%, transparent 52%),
    #ffffff !important;
  pointer-events: none !important;
}

html body .footer-contact .footer-map-card iframe {
  min-height: 320px !important;
  border-radius: 13px !important;
  opacity: 0.96 !important;
  filter: saturate(0.82) contrast(0.98) brightness(1.03) !important;
}

@media (max-width: 980px) {
  html body .footer-contact .footer-contact-copy .section-kicker {
    position: static !important;
    margin-bottom: 12px !important;
  }
}

@media (max-width: 640px) {
  html body .footer-contact .footer-map-card,
  html body .footer-contact .footer-map-card iframe {
    min-height: 260px !important;
  }
}

/* Footer contact color tone: calmer contact values, no bright-blue dominance. */
html body .footer-contact .footer-contact-row .footer-icon,
html body .footer-contact .footer-contact-row:hover .footer-icon,
html body .footer-contact .footer-contact-row:focus-within .footer-icon {
  color: rgba(7, 24, 70, 0.84) !important;
}

html body .footer-contact .footer-contact-row:nth-child(2) .footer-icon,
html body .footer-contact .footer-contact-row:nth-child(2):hover .footer-icon,
html body .footer-contact .footer-contact-row:nth-child(2):focus-within .footer-icon {
  color: var(--site-orange, #e06f20) !important;
}

html body .footer-contact .footer-contact-row a,
html body .footer-contact .footer-contact-row p,
html body .footer-contact .footer-hours span:nth-child(even) {
  color: #33425f !important;
  font-weight: 620 !important;
}

html body .footer-contact .footer-contact-row a:hover,
html body .footer-contact .footer-contact-row a:focus-visible {
  color: var(--site-orange, #e06f20) !important;
}

/* Homepage hero reference pass: premium intro, navy headline, blue support line, tidy proof grid. */
html body .hero#top {
  padding-top: clamp(12px, 1.8vw, 28px) !important;
  padding-bottom: clamp(44px, 5vw, 70px) !important;
}

html body .hero#top .hero-inner {
  grid-template-columns: minmax(0, 1.04fr) minmax(340px, 430px) !important;
  align-items: start !important;
  gap: clamp(42px, 5vw, 72px) !important;
  padding-top: clamp(8px, 1.4vw, 20px) !important;
  padding-bottom: clamp(20px, 3vw, 38px) !important;
}

html body .hero#top .hero-copy {
  max-width: 790px !important;
  padding-top: 0 !important;
}

html body .hero#top .hero-trust-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 22px !important;
  margin: 0 0 clamp(16px, 1.8vw, 24px) !important;
  color: var(--site-navy) !important;
  font-size: clamp(16px, 1.15vw, 19px) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body .hero#top .hero-trust-label::before {
  content: "" !important;
  width: clamp(46px, 4.4vw, 62px) !important;
  height: 3px !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  background: var(--site-orange) !important;
  border-radius: 999px !important;
}

html body .hero#top .hero-trust-label::after {
  content: none !important;
  display: none !important;
}

html body .hero#top .hero-trust-text {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  color: var(--site-navy) !important;
}

html body .hero#top .hero-trust-text span:not(.trust-dot) {
  color: var(--site-navy) !important;
  font-weight: 500 !important;
}

html body .hero#top .hero-trust-label,
html body .hero#top .hero-trust-text span:not(.trust-dot) {
  font-weight: 500 !important;
}

html body .hero#top .hero-trust-text .trust-dot {
  width: auto !important;
  height: auto !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  color: var(--site-orange) !important;
  background: transparent !important;
  border-radius: 0 !important;
  font-size: 1.05em !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html body .hero#top #hero-title {
  max-width: 720px !important;
  margin: 0 !important;
  line-height: 1 !important;
}

html body .hero#top #hero-title .headline-main {
  display: block !important;
  max-width: 700px !important;
  color: var(--site-navy) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(42px, 4.35vw, 64px) !important;
  font-weight: 800 !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
}

html body .hero#top #hero-title .headline-support {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 13px !important;
  margin-top: clamp(12px, 1.45vw, 18px) !important;
  color: var(--site-blue) !important;
  font-family: var(--site-font) !important;
  font-size: clamp(23px, 2.1vw, 32px) !important;
  font-weight: 760 !important;
  line-height: 1.13 !important;
}

html body .hero#top #hero-title .headline-support span:not(.headline-dot) {
  color: var(--site-blue) !important;
}

html body .hero#top #hero-title .headline-dot {
  width: 10px !important;
  height: 10px !important;
  display: inline-block !important;
  flex: 0 0 10px !important;
  background: var(--site-orange) !important;
  border-radius: 999px !important;
}

html body .hero#top .hero-lead {
  max-width: 680px !important;
  margin: clamp(20px, 2.1vw, 30px) 0 clamp(40px, 3.6vw, 52px) !important;
  color: #3f4f69 !important;
  font-size: clamp(17px, 1.22vw, 20px) !important;
  font-weight: 500 !important;
  line-height: 1.58 !important;
}

html body .hero#top .hero-actions {
  display: flex !important;
  gap: clamp(18px, 2.4vw, 30px) !important;
  margin-bottom: 16px !important;
}

html body .hero#top .hero-consultation-note {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 clamp(32px, 3.1vw, 44px) !important;
  color: var(--site-muted, #64748b) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

html body .hero#top .hero-consultation-note span {
  width: 30px !important;
  height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 30px !important;
  color: var(--site-orange, #e06f20) !important;
  background: #fff8f2 !important;
  border: 1px solid rgba(224, 111, 32, 0.3) !important;
  border-radius: 50% !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

html body .hero#top .hero-actions .button {
  min-width: clamp(228px, 19vw, 286px) !important;
  min-height: 54px !important;
  padding: 13px 24px !important;
  border-radius: 10px !important;
  font-size: clamp(15px, 1.05vw, 17px) !important;
  font-weight: 760 !important;
}

html body .hero#top .hero-actions .button-secondary {
  color: var(--site-navy) !important;
  background: #ffffff !important;
  border: 2px solid rgba(7, 24, 70, 0.78) !important;
  box-shadow: none !important;
}

html body .hero#top .hero-actions .button-secondary:hover,
html body .hero#top .hero-actions .button-secondary:focus-visible {
  color: var(--site-navy) !important;
  background: #fff8f2 !important;
  border-color: var(--site-orange) !important;
  box-shadow: none !important;
}

html body .hero#top .proof-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  max-width: 680px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-top: 1px solid rgba(7, 24, 70, 0.12) !important;
  list-style: none !important;
}

html body .hero#top .proof-row li {
  min-height: 76px !important;
  display: flex !important;
  align-items: center !important;
  padding: 17px 18px !important;
  color: var(--site-navy) !important;
  font-size: clamp(15px, 1.03vw, 17px) !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  border-bottom: 1px solid rgba(7, 24, 70, 0.1) !important;
}

html body .hero#top .proof-row li:nth-child(odd) {
  border-right: 1px solid rgba(7, 24, 70, 0.1) !important;
}

html body .hero#top .proof-row li::before {
  width: 46px !important;
  height: 46px !important;
  flex: 0 0 46px !important;
  margin-right: 16px !important;
  background-color: #fff7f0 !important;
  background-size: 23px 23px !important;
  border: 1px solid rgba(224, 111, 32, 0.22) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}

html body .hero#top .proof-row li:nth-child(2n)::before {
  background-color: #f3f7ff !important;
  border-color: rgba(23, 103, 217, 0.18) !important;
}

html body .hero#top .hero-media {
  margin-top: clamp(34px, 3.2vw, 48px) !important;
}

@media (max-width: 980px) {
  html body .hero#top .hero-inner {
    grid-template-columns: 1fr !important;
  }

  html body .hero#top .hero-media {
    justify-self: start !important;
    margin-top: 8px !important;
  }
}

@media (max-width: 640px) {
  html body .hero#top #hero-title .headline-main {
    font-size: clamp(34px, 9.6vw, 48px) !important;
  }

  html body .hero#top #hero-title .headline-support {
    font-size: clamp(21px, 6.2vw, 27px) !important;
  }

  html body .hero#top .hero-actions {
    flex-direction: column !important;
    margin-bottom: 14px !important;
  }

  html body .hero#top .hero-lead {
    margin-bottom: 32px !important;
  }

  html body .hero#top .hero-consultation-note {
    margin-bottom: 28px !important;
  }

  html body .hero#top .hero-actions .button {
    width: 100% !important;
    min-width: 0 !important;
  }

  html body .hero#top .proof-row {
    grid-template-columns: 1fr !important;
  }

  html body .hero#top .proof-row li {
    min-height: 78px !important;
    border-right: 0 !important;
  }
}

/* Homepage rule: keep the hero background completely clean. */
html body .hero#top::before,
html body .hero#top::after,
html body .hero#top .hero-inner::before,
html body .hero#top .hero-inner::after,
html body .hero#top .hero-media::before,
html body .hero#top .hero-media::after,
html body .hero#top .google-corner,
html body .hero#top .watermark-hero {
  content: none !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  background: none !important;
  background-image: none !important;
}

/* Case Studies index: final layout lock for filters and case boundaries. */
html body.case-index-page .case-tags {
  margin-top: clamp(40px, 4vw, 48px) !important;
}

html body.case-index-page .case-index-card {
  overflow: hidden !important;
  border: 1px solid rgba(7, 24, 70, 0.2) !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

html body.case-index-page .case-index-card.is-blue {
  border-color: rgba(23, 103, 217, 0.34) !important;
  border-bottom: 2px solid var(--site-blue, #1767d9) !important;
}

html body.case-index-page .case-index-card.is-orange {
  border-color: rgba(224, 111, 32, 0.38) !important;
  border-bottom: 2px solid var(--site-orange, #e06f20) !important;
}

html body.case-index-page .case-index-card:hover,
html body.case-index-page .case-index-card:focus-within {
  box-shadow: none !important;
}

@media (max-width: 640px) {
  html body.case-index-page .case-tags {
    margin-top: 34px !important;
  }
}

/* Homepage hero: compact, balanced first-screen composition. */
html body .hero#top {
  padding-top: clamp(10px, 1.4vw, 22px) !important;
  padding-bottom: clamp(40px, 4.4vw, 62px) !important;
}

html body .hero#top .hero-inner {
  grid-template-columns: minmax(0, 1fr) minmax(330px, 390px) !important;
  gap: clamp(46px, 5.2vw, 78px) !important;
  align-items: start !important;
  padding-top: clamp(8px, 1.2vw, 18px) !important;
  padding-bottom: clamp(18px, 2.4vw, 32px) !important;
}

html body .hero#top .hero-copy {
  max-width: 810px !important;
}

html body .hero#top .hero-trust-label {
  margin-bottom: clamp(15px, 1.5vw, 20px) !important;
}

html body .hero#top #hero-title .headline-support {
  flex-wrap: nowrap !important;
  gap: clamp(10px, 1vw, 14px) !important;
  margin-top: clamp(7px, 0.8vw, 10px) !important;
}

html body .hero#top #hero-title .headline-dot {
  width: 9px !important;
  height: 9px !important;
  display: inline-block !important;
  flex-basis: 9px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html body .hero#top .hero-lead {
  margin: clamp(22px, 2vw, 28px) 0 clamp(30px, 2.7vw, 38px) !important;
  line-height: 1.52 !important;
}

html body .hero#top .hero-actions {
  align-items: stretch !important;
  gap: clamp(14px, 1.6vw, 20px) !important;
  margin-bottom: 8px !important;
}

html body .hero#top .hero-actions .button {
  width: 252px !important;
  min-width: 0 !important;
  min-height: 52px !important;
  height: 52px !important;
  padding: 11px 20px !important;
}

html body .hero#top .hero-actions .button-secondary {
  width: auto !important;
  min-width: 260px !important;
  max-width: 100% !important;
  padding-inline: 20px !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

html body .hero#top .hero-consultation-note {
  margin-bottom: clamp(22px, 2.2vw, 30px) !important;
}

html body .hero#top .proof-row {
  max-width: 660px !important;
  border-top-color: rgba(7, 24, 70, 0.08) !important;
}

html body .hero#top .proof-row li {
  min-height: 64px !important;
  padding: 11px 14px !important;
  line-height: 1.22 !important;
}

html body .hero#top .proof-row li:nth-child(odd) {
  border-right-color: rgba(7, 24, 70, 0.045) !important;
}

html body .hero#top .proof-row li::before {
  width: 40px !important;
  height: 40px !important;
  flex-basis: 40px !important;
  margin-right: 13px !important;
  background-size: 21px 21px !important;
}

html body .hero#top .hero-media {
  width: 100% !important;
  max-width: 390px !important;
  margin-top: clamp(43px, 4vw, 52px) !important;
}

html body .hero#top .hero-photo {
  max-width: 390px !important;
}

html body .hero#top .hero-photo::after {
  content: none !important;
  display: none !important;
  background: none !important;
  box-shadow: none !important;
}

html body .hero#top .watermark-hero {
  right: -0.18em !important;
  bottom: 10% !important;
  opacity: 0.014 !important;
}

@media (max-width: 980px) {
  html body .hero#top .hero-inner {
    grid-template-columns: 1fr !important;
  }

  html body .hero#top .hero-media {
    width: min(100%, 390px) !important;
    margin-top: 10px !important;
    justify-self: start !important;
  }
}

@media (max-width: 640px) {
  html body .hero#top #hero-title .headline-support {
    flex-wrap: wrap !important;
  }

  html body .hero#top .hero-actions {
    gap: 10px !important;
  }

  html body .hero#top .hero-actions .button,
  html body .hero#top .hero-actions .button-secondary {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 50px !important;
  }

  html body .hero#top .hero-actions .button-secondary {
    white-space: normal !important;
  }

  html body .hero#top .proof-row li {
    min-height: 62px !important;
    border-right: 0 !important;
  }
}

/* Homepage hero: prevent text overflow and keep the first screen visually balanced. */
html body .hero#top #hero-title .headline-main {
  max-width: 100% !important;
  font-size: clamp(40px, 4.05vw, 60px) !important;
  line-height: 0.99 !important;
  overflow-wrap: normal !important;
}

html body .hero#top #hero-title .headline-support {
  max-width: 100% !important;
  color: var(--site-navy) !important;
  font-size: clamp(21px, 1.9vw, 28px) !important;
  font-weight: 650 !important;
  line-height: 1.18 !important;
}

html body .hero#top #hero-title .headline-support span:not(.headline-dot) {
  color: var(--site-navy) !important;
}

@media (min-width: 1081px) {
  html body .hero#top .hero-media {
    margin-top: 47px !important;
  }
}

@media (min-width: 901px) and (max-width: 1080px) {
  html body .hero#top .hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px) !important;
    grid-template-areas: "copy media" !important;
    grid-template-rows: auto !important;
    gap: 30px !important;
  }

  html body .hero#top .hero-copy {
    width: 100% !important;
    max-width: none !important;
  }

  html body .hero#top #hero-title {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body .hero#top #hero-title .headline-support {
    flex-wrap: wrap !important;
  }

  html body .hero#top .hero-media {
    width: 100% !important;
    max-width: 320px !important;
    margin-top: 43px !important;
    justify-self: end !important;
  }

  html body .hero#top .hero-photo {
    width: 100% !important;
    max-width: 320px !important;
  }
}

@media (max-width: 900px) {
  html body .hero#top .hero-inner {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  html body .hero#top .hero-copy,
  html body .hero#top #hero-title {
    width: 100% !important;
    max-width: 760px !important;
  }

  html body .hero#top #hero-title .headline-support {
    flex-wrap: wrap !important;
  }

  html body .hero#top .hero-media {
    width: min(100%, 390px) !important;
    max-width: 390px !important;
    margin-top: 0 !important;
    justify-self: start !important;
  }
}

@media (max-width: 640px) {
  html body .hero#top #hero-title .headline-main {
    font-size: clamp(34px, 9.4vw, 46px) !important;
  }

  html body .hero#top #hero-title .headline-support {
    font-size: clamp(20px, 5.8vw, 26px) !important;
    gap: 8px 10px !important;
  }
}

/* Launch case final cascade guard. */
html body.case-detail-page.launch-case-page .launch-hero-shell {
  align-items: start !important;
}

html body.case-detail-page.launch-case-page .launch-hero-copy {
  justify-content: flex-start !important;
}

html body.case-detail-page.launch-case-page .launch-hero-copy h1 {
  max-width: 640px !important;
  color: var(--site-navy, #071846) !important;
  font-size: clamp(36px, 3.25vw, 48px) !important;
  line-height: 1.08 !important;
}

html body.case-detail-page.launch-case-page .launch-hero-copy h1 span {
  color: var(--site-navy, #071846) !important;
}

html body.case-detail-page.launch-case-page .launch-process-card {
  gap: 12px !important;
  padding: 20px !important;
}

html body.case-detail-page.launch-case-page .launch-process-card article {
  min-width: 0 !important;
  min-height: 350px !important;
  padding: 20px 16px !important;
}

html body.case-detail-page.launch-case-page .launch-process-card h2 {
  min-height: 44px !important;
  margin-top: 10px !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere !important;
}

html body.case-detail-page.launch-case-page .launch-process-card p,
html body.case-detail-page.launch-case-page .launch-process-card li {
  font-size: 13px !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere !important;
}

@media (min-width: 1101px) {
  html body.case-detail-page.launch-case-page .launch-hero-media {
    margin-top: 0 !important;
  }
}

@media (max-width: 1100px) {
  html body.case-detail-page.launch-case-page .launch-process-card {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  html body.case-detail-page.launch-case-page .launch-hero-copy h1 {
    font-size: clamp(32px, 9vw, 40px) !important;
  }

  html body.case-detail-page.launch-case-page .launch-process-card {
    grid-template-columns: 1fr !important;
  }
}

/* Absolute final logo guard: level, compact infinity mark site-wide. */
html body .brand-symbol,
html body .brand-infinity,
html body .footer-infinity,
html body .footer-brand-symbol {
  display: inline-block !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 12px !important;
  color: transparent !important;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 32'%3E%3Cpath d='M32 16C26 8 20 6 14 7C5 8 4 18 10 23C16 28 25 23 32 16ZM32 16C38 8 44 6 50 7C59 8 60 18 54 23C48 28 39 23 32 16Z' fill='none' stroke='%23071846' stroke-width='4.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0 !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  overflow: hidden !important;
  text-indent: -9999px !important;
  transform: translateX(3px) !important;
  vertical-align: middle !important;
}

/* Campaign reach CTA: clear separation between icon, copy and action. */
html body.case-detail-page.campaign-reach-page .reach-cta {
  padding: 28px 0 76px !important;
}

html body.case-detail-page.campaign-reach-page .reach-cta-inner {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) auto !important;
  column-gap: 24px !important;
  row-gap: 20px !important;
  align-items: center !important;
  padding: clamp(30px, 3.2vw, 46px) !important;
}

html body.case-detail-page.campaign-reach-page .reach-cta-inner > .reach-icon {
  align-self: start !important;
  margin-top: 4px !important;
}

html body.case-detail-page.campaign-reach-page .reach-cta-inner > div {
  min-width: 0 !important;
}

html body.case-detail-page.campaign-reach-page .reach-cta h2 {
  max-width: 760px !important;
  margin: 0 !important;
  font-size: clamp(25px, 2.2vw, 32px) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.018em !important;
}

html body.case-detail-page.campaign-reach-page .reach-cta p {
  max-width: 680px !important;
  margin: 14px 0 0 !important;
  line-height: 1.55 !important;
}

html body.case-detail-page.campaign-reach-page .reach-cta .button {
  grid-column: 3 !important;
  justify-self: end !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

@media (max-width: 1050px) {
  html body.case-detail-page.campaign-reach-page .reach-cta-inner {
    grid-template-columns: 48px minmax(0, 1fr) !important;
  }

  html body.case-detail-page.campaign-reach-page .reach-cta .button {
    grid-column: 2 !important;
    justify-self: start !important;
  }
}

@media (max-width: 640px) {
  html body.case-detail-page.campaign-reach-page .reach-cta-inner {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    column-gap: 16px !important;
    padding: 24px 20px !important;
  }

  html body.case-detail-page.campaign-reach-page .reach-cta-inner > .reach-icon {
    width: 40px !important;
    height: 40px !important;
  }

  html body.case-detail-page.campaign-reach-page .reach-cta h2 {
    font-size: clamp(23px, 7vw, 28px) !important;
  }

  html body.case-detail-page.campaign-reach-page .reach-cta .button {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    justify-self: stretch !important;
    white-space: normal !important;
  }
}

/* Campaign reach challenge: give each statement clear breathing room. */
html body.case-detail-page.campaign-reach-page .reach-issue-grid {
  gap: clamp(20px, 2vw, 28px) !important;
}

html body.case-detail-page.campaign-reach-page .reach-issue-grid article {
  min-height: 196px !important;
  gap: 18px !important;
  padding: 30px 28px !important;
}

html body.case-detail-page.campaign-reach-page .reach-issue-grid article > div {
  min-width: 0 !important;
}

html body.case-detail-page.campaign-reach-page .reach-issue-grid h3 {
  margin: 0 0 16px !important;
  line-height: 1.28 !important;
}

html body.case-detail-page.campaign-reach-page .reach-issue-grid p {
  margin: 0 !important;
  line-height: 1.62 !important;
}

html body.case-detail-page.campaign-reach-page .reach-section-note {
  max-width: 980px !important;
  margin: 38px 0 0 !important;
  line-height: 1.68 !important;
}

@media (max-width: 640px) {
  html body.case-detail-page.campaign-reach-page .reach-issue-grid {
    gap: 16px !important;
  }

  html body.case-detail-page.campaign-reach-page .reach-issue-grid article {
    min-height: 0 !important;
    gap: 14px !important;
    padding: 24px 20px !important;
  }

  html body.case-detail-page.campaign-reach-page .reach-issue-grid h3 {
    margin-bottom: 12px !important;
  }

  html body.case-detail-page.campaign-reach-page .reach-section-note {
    margin-top: 28px !important;
  }
}

/* Campaign reach hero: separate the headline, lead, tags and context into clear reading groups. */
html body.case-detail-page.campaign-reach-page .reach-intro-copy > .reach-eyebrow {
  margin: 0 0 18px !important;
}

html body.case-detail-page.campaign-reach-page .reach-intro h1 {
  margin: 0 0 30px !important;
  line-height: 1.08 !important;
}

html body.case-detail-page.campaign-reach-page .reach-lead {
  margin: 0 0 28px !important;
  line-height: 1.62 !important;
}

html body.case-detail-page.campaign-reach-page .reach-chips {
  gap: 12px !important;
}

html body.case-detail-page.campaign-reach-page .reach-context {
  margin: 32px 0 0 !important;
  line-height: 1.72 !important;
}

@media (max-width: 640px) {
  html body.case-detail-page.campaign-reach-page .reach-intro-copy > .reach-eyebrow {
    margin-bottom: 14px !important;
  }

  html body.case-detail-page.campaign-reach-page .reach-intro h1 {
    margin-bottom: 24px !important;
    line-height: 1.09 !important;
  }

  html body.case-detail-page.campaign-reach-page .reach-lead {
    margin-bottom: 22px !important;
  }

  html body.case-detail-page.campaign-reach-page .reach-chips {
    gap: 9px !important;
  }

  html body.case-detail-page.campaign-reach-page .reach-context {
    margin-top: 26px !important;
  }
}

/* Campaign reach hero industry image: human, privacy-safe context instead of repeated ad UI. */
html body.case-detail-page.campaign-reach-page .reach-industry-photo {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 410px !important;
  min-height: 540px !important;
  margin: 0 !important;
  justify-self: end !important;
  border: 1px solid rgba(7, 24, 70, 0.12) !important;
  border-radius: 22px !important;
  background: #eef1f2 !important;
  box-shadow: 0 24px 60px rgba(7, 24, 70, 0.12) !important;
}

html body.case-detail-page.campaign-reach-page .reach-industry-photo::before {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, transparent 56%, rgba(3, 15, 44, 0.78) 100%) !important;
}

html body.case-detail-page.campaign-reach-page .reach-industry-photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 540px !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  object-position: 50% 48% !important;
}

html body.case-detail-page.campaign-reach-page .reach-industry-photo figcaption {
  position: absolute !important;
  z-index: 2 !important;
  right: 24px !important;
  bottom: 24px !important;
  left: 24px !important;
  display: grid !important;
  gap: 5px !important;
  color: #fff !important;
}

html body.case-detail-page.campaign-reach-page .reach-industry-photo figcaption span {
  color: #d9b36b !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

html body.case-detail-page.campaign-reach-page .reach-industry-photo figcaption strong {
  max-width: 310px !important;
  color: #fff !important;
  font-size: clamp(18px, 1.7vw, 23px) !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
}

@media (max-width: 900px) {
  html body.case-detail-page.campaign-reach-page .reach-industry-photo {
    width: min(100%, 620px) !important;
    max-width: 620px !important;
    min-height: 0 !important;
    justify-self: start !important;
  }

  html body.case-detail-page.campaign-reach-page .reach-industry-photo img {
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    object-position: 50% 38% !important;
  }
}

@media (max-width: 640px) {
  html body.case-detail-page.campaign-reach-page .reach-industry-photo {
    border-radius: 16px !important;
  }

  html body.case-detail-page.campaign-reach-page .reach-industry-photo img {
    aspect-ratio: 4 / 5 !important;
    object-position: 50% 48% !important;
  }

  html body.case-detail-page.campaign-reach-page .reach-industry-photo figcaption {
    right: 18px !important;
    bottom: 18px !important;
    left: 18px !important;
  }
}

/* Campaign reach: final spacing rhythm guard. */
html body.case-detail-page.campaign-reach-page .reach-case-redesign :is(.reach-section, .reach-band),
html body.case-detail-page.campaign-reach-page .reach-cta,
html body.case-detail-page.campaign-reach-page .reach-case-redesign .case-more-section {
  padding-top: var(--reach-space-section) !important;
  padding-bottom: var(--reach-space-section) !important;
}

html body.case-detail-page.campaign-reach-page .reach-section-heading {
  margin-bottom: var(--reach-space-heading) !important;
}

html body.case-detail-page.campaign-reach-page .reach-case-redesign h2,
html body.case-detail-page.campaign-reach-page .reach-company-grid > div:first-child h2 {
  margin-bottom: var(--reach-space-copy) !important;
}

html body.case-detail-page.campaign-reach-page .reach-section-note,
html body.case-detail-page.campaign-reach-page .reach-process {
  margin-top: var(--reach-space-heading) !important;
}

html body.case-detail-page.campaign-reach-page .reach-change-rationale,
html body.case-detail-page.campaign-reach-page .reach-takeaway {
  margin-top: var(--reach-space-major) !important;
}

html body.case-detail-page.campaign-reach-page .reach-cta h2 {
  margin-bottom: 0 !important;
}

html body.case-detail-page.campaign-reach-page .reach-cta p {
  margin-top: var(--reach-space-copy) !important;
}

/* Campaign reach: page-scoped navy, gold and ivory palette. */
html body.case-detail-page.campaign-reach-page {
  --site-navy: #0b1d4f;
  --site-blue: #193267;
  --site-orange: #bd8d42;
  --site-orange-dark: #9d7134;
  --site-text: #4f596c;
  --site-muted: #747b89;
  --site-line: #e3ded3;
  --site-soft: #f7f5ef;
  background: #fcfbf8;
}

html body.case-detail-page.campaign-reach-page .reach-case-redesign :is(h1, h2, h3, strong) {
  color: var(--reach-navy) !important;
}
