/* Household Reach case study — page-unique visuals only.
   Shared bento components (case-facts, case-summary, decision-options,
   product-model, shipped-list) live in case-components.css. */
.household-study {
  --case-accent: var(--terracotta-highlight);
  --case-accent-deep: var(--terracotta);
  --case-tint: color-mix(in srgb, var(--case-accent) 9%, var(--bg));
  --case-dark: var(--ember-charcoal);
}

.household-study:not(.dark) {
  --bg: #fff;
  --ember-paper: #fff;
  background: #fff;
}

.household-case {
  background: #fff0ea;
  border-bottom: 1px solid color-mix(in srgb, var(--case-accent) 20%, var(--line));
}

.household-case h1 {
  max-width: 780px;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1.02;
  letter-spacing: -.03em;
}

.household-case h1 em {
  color: var(--case-accent-deep);
}

.household-visual {
  display: flex;
  flex-direction: column;
  color: #fff9ef;
  background: var(--case-dark) !important;
  box-shadow: 24px 25px 0 var(--case-accent) !important;
}

.household-visual-top,
.reach-header,
.reach-legend {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.household-visual-top > b {
  margin: 0;
  color: var(--case-accent);
  font: 500 18px var(--font-display);
}

.identity-map {
  position: relative;
  height: 145px;
  margin-top: 22px;
}

.household-visual .identity {
  position: absolute;
  z-index: 2;
  width: 34px;
  height: 34px;
  inset: auto;
  border: 7px solid #3c3432;
  border-radius: 50%;
  background: #fff9ef;
  box-shadow: none;
  font: inherit;
}

.household-visual .identity.source {
  top: 42px;
  left: 8%;
  width: 58px;
  height: 58px;
  background: var(--case-accent);
}

.household-visual .identity.member-one { top: 0; right: 28%; }
.household-visual .identity.member-two { top: 52px; right: 8%; }
.household-visual .identity.member-three { right: 37%; bottom: 0; }

.connection {
  position: absolute;
  top: 69px;
  left: 20%;
  z-index: 1;
  height: 1px;
  background: #766b67;
  transform-origin: left;
}

.connection-one { width: 54%; transform: rotate(-23deg); }
.connection-two { width: 69%; }
.connection-three { width: 47%; transform: rotate(28deg); }

.household-visual > p {
  margin: auto 0 0;
  color: #d9d1cb;
  font: 12px var(--font-body);
}

.household-visual > p span {
  padding-inline: 8px;
  color: var(--case-accent);
}

.household-content section:has(.shipped-list) h2 {
  max-width: 680px;
  font-size: clamp(36px, 4vw, 46px);
  line-height: 1.02;
}

.experience-model {
  position: relative;
  gap: 0;
  margin-block: 34px;
  padding: 12px 8px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: color-mix(in srgb, var(--case-tint) 54%, #fff);
}

.experience-model > div {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: 28px 28px 32px;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
}

.experience-model > div + div { border-left: 1px solid var(--line); }

.experience-model small {
  display: block;
  margin-bottom: 10px;
  color: var(--case-accent-deep);
  font: 500 10px/1 var(--font-body);
  letter-spacing: .12em;
  text-transform: uppercase;
}

.experience-model b {
  font: 500 clamp(24px, 2.3vw, 30px)/1.05 var(--font-display);
  letter-spacing: -.02em;
}

.customer-need {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  column-gap: 28px;
  align-items: center;
  margin: 36px 0;
  padding: 28px 34px 30px 28px;
  border: 1px solid color-mix(in srgb, var(--case-accent) 35%, var(--line));
  border-radius: 20px;
  background: var(--case-tint);
}

.customer-need > img {
  grid-row: 1 / span 2;
  width: 84px;
  height: 84px;
  object-fit: contain;
}

.customer-need > span {
  grid-column: 2;
  margin-bottom: 14px;
  color: var(--case-accent-deep);
  font: 500 10px var(--font-body);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.customer-need > p {
  grid-column: 2;
  margin: 0 !important;
  color: var(--ink) !important;
  font: 500 clamp(23px, 2.5vw, 29px)/1.22 var(--font-display) !important;
  letter-spacing: -.02em;
}

.reach-preview {
  max-width: calc(100vw - (2 * var(--page-gutter)));
  margin: 45px -60px;
  padding: 38px 40px;
  border: 1px solid #3d3938;
  border-radius: 24px;
  color: #fff9ef;
  background: var(--case-dark);
  box-shadow: 0 18px 42px rgba(38, 36, 36, .14);
}

.reach-header { font-size: 12px; }
.reach-header > b {
  padding: 8px 12px;
  border: 1px solid color-mix(in srgb, var(--case-accent) 55%, transparent);
  border-radius: 999px;
  color: var(--case-accent);
  background: color-mix(in srgb, var(--case-accent) 10%, transparent);
  font-size: 11px;
  letter-spacing: .04em;
}

.reach-metric {
  display: flex;
  align-items: baseline;
  gap: 15px;
  margin: 42px 0 24px;
}

.reach-metric strong { color: #fff9ef; font: 500 54px var(--font-display); }
.reach-metric span { color: #d9d1cb; font-size: 13px; }
.reach-bars { display: flex; height: 14px; gap: 4px; overflow: hidden; border-radius: 999px; }
.reach-bars i:first-child { width: 42%; border-radius: 999px 0 0 999px; background: #9a8c86; }
.reach-bars i:last-child { width: 58%; border-radius: 0 999px 999px 0; background: var(--case-accent); }
.reach-legend { display: grid; grid-template-columns: 42fr 58fr; margin-top: 15px; color: #d9d1cb; font-size: 11px; }
.reach-legend span:last-child { justify-self: end; }
.reach-legend i { display: inline-block; width: 8px; height: 8px; margin-right: 7px; background: #9a8c86; }
.reach-legend span:last-child i { background: var(--case-accent); }

.household-study.dark {
  --case-accent-deep: #ff9078;
  --case-solid: var(--terracotta);
}

.household-study.dark .household-case { background: var(--ember-paper); }
.household-study.dark .experience-model { background: color-mix(in srgb, #fff 3%, var(--bg)); }

@media (max-width: 980px) {
  .reach-preview { margin-inline: 0; }
}

@media (max-width: 760px) {
  .experience-model { display: block; padding: 4px 20px; border-radius: 20px; }
  .experience-model > div { padding: 22px 0; }
  .experience-model > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .customer-need {
    grid-template-columns: 58px minmax(0, 1fr);
    column-gap: 16px;
    margin-block: 28px;
    padding: 22px 20px;
  }
  .customer-need > img { width: 58px; height: 58px; }
  .reach-preview { padding: 24px 20px; }
  .reach-metric { display: block; }
  .reach-metric span { display: block; margin-top: 5px; }
}

@media (max-width: 420px) {
  .household-visual-top { align-items: flex-start; gap: 12px; }
  .household-visual-top > b { font-size: 16px; white-space: nowrap; }
  .reach-header,
  .reach-legend { align-items: flex-start; flex-direction: column; }
  .reach-metric strong { font-size: 46px; }
}
.household-study .carousel-head { justify-content: flex-end; }
.household-study .case-video {
  position: relative;
  left: 50%;
  width: min(1240px, calc(100vw - (2 * var(--page-gutter))));
  margin: 8px 0 72px;
  transform: translateX(-50%);
}

.household-study .case-video video {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--case-dark);
  box-shadow: 0 18px 48px rgba(38, 36, 36, .12);
}

@media (max-width: 760px) {
  .household-study .case-video { margin-bottom: 48px; }
  .household-study .case-video video { border-radius: 16px; }
}

.household-study .case-visual.household-hero-video {
  display: block;
  height: auto;
  margin: 0;
  padding: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  transform: none;
  background: none !important;
  border-radius: 24px;
  box-shadow: 0 22px 44px rgba(38, 36, 36, .22) !important;
}

.household-hero-video video { display: block; width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 900px) {
  .household-study .case-visual.household-hero-video { position: relative; top: auto; right: auto; width: 100%; margin-top: 36px; }
}

.household-study .case-content > section:has(+ .case-video),
.household-study .case-content > section.no-divider { border-bottom: 0; }
