/* =========================================================
   Kinvella landing hero
   Centered family artwork with a compact stacked mobile layout.
   Copy, family portraits, migration map, CTA, and value cards share one visual system.
   ========================================================= */

body.landing-page:not(.authenticated-home) .living-hero-shell {
  --hero-bg: #fbf4ea;
  --hero-bg-deep: #f3e3cd;
  --hero-ink: #231811;
  --hero-muted: rgba(67, 43, 24, 0.74);
  --hero-value-text: #1d1309;
  --hero-gold: #a77a32;
  --hero-gold-soft: #c9a86a;
  --hero-border: rgba(175, 133, 66, 0.22);
  --hero-cream-line: rgba(255, 249, 236, 0.74);
  --hero-shadow: 0 18px 38px rgba(54, 33, 16, 0.08);
  --button-top: #d6b157;
  --button-bottom: #a66f1f;
  --button-text-gold: #26170c;
  /* Scope the shared button system to the same gold treatment as the public nav CTA. */
  --kv-btn-primary-color: #28180b;
  --kv-btn-primary-border: rgba(111, 67, 15, 0.72);
  --kv-btn-primary-bg:
    linear-gradient(115deg, transparent 0 30%, rgba(255, 245, 202, 0.3) 45%, transparent 60% 100%),
    linear-gradient(180deg, #d7b45d 0%, #bd8731 58%, #9f6a20 100%);
  --kv-btn-primary-shadow:
    inset 0 1px 0 rgba(255, 242, 198, 0.58),
    inset 0 -1px 0 rgba(91, 52, 10, 0.26),
    0 0.4rem 0.9rem rgba(0, 0, 0, 0.16);
  --living-hero-section-gap: clamp(0.52rem, 1vw, 0.76rem);
  --living-hero-frame-gap: clamp(0.18rem, 0.42vw, 0.28rem);
  --living-hero-frame-space: clamp(0.86rem, 1.65vw, 1.18rem);
  --living-hero-bottom-space: clamp(1.12rem, 2.08vw, 1.56rem);
  --living-hero-stack-gap: clamp(0.56rem, 1.1vw, 0.84rem);
  --living-hero-value-max-width: 45rem;
  --living-hero-copy-max-width: 42rem;
  --living-hero-cta-balance-space: clamp(0.74rem, 1.38vw, 1rem);
  /* Separate icon scales prevent shared button rules from shrinking either CTA symbol. */
  --living-hero-cta-icon-size: 1rem;
  --living-hero-primary-icon-size: 1.34rem;
  --living-hero-demo-icon-size: 1.22rem;
  --living-hero-primary-cta-inline-padding: clamp(1rem, 1.25vw, 1.25rem);
  --living-hero-secondary-cta-inline-padding: clamp(0.56rem, 0.9vw, 0.68rem);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  margin-top: 0 !important;
  margin-bottom: var(--living-hero-section-gap) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    linear-gradient(180deg, rgba(253, 249, 242, 0.91) 0%, rgba(250, 239, 223, 0.92) 100%),
    radial-gradient(circle at 50% 16%, rgba(255, 253, 248, 0.94) 0 22%, rgba(255, 253, 248, 0.24) 46%, transparent 70%),
    radial-gradient(circle at 10% 44%, rgba(214, 183, 122, 0.08), transparent 36%),
    radial-gradient(circle at 90% 42%, rgba(214, 183, 122, 0.075), transparent 37%),
    linear-gradient(180deg, #fdf9f2 0%, #faefdf 56%, var(--hero-bg-deep) 100%) !important;
  box-shadow: inset 0 0 52px rgba(139, 93, 35, 0.05) !important;
  padding: calc(var(--living-hero-frame-gap) + var(--living-hero-frame-space)) var(--living-hero-inline-space, clamp(0.78rem, 2.05vw, 1.48rem)) calc(var(--living-hero-frame-gap) + var(--living-hero-bottom-space)) !important;
}

body.landing-page:not(.authenticated-home) .living-hero-shell::before,
body.landing-page:not(.authenticated-home) .living-hero-shell::after {
  content: "";
  position: absolute;
  left: clamp(0.95rem, 5vw, 3.25rem);
  right: clamp(0.95rem, 5vw, 3.25rem);
  z-index: 6;
  height: 1px;
  pointer-events: none;
  opacity: 0.94;
  background: linear-gradient(90deg, transparent 0%, rgba(149, 99, 30, 0) 10%, rgba(149, 99, 30, 0.16) 23%, rgba(221, 178, 84, 0.64) 50%, rgba(149, 99, 30, 0.16) 77%, rgba(149, 99, 30, 0) 90%, transparent 100%);
  box-shadow: 0 0 5px rgba(207, 161, 72, 0.11);
}

body.landing-page:not(.authenticated-home) .living-hero-shell::before {
  top: var(--living-hero-frame-gap);
}

body.landing-page:not(.authenticated-home) .living-hero-shell::after {
  bottom: var(--living-hero-frame-gap);
}

body.landing-page:not(.authenticated-home) .living-hero-shell + .landing-portrait-row {
  margin-top: var(--landing-section-gap, clamp(0.95rem, 2vw, 1.42rem)) !important;
}

body.landing-page:not(.authenticated-home) .living-hero__inner {
  position: relative;
  z-index: 2;
  isolation: isolate;
  max-width: min(100%, 1400px);
  margin: 0 auto;
  padding-top: 0;
}

/* Archival hero accents replace the former olive branches. They stay behind the
   functional hero, but are art-directed as a few overlapping clusters so the
   decorations feel intentional rather than separately parked around the layout. */
body.landing-page:not(.authenticated-home) .living-hero__archival-accents {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: none;
  overflow: visible;
  pointer-events: none;
}

body.landing-page:not(.authenticated-home) .living-hero__archival-accent {
  position: absolute;
  display: block;
  object-fit: contain;
  user-select: none;
  filter: sepia(0.28) saturate(0.7) brightness(1.02) contrast(0.97);
}

/* Right-side archival accents remain viewport-positioned; the seal/compass cluster is copy-anchored below. */
body.landing-page:not(.authenticated-home) .living-hero__archival-accent--map {
  z-index: 0;
  top: clamp(0.2rem, 0.9vw, 0.9rem);
  right: calc((100vw - 100%) / -2 + clamp(-1.95rem, -0.5vw, -0.55rem));
  width: clamp(12.8rem, 15.6vw, 16.8rem);
  opacity: 0.12;
  transform: rotate(5deg);
}

body.landing-page:not(.authenticated-home) .living-hero__archival-accent--sextant {
  z-index: 1;
  right: calc((100vw - 100%) / -2 + clamp(-0.4rem, 0.65vw, 0.55rem));
  bottom: clamp(-1.35rem, -0.7vw, -0.35rem);
  width: clamp(10.1rem, 12.7vw, 13.5rem);
  opacity: 0.155;
  transform: rotate(7deg);
}

body.landing-page:not(.authenticated-home) .living-hero__desktop-grid {
  position: relative;
  z-index: 1;
  display: block;
}


body.landing-page:not(.authenticated-home) .living-hero__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin: 0 0 var(--living-hero-eyebrow-gap, 0.65rem);
  color: #95662c;
  font: 650 clamp(0.62rem, 1vw, 0.75rem)/1.3 "Manrope", "Inter", system-ui, sans-serif;
  letter-spacing: 0.18em;
}

body.landing-page:not(.authenticated-home) .living-hero__eyebrow::before,
body.landing-page:not(.authenticated-home) .living-hero__eyebrow::after {
  content: "";
  width: clamp(1.5rem, 4vw, 3rem);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(175, 123, 46, 0.65));
}

body.landing-page:not(.authenticated-home) .living-hero__eyebrow::after {
  transform: rotate(180deg);
}

body.landing-page:not(.authenticated-home) .living-hero__subtitle > span {
  display: block;
}

body.landing-page:not(.authenticated-home) .living-hero__headline-wrap {
  position: relative;
  margin: clamp(0.02rem, 0.32vw, 0.22rem) 0 clamp(0.44rem, 0.92vw, 0.68rem);
  text-align: center;
}

body.landing-page:not(.authenticated-home) .living-hero__headline {
  display: flex;
  flex-direction: column;
  gap: clamp(0.58rem, 0.74vw, 0.81rem);
  margin: 0;
  color: #2d1f15;
  font-family: "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif;
  font-size: clamp(2.511rem, 3.72vw, 3.9525rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.04;
  text-align: center;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.52);
}

body.landing-page:not(.authenticated-home) .living-hero__headline-line {
  display: block;
  white-space: nowrap;
}

body.landing-page:not(.authenticated-home) .living-hero__headline-line--primary {
  color: #2d1f15;
}

body.landing-page:not(.authenticated-home) .living-hero__headline-line--secondary {
  color: #95662c;
  font-style: italic;
}

body.landing-page:not(.authenticated-home) .living-hero__subtitle {
  display: block;
  max-width: min(100%, 31rem);
  margin: 0 auto;
  color: rgba(54, 38, 25, 0.78);
  font-family: "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif;
  font-size: clamp(0.96rem, 1.02vw, 1rem);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.5;
  padding: 0;
  text-align: center;
}

body.landing-page:not(.authenticated-home) .living-hero__subtitle p {
  margin: 0;
}

@media (min-width: 768px) {
  body.landing-page:not(.authenticated-home) .living-hero__headline-line {
    white-space: nowrap;
  }
}

body.landing-page:not(.authenticated-home) .living-hero__story-grid {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  margin: clamp(0.27rem, 0.6vw, 0.43rem) auto 0;
}

/* One editorial family-story summary replaces the former KPI-card grid. The same
   markup and styling are used by public and signed-in heroes; only the data changes. */
body.landing-page .hero-story-summary {
  --font-body: "Source Sans 3", "Segoe UI", Arial, sans-serif;
  position: relative;
  z-index: 8;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 0.45rem 0.3rem;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #765536;
  text-align: center;
}

body.landing-page .hero-story-summary::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 3rem;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(to right, transparent, rgba(181, 138, 69, 0.3), transparent);
  pointer-events: none;
}

body.landing-page .hero-story-summary__items {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  width: 100%;
}

body.landing-page .hero-story-summary__item {
  display: flex;
  flex: 0 0 auto;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  min-width: 0;
  gap: 0.3rem;
  padding-inline: 0;
  white-space: nowrap;
}

body.landing-page .hero-story-summary__item + .hero-story-summary__item::before {
  content: "";
  width: 0.18rem;
  height: 0.18rem;
  flex: 0 0 auto;
  margin-inline: 0.5rem 0.2rem;
  border-radius: 50%;
  background: #b58a45;
}

body.landing-page .hero-story-summary__item strong {
  color: #754a25;
  font: 600 clamp(1.05rem, 1.4vw, 1.2rem)/1.1 var(--font-body);
  font-variant-numeric: tabular-nums;
}

body.landing-page .hero-story-summary__label {
  font: 400 clamp(0.68rem, 1vw, 0.78rem)/1.3 var(--font-body);
  letter-spacing: 0.01em;
}

/* The lower-left archival cluster is anchored to the end of the copy block instead
   of the viewport, guaranteeing breathing room beneath the subtitle on desktop. */
body.landing-page:not(.authenticated-home) .living-hero__copy-archival {
  display: none;
}

body.landing-page {
  --hero-family-identity-shift: 6px;
}

body.landing-page .family-hero-visual {
  --hero-family-action-top-gap: 1.25rem;
  --hero-family-metrics-gap: 1rem;
  display: grid;
  grid-template-areas:
    "heading"
    "art"
    "footer";
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  width: 100%;
  min-width: 0;
}

body.landing-page:not(.authenticated-home) .family-hero-visual--public {
  --hero-family-copy-top-gap: 0px;
  --hero-family-action-top-gap: 1.25rem;
  --hero-family-metrics-gap: 1rem;
}

body.landing-page .family-hero-visual__heading {
  grid-area: heading;
  width: 100%;
}

body.landing-page .family-hero-visual > .hero-family-collage-frame {
  grid-area: art;
}

body.landing-page .family-hero-visual__footer {
  grid-area: footer;
  padding-top: max(0px, calc(var(--hero-family-copy-top-gap, 0px) - var(--hero-family-identity-shift)));
  display: grid;
  justify-items: center;
  width: 100%;
  min-width: 0;
}

body.landing-page .family-hero-visual__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: var(--hero-family-action-top-gap) auto 0;
}

body.landing-page .family-hero-visual__footer > .hero-story-summary {
  margin-top: var(--hero-family-metrics-gap);
}

body.landing-page .family-hero-visual:has(.family-hero-visual__notes) {
  grid-template-areas: "heading" "art" "footer";
}

body.landing-page .family-hero-visual__mobile-intro {
  display: none;
}

@media (max-width: 1099px) {
  body.landing-page .family-hero-visual__mobile-intro {
    display: block;
    max-width: calc(100% - 1rem);
    margin: 0.8rem auto 0;
    color: #67513d;
    font: 400 0.78rem/1.5 var(--font-body, "Source Sans 3", sans-serif);
    text-align: center;
  }
}

body.landing-page .family-hero-visual__notes {
  display: none;
}

body.landing-page .hero-story-scroll {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.6rem;
  min-width: 0;
  padding: 2rem 1.25rem;
  background: url("../img/hero/story-scroll.svg?v=20260913-layered-paper") center / 100% 100% no-repeat;
  text-align: center;
}

body.landing-page .hero-story-scroll__accent {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.6rem;
  color: #aa7a35;
}

body.landing-page .hero-story-scroll__accent::before,
body.landing-page .hero-story-scroll__accent::after {
  content: "";
  width: 1.5rem;
  height: 1px;
  background: currentColor;
  opacity: 0.35;
}

body.landing-page .hero-story-scroll__accent svg {
  width: 1.3rem;
  height: 1.3rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
}

body.landing-page .hero-story-scroll h2 {
  margin: 0;
  color: #795731;
  font: 600 clamp(1.05rem, 1.5vw, 1.4rem)/1.15 var(--font-display, Georgia, serif);
}

body.landing-page .hero-story-scroll p {
  margin: 0;
  color: #675a49;
  font: 400 clamp(0.82rem, 1.05vw, 1rem)/1.6 var(--font-body, sans-serif);
  text-wrap: pretty;
}

@media (min-width: 1100px) {
  body.landing-page .family-hero-visual:has(.family-hero-visual__notes) {
    grid-template-areas: "heading" "art" "footer";
  }

  body.landing-page .family-hero-visual__notes {
    grid-area: art;
    align-self: center;
    display: flex;
    align-items: center;
    height: 0;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    pointer-events: none;
  }

  body.landing-page .hero-story-scroll h2 {
    white-space: nowrap;
    font-size: clamp(1.05rem, 1.35vw, 1.3rem);
  }

  body.landing-page .hero-story-scroll {
    width: clamp(12rem, 20vw, 18rem);
    min-height: 14rem;
    padding: 2.4rem 1.8rem;
    box-sizing: border-box;
    pointer-events: auto;
  }
}

/* Shared family portrait composition used by the public landing page and signed-in Home. */
body.landing-page .hero-family-collage-frame {
  --hero-family-ribbon-tone: var(--hero-coordinated-ribbon-tone, saturate(0.72) brightness(0.98) contrast(0.94));
  --landing-person-frame-gradient: var(--hero-coordinated-frame-gradient, linear-gradient(135deg, #806039 0%, #c6a46a 18%, #eddbaf 42%, #fff2d2 52%, #c6a46a 72%, #806039 100%));
  --living-hero-portrait-width: clamp(23.58rem, 42vw, 37.8rem);
  --living-hero-main-portrait-width: 51%;
  --living-hero-main-width-scale: 0.95;
  --living-hero-companion-size-scale: 1.05;
  /* The center photograph is taller while its lower edge stays aligned with its siblings. */
  --living-hero-companion-portrait-width: 22.95675%;
  --living-hero-side-tilt: 6deg;
  --living-hero-center-height-scale: 1.122;
  --living-hero-center-width-scale: 0.96;
  --hero-family-banner-width: calc(var(--hero-family-side-width) * 2.18);
  --hero-family-banner-height: calc(var(--hero-family-banner-width) * 332 / 1200 * 1.12);
  --hero-family-portrait-overlap: calc(
    var(--hero-family-side-height) * var(--living-hero-center-height-scale) * 0.245
    + var(--hero-family-sigil-width) * 0.08
  );
  --hero-family-crest-overlap: calc(var(--hero-family-banner-height) * 0.79);
  --hero-family-surname-visual-offset-y: calc(var(--hero-family-banner-height) * 0.28);
  --hero-family-identity-clearance: clamp(0.08rem, 0.25vw, 0.16rem);
  --hero-family-lower-shift: 28px;
  --hero-family-lower-offset: calc(0.7rem + var(--hero-family-lower-shift));
  position: relative;
  z-index: 3;
  width: min(100%, var(--living-hero-portrait-width));
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  opacity: 1;
  filter: drop-shadow(0 20px 30px rgba(50, 31, 15, 0.16));
  transform: translateY(clamp(-0.42rem, -0.62vw, -0.14rem));
  transition: opacity 2.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}

body.landing-page .hero-family-collage-frame[data-hero-portraits-ready="loading"] {
  opacity: 0;
}

body.landing-page .hero-family-collage-frame[data-hero-portraits-ready="true"] {
  opacity: 1;
}

body.landing-page .hero-family-collage-frame::before {
  content: "";
  position: absolute;
  inset: 8% 1% 2%;
  z-index: -1;
  border-radius: 44%;
  background: radial-gradient(circle, rgba(218, 178, 95, 0.22), rgba(255, 246, 222, 0.28) 42%, transparent 72%);
  filter: blur(18px);
  opacity: 0.78;
  pointer-events: none;
}

body.landing-page .hero-family-collage-frame .living-hero__portrait-collage {
  position: relative;
  display: grid;
  justify-items: center;
  width: min(100%, var(--living-hero-portrait-width));
  margin: 0 auto;
  padding: 0 clamp(0.28rem, 1vw, 0.6rem);
}

body.landing-page .hero-family-collage-frame .living-hero__portrait-row {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  margin: clamp(-4.08rem, -4.59vw, -1.96rem) auto 0;
  padding: 0;
  transform: translateX(-50%) scale(0.875425);
  transform-origin: center bottom;
}

body.landing-page .hero-family-collage-frame .living-hero__portrait-image,
body.landing-page:not(.authenticated-home) .living-hero__map-image {
  display: block;
  width: 100%;
  height: auto;
}

body.landing-page .hero-family-collage-frame .living-hero__portrait-image {
  position: relative;
  isolation: isolate;
  inset: auto;
  margin: 0;
  overflow: hidden;
  border-radius: clamp(0.55rem, 1.6vw, 0.84rem);
}

body.landing-page .hero-family-collage-frame .living-hero__portrait-image img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: clamp(0.34rem, 1.08vw, 0.58rem);
  object-fit: cover;
  object-position: center 32%;
  filter: sepia(0.26) saturate(0.84) contrast(1.01) brightness(0.98);
}

body.landing-page .hero-family-collage-frame .living-hero__portrait-image--main {
  z-index: 1;
  width: calc(var(--living-hero-main-portrait-width) * var(--living-hero-main-width-scale));
  aspect-ratio: 4 / 5;
  transform: translateX(-50%) scale(1.03);
  transform-origin: center top;
}

body.landing-page .hero-family-collage-frame .living-hero__portrait-image--companion {
  width: calc(var(--living-hero-companion-portrait-width) * var(--living-hero-companion-size-scale));
  aspect-ratio: 4 / 5;
  border-radius: clamp(0.48rem, 1.42vw, 0.74rem);
  transform-origin: center bottom;
}

body.landing-page .hero-family-collage-frame .living-hero__portrait-image--companion + .living-hero__portrait-image--companion {
  margin-left: clamp(-1.22rem, -3.63vw, -0.87rem);
}

body.landing-page .hero-family-collage-frame .living-hero__portrait-image--1 {
  z-index: 3;
  transform: rotate(-7deg) translateY(0.12rem);
}

body.landing-page .hero-family-collage-frame .living-hero__portrait-image--2 {
  z-index: 2;
  transform: rotate(0.8deg) translateY(-0.08rem);
}

body.landing-page .hero-family-collage-frame .living-hero__portrait-image--3 {
  z-index: 1;
  transform: rotate(7deg) translateY(0.14rem);
}

/* Feather only the lower center of the photo, below the shared frame and crest. */
body.landing-page .hero-family-collage-frame .hero-family-collage__crest-protection {
  position: absolute;
  inset: 80% var(--landing-person-frame-hero-band) var(--landing-person-frame-hero-band);
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top, rgba(250, 240, 218, 0.68), rgba(250, 240, 218, 0.28) 50%, transparent);
  -webkit-backdrop-filter: blur(0.4px) contrast(0.92);
  backdrop-filter: blur(0.4px) contrast(0.92);
  -webkit-mask-image: radial-gradient(ellipse 50% 100% at 50% 100%, #000 30%, transparent 100%);
  mask-image: radial-gradient(ellipse 50% 100% at 50% 100%, #000 30%, transparent 100%);
}

/* The crest finish coordinates the hero frames, ribbon, and action palette together. */
body.landing-page .family-hero-visual:has(.living-hero__sigil-slot [data-animal-theme="aged-ivory"]),
body.landing-page .hero-family-collage-frame:has(.living-hero__sigil-slot [data-animal-theme="aged-ivory"]) {
  --hero-ribbon-bg: #d5d4c8;
  --hero-ribbon-hover-bg: #e2e1d7;
  --hero-ribbon-border: #95968c;
  --hero-ribbon-hover-border: #75766d;
  --hero-ribbon-gradient: linear-gradient(180deg, #b9baaf 0%, #edede3 46%, #d5d4c8 70%, #acaea2 100%);
  --hero-ribbon-hover-gradient: linear-gradient(180deg, #c5c6bc 0%, #f5f4eb 46%, #e2e1d7 70%, #babcaf 100%);
  --hero-coordinated-frame-gradient: linear-gradient(135deg, #656665 0%, #a4a7a4 18%, #dedfda 42%, #fffdf5 52%, #acafaa 72%, #666865 100%);
  --landing-person-frame-border-color: #6b6d68;
  --landing-person-frame-outline-color: rgba(246, 247, 241, 0.65);
  --landing-person-frame-inner-color: rgba(251, 252, 246, 0.6);
  --hero-coordinated-ribbon-tone: grayscale(0.95) sepia(0.12) saturate(0.6) brightness(1.12) contrast(0.88);
}
body.landing-page .family-hero-visual:has(.living-hero__sigil-slot [data-animal-theme="antique-bronze"]),
body.landing-page .hero-family-collage-frame:has(.living-hero__sigil-slot [data-animal-theme="antique-bronze"]) {
  --hero-ribbon-bg: #c6ad85;
  --hero-ribbon-hover-bg: #d3bd98;
  --hero-ribbon-border: #97784f;
  --hero-ribbon-hover-border: #775a38;
  --hero-ribbon-gradient: linear-gradient(180deg, #b39973 0%, #e5d3af 46%, #c6ad85 70%, #a68b64 100%);
  --hero-ribbon-hover-gradient: linear-gradient(180deg, #c2a984 0%, #f0e0bf 46%, #d3bd98 70%, #b79a71 100%);
  --hero-coordinated-frame-gradient: linear-gradient(135deg, #64472e 0%, #a8794b 18%, #d8ba8d 42%, #efdbb8 52%, #a77c4e 72%, #674a30 100%);
  --landing-person-frame-border-color: #6f4d31;
  --landing-person-frame-outline-color: rgba(233, 211, 175, 0.6);
  --landing-person-frame-inner-color: rgba(245, 223, 188, 0.5);
  --hero-coordinated-ribbon-tone: sepia(0.18) saturate(0.62) brightness(1.02) contrast(0.92);
}
body.landing-page .family-hero-visual:has(.living-hero__sigil-slot [data-animal-theme="deep-espresso"]),
body.landing-page .hero-family-collage-frame:has(.living-hero__sigil-slot [data-animal-theme="deep-espresso"]) {
  --hero-ribbon-bg: #d1cbbd;
  --hero-ribbon-hover-bg: #ded8cb;
  --hero-ribbon-border: #9a8e77;
  --hero-ribbon-hover-border: #7a6c56;
  --hero-ribbon-gradient: linear-gradient(180deg, #bcb5a5 0%, #eee9dc 46%, #d1cbbd 70%, #aaa18e 100%);
  --hero-ribbon-hover-gradient: linear-gradient(180deg, #cac3b3 0%, #f6f0e5 46%, #ded8cb 70%, #bab09d 100%);
  --hero-coordinated-frame-gradient: linear-gradient(135deg, #362a23 0%, #695243 18%, #a48c71 42%, #d7c5a7 52%, #735a45 72%, #3e2e24 100%);
  --landing-person-frame-border-color: #453329;
  --landing-person-frame-outline-color: rgba(203, 185, 154, 0.55);
  --landing-person-frame-inner-color: rgba(227, 208, 177, 0.5);
  --hero-coordinated-ribbon-tone: saturate(0.35) brightness(1.1) contrast(0.88);
}

body.landing-page .hero-family-collage-frame .hero-family-collage__identity {
  position: absolute;
  left: 50%;
  z-index: 6;
  display: grid;
  justify-items: center;
  width: 100%;
  margin: 0;
  transform: translateX(-50%);
}

body.landing-page .hero-family-collage-frame .hero-family-collage__surname-banner {
  position: relative;
  display: grid;
  place-items: center;
  width: var(--hero-family-banner-width);
  max-width: calc(100% - 1rem);
  height: var(--hero-family-banner-height);
  margin-top: calc(0rem - var(--hero-family-crest-overlap));
  padding: 0 calc(var(--hero-family-banner-width) * 0.16);
  box-sizing: border-box;
}

body.landing-page .hero-family-collage-frame .hero-family-collage__surname-banner-art {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
  user-select: none;
  filter: var(--hero-family-ribbon-tone, brightness(1)) drop-shadow(0 0.28rem 0.46rem rgba(65, 39, 15, 0.18));
}

body.landing-page .hero-family-collage-frame .hero-family-collage__surname {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 100%;
  width: 100%;
  overflow: hidden;
  color: #321f10;
  font: 900 calc(var(--hero-family-surname-size, clamp(0.92rem, 2.82vw, 1.4rem)) * 1.1024 * 0.9)/var(--hero-family-surname-line-height, 1) var(--font-display, "Cormorant Garamond", Georgia, serif);
  padding-bottom: var(--hero-family-surname-bottom-padding, 0);
  letter-spacing: clamp(0.08em, 0.21vw, 0.16em);
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  text-align: center;
  -webkit-text-stroke: 0.045em currentColor;
  text-shadow: 0 1px 0 #f9e9bd, 0 0 2px #f9e9bd;
  pointer-events: none;
  paint-order: stroke fill;
  transform: translateY(var(--hero-family-surname-visual-offset-y));
}

body.landing-page .hero-family-collage-frame .hero-family-collage__surname-banner--long .hero-family-collage__surname {
  font-size: calc(clamp(0.65rem, 1.78vw, 0.95rem) * 1.1024 * 0.9);
  letter-spacing: clamp(0.03em, 0.08vw, 0.06em);
}

body.landing-page .hero-family-collage-frame .hero-family-collage__surname-banner--extra-long .hero-family-collage__surname {
  font-size: calc(clamp(0.475rem, 1.15vw, 0.625rem) * 1.1024 * 0.9);
  letter-spacing: clamp(0.01em, 0.04vw, 0.025em);
}

body.landing-page .hero-family-collage-frame .hero-family-collage__surname-banner--extra-long {
  padding-inline: calc(var(--hero-family-banner-width) * 0.13);
}

body.landing-page .hero-family-collage-frame .living-hero__sigil-slot {
  position: relative;
  z-index: 6;
  display: grid;
  place-items: center;
  width: var(--hero-family-sigil-width, 26.85%);
  aspect-ratio: 1;
  margin: 0 auto;
  scale: 1.08;
  translate: 0 -10%;
  transform-origin: center;
  pointer-events: none;
}

body.landing-page .hero-family-collage-frame .living-hero__family-sigil.hero-family-sigil.sigil-composed--hero {
  width: 100% !important;
  height: 100%;
  min-height: 0;
  grid-template-rows: minmax(0, 1fr);
  max-width: none !important;
  margin: 0 !important;
  pointer-events: none !important;
  transform: translateY(1px) scale(0.96);
  transform-origin: center top;
}

body.landing-page .hero-family-collage-frame a.living-hero__family-sigil.hero-family-sigil.sigil-composed--hero {
  pointer-events: auto !important;
}

body.landing-page:not(.authenticated-home) .living-hero-shell .living-hero__cta-stack {
  position: relative;
  z-index: 8;
  display: grid !important;
  justify-items: center !important;
  gap: var(--living-hero-cta-stack-gap, clamp(0.4rem, 0.82vw, 0.56rem)) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: var(--living-hero-cta-stack-margin, var(--living-hero-cta-balance-space) auto var(--living-hero-cta-balance-space)) !important;
  padding-top: 0 !important;
  text-align: center !important;
  pointer-events: auto;
  transform: none !important;
}

body.landing-page:not(.authenticated-home) .living-hero-shell .living-hero__cta-stack > a {
  position: relative;
  z-index: 1;
  pointer-events: auto;
}

body.landing-page:not(.authenticated-home) .living-hero-shell .living-hero__cta-button.btn-primary,
body.landing-page:not(.authenticated-home) .landing-story-bridge__primary-action .living-hero__cta-button.btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(0.44rem, 0.92vw, 0.62rem) !important;
  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;
  height: var(--living-hero-primary-cta-height, clamp(2.92rem, 4.35vw, 3.16rem)) !important;
  min-height: 0 !important;
  padding: 0 var(--living-hero-primary-cta-inline-padding) !important;
  border: 1px solid rgba(111, 67, 15, 0.72) !important;
  border-radius: 999px !important;
  color: #28180b !important;
  background: transparent !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 242, 198, 0.58),
    inset 0 -1px 0 rgba(91, 52, 10, 0.26),
    0 0.4rem 0.9rem rgba(0, 0, 0, 0.16) !important;
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif) !important;
  font-size: clamp(1.12rem, 2.36vw, 1.58rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.landing-page:not(.authenticated-home) .living-hero__cta-button:not(.living-hero__cta-button--story) {
  background:
    linear-gradient(115deg, transparent 0 30%, rgba(255, 245, 202, 0.3) 45%, transparent 60% 100%),
    linear-gradient(180deg, #d7b45d 0%, #bd8731 58%, #9f6a20 100%) !important;
  background-size: 240% 100%, 100% 100% !important;
  background-position: 120% 0, 0 0 !important;
}

body.landing-page:not(.authenticated-home) .living-hero__cta-button .hero-cta-label,
body.landing-page:not(.authenticated-home) .living-hero__demo-button > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

body.landing-page:not(.authenticated-home) .living-hero__cta-icon {
  flex: 0 0 var(--living-hero-cta-icon-size);
  width: var(--living-hero-cta-icon-size);
  height: var(--living-hero-cta-icon-size);
}

body.landing-page:not(.authenticated-home) .living-hero__cta-icon > :is(img, svg) {
  display: block;
  width: 100%;
  height: 100%;
}

body.landing-page:not(.authenticated-home) .living-hero__cta-icon--story {
  flex-basis: var(--living-hero-primary-icon-size);
  width: var(--living-hero-primary-icon-size);
  height: var(--living-hero-primary-icon-size);
}

body.landing-page:not(.authenticated-home) .living-hero__cta-icon--story img {
  object-fit: contain;
  filter: sepia(0.9) saturate(0.6) brightness(0.38) contrast(1.2);
}

body.landing-page:not(.authenticated-home) .living-hero__demo-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Keeps the primary landing hero CTA visually stronger than the shared site buttons. */
body.landing-page:not(.authenticated-home) main.page-shell .quick-page-content .living-hero-shell a.living-hero__cta-button.btn-primary,
body.landing-page:not(.authenticated-home) main.page-shell .quick-page-content .landing-story-bridge__primary-action a.living-hero__cta-button.btn-primary {
  min-width: 0 !important;
  min-height: var(--living-hero-mobile-cta-min-height, clamp(2.66rem, 4.2vw, 2.96rem)) !important;
  padding: 0 var(--living-hero-primary-cta-inline-padding) !important;
  gap: clamp(0.5rem, 1vw, 0.68rem) !important;
  font-size: clamp(0.98rem, 2.04vw, 1.18rem) !important;
}

body.landing-page:not(.authenticated-home) .living-hero__demo-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.38rem;
  width: max-content;
  max-width: 100%;
  min-width: 0;
  height: var(--living-hero-secondary-cta-height, clamp(2.25rem, 3.35vw, 2.46rem));
  min-height: 0;
  padding: 0 var(--living-hero-secondary-cta-inline-padding);
  border: 1px solid rgba(122, 96, 49, 0.32);
  border-radius: 999px;
  color: rgba(42, 27, 15, 0.82);
  background: rgba(255, 248, 232, 0.5);
  box-shadow: none;
  font-family: var(--font-sans, Inter, system-ui, sans-serif);
  font-size: clamp(0.76rem, 1.46vw, 0.9rem);
  font-weight: 700;
  letter-spacing: 0.035em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

body.landing-page:not(.authenticated-home) .living-hero__demo-icon {
  flex-basis: var(--living-hero-demo-icon-size);
  width: var(--living-hero-demo-icon-size);
  height: var(--living-hero-demo-icon-size);
  color: rgba(71, 51, 25, 0.82);
}

body.landing-page:not(.authenticated-home) .living-hero__demo-icon svg {
  fill: currentColor;
  stroke: none;
}

body.landing-page:not(.authenticated-home) .living-hero__cta-button:hover,
body.landing-page:not(.authenticated-home) .living-hero__cta-button:focus-visible {
  color: #211207 !important;
  border-color: rgba(255, 226, 147, 0.92) !important;
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 242, 198, 0.64),
    inset 0 -1px 0 rgba(91, 52, 10, 0.24),
    0 0.58rem 1.05rem rgba(0, 0, 0, 0.18) !important;
}

body.landing-page:not(.authenticated-home) .living-hero__cta-button:not(.living-hero__cta-button--story):hover,
body.landing-page:not(.authenticated-home) .living-hero__cta-button:not(.living-hero__cta-button--story):focus-visible {
  background:
    linear-gradient(115deg, transparent 0 28%, rgba(255, 249, 220, 0.38) 45%, transparent 62% 100%),
    linear-gradient(180deg, #e0c16e 0%, #c79239 58%, #aa7426 100%) !important;
}

body.landing-page:not(.authenticated-home) .living-hero__demo-button:hover,
body.landing-page:not(.authenticated-home) .living-hero__demo-button:focus-visible {
  color: rgba(35, 24, 17, 0.92);
  border-color: rgba(122, 96, 49, 0.42);
  background: rgba(255, 248, 232, 0.68);
  transform: translateY(-1px);
}


body.landing-page:not(.authenticated-home) .living-hero__trust-line {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: clamp(0.9rem, 2.25vw, 1.5rem);
  margin: 0 auto clamp(0.82rem, 1.56vw, 1.08rem);
  color: rgba(47, 29, 20, 0.84);
  font-family: var(--font-sans, Inter, system-ui, sans-serif);
  font-size: clamp(0.68rem, 1.24vw, 0.82rem);
  font-weight: 780;
  letter-spacing: 0.075em;
  line-height: 1.05;
  text-align: center;
  text-transform: uppercase;
}

body.landing-page:not(.authenticated-home) .living-hero__trust-pill {
  display: grid;
  justify-items: center;
  gap: clamp(0.22rem, 0.45vw, 0.32rem);
  min-width: clamp(3.7rem, 8.8vw, 5.1rem);
}

body.landing-page:not(.authenticated-home) .living-hero__trust-icon {
  display: grid;
  place-items: center;
  width: clamp(1.38rem, 2.9vw, 1.72rem);
  height: clamp(1.38rem, 2.9vw, 1.72rem);
  border: 1px solid rgba(181, 137, 64, 0.36);
  border-radius: 999px;
  color: rgba(128, 83, 27, 0.9);
  background: rgba(255, 248, 232, 0.42);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52);
}

body.landing-page:not(.authenticated-home) .living-hero__trust-icon svg {
  display: block;
  width: 66%;
  height: 66%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.82;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.landing-page:not(.authenticated-home) .living-hero__map-frame {
  position: absolute;
  top: 49%;
  left: 50%;
  z-index: 1;
  width: min(100.8vw, 828px);
  aspect-ratio: 1089 / 601;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

body.landing-page:not(.authenticated-home) .living-hero__map-header,
body.landing-page:not(.authenticated-home) .living-hero__map-timeline {
  display: none;
}

/* Keep the map and animated routes on one original-ratio artwork plane. */
body.landing-page:not(.authenticated-home) .living-hero__map-artwork {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  aspect-ratio: 1452 / 601;
  transform: translate(-50%, -50%);
}

body.landing-page:not(.authenticated-home) .living-hero__map-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

body.landing-page:not(.authenticated-home) .living-hero__map-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  pointer-events: none;
  overflow: visible;
}

/* Scale the map and its SVG overlay as one unit so every route remains aligned. */
@media (min-width: 768px) {
  body.landing-page:not(.authenticated-home) .living-hero__map-frame {
    top: clamp(-0.42rem, -0.62vw, -0.14rem);
    width: min(121.5vw, 1118px);
    aspect-ratio: 1089 / 801;
    transform: translateX(-50%);
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-artwork {
    width: 133.333%;
    height: 100%;
    aspect-ratio: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.landing-page .hero-family-collage-frame {
    transition-duration: 1ms;
  }
}

body.landing-page:not(.authenticated-home) .living-hero__map-image {
  opacity: 0.60 !important;
  filter: saturate(0.82) contrast(1.03) sepia(0.12) brightness(1.04) !important;
}

body.landing-page:not(.authenticated-home) .living-hero__map-overlay {
  opacity: 0.72 !important;
}


/* Hero value rails -----------------------------------------------------------
   Shared system for the hero rail and the quieter lower proof rail. */
body.landing-page:not(.authenticated-home) .living-hero__value-cards {
  --shared-value-card-text: var(--hero-value-text, #1d1309);
  --shared-value-card-copy: rgba(45, 28, 15, 0.75);
  --shared-value-card-border: rgba(190, 150, 75, 0.34);
  --shared-value-card-divider: rgba(190, 150, 75, 0.2);
  --shared-value-card-bg: rgba(255, 248, 232, 0.74);
  --shared-value-card-max-width: var(--living-hero-value-max-width, 45rem);
  --shared-value-card-icon-stroke: var(--kv-icon-stroke, 1.75);
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  column-gap: 0;
  width: min(100%, var(--shared-value-card-max-width));
  margin-inline: auto;
  padding: clamp(0.66rem, 1.25vw, 0.86rem) clamp(0.46rem, 1.05vw, 0.68rem);
  border: 1px solid var(--shared-value-card-border);
  border-radius: 22px;
  background: var(--shared-value-card-bg);
  box-shadow: none;
}

body.landing-page:not(.authenticated-home) .living-hero__inner > .living-hero__value-cards {
  --shared-value-card-bg: transparent;
  margin-top: var(--living-hero-value-cards-margin-top, 0);
  background: transparent;
}

body.landing-page:not(.authenticated-home) .landing-story-intro {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 1.35rem), var(--living-hero-value-max-width, 48rem));
  margin: clamp(1.15rem, 2.4vw, 1.8rem) auto clamp(1.6rem, 3vw, 2.4rem);
}

body.landing-page:not(.authenticated-home) .hero-value-card {
  position: relative;
  display: grid;
  justify-items: center;
  align-content: start;
  gap: clamp(0.24rem, 0.5vw, 0.36rem);
  width: 100%;
  height: 100%;
  min-width: 0;
  padding: 0 clamp(0.44rem, 1vw, 0.78rem);
  box-sizing: border-box;
  color: var(--shared-value-card-text);
  background: transparent;
  box-shadow: none;
  text-align: center;
}

body.landing-page:not(.authenticated-home) .living-hero__value-cards--features .hero-value-card {
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  align-content: center;
  justify-items: center;
  gap: clamp(0.28rem, 0.52vw, 0.44rem);
  text-align: center;
}

body.landing-page:not(.authenticated-home) .living-hero__value-cards--features .hero-value-card__body {
  display: grid;
  justify-items: center;
  gap: clamp(0.12rem, 0.24vw, 0.2rem);
  min-width: 0;
  text-align: center;
}

body.landing-page:not(.authenticated-home) .living-hero__value-cards--features .hero-value-card__divider {
  width: min(3.8rem, 78%);
}

body.landing-page:not(.authenticated-home) .living-hero__value-cards--features .hero-value-card__copy {
  min-height: 0;
  text-align: center;
}

body.landing-page:not(.authenticated-home) .hero-value-card + .hero-value-card {
  border-left: 1px solid var(--shared-value-card-divider);
}

body.landing-page:not(.authenticated-home) .hero-value-card__icon {
  width: clamp(1.34rem, 1.82vw, 1.5rem);
  height: clamp(1.34rem, 1.82vw, 1.5rem);
  color: var(--hero-feature-icon-color, var(--shared-value-card-text));
}

body.landing-page:not(.authenticated-home) .hero-value-card__icon--large {
  width: clamp(1.4rem, 1.9vw, 1.56rem);
  height: clamp(1.4rem, 1.9vw, 1.56rem);
}

body.landing-page:not(.authenticated-home) .hero-value-card__icon svg,
body.landing-page:not(.authenticated-home) .hero-value-card__icon img {
  display: block;
  width: 100%;
  height: 100%;
  color: currentColor;
  fill: none;
  stroke: currentColor;
  stroke-width: var(--shared-value-card-icon-stroke);
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

body.landing-page:not(.authenticated-home) .hero-value-card__icon img {
  object-fit: contain;
  object-position: center;
  filter: var(--hero-feature-icon-filter, none);
}

body.landing-page:not(.authenticated-home) .hero-value-card:nth-child(1) {
  --hero-feature-icon-color: #6d4d2d;
  --hero-feature-icon-filter: brightness(0) saturate(100%) invert(29%) sepia(28%) saturate(1061%) hue-rotate(349deg) brightness(92%) contrast(90%);
}

body.landing-page:not(.authenticated-home) .hero-value-card:nth-child(2) {
  --hero-feature-icon-color: #7b5a34;
  --hero-feature-icon-filter: brightness(0) saturate(100%) invert(35%) sepia(28%) saturate(938%) hue-rotate(353deg) brightness(91%) contrast(89%);
}

body.landing-page:not(.authenticated-home) .hero-value-card:nth-child(3) {
  --hero-feature-icon-color: #8a6639;
  --hero-feature-icon-filter: brightness(0) saturate(100%) invert(40%) sepia(29%) saturate(969%) hue-rotate(355deg) brightness(91%) contrast(89%);
}

body.landing-page:not(.authenticated-home) .hero-value-card:nth-child(4) {
  --hero-feature-icon-color: #76503a;
  --hero-feature-icon-filter: brightness(0) saturate(100%) invert(31%) sepia(19%) saturate(1160%) hue-rotate(337deg) brightness(91%) contrast(87%);
}

body.landing-page:not(.authenticated-home) .hero-value-card:nth-child(5) {
  --hero-feature-icon-color: #9a763b;
  --hero-feature-icon-filter: brightness(0) saturate(100%) invert(46%) sepia(33%) saturate(940%) hue-rotate(359deg) brightness(91%) contrast(87%);
}

/* Feature-card icons remain visually dominant without crowding the four-card strip. */
body.landing-page:not(.authenticated-home) .living-hero__value-cards--features .hero-value-card__icon {
  width: clamp(1.77rem, 2.4vw, 1.98rem);
  height: clamp(1.77rem, 2.4vw, 1.98rem);
}

body.landing-page:not(.authenticated-home) .hero-value-card__icon svg :is(path, circle, rect, line, polyline, polygon) {
  fill: none;
  stroke: currentColor;
  stroke-width: var(--shared-value-card-icon-stroke);
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

body.landing-page:not(.authenticated-home) .hero-value-card__icon--large svg {
  stroke-width: var(--shared-value-card-icon-stroke);
}

body.landing-page:not(.authenticated-home) .hero-value-card__title {
  margin: 0;
  color: var(--shared-value-card-text);
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(0.66rem, 0.72vw, 0.76rem);
  font-weight: 650;
  letter-spacing: 0.035em;
  line-height: 1.05;
  text-transform: uppercase;
  white-space: nowrap;
}

body.landing-page:not(.authenticated-home) .hero-value-card__divider {
  display: block;
  width: min(3.8rem, 58%);
  height: 1px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(184, 122, 44, 0.32), transparent);
}

body.landing-page:not(.authenticated-home) .hero-value-card__copy {
  margin: 0;
  min-height: 2.5em;
  color: var(--shared-value-card-copy);
  font-family: var(--font-display, "Cormorant Garamond", Georgia, serif);
  font-size: clamp(0.74rem, 1.22vw, 0.94rem);
  font-weight: 500;
  line-height: 1.25;
  text-wrap: balance;
  white-space: nowrap;
}

body.landing-page:not(.authenticated-home) .living-hero__value-cards--secondary .hero-value-card__icon {
  width: clamp(1.31rem, 1.72vw, 1.44rem);
  height: clamp(1.31rem, 1.72vw, 1.44rem);
}

body.landing-page:not(.authenticated-home) .living-hero__value-cards--secondary .hero-value-card__title {
  font-size: clamp(0.448rem, 0.76vw, 0.592rem);
  letter-spacing: 0.055em;
}

body.landing-page:not(.authenticated-home) .living-hero__value-cards--secondary .hero-value-card__copy {
  font-size: clamp(0.74rem, 1.24vw, 0.96rem);
}

body.landing-page:not(.authenticated-home) .hero-value-card__copy-line {
  display: inline;
}

body.landing-page:not(.authenticated-home) .hero-value-card__copy-line + .hero-value-card__copy-line::before {
  content: " ";
}

body.landing-page:not(.authenticated-home) .hero-value-card--kincrest {
  display: grid;
}

@media (min-width: 768px) {
  body.landing-page:not(.authenticated-home) .living-hero__value-cards--features {
    --shared-value-card-max-width: var(--living-hero-value-max-width, 56rem);
  }
}

@media (max-width: 640px) {
  body.landing-page:not(.authenticated-home) .living-hero__value-cards {
    width: min(calc(100% + 0.42rem), calc(100vw - 0.62rem), var(--shared-value-card-max-width));
    padding: 0.7rem 0.28rem 0.76rem;
    border-radius: 18px;
  }

  body.landing-page:not(.authenticated-home) .hero-value-card {
    gap: clamp(0.18rem, 0.86vw, 0.3rem);
    padding-inline: clamp(0.12rem, 0.9vw, 0.24rem);
  }

  body.landing-page:not(.authenticated-home) .hero-value-card__icon {
    width: clamp(1.34rem, 5.84vw, 1.5rem);
    height: clamp(1.34rem, 5.84vw, 1.5rem);
  }

  body.landing-page:not(.authenticated-home) .hero-value-card__icon--large {
    width: clamp(1.42rem, 6.18vw, 1.58rem);
    height: clamp(1.42rem, 6.18vw, 1.58rem);
  }

  body.landing-page:not(.authenticated-home) .living-hero__value-cards--features .hero-value-card__icon {
    width: clamp(1.77rem, 7.71vw, 1.98rem);
    height: clamp(1.77rem, 7.71vw, 1.98rem);
  }

  body.landing-page:not(.authenticated-home) .hero-value-card__title {
    font-size: clamp(0.64rem, 2.75vw, 0.72rem);
    letter-spacing: 0.052em;
  }

  body.landing-page:not(.authenticated-home) .hero-value-card__copy {
    min-height: 2.48em;
    font-size: clamp(0.62rem, 2.46vw, 0.75rem);
    line-height: 1.24;
  }

  body.landing-page:not(.authenticated-home) .living-hero__value-cards--secondary .hero-value-card__icon {
    width: clamp(1.18rem, 5.12vw, 1.34rem);
    height: clamp(1.18rem, 5.12vw, 1.34rem);
  }
}


@media (max-width: 600px) {
  body.landing-page:not(.authenticated-home) .hero-value-card__copy {
    white-space: normal;
  }

  body.landing-page:not(.authenticated-home) .hero-value-card__copy-line {
    display: block;
  }

  body.landing-page:not(.authenticated-home) .hero-value-card__copy-line + .hero-value-card__copy-line::before {
    content: none;
  }
}


/* =========================================================
   Full-width hero spacing and elegant border polish
   ========================================================= */
body.landing-page:not(.authenticated-home) {
  overflow-x: hidden;
  overflow-x: clip;
}

body.landing-page:not(.authenticated-home) .quick-page-content {
  overflow-x: visible !important;
}

body.landing-page:not(.authenticated-home) .living-hero-shell {
  --living-hero-balanced-gap: clamp(0.68rem, 1.35vw, 1rem);
  left: auto !important;
  width: 100vw !important;
  max-width: none !important;
  margin-top: var(--living-hero-balanced-gap) !important;
  margin-bottom: var(--living-hero-balanced-gap) !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  transform: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 247, 225, 0.46),
    inset 0 -1px 0 rgba(255, 247, 225, 0.34),
    inset 0 0 52px rgba(139, 93, 35, 0.05) !important;
}

@supports (width: 100dvw) {
  body.landing-page:not(.authenticated-home) .living-hero-shell {
    width: 100dvw !important;
    margin-left: calc(50% - 50dvw) !important;
    margin-right: calc(50% - 50dvw) !important;
  }
}

body.landing-page:not(.authenticated-home) .living-hero-shell::before,
body.landing-page:not(.authenticated-home) .living-hero-shell::after {
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  opacity: 1 !important;
  background:
    linear-gradient(
      90deg,
      rgba(132, 83, 26, 0) 0%,
      rgba(164, 112, 44, 0.22) 14%,
      rgba(224, 183, 92, 0.7) 50%,
      rgba(164, 112, 44, 0.22) 86%,
      rgba(132, 83, 26, 0) 100%
    ) !important;
  box-shadow:
    0 0 8px rgba(213, 171, 83, 0.14),
    0 1px 0 rgba(255, 250, 238, 0.34) !important;
}

body.landing-page:not(.authenticated-home) .living-hero-shell::before {
  top: var(--living-hero-divider-offset, clamp(0.16rem, 0.42vw, 0.34rem)) !important;
}

body.landing-page:not(.authenticated-home) .living-hero-shell::after {
  bottom: var(--living-hero-divider-offset, clamp(0.16rem, 0.42vw, 0.34rem)) !important;
}

body.landing-page:not(.authenticated-home) .living-hero-shell + .landing-portrait-row {
  margin-top: 0 !important;
}

/* =========================================================
   Landing section conflict fix
   Purpose : Retain the legacy public utility rail and FAQ spacing without
             competing with the shared feature-section rail.
   Scope   : Public landing utility sections; feature frames are owned elsewhere.
   ========================================================= */
body.landing-page:not(.authenticated-home) {
  --landing-section-max-width: 43.75rem;
  --landing-section-rail: min(calc(100vw - clamp(1rem, 4vw, 2.8rem)), var(--landing-section-max-width));
  --landing-faq-rail: min(calc(100vw - clamp(1rem, 4vw, 3.6rem)), 68rem);
  --landing-section-gap: clamp(1rem, 2.2vw, 1.5rem);
}

/* Cap the remaining public utility sections that still use this legacy rail.
   Feature frames, including KinSight, use the canonical rail in landing-section-cards.css. */
body.landing-page:not(.authenticated-home) .landing-portrait-row,
body.landing-page:not(.authenticated-home) .landing-feature-pair--primary,
body.landing-page:not(.authenticated-home) .map-row,
body.landing-page:not(.authenticated-home) .landing-story-intro,
body.landing-page:not(.authenticated-home) .landing-real-families,
body.landing-page:not(.authenticated-home) .landing-cta-card {
  width: var(--landing-section-rail) !important;
  max-width: var(--landing-section-rail) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* The Tree + Timeline pair should visually equal one normal section width. */
body.landing-page:not(.authenticated-home) .landing-feature-pair--primary {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(0.28rem, 0.9vw, 0.48rem) !important;
  align-items: start !important;
}

body.landing-page:not(.authenticated-home) .landing-feature-pair--primary > .tree-card,
body.landing-page:not(.authenticated-home) .landing-feature-pair--primary > .timeline-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

body.landing-page .landing-kinsight-preview__inner--quick-glance {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: clamp(0.82rem, 1.8vw, 1.12rem) !important;
  justify-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}



/* FAQ uses one refined accordion surface instead of stacked nested cards. */
body.landing-page:not(.authenticated-home) .landing-faq {
  display: block !important;
  align-content: start !important;
  width: var(--landing-faq-rail) !important;
  max-width: var(--landing-faq-rail) !important;
  min-height: 0 !important;
  height: auto !important;
  margin: var(--landing-section-gap) auto clamp(1.15rem, 2.4vw, 1.8rem) !important;
  padding: clamp(0.92rem, 1.9vw, 1.2rem) clamp(0.72rem, 1.8vw, 1.05rem) !important;
  overflow: hidden !important;
  border: 1px solid rgba(177, 125, 50, 0.24) !important;
  border-radius: var(--landing-section-frame-radius, clamp(1.2rem, 2.6vw, 1.8rem)) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.7), transparent 42%),
    linear-gradient(180deg, rgba(255, 252, 246, 0.96), rgba(248, 237, 216, 0.84)) !important;
  box-shadow:
    0 0.95rem 2rem rgba(70, 43, 19, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;
}

body.landing-page:not(.authenticated-home) .landing-faq__inner {
  display: grid !important;
  align-content: start !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.landing-page:not(.authenticated-home) .landing-faq__header {
  margin-bottom: clamp(0.78rem, 1.55vw, 1rem) !important;
}

body.landing-page:not(.authenticated-home) .landing-faq__eyebrow {
  margin: 0 !important;
  color: rgba(128, 83, 27, 0.7) !important;
  font-size: clamp(0.56rem, 1.1vw, 0.68rem) !important;
  letter-spacing: 0.17em !important;
}

body.landing-page:not(.authenticated-home) .landing-faq__list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(179, 126, 47, 0.24);
  border-radius: clamp(0.9rem, 1.8vw, 1.12rem);
  background: rgba(255, 252, 246, 0.7);
  box-shadow:
    0 0.48rem 1.15rem rgba(63, 39, 18, 0.035),
    inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

body.landing-page:not(.authenticated-home) .landing-faq__column {
  display: contents;
}

body.landing-page:not(.authenticated-home) .landing-faq__column + .landing-faq__column .landing-faq__item:first-child {
  border-top: 1px solid rgba(178, 126, 49, 0.17) !important;
}

body.landing-page:not(.authenticated-home) .landing-faq__item {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0.65rem !important;
  background: rgba(255, 253, 248, .52) !important;
  box-shadow: none !important;
}

body.landing-page:not(.authenticated-home) .landing-faq__item + .landing-faq__item {
  border-top: 1px solid rgba(178, 126, 49, 0.17) !important;
}

body.landing-page:not(.authenticated-home) .landing-faq__item[open] {
  background:
    linear-gradient(90deg, rgba(204, 151, 65, 0.06), transparent 32%),
    rgba(255, 250, 240, 0.62) !important;
  box-shadow: inset 0.18rem 0 0 rgba(184, 126, 38, 0.5) !important;
}

body.landing-page:not(.authenticated-home) .landing-faq__question {
  min-height: clamp(3.25rem, 6.4vw, 3.7rem) !important;
  padding-block: clamp(0.58rem, 1.15vw, 0.72rem) !important;
  color: rgba(42, 29, 20, 0.96) !important;
  font-size: clamp(0.83rem, 1.55vw, 0.96rem) !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  padding-inline: .65rem !important;
}

body.landing-page:not(.authenticated-home) .landing-faq__icon {
  width: clamp(2.05rem, 4.6vw, 2.42rem) !important;
  height: clamp(2.05rem, 4.6vw, 2.42rem) !important;
  border: 1px solid rgba(182, 126, 42, 0.2) !important;
  background:
    radial-gradient(circle at 36% 28%, rgba(255, 255, 255, 0.82), transparent 42%),
    rgba(248, 232, 197, 0.56) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
}

body.landing-page:not(.authenticated-home) .landing-faq__icon-svg {
  width: 62% !important;
  height: 62% !important;
  filter: none !important;
}

body.landing-page:not(.authenticated-home) .landing-faq__chevron {
  width: 1.65rem !important;
  height: 1.65rem !important;
  color: rgba(123, 78, 23, 0.92) !important;
  border: 1px solid rgba(178, 122, 38, 0.2) !important;
  border-radius: 999px !important;
  background: rgba(255, 251, 243, 0.68) !important;
}

body.landing-page:not(.authenticated-home) .landing-faq__chevron::before {
  width: 0.46rem !important;
  height: 0.46rem !important;
  border-right-width: 1.8px !important;
  border-bottom-width: 1.8px !important;
}

body.landing-page:not(.authenticated-home) .landing-faq__answer {
  padding-top: 0 !important;
  padding-bottom: clamp(0.82rem, 1.55vw, 1rem) !important;
}

body.landing-page:not(.authenticated-home) .landing-faq__answer p {
  margin: 0 !important;
  color: rgba(60, 44, 32, 0.88) !important;
  font-size: clamp(0.77rem, 1.4vw, 0.88rem) !important;
  font-weight: 460 !important;
  line-height: 1.55 !important;
  max-width: 65ch;
}

body.landing-page:not(.authenticated-home) .landing-faq__contact {
  margin-top: clamp(0.72rem, 1.35vw, 0.88rem) !important;
  border: 1px solid rgba(179, 126, 47, 0.2) !important;
  border-radius: clamp(0.88rem, 1.7vw, 1.06rem) !important;
  background:
    linear-gradient(180deg, rgba(255, 253, 248, 0.78), rgba(246, 230, 200, 0.5)) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}


@media (min-width: 820px) {
  body.landing-page:not(.authenticated-home) .landing-faq {
    padding: clamp(1.05rem, 1.8vw, 1.35rem) clamp(0.9rem, 1.7vw, 1.2rem) !important;
  }

  body.landing-page:not(.authenticated-home) .landing-faq__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start;
    gap: clamp(0.78rem, 1.45vw, 1.05rem) !important;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.landing-page:not(.authenticated-home) .landing-faq__column {
    display: grid;
    align-content: start;
    overflow: hidden;
    border: 1px solid rgba(179, 126, 47, 0.24);
    border-radius: clamp(0.9rem, 1.55vw, 1.12rem);
    background: rgba(255, 252, 246, 0.72);
    box-shadow:
      0 0.48rem 1.15rem rgba(63, 39, 18, 0.035),
      inset 0 1px 0 rgba(255, 255, 255, 0.82);
  }

  body.landing-page:not(.authenticated-home) .landing-faq__column + .landing-faq__column .landing-faq__item:first-child {
    border-top: 0 !important;
  }

  body.landing-page:not(.authenticated-home) .landing-faq__question {
    min-height: clamp(3.55rem, 4.8vw, 4.05rem) !important;
    padding-inline: clamp(0.72rem, 1.25vw, 0.92rem) !important;
  }

  body.landing-page:not(.authenticated-home) .landing-faq__answer {
    padding-right: clamp(0.72rem, 1.25vw, 0.92rem) !important;
  }
}

@media (max-width: 640px) {
  body.landing-page:not(.authenticated-home) .landing-faq {
    padding: 0.78rem 0.62rem 0.84rem !important;
  }

  body.landing-page:not(.authenticated-home) .landing-faq__header {
    margin-bottom: 0.7rem !important;
  }

  body.landing-page:not(.authenticated-home) .landing-faq__list {
    border-radius: 0.88rem;
  }

  body.landing-page:not(.authenticated-home) .landing-faq__question {
    min-height: 3.15rem !important;
    padding-block: 0.54rem !important;
    font-size: clamp(0.82rem, 3.5vw, 0.9rem) !important;
  }

  body.landing-page:not(.authenticated-home) .landing-faq__icon {
    width: clamp(2rem, 9vw, 2.24rem) !important;
    height: clamp(2rem, 9vw, 2.24rem) !important;
  }

  body.landing-page:not(.authenticated-home) .landing-faq__chevron {
    width: 1.52rem !important;
    height: 1.52rem !important;
  }

  body.landing-page:not(.authenticated-home) .landing-faq__answer p {
    font-size: clamp(0.76rem, 3.15vw, 0.84rem) !important;
  }
}

@media (max-width: 760px) {
  body.landing-page:not(.authenticated-home) .landing-feature-pair--primary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(0.26rem, 1vw, 0.44rem) !important;
  }
}

@media (max-width: 700px) {
  body.landing-page:not(.authenticated-home) {
    --landing-section-rail: min(calc(100vw - clamp(0.78rem, 3.3vw, 1rem)), 43.75rem);
  }
}

/* =========================================================
   KinSight stacked order
   Purpose : Preserve the established header → comparison → CTA flow on
             mobile and tablet. Wide desktop layout is owned exclusively by
             landing-section-cards.css to prevent competing grid definitions.
   ========================================================= */
@media (max-width: 1099px) {
  body.landing-page .landing-kinsight-preview.landing-kinsight-preview--quick-glance.raised-card.parchment-card {
    min-height: 0 !important;
    height: auto !important;
    align-content: start !important;
  }

  body.landing-page .landing-kinsight-preview.landing-kinsight-preview--quick-glance .landing-kinsight-preview__inner,
  body.landing-page .landing-kinsight-preview.landing-kinsight-preview--quick-glance .landing-kinsight-preview__inner--quick-glance {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "intro"
      "visual"
      "cta" !important;
    align-items: start !important;
    justify-items: center !important;
    align-content: start !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body.landing-page .landing-kinsight-preview.landing-kinsight-preview--quick-glance [data-ks-compare-lab].ks-photo-lab--primary {
    width: min(100%, 33.5rem) !important;
    max-width: 33.5rem !important;
    margin: 0 auto !important;
    justify-self: center !important;
  }

  body.landing-page .landing-kinsight-preview.landing-kinsight-preview--quick-glance .landing-feature-section__cta {
    grid-area: cta !important;
    align-self: end !important;
    justify-self: center !important;
  }

  body.landing-page .landing-kinsight-preview.landing-kinsight-preview--quick-glance .landing-kinsight-preview__button,
  body.landing-page .landing-kinsight-preview.landing-kinsight-preview--quick-glance .landing-kinsight-preview__button--center {
    margin: 0 !important;
  }
}

/* Keep the existing desktop section stacking and shadow overflow behavior. */
@media (min-width: 800px) {
  body.landing-page:not(.authenticated-home) .landing-portrait-row,
  body.landing-page:not(.authenticated-home) .landing-feature-pair--primary,
  body.landing-page:not(.authenticated-home) .map-row,
  body.landing-page .landing-kinsight-preview,
  body.landing-page:not(.authenticated-home) .landing-story-intro,
  body.landing-page:not(.authenticated-home) .landing-faq,
  body.landing-page:not(.authenticated-home) .landing-real-families,
  body.landing-page:not(.authenticated-home) .landing-cta-card {
    position: relative !important;
    overflow: visible !important;
  }
}

/* =========================================================
   Landing/Home typography harmonizer
   Purpose: keep headers, copy, buttons, labels, and card text
            on the same Kinvella font system without changing layout.
   ========================================================= */
body.landing-page {
  --font-serif: var(--font-display, "Cormorant Garamond", Georgia, serif);
  --font-sans: "Manrope", var(--font-body, "Inter", system-ui, sans-serif);
  --font-ui: "Manrope", var(--font-body, "Inter", system-ui, sans-serif);
}

body.landing-page :where(
  .living-hero__headline,
.home-welcome-copy h1,
.capsule-ancestor-name,
.timeline-preview-title,
.landing-cta-card__copy h2,
.landing-story-intro h2,
.real-family-card h3
){
  font-family: var(--font-serif) !important;
}

body.landing-page :where(
  p,
li,
button,
input,
select,
textarea,
label,
summary,
.btn-primary,
.btn-secondary,
.living-hero__demo-button,
.living-hero__trust-line,
.home-welcome-cta,
.hero-value-card__title,
.hero-value-card__copy,
.landing-faq__eyebrow,
.landing-faq__question,
.landing-faq__answer p,
.landing-kinsight-preview__button,
.landing-cta-card__copy p,
.real-family-card p,
.timeline-preview-copy,
.capsule-ancestor-role,
.capsule-family-name,
.tree-section-subtitle
){
  font-family: var(--font-sans) !important;
}

body.landing-page :where(
  .living-hero__cta-button,
  .living-hero__demo-button,
  .home-welcome-cta,
  .landing-kinsight-preview__button,
  .tree-full-link-bottom,
  .summary-card__legacy-action,
  .landing-cta-card .btn-primary
) {
  letter-spacing: 0.045em;
}

/* Tree and Timeline must remain side-by-side on mobile. */
body.landing-page .landing-feature-pair--primary {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
}

body.landing-page .landing-feature-pair--primary > .tree-card,
body.landing-page .landing-feature-pair--primary > .timeline-card {
  min-width: 0 !important;
}


/* =========================================================
   Landing KinSight compact rail
   Purpose : Keep the established compact rail below wide desktop. The desktop
             showcase rail and two-column alignment are owned by the shared
             landing section stylesheet.
   ========================================================= */
@media (max-width: 1099px) {
  body.landing-page .landing-kinsight-preview.landing-kinsight-preview--quick-glance.raised-card.parchment-card:not(.landing-feature-frame) {
    width: var(--landing-section-rail, min(calc(100vw - clamp(1rem, 4vw, 2.8rem)), 43.75rem)) !important;
    max-width: var(--landing-section-rail, min(calc(100vw - clamp(1rem, 4vw, 2.8rem)), 43.75rem)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: var(--landing-section-pad, clamp(0.92rem, 2.25vw, 1.35rem)) !important;
    box-sizing: border-box !important;
  }

}


/* Hero trust line now sits below the primary value cards. */
body.landing-page:not(.authenticated-home) .living-hero__inner > .living-hero__value-cards + .living-hero__trust-line {
  margin-top: clamp(0.76rem, 1.5vw, 1.06rem);
  margin-bottom: 0;
}


/* ------------------------------------------------------------------------------------------
   Landing final nav, hero width, and KinSight spacing owner v71
   ------------------------------------------------------------------------------------------
   Purpose : This file loads after landing-app.css and kinsight.css, so it owns final landing
             nav width, full-bleed hero background, and preview KinSight spacing.
   ------------------------------------------------------------------------------------------ */
body.landing-page .page-shell {
  overflow-x: visible !important;
}

body.landing-page:not(.authenticated-home) .living-hero-shell {
  box-sizing: border-box !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: translateX(-50%) !important;
}

@supports (width: 100dvw) {
  body.landing-page:not(.authenticated-home) .living-hero-shell {
    width: 100dvw !important;
    max-width: 100dvw !important;
  }
}

/* ------------------------------------------------------------------------------------------
   Landing hero trust line removal v2
   ------------------------------------------------------------------------------------------
   Purpose : Removes the lower Private/Simple/Legacy hero proof row per updated landing hero.
   ------------------------------------------------------------------------------------------ */
body.landing-page:not(.authenticated-home) .living-hero__trust-line {
  display: none !important;
}


/* =========================================================
   Canonical responsive public landing hero
   One owned layout per breakpoint: compact product preview on mobile,
   centered story composition on desktop.
   ========================================================= */

/* Public quick-demo and navbar feature links retain a stable story target. */
body.landing-page:not(.authenticated-home) .landing-story-anchor {
  display: block;
  width: 0;
  height: 0;
  scroll-margin-top: clamp(5.5rem, 9vw, 7.5rem);
}

body.landing-page:not(.authenticated-home) .living-hero__map-image {
  opacity: 0.64 !important;
  filter: saturate(0.84) contrast(1.04) sepia(0.12) brightness(1.04) !important;
}

body.landing-page:not(.authenticated-home) .living-hero__map-overlay {
  opacity: 0.76 !important;
}

/* Shared migration backdrop used behind the portrait collage. The SVG uses the
   exact 1452x601 world-map plane, so routes and land anchors scale together instead
   of drifting as separate layers. */
body.landing-page .hero-migration-backdrop {
  display: none;
}

body.landing-page .hero-migration-backdrop__map,
body.landing-page .hero-migration-backdrop__routes {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1452 / 601;
  transform: translate(-50%, -50%);
  transform-origin: 50% 50%;
}

body.landing-page .hero-migration-backdrop__map {
  max-width: none;
}

body.landing-page .hero-migration-backdrop__routes {
  overflow: visible;
  pointer-events: none;
  shape-rendering: geometricPrecision;
}

body.landing-page .hero-migration-backdrop__endpoint {
  display: none;
  fill: var(--hero-gold, #a77a32);
  stroke: var(--hero-bg, #fbf4ea);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

body.landing-page .hero-migration-backdrop__route-shimmer {
  fill: none;
  stroke: rgba(174, 116, 34, 0.74);
  stroke-width: 1.58;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  opacity: 0.68;
  vector-effect: non-scaling-stroke;
}

/* Shared Story uses the existing one-shot reveal and is intentionally separate from the
   Landing/Home JavaScript loop below. */
body.landing-page:not(.authenticated-home) .hero-migration-backdrop--authenticated .hero-migration-backdrop__route-shimmer {
  stroke-dasharray: 1 1;
  stroke-dashoffset: 1;
  opacity: 0.9;
  animation: kinvellaSharedRouteGrow 4.15s cubic-bezier(0.16, 0.74, 0.2, 1) 1 both;
}

body.landing-page:not(.authenticated-home) .hero-migration-backdrop--authenticated .hero-migration-backdrop__route--2 .hero-migration-backdrop__route-shimmer { animation-delay: 0.08s; }
body.landing-page:not(.authenticated-home) .hero-migration-backdrop--authenticated .hero-migration-backdrop__route--3 .hero-migration-backdrop__route-shimmer { animation-delay: 0.16s; }
body.landing-page:not(.authenticated-home) .hero-migration-backdrop--authenticated .hero-migration-backdrop__route--4 .hero-migration-backdrop__route-shimmer { animation-delay: 0.24s; }
body.landing-page:not(.authenticated-home) .hero-migration-backdrop--authenticated .hero-migration-backdrop__route--5 .hero-migration-backdrop__route-shimmer { animation-delay: 0.32s; }
body.landing-page:not(.authenticated-home) .hero-migration-backdrop--authenticated .hero-migration-backdrop__route--6 .hero-migration-backdrop__route-shimmer { animation-delay: 0.4s; }

@keyframes kinvellaSharedRouteGrow {
  from { stroke-dashoffset: 1; }
  to { stroke-dashoffset: 0; }
}

/* Landing/Home routes are animated from their real SVG path lengths by home-sigil-hero.js.
   Keeping CSS out of the drawing loop prevents competing dash animations from clipping the
   route tail or leaving an animation permanently completed after its first pass. */
body.landing-page:not(.authenticated-home) #livingStoryHero .hero-migration-backdrop--public-hero .hero-migration-backdrop__route-shimmer,
body.landing-page.authenticated-home .hero-migration-backdrop--authenticated .hero-migration-backdrop__route-shimmer {
  opacity: 0;
  will-change: stroke-dashoffset, opacity;
}

body.landing-page:not(.authenticated-home) #livingStoryHero .hero-migration-backdrop--public-hero[data-hero-route-animation="complete"] .hero-migration-backdrop__route-shimmer,
body.landing-page.authenticated-home .hero-migration-backdrop--authenticated[data-hero-route-animation="complete"] .hero-migration-backdrop__route-shimmer {
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  opacity: 0.68;
  will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
  body.landing-page .hero-migration-backdrop__route-shimmer {
    animation: none !important;
    stroke-dasharray: none !important;
    stroke-dashoffset: 0 !important;
    opacity: 0.68 !important;
    will-change: auto;
  }
}

/* Public hero keeps its live migration plane within the artwork stage.
   The map remains secondary while the line-only routes provide the motion. */
body.landing-page:not(.authenticated-home) .hero-migration-backdrop--public-hero {
  position: absolute;
  inset: 0 -90% 0;
  z-index: 0;
  display: block;
  overflow: hidden;
  pointer-events: none;
}

@media (min-width: 1100px) {
  body.landing-page :is(.hero-migration-backdrop--public-hero, .hero-migration-backdrop--authenticated) :is(.hero-migration-backdrop__map, .hero-migration-backdrop__routes) {
    transform: translate(-50%, -50%) scaleX(1.04);
  }

  body.landing-page:not(.authenticated-home) .hero-migration-backdrop--public-hero {
    inset: auto;
    left: 50%;
    top: 0;
    /* Keep the full atlas above the copy as the portrait stage adapts to viewport height. */
    width: min(96vw, calc(var(--living-hero-desktop-stage-height) * 1452 / 601), 94rem);
    aspect-ratio: 1452 / 601;
    transform: translateX(-50%);
    overflow: visible;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 3% 97%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 3% 97%, transparent);
  }

  body.landing-page:not(.authenticated-home) .hero-migration-backdrop--public-hero .hero-migration-backdrop__map,
  body.landing-page:not(.authenticated-home) .hero-migration-backdrop--public-hero .hero-migration-backdrop__routes {
    width: 100%;
  }
}

body.landing-page:not(.authenticated-home) .hero-migration-backdrop--public-hero .hero-migration-backdrop__map {
  opacity: 0.68;
  filter: sepia(0.16) saturate(0.82) contrast(1.07) brightness(1.01);
}

body.landing-page:not(.authenticated-home) .hero-migration-backdrop--public-hero .hero-migration-backdrop__routes {
  opacity: 0.88;
}

body.landing-page:not(.authenticated-home) .hero-migration-backdrop--public-hero .hero-migration-backdrop__route-shimmer {
  stroke-width: 1.05;
}

body.landing-page:not(.authenticated-home) .hero-migration-backdrop--public-hero .hero-migration-backdrop__route:is(.hero-migration-backdrop__route--2, .hero-migration-backdrop__route--3) {
  display: none;
}

/* Signed-in Home keeps the same live route treatment on desktop instead of
   dropping the migration context when the responsive layout expands. */
@media (min-width: 1100px) {
  body.landing-page.authenticated-home .hero-migration-backdrop--authenticated {
    position: absolute;
    /* Fit the complete map inside the shared desktop section rail. */
    inset: 0 auto 0 50%;
    width: calc(var(--kv-auth-home-section-rail) - 9rem);
    /* Keep the atlas centered in the hero when portraits clear the side controls. */
    transform: translateX(calc(-50% - var(--home-hero-center-offset, 0px)));
    z-index: 0;
    display: block;
    overflow: hidden;
    border-radius: 0;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 6% 94%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 6% 94%, transparent);
  }

  body.landing-page.authenticated-home .hero-migration-backdrop--authenticated .hero-migration-backdrop__map,
  body.landing-page.authenticated-home .hero-migration-backdrop--authenticated .hero-migration-backdrop__routes {
    /* Contain both layers so shorter windows preserve the complete geography. */
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: contain;
  }

  body.landing-page.authenticated-home .hero-migration-backdrop--authenticated .hero-migration-backdrop__map {
    opacity: 0.58;
    filter: sepia(0.18) saturate(0.82) contrast(1.06) brightness(1.01);
  }

  body.landing-page.authenticated-home .hero-migration-backdrop--authenticated .hero-migration-backdrop__routes {
    opacity: 0.78;
  }
}

@media (max-width: 1099px) {
  body.landing-page {
    --living-hero-mobile-portrait-top-gap: clamp(0.62rem, 2.2vw, 0.78rem);
  }

  body.landing-page .family-hero-visual__cta {
    scale: 0.95;
  }

  body.landing-page .hero-family-collage-frame {
    --living-hero-mobile-main-width: calc(clamp(10.76rem, 44.66vw, 12.28rem) * 1.05);
    --living-hero-mobile-main-height: calc(clamp(16.614096rem, 69.13248vw, 18.732672rem) * 1.05);
    --living-hero-mobile-side-width: calc(clamp(5.795rem, 24.13vw, 6.6025rem) * 1.05);
    --living-hero-mobile-side-height: calc(clamp(7.74364rem, 32.2069vw, 8.77496rem) * 1.05);
    --living-hero-mobile-sigil-width: calc(clamp(4.36rem, 18.02vw, 4.92rem) * 1.1);
    --hero-family-sigil-width: var(--living-hero-mobile-sigil-width);
    --hero-family-side-width: var(--living-hero-mobile-side-width);
    --hero-family-side-height: var(--living-hero-mobile-side-height);
    --hero-family-surname-visual-offset-y: calc(var(--hero-family-banner-height) * 0.23);
    --hero-family-surname-size: clamp(0.92rem, 2.82vw, 1.05rem);
    --living-hero-mobile-stage-height: calc(
      var(--living-hero-mobile-main-height)
      + var(--hero-family-lower-offset)
      - var(--hero-family-portrait-overlap)
      + var(--hero-family-banner-height)
      + var(--living-hero-mobile-sigil-width)
      - var(--hero-family-crest-overlap)
      + var(--hero-family-identity-clearance)
      + var(--hero-family-identity-shift)
    );
  }

  /* Keep the mobile atlas proportionate and centered, with routes on the same plane. */
  body.landing-page:not(.authenticated-home) .hero-migration-backdrop--public-hero,
  body.landing-page.authenticated-home .hero-migration-backdrop--authenticated {
    position: absolute;
    inset: 0 -9% var(--hero-family-identity-clearance);
    z-index: 0;
    display: block;
    overflow: hidden;
    border-radius: 0;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 5% 95%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 5% 95%, transparent);
  }

  body.landing-page .hero-migration-backdrop--public-hero .hero-migration-backdrop__map,
  body.landing-page .hero-migration-backdrop--public-hero .hero-migration-backdrop__routes,
  body.landing-page.authenticated-home .hero-migration-backdrop--authenticated .hero-migration-backdrop__map,
  body.landing-page.authenticated-home .hero-migration-backdrop--authenticated .hero-migration-backdrop__routes {
    width: 110%;
    max-width: none;
    height: auto;
    aspect-ratio: 1452 / 601;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  body.landing-page .hero-migration-backdrop--public-hero .hero-migration-backdrop__map,
  body.landing-page.authenticated-home .hero-migration-backdrop--authenticated .hero-migration-backdrop__map {
    opacity: 0.76;
    filter: sepia(0.16) saturate(0.82) contrast(1.07) brightness(1.01);
  }

  body.landing-page.authenticated-home .hero-migration-backdrop--authenticated .hero-migration-backdrop__routes {
    opacity: 0.84;
  }

  body.landing-page .hero-story-summary {
    padding-block: 0.25rem;
  }

  body.landing-page:not(.authenticated-home) .living-hero-shell {
    --living-hero-eyebrow-gap: 0.4rem;
    --living-hero-mobile-portrait-top-gap: clamp(0.31rem, 1.1vw, 0.39rem);
    --living-hero-frame-gap: 0.2rem;
    --living-hero-frame-space: clamp(0.45rem, 1.8vw, 0.7rem);
    --living-hero-bottom-space: clamp(1rem, 3vw, 1.3rem);
    --living-hero-primary-cta-height: 2.95rem;
    --living-hero-secondary-cta-height: 2.35rem;
    --living-hero-primary-icon-size: 1.34rem;
    --living-hero-demo-icon-size: 1.1rem;
    --living-hero-primary-cta-inline-padding: clamp(1rem, 1.25vw, 1.25rem);
    --living-hero-secondary-cta-inline-padding: clamp(0.58rem, 2.35vw, 0.7rem);
    --living-hero-cta-stack-margin: clamp(1rem, 3.4vw, 1.25rem) auto var(--living-hero-cta-balance-space);
    --living-hero-value-cards-margin-top: clamp(0.72rem, 2.4vw, 1rem);
    margin-bottom: var(--landing-section-gap) !important;
    padding: calc(var(--living-hero-frame-gap) + var(--living-hero-frame-space)) 0.72rem calc(var(--living-hero-frame-gap) + var(--living-hero-bottom-space)) !important;
    background:
      linear-gradient(180deg, rgba(253, 249, 242, 0.93) 0%, rgba(250, 239, 223, 0.94) 100%),
      radial-gradient(circle at 50% 16%, rgba(255, 253, 248, 0.94) 0 22%, rgba(255, 253, 248, 0.24) 46%, transparent 70%),
      radial-gradient(circle at 10% 44%, rgba(214, 183, 122, 0.08), transparent 36%),
      radial-gradient(circle at 90% 42%, rgba(214, 183, 122, 0.075), transparent 37%),
      linear-gradient(180deg, #fdf9f2 0%, #faefdf 56%, var(--hero-bg-deep) 100%) !important;
  }

  body.landing-page:not(.authenticated-home) .living-hero__inner {
    width: 100%;
    max-width: 44rem;
    padding-top: 0;
  }

  body.landing-page:not(.authenticated-home) .living-hero__desktop-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "copy"
      "portraits";
    row-gap: clamp(0.25rem, 0.5vw, 0.5rem);
    width: 100%;
    margin: 0 auto;
  }

  body.landing-page:not(.authenticated-home) .living-hero__copy-stack {
    display: contents;
  }

  body.landing-page:not(.authenticated-home) .living-hero__perspective {
    grid-area: perspective;
    position: relative;
    z-index: 24;
    display: block;
    justify-self: start;
    width: min(100%, 24rem);
    max-width: 100%;
    margin: 0 0 clamp(0.8rem, 3vw, 1.05rem);
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  body.landing-page:not(.authenticated-home) .living-hero__perspective-label {
    flex: 0 0 auto;
    color: rgba(48, 31, 20, 0.86);
    font-size: clamp(0.69rem, 2.8vw, 0.78rem);
    font-weight: 650;
    white-space: nowrap;
  }

  body.landing-page:not(.authenticated-home) .living-hero__perspective-select-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: clamp(8.4rem, 39vw, 10.3rem);
  }

  body.landing-page:not(.authenticated-home) .living-hero__perspective-select {
    width: 100%;
    min-height: 2rem;
    padding: 0.2rem 2rem 0.2rem 0.72rem;
    border: 1px solid rgba(176, 126, 48, 0.28);
    border-radius: 999px;
    color: #2f2117;
    background: rgba(255, 252, 246, 0.92);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
    font: 650 clamp(0.72rem, 2.9vw, 0.82rem)/1.1 "Manrope", "Inter", system-ui, sans-serif;
    cursor: pointer;
    appearance: none;
  }

  body.landing-page:not(.authenticated-home) .living-hero__perspective-select:focus-visible {
    outline: 2px solid rgba(181, 125, 42, 0.68);
    outline-offset: 2px;
  }

  body.landing-page:not(.authenticated-home) .living-hero__perspective-select:disabled {
    cursor: default;
    opacity: 0.78;
  }

  body.landing-page:not(.authenticated-home) .living-hero__perspective-chevron {
    position: absolute;
    right: 0.62rem;
    width: 0.92rem;
    height: 0.92rem;
    fill: none;
    stroke: #9a6826;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
  }

  body.landing-page:not(.authenticated-home) .living-hero__headline-wrap {
    grid-area: copy;
    display: grid;
    justify-items: center;
    width: 100%;
    margin: 0 auto;
    padding-inline: clamp(0.1rem, 1.2vw, 0.35rem) !important;
    text-align: center !important;
  }

  body.landing-page:not(.authenticated-home) .living-hero__headline {
    display: grid;
    justify-items: center;
    gap: clamp(0.1rem, 0.62vw, 0.19rem);
    width: 100%;
    margin: 0;
  }

  body.landing-page:not(.authenticated-home) .living-hero__headline-line {
    display: block;
    width: 100%;
    text-align: center;
    white-space: nowrap;
  }

  body.landing-page:not(.authenticated-home) .living-hero__headline-line--primary {
    color: #2d1f15;
    font-size: clamp(1.85rem, 7.5vw, 2.4rem) !important;
    font-style: normal;
    font-weight: 650;
    line-height: 1.08;
    letter-spacing: -0.02em;
  }

  body.landing-page:not(.authenticated-home) .living-hero__headline-line--secondary {
    margin-block: clamp(0.1rem, 0.48vw, 0.17rem);
    color: #a46e25;
    font-size: clamp(1.45rem, 6.6vw, 2.15rem) !important;
    font-style: italic;
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -0.03em;
  }

  body.landing-page:not(.authenticated-home) .living-hero__subtitle {
    display: block;
    width: min(100%, 24rem);
    margin: 0 auto;
    color: rgba(49, 33, 21, 0.84);
    font-family: "Manrope", "Inter", system-ui, sans-serif;
    font-size: clamp(0.82rem, 3.2vw, 0.94rem);
    font-style: normal;
    font-weight: 520;
    letter-spacing: -0.012em;
    text-align: center;
    text-wrap: balance;
  }

  body.landing-page:not(.authenticated-home) .living-hero__demo-button {
    justify-self: center;
    width: max-content;
    min-width: 0;
    margin: 0 auto;
    color: rgba(45, 30, 18, 0.88);
    border-color: rgba(170, 117, 41, 0.5);
    background: rgba(255, 250, 239, 0.74);
    box-shadow: 0 0.3rem 0.8rem rgba(75, 45, 18, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.82);
    font-size: clamp(0.76rem, 3.15vw, 0.88rem);
    text-transform: none;
    letter-spacing: 0.01em;
  }

  body.landing-page:not(.authenticated-home) .living-hero__story-grid {
    grid-area: portraits;
    display: grid;
    width: 100%;
    margin: clamp(0.135rem, 0.3vw, 0.215rem) auto 0;
  }

  body.landing-page .hero-family-collage-frame {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 27rem;
    height: var(--living-hero-mobile-stage-height);
    margin: var(--living-hero-mobile-portrait-top-gap) auto 0;
    padding: 0;
    filter: drop-shadow(0 1.15rem 1.55rem rgba(50, 31, 15, 0.14));
    transform: none;
    isolation: isolate;
  }

  body.landing-page .hero-family-collage-frame::before {
    inset: 5% 7% 1%;
    border-radius: 44%;
    opacity: 0.66;
  }

  body.landing-page .hero-family-collage-frame::after {
    content: none;
    display: none;
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-collage {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 0;
  }

  body.landing-page .hero-family-collage-frame .hero-family-collage__identity {
    top: calc(
      var(--living-hero-mobile-main-height) + var(--hero-family-lower-offset) - var(--hero-family-portrait-overlap) + var(--hero-family-identity-shift)
    );
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-row {
    position: absolute;
    left: 50%;
    bottom: calc(var(--living-hero-mobile-stage-height) - var(--living-hero-mobile-main-height) - var(--hero-family-lower-offset));
    z-index: 4;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: max-content;
    margin: 0;
    padding: 0;
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--main,
  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--companion {
    position: absolute;
    inset: auto;
    margin: 0;
    overflow: hidden;
    border-radius: 50% 50% 0 0 / 22% 22% 0 0;
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image img {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--main {
    left: 50%;
    top: 0;
    bottom: auto;
    z-index: 3;
    width: calc(var(--living-hero-mobile-main-width) * var(--living-hero-main-width-scale)) !important;
    height: var(--living-hero-mobile-main-height);
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--companion {
    --landing-person-frame-hero-band: clamp(2.6px, 0.65vw, 4px);
    --landing-person-frame-hero-edge: 1px;
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    z-index: 4;
    width: calc(var(--living-hero-mobile-side-width) * var(--living-hero-companion-size-scale)) !important;
    height: calc(var(--living-hero-mobile-side-height) * var(--living-hero-companion-size-scale));
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--companion + .living-hero__portrait-image--companion {
    margin-left: -1px;
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--1 {
    transform-origin: right bottom;
    transform: rotate(calc(var(--living-hero-side-tilt) * -1));
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--2 {
    z-index: 5;
    width: calc(var(--living-hero-mobile-side-width) * var(--living-hero-center-width-scale) * var(--living-hero-companion-size-scale)) !important;
    height: calc(var(--living-hero-mobile-side-height) * var(--living-hero-center-height-scale) * var(--living-hero-companion-size-scale));
    border-radius: 50% 50% 3px 3px / 22% 22% 3px 3px;
    transform: none;
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--3 {
    display: block;
    transform-origin: left bottom;
    transform: rotate(var(--living-hero-side-tilt));
  }

  body.landing-page .hero-family-collage-frame .living-hero__sigil-slot {
    position: relative;
    left: auto;
    top: auto;
    bottom: auto;
    z-index: 5;
    width: var(--living-hero-mobile-sigil-width);
    height: var(--living-hero-mobile-sigil-width);
    margin: 0 auto;
    transform: none;
  }

  body.landing-page .hero-family-collage-frame .living-hero__family-sigil.hero-family-sigil.sigil-composed--hero {
    width: var(--living-hero-mobile-sigil-width) !important;
    max-width: none !important;
    margin: 0 !important;
    /* Keep the raised mobile surname clear of the shield tip. */
    transform: translateY(-1%) scale(0.94);
  }
body.landing-page:not(.authenticated-home) .living-hero__primary-action {
    grid-area: auto;
    position: relative;
    z-index: 8;
    display: flex;
    justify-content: center;
    width: 100%;
    margin: var(--hero-family-action-top-gap) auto 0;
  }

  body.landing-page:not(.authenticated-home) main.page-shell .quick-page-content .living-hero-shell .living-hero__primary-action a.living-hero__cta-button.btn-primary {
    width: max-content !important;
    max-width: calc(100vw - 2rem) !important;
    min-width: 0 !important;
    min-height: var(--living-hero-primary-cta-height) !important;
    padding-inline: var(--living-hero-primary-cta-inline-padding) !important;
    font-size: clamp(0.92rem, 3.75vw, 1.04rem) !important;
  }

  body.landing-page:not(.authenticated-home) .living-hero__secondary-action {
    grid-area: demo;
    position: relative;
    z-index: 8;
    display: flex;
    justify-content: center;
    justify-self: center;
    width: max-content;
    max-width: 100%;
    margin: clamp(0.48rem, 1.9vw, 0.6rem) auto 0;
  }

  body.landing-page:not(.authenticated-home) .living-hero__secondary-action .living-hero__demo-button {
    width: max-content;
    max-width: calc(100vw - 2rem);
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-frame {
    display: none !important;
    grid-area: map;
    position: relative;
    top: auto;
    left: auto;
    z-index: 2;
    width: min(100%, 24rem);
    height: clamp(18.3rem, 75vw, 20.5rem);
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(170, 124, 54, 0.32);
    border-radius: 1.15rem;
    background: linear-gradient(180deg, rgba(255, 252, 244, 0.9), rgba(247, 237, 217, 0.76));
    box-shadow: 0 0.85rem 1.65rem rgba(65, 42, 19, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.8);
    pointer-events: none;
    transform: none;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 0.52rem;
    height: 2.75rem;
    padding: 0.18rem 0.95rem 0;
    color: #3a281a;
    font-family: "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif;
    font-size: 1.03rem;
    font-weight: 650;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-header-icon {
    width: 1.3rem;
    height: 1.3rem;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-artwork {
    position: absolute;
    top: 2.85rem;
    left: 50%;
    width: 94%;
    height: clamp(8.8rem, 35vw, 9.8rem);
    aspect-ratio: auto;
    transform: translateX(-50%);
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-image { object-fit: fill; }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline {
    position: absolute;
    right: 0.5rem;
    bottom: 0.45rem;
    left: 0.5rem;
    z-index: 3;
    display: block;
    height: 6.15rem;
    margin: 0;
    padding: 0.4rem 0.1rem 0.1rem;
    background: linear-gradient(180deg, rgba(255, 251, 241, 0.18), rgba(255, 248, 232, 0.78));
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.15rem;
    min-height: 100%;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-track::before {
    content: "";
    position: absolute;
    top: 1.25rem;
    right: 6%;
    left: 6%;
    height: 1px;
    background: linear-gradient(90deg, rgba(166, 121, 53, 0.14), rgba(166, 121, 53, 0.55), rgba(166, 121, 53, 0.14));
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-event {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    align-content: start;
    min-width: 0;
    text-align: center;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-portrait {
    width: 2.25rem;
    height: 2.25rem;
    margin: 0 auto 0.22rem;
    border-radius: 999px;
    background: var(--landing-person-frame-gradient);
    box-shadow: 0 0.25rem 0.55rem rgba(66, 42, 18, 0.14);
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-date {
    color: #80551f;
    font-family: "Manrope", "Inter", system-ui, sans-serif;
    font-size: 0.6rem;
    font-weight: 700;
    line-height: 1.05;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-title {
    display: block;
    width: 100%;
    margin-top: 0.14rem;
    overflow: hidden;
    color: rgba(46, 31, 20, 0.9);
    font-family: "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif;
    font-size: 0.65rem;
    font-weight: 650;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-summary { display: none; }


}

@media (min-width: 1100px) {
  body.landing-page .hero-family-collage-frame {
    --living-hero-desktop-stage-height: calc(
      var(--living-hero-desktop-main-height)
      + var(--hero-family-lower-offset)
      - var(--hero-family-portrait-overlap)
      + var(--hero-family-banner-height)
      + var(--living-hero-desktop-sigil-width)
      - var(--hero-family-crest-overlap)
      + var(--hero-family-identity-clearance)
      + var(--hero-family-identity-shift)
    );
    --living-hero-desktop-main-height: clamp(19.998rem, 23.331vw, 25.351rem);
    --hero-family-sigil-width: var(--living-hero-desktop-sigil-width);
    --hero-family-side-width: var(--living-hero-desktop-side-width);
    --hero-family-side-height: var(--living-hero-desktop-side-height);
    /* Scale every part from the main portrait; hosts only choose its height. */
    --living-hero-desktop-stage-ratio: 1.5;
    --living-hero-desktop-main-width: calc(var(--living-hero-desktop-main-height) * 0.66);
    --living-hero-desktop-stage-width: calc(var(--living-hero-desktop-main-height) * var(--living-hero-desktop-stage-ratio));
    --living-hero-desktop-side-width: calc(var(--living-hero-desktop-main-height) * 0.39);
    --living-hero-desktop-side-height: calc(var(--living-hero-desktop-main-height) * 0.49);
    --living-hero-desktop-sigil-width: calc(var(--living-hero-desktop-main-height) * 0.275);
    --hero-family-surname-size: min(clamp(0.88rem, 1.55vw, 1.24rem), calc(var(--living-hero-desktop-main-height) * 0.0735));
    --hero-family-surname-line-height: 1.2;
    --hero-family-surname-bottom-padding: 0.1em;
  }

  /* The hero controller measures the space left by the navigation, headline and CTA.
     The fallback keeps the composition usable before that measurement is ready. */
  body.landing-page:not(.authenticated-home) .hero-family-collage-frame {
    --living-hero-desktop-main-height: max(6rem, min(
      var(--living-hero-fitted-main-height, clamp(12.5rem, calc(100dvh - 31.5rem), 20rem)),
      calc(var(--living-hero-art-width, 100vw) / var(--living-hero-desktop-stage-ratio))
    ));
  }

  body.landing-page:not(.authenticated-home) .hero-family-collage-frame .living-hero__portrait-image--main {
    transition-property: none;
  }

  body.landing-page:not(.authenticated-home) .family-hero-visual--public {
    --hero-family-metrics-gap: 0.6rem;
    grid-template-rows: 0 minmax(min-content, var(--living-hero-art-space, auto)) auto;
    transition-property: none;
  }

  body.landing-page:not(.authenticated-home) .living-hero-shell {
    transition-property: none;
    --living-hero-viewport-bottom-gap: 16px;
    --living-hero-balanced-gap: clamp(0.34rem, 0.675vw, 0.5rem);
    --living-hero-divider-offset: clamp(0.08rem, 0.21vw, 0.17rem);
    --living-hero-inline-space: clamp(1.4rem, 2vw, 2.5rem);
    --living-hero-frame-space: clamp(0.65rem, 1.5dvh, 1rem);
    --living-hero-bottom-space: clamp(0.75rem, 1.8dvh, 1.25rem);
    --living-hero-desktop-column-gap: clamp(0.9rem, 1.35vw, 1.65rem);
    --living-hero-value-max-width: 80rem;
    --living-hero-value-cards-margin-top: clamp(0.45rem, 0.75vw, 0.72rem);
    --living-hero-primary-cta-height: 2.9rem;
    --living-hero-secondary-cta-height: 2.55rem;
    --living-hero-primary-cta-inline-padding: clamp(1rem, 1.25vw, 1.25rem);
    --living-hero-secondary-cta-inline-padding: clamp(0.58rem, 0.62vw, 0.7rem);
    --living-hero-cta-stack-margin: calc(var(--living-hero-cta-balance-space) + 0.42rem) auto var(--living-hero-cta-balance-space);
  }

  body.landing-page:not(.authenticated-home) .living-hero-shell + .landing-demo-story-stage {
    --landing-demo-top-gap: clamp(0.8rem, 1.35vw, 1.3rem);
  }

  body.landing-page:not(.authenticated-home) .living-hero__inner {
    width: 100%;
    max-width: 106rem;
    margin-inline: auto;
  }

  body.landing-page:not(.authenticated-home) .living-hero__desktop-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "copy"
      "portraits";
    grid-template-rows: 1fr;
    align-items: center;
    column-gap: var(--living-hero-desktop-column-gap);
    row-gap: clamp(0.5rem, 1vw, 1rem);
    width: 100%;
    margin: 0 auto;
  }

  body.landing-page:not(.authenticated-home) .living-hero__copy-stack {
    grid-area: copy;
    align-self: center;
    justify-self: center;
    display: grid;
    justify-items: center;
    width: 100%;
    max-width: 48rem;
    min-width: 0;
  }

  body.landing-page:not(.authenticated-home) .living-hero__perspective {
    grid-area: perspective;
    position: relative;
    z-index: 24;
    align-self: start;
    justify-self: start;
    display: block;
    width: min(100%, 21rem);
    max-width: 100%;
    margin: 0 0 clamp(0.65rem, 1vw, 0.9rem);
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  body.landing-page:not(.authenticated-home) .living-hero__perspective-label {
    color: rgba(48, 31, 20, 0.86);
    font-size: clamp(0.73rem, 0.72vw, 0.82rem);
    font-weight: 650;
    white-space: nowrap;
  }

  body.landing-page:not(.authenticated-home) .living-hero__perspective-select-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: clamp(8.5rem, 9.5vw, 10.5rem);
  }

  body.landing-page:not(.authenticated-home) .living-hero__perspective-select {
    width: 100%;
    min-height: 2.05rem;
    padding: 0.18rem 2.05rem 0.18rem 0.72rem;
    border: 1px solid rgba(176, 126, 48, 0.28);
    border-radius: 999px;
    color: #2f2117;
    background: rgba(255, 252, 246, 0.92);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
    font: 650 clamp(0.74rem, 0.72vw, 0.84rem)/1.1 "Manrope", "Inter", system-ui, sans-serif;
    cursor: pointer;
    appearance: none;
  }

  body.landing-page:not(.authenticated-home) .living-hero__perspective-select:focus-visible {
    outline: 2px solid rgba(181, 125, 42, 0.68);
    outline-offset: 2px;
  }

  body.landing-page:not(.authenticated-home) .living-hero__perspective-select:disabled {
    cursor: default;
    opacity: 0.78;
  }

  body.landing-page:not(.authenticated-home) .living-hero__perspective-chevron {
    position: absolute;
    right: 0.62rem;
    width: 0.92rem;
    height: 0.92rem;
    fill: none;
    stroke: #9a6826;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
  }

  body.landing-page:not(.authenticated-home) .living-hero__headline-wrap {
    grid-area: auto;
    z-index: 4;
    align-self: center;
    justify-self: center;
    display: grid;
    justify-items: center;
    width: 100%;
    max-width: 48rem;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    transform: none;
  }

  body.landing-page:not(.authenticated-home) .living-hero__headline {
    display: grid;
    gap: clamp(0.1rem, 0.28vw, 0.21rem);
    width: 100%;
    margin: 0;
  }

  body.landing-page:not(.authenticated-home) .living-hero__headline-line {
    display: block;
    width: 100%;
    text-align: center;
    white-space: nowrap;
  }

  body.landing-page:not(.authenticated-home) .living-hero__headline-line--primary {
    color: #2d1f15;
    font-size: clamp(1.9rem, min(2.55vw, 4.5dvh), 3.15rem);
    font-style: normal;
    font-weight: 560;
    line-height: 1.08;
    letter-spacing: -0.02em;
  }

  body.landing-page:not(.authenticated-home) .living-hero__headline-line--secondary {
    color: #a46e25;
    font-size: clamp(1.71rem, min(2.28vw, 4.05dvh), 2.81rem);
    font-style: italic;
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -0.02em;
  }


  body.landing-page:not(.authenticated-home) .living-hero__subtitle {
    display: block;
    width: min(100%, 34rem);
    margin: 0 auto;
    color: rgba(49, 33, 21, 0.86);
    font-family: "Manrope", "Inter", system-ui, sans-serif;
    font-size: clamp(0.85rem, 0.9775vw, 0.95625rem);
    font-style: normal;
    font-weight: 540;
    letter-spacing: -0.01em;
    text-align: center;
    text-wrap: pretty;
  }

  body.landing-page:not(.authenticated-home) .living-hero__demo-button {
    justify-self: center;
    width: max-content;
    min-width: 0;
    margin: 0 auto;
    color: rgba(45, 30, 18, 0.88);
    border-color: rgba(170, 117, 41, 0.5);
    background: rgba(255, 250, 239, 0.72);
    box-shadow: 0 0.34rem 0.8rem rgba(75, 45, 18, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.82);
    font-size: clamp(0.78rem, 0.8vw, 0.9rem);
    text-transform: none;
    letter-spacing: 0.01em;
  }

  body.landing-page:not(.authenticated-home) .living-hero__secondary-action {
    grid-area: auto;
    align-self: start;
    justify-self: start;
    position: relative;
    z-index: 8;
    display: flex;
    justify-content: center;
    width: min(100%, 24rem);
    max-width: 24rem;
    margin: clamp(0.58rem, 0.7vw, 0.72rem) 0 0;
  }

  body.landing-page:not(.authenticated-home) .living-hero__story-grid {
    grid-area: portraits;
    align-self: center;
    justify-self: center;
    display: grid;
    width: 100%;
  }

  body.landing-page .hero-family-collage-frame {
    position: relative;
    align-self: center;
    justify-self: center;
    width: min(100%, var(--living-hero-desktop-stage-width));
    max-width: none;
    height: var(--living-hero-desktop-stage-height);
    margin: 0;
    padding: 0;
    filter: drop-shadow(0 1.25rem 1.9rem rgba(50, 31, 15, 0.15));
    transform: none;
    isolation: isolate;
  }

  body.landing-page .hero-family-collage-frame::before {
    inset: 5% 0 0;
    border-radius: 44%;
    opacity: 0.7;
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-collage {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
  }

  body.landing-page .hero-family-collage-frame .hero-family-collage__identity {
    top: calc(
      var(--living-hero-desktop-main-height) + var(--hero-family-lower-offset) - var(--hero-family-portrait-overlap) + var(--hero-family-identity-shift)
    );
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-row {
    position: absolute;
    left: 50%;
    bottom: calc(var(--living-hero-desktop-stage-height) - var(--living-hero-desktop-main-height) - var(--hero-family-lower-offset));
    z-index: 4;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: max-content;
    margin: 0;
    padding: 0;
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--main,
  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--companion {
    position: absolute;
    inset: auto;
    margin: 0;
    overflow: hidden;
    border-radius: 50% 50% 0 0 / 22% 22% 0 0;
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--main {
    left: 50%;
    top: 0;
    z-index: 3;
    width: calc(var(--living-hero-desktop-main-width) * var(--living-hero-main-width-scale));
    height: var(--living-hero-desktop-main-height);
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--companion {
    position: relative;
    right: auto;
    bottom: auto;
    left: auto;
    z-index: 4;
    width: calc(var(--living-hero-desktop-side-width) * var(--living-hero-companion-size-scale));
    height: calc(var(--living-hero-desktop-side-height) * var(--living-hero-companion-size-scale));
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--companion + .living-hero__portrait-image--companion {
    margin-left: -1px;
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--1 {
    transform-origin: right bottom;
    transform: rotate(calc(var(--living-hero-side-tilt) * -1));
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--2 {
    z-index: 5;
    width: calc(var(--living-hero-desktop-side-width) * var(--living-hero-center-width-scale) * var(--living-hero-companion-size-scale));
    height: calc(var(--living-hero-desktop-side-height) * var(--living-hero-center-height-scale) * var(--living-hero-companion-size-scale));
    border-radius: 50% 50% 3px 3px / 22% 22% 3px 3px;
    transform: none;
  }

  body.landing-page .hero-family-collage-frame .living-hero__portrait-image--3 {
    display: block;
    transform-origin: left bottom;
    transform: rotate(var(--living-hero-side-tilt));
  }

  body.landing-page .hero-family-collage-frame .living-hero__sigil-slot {
    position: relative;
    left: auto;
    bottom: auto;
    z-index: 5;
    width: var(--living-hero-desktop-sigil-width);
    height: var(--living-hero-desktop-sigil-width);
    margin: 0 auto;
    transform: none;
  }

  body.landing-page .hero-family-collage-frame .living-hero__family-sigil.hero-family-sigil.sigil-composed--hero {
    width: var(--living-hero-desktop-sigil-width) !important;
    max-width: none !important;
    margin: 0 !important;
  }
body.landing-page:not(.authenticated-home) .living-hero__primary-action {
    grid-area: auto;
    align-self: start;
    justify-self: center;
    position: relative;
    z-index: 8;
    display: flex;
    justify-content: center;
    width: 100%;
    margin: var(--hero-family-action-top-gap) auto 0;
  }

  body.landing-page:not(.authenticated-home) main.page-shell .quick-page-content .living-hero-shell .living-hero__primary-action a.living-hero__cta-button.btn-primary {
    width: max-content !important;
    min-width: 0 !important;
    min-height: var(--living-hero-primary-cta-height) !important;
    padding-inline: var(--living-hero-primary-cta-inline-padding) !important;
    font-size: clamp(0.98rem, 1.15vw, 1.22rem) !important;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-frame {
    grid-area: map;
    position: relative;
    top: auto;
    left: auto;
    align-self: center;
    justify-self: stretch;
    width: 100%;
    max-width: 31rem;
    height: var(--living-hero-desktop-map-height);
    min-height: 0;
    margin: 0 0 0 auto;
    overflow: hidden;
    border: 1px solid rgba(170, 124, 54, 0.3);
    border-radius: clamp(1.05rem, 1.35vw, 1.35rem);
    background: linear-gradient(180deg, rgba(255, 252, 244, 0.88), rgba(246, 234, 211, 0.72));
    box-shadow: 0 1rem 1.9rem rgba(65, 42, 19, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.78);
    pointer-events: none;
    transform: none;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    height: var(--living-hero-desktop-map-header-height);
    padding: 0.25rem 1.12rem 0;
    color: #3a281a;
    font-family: "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif;
    font-size: clamp(1.05rem, 1.25vw, 1.28rem);
    font-weight: 650;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-header-icon {
    width: 1.48rem;
    height: 1.48rem;
    object-fit: contain;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-artwork {
    position: absolute;
    top: calc(var(--living-hero-desktop-map-header-height) + 0.2rem);
    left: 50%;
    width: 92%;
    height: calc(100% - var(--living-hero-desktop-map-header-height) - var(--living-hero-desktop-map-timeline-height) - 0.35rem);
    aspect-ratio: auto;
    transform: translateX(-50%);
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-image { object-fit: fill; }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline {
    position: absolute;
    right: 0.72rem;
    bottom: 0.6rem;
    left: 0.72rem;
    z-index: 3;
    display: block;
    height: calc(var(--living-hero-desktop-map-timeline-height) - 0.85rem);
    margin: 0;
    padding: 0.5rem 0.15rem 0.15rem;
    background: linear-gradient(180deg, rgba(255, 251, 241, 0.16), rgba(255, 248, 232, 0.8));
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
    gap: clamp(0.2rem, 0.4vw, 0.45rem);
    min-height: 100%;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-track::before {
    content: "";
    position: absolute;
    top: 1.55rem;
    right: 6%;
    left: 6%;
    height: 1px;
    background: linear-gradient(90deg, rgba(166, 121, 53, 0.14), rgba(166, 121, 53, 0.56), rgba(166, 121, 53, 0.14));
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-event {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
    align-content: start;
    min-width: 0;
    text-align: center;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-portrait {
    width: clamp(2.65rem, 3vw, 3.05rem);
    height: clamp(2.65rem, 3vw, 3.05rem);
    margin: 0 auto 0.32rem;
    border-radius: 999px;
    background: var(--landing-person-frame-gradient);
    box-shadow: 0 0.32rem 0.64rem rgba(66, 42, 18, 0.15);
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-date {
    color: #80551f;
    font-family: "Manrope", "Inter", system-ui, sans-serif;
    font-size: clamp(0.68rem, 0.72vw, 0.78rem);
    font-weight: 700;
    line-height: 1.08;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-title {
    display: block;
    width: 100%;
    margin-top: 0.18rem;
    overflow: hidden;
    color: rgba(46, 31, 20, 0.9);
    font-family: "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif;
    font-size: clamp(0.72rem, 0.78vw, 0.84rem);
    font-weight: 650;
    line-height: 1.06;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.landing-page:not(.authenticated-home) .living-hero__map-timeline-summary {
    display: -webkit-box;
    width: 100%;
    margin-top: 0.18rem;
    overflow: hidden;
    color: rgba(62, 43, 27, 0.72);
    font-family: "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif;
    font-size: clamp(0.63rem, 0.66vw, 0.72rem);
    font-weight: 550;
    line-height: 1.1;
    text-align: center;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }


}

@media (min-width: 1440px) {
  body.landing-page:not(.authenticated-home) .living-hero-shell {
    --living-hero-desktop-column-gap: clamp(1.15rem, 1.5vw, 1.85rem);
  }

  body.landing-page:not(.authenticated-home) .living-hero__headline-wrap { max-width: 48rem; }
}

body.landing-page:not(.authenticated-home) .landing-faq__question:hover { background: rgba(197, 145, 46, .06); }
body.landing-page:not(.authenticated-home) .landing-faq__question:focus-visible { outline: 2px solid #ad792b; outline-offset: -2px; border-radius: .65rem; }
