/* UX refinement: preserve the approved visual system and section layouts. */
.l-container { max-width: 96rem; }
.c-button { max-width: 100%; white-space: normal; text-align: center; overflow-wrap: break-word; }
.c-site-nav__link, .c-site-nav__trigger, .c-text-link, .c-copy-button { min-height: 44px; }
.c-copy-button { min-width: 44px; }
:is(.l-grid, .l-split, .c-form-shell, .dm-hbsos-split, .dm-website-split) > * { min-width: 0; }
:is(.c-field, .c-form-card) :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { max-width: 100%; }
:is(h1,h2,h3,p,li,dd,.c-button) { overflow-wrap: break-word; }
.c-field small, .c-form-feedback { overflow-wrap: anywhere; }
.c-form-card { border-radius: 0; box-shadow: none; }
.c-form-human-check { margin-block: 24px; width: 100%; }
.c-form-feedback { margin-top: 12px; color: var(--dm-ink); }
.c-form-feedback:empty { display: none; }
.c-form-fallback { display: block; margin-block: 20px; padding: 16px; color: var(--dm-ink); background: var(--dm-surface); border-left: 0; }
.c-form-fallback a { text-decoration: underline; text-underline-offset: .2em; }
.c-filter-status { margin: -1.5rem 0 2rem; color: var(--dm-slate); font-size: var(--font-size-small); }
.c-site-nav__link[aria-current="page"] { font-weight: 800; }
:focus-visible { outline: 3px solid var(--dm-blue); outline-offset: 3px; box-shadow: 0 0 0 3px #f5f3ee; }
.c-accordion summary:focus-visible { outline-offset: -3px; }
.c-field :is(input,select,textarea):focus-visible { border-color: var(--dm-blue); }
.c-accordion summary { transition: color 160ms ease; }
.c-button--primary { box-shadow: 0 4px 12px rgb(39 104 158 / .14); }
.c-button--primary:hover { box-shadow: 0 6px 16px rgb(39 104 158 / .2); }
.page-home .c-hero--background .c-hero__actions .c-button--secondary { color: var(--dm-ink); border-color: #f5f3ee; background: #f5f3ee; }
.page-home .c-hero--background .c-hero__actions .c-button--secondary:hover { color: var(--dm-blue-strong); border-color: #f5f3ee; background: #d4e1ec; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
 .c-card:has(.c-button), .c-work-card { transition: border-color 180ms ease, box-shadow 180ms ease; }
 .c-card:has(.c-button):hover, .c-work-card:hover { border-color: #91a7cf; box-shadow: 0 4px 14px rgb(7 17 31 / .06); }
 .c-accordion summary:hover { color: var(--dm-blue-strong); }
}
@media (hover: none), (pointer: coarse) {
 .fx-image-zoom:hover > img, .fx-lift:hover, .c-route-card:hover, .c-button:hover, .c-payment-choice:hover { transform: none; }
 .c-text-link:hover::after { transform: none; }
 .c-site-nav__menu { overscroll-behavior: contain; }
}
@media (min-width: 48.001rem) and (max-width: 64rem) {
 .l-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .c-form-shell, .page-services .c-form-shell, .page-contact .c-form-shell, .page-website-design .c-form-shell, .page-marketing-strategy .c-form-shell, .page-advertising .c-form-shell, .page-social-media .c-form-shell, .page-start-hbsos .c-form-shell { grid-template-columns: minmax(0, 1fr); }
 .c-form-aside { position: static; }
}
@media (max-width: 48rem) {
 .c-showcase-nav { scroll-padding-inline: 12px; }
 .c-form-card { padding: 20px; }
 .c-field :is(input,select,textarea) { font-size: max(16px, 1em); }
 .c-payment-bank div { grid-template-columns: minmax(0,1fr); gap: 4px; }
 .c-payment-choice-grid { grid-template-columns: minmax(0,1fr); }
 .c-button-row { align-items: stretch; }
}
@media (prefers-reduced-motion: reduce) {
 .fx-image-zoom:hover > img, .fx-lift:hover, .c-route-card:hover, .c-button:hover, .c-payment-choice:hover { transform: none; }
}
@media (forced-colors: active) {
 :focus-visible { outline: 3px solid Highlight; box-shadow: none; }
 .c-button, .c-filter-bar__button { border: 1px solid ButtonText; }
}

/* Buyer journey contracts: visible orientation, scoped choices and error recovery. */
.c-site-header__inner > .c-brand { min-width: 0; flex: 0 1 auto; }
.c-site-header__inner > .c-button { flex: 0 0 auto; }
.c-brand__logo { max-width: 100%; }
.c-site-nav__link[aria-current="page"] { text-decoration: none; }
.c-site-nav__trigger.is-active { text-decoration: none; }
html:not(.has-js) .c-site-nav__menu { display: grid; }
html:not(.has-js) .c-site-nav__trigger { display: none; }
html:not(.has-js) .c-site-header { position: static; }
html:not(.has-js) .c-site-header__inner { align-items: start; flex-wrap: wrap; padding-block: 1rem; }
html:not(.has-js) .c-site-nav { flex-wrap: wrap; width: 100%; align-items: start; }
html:not(.has-js) .c-site-nav__menu { position: static; min-width: 0; box-shadow: none; }
.c-breadcrumb--page { display: block; margin-bottom: 0; padding-block: .35rem; color: var(--dm-slate); background: #f5f3ee; border-bottom: 1px solid var(--dm-border); font-size: .875rem; }
.c-breadcrumb--page > .l-container { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; }
.c-breadcrumb--page a { display: inline-flex; align-items: center; min-height: 44px; }
.c-breadcrumb--page [aria-current] { overflow-wrap: anywhere; }
figure.c-media-frame { margin-inline: 0; }
.c-media-frame { min-width: 0; max-width: 100%; }
.c-showcase-layout > *, .c-media-placeholder { min-width: 0; max-width: 100%; }
.c-media-placeholder span { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.c-showcase-nav { min-width: 0; max-width: 100%; }
.c-home-hero-intro { max-width: 46ch; margin: 1.25rem auto 0; color: #f5f3ee; font-size: 1rem; line-height: 1.55; }
@media (min-width:48.001rem) {
 .page-home .c-home-hero-details .c-service-line .c-text-link { padding: .5rem .8rem; color: #f5f3ee; background: var(--dm-midnight); border-radius: var(--radius-sm); text-transform: none; letter-spacing: 0; }
}
.c-route-guidance { display: flex; gap: 2rem; align-items: center; justify-content: space-between; margin-bottom: 2rem; padding: 1.5rem; border-left: 0; background: var(--dm-surface); }
.c-route-guidance p { margin: 0; max-width: 52ch; }
.c-route-guidance .c-button { flex: 0 0 auto; }
.page-services .dm-service-fit .c-route-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.page-services .dm-service-fit .c-route-card--connected { grid-column: 1 / -1; border-top: 0; background: #f5f3ee; }
.page-services .dm-service-fit .c-route-card .c-button--secondary { color: var(--dm-ink); background: #f5f3ee; }
.page-home .c-home-services .c-text-link { margin-top: auto; align-self: center; }
.c-offer-comparison { width: 100%; overflow-x: auto; margin-bottom: 1rem; }
.c-offer-comparison table { width: 100%; border-collapse: collapse; color: var(--dm-ink); background: #f5f3ee; font-size: 1rem; }
.c-offer-comparison caption { padding: 1rem; text-align: left; font-weight: 700; background: var(--dm-surface); }
.c-offer-comparison :is(th,td) { padding: 1rem; border-bottom: 1px solid var(--dm-border); text-align: left; vertical-align: top; }
.c-offer-comparison thead { background: var(--dm-midnight); color: #f5f3ee; }
.c-offer-comparison tbody th { font-weight: 600; }
.c-offer-comparison a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; }
.c-offer-choice-help { margin: 0 0 2.5rem; }
.c-offer-detail { margin-bottom: 1rem; border-top: 1px solid var(--dm-border); }
.c-offer-detail summary { min-height: 44px; padding-block: .8rem; cursor: pointer; color: var(--dm-blue-strong); font-weight: 700; }
.c-offer-detail > .c-offer-answer { margin-top: 1rem; }
.c-offer-card { scroll-margin-top: 7rem; }
.c-offer-card .c-price--light, .c-offer-card .c-price__note--light { color: var(--dm-ink); }
.l-section--ink .c-card:not(.c-card--dark) .c-text-link--light { color: var(--dm-blue-strong); }
.page-home .c-home-services .c-card--dark .c-text-link { color: #d4e1ec; }
.c-card__index { color: var(--dm-blue-strong); }
.c-article-hero .c-eyebrow, .c-featured-insight .c-eyebrow { color: #d4e1ec; }
.c-article-hero .c-meta { color: #dce4ea; }
.c-hero--ink .c-media-placeholder span { color: var(--dm-ink); }
.c-error-summary { margin: 0 0 1.5rem; padding: 1.25rem; border: 2px solid var(--status-error); background: var(--status-error-soft); color: var(--dm-ink); }
.c-error-summary p { margin: 0; font-weight: 700; }
.c-error-summary ul { margin-block: .5rem 0; padding-left: 1.25rem; }
.c-error-summary a { display: inline-flex; align-items: center; min-height: 44px; color: var(--status-error); text-decoration: underline; }
.c-field-error { display: block; margin: .25rem 0; color: var(--status-error); font-size: .875rem; font-weight: 600; }
.c-field-error:empty { display: none; }
[aria-invalid="true"] { border-color: var(--status-error); }
.c-form-card [data-form-next] { display: none; }
.c-form-card.is-enhanced [data-form-next]:not([hidden]) { display: inline-flex; }
.c-form-feedback a, .c-form-fallback a { display: inline-flex; align-items: center; min-height: 44px; }
:is(input,textarea,select,button,[tabindex]) { scroll-margin-top: calc(var(--header-height) + 1.5rem); }
@media (max-width:48rem) {
 .l-container, .l-narrow { width: calc(100% - 40px); }
 .c-site-header__inner { gap: 1rem; }
 .c-site-header__inner > .c-button { padding-inline: .75rem; font-size: .875rem; }
 .c-route-guidance { display: block; }
 .l-split, .c-showcase-layout { grid-template-columns: minmax(0,1fr); }
 body:not(.page-home) .c-hero__copy { display: block; }
 body:not(.page-home) .c-hero__copy > * { order: initial; }
 body:not(.page-home) .c-hero__inner > :is(.c-media-frame,.c-hero__visual) { order: initial; margin-top: 2rem; }
 .c-form-aside { order: initial; }
 .c-article-hero .c-breadcrumb { color: var(--dm-ink); }
 .c-hero .c-project-facts :is(li,strong) { color: var(--dm-ink); }
 .c-route-guidance .c-button { margin-top: 1rem; width: 100%; }
 .page-services .dm-service-fit .c-route-grid { grid-template-columns: minmax(0,1fr); }
 .c-offer-comparison :is(th,td) { padding: .75rem .5rem; overflow-wrap: anywhere; }
 .c-offer-comparison table { font-size: .875rem; table-layout: fixed; }
 .c-offer-comparison thead th:first-child { width: 36%; }
 .c-offer-comparison thead th:nth-child(2) { width: 36%; }
 .c-offer-comparison thead th:last-child { width: 28%; }
}

/* Menu states retain their background and keyboard outline without underline decoration. */
.c-site-nav :is(a,button,a:hover,button:hover,a:focus,button:focus,a:focus-visible,button:focus-visible) { text-decoration: none; }
/* Keep top-level labels on one line after restoring Home and Payments. */
@media (min-width: 80.001rem) {
 .c-site-header__inner { gap: 1rem; }
 .c-site-nav > .c-site-nav__link, .c-site-nav > .c-site-nav__group > .c-site-nav__trigger { padding-inline: .5rem; white-space: nowrap; }
 .c-site-nav > .c-site-header__cta { padding-inline: 1rem; white-space: nowrap; }
}

/* Homepage revision: left alignment, deliberate spacing and a dark approach. */
.page-home .c-home-services .c-card {
  text-align: left;
}
.page-home .c-home-services .c-card > :is(.c-text-link, .c-button) {
  align-self: flex-start;
}
.page-home .c-hero--background :is(.c-hero__copy, .c-home-hero-heading, .c-home-hero-text, .c-home-hero-followup, .c-home-hero-details, .c-service-line, h1) {
  text-align: left;
}
.page-home .c-hero--background .c-home-hero-logo {
  margin-inline: 0;
}
.page-home .c-hero--background :is(h1, .c-eyebrow, .c-home-hero-intro, .c-service-line, .c-victor-inline) {
  margin-left: 0;
  margin-right: 0;
}
.page-home .c-hero--background .c-hero__actions {
  justify-content: flex-start;
}
.page-home .c-home-introduction .c-home-introduction__cta {
  margin-top: calc(1.5rem + 20px);
}
.page-home .c-home-featured-work > .l-container > .c-button-row {
  margin-top: calc(var(--space-6) + 30px);
}
.page-home .c-home-featured-work > .l-container > .c-button-row > .c-button--secondary {
  color: #f5f3ee;
  background: #082c4a;
  border-color: #082c4a;
}
.page-home .c-home-featured-work > .l-container > .c-button-row > .c-button--secondary:hover {
  color: #f5f3ee;
  background: #051c30;
  border-color: #051c30;
}
.page-home .c-home-approach {
  --color-text: #f5f3ee;
  --color-text-soft: #e0e0e0;
  --color-text-muted: #d0d0d0;
  --color-border: #737373;
  --color-action: #d4e1ec;
  --dm-blue-strong: #d4e1ec;
  --dm-blue: #d4e1ec;
  color: #f5f3ee;
  background: #1f4665;
}
.page-home .c-home-approach :is(p, h2, h3) {
  color: #f5f3ee;
}
.page-home .c-hero--background .c-home-hero-heading h1,
.page-home .c-hero--background .c-home-hero-heading .c-eyebrow,
.page-home .c-hero--background .c-home-hero-followup .c-home-hero-intro {
  margin-left: 0;
  margin-right: 0;
}

/* Darker homepage section surfaces. */
.page-home .c-home-services,
.page-home .c-home-approach {
  background: #082c4a;
}

/* Homepage section spacing; compact call-to-action bands retain their spacing. */
@media screen {
  .page-home main > section.l-section,
  .page-home main > section.c-hero > .c-hero__inner {
    padding-top: 150px;
    padding-bottom: 150px;
  }
}

/* Left-align all content in the homepage Services and Featured Work sections. */
.page-home :is(.c-home-services, .c-home-featured-work),
.page-home :is(.c-home-services, .c-home-featured-work) :is(.c-section-heading, .c-card, .c-work-card__body, .c-tag, .c-button, .c-text-link, .c-victor-inline) {
  text-align: left;
}
.page-home :is(.c-home-services, .c-home-featured-work) .c-section-heading,
.page-home :is(.c-home-services, .c-home-featured-work) .c-section-heading > :is(h2, p) {
  margin-inline: 0;
}
.page-home .c-home-featured-work .c-work-card__body {
  align-items: flex-start;
}
.page-home :is(.c-home-services, .c-home-featured-work) :is(.c-tag, .c-work-card__cta, .c-card > .c-button, .c-card > .c-text-link) {
  align-self: flex-start;
  justify-content: flex-start;
}
.page-home :is(.c-home-services, .c-home-featured-work) > .l-container > .c-button-row {
  justify-content: flex-start;
  text-align: left;
}
.page-home :is(.c-home-services, .c-home-featured-work) :is(.c-button, .c-victor-inline) {
  justify-content: flex-start;
}

/* Centre only the Explore All Work button below the featured cards. */
.page-home .c-home-featured-work > .l-container > .c-button-row > a.c-button[href="work.html"] {
  margin-inline: auto;
  text-align: center;
  justify-content: center;
}

/* Featured Work: description, centred action, then cards. */
.page-home .c-home-featured-work .c-section-heading {
  margin-bottom: 0;
}
.page-home .c-home-featured-work > .l-container > .c-featured-work-actions {
  margin-top: 40px;
  margin-bottom: 40px;
}

/* Left-align the Featured Work action above the cards. */
.page-home .c-home-featured-work > .l-container > .c-featured-work-actions > a.c-button[href="work.html"] {
  margin-inline: 0;
  text-align: left;
  justify-content: flex-start;
}

/* Featured Work: flush image and copy edges with lighter card titles. */
.page-home .c-home-featured-work .c-work-card {
  border: 0;
  padding: 0;
  box-shadow: none;
}
.page-home .c-home-featured-work .c-work-card__title {
  padding: 0 0 24px;
  font-weight: 600;
}
.page-home .c-home-featured-work .c-work-card__body {
  padding: 24px 0 0;
}
.page-home .c-home-featured-work .c-tag {
  padding-inline: 0;
}

/* Dark, square expectation cards with readable copy and number badges. */
.page-home .c-home-expect .c-card {
  background: #082c4a;
  border-radius: 0;
  color: #f5f3ee;
}
.page-home .c-home-expect .c-card h3 {
  color: #f5f3ee;
}
.page-home .c-home-expect .c-card p {
  color: #e0e0e0;
}
.page-home .c-home-expect .c-card__index {
  color: #d4e1ec;
  border-color: #d4e1ec;
  background: #082c4a;
}
/* Replace the HBSOS section background artwork with solid charcoal. */
.page-home .c-home-hbsos {
  background: #082c4a;
}

/* Homepage typography: medium hero headings and regular content headings. */
.page-home main :is(h1, h2, h3) {
  font-weight: 400;
}
.page-home main .c-hero :is(h1, h2, h3) {
  font-weight: 500;
}
.page-home .c-home-featured-work .c-work-card__title {
  font-weight: 400;
}

/* Featured Work: white section with transparent card surfaces. */
.page-home .c-home-featured-work {
  background: #f5f3ee;
}
.page-home .c-home-featured-work .c-work-card {
  background: transparent;
}

/* HBSOS: align the content block and all copy/actions to the left. */
.page-home .c-home-hbsos .c-home-hbsos__inner {
  justify-content: flex-start;
}
.page-home .c-home-hbsos .c-home-hbsos__copy {
  text-align: left;
}
.page-home .c-home-hbsos .c-home-hbsos__copy > :is(h2, p) {
  margin-left: 0;
  margin-right: 0;
}
.page-home .c-home-hbsos .c-home-hbsos__copy > .c-button-row {
  justify-content: flex-start;
  text-align: left;
}
.page-home .c-home-hbsos .c-button {
  text-align: left;
  justify-content: flex-start;
}

/* HBSOS height follows its content, plus the governed section padding. */
.page-home main > section.c-home-hbsos {
  height: auto;
  min-height: 0;
  padding-top: 150px;
  padding-bottom: 150px;
}
.page-home .c-home-hbsos .c-home-hbsos__inner {
  height: auto;
  min-height: 0;
}

/* Homepage introduction: left-aligned copy and a 5:4 image placeholder. */
.page-home .c-home-introduction > .c-home-introduction__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 5vw, 80px);
}
.page-home .c-home-introduction .c-home-introduction__copy {
  min-width: 0;
  text-align: left;
}
.page-home .c-home-introduction .c-home-introduction__copy > :is(h2, p) {
  margin-inline: 0;
  text-align: left;
}
.page-home .c-home-introduction .c-home-introduction__copy h2::after {
  margin-left: 0;
  margin-right: 0;
}
.page-home .c-home-introduction .c-home-introduction__copy > .c-home-introduction__closing {
  margin-top: 24px;
}
.page-home .c-home-introduction .c-home-introduction__cta {
  text-align: left;
  justify-content: flex-start;
}
.page-home .c-home-introduction .c-home-introduction__placeholder {
  width: 100%;
  aspect-ratio: 5 / 4;
  background: #e6e6e6;
}
@media (max-width: 64rem) {
  .page-home .c-home-introduction > .c-home-introduction__layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Desktop homepage hero: content height plus 150px above and below. */
@media screen and (min-width: 70.01rem) {
  .page-home main > section.c-hero--background {
    height: auto;
    min-height: 0;
  }
  .page-home main > section.c-hero--background > .c-hero__inner {
    height: auto;
    min-height: 0;
    padding-top: 150px;
    padding-bottom: 150px;
  }
  .page-home .c-hero--background .c-hero__copy {
    margin-block: 0;
  }
  .page-home .c-hero--background .c-home-hero-text > .c-eyebrow {
    margin-top: 0;
  }
  .page-home .c-hero--background .c-home-hero-details > :last-child {
    margin-bottom: 0;
  }
}

/* Give the Services and Featured Work headings the full container width. */
.page-home :is(.c-home-services, .c-home-featured-work) .c-section-heading {
  max-width: none;
}
.page-home :is(.c-home-services, .c-home-featured-work) .c-section-heading > h2 {
  max-width: none;
  text-wrap: wrap;
}
@media screen and (min-width: 70.01rem) {
  .page-home :is(.c-home-services, .c-home-featured-work) .c-section-heading > h2 {
    white-space: nowrap;
  }
}

/* Featured Work service labels: plain charcoal text without highlight. */
.page-home .c-home-featured-work .c-tag {
  color: #1f4665;
  background: transparent;
  border-radius: 0;
}

/* Expectations: left-aligned copy and cards, with the CTA before the cards. */
.page-home .c-home-expect,
.page-home .c-home-expect :is(.c-section-heading, .c-card, h2, h3, p, .c-button) {
  text-align: left;
}
.page-home .c-home-expect .c-section-heading {
  margin-inline: 0;
  margin-bottom: 0;
}
.page-home .c-home-expect .c-section-heading > :is(h2, p) {
  margin-inline: 0;
}
.page-home .c-home-expect > .l-container > .dm-expect-cta {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 40px 0;
}
.page-home .c-home-expect .dm-expect-cta > .c-button {
  justify-content: flex-start;
  align-self: flex-start;
  margin-inline: 0;
}

/* Expectations: copy and CTA beside a 5:4 placeholder, replacing the cards. */
.page-home .c-home-expect > .c-home-expect__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 5vw, 80px);
}
.page-home .c-home-expect .c-home-expect__copy {
  min-width: 0;
  text-align: left;
}
.page-home .c-home-expect .c-home-expect__copy > .dm-expect-cta {
  display: flex;
  justify-content: flex-start;
  max-width: none;
  margin: 40px 0 0;
  padding: 0;
  text-align: left;
}
.page-home .c-home-expect .c-home-expect__placeholder {
  width: 100%;
  aspect-ratio: 5 / 4;
  background: #e6e6e6;
}
@media (max-width: 64rem) {
  .page-home .c-home-expect > .c-home-expect__layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Homepage tablet/mobile: heading, artwork, then description and actions. */
@media screen and (max-width: 70rem) {
  .page-home main > section.c-hero--background {
    min-height: 0;
    background: #f5f3ee !important;
    color: #082c4a !important;
  }
  .page-home .c-hero--background::before,
  .page-home .c-hero--background::after,
  .page-home .c-home-hero-heading::before {
    display: none !important;
    content: none;
  }
  .page-home main > section.c-hero--background > .c-hero__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: none;
    height: auto;
    min-height: 0;
    gap: 0;
    padding: 0;
  }
  .page-home .c-hero--background .c-hero__copy {
    display: contents;
  }
  .page-home .c-hero--background .c-home-hero-heading {
    display: block;
    order: 1;
    grid-area: auto;
    width: 100%;
    min-height: 0;
    padding: 50px 20px 32px;
    background: #f5f3ee;
  }
  .page-home .c-hero--background .c-home-hero-text {
    display: block;
    padding: 0;
  }
  .page-home .c-hero--background .c-home-hero-heading h1 {
    max-width: none;
    color: #082c4a !important;
    text-shadow: none;
  }
  .page-home .c-hero--background .c-home-hero-heading .c-eyebrow {
    max-width: none;
    color: #1f4665 !important;
    text-shadow: none;
  }
  .page-home .c-hero--background .c-home-hero-heading h1 .c-hero-highlight--blue {
    color: #1f4665 !important;
  }
  .page-home .c-hero--background .c-home-hero-heading h1 .c-hero-highlight--yellow {
    color: #76520a !important;
  }
  .page-home .c-hero--background .c-home-hero-heading h1 .c-home-hero-comma {
    color: #082c4a !important;
  }
  .page-home .c-hero--background .c-hero__inner > .c-media-frame--hero {
    display: block;
    order: 2;
    position: relative;
    grid-area: auto;
    inset: auto;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .page-home .c-hero--background .c-media-frame--hero img {
    position: static;
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    transform: none;
  }
  .page-home .c-hero--background .c-home-hero-followup {
    display: block;
    order: 3;
    grid-area: auto;
    padding: 32px 20px 0;
    background: #f5f3ee;
    color: #082c4a;
  }
  .page-home .c-hero--background .c-home-hero-followup .c-home-hero-intro {
    color: #082c4a !important;
    margin: 0 0 24px;
  }
  .page-home .c-hero--background .c-home-hero-followup .c-hero__actions {
    margin-top: 0;
  }
  .page-home .c-hero--background .c-home-hero-details {
    display: block;
    order: 4;
    grid-area: auto;
    padding: 32px 20px 50px;
    background: #f5f3ee;
    color: #082c4a;
  }
  .page-home .c-hero--background .c-home-hero-details p {
    color: #082c4a !important;
  }
}

/* Plain charcoal homepage H1 when displayed above the artwork. */
@media screen and (max-width: 70rem) {
  .page-home .c-hero--background .c-home-hero-heading h1,
  .page-home .c-hero--background .c-home-hero-heading h1 span {
    color: #082c4a !important;
  }
}
@media screen and (max-width: 70rem) {
  .page-home .c-hero--background .c-home-hero-heading h1 :is(.c-hero-highlight--blue, .c-hero-highlight--yellow, .c-home-hero-comma) {
    color: #082c4a !important;
  }
}

/* Homepage hero: 150px outer vertical padding at each layout size. */
@media screen and (min-width: 70.01rem) {
  .page-home main > section.c-hero--background > .c-hero__inner {
    padding-top: 150px;
    padding-bottom: 150px;
  }
}
@media screen and (max-width: 70rem) {
  .page-home .c-hero--background .c-home-hero-heading {
    padding-top: 150px;
  }
  .page-home .c-hero--background .c-home-hero-details {
    padding-bottom: 150px;
  }
}
/* Match the adjacent white View My Work action. */
.page-home .c-hero--background .c-hero__actions > .c-button--primary {
  color: #082c4a !important;
  background: #f5f3ee !important;
  border-color: #f5f3ee !important;
}
.page-home .c-hero--background .c-hero__actions > .c-button--primary:hover {
  color: #082c4a !important;
  background: #d4e1ec !important;
  border-color: #d4e1ec !important;
}

/* HBSOS: copy left and Brand Seed image right. */
.page-home .c-home-hbsos .c-home-hbsos__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 5vw, 80px);
}
.page-home .c-home-hbsos .c-home-hbsos__copy {
  width: 100%;
  min-width: 0;
}
.page-home .c-home-hbsos .c-home-hbsos__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 4;
  object-fit: contain;
}
@media (max-width: 64rem) {
  .page-home .c-home-hbsos .c-home-hbsos__inner {
    grid-template-columns: minmax(0, 1fr);
  }
}


/* Evidence first: retain expert breadth behind a native disclosure. */
.c-work-group-heading { margin-top: 2rem; }
.c-work-concepts { margin-top: 3rem; padding-block: 1.5rem; border-block: 1px solid var(--dm-border); }
.c-work-concepts > summary { min-height: 44px; padding: .75rem 0; font-size: 1.25rem; font-weight: 500; cursor: pointer; }
.c-work-concepts > p { max-width: 64ch; margin-block: 1rem 2rem; }
.c-work-concepts > summary:focus-visible { outline-offset: 3px; }
.c-site-nav__link[aria-current="page"] { text-decoration: underline; text-underline-offset: .3em; text-decoration-thickness: 2px; }
.c-site-nav__trigger.is-active { text-decoration: underline; text-underline-offset: .3em; }
.c-offer-comparison:focus-visible { outline-offset: -3px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Small blue text on pale surfaces needs the stronger approved blue. */
.l-section--soft .c-eyebrow, .l-section--surface .c-eyebrow,
.c-system-path__step span, .c-text-link { color: var(--dm-blue-strong); }
.c-text-link--light { color: #f5f3ee; }
.c-text-link--soft-light { color: #d4e1ec; }
.c-dark-feature .c-system-path__step span { color: #f2b200; }
button.c-text-link { color: var(--dm-blue-strong); background: transparent; border: 0; padding-inline: 0; }
button.c-text-link:disabled { color: var(--dm-slate); cursor: wait; }
.c-media-frame--panorama > figcaption { color: #d4e1ec; }
/* Preserve the light treatment inside dark nested panels. */
.l-section--soft :is(.c-card--dark, .c-form-aside, .c-payment-summary) .c-eyebrow,
.l-section--surface :is(.c-card--dark, .c-form-aside, .c-payment-summary) .c-eyebrow { color: #d4e1ec; }
button.c-text-link:disabled { opacity: 1; }
.c-insight-mark { color: #77859a; }

/* Responsive section rhythm: phone <768px, tablet 768–1120px. */
@media screen and (max-width: 1120px) {
  :root { --dm-section-padding: 80px; }
  main > section { padding-block: var(--dm-section-padding) !important; }
  main > section.c-hero > .c-hero__inner { padding-block: 0 !important; min-height: 0; }
  /* The home hero has separate heading/image/details blocks: apply outer
     spacing to its content blocks so the full-width image remains flush. */
  .page-home main > section.c-hero--background { padding-block: 0 !important; }
  .page-home main > section.c-hero--background > .c-hero__inner { padding-block: 0 !important; }
  .page-home .c-hero--background .c-home-hero-heading { padding-top: var(--dm-section-padding) !important; }
  .page-home .c-hero--background .c-home-hero-details { padding-bottom: var(--dm-section-padding) !important; }
}
@media screen and (max-width: 767px) {
  :root { --dm-section-padding: 50px; }
}

/* Mobile home hero uses the authored sentence case. */
@media screen and (max-width: 767px) {
  .page-home .c-hero--background h1.c-home-hero-title,
  .page-home .c-hero--background h1.c-home-hero-title * { text-transform: none !important; }
}

/* Phone hero actions match the site's charcoal buttons. */
@media screen and (max-width: 767px) {
  .page-home .c-hero--background .c-home-hero-followup .c-hero__actions > .c-button {
    color: #f5f3ee !important;
    background: #082c4a !important;
    border-color: #082c4a !important;
  }
  .page-home .c-hero--background .c-home-hero-followup .c-hero__actions > .c-button:is(:hover, :active) {
    color: #f5f3ee !important;
    background: #082c4a !important;
    border-color: #082c4a !important;
  }
}
