:root {
  /* Brand color tokens — RELEASE 10.0 SYSTEM LOCK */
  --color-night: #11110f;
  --color-charcoal: #1b1b18;
  --color-bone: #f0ece2;
  --color-sand: #d7cdbb;
  --color-stone: #928b7e;
  --color-earth: #6d513a;
  --color-text-dark: #181815;
  --color-text-light: #f4f0e7;
  --color-text-muted-dark: #6f6a61;
  --color-text-muted-light: #bdb5a7;
  --color-line-dark: rgba(24, 24, 21, 0.16);
  --color-line-light: rgba(244, 240, 231, 0.20);
  --color-media-fallback: #24241f;
  --color-media-fallback-2: #4d493f;
  --color-surface-warm: #e5ddcf;
  --color-surface-deep: #151512;
  --color-accent-gold: #d7b46a;
  --color-accent-gold-soft: rgba(215, 180, 106, 0.14);

  /* Typography tokens — Newsreader + Inter Tight */
  --font-editorial: "Newsreader", Georgia, "Times New Roman", serif;
  --font-ui: "Inter Tight", "Arial Narrow", Arial, sans-serif;

  --type-display-xl: clamp(3.2rem, 6.2vw, 6rem);
  --type-display-lg: clamp(2.55rem, 4.6vw, 4.6rem);
  --type-display-md: clamp(2.1rem, 3.55vw, 3.55rem);
  --type-heading-xl: clamp(1.82rem, 3vw, 2.9rem);
  --type-heading-lg: clamp(1.52rem, 2.25vw, 2.2rem);
  --type-heading-md: clamp(1.3rem, 1.65vw, 1.75rem);
  --type-body-xl: clamp(1.22rem, 1.4vw, 1.48rem);
  --type-body-lg: clamp(1.08rem, 1.12vw, 1.25rem);
  --type-body: clamp(1.03rem, 1vw, 1.15rem);
  --type-body-sm: 0.94rem;
  --type-ui: 0.78rem;
  --type-meta: 0.72rem;

  /* Line height */
  --leading-display-xl: 0.88;
  --leading-display-lg: 0.94;
  --leading-display-md: 0.98;
  --leading-heading-xl: 1.04;
  --leading-heading-lg: 1.08;
  --leading-heading-md: 1.14;
  --leading-body-xl: 1.55;
  --leading-body-lg: 1.62;
  --leading-body: 1.72;
  --leading-body-sm: 1.58;

  /* Tracking */
  --tracking-display-xl: -0.045em;
  --tracking-display-lg: -0.035em;
  --tracking-display-md: -0.03em;
  --tracking-heading-xl: -0.025em;
  --tracking-ui: 0.085em;
  --tracking-meta: 0.10em;
  --tracking-chapter: 0.14em;

  /* Spacing — 8px base */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --space-7: 4rem;
  --space-8: 5rem;
  --space-9: 6rem;
  --space-10: 8rem;
  --space-11: 10rem;
  --space-12: 12rem;

  /* Containers */
  --container-reading: 47.5rem;   /* 760px */
  --container-content: 70rem;     /* 1120px */
  --container-wide: 80rem;        /* 1280px */
  --container-header: 90rem;      /* 1440px */

  /* Layout */
  --page-pad-mobile: 1.25rem;
  --page-pad: clamp(1.25rem, 2.2vw, 2rem);
  --page-pad-wide: clamp(1.5rem, 2.6vw, 2.5rem);
  --section-y-standard: clamp(3.75rem, 6vw, 6.5rem);
  --section-y-cinematic: clamp(4.5rem, 7.5vw, 8rem);

  /* Radius */
  --radius-none: 0;
  --radius-xs: 2px;
  --radius-sm: 4px;

  /* Motion */
  --ease-standard: cubic-bezier(.2, .7, .2, 1);
  --duration-fast: 160ms;
  --duration-medium: 220ms;
  --duration-slow: 420ms;

  /* Header */
  --header-h: 4.375rem;
  --tap-target: 2.75rem;
  --control-h: 3rem;
  --control-h-compact: 2.75rem;
  --dialog-compact: 30rem;
  --dialog-contact: 52rem;
  --dialog-qr: 25.5rem;
  --qr-size: 15rem;
  --header-bg-scrolled: rgba(17, 17, 15, 0.88);
  --header-line: rgba(244, 240, 231, 0.10);

  /* Media */
  --hero-overlay-top: rgba(17, 17, 15, 0.28);
  --hero-overlay-mid: rgba(17, 17, 15, 0.06);
  --hero-overlay-bottom: rgba(17, 17, 15, 0.52);
  --media-overlay-side: linear-gradient(90deg, rgba(17,17,15,.78), rgba(17,17,15,.14) 66%, rgba(17,17,15,.38));
  --media-overlay-bottom: linear-gradient(to top, rgba(17,17,15,.78), rgba(17,17,15,.08) 72%);

  /* Global image hierarchy — Release 10 visual-normalization lock */
  --media-signature-max-h: 60rem;
  --media-world-hero-max-h: 48rem;
  --media-chapter-hero-max-h: 52rem;
  --media-major-hero-max-h: 56rem;
  --media-feature-max-w: 44rem;
  --media-primary-portrait-max-w: 23rem;
  --media-support-portrait-max-w: 18rem;
  --media-card-max-w: 24rem;
  --media-gallery-max-w: 28rem;
  --media-mobile-portrait-max-h: 40rem;
  --media-tablet-portrait-max-h: 44rem;
  --media-group-gap: clamp(1rem, 2vw, 2rem);

  /* Layering */
  --z-header: 100;
  --z-overlay: 20;
  --z-modal: 200;

  /* Media rhythm */
  --media-transition: transform 700ms var(--ease-standard), filter 420ms var(--ease-standard);
  --media-hover-scale: 1.022;
}

@media (max-width: 37.4375rem) {
  :root {
    --page-pad: var(--page-pad-mobile);
    --header-h: 4.25rem;
  }
}

@media (max-width: 22rem) {
  :root {
    --page-pad-mobile: 1rem;
    --page-pad: 1rem;
    --type-body: 1rem;
    --type-body-lg: 1.08rem;
    --type-body-xl: 1.22rem;
  }
}



*, *::before, *::after { box-sizing: border-box; }
html {
  color-scheme: light dark;
  background: var(--color-night);
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 1rem);
  scrollbar-gutter: stable;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  margin: 0;
  min-width: 0;
  overflow-x: hidden;
  overflow-x: clip;
  background: var(--color-bone);
  color: var(--color-text-dark);
  font-family: var(--font-editorial);
  font-size: var(--type-body);
  line-height: var(--leading-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-synthesis: none;
  font-optical-sizing: auto;
}
img, video, svg, canvas { display: block; max-width: 100%; }
img, video { height: auto; }
a { color: inherit; text-decoration: none; }
input, textarea, select, button { max-width: 100%; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
a, button { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
p, li { text-wrap: pretty; overflow-wrap: break-word; }

::selection { background: var(--color-earth); color: var(--color-bone); }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Container system: padding lives inside the max-width, including iOS safe areas. */
.container,
.container--wide,
.container--header,
.container--reading {
  width: 100%;
  margin-inline: auto;
  padding-left: max(var(--page-pad), env(safe-area-inset-left));
  padding-right: max(var(--page-pad), env(safe-area-inset-right));
}
.container { max-width: calc(var(--container-content) + (2 * var(--page-pad))); }
.container--wide { max-width: calc(var(--container-wide) + (2 * var(--page-pad-wide))); padding-left: max(var(--page-pad-wide), env(safe-area-inset-left)); padding-right: max(var(--page-pad-wide), env(safe-area-inset-right)); }
.container--header { max-width: calc(var(--container-header) + (2 * var(--page-pad))); }
.container--reading { max-width: calc(var(--container-reading) + (2 * var(--page-pad))); }

.display-xl,
.display-lg,
.display-md,
.heading-xl,
.heading-lg,
.heading-md {
  margin: 0;
  font-family: var(--font-editorial);
  text-wrap: balance;
  overflow-wrap: break-word;
}
.display-xl { font-size: var(--type-display-xl); line-height: var(--leading-display-xl); letter-spacing: var(--tracking-display-xl); font-weight: 700; }
.display-lg { font-size: var(--type-display-lg); line-height: var(--leading-display-lg); letter-spacing: var(--tracking-display-lg); font-weight: 600; }
.display-md { font-size: var(--type-display-md); line-height: var(--leading-display-md); letter-spacing: var(--tracking-display-md); font-weight: 600; }
.heading-xl { font-size: var(--type-heading-xl); line-height: var(--leading-heading-xl); letter-spacing: var(--tracking-heading-xl); font-weight: 600; }
.heading-lg { font-size: var(--type-heading-lg); line-height: var(--leading-heading-lg); font-weight: 600; }
.heading-md { font-size: var(--type-heading-md); line-height: var(--leading-heading-md); font-weight: 600; }
.body-xl { font-size: var(--type-body-xl); line-height: var(--leading-body-xl); }
.body-lg { font-size: var(--type-body-lg); line-height: var(--leading-body-lg); }
.body-sm { font-size: var(--type-body-sm); line-height: var(--leading-body-sm); }
.ui-label, .meta-label { font-family: var(--font-ui); text-transform: uppercase; }
.ui-label { font-size: var(--type-ui); font-weight: 600; letter-spacing: var(--tracking-ui); }
.meta-label { font-size: var(--type-meta); font-weight: 500; letter-spacing: var(--tracking-meta); }

.skip-link {
  position: fixed;
  left: max(var(--space-3), env(safe-area-inset-left));
  top: max(var(--space-3), env(safe-area-inset-top));
  transform: translateY(-220%);
  background: var(--color-bone);
  color: var(--color-night);
  padding: var(--space-2) var(--space-3);
  z-index: 1000;
  border-radius: var(--radius-xs);
}
.skip-link:focus { transform: translateY(0); }

:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

@media (pointer: coarse) {
  button, [role="button"] { min-height: var(--tap-target); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

@media (prefers-contrast: more) {
  :root {
    --color-line-dark: rgba(24, 24, 21, .45);
    --color-line-light: rgba(244, 240, 231, .48);
  }
}

@media print {
  html, body { background: #fff; color: #111; }
  .site-header, .site-footer, dialog, [data-no-print] { display: none !important; }
  a { text-decoration: underline; }
  main { display: block; }
}

/* Media system */
.media-caption {
  margin-top: var(--space-2);
  color: var(--color-text-muted-dark);
  font-family: var(--font-ui);
  font-size: var(--type-meta);
  line-height: 1.45;
}

[data-media-status="awaiting-asset"] { background: var(--color-media-fallback); }

html.visual-story-open, html.visual-story-open body { overflow: hidden; }


/* V10 SOURCE: src/components/brand/LocoLifestyleWordmark.astro */

  .wordmark { font-family: var(--font-editorial); font-weight: 700; letter-spacing: -0.03em; line-height: 1; font-size: clamp(1.18rem, 1.8vw, 1.55rem); }


/* V10 SOURCE: src/components/editorial/ChapterFeature.astro */

  .chapter-card { display: grid; gap: var(--space-3); align-content: start; min-width: 0; }
  .chapter-media { aspect-ratio: 4 / 5; overflow: hidden; background: var(--color-media-fallback); }
  .featured .chapter-media { aspect-ratio: 4 / 5; }
  .chapter-media .cinematic-media { height: 100%; transition: var(--media-transition); }
  .chapter-card h3, .chapter-card p { margin: 0; }
  .pending-label { color: var(--color-text-muted-light); margin-top: .15rem; }
  .pending .chapter-media { filter: saturate(.88); }
  @media (hover: hover) and (pointer: fine) {
    .chapter-media:hover .cinematic-media__visual { transform: scale(1.035); }
  }


/* V10 SOURCE: src/components/editorial/ChapterNavigation.astro */

  .chapter-nav {
    background: var(--color-night);
    color: var(--color-text-light);
    border-top: 1px solid var(--color-line-light);
    padding-block: clamp(3.75rem, 6.5vw, 6rem);
  }
  .chapter-nav__inner { display: grid; gap: clamp(2.5rem, 5vw, 4.5rem); }
  .chapter-nav__progress {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-4);
    padding-bottom: var(--space-4);
    border-bottom: 1px solid var(--color-line-light);
  }
  .chapter-nav__count {
    font-family: var(--font-ui);
    font-variant-numeric: tabular-nums;
    font-size: .78rem;
    letter-spacing: .12em;
    color: var(--color-text-muted-light);
  }
  .chapter-nav__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1rem, 2.5vw, 2rem);
  }
  .chapter-nav__slot { min-width: 0; }
  .chapter-nav__card {
    display: grid;
    align-content: start;
    gap: .75rem;
    min-height: clamp(13rem, 20vw, 17rem);
    height: 100%;
    padding: clamp(1.25rem, 2.4vw, 2rem);
    border: 1px solid var(--color-line-light);
    background: rgba(244, 240, 231, .025);
    transition:
      transform var(--duration-medium) var(--ease-standard),
      background var(--duration-medium) var(--ease-standard),
      border-color var(--duration-medium) var(--ease-standard);
  }
  .chapter-nav__card strong {
    max-width: 16ch;
    font-family: var(--font-editorial);
    font-size: clamp(1.65rem, 3vw, 2.75rem);
    line-height: 1;
    letter-spacing: -.03em;
    font-weight: 600;
    text-wrap: balance;
  }
  .chapter-nav__card--next { text-align: right; justify-items: end; }
  .chapter-nav__eyebrow,
  .chapter-nav__chapter,
  .chapter-nav__hook { color: var(--color-text-muted-light); }
  .chapter-nav__chapter {
    font-family: var(--font-ui);
    font-size: .7rem;
    letter-spacing: .1em;
    text-transform: uppercase;
  }
  .chapter-nav__hook {
    max-width: 34rem;
    font-size: 1rem;
    line-height: 1.55;
  }
  .chapter-nav__card--pending { opacity: .54; }
  .chapter-nav__timeline {
    justify-self: center;
    padding-block: .4rem;
    border-bottom: 1px solid rgba(244, 240, 231, .35);
  }

  @media (hover: hover) and (pointer: fine) {
    a.chapter-nav__card:hover {
      transform: translateY(-3px);
      background: rgba(244, 240, 231, .055);
      border-color: rgba(244, 240, 231, .34);
    }
  }

  @media (max-width: 48rem) {
    .chapter-nav__grid { grid-template-columns: 1fr; }
    .chapter-nav__card { min-height: 11.5rem; }
    .chapter-nav__card--next { text-align: left; justify-items: start; }
  }

  @media (max-width: 22rem) {
    .chapter-nav__progress { align-items: flex-start; flex-direction: column; }
  }


/* V10 SOURCE: src/components/editorial/EditorialSplit.astro */

  .split { padding-block: var(--section-y-cinematic); }
  .split--bone { background: var(--color-bone); color: var(--color-text-dark); }
  .split--earth { background: var(--color-sand); color: var(--color-text-dark); }
  .split-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(3rem, 7vw, 8rem); }
  .reverse .split-media { order: 2; }
  .split-media { aspect-ratio: 4 / 5; overflow: hidden; background: var(--color-media-fallback); }
  .split-media .cinematic-media { height: 100%; }
  .split-copy { max-width: 34rem; }
  @media (max-width: 48rem) { .split-grid { grid-template-columns: 1fr; gap: var(--space-6); } .reverse .split-media { order: 0; } }


/* V10 SOURCE: src/components/editorial/WorldBridge.astro */

  .world-bridge {
    width: min(var(--container-content), calc(100% - (var(--page-pad) * 2)));
    margin: clamp(5rem, 10vw, 8.5rem) auto 0;
  }
  .world-bridge__link {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-4) var(--space-7);
    align-items: end;
    min-height: clamp(16rem, 28vw, 22rem);
    padding: clamp(1.75rem, 4vw, 3.5rem);
    color: var(--color-text-light);
    background:
      radial-gradient(circle at 85% 12%, rgba(215,180,106,.18), transparent 28%),
      linear-gradient(135deg, #171714 0%, #0b0b0a 100%);
    border-top: 1px solid rgba(215,180,106,.62);
    border-bottom: 1px solid rgba(244,240,231,.12);
    text-decoration: none;
  }
  .world-bridge__link::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(120deg, transparent 20%, rgba(255,255,255,.035) 50%, transparent 80%);
    transform: translateX(-100%);
    transition: transform 650ms var(--ease-standard);
  }
  .world-bridge__kicker { grid-column: 1 / -1; align-self: start; color: var(--color-accent-gold); }
  .world-bridge__title {
    font-family: var(--font-editorial);
    font-size: clamp(2.5rem, 5.5vw, 5.2rem);
    line-height: .9;
    letter-spacing: -.045em;
    text-wrap: balance;
  }
  .world-bridge__description { max-width: 34rem; margin-top: var(--space-4); color: var(--color-text-muted-light); }
  .world-bridge__action { align-self: end; padding-bottom: .35rem; color: var(--color-accent-gold); white-space: nowrap; }
  @media (hover:hover) and (pointer:fine) {
    .world-bridge__link:hover::before { transform: translateX(100%); }
    .world-bridge__link:hover .world-bridge__action { transform: translateX(.3rem); }
  }
  .world-bridge__action { transition: transform 180ms var(--ease-standard); }
  .world-bridge__link:focus-visible { outline: 2px solid var(--color-accent-gold); outline-offset: 4px; }
  @media (max-width:48rem) {
    .world-bridge { width: 100%; margin-top: 5rem; }
    .world-bridge__link { grid-template-columns: 1fr; min-height: 18rem; padding: 1.75rem var(--page-pad) 2.1rem; }
    .world-bridge__action { justify-self: start; }
  }
  @media (prefers-reduced-motion: reduce) {
    .world-bridge__link::before, .world-bridge__action { transition: none; }
  }


/* V10 SOURCE: src/components/editorial/WorldHero.astro */

  .world-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: clamp(34rem, 68vh, var(--media-world-hero-max-h));
    min-height: clamp(34rem, 68svh, var(--media-world-hero-max-h));
    color: var(--color-text-light);
    background: var(--color-night);
  }
  .world-hero__media,
  .world-hero__ambient,
  .world-hero__portrait,
  .world-hero__shade { position: absolute; inset: 0; }
  .world-hero__media,
  .world-hero__ambient { z-index: -3; }
  .world-hero__portrait { z-index: -2; }
  .world-hero__media .cinematic-media,
  .world-hero__media .picture-frame,
  .world-hero__ambient .cinematic-media,
  .world-hero__ambient .picture-frame,
  .world-hero__portrait .cinematic-media,
  .world-hero__portrait .picture-frame { width: 100%; height: 100%; }
  .world-hero__ambient { filter: blur(24px) saturate(.76) brightness(.56); transform: scale(1.08); opacity: .76; }
  .world-hero__shade {
    z-index: -1;
    background:
      linear-gradient(to top, rgba(10,10,9,.92) 0%, rgba(10,10,9,.18) 56%, rgba(10,10,9,.26) 100%),
      linear-gradient(90deg, rgba(10,10,9,.48), transparent 66%);
  }
  .world-hero__inner {
    min-height: inherit;
    display: flex;
    align-items: flex-end;
    padding-top: calc(var(--header-h) + max(var(--space-5), env(safe-area-inset-top)));
    padding-bottom: clamp(2.75rem, 5.5vw, 4.75rem);
  }
  .world-hero__copy { display: grid; gap: var(--space-4); max-width: 62rem; }
  .world-hero h1 {
    margin: 0;
    font-family: var(--font-editorial);
    font-size: clamp(3rem, 5.4vw, 5.1rem);
    line-height: .86;
    letter-spacing: -.052em;
    text-wrap: balance;
  }
  .world-hero p {
    margin: 0;
    max-width: 42rem;
    font-family: var(--font-ui);
    font-size: clamp(.8rem, 1.15vw, .96rem);
    line-height: 1.45;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--color-text-muted-light);
  }

  .world-hero__motto {
    margin-top: .15rem;
    font-family: var(--font-editorial);
    font-size: clamp(1.55rem, 2.7vw, 2.8rem);
    line-height: .98;
    letter-spacing: -.025em;
  }
  .world-hero--center .world-hero__inner { justify-content: center; text-align: center; }
  .world-hero--center .world-hero__copy { justify-items: center; }

  @media (min-width: 64.001rem) {
    .world-hero--portrait .world-hero__portrait { left: auto; width: min(49vw, 54rem); }
    .world-hero--portrait .world-hero__portrait::before {
      content: '';
      position: absolute;
      inset: 0;
      z-index: -1;
      background: rgba(8,8,7,.24);
    }
    .world-hero--portrait .world-hero__shade {
      background:
        linear-gradient(90deg, rgba(10,10,9,.98) 0%, rgba(10,10,9,.90) 30%, rgba(10,10,9,.44) 56%, rgba(10,10,9,.18) 100%),
        linear-gradient(to top, rgba(10,10,9,.78), transparent 62%);
    }
    .world-hero--portrait .world-hero__copy { max-width: min(44rem, 48vw); }
  }

  @media (max-width: 48rem) {
    .world-hero { min-height: clamp(32rem, 66vh, 42rem); min-height: clamp(32rem, 66svh, 42rem); }
    .world-hero h1 { font-size: clamp(2.55rem, 10.5vw, 3.8rem); line-height: .9; }
    .world-hero__inner { padding-bottom: max(var(--space-7), env(safe-area-inset-bottom)); }
    .world-hero__shade {
      background: linear-gradient(to top, rgba(10,10,9,.91) 0%, rgba(10,10,9,.16) 54%, rgba(10,10,9,.46) 100%);
    }
    .world-hero--portrait .world-hero__portrait { inset: 0; }
  }
  @media (orientation: landscape) and (max-height: 36rem) {
    .world-hero { min-height: 32rem; }
  }
  @media (prefers-reduced-motion: reduce) {
    .world-hero__ambient { filter: brightness(.52); transform: none; }
  }


/* V10 SOURCE: src/components/home/ClosingManifesto.astro */

  .closing { background: var(--color-night); color: var(--color-text-light); padding-block: clamp(6rem, 11vw, 9.5rem); text-align: center; }
  .closing-inner { display: grid; gap: var(--space-5); }
  .closing p { margin: 0; }


/* V10 SOURCE: src/components/home/FaithFeature.astro */

  .faith { background: var(--color-bone); color: var(--color-text-dark); padding-block: var(--section-y-cinematic); }
  .faith-grid { display: grid; grid-template-columns: 1.15fr .75fr; align-items: center; gap: clamp(2.5rem, 6vw, 6.5rem); }
  .faith-media { width: 100%; max-width: var(--media-feature-max-w); justify-self: center; display: grid; grid-template-columns: 1.1fr .72fr; gap: clamp(1rem, 2vw, 2rem); align-items: end; }
  .faith-primary, .faith-secondary { aspect-ratio: 4 / 5; overflow: hidden; }
  .faith-secondary { transform: translateY(var(--space-6)); }
  .faith-primary .cinematic-media, .faith-secondary .cinematic-media { height: 100%; }
  .faith-copy { max-width: 31rem; }
  .faith-copy h2 { margin-block: var(--space-3) var(--space-4); }
  .faith-copy p { margin: 0 0 var(--space-5); }
  @media (max-width: 48rem) {
    .faith-grid { grid-template-columns: 1fr; gap: var(--space-7); }
    .faith-media { grid-template-columns: 1fr .72fr; }
    .faith-secondary { transform: translateY(var(--space-4)); }
  }
  @media (max-width: 36rem) {
    .faith-media { grid-template-columns: 1fr; gap: 0; }
    .faith-secondary { width: 70%; justify-self: end; transform: translateY(-1.75rem); margin-bottom: -1.75rem; }
  }



/* V10 SOURCE: src/components/home/HomeHero.astro */

  .hero { position: relative; min-height: 100vh;
    min-height: 100svh; min-height: 100dvh; background: var(--color-night); color: var(--color-text-light); overflow: hidden; }
  .hero-media { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; }
  .hero-media .cinematic-media,
  .hero-media .picture-frame,
  .hero-media picture,
  .hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
  .hero-media img { object-fit: cover; }
  .hero-overlay { position: absolute; inset: 0; background:
      linear-gradient(90deg, rgba(17,17,15,.72) 0%, rgba(17,17,15,.30) 34%, rgba(17,17,15,.06) 60%, rgba(17,17,15,.26) 100%),
      linear-gradient(to top, rgba(17,17,15,.64), transparent 52%); }
  .hero-content { position: relative; min-height: 100vh;
    min-height: 100svh; min-height: 100dvh; display: flex; align-items: flex-end; padding-top: calc(var(--header-h) + var(--space-4) + env(safe-area-inset-top)); padding-bottom: max(clamp(3.5rem, 7vh, 6rem), env(safe-area-inset-bottom)); }
  .hero-lockup { display: grid; justify-items: start; text-align: left; gap: var(--space-4); max-width: 40rem; }
  .hero h1 { max-width: 8ch; text-shadow: 0 1px 28px rgba(0,0,0,.26); }
  .scroll-cue { margin-top: var(--space-5); opacity: .92; transition: opacity var(--duration-medium) var(--ease-standard), transform var(--duration-medium) var(--ease-standard); }
  .scroll-cue:hover { opacity: 1; transform: translateY(3px); }
  @media (max-width: 48rem) {
    .hero-overlay { background:
      linear-gradient(to bottom, rgba(17,17,15,.62) 0%, rgba(17,17,15,.16) 48%, rgba(17,17,15,.54) 100%); }
    .hero-content { align-items: flex-start; justify-content: center; padding-top: max(calc(var(--header-h) + 8vh + env(safe-area-inset-top)), 7rem); padding-bottom: max(var(--space-7), env(safe-area-inset-bottom)); }
    .hero-lockup { justify-items: center; text-align: center; max-width: 100%; }
    .hero h1 { max-width: 10ch; }
  }
  @media (orientation: landscape) and (max-height: 36rem) {
    .hero, .hero-content { min-height: 36rem; }
    .hero-content { align-items: flex-end; padding-top: calc(var(--header-h) + var(--space-5)); padding-bottom: var(--space-6); }
    .hero h1 { font-size: clamp(2.75rem, 10vh, 4.5rem); }
    .hero-lockup { gap: var(--space-3); }
    .scroll-cue { margin-top: var(--space-3); }
  }


/* V10 SOURCE: src/components/home/HomeManifesto.astro */

  .manifesto-lead { margin-top: var(--space-5); }
  .copy { margin-top: var(--space-5); }
  .copy p { margin: 0; }


/* V10 SOURCE: src/components/home/LocoHikerFeature.astro */

  .hiker { background: var(--color-night); color: var(--color-text-light); overflow: hidden; padding-block: var(--section-y-cinematic); }
  .hiker-main { display: grid; grid-template-columns: minmax(17rem, var(--media-primary-portrait-max-w)) minmax(17rem, 24rem) minmax(17rem, var(--media-primary-portrait-max-w)); justify-content: center; gap: clamp(1.25rem, 2.6vw, 2.5rem); align-items: center; }
  .hiker-media { width: 100%; max-width: var(--media-primary-portrait-max-w); aspect-ratio: 4 / 5; overflow: hidden; background: var(--color-media-fallback); }
  .hiker-media--primary { transform: translateY(-2rem); }
  .hiker-media--secondary { transform: translateY(2rem); }
  .hiker-media .cinematic-media, .sequence-frame .cinematic-media { height: 100%; }
  .hiker-content { display: grid; align-content: center; justify-items: start; gap: var(--space-4); }
  .descriptor { margin: 0; color: var(--color-text-muted-light); }
  .motto { margin: var(--space-3) 0; max-width: 12ch; }
  .domain { margin-top: var(--space-3); opacity: .72; }

  .hiker-sequence { max-width: calc(72rem + (2 * var(--page-pad-wide))); margin-top: clamp(4rem, 7vw, 6.5rem); display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(.75rem, 1.5vw, 1.5rem); align-items: end; }
  .sequence-frame { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--color-media-fallback); }
  .sequence-frame:nth-child(2), .sequence-frame:nth-child(4) { transform: translateY(var(--space-5)); }

  @media (max-width: 62rem) {
    .hiker-main { grid-template-columns: 1fr 1fr; }
    .hiker-content { grid-column: 1 / -1; grid-row: 2; margin-top: var(--space-5); max-width: 44rem; }
    .hiker-media { max-width: none; transform: none; }
    .hiker-sequence { grid-template-columns: repeat(2, 1fr); }
    .sequence-frame:nth-child(2), .sequence-frame:nth-child(4) { transform: none; }
  }
  @media (max-width: 48rem) {
    .hiker { padding-block: var(--section-y-standard); }
    .hiker-main { grid-template-columns: 1fr; }
    .hiker-content { grid-column: auto; grid-row: auto; margin-top: var(--space-3); order: 2; }
    .hiker-media--primary { order: 1; }
    .hiker-media--secondary { order: 3; margin-top: var(--space-4); }
    .hiker-sequence { margin-top: var(--space-6); gap: var(--space-3); }
  }


/* V10 SOURCE: src/components/home/ManBehindLocoFeature.astro */

  .man-wrap { background: var(--color-charcoal); color: var(--color-text-light); padding-block: var(--section-y-cinematic); }
  .man-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: clamp(2.5rem, 6vw, 6.5rem); }
  .man-media { width: 100%; max-width: var(--media-feature-max-w); justify-self: center; display: grid; grid-template-columns: 1.1fr .72fr; gap: clamp(1rem, 2vw, 2rem); align-items: end; }
  .man-primary, .man-secondary { aspect-ratio: 4 / 5; overflow: hidden; }
  .man-secondary { transform: translateY(var(--space-6)); }
  .man-primary .cinematic-media, .man-secondary .cinematic-media { height: 100%; }
  .man-copy { max-width: 34rem; }
  .man-copy h2 { margin-block: var(--space-3) var(--space-4); }
  .man-copy > p { margin: 0 0 var(--space-5); }
  .professional-link { margin-top: var(--space-6) !important; font-family: var(--font-ui); font-size: .82rem; }
  @media (max-width: 48rem) {
    .man-grid { grid-template-columns: 1fr; gap: var(--space-7); }
    .man-media { grid-template-columns: 1fr .72fr; }
    .man-secondary { transform: translateY(var(--space-4)); }
  }
  @media (max-width: 36rem) {
    .man-media { grid-template-columns: 1fr; gap: 0; }
    .man-secondary { width: 70%; justify-self: end; transform: translateY(-1.75rem); margin-bottom: -1.75rem; }
  }



/* V10 SOURCE: src/components/home/OffTrailFeature.astro */

  .off-head { display: grid; grid-template-columns: 1.2fr .8fr; gap: var(--space-7); align-items: end; }
  .off-head p { margin: 0; max-width: 30rem; }
  .mosaic { margin-top: var(--space-8); display: grid; grid-template-columns: 1.22fr .78fr .78fr; grid-template-rows: repeat(2, minmax(15rem, auto)) auto; gap: var(--space-4); }
  .tile { overflow: hidden; background: var(--color-media-fallback); aspect-ratio: 4 / 5; }
  .tile--hero { grid-row: 1 / span 2; align-self: stretch; aspect-ratio: auto; min-height: 34rem; }
  .tile--d { grid-column: 2; }
  .tile--e { grid-column: 3; }
  .tile .cinematic-media { height: 100%; transition: var(--media-transition); }
  #off-trail .mosaic blockquote { grid-column: 2 / 4; margin: var(--space-4) 0 0; font-size: var(--type-heading-md); line-height: 1.2; max-width: 28ch; }
  #off-trail .cta { margin-top: var(--space-7); display: flex; flex-wrap: wrap; gap: var(--space-5); }
  @media (max-width: 60rem) {
    .mosaic { grid-template-columns: repeat(2, 1fr); grid-template-rows: auto; }
    .tile--hero { grid-row: auto; grid-column: 1 / -1; aspect-ratio: 16 / 9; min-height: auto; }
    .tile--d, .tile--e { grid-column: auto; }
    .mosaic blockquote { grid-column: 1 / -1; }
  }
  @media (max-width: 48rem) {
    .off-head { grid-template-columns: 1fr; gap: var(--space-4); }
    .mosaic { gap: var(--space-3); }
    .tile--hero { aspect-ratio: 4 / 5; }
  }


/* V10 SOURCE: src/components/home/RoadFeature.astro */

  .road { background: var(--color-night); color: var(--color-text-light); overflow: hidden; }
  .road-hero { position: relative; min-height: clamp(32rem, 60vh, 44rem); min-height: clamp(32rem, 60svh, 44rem); }
  .road-bg { position: absolute; inset: 0; }
  .road-bg .cinematic-media { height: 100%; }
  .road-overlay { position: absolute; inset: 0; background: var(--media-overlay-bottom); }
  .road-copy { position: relative; min-height: clamp(32rem, 60vh, 44rem); min-height: clamp(32rem, 60svh, 44rem); display: grid; align-content: end; justify-items: start; gap: var(--space-4); padding-block: var(--section-y-cinematic); }
  .road-copy p { max-width: 31rem; margin: 0; }
  .road-sequence { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: clamp(1.25rem, 3vw, 3.75rem); align-items: center; padding-block: var(--section-y-standard); }
  .road-frame { aspect-ratio: 4 / 5; overflow: hidden; max-width: 31rem; }
  .road-frame:first-child { justify-self: end; }
  .road-frame:last-child { justify-self: start; }
  .road-frame .cinematic-media { height: 100%; }
  .road-line { width: 1px; height: 55%; background: var(--color-line-light); }
  @media (max-width: 48rem) {
    .road-hero, .road-copy { min-height: clamp(30rem, 56vh, 40rem); min-height: clamp(30rem, 56svh, 40rem); }
    .road-sequence { grid-template-columns: 1fr 1fr; gap: var(--space-3); }
    .road-line { display: none; }
    .road-frame { max-width: none; }
  }
  @media (max-width: 36rem) {
    .road-sequence { grid-template-columns: 1fr; gap: var(--space-4); }
    .road-frame:first-child { width: 88%; justify-self: start; }
    .road-frame:last-child { width: 88%; justify-self: end; }
  }


/* V10 SOURCE: src/components/home/RootsFeature.astro */

  .roots { background: var(--color-sand); color: var(--color-text-dark); padding-block: var(--section-y-cinematic); }
  .roots-grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(2.5rem, 6vw, 6.5rem); }
  .roots-copy { max-width: 31rem; }
  .roots-copy h2 { margin-block: var(--space-3) var(--space-4); }
  .roots-copy p { margin: 0 0 var(--space-5); }
  .roots-media { width: 100%; max-width: var(--media-feature-max-w); justify-self: center; display: grid; grid-template-columns: .72fr 1.1fr; gap: clamp(1rem, 2vw, 2rem); align-items: start; }
  .roots-primary, .roots-secondary { aspect-ratio: 4 / 5; overflow: hidden; }
  .roots-primary { transform: translateY(var(--space-6)); }
  .roots-primary .cinematic-media, .roots-secondary .cinematic-media { height: 100%; }
  @media (max-width: 48rem) {
    .roots-grid { grid-template-columns: 1fr; gap: var(--space-7); }
    .roots-copy { order: 2; }
    .roots-media { order: 1; grid-template-columns: .72fr 1fr; }
    .roots-primary { transform: translateY(var(--space-4)); }
  }
  @media (max-width: 36rem) {
    .roots-media { grid-template-columns: 1fr; gap: 0; }
    .roots-primary { width: 70%; justify-self: start; transform: translateY(1.75rem); margin-bottom: 1.75rem; z-index: 1; }
  }



/* V10 SOURCE: src/components/home/ShapedMeFeature.astro */

  .section-head { display: grid; grid-template-columns: 1.4fr .8fr; gap: var(--space-7); align-items: end; }
  .section-head h2 { margin-top: var(--space-3); }
  .section-head p { margin: 0; color: var(--color-text-muted-light); }
  .chapter-grid { margin-top: var(--space-8); display: grid; grid-template-columns: 1.35fr .85fr; gap: var(--space-6); }
  .chapter-stack { display: grid; gap: var(--space-8); }
  #what-shaped-me .cta { margin-top: var(--space-8); }
  @media (max-width: 50rem) { .section-head, .chapter-grid { grid-template-columns: 1fr; } .chapter-stack { gap: var(--space-7); } }


/* V10 SOURCE: src/components/media/CinematicMedia.astro */

  .cinematic-media { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; background: var(--color-media-fallback); }
  .cinematic-media .picture-frame { width: 100%; height: 100%; min-height: inherit; }
  .cinematic-media__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--media-focal-desktop); }
  .cinematic-media__visual { position: absolute; inset: 0; display: block; transform: scale(1); transition: transform 420ms var(--ease-standard), filter 420ms var(--ease-standard); }
  .cinematic-media--interactive { color: white; cursor: zoom-in; isolation: isolate; }
  .cinematic-media__story { pointer-events: none; position: absolute; z-index: 2; inset: auto 0 0; display: grid; gap: .35rem; padding: clamp(1rem, 2vw, 1.5rem); color: white; background: linear-gradient(to top, rgba(8,8,7,.88), rgba(8,8,7,.22) 72%, transparent); opacity: 0; transform: translateY(.65rem); transition: opacity 220ms var(--ease-standard), transform 220ms var(--ease-standard); }
  .cinematic-media__story-title { font-family: var(--font-editorial); font-size: clamp(1.25rem, 2vw, 1.8rem); line-height: 1.02; max-width: 16ch; }
  .cinematic-media__story-action { margin-top: .25rem; opacity: .76; }
  .cinematic-media--interactive:focus-visible { outline: 2px solid var(--color-bone); outline-offset: 4px; }
  .cinematic-media--interactive:focus-visible .cinematic-media__story { opacity: 1; transform: translateY(0); }
  .cinematic-media--interactive:focus-visible .cinematic-media__visual { transform: scale(var(--media-hover-scale)); }

  @media (hover: hover) and (pointer: fine) {
    .cinematic-media--interactive:hover .cinematic-media__visual { transform: scale(var(--media-hover-scale)); filter: saturate(1.02) contrast(1.015); }
    .cinematic-media--interactive:hover .cinematic-media__story { opacity: 1; transform: translateY(0); }
  }

  @media (hover: none), (pointer: coarse) {
    .cinematic-media__story {
      inset: auto auto .75rem .75rem;
      width: auto;
      padding: .55rem .7rem;
      border: 1px solid rgba(244,240,231,.18);
      border-radius: 999px;
      background: rgba(17,17,15,.70);
      -webkit-backdrop-filter: blur(8px);
      backdrop-filter: blur(8px);
      opacity: 1;
      transform: none;
    }
    .cinematic-media__story > .meta-label,
    .cinematic-media__story-title { display: none; }
    .cinematic-media__story-action { display: inline; margin: 0; font-size: .66rem; letter-spacing: .08em; opacity: .9; }
  }

  @media (max-width: 48rem) { .cinematic-media__video { object-position: var(--media-focal-mobile); } }
  @media (prefers-reduced-motion: reduce) {
    .cinematic-media__video { display: none; }
    .cinematic-media__visual, .cinematic-media__story { transition: none; }
    .cinematic-media--interactive:hover .cinematic-media__visual, .cinematic-media--interactive:focus-visible .cinematic-media__visual { transform: none; }
  }


/* V10 SOURCE: src/components/media/ResponsivePicture.astro */

  .picture-frame { margin: 0; position: relative; width: 100%; height: 100%; min-width: 0; overflow: hidden; background: var(--color-media-fallback); }
  .picture-frame__picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
  .picture-frame--hero { aspect-ratio: 16 / 9; }
  .picture-frame--portrait { aspect-ratio: 4 / 5; }
  .picture-frame--editorial { aspect-ratio: 3 / 2; }
  .picture-frame--panorama { aspect-ratio: 16 / 9; }
  .picture-frame--square { aspect-ratio: 1; }
  .picture-frame--free { min-height: 100%; }
  .picture-frame img, .picture-frame__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; object-fit: var(--fit); object-position: var(--focal-desktop); }
  .picture-frame__placeholder { width: 100%; height: 100%; min-height: inherit; background:
      radial-gradient(circle at 72% 24%, rgba(215,205,187,.14), transparent 30%),
      linear-gradient(145deg, var(--color-media-fallback-2), var(--color-media-fallback)); }
  @media (max-width: 48rem) {
    .picture-frame img, .picture-frame__image { object-position: var(--focal-mobile); }
    .picture-frame--hero, .picture-frame--panorama { aspect-ratio: 4 / 5; }
  }


/* V10 SOURCE: src/components/media/VisualStoryDialog.astro */

  .visual-story {
    width: min(92vw, 78rem);
    height: min(88vh, 54rem);
    height: min(88dvh, 54rem);
    max-width: none;
    max-height: none;
    margin: auto;
    padding: 0;
    border: 0;
    border-radius: 4px;
    overflow: hidden;
    background: var(--color-night);
    color: var(--color-text-light);
    box-shadow: 0 2rem 7rem rgba(0,0,0,.46);
  }
  .visual-story::backdrop { background: rgba(4,4,3,.78); backdrop-filter: blur(10px); }
  .visual-story__shell { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr); height: 100%; }
  .visual-story__media { position: relative; min-width: 0; min-height: 0; overflow: hidden; background: #090908; }
  .visual-story__ambient { position: absolute; inset: -4%; width: 108%; height: 108%; object-fit: cover; filter: blur(28px) saturate(.82) brightness(.58); transform: scale(1.08); opacity: .72; }
  .visual-story__main-image { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: contain; object-position: center; }
  .visual-story__shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to top, rgba(0,0,0,.40), transparent 38%); }
  .visual-story__position { position: absolute; left: var(--space-4); bottom: var(--space-4); padding: .55rem .7rem; background: rgba(17,17,15,.72); backdrop-filter: blur(8px); }
  .visual-story__copy { min-width: 0; overflow-y: auto; overscroll-behavior: contain; padding: clamp(1.6rem, 3vw, 3.2rem); display: flex; flex-direction: column; }
  .visual-story__topline { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-3); color: var(--color-text-muted-light); }
  .visual-story__privacy { opacity: .72; }
  .visual-story h2 { margin-top: clamp(1.5rem, 4vh, 3rem); max-width: 12ch; }
  .visual-story__caption { margin: var(--space-4) 0 0; color: var(--color-sand); max-width: 32ch; font-style: italic; }
  .visual-story__body { margin-top: var(--space-5); display: grid; gap: var(--space-4); max-width: 36rem; }
  .visual-story__body p { margin: 0; color: var(--color-text-light); }
  .visual-story blockquote { margin: var(--space-6) 0 0; padding-top: var(--space-5); border-top: 1px solid var(--color-line-light); font-family: var(--font-editorial); font-size: clamp(1.35rem, 2vw, 2rem); line-height: 1.22; font-style: italic; color: var(--color-bone); }
  .visual-story__controls { margin-top: auto; padding-top: var(--space-6); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--space-3); font-family: var(--font-ui); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
  .visual-story__controls button, .visual-story__journal-link { min-height: 44px; border: 0; background: none; color: inherit; cursor: pointer; display: inline-flex; align-items: center; }
  .visual-story__controls button:first-child { justify-self: start; }
  .visual-story__controls button:last-child { justify-self: end; }
  .visual-story__journal-link { justify-self: center; color: var(--color-sand); }
  .visual-story__close { position: absolute; z-index: 5; top: max(var(--space-3), env(safe-area-inset-top)); right: max(var(--space-3), env(safe-area-inset-right)); width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.32); background: rgba(17,17,15,.7); color: white; font-size: 1.6rem; line-height: 1; cursor: pointer; backdrop-filter: blur(8px); }
  .visual-story__close:hover { background: rgba(17,17,15,.92); }

  @media (max-width: 62rem) {
    .visual-story { width: 96vw; height: 94vh; height: 94dvh; }
    .visual-story__shell { grid-template-columns: 1fr; grid-template-rows: minmax(42%, 48vh) 1fr;
    grid-template-rows: minmax(42%, 48dvh) 1fr; }
    .visual-story__copy { padding: clamp(1.5rem, 5vw, 3rem); }
    .visual-story h2 { margin-top: var(--space-5); max-width: 15ch; }
  }

  @media (max-width: 40rem) {
    .visual-story { width: 100vw; height: 100vh; height: 100dvh; border-radius: 0; }
    .visual-story__shell { grid-template-rows: 42vh 1fr;
    grid-template-rows: 42dvh 1fr; }
    .visual-story__copy { padding-left: max(1.25rem, env(safe-area-inset-left)); padding-right: max(1.25rem, env(safe-area-inset-right)); padding-bottom: max(1.5rem, env(safe-area-inset-bottom)); }
    .visual-story__privacy { display: none; }
    .visual-story__controls { grid-template-columns: 1fr 1fr; }
    .visual-story__journal-link { grid-column: 1 / -1; grid-row: 1; justify-self: start; }
  }

  @media (prefers-reduced-motion: reduce) {
    .visual-story::backdrop { backdrop-filter: none; }
  }


/* V10 SOURCE: src/components/navigation/DesktopNav.astro */

  .desktop-nav { display: flex; align-items: center; justify-content: center; gap: clamp(.6rem, 1.1vw, 1.2rem); }
  .nav-link { position: relative; min-height: var(--tap-target); display: inline-flex; align-items: center; font-family: var(--font-ui); font-size: .72rem; font-weight: 600; letter-spacing: .075em; text-transform: uppercase; white-space: nowrap; opacity: .78; }
  .nav-link:hover, .nav-link.active { opacity: 1; }
  .nav-link.active::after { content: ''; position: absolute; left: 0; right: 0; bottom: -.55rem; height: 1px; background: currentColor; }
  @media (max-width: 82rem) { .desktop-nav { display: none; } }


/* V10 SOURCE: src/components/navigation/MobileNav.astro */

  .menu-trigger {
    display: none;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    color: inherit;
    min-width: var(--tap-target);
    min-height: var(--tap-target);
    padding: 0 .25rem;
    cursor: pointer;
  }
  .menu-dialog {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: auto;
    overscroll-behavior: contain;
    background: var(--color-night);
    color: var(--color-text-light);
  }
  .menu-dialog::backdrop { background: var(--color-night); }
  .menu-inner {
    min-height: 100vh;
    min-height: 100dvh;
    padding:
      max(1.25rem, env(safe-area-inset-top))
      max(var(--page-pad), env(safe-area-inset-right))
      max(1.5rem, env(safe-area-inset-bottom))
      max(var(--page-pad), env(safe-area-inset-left));
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    gap: clamp(1.35rem, 3.6vh, 2.25rem);
  }
  .menu-close {
    justify-self: end;
    background: none;
    border: 0;
    color: inherit;
    min-width: var(--tap-target);
    min-height: var(--tap-target);
    cursor: pointer;
  }
  .menu-links {
    display: grid;
    align-content: center;
    gap: clamp(.65rem, 1.9vh, .95rem);
    min-width: 0;
  }
  .menu-links a {
    position: relative;
    max-width: 18ch;
    min-height: var(--tap-target);
    display: inline-flex;
    align-items: center;
    width: fit-content;
    font-family: var(--font-editorial);
    font-size: clamp(1.72rem, 6.6vw, 3.05rem);
    line-height: .99;
    letter-spacing: -0.03em;
    text-wrap: balance;
    opacity: .78;
  }
  .menu-links a.active { opacity: 1; }
  .menu-links a.active::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: .15rem;
    height: 1px;
    background: rgba(244,240,231,.62);
  }
  .menu-utils {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1.1rem;
    align-items: center;
  }
  .menu-utils button {
    min-height: var(--tap-target);
    display: inline-flex;
    align-items: center;
    background: none;
    border: 0;
    color: inherit;
    padding: 0;
    cursor: pointer;
  }
  .menu-ecosystem {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem 1rem;
    font-family: var(--font-ui);
    font-size: .76rem;
  }
  .menu-ecosystem a { min-height: 2rem; display: inline-flex; align-items: center; color: var(--color-text-muted-light); }

  @media (max-width: 82rem) { .menu-trigger { display: inline-flex; } }

  @media (orientation: landscape) and (max-height: 36rem) {
    .menu-inner {
      min-height: 100vh;
      min-height: 100dvh;
      grid-template-columns: minmax(0, 1fr) auto;
      grid-template-rows: auto 1fr auto;
      column-gap: 2rem;
      row-gap: .9rem;
    }
    .menu-close { grid-column: 2; grid-row: 1; }
    .menu-links { grid-column: 1; grid-row: 1 / span 2; align-content: start; padding-top: .25rem; }
    .menu-links a { font-size: clamp(1.4rem, 5vh, 2.2rem); }
    .menu-utils { grid-column: 2; grid-row: 2; align-content: start; flex-direction: column; align-items: flex-start; }
    .menu-ecosystem { grid-column: 1 / -1; grid-row: 3; }
  }


/* V10 SOURCE: src/components/navigation/MobileNav.astro */

  html.nav-open { overflow: hidden; }


/* V10 SOURCE: src/components/navigation/SiteFooter.astro */

  .footer { background: var(--color-night); color: var(--color-text-light); padding-block: var(--space-9) max(var(--space-5), env(safe-area-inset-bottom)); }
  .footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: clamp(2.5rem, 5vw, 4rem); }
  .footer-brand { align-self: start; }
  .footer-tagline { margin-top: var(--space-3); color: var(--color-text-muted-light); }
  .footer-byline { margin-top: .65rem; color: var(--color-text-muted-light); font-family: var(--font-ui); font-size: .74rem; }
  .footer-nav { display: grid; align-content: start; gap: .65rem; font-family: var(--font-ui); font-size: .76rem; text-transform: uppercase; letter-spacing: .055em; }
  .footer-nav a { width: fit-content; min-height: 2rem; display: inline-flex; align-items: center; opacity: .78; transition: opacity var(--duration-fast) var(--ease-standard); }
  .footer-nav a:hover { opacity: 1; }
  .footer-bottom { margin-top: var(--space-7); padding-top: var(--space-4); border-top: 1px solid var(--color-line-light); display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); font-family: var(--font-ui); font-size: .71rem; text-transform: uppercase; letter-spacing: .055em; color: var(--color-text-muted-light); }
  .footer-utils { display: inline-flex; align-items: center; flex-wrap: wrap; gap: .55rem; }
  .footer-utils button, .footer-utils a { min-height: 2.25rem; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; display: inline-flex; align-items: center; }
  .footer-utils button:hover, .footer-utils a:hover { color: var(--color-bone); }
  @media (pointer: coarse) { .footer-nav a, .footer-utils button, .footer-utils a { min-height: var(--tap-target); } }
  @media (max-width: 48rem) {
    .footer-grid { grid-template-columns: 1fr; }
    .footer-bottom { flex-direction: column; align-items: flex-start; }
  }


/* V10 SOURCE: src/components/navigation/SiteHeader.astro */

  .site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: var(--z-header);
    color: var(--color-text-light);
    padding-top: env(safe-area-inset-top);
    transition:
      background var(--duration-medium) var(--ease-standard),
      border-color var(--duration-medium) var(--ease-standard),
      box-shadow var(--duration-medium) var(--ease-standard);
    border-bottom: 1px solid transparent;
  }
  .site-header.scrolled,
  .site-header--solid {
    background: var(--header-bg-scrolled);
    -webkit-backdrop-filter: blur(14px) saturate(115%);
    backdrop-filter: blur(14px) saturate(115%);
    border-bottom-color: var(--header-line);
  }
  .header-inner {
    min-height: var(--header-h);
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) minmax(0, auto);
    gap: clamp(.65rem, 1.2vw, 1.15rem);
    align-items: center;
  }
  .brand-lockup {
    display: grid;
    gap: .2rem;
    min-width: 0;
  }
  .brand-sub {
    font-family: var(--font-ui);
    font-size: .61rem;
    text-transform: uppercase;
    letter-spacing: .085em;
    opacity: .72;
    white-space: nowrap;
  }
  .header-actions { display: flex; align-items: center; gap: .4rem; min-width: 0; }

  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .site-header.scrolled,
    .site-header--solid { background: rgba(17, 17, 15, .97); }
  }

  @media (max-width: 22rem) {
    .brand-sub { display: none; }
  }


/* V10 SOURCE: src/components/navigation/UtilityDialogs.astro */

  .utility-dialog {
    margin: auto;
    padding: 0;
    border: 0;
    max-width: none;
    max-height: none;
    background: transparent;
    color: var(--color-text-light);
    overflow: visible;
  }
  .utility-dialog::backdrop {
    background: rgba(3, 4, 3, .82);
    -webkit-backdrop-filter: blur(11px) saturate(.8);
    backdrop-filter: blur(11px) saturate(.8);
  }

  .utility-dialog__panel {
    position: relative;
    width: min(calc(100vw - 2rem), var(--dialog-compact));
    max-height: min(90vh, 50rem);
    max-height: min(90dvh, 50rem);
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid rgba(215, 180, 106, .45);
    border-radius: 1.25rem;
    background: rgba(16, 19, 19, .985);
    box-shadow: 0 2rem 7rem rgba(0, 0, 0, .56);
    padding: clamp(1.5rem, 3.2vw, 2.35rem);
  }
  .utility-dialog__panel--contact {
    width: min(calc(100vw - 2rem), var(--dialog-contact));
    padding: clamp(1.6rem, 2.9vw, 2.45rem);
  }
  .utility-dialog__panel--qr {
    width: min(calc(100vw - 2rem), var(--dialog-qr));
    text-align: center;
  }

  .utility-dialog__header { text-align: center; }
  .utility-dialog__header--contact { margin-bottom: clamp(1.2rem, 2.4vw, 1.8rem); }
  .utility-dialog__kicker {
    margin: 0 0 .55rem;
    color: var(--color-accent-gold);
    font-family: var(--font-ui);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .22em;
    text-transform: uppercase;
  }
  .utility-dialog__header h2 {
    margin: 0;
    font-family: var(--font-ui);
    font-size: clamp(1.68rem, 3.8vw, 2.45rem);
    line-height: .98;
    letter-spacing: -.04em;
    font-weight: 700;
    text-wrap: balance;
  }
  .utility-dialog__header p:not(.utility-dialog__kicker) {
    margin: .7rem 0 0;
    color: var(--color-text-muted-light);
    font-family: var(--font-ui);
    font-size: clamp(.95rem, 1.2vw, 1.08rem);
    line-height: 1.4;
  }

  .utility-dialog__x {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2.75rem;
    height: 2.75rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid rgba(244, 240, 231, .16);
    background: rgba(8, 10, 10, .42);
    color: var(--color-bone);
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
  }

  .contact-form { display: grid; gap: .8rem; }
  .contact-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
  .contact-field { display: grid; gap: .45rem; min-width: 0; }
  .contact-field > span {
    font-family: var(--font-ui);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .18em;
    color: var(--color-bone);
  }
  .contact-field input,
  .contact-field textarea,
  .share-row input {
    width: 100%;
    border: 1px solid rgba(244, 240, 231, .14);
    border-radius: .75rem;
    background: rgba(4, 6, 6, .72);
    color: var(--color-bone);
    outline: 0;
    font-family: var(--font-ui);
    font-size: 1rem;
    transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
  }
  .contact-field input { min-height: var(--control-h); padding: 0 .9rem; }
  .contact-field textarea { min-height: 7rem; padding: .9rem; resize: vertical; }
  .contact-field input:focus,
  .contact-field textarea:focus,
  .share-row input:focus {
    border-color: var(--color-accent-gold);
    box-shadow: 0 0 0 4px rgba(215, 180, 106, .11);
  }

  .contact-submit,
  .share-row button,
  .utility-close-pill,
  .utility-native-share {
    min-height: var(--control-h);
    border-radius: 999px;
    border: 1px solid rgba(215, 180, 106, .58);
    background: rgba(215, 180, 106, .08);
    color: var(--color-accent-gold);
    font-family: var(--font-ui);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
    cursor: pointer;
  }
  .contact-submit { margin-top: .45rem; width: 100%; }
  .contact-submit:disabled { opacity: .62; cursor: wait; }
  .contact-status,
  .share-status {
    min-height: 1.2em;
    margin: 0;
    text-align: center;
    color: var(--color-sand);
    font-family: var(--font-ui);
    font-size: .72rem;
    font-weight: 650;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .share-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem;
    margin-top: 1.35rem;
  }
  .share-row input { min-height: var(--control-h); padding: 0 .95rem; color: var(--color-bone); }
  .share-row button { padding: 0 1.15rem; white-space: nowrap; }

  .utility-dialog__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1.25rem;
  }
  .utility-close-pill,
  .utility-native-share { padding: 0 1.25rem; }
  .utility-close-pill { border-color: rgba(244, 240, 231, .14); color: var(--color-bone); background: transparent; }

  .qr-frame {
    width: min(100%, var(--qr-size));
    aspect-ratio: 1;
    margin: 1.35rem auto 0;
    padding: clamp(.75rem, 2vw, 1rem);
    display: grid;
    place-items: center;
    border-radius: 1rem;
    background: var(--color-bone);
  }
  .qr-frame img { width: 100%; height: 100%; object-fit: contain; }
  .qr-domain {
    margin: 1rem 0 0;
    color: var(--color-accent-gold);
    font-family: var(--font-ui);
    letter-spacing: .045em;
  }

  @media (hover: hover) and (pointer: fine) {
    .contact-submit:hover,
    .share-row button:hover,
    .utility-native-share:hover {
      background: var(--color-accent-gold);
      color: var(--color-night);
    }
    .utility-close-pill:hover,
    .utility-dialog__x:hover { border-color: rgba(244, 240, 231, .42); background: rgba(244, 240, 231, .06); }
  }

  @media (max-width: 42rem) {
    .utility-dialog__panel,
    .utility-dialog__panel--contact,
    .utility-dialog__panel--qr {
      width: min(calc(100vw - 1rem), 100%);
      max-height: min(94vh, 100%);
      max-height: min(94dvh, 100%);
      padding-top: max(1.4rem, env(safe-area-inset-top));
      padding-right: max(1.4rem, env(safe-area-inset-right));
      padding-bottom: max(1.4rem, env(safe-area-inset-bottom));
      padding-left: max(1.4rem, env(safe-area-inset-left));
      border-radius: 1.2rem;
    }
    .utility-dialog__panel--contact { padding-top: 3.7rem; }
    .contact-form__grid { grid-template-columns: 1fr; }
    .share-row { grid-template-columns: 1fr; }
    .share-row button { width: 100%; }
    .utility-dialog__header h2 { font-size: clamp(1.65rem, 8vw, 2.3rem); }
  }

  @media (orientation: landscape) and (max-height: 34rem) {
    .utility-dialog__panel { max-height: 96vh;
    max-height: 96dvh; }
    .utility-dialog__panel--qr { display: grid; grid-template-columns: 1fr minmax(11rem, 16rem); align-items: center; column-gap: 1.5rem; text-align: left; }
    .utility-dialog__panel--qr .utility-dialog__header { text-align: left; }
    .utility-dialog__panel--qr .qr-frame { grid-column: 2; grid-row: 1 / span 3; margin: 0; }
    .utility-dialog__panel--qr .qr-domain { grid-column: 1; }
    .utility-dialog__panel--qr .utility-dialog__actions { grid-column: 1; justify-content: flex-start; }
  }

  @media (prefers-reduced-motion: reduce) {
    .utility-dialog::backdrop { backdrop-filter: none; }
  }


/* V10 SOURCE: src/components/navigation/UtilityDialogs.astro */

  html.utility-dialog-open,
  html.utility-dialog-open body { overflow: hidden; }


/* V10 SOURCE: src/components/navigation/UtilityNav.astro */

  .utility {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--font-ui);
    font-size: .72rem;
    font-weight: 650;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .utility__button {
    min-height: var(--control-h-compact);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 .95rem;
    border: 1px solid rgba(244, 240, 231, .24);
    background: rgba(17, 17, 15, .18);
    color: inherit;
    border-radius: 999px;
    cursor: pointer;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    transition:
      transform var(--duration-fast) var(--ease-standard),
      border-color var(--duration-fast) var(--ease-standard),
      background var(--duration-fast) var(--ease-standard),
      color var(--duration-fast) var(--ease-standard);
  }

  .utility__button--contact {
    border-color: rgba(215, 180, 106, .72);
    background: rgba(215, 180, 106, .12);
    color: var(--color-bone);
  }

  .utility__button--qr {
    width: 3.25rem;
    padding-inline: .65rem;
  }

  @media (hover: hover) and (pointer: fine) {
    .utility__button:hover {
      transform: translateY(-1px);
      border-color: rgba(244, 240, 231, .5);
      background: rgba(244, 240, 231, .08);
    }
    .utility__button--contact:hover {
      border-color: var(--color-accent-gold);
      background: var(--color-accent-gold);
      color: var(--color-night);
    }
  }

  @media (max-width: 48rem) {
    .utility { display: none; }
  }


/* V10 SOURCE: src/components/ui/ButtonPrimary.astro */

  .btn.btn--primary { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding-inline: 20px; border-radius: var(--radius-sm); line-height: 1.1; text-align: center; text-wrap: balance; transition: background var(--duration-medium) var(--ease-standard), color var(--duration-medium) var(--ease-standard), transform var(--duration-medium) var(--ease-standard); }
  .btn--primary { background: var(--color-bone); color: var(--color-night); }
  @media (hover: hover) and (pointer: fine) { .btn--primary:hover { background: var(--color-sand); transform: translateY(-1px); } }


/* V10 SOURCE: src/components/ui/ButtonSecondary.astro */

  .btn.btn--secondary { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding-inline: 20px; border-radius: var(--radius-sm); line-height: 1.1; text-align: center; text-wrap: balance; transition: background var(--duration-medium) var(--ease-standard), color var(--duration-medium) var(--ease-standard); }
  .btn--secondary { border: 1px solid currentColor; background: transparent; }
  @media (hover: hover) and (pointer: fine) {
    .btn--secondary:hover { background: rgba(128,128,128,.08); }
    @supports (background: color-mix(in srgb, white 10%, transparent)) {
      .btn--secondary:hover { background: color-mix(in srgb, currentColor 10%, transparent); }
    }
  }


/* V10 SOURCE: src/components/ui/SectionShell.astro */

  .shell { position: relative; }
  .shell--bone { background: var(--color-bone); color: var(--color-text-dark); }
  .shell--dark { background: var(--color-charcoal); color: var(--color-text-light); }
  .shell--earth { background: var(--color-sand); color: var(--color-text-dark); }
  .shell--image { color: var(--color-text-light); }
  .shell--normal { padding-block: var(--section-y-standard); }
  .shell--large { padding-block: clamp(4.5rem, 7.5vw, 8rem); }
  .shell--cinematic { padding-block: var(--section-y-cinematic); }


/* V10 SOURCE: src/components/ui/TextLink.astro */

  .text-link { display: inline-flex; gap: .7rem; align-items: center; min-height: var(--tap-target); line-height: 1.15; text-wrap: balance; }
  .text-link span:last-child { flex: 0 0 auto; transition: transform var(--duration-fast) var(--ease-standard); }
  @media (hover: hover) and (pointer: fine) { .text-link:hover span:last-child { transform: translateX(4px); } }


/* V10 SOURCE: src/layouts/ChapterLayout.astro */

  .chapter-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    min-height: clamp(30rem, 62vh, 46rem);
    min-height: clamp(30rem, 62svh, 46rem);
    background: var(--color-night);
    color: var(--color-text-light);
  }
  .chapter-hero--media { min-height: clamp(36rem, 70vh, var(--media-chapter-hero-max-h));
  min-height: clamp(36rem, 70svh, var(--media-chapter-hero-max-h)); }
  .chapter-hero__ambient,
  .chapter-hero__media,
  .chapter-hero__overlay { position: absolute; inset: 0; }
  .chapter-hero__ambient { z-index: -3; filter: blur(24px) saturate(.72) brightness(.50); transform: scale(1.08); opacity: .78; }
  .chapter-hero__media { z-index: -2; }
  .chapter-hero__ambient .cinematic-media,
  .chapter-hero__ambient .picture-frame,
  .chapter-hero__media .cinematic-media,
  .chapter-hero__media .picture-frame { width: 100%; height: 100%; }
  .chapter-hero__overlay {
    z-index: -1;
    background:
      linear-gradient(to bottom, rgba(17,17,15,.48) 0%, rgba(17,17,15,.10) 34%, rgba(17,17,15,.20) 55%, rgba(17,17,15,.90) 100%),
      linear-gradient(90deg, rgba(17,17,15,.45), transparent 64%);
  }
  .chapter-hero__inner {
    width: 100%;
    min-height: inherit;
    display: grid;
    grid-template-rows: auto 1fr;
    padding-top: calc(var(--header-h) + max(var(--space-5), env(safe-area-inset-top)));
    padding-bottom: clamp(2.5rem, 5.5vw, 4.5rem);
  }
  .chapter-hero__back {
    justify-self: start;
    align-self: start;
    color: var(--color-text-muted-light);
    padding-block: .35rem;
    border-bottom: 1px solid rgba(244,240,231,.26);
  }
  .chapter-hero__copy {
    align-self: end;
    max-width: min(50rem, 92vw);
  }
  .chapter-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1.1rem;
    color: var(--color-text-muted-light);
  }
  .chapter-hero__meta span + span::before {
    content: '·';
    margin-right: 1.1rem;
    color: rgba(244,240,231,.42);
  }
  .chapter-hero h1 {
    margin-block: var(--space-3) var(--space-5);
    max-width: 13ch;
    text-wrap: balance;
  }
  .chapter-deck {
    margin: 0;
    max-width: 38rem;
    color: var(--color-text-muted-light);
    text-wrap: pretty;
  }

  .chapter-context {
    background: #e7dfd1;
    border-bottom: 1px solid var(--color-line-dark);
  }
  .chapter-context__inner {
    padding-block: clamp(1.35rem, 2.5vw, 2rem);
    display: grid;
    gap: .85rem;
  }
  .chapter-context__item {
    margin: 0;
    display: grid;
    grid-template-columns: minmax(7.5rem, auto) 1fr;
    gap: 1rem;
    align-items: baseline;
    color: var(--color-text-muted-dark);
    font-family: var(--font-ui);
    font-size: .86rem;
    line-height: 1.5;
  }
  .chapter-context__item .meta-label { color: var(--color-text-dark); }

  .chapter-copy {
    padding-block: var(--section-y-standard) var(--section-y-cinematic);
    font-size: var(--type-body);
    line-height: var(--leading-body);
  }
  .chapter-copy p {
    margin: 0 0 1.45em;
    text-wrap: pretty;
  }
  .chapter-copy h2 {
    font-family: var(--font-ui);
    font-size: .82rem;
    line-height: 1.25;
    letter-spacing: .13em;
    text-transform: uppercase;
    margin: clamp(3.75rem, 6.5vw, 5.25rem) 0 1.4rem;
    text-wrap: balance;
  }
  .chapter-copy h3 {
    font-family: var(--font-ui);
    font-size: .78rem;
    line-height: 1.25;
    letter-spacing: .11em;
    text-transform: uppercase;
    margin: 3.5rem 0 1.4rem;
  }
  .chapter-copy blockquote {
    margin: clamp(3rem, 5.5vw, 4.5rem) 0;
    padding: 0;
    border: 0;
    font-family: var(--font-editorial);
    font-size: clamp(1.65rem, 3.4vw, 2.75rem);
    line-height: 1.08;
    letter-spacing: -.025em;
    text-wrap: balance;
  }
  .chapter-copy blockquote p { margin: 0; }
  .chapter-copy strong { font-weight: 650; }
  .chapter-copy a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .18em;
  }

  .chapter-copy .training-ledger {
    width: min(64rem, calc(100vw - 3rem));
    margin: clamp(3.75rem, 7vw, 6rem) 50%;
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    background: var(--color-night);
    color: var(--color-text-light);
    border-block: 1px solid rgba(215,180,106,.38);
  }
  .chapter-copy .training-ledger > div {
    display: grid;
    align-content: start;
    gap: .7rem;
    min-height: 10.5rem;
    padding: clamp(1.25rem, 2.4vw, 2rem);
    border-right: 1px solid rgba(244,240,231,.11);
    border-bottom: 1px solid rgba(244,240,231,.11);
  }
  .chapter-copy .training-ledger > div:nth-child(3n) { border-right: 0; }
  .chapter-copy .training-ledger > div:nth-last-child(-n+3) { border-bottom: 0; }
  .chapter-copy .training-ledger span {
    font-family: var(--font-ui);
    font-size: .68rem;
    line-height: 1.25;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--color-accent-gold);
  }
  .chapter-copy .training-ledger strong {
    font-family: var(--font-editorial);
    font-size: clamp(1.5rem, 2.5vw, 2.35rem);
    line-height: .98;
    letter-spacing: -.03em;
    font-weight: 600;
    text-wrap: balance;
  }
  .chapter-copy .training-ledger small {
    align-self: end;
    font-family: var(--font-ui);
    font-size: .78rem;
    line-height: 1.45;
    color: var(--color-text-muted-light);
  }

  .chapter-hero--major { min-height: clamp(40rem, 82vh, 52rem);
    min-height: clamp(40rem, 82svh, 52rem); }
  .chapter-hero--major.chapter-hero--media { min-height: clamp(42rem, 86vh, var(--media-major-hero-max-h));
    min-height: clamp(42rem, 86svh, var(--media-major-hero-max-h)); }
  .chapter-hero--major .chapter-hero__overlay {
    background:
      linear-gradient(to bottom, rgba(8,8,8,.78) 0%, rgba(8,8,8,.18) 32%, rgba(8,8,8,.34) 56%, rgba(8,8,8,.96) 100%),
      linear-gradient(90deg, rgba(8,8,8,.78) 0%, rgba(8,8,8,.38) 42%, transparent 78%);
  }
  .chapter-hero__impact-year {
    position: absolute;
    z-index: -1;
    right: clamp(-.04em, 1vw, .18em);
    bottom: -.08em;
    font-family: var(--font-ui);
    font-size: clamp(3.6rem, 6.8vw, 5.2rem);
    font-weight: 700;
    line-height: .72;
    letter-spacing: -.08em;
    color: rgba(240,236,226,.052);
    pointer-events: none;
    user-select: none;
    white-space: nowrap;
  }
  .chapter-hero--major h1 {
    max-width: 10ch;
    font-size: clamp(2.9rem, 5.6vw, 5rem);
    line-height: .88;
    letter-spacing: -.055em;
  }
  .chapter-hero--major .chapter-deck {
    max-width: 46rem;
    font-size: clamp(1.18rem, 1.7vw, 1.52rem);
    line-height: 1.5;
  }
  .chapter-context--major {
    background: var(--color-charcoal);
    color: var(--color-text-light);
    border-color: rgba(240,236,226,.14);
  }
  .chapter-context--major .chapter-context__item,
  .chapter-context--major .chapter-context__item .meta-label { color: var(--color-text-muted-light); }
  .chapter-copy--major {
    font-size: clamp(1.08rem, 1.1vw, 1.22rem);
    line-height: 1.78;
  }
  .chapter-copy--major h2 {
    margin-top: clamp(4rem, 7.5vw, 6rem);
  }
  .chapter-copy--major blockquote {
    position: relative;
    width: min(66rem, calc(100vw - 3rem));
    margin: clamp(4rem, 7.5vw, 6rem) 50%;
    transform: translateX(-50%);
    padding: clamp(2.4rem, 5vw, 4rem);
    background: var(--color-night);
    color: var(--color-text-light);
    border-block: 1px solid rgba(240,236,226,.15);
    font-size: clamp(1.85rem, 3.7vw, 3.3rem);
    line-height: .98;
  }
  .chapter-copy--major .chapter-impact {
    width: min(70rem, calc(100vw - 3rem));
    margin: clamp(4rem, 8vw, 6.5rem) 50%;
    transform: translateX(-50%);
    padding: clamp(2.5rem, 5.5vw, 4.5rem);
    background:
      radial-gradient(circle at 82% 24%, rgba(215,180,106,.14), transparent 30%),
      linear-gradient(135deg, #11110f, #1b1b18);
    color: var(--color-text-light);
    border: 1px solid rgba(215,180,106,.28);
  }
  .chapter-copy--major .chapter-impact span {
    display: block;
    font-family: var(--font-ui);
    font-size: clamp(3rem, 7vw, 5.15rem);
    font-weight: 700;
    line-height: .78;
    letter-spacing: -.07em;
    color: rgba(215,180,106,.9);
  }
  .chapter-copy--major .chapter-impact strong {
    display: block;
    max-width: 15ch;
    margin-top: clamp(1.5rem, 3.5vw, 2.75rem);
    font-family: var(--font-editorial);
    font-size: clamp(1.8rem, 4vw, 3.45rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.035em;
    text-wrap: balance;
  }
  .chapter-copy--major .chapter-impact p {
    max-width: 38rem;
    margin: 2rem 0 0;
    color: var(--color-text-muted-light);
    font-family: var(--font-editorial);
    font-size: clamp(1.05rem, 1.4vw, 1.25rem);
    line-height: 1.6;
  }

  .chapter-hero--winter .chapter-hero__media {
    filter: saturate(.68) contrast(1.06) brightness(.84) hue-rotate(8deg);
  }
  .chapter-hero--winter .chapter-hero__overlay {
    background:
      linear-gradient(to bottom, rgba(5,12,18,.84) 0%, rgba(8,17,24,.22) 30%, rgba(7,14,20,.44) 58%, rgba(6,10,14,.97) 100%),
      linear-gradient(90deg, rgba(7,14,20,.86) 0%, rgba(7,14,20,.48) 44%, rgba(7,14,20,.08) 78%);
  }
  .chapter-hero--winter .chapter-hero__impact-year {
    color: rgba(190,212,223,.105);
    letter-spacing: -.065em;
  }
  .chapter-context--winter {
    background: #111a20;
    border-color: rgba(190,212,223,.2);
  }
  .chapter-context--winter .chapter-context__item,
  .chapter-context--winter .chapter-context__item .meta-label { color: #c6d4da; }
  .chapter-copy--winter blockquote {
    background:
      radial-gradient(circle at 84% 16%, rgba(190,212,223,.12), transparent 30%),
      linear-gradient(145deg, #0b1217, #131c22);
    border-color: rgba(190,212,223,.28);
  }
  .chapter-copy--winter .chapter-impact--winter {
    background:
      radial-gradient(circle at 86% 18%, rgba(190,212,223,.16), transparent 32%),
      linear-gradient(135deg, #0a1116, #17232b);
    border-color: rgba(190,212,223,.34);
  }
  .chapter-copy--winter .chapter-impact--winter span { color: #bed4df; }
  .chapter-copy .privacy-vow {
    width: min(64rem, calc(100vw - 3rem));
    margin: clamp(3.75rem, 7vw, 6rem) 50%;
    transform: translateX(-50%);
    padding: clamp(2rem, 4.5vw, 3.75rem);
    text-align: center;
    background: linear-gradient(180deg, #f1eee7, #e5e0d7);
    border-block: 1px solid rgba(17,17,15,.16);
  }
  .chapter-copy .privacy-vow span {
    display: block;
    font-family: var(--font-ui);
    font-size: .7rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--color-text-muted-dark);
  }
  .chapter-copy .privacy-vow strong {
    display: block;
    margin-top: .8rem;
    font-family: var(--font-editorial);
    font-size: clamp(1.8rem, 4vw, 3.4rem);
    line-height: .98;
    letter-spacing: -.04em;
  }
  .chapter-copy .privacy-vow p {
    max-width: 38rem;
    margin: 1.5rem auto 0;
    color: var(--color-text-muted-dark);
  }
  .chapter-copy .fall-ledger {
    width: min(70rem, calc(100vw - 3rem));
    margin: clamp(3.75rem, 7vw, 6rem) 50%;
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: #0b1217;
    color: var(--color-text-light);
    border-block: 1px solid rgba(190,212,223,.34);
  }
  .chapter-copy .fall-ledger > div {
    display: grid;
    align-content: start;
    gap: .8rem;
    min-height: 10.5rem;
    padding: clamp(1.25rem, 2.4vw, 2rem);
    border-right: 1px solid rgba(190,212,223,.13);
  }
  .chapter-copy .fall-ledger > div:last-child { border-right: 0; }
  .chapter-copy .fall-ledger span {
    font-family: var(--font-ui);
    font-size: .68rem;
    line-height: 1.25;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: #bed4df;
  }
  .chapter-copy .fall-ledger strong {
    font-family: var(--font-editorial);
    font-size: clamp(1.35rem, 2.2vw, 2.1rem);
    line-height: 1;
    letter-spacing: -.03em;
    font-weight: 600;
    text-wrap: balance;
  }
  .chapter-copy .fall-ledger small {
    align-self: end;
    font-family: var(--font-ui);
    font-size: .78rem;
    line-height: 1.45;
    color: #9eafb8;
  }


  .chapter-hero--recovery .chapter-hero__media {
    filter: saturate(.78) contrast(1.03) brightness(.88) sepia(.04);
  }
  .chapter-hero--recovery .chapter-hero__overlay {
    background:
      linear-gradient(to bottom, rgba(18,15,12,.68) 0%, rgba(18,15,12,.10) 30%, rgba(24,20,15,.32) 58%, rgba(17,15,12,.95) 100%),
      linear-gradient(90deg, rgba(20,17,13,.72) 0%, rgba(20,17,13,.34) 44%, rgba(20,17,13,.05) 78%);
  }
  .chapter-context--recovery {
    background: #e7dfd2;
    border-color: rgba(109,81,58,.18);
  }
  .chapter-context--recovery .chapter-context__item { color: #6f665b; }
  .chapter-context--recovery .chapter-context__item .meta-label { color: #3a3027; }
  .chapter-copy--recovery h2 { color: #5e4938; }
  .chapter-copy--recovery blockquote {
    color: #30271f;
  }
  .chapter-copy .recovery-ledger {
    width: min(70rem, calc(100vw - 3rem));
    margin: clamp(3.75rem, 7vw, 6rem) 50%;
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: linear-gradient(145deg, #1b1814, #292218);
    color: var(--color-text-light);
    border-block: 1px solid rgba(215,180,106,.34);
  }
  .chapter-copy .recovery-ledger > div {
    display: grid;
    align-content: start;
    gap: .8rem;
    min-height: 10.5rem;
    padding: clamp(1.25rem, 2.4vw, 2rem);
    border-right: 1px solid rgba(240,236,226,.12);
  }
  .chapter-copy .recovery-ledger > div:last-child { border-right: 0; }
  .chapter-copy .recovery-ledger span {
    font-family: var(--font-ui);
    font-size: .68rem;
    line-height: 1.25;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--color-accent-gold);
  }
  .chapter-copy .recovery-ledger strong {
    font-family: var(--font-editorial);
    font-size: clamp(1.4rem, 2.35vw, 2.25rem);
    line-height: 1;
    letter-spacing: -.03em;
    font-weight: 600;
    text-wrap: balance;
  }
  .chapter-copy .recovery-ledger small {
    align-self: end;
    font-family: var(--font-ui);
    font-size: .78rem;
    line-height: 1.45;
    color: #c8bfb0;
  }
  .chapter-copy .recovery-interlude {
    width: min(64rem, calc(100vw - 3rem));
    margin: clamp(4rem, 7.5vw, 6rem) 50%;
    transform: translateX(-50%);
    padding: clamp(2.4rem, 5vw, 4rem);
    background:
      radial-gradient(circle at 85% 18%, rgba(215,180,106,.18), transparent 32%),
      linear-gradient(135deg, #f0ece2, #ddd2c1);
    border-block: 1px solid rgba(109,81,58,.2);
    color: #2b241e;
  }
  .chapter-copy .recovery-interlude span {
    display: block;
    font-family: var(--font-ui);
    font-size: .7rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #6d513a;
  }
  .chapter-copy .recovery-interlude strong {
    display: block;
    margin-top: .8rem;
    font-family: var(--font-editorial);
    font-size: clamp(2.05rem, 4.7vw, 4.15rem);
    line-height: .92;
    letter-spacing: -.045em;
    font-weight: 600;
    text-wrap: balance;
  }
  .chapter-copy .recovery-interlude p {
    max-width: 38rem;
    margin: 1.75rem 0 0;
    color: #65594d;
    font-size: clamp(1.05rem, 1.6vw, 1.3rem);
    line-height: 1.6;
  }


  .chapter-hero--identity .chapter-hero__media {
    filter: saturate(.9) contrast(1.04) brightness(.88);
  }
  .chapter-hero--identity .chapter-hero__overlay {
    background:
      linear-gradient(to bottom, rgba(13,12,9,.58) 0%, rgba(18,15,10,.08) 30%, rgba(24,18,10,.28) 58%, rgba(13,11,8,.95) 100%),
      linear-gradient(90deg, rgba(15,12,8,.74) 0%, rgba(20,15,9,.34) 44%, rgba(20,15,9,.04) 78%);
  }
  .chapter-context--identity {
    background: #17140f;
    border-color: rgba(215,180,106,.22);
  }
  .chapter-context--identity .chapter-context__item { color: #cfc4b1; }
  .chapter-context--identity .chapter-context__item .meta-label { color: #d7b46a; }
  .chapter-copy--identity h2 { color: #6d513a; }
  .chapter-copy--identity blockquote { color: #2c251e; }
  .chapter-copy .identity-ledger {
    width: min(70rem, calc(100vw - 3rem));
    margin: clamp(3.75rem, 7vw, 6rem) 50%;
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: linear-gradient(145deg, #12110e, #211a11);
    color: var(--color-text-light);
    border-block: 1px solid rgba(215,180,106,.38);
  }
  .chapter-copy .identity-ledger > div {
    display: grid;
    align-content: start;
    gap: .8rem;
    min-height: 10.5rem;
    padding: clamp(1.25rem, 2.4vw, 2rem);
    border-right: 1px solid rgba(240,236,226,.11);
  }
  .chapter-copy .identity-ledger > div:last-child { border-right: 0; }
  .chapter-copy .identity-ledger span {
    font-family: var(--font-ui);
    font-size: .68rem;
    line-height: 1.25;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--color-accent-gold);
  }
  .chapter-copy .identity-ledger strong {
    font-family: var(--font-editorial);
    font-size: clamp(1.35rem, 2.25vw, 2.15rem);
    line-height: .98;
    letter-spacing: -.03em;
    font-weight: 600;
    text-wrap: balance;
  }
  .chapter-copy .identity-ledger small {
    align-self: end;
    font-family: var(--font-ui);
    font-size: .78rem;
    line-height: 1.45;
    color: #c8bda9;
  }
  .chapter-copy .identity-mark {
    width: min(64rem, calc(100vw - 3rem));
    margin: clamp(4rem, 7.5vw, 6rem) 50%;
    transform: translateX(-50%);
    padding: clamp(2.4rem, 5vw, 4rem);
    background:
      radial-gradient(circle at 78% 20%, rgba(215,180,106,.18), transparent 30%),
      linear-gradient(135deg, #11110f, #20180f);
    color: var(--color-text-light);
    border: 1px solid rgba(215,180,106,.3);
    text-align: center;
  }
  .chapter-copy .identity-mark span,
  .chapter-copy .identity-mark strong {
    display: block;
    font-family: var(--font-editorial);
    line-height: .78;
    letter-spacing: -.06em;
  }
  .chapter-copy .identity-mark span {
    font-size: clamp(2.9rem, 6.8vw, 5.05rem);
    color: #f0ece2;
  }
  .chapter-copy .identity-mark strong {
    margin-top: .12em;
    font-size: clamp(2.5rem, 6.5vw, 4.75rem);
    color: #d7b46a;
    font-weight: 600;
  }
  .chapter-copy .identity-mark p {
    margin: clamp(2rem, 5vw, 4rem) 0 0;
    font-family: var(--font-ui);
    font-size: clamp(.82rem, 1.4vw, 1.05rem);
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #c9c0b0;
  }


  @media (max-width: 64rem) {
    .chapter-copy .recovery-ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .chapter-copy .recovery-ledger > div { border-bottom: 1px solid rgba(240,236,226,.12); }
    .chapter-copy .recovery-ledger > div:nth-child(2n) { border-right: 0; }
    .chapter-copy .recovery-ledger > div:nth-last-child(-n+2) { border-bottom: 0; }
    .chapter-copy .identity-ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .chapter-copy .identity-ledger > div { border-bottom: 1px solid rgba(240,236,226,.11); }
    .chapter-copy .identity-ledger > div:nth-child(2n) { border-right: 0; }
    .chapter-copy .identity-ledger > div:nth-last-child(-n+2) { border-bottom: 0; }
    .chapter-copy .fall-ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .chapter-copy .fall-ledger > div { border-bottom: 1px solid rgba(190,212,223,.13); }
    .chapter-copy .fall-ledger > div:nth-child(2n) { border-right: 0; }
    .chapter-copy .fall-ledger > div:nth-last-child(-n+2) { border-bottom: 0; }
  }
  @media (max-width: 34rem) {
    .chapter-copy .recovery-ledger { width: 100vw; grid-template-columns: 1fr; }
    .chapter-copy .recovery-ledger > div,
    .chapter-copy .recovery-ledger > div:nth-child(2n),
    .chapter-copy .recovery-ledger > div:nth-last-child(-n+2) {
      min-height: 10rem;
      border-right: 0;
      border-bottom: 1px solid rgba(240,236,226,.12);
    }
    .chapter-copy .recovery-ledger > div:last-child { border-bottom: 0; }
    .chapter-copy .recovery-interlude { width: 100vw; padding-inline: 1.5rem; }
    .chapter-copy .identity-ledger { width: 100vw; grid-template-columns: 1fr; }
    .chapter-copy .identity-ledger > div,
    .chapter-copy .identity-ledger > div:nth-child(2n),
    .chapter-copy .identity-ledger > div:nth-last-child(-n+2) {
      min-height: 10rem;
      border-right: 0;
      border-bottom: 1px solid rgba(240,236,226,.11);
    }
    .chapter-copy .identity-ledger > div:last-child { border-bottom: 0; }
    .chapter-copy .identity-mark { width: 100vw; padding-inline: 1.5rem; }
    .chapter-copy .fall-ledger { width: 100vw; grid-template-columns: 1fr; }
    .chapter-copy .fall-ledger > div,
    .chapter-copy .fall-ledger > div:nth-child(2n),
    .chapter-copy .fall-ledger > div:nth-last-child(-n+2) {
      min-height: 10rem;
      border-right: 0;
      border-bottom: 1px solid rgba(190,212,223,.13);
    }
    .chapter-copy .fall-ledger > div:last-child { border-bottom: 0; }
    .chapter-copy .privacy-vow { width: 100vw; }
  }

  @media (max-width: 56rem) {
    .chapter-copy .training-ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .chapter-copy .training-ledger > div,
    .chapter-copy .training-ledger > div:nth-child(3n),
    .chapter-copy .training-ledger > div:nth-last-child(-n+3) {
      border-right: 1px solid rgba(244,240,231,.11);
      border-bottom: 1px solid rgba(244,240,231,.11);
    }
    .chapter-copy .training-ledger > div:nth-child(2n) { border-right: 0; }
    .chapter-copy .training-ledger > div:nth-last-child(-n+2) { border-bottom: 0; }
  }
  @media (max-width: 34rem) {
    .chapter-copy .training-ledger {
      width: 100vw;
      grid-template-columns: 1fr;
    }
    .chapter-copy .training-ledger > div,
    .chapter-copy .training-ledger > div:nth-child(2n),
    .chapter-copy .training-ledger > div:nth-child(3n),
    .chapter-copy .training-ledger > div:nth-last-child(-n+2),
    .chapter-copy .training-ledger > div:nth-last-child(-n+3) {
      min-height: 9.5rem;
      border-right: 0;
      border-bottom: 1px solid rgba(244,240,231,.11);
    }
    .chapter-copy .training-ledger > div:last-child { border-bottom: 0; }
  }

  @media (min-width: 64.001rem) {
    .chapter-hero--portrait .chapter-hero__media {
      left: auto;
      width: min(48vw, 52rem);
    }
    .chapter-hero--portrait .chapter-hero__overlay {
      background:
        linear-gradient(90deg, rgba(17,17,15,1) 0%, rgba(17,17,15,.92) 34%, rgba(17,17,15,.48) 58%, rgba(17,17,15,.28) 100%),
        linear-gradient(to top, rgba(17,17,15,.70), transparent 60%);
    }
    .chapter-hero--portrait .chapter-hero__copy { max-width: min(46rem, 50vw); }
    .chapter-hero--major.chapter-hero--portrait .chapter-hero__overlay {
      background:
        linear-gradient(90deg, rgba(8,8,8,1) 0%, rgba(8,8,8,.96) 31%, rgba(8,8,8,.62) 55%, rgba(8,8,8,.30) 100%),
        linear-gradient(to top, rgba(8,8,8,.88), rgba(8,8,8,.08) 66%);
    }
    .chapter-hero--winter.chapter-hero--portrait .chapter-hero__overlay {
      background:
        linear-gradient(90deg, rgba(5,11,16,1) 0%, rgba(5,11,16,.97) 31%, rgba(8,17,24,.68) 56%, rgba(8,17,24,.30) 100%),
        linear-gradient(to top, rgba(5,11,16,.92), rgba(5,11,16,.08) 66%);
    }
    .chapter-hero--recovery.chapter-hero--portrait .chapter-hero__overlay {
      background:
        linear-gradient(90deg, rgba(20,17,13,1) 0%, rgba(20,17,13,.96) 31%, rgba(38,31,22,.62) 56%, rgba(38,31,22,.24) 100%),
        linear-gradient(to top, rgba(20,17,13,.90), rgba(20,17,13,.05) 66%);
    }
    .chapter-hero--identity.chapter-hero--portrait .chapter-hero__overlay {
      background:
        linear-gradient(90deg, rgba(15,12,8,1) 0%, rgba(15,12,8,.96) 31%, rgba(33,24,12,.60) 56%, rgba(33,24,12,.22) 100%),
        linear-gradient(to top, rgba(15,12,8,.90), rgba(15,12,8,.04) 66%);
    }
  }

  @media (max-width: 48rem) {
    .chapter-hero--major,
    .chapter-hero--major.chapter-hero--media { min-height: clamp(40rem, 82vh, 48rem);
    min-height: clamp(40rem, 82svh, 48rem); }
    .chapter-hero--major .chapter-hero__overlay {
      background: linear-gradient(to bottom, rgba(8,8,8,.62), rgba(8,8,8,.16) 28%, rgba(8,8,8,.48) 60%, rgba(8,8,8,.97) 100%);
    }
    .chapter-hero--winter .chapter-hero__overlay {
      background: linear-gradient(to bottom, rgba(5,11,16,.68), rgba(8,17,24,.18) 28%, rgba(8,17,24,.54) 60%, rgba(5,11,16,.98) 100%);
    }
    .chapter-hero--recovery .chapter-hero__overlay {
      background: linear-gradient(to bottom, rgba(20,17,13,.62), rgba(38,31,22,.10) 28%, rgba(38,31,22,.44) 60%, rgba(20,17,13,.97) 100%);
    }
    .chapter-hero--identity .chapter-hero__overlay {
      background: linear-gradient(to bottom, rgba(15,12,8,.60), rgba(33,24,12,.08) 28%, rgba(33,24,12,.40) 60%, rgba(15,12,8,.97) 100%);
    }
    .chapter-hero__impact-year { right: -.06em; bottom: .04em; font-size: clamp(3.4rem, 17vw, 5.1rem); }
    .chapter-copy--major blockquote,
    .chapter-copy--major .chapter-impact { width: calc(100vw - 2rem); }
    .chapter-copy--major blockquote { padding: 2.75rem 1.5rem; }
    .chapter-copy--major .chapter-impact { padding: 3rem 1.5rem; }
  }

  @media (max-width: 48rem) {
    .chapter-hero,
    .chapter-hero--media { min-height: clamp(34rem, 66vh, 42rem);
    min-height: clamp(34rem, 66svh, 42rem); }
    .chapter-hero__inner {
      padding-top: calc(var(--header-h) + max(var(--space-4), env(safe-area-inset-top)));
      padding-bottom: max(var(--space-7), env(safe-area-inset-bottom));
    }
    .chapter-hero__overlay {
      background: linear-gradient(to bottom, rgba(17,17,15,.48), rgba(17,17,15,.10) 30%, rgba(17,17,15,.36) 56%, rgba(17,17,15,.94) 100%);
    }
    .chapter-hero--identity .chapter-hero__overlay {
      background: linear-gradient(to bottom, rgba(15,12,8,.60), rgba(33,24,12,.08) 30%, rgba(33,24,12,.40) 56%, rgba(15,12,8,.97) 100%);
    }
    .chapter-hero__meta { display: grid; gap: .35rem; }
    .chapter-hero__meta span + span::before { content: none; }
    .chapter-context__item { grid-template-columns: 1fr; gap: .3rem; }
    .chapter-copy h2 { margin-top: 4.25rem; }
  }

  @media (max-width: 22rem) {
    .chapter-hero,
    .chapter-hero--media { min-height: 36rem; }
    .chapter-hero h1 { font-size: clamp(2.1rem, 11vw, 3rem); }
  }

  @media (orientation: landscape) and (max-height: 36rem) {
    .chapter-hero,
    .chapter-hero--media { min-height: 36rem; }
    .chapter-hero__inner { padding-bottom: var(--space-6); }
  }

  @media (prefers-reduced-motion: reduce) {
    .chapter-hero__ambient { filter: brightness(.48); transform: none; }
  }


/* V10 SOURCE: src/layouts/FaithStoryLayout.astro */

  .faith-story-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    min-height: clamp(36rem, 76vh, 50rem);
    min-height: clamp(36rem, 76svh, 50rem);
    background: var(--color-night);
    color: var(--color-text-light);
  }
  .faith-story-hero__ambient,
  .faith-story-hero__media,
  .faith-story-hero__overlay { position: absolute; inset: 0; }
  .faith-story-hero__ambient { z-index: -3; filter: blur(26px) saturate(.72) brightness(.48); transform: scale(1.08); opacity: .82; }
  .faith-story-hero__media { z-index: -2; }
  .faith-story-hero__ambient .cinematic-media,
  .faith-story-hero__ambient .picture-frame,
  .faith-story-hero__media .cinematic-media,
  .faith-story-hero__media .picture-frame { width: 100%; height: 100%; }
  .faith-story-hero__overlay {
    z-index: -1;
    background:
      linear-gradient(to bottom, rgba(10,10,9,.58) 0%, rgba(10,10,9,.16) 34%, rgba(10,10,9,.26) 57%, rgba(10,10,9,.94) 100%),
      linear-gradient(90deg, rgba(10,10,9,.60), transparent 70%);
  }
  .faith-story-hero__inner {
    width: 100%;
    min-height: inherit;
    display: grid;
    grid-template-rows: auto 1fr;
    padding-top: calc(var(--header-h) + max(var(--space-5), env(safe-area-inset-top)));
    padding-bottom: clamp(2.75rem, 5.5vw, 4.75rem);
  }
  .faith-story-hero__back {
    justify-self: start;
    color: var(--color-text-muted-light);
    padding-block: .35rem;
    border-bottom: 1px solid rgba(244,240,231,.28);
  }
  .faith-story-hero__copy { align-self: end; max-width: 50rem; }
  .faith-story-hero__meta { display: flex; flex-wrap: wrap; gap: .6rem 1rem; color: var(--color-text-muted-light); }
  .faith-story-hero__meta span + span::before { content: '·'; margin-right: 1rem; color: rgba(244,240,231,.42); }
  .faith-story-hero h1 { margin: var(--space-3) 0 var(--space-5); max-width: 13ch; text-wrap: balance; }
  .faith-story-hero p { margin: 0; max-width: 41rem; color: var(--color-text-muted-light); text-wrap: pretty; }

  .faith-story-context { background: #e7dfd1; border-bottom: 1px solid var(--color-line-dark); }
  .faith-story-context__inner { padding-block: clamp(1.35rem, 2.5vw, 2rem); display: grid; gap: .9rem; }
  .faith-story-context__item {
    margin: 0;
    display: grid;
    grid-template-columns: minmax(8rem, auto) 1fr;
    gap: 1rem;
    align-items: baseline;
    color: var(--color-text-muted-dark);
    font-family: var(--font-ui);
    font-size: .86rem;
    line-height: 1.55;
  }
  .faith-story-context__item .meta-label { color: var(--color-text-dark); }

  .faith-story-copy {
    padding-block: var(--section-y-standard) var(--section-y-cinematic);
    font-size: var(--type-body);
    line-height: var(--leading-body);
  }
  .faith-story-copy p { margin: 0 0 1.5em; text-wrap: pretty; }
  .faith-story-copy h2 {
    font-family: var(--font-ui);
    font-size: .82rem;
    line-height: 1.25;
    letter-spacing: .13em;
    text-transform: uppercase;
    margin: clamp(4rem, 7vw, 5.5rem) 0 1.45rem;
    text-wrap: balance;
  }
  .faith-story-copy blockquote {
    margin: clamp(3.2rem, 6vw, 5rem) 0;
    padding: 0;
    border: 0;
    font-family: var(--font-editorial);
    font-size: clamp(1.7rem, 3.4vw, 2.8rem);
    line-height: 1.06;
    letter-spacing: -.03em;
    text-wrap: balance;
  }
  .faith-story-copy blockquote p { margin: 0; }
  .faith-story-copy .faith-path {
    width: min(64rem, calc(100vw - 3rem));
    margin: clamp(4rem, 7vw, 6rem) 50%;
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    background: var(--color-night);
    color: var(--color-text-light);
    border-block: 1px solid rgba(215,180,106,.36);
  }
  .faith-story-copy .faith-path > div {
    min-width: 0;
    min-height: 10rem;
    padding: clamp(1.15rem, 2.2vw, 1.8rem);
    border-right: 1px solid rgba(244,240,231,.11);
    display: grid;
    align-content: start;
    gap: .65rem;
  }
  .faith-story-copy .faith-path > div:last-child { border-right: 0; }
  .faith-story-copy .faith-path span {
    font-family: var(--font-ui);
    font-size: .67rem;
    line-height: 1.25;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--color-accent-gold);
  }
  .faith-story-copy .faith-path strong {
    font-family: var(--font-editorial);
    font-size: clamp(1.3rem, 2.2vw, 2rem);
    line-height: 1;
    font-weight: 600;
    text-wrap: balance;
  }
  .faith-story-copy .faith-path small {
    font-family: var(--font-ui);
    font-size: .76rem;
    line-height: 1.45;
    color: var(--color-text-muted-light);
  }

  .faith-story-return { padding-block: clamp(4.5rem, 8vw, 7rem); background: var(--color-charcoal); color: var(--color-text-light); }
  .faith-story-return h2 { margin: var(--space-4) 0 var(--space-6); max-width: 14ch; }
  .faith-story-return a { display: inline-block; color: var(--color-bone); font-family: var(--font-ui); font-size: .78rem; font-weight: 650; letter-spacing: .09em; text-transform: uppercase; border-bottom: 1px solid rgba(240,236,226,.38); padding-bottom: .3rem; }

  @media (max-width: 64rem) {
    .faith-story-copy .faith-path { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .faith-story-copy .faith-path > div { border-bottom: 1px solid rgba(244,240,231,.11); }
    .faith-story-copy .faith-path > div:nth-child(2n) { border-right: 0; }
    .faith-story-copy .faith-path > div:last-child { grid-column: 1 / -1; border-bottom: 0; }
  }
  @media (max-width: 40rem) {
    .faith-story-hero { min-height: clamp(36rem, 74vh, 42rem); min-height: clamp(36rem, 74svh, 42rem); }
    .faith-story-hero__meta { gap: .45rem .7rem; }
    .faith-story-hero__meta span + span::before { margin-right: .7rem; }
    .faith-story-context__item { grid-template-columns: 1fr; gap: .35rem; }
    .faith-story-copy .faith-path { width: min(100%, calc(100vw - 2.5rem)); grid-template-columns: 1fr; }
    .faith-story-copy .faith-path > div,
    .faith-story-copy .faith-path > div:nth-child(2n) { border-right: 0; border-bottom: 1px solid rgba(244,240,231,.11); }
    .faith-story-copy .faith-path > div:last-child { grid-column: auto; border-bottom: 0; }
  }


/* V10 SOURCE: src/pages/404.astro */
.not-found{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:var(--page-pad);background:var(--color-night);color:var(--color-text-light);text-align:center}.not-found>div{display:grid;gap:var(--space-5);max-width:42rem}.not-found p{margin:0}

/* V10 SOURCE: src/pages/contact/index.astro */

  .contact-page { padding-block: calc(var(--header-h) + var(--space-8)) var(--section-y-cinematic); background: var(--color-bone); }
  .contact-page__grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(3rem, 7vw, 7rem); align-items: start; }
  .contact-page__intro { position: sticky; top: calc(var(--header-h) + var(--space-5)); }
  .contact-page__intro .meta-label { color: var(--color-earth); }
  .contact-page__intro h1 { margin: var(--space-3) 0 var(--space-5); }
  .contact-page__intro .body-xl { max-width: 28ch; }
  .contact-page__note { max-width: 32rem; color: var(--color-text-muted-dark); }

  .contact-page__form { display: grid; gap: .9rem; padding: clamp(1.4rem, 2.8vw, 2.2rem); border: 1px solid var(--color-line-dark); background: #e8e0d4; }
  .contact-page__row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; }
  .contact-page__form label { display: grid; gap: .45rem; }
  .contact-page__form label > span { font-family: var(--font-ui); font-size: .74rem; font-weight: 700; letter-spacing: .14em; }
  .contact-page__form input,
  .contact-page__form textarea { width: 100%; border: 1px solid rgba(24,24,21,.18); border-radius: .35rem; background: var(--color-bone); color: var(--color-text-dark); font-family: var(--font-ui); font-size: 1rem; outline: 0; transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard); }
  .contact-page__form input { min-height: var(--control-h); padding: 0 .85rem; }
  .contact-page__form textarea { min-height: 8rem; padding: .85rem; resize: vertical; }
  .contact-page__form input:focus,
  .contact-page__form textarea:focus { border-color: var(--color-earth); box-shadow: 0 0 0 4px rgba(109,81,58,.10); }
  .contact-page__form button { min-height: var(--control-h); margin-top: .25rem; border: 1px solid var(--color-earth); background: var(--color-earth); color: var(--color-bone); border-radius: var(--radius-sm); cursor: pointer; }
  .contact-page__success { display: none; margin: 0; padding: .85rem 1rem; border: 1px solid rgba(109,81,58,.35); background: rgba(109,81,58,.08); color: var(--color-earth); font-family: var(--font-ui); font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; scroll-margin-top: calc(var(--header-h) + var(--space-4)); }
  .contact-page__success:target { display: block; }

  @media (max-width: 54rem) {
    .contact-page__grid { grid-template-columns: 1fr; }
    .contact-page__intro { position: static; }
  }
  @media (max-width: 36rem) {
    .contact-page__row { grid-template-columns: 1fr; }
  }


/* V10 SOURCE: src/pages/faith/index.astro */

  .faith-intro { padding-block: var(--section-y-cinematic); background: var(--color-bone); }
  .faith-intro h2 { margin: var(--space-4) 0 var(--space-6); max-width: 13ch; }
  .faith-intro p { color: var(--color-text-muted-dark); }

  .faith-pair { padding-block: var(--section-y-cinematic); background: var(--color-night); color: var(--color-text-light); }
  .faith-pair__grid { display: grid; grid-template-columns: 1.05fr .78fr .66fr; gap: clamp(1.25rem, 3vw, 3rem); align-items: center; }
  .faith-frame { margin: 0; aspect-ratio: 4/5; overflow: hidden; background: var(--color-media-fallback); }
  .faith-frame .cinematic-media { height: 100%; }
  .faith-frame--secondary { align-self: end; transform: translateY(var(--space-6)); }
  .faith-pair__copy { max-width: 28rem; }
  .faith-pair__copy h2 { margin: var(--space-4) 0 var(--space-5); }
  .faith-pair__copy p { margin: 0; color: var(--color-text-muted-light); }

  .faith-featured-story { padding-block: var(--section-y-cinematic); background: #d9cfbf; }
  .faith-featured-story__grid { display: grid; grid-template-columns: .9fr .72fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
  .faith-featured-story__copy { max-width: 36rem; }
  .faith-featured-story__copy h2 { margin: var(--space-4) 0 var(--space-5); max-width: 12ch; }
  .faith-featured-story__copy p { color: var(--color-text-muted-dark); }
  .faith-featured-story__link { display: inline-block; margin-top: var(--space-4); color: var(--color-text-dark); font-family: var(--font-ui); font-size: .78rem; font-weight: 650; letter-spacing: .09em; text-transform: uppercase; border-bottom: 1px solid rgba(24,24,21,.35); padding-bottom: .3rem; }
  .faith-featured-story__media { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--color-media-fallback); }
  .faith-featured-story__media .cinematic-media { height: 100%; }

  .faith-principles { padding-block: var(--section-y-cinematic); background: #e8e0d4; }
  .faith-principles__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(3rem, 7vw, 7rem); }
  .faith-principles h2 { margin: var(--space-4) 0 0; max-width: 13ch; }
  .faith-principles__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--color-line-dark); border-left: 1px solid var(--color-line-dark); }
  .faith-principles article { min-height: 12rem; padding: clamp(1.25rem, 2.6vw, 2rem); border-right: 1px solid var(--color-line-dark); border-bottom: 1px solid var(--color-line-dark); }
  .faith-principles h3 { margin: var(--space-4) 0 var(--space-3); font-family: var(--font-editorial); font-size: var(--type-heading-md); line-height: 1; }
  .faith-principles article p { margin: 0; color: var(--color-text-muted-dark); }

  .faith-chapters { padding-block: var(--section-y-cinematic); background: var(--color-bone); }
  .faith-chapters h2 { margin: var(--space-4) 0 var(--space-7); max-width: 16ch; }
  .faith-chapter { display: grid; gap: .55rem; padding: clamp(1.35rem, 2.5vw, 2rem) 0; border-top: 1px solid var(--color-line-dark); }
  .faith-chapter:last-child { border-bottom: 1px solid var(--color-line-dark); }
  .faith-chapter strong { font-family: var(--font-editorial); font-size: clamp(1.55rem, 2.7vw, 2.4rem); line-height: 1; font-weight: 600; }
  .faith-chapter > span:last-child { color: var(--color-earth); font-family: var(--font-ui); font-size: .8rem; font-weight: 600; letter-spacing: .05em; }

  .faith-close { padding-block: clamp(5rem, 9vw, 8rem); background: var(--color-night); color: var(--color-text-light); text-align: center; }
  .faith-close p { margin: var(--space-5) auto 0; max-width: 15ch; font-family: var(--font-editorial); font-size: clamp(2.3rem, 4.8vw, 4.55rem); line-height: .92; letter-spacing: -.045em; text-wrap: balance; }

  @media (max-width: 60rem) {
    .faith-pair__grid { grid-template-columns: 1fr 1fr; }
    .faith-pair__copy { grid-column: 1 / -1; grid-row: 1; max-width: 40rem; }
    .faith-frame--secondary { transform: none; }
    .faith-featured-story__grid { grid-template-columns: 1fr 1fr; }
    .faith-principles__grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 40rem) {
    .faith-pair__grid { grid-template-columns: 1fr; }
    .faith-featured-story__grid { grid-template-columns: 1fr; }
    .faith-featured-story__media { width: min(86%, 24rem); }
    .faith-frame--secondary { width: 76%; justify-self: end; }
    .faith-principles__list { grid-template-columns: 1fr; }
    .faith-principles article { min-height: 0; }
  }


/* V10 SOURCE: src/pages/loco-hiker/index.astro */

  .lh-intro { padding-block:var(--section-y-cinematic); background:var(--color-bone); }
  .lh-intro h2 { margin:var(--space-4) 0 var(--space-6); max-width:13ch; }
  .lh-intro p { color:var(--color-text-muted-dark); }
  .chapter-link { margin-top:clamp(3rem,6vw,5rem); display:grid; gap:.55rem; padding:clamp(1.5rem,3vw,2.5rem) 0; border-top:1px solid var(--color-line-dark); border-bottom:1px solid var(--color-line-dark); color:inherit; text-decoration:none; }
  .chapter-link__title { font-family:var(--font-editorial); font-size:clamp(1.65rem,3.2vw,2.7rem); line-height:1; }
  .chapter-link__action { color:var(--color-earth); margin-top:.4rem; }
  .chapter-link + .chapter-link { margin-top:0; border-top:0; }
  .chapter-link--identity .chapter-link__action { color:#9a713c; }

  .lh-gallery { padding-block:var(--section-y-cinematic); background:var(--color-night); color:var(--color-text-light); }
  .lh-section-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-6); align-items:end; margin-bottom:clamp(3rem,6vw,5rem); }
  .lh-section-heading h2 { margin:var(--space-3) 0 0; max-width:12ch; }
  .lh-journal-link { color:var(--color-accent,#d7b46a); padding-bottom:.35rem; }
  .lh-gallery__grid { display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(.8rem,1.5vw,1.5rem); align-items:start; }
  .lh-frame { margin:0; aspect-ratio:4/5; overflow:hidden; background:var(--color-media-fallback); }
  .lh-frame .cinematic-media { height:100%; }
  .lh-frame--1 { grid-column:1/6; }
  .lh-frame--2 { grid-column:7/11; margin-top:12%; }
  .lh-frame--3 { grid-column:2/5; }
  .lh-frame--4 { grid-column:5/9; margin-top:12%; }
  .lh-frame--5 { grid-column:9/13; }
  .lh-frame--6 { grid-column:3/8; margin-top:8%; }

  .lh-practice { padding-block:var(--section-y-cinematic); background:#e6ddd0; color:var(--color-text-dark); }
  .lh-practice__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:clamp(3rem,8vw,8rem); }
  .lh-practice__intro h2 { margin:var(--space-4) 0 0; max-width:11ch; }
  .lh-practice__copy p { margin-top:0; color:var(--color-text-muted-dark); }
  .lh-facts { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(17,17,15,.22); border-bottom:1px solid rgba(17,17,15,.22); }
  .lh-facts article { padding:clamp(1.5rem,3vw,2.5rem); display:grid; gap:.5rem; border-right:1px solid rgba(17,17,15,.16); }
  .lh-facts article:last-child { border-right:0; }
  .lh-facts strong { font-family:var(--font-editorial); font-size:clamp(1.65rem,2.5vw,2.55rem); line-height:.95; }
  .lh-facts span { font-family:var(--font-ui); font-size:.82rem; line-height:1.45; color:var(--color-text-muted-dark); }

  .lh-truth { padding-block:var(--section-y-cinematic); background:var(--color-bone); }
  .lh-truth blockquote { margin:var(--space-5) 0 var(--space-7); font-family:var(--font-editorial); font-size:clamp(2.4rem,5.5vw,4.95rem); line-height:.9; letter-spacing:-.045em; }
  .lh-truth p { color:var(--color-text-muted-dark); }

  .lh-close { padding-block:clamp(5.5rem,10vw,9rem); background:var(--color-night); color:var(--color-text-light); text-align:center; }
  .lh-close__inner { display:grid; justify-items:center; gap:var(--space-5); }
  .lh-close__line { margin:0; font-family:var(--font-editorial); font-size:clamp(2.45rem,5.5vw,5.05rem); line-height:.88; letter-spacing:-.05em; max-width:14ch; text-wrap:balance; }
  .lh-close__motto { margin:var(--space-4) 0; font-family:var(--font-editorial); font-size:clamp(1.75rem,3.2vw,2.9rem); color:var(--color-accent,#d7b46a); }
  .lh-close__link { color:var(--color-text-muted-light); }

  @media (max-width:64rem) {
    .lh-practice__grid { grid-template-columns:1fr; }
    .lh-facts { grid-column:auto; grid-template-columns:repeat(2,1fr); }
    .lh-facts article:nth-child(2) { border-right:0; }
    .lh-facts article:nth-child(-n+2) { border-bottom:1px solid rgba(17,17,15,.16); }
    .lh-gallery__grid { grid-template-columns:repeat(2,1fr); }
    .lh-frame, .lh-frame--1,.lh-frame--2,.lh-frame--3,.lh-frame--4,.lh-frame--5,.lh-frame--6 { grid-column:auto; margin-top:0; }
    .lh-frame:nth-child(even) { margin-top:var(--space-6); }
  }
  @media (max-width:48rem) {
    .lh-section-heading { grid-template-columns:1fr; gap:var(--space-4); }
    .lh-gallery__grid { gap:var(--space-3); }
    .lh-frame:nth-child(even) { margin-top:var(--space-4); }
    .lh-facts { grid-template-columns:1fr; }
    .lh-facts article { border-right:0; border-bottom:1px solid rgba(17,17,15,.16); }
    .lh-facts article:last-child { border-bottom:0; }
  }
  @media (max-width:30rem) {
    .lh-gallery__grid { grid-template-columns:1fr; }
    .lh-frame:nth-child(even) { margin-top:0; }
  }


/* V10 SOURCE: src/pages/off-trail/index.astro */

  .off-intro { padding-block: var(--section-y-cinematic); background: var(--color-bone); }
  .off-intro h2 { margin: var(--space-4) 0 var(--space-6); max-width: 14ch; }
  .off-intro p { color: var(--color-text-muted-dark); }

  .off-journal { padding-block: var(--section-y-cinematic); background: var(--color-night); color: var(--color-text-light); }
  .off-journal__grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: clamp(.8rem,1.5vw,1.45rem); align-items: start; }
  .off-frame { margin: 0; aspect-ratio: 4/5; overflow: hidden; background: var(--color-media-fallback); }
  .off-frame .cinematic-media { height: 100%; }
  .off-frame--a { grid-column: 1/6; grid-row: 1/span 2; }
  .off-frame--b { grid-column: 7/10; }
  .off-frame--c { grid-column: 10/13; margin-top: 18%; }
  .off-frame--d { grid-column: 7/11; }
  .off-frame--e { grid-column: 2/5; margin-top: var(--space-6); }
  .off-journal__copy { grid-column: 6/12; margin-top: var(--space-8); max-width: 40rem; }
  .off-journal__copy h2 { margin: var(--space-4) 0 var(--space-5); }
  .off-journal__copy p { color: var(--color-text-muted-light); }
  .off-journal__link { display: inline-block; margin-top: var(--space-5); color: var(--color-accent-gold); border-bottom: 1px solid rgba(215,180,106,.45); padding-bottom: .3rem; }

  .off-principles { padding-block: var(--section-y-cinematic); background: #e8e0d4; }
  .off-principles__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(3rem,7vw,7rem); }
  .off-principles h2 { margin: var(--space-4) 0 0; max-width: 13ch; }
  .off-principles__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--color-line-dark); border-left: 1px solid var(--color-line-dark); }
  .off-principles article { min-height: 12rem; padding: clamp(1.25rem,2.6vw,2rem); border-right: 1px solid var(--color-line-dark); border-bottom: 1px solid var(--color-line-dark); }
  .off-principles h3 { margin: var(--space-4) 0 var(--space-3); font-family: var(--font-editorial); font-size: var(--type-heading-md); line-height: 1; }
  .off-principles article p { margin: 0; color: var(--color-text-muted-dark); }

  .off-close { padding-block: clamp(5rem,9vw,8rem); background: var(--color-charcoal); color: var(--color-text-light); text-align: center; }
  .off-close p { margin: var(--space-5) auto 0; max-width: 13ch; font-family: var(--font-editorial); font-size: clamp(2.3rem,4.8vw,4.55rem); line-height: .92; letter-spacing: -.045em; }

  @media (max-width: 62rem) {
    .off-journal__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .off-frame--a,.off-frame--b,.off-frame--c,.off-frame--d,.off-frame--e,.off-journal__copy { grid-column: auto; grid-row: auto; margin-top: 0; }
    .off-frame--a { grid-column: 1/-1; aspect-ratio: 16/9; }
    .off-journal__copy { grid-column: 1/-1; margin-top: var(--space-6); }
    .off-principles__grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 40rem) {
    .off-journal__grid { grid-template-columns: 1fr; gap: var(--space-4); }
    .off-frame--a { grid-column: auto; aspect-ratio: 4/5; }
    .off-frame--e { width: 76%; justify-self: end; }
    .off-principles__list { grid-template-columns: 1fr; }
    .off-principles article { min-height: 0; }
  }


/* V10 SOURCE: src/pages/privacy/index.astro */

  .legal { padding-block: calc(var(--header-h) + var(--space-8)) var(--section-y-cinematic); }
  .legal h1 { margin: var(--space-3) 0 var(--space-3); }
  .legal-updated { margin: 0 0 var(--space-8); color: var(--color-text-muted-dark); }
  .legal h2 { margin: var(--space-8) 0 var(--space-3); font-family: var(--font-ui); font-size: .78rem; line-height: 1.35; letter-spacing: .12em; text-transform: uppercase; }
  .legal p { color: var(--color-text-muted-dark); }
  .legal a { color: var(--color-earth); text-decoration: underline; text-underline-offset: .18em; }


/* V10 SOURCE: src/pages/roots/index.astro */

  .roots-intro { padding-block: var(--section-y-cinematic); background: var(--color-bone); }
  .roots-intro h2 { margin: var(--space-4) 0 var(--space-6); max-width: 14ch; }
  .roots-intro p { color: var(--color-text-muted-dark); }

  .roots-gallery { padding-block: var(--section-y-cinematic); background: var(--color-sand); }
  .roots-gallery__grid { display: grid; grid-template-columns: .78fr 1.05fr .9fr; gap: clamp(1.25rem, 3vw, 3rem); align-items: center; }
  .roots-frame { margin: 0; aspect-ratio: 4/5; overflow: hidden; background: var(--color-media-fallback); }
  .roots-frame .cinematic-media { height: 100%; }
  .roots-frame--a { transform: translateY(var(--space-5)); }
  .roots-gallery__copy { max-width: 30rem; }
  .roots-gallery__copy h2 { margin: var(--space-4) 0 var(--space-5); }
  .roots-gallery__copy p { margin: 0; color: var(--color-text-muted-dark); }

  .roots-territories { padding-block: var(--section-y-cinematic); background: var(--color-charcoal); color: var(--color-text-light); }
  .roots-territories__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(3rem, 7vw, 7rem); }
  .roots-territories h2 { margin: var(--space-4) 0 0; max-width: 13ch; }
  .roots-territories__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--color-line-light); border-left: 1px solid var(--color-line-light); }
  .roots-territories article { min-height: 12rem; padding: clamp(1.25rem, 2.6vw, 2rem); border-right: 1px solid var(--color-line-light); border-bottom: 1px solid var(--color-line-light); }
  .roots-territories h3 { margin: var(--space-4) 0 var(--space-3); font-family: var(--font-editorial); font-size: var(--type-heading-md); line-height: 1; }
  .roots-territories article p { margin: 0; color: var(--color-text-muted-light); }

  .roots-name { padding-block: var(--section-y-cinematic); background: #e8e0d4; }
  .roots-name h2 { margin: var(--space-4) 0 var(--space-5); }
  .roots-name p { color: var(--color-text-muted-dark); }
  .roots-name__status { display: inline-block; margin-top: var(--space-4); color: var(--color-earth); border-bottom: 1px solid var(--color-earth); padding-bottom: .25rem; }

  .roots-close { padding-block: clamp(5rem,9vw,8rem); background: var(--color-night); color: var(--color-text-light); text-align: center; }
  .roots-close p { margin: var(--space-5) auto 0; max-width: 16ch; font-family: var(--font-editorial); font-size: clamp(2.3rem,4.7vw,4.5rem); line-height: .92; letter-spacing: -.045em; }

  @media (max-width: 60rem) {
    .roots-gallery__grid { grid-template-columns: 1fr 1fr; }
    .roots-gallery__copy { grid-column: 1/-1; grid-row: 1; max-width: 40rem; }
    .roots-frame--a { transform: none; }
    .roots-territories__grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 40rem) {
    .roots-gallery__grid { grid-template-columns: 1fr; }
    .roots-frame--b { width: 76%; justify-self: end; }
    .roots-territories__list { grid-template-columns: 1fr; }
    .roots-territories article { min-height: 0; }
  }


/* V10 SOURCE: src/pages/terms/index.astro */

  .legal { padding-block: calc(var(--header-h) + var(--space-8)) var(--section-y-cinematic); }
  .legal h1 { margin: var(--space-3) 0 var(--space-3); }
  .legal-updated { margin: 0 0 var(--space-8); color: var(--color-text-muted-dark); }
  .legal h2 { margin: var(--space-8) 0 var(--space-3); font-family: var(--font-ui); font-size: .78rem; line-height: 1.35; letter-spacing: .12em; text-transform: uppercase; }
  .legal p { color: var(--color-text-muted-dark); }
  .legal a { color: var(--color-earth); text-decoration: underline; text-underline-offset: .18em; }


/* V10 SOURCE: src/pages/the-man-behind-loco/index.astro */

  .man-intro { padding-block: var(--section-y-cinematic); background: var(--color-bone); }
  .man-intro h2 { margin: var(--space-4) 0 var(--space-6); max-width: 14ch; }
  .man-intro p { color: var(--color-text-muted-dark); }

  .man-pair { padding-block: var(--section-y-cinematic); background: var(--color-charcoal); color: var(--color-text-light); }
  .man-pair__grid { display: grid; grid-template-columns: 1fr .82fr .68fr; gap: clamp(1.25rem,3vw,3rem); align-items: center; }
  .man-frame { margin: 0; aspect-ratio: 4/5; overflow: hidden; background: var(--color-media-fallback); }
  .man-frame .cinematic-media { height: 100%; }
  .man-frame--b { transform: translateY(var(--space-6)); }
  .man-pair__copy { max-width: 30rem; }
  .man-pair__copy h2 { margin: var(--space-4) 0 var(--space-5); }
  .man-pair__copy p { color: var(--color-text-muted-light); }
  .man-pair__link { display: inline-block; margin-top: var(--space-5); color: var(--color-accent-gold); border-bottom: 1px solid rgba(215,180,106,.45); padding-bottom: .3rem; }

  .man-values { padding-block: var(--section-y-cinematic); background: #e8e0d4; }
  .man-values__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(3rem,7vw,7rem); }
  .man-values h2 { margin: var(--space-4) 0 0; max-width: 13ch; }
  .man-values__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--color-line-dark); border-left: 1px solid var(--color-line-dark); }
  .man-values article { min-height: 12rem; padding: clamp(1.25rem,2.6vw,2rem); border-right: 1px solid var(--color-line-dark); border-bottom: 1px solid var(--color-line-dark); }
  .man-values h3 { margin: var(--space-4) 0 var(--space-3); font-family: var(--font-editorial); font-size: var(--type-heading-md); line-height: 1; }
  .man-values article p { margin: 0; color: var(--color-text-muted-dark); }

  .man-worlds { padding-block: var(--section-y-cinematic); background: var(--color-bone); }
  .man-worlds h2 { margin: var(--space-4) 0 var(--space-5); max-width: 16ch; }
  .man-worlds p { color: var(--color-text-muted-dark); }
  .man-worlds__links { display: flex; flex-wrap: wrap; gap: var(--space-5); margin-top: var(--space-6); }
  .man-worlds__links a { border-bottom: 1px solid var(--color-line-dark); padding-bottom: .3rem; }

  .man-close { padding-block: clamp(5rem,9vw,8rem); background: var(--color-night); color: var(--color-text-light); text-align: center; }
  .man-close p { margin: var(--space-5) auto 0; max-width: 16ch; font-family: var(--font-editorial); font-size: clamp(2.3rem,4.7vw,4.5rem); line-height: .92; letter-spacing: -.045em; }

  @media (max-width: 60rem) {
    .man-pair__grid { grid-template-columns: 1fr 1fr; }
    .man-pair__copy { grid-column: 1/-1; grid-row: 1; max-width: 40rem; }
    .man-frame--b { transform: none; }
    .man-values__grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 40rem) {
    .man-pair__grid { grid-template-columns: 1fr; }
    .man-frame--b { width: 76%; justify-self: end; }
    .man-values__list { grid-template-columns: 1fr; }
    .man-values article { min-height: 0; }
    .man-worlds__links { flex-direction: column; align-items: flex-start; }
  }


/* V10 SOURCE: src/pages/the-road/index.astro */

  .road-world-intro { padding-block:var(--section-y-cinematic); background:var(--color-bone); }
  .road-world-intro h2 { margin:var(--space-4) 0 var(--space-6); max-width:14ch; }
  .road-world-intro p { color:var(--color-text-muted-dark); }
  .road-chapter-link { margin-top:clamp(3.5rem,7vw,5.5rem); display:grid; gap:.55rem; padding:clamp(1.5rem,3vw,2.5rem) 0; border-top:1px solid var(--color-line-dark); border-bottom:1px solid var(--color-line-dark); color:inherit; text-decoration:none; }
  .road-chapter-link__title { font-family:var(--font-editorial); font-size:clamp(1.7rem,3.2vw,2.8rem); line-height:.98; }
  .road-chapter-link__copy { color:var(--color-text-muted-dark); }
  .road-chapter-link__action { color:var(--color-earth); margin-top:.35rem; }

  .road-world-gallery { padding-block:var(--section-y-cinematic); background:var(--color-night); color:var(--color-text-light); }
  .road-world-gallery__heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-6); align-items:end; margin-bottom:clamp(3rem,6vw,5rem); }
  .road-world-gallery__heading h2 { margin:var(--space-3) 0 0; max-width:13ch; }
  .road-journal-link { color:var(--color-accent,#d7b46a); padding-bottom:.35rem; }
  .road-world-gallery__grid { display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(1rem,2vw,2rem); align-items:start; }
  .road-world-frame { margin:0; aspect-ratio:4/5; overflow:hidden; background:var(--color-media-fallback); }
  .road-world-frame .cinematic-media { height:100%; }
  .road-world-frame--wide { grid-column:1/7; }
  .road-world-frame:not(.road-world-frame--wide):not(.road-world-frame--offset) { grid-column:8/12; margin-top:16%; }
  .road-world-frame--offset { grid-column:5/10; margin-top:3%; }

  .road-world-principle { padding-block:var(--section-y-cinematic); background:#e7dfd1; }
  .road-world-principle__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:clamp(3rem,8vw,8rem); }
  .road-world-principle h2 { margin:var(--space-4) 0 0; max-width:13ch; }
  .road-world-principle__copy p { margin-top:0; color:var(--color-text-muted-dark); }

  .road-world-close { padding-block:clamp(5.5rem,10vw,9rem); background:var(--color-night); color:var(--color-text-light); text-align:center; }
  .road-world-close__inner { display:grid; justify-items:center; gap:var(--space-5); }
  .road-world-close__line { margin:0; font-family:var(--font-editorial); font-size:clamp(2.45rem,5.5vw,5.05rem); line-height:.88; letter-spacing:-.05em; max-width:15ch; text-wrap:balance; }
  .road-world-close__link { color:var(--color-text-muted-light); }

  @media (max-width:64rem) {
    .road-world-gallery__grid { grid-template-columns:repeat(2,1fr); }
    .road-world-frame--wide,.road-world-frame:not(.road-world-frame--wide):not(.road-world-frame--offset),.road-world-frame--offset { grid-column:auto; margin-top:0; }
    .road-world-frame--wide { grid-column:1/-1; aspect-ratio:16/9; }
    .road-world-frame--offset { margin-top:var(--space-6); }
    .road-world-principle__grid { grid-template-columns:1fr; }
  }
  @media (max-width:48rem) {
    .road-world-gallery__heading { grid-template-columns:1fr; gap:var(--space-4); }
    .road-world-gallery__grid { gap:var(--space-3); }
  }
  @media (max-width:30rem) {
    .road-world-gallery__grid { grid-template-columns:1fr; }
    .road-world-frame--wide { grid-column:auto; aspect-ratio:4/5; }
    .road-world-frame--offset { margin-top:0; }
  }


/* V10 SOURCE: src/pages/visual-journal/index.astro */

  .journal-page { background: var(--color-bone); color: var(--color-text-dark); }
  .journal-hero { padding-top: calc(var(--header-h) + clamp(4rem, 7vw, 6rem)); padding-bottom: clamp(3rem, 6vw, 5rem); }
  .journal-hero h1 { margin-top: var(--space-3); max-width: 12ch; }
  .journal-hero .body-xl { max-width: 36rem; margin: var(--space-5) 0 0; }
  .journal-note { margin-top: var(--space-6); color: var(--color-text-muted-dark); }
  .journal-grid { padding-bottom: var(--section-y-cinematic); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.7rem, 3vw, 3.25rem) clamp(.9rem, 1.7vw, 1.6rem); }
  .journal-entry { width: 100%; max-width: var(--media-gallery-max-w); min-width: 0; justify-self: center; scroll-margin-top: calc(var(--header-h) + var(--space-4)); }
  .journal-entry__media { aspect-ratio: 4 / 5; overflow: hidden; background: var(--color-media-fallback); }
  .journal-entry__media .cinematic-media { height: 100%; }
  .journal-entry__meta { margin-top: var(--space-3); color: var(--color-text-muted-dark); }
  .journal-entry h2 { margin-top: .55rem; }
  .journal-entry p { margin: .65rem 0 0; color: var(--color-text-muted-dark); line-height: 1.55; }

  @media (max-width: 70rem) { .journal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media (max-width: 52rem) { .journal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 34rem) {
    .journal-grid { grid-template-columns: 1fr; gap: var(--space-8); }
    .journal-entry__media { aspect-ratio: 4 / 5; }
  }


/* V10 SOURCE: src/pages/what-shaped-me/index.astro */

  .page-intro { padding-block: calc(var(--header-h) + var(--space-8)) var(--section-y-standard); }
  .page-intro h1 { margin-block: var(--space-3) var(--space-5); }
  .page-intro p { margin: 0; }
  .intro-note { margin-top: var(--space-5) !important; color: var(--color-text-muted-dark); }
  .timeline-wrap { background: var(--color-charcoal); color: var(--color-text-light); padding-block: var(--section-y-cinematic); }
  .timeline { position: relative; display: grid; gap: clamp(4rem, 7vw, 6.5rem); }
  .timeline::before { content: ''; position: absolute; left: 1rem; top: 0; bottom: 0; width: 1px; background: rgba(240,236,226,.18); }
  .timeline-entry { position: relative; padding-left: clamp(3.5rem, 7vw, 6rem); max-width: 58rem; opacity: .62; }
  .timeline-entry:nth-child(even) { margin-left: auto; width: min(100%, 52rem); }
  .timeline-entry.is-published { opacity: 1; }
  .timeline-entry.is-major {
    padding-top: clamp(1.5rem, 3vw, 2.5rem);
    padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
    padding-right: clamp(1.5rem, 4vw, 3rem);
    background: linear-gradient(90deg, rgba(215,180,106,.09), rgba(215,180,106,.02) 72%, transparent);
    border-block: 1px solid rgba(215,180,106,.22);
  }
  .timeline-entry.is-major .timeline-marker { background: #d7b46a; outline-color: rgba(215,180,106,.6); }
  .timeline-entry.is-major .timeline-meta { color: #d7b46a; }
  .timeline-marker { position: absolute; left: .68rem; top: .45rem; width: .7rem; height: .7rem; border-radius: 50%; background: var(--color-stone); border: 2px solid var(--color-charcoal); outline: 1px solid rgba(240,236,226,.3); }
  .is-published .timeline-marker { background: var(--color-bone); }
  .timeline-meta, .timeline-status { color: var(--color-text-muted-light); }
  .timeline-entry h2 { margin-block: var(--space-3) var(--space-3); }
  .timeline-entry p { margin: 0; max-width: 42rem; color: var(--color-text-muted-light); }
  .timeline-link, .timeline-status { display: inline-block; margin-top: var(--space-5); }
  .timeline-link { color: var(--color-bone); text-decoration: none; border-bottom: 1px solid rgba(240,236,226,.38); padding-bottom: .28rem; }
  .spiritual-interlude { padding-block: var(--section-y-cinematic); background: #d9cfbf; }
  .spiritual-interlude h2 { margin: var(--space-4) 0 var(--space-5); max-width: 12ch; }
  .spiritual-interlude p { color: var(--color-text-muted-dark); }
  .spiritual-interlude__link { display: inline-block; margin-top: var(--space-5); color: var(--color-text-dark); border-bottom: 1px solid rgba(24,24,21,.35); padding-bottom: .3rem; }

  @media (max-width: 48rem) {
    .timeline { gap: var(--space-9); }
    .timeline::before { left: .35rem; }
    .timeline-entry, .timeline-entry:nth-child(even) { margin-left: 0; width: auto; padding-left: 2.4rem; }
    .timeline-marker { left: .04rem; }
  }


/* RELEASE 16.0 SURGICAL TYPOGRAPHY HARDENING — V10 scale/layout preserved */
h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}.meta-label,.ui-label{overflow-wrap:normal}.hero #hero-title{white-space:normal}.hero #hero-title .hero-title-line{display:block;white-space:nowrap}@media(max-width:22rem){.meta-label,.ui-label{letter-spacing:.075em}}


/* ==========================================================================\n   LOCO LIFESTYLE — RELEASE 18.0 FINAL REFINEMENT\n   Approved V17 direction carried into V18 production.\n   Universal image normalization · single-image heroes · compact contact ·\n   stronger story rhythm · two-line title preference.\n   ========================================================================== */

:root{
  --v18-editorial-ratio: 4 / 3;
  --v18-editorial-max-w: 42rem;
  --v18-card-max-w: 34rem;
  --v18-media-gap: clamp(1rem,1.8vw,1.6rem);
  --dialog-contact: 42rem;
}

/* Brand lockup — slogan belongs with the identity; authorship remains in footer/content. */
.brand-slogan{color:var(--color-accent-gold);opacity:1;font-weight:650;letter-spacing:.15em;font-size:.62rem;}

/* Homepage — approved stronger CTA and concise story deck. */
.hero-lockup{max-width:44rem;gap:clamp(.8rem,1.7vw,1.25rem);}
.hero-deck{margin:0;max-width:35rem;color:rgba(244,240,231,.88);font-size:clamp(1rem,1.15vw,1.16rem);line-height:1.52;text-wrap:pretty;text-shadow:0 1px 18px rgba(0,0,0,.32);}
.scroll-cue--button{margin-top:clamp(.8rem,2.2vw,1.6rem);min-height:3.2rem;display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.5rem;border:1px solid rgba(215,180,106,.78);border-radius:999px;background:rgba(17,17,15,.42);color:var(--color-bone);box-shadow:0 10px 32px rgba(0,0,0,.18);opacity:1;}
@media(hover:hover) and (pointer:fine){.scroll-cue--button:hover{transform:translateY(-2px);background:var(--color-accent-gold);color:var(--color-night);}}

/* Major section heroes — ONE image edge-to-edge. No split-image/ambient duplication. */
.world-hero--portrait .world-hero__ambient{display:none!important;}
.world-hero--portrait .world-hero__portrait{inset:0!important;left:0!important;width:100%!important;}
.world-hero--portrait .world-hero__portrait .picture-frame{--fit:cover!important;}
.world-hero--portrait .world-hero__portrait::before{background:rgba(8,8,7,.08)!important;}
.world-hero--portrait .world-hero__shade{background:linear-gradient(90deg,rgba(10,10,9,.94) 0%,rgba(10,10,9,.75) 30%,rgba(10,10,9,.30) 58%,rgba(10,10,9,.10) 100%),linear-gradient(to top,rgba(10,10,9,.74),transparent 60%)!important;}
.world-hero h1{max-width:13ch;text-wrap:balance;}

/* Universal editorial-image system — hero imagery is intentionally exempt. */
:is(.chapter-media,.split-media,.hiker-media,.sequence-frame,.faith-primary,.faith-secondary,.roots-primary,.roots-secondary,.man-primary,.man-secondary,.road-frame,.tile,.journal-entry__media,.lh-frame,.off-frame,.faith-frame,.faith-featured-story__media,.roots-frame,.road-world-frame,.man-frame){
  aspect-ratio:var(--v18-editorial-ratio)!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}
:is(.chapter-media,.split-media,.hiker-media,.sequence-frame,.faith-primary,.faith-secondary,.roots-primary,.roots-secondary,.man-primary,.man-secondary,.road-frame,.tile,.journal-entry__media,.lh-frame,.off-frame,.faith-frame,.faith-featured-story__media,.roots-frame,.road-world-frame,.man-frame) :is(.cinematic-media,.picture-frame,.picture-frame__picture){width:100%!important;height:100%!important;}
:is(.chapter-media,.split-media,.hiker-media,.sequence-frame,.faith-primary,.faith-secondary,.roots-primary,.roots-secondary,.man-primary,.man-secondary,.road-frame,.tile,.journal-entry__media,.lh-frame,.off-frame,.faith-frame,.faith-featured-story__media,.roots-frame,.road-world-frame,.man-frame) img{width:100%!important;height:100%!important;object-fit:cover!important;}

/* Homepage chapter feature: three equal cards rather than one giant image + two small images. */
.chapter-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--v18-media-gap)!important;align-items:start;}
.chapter-stack{display:contents!important;}
.chapter-card{gap:1rem!important;}
.chapter-card .chapter-media{width:100%;max-width:var(--v18-card-max-w);justify-self:center;}
.chapter-card p{line-height:1.58;}

/* Homepage feature groups: equal visual weight, clean gutters, no staggered giant portraits. */
.hiker-main{grid-template-columns:minmax(0,1fr) minmax(17rem,24rem) minmax(0,1fr)!important;gap:var(--v18-media-gap)!important;max-width:80rem!important;}
.hiker-media{max-width:30rem!important;transform:none!important;}
.hiker-sequence{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:var(--v18-media-gap)!important;max-width:80rem!important;}
.sequence-frame:nth-child(n){transform:none!important;}
.faith-media,.roots-media,.man-media{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--v18-media-gap)!important;max-width:44rem!important;align-items:stretch!important;}
.faith-secondary,.roots-primary,.man-secondary{transform:none!important;}
.mosaic{grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:auto!important;gap:var(--v18-media-gap)!important;}
.tile--hero,.tile--d,.tile--e{grid-column:auto!important;grid-row:auto!important;min-height:0!important;}
#off-trail .mosaic blockquote{grid-column:1/-1!important;}
.road-sequence{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--v18-media-gap)!important;max-width:76rem;}
.road-line{display:none!important;}
.road-frame{max-width:36rem!important;width:100%!important;justify-self:center!important;}

/* Secondary world-page galleries use the same 4:3 image language. */
.faith-frame--secondary,.roots-frame--a,.man-frame--b{transform:none!important;}
.road-world-frame--wide,.road-world-frame:not(.road-world-frame--wide):not(.road-world-frame--offset),.road-world-frame--offset{grid-column:auto!important;margin-top:0!important;}
.road-world-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--v18-media-gap)!important;}

/* Chapter/faith story heroes also use one image edge-to-edge when source art is portrait. */
.chapter-hero--portrait .chapter-hero__ambient,.faith-story-hero--portrait .faith-story-hero__ambient{display:none!important;}
.chapter-hero--portrait .chapter-hero__media,.faith-story-hero--portrait .faith-story-hero__media{inset:0!important;width:100%!important;}
.chapter-hero--portrait .chapter-hero__media .picture-frame,.faith-story-hero--portrait .faith-story-hero__media .picture-frame{--fit:cover!important;}

/* Visual Journal: harmonized 4:3 editorial cards and paragraph-style story summaries. */
.journal-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(2.3rem,3.5vw,4rem) var(--v18-media-gap)!important;align-items:start;}
.journal-entry{max-width:var(--v18-card-max-w)!important;display:grid;grid-template-rows:auto auto auto 1fr;align-content:start;}
.journal-entry__media{width:100%;}
.journal-entry h2{max-width:18ch;text-wrap:balance;}
.journal-entry p{font-size:1rem;line-height:1.58;max-width:38ch;}

/* What Shaped Me timeline: professional paragraph summaries instead of thin one-line placeholders. */
.timeline-entry p{max-width:48rem;line-height:1.62!important;text-wrap:pretty;}
.timeline-entry h2{max-width:20ch;text-wrap:balance;}

/* Chapter copy: readable editorial paragraphs and calmer vertical rhythm after V18 reflow. */
.chapter-copy p{max-width:46rem;margin-bottom:1.65em;line-height:1.74;text-wrap:pretty;}
.chapter-copy h2{margin-top:clamp(3.5rem,6vw,5rem);}

/* Contact: standard professional size; no jumbo modal or unnecessary desktop scrolling. */
.utility-dialog__panel--contact{width:min(calc(100vw - 2rem),42rem)!important;max-height:min(88vh,44rem)!important;max-height:min(88dvh,44rem)!important;padding:1.75rem 2rem!important;}
.utility-dialog__header--contact{margin-bottom:1.15rem!important;}
.utility-dialog__header h2{font-family:var(--font-editorial);font-size:clamp(1.75rem,3vw,2.35rem);line-height:1;letter-spacing:-.03em;}
.utility-dialog__header p:not(.utility-dialog__kicker){font-size:.98rem;margin-top:.5rem;}
.contact-form{gap:.7rem;}
.contact-form__grid{gap:.7rem;}
.contact-field{gap:.32rem;}
.contact-field input{min-height:2.75rem;}
.contact-field textarea{min-height:6.6rem;max-height:9rem;}
.contact-submit{min-height:2.9rem;margin-top:.25rem;}
.contact-status{min-height:.5rem;}

/* Preferred two-line title composition. Never force three lines when two fit. */
:is(.display-xl,.display-lg,.display-md,.heading-xl,.heading-lg,.heading-md){text-wrap:balance;}
.world-hero h1,.hero h1{max-width:13ch;}

@media(max-width:70rem){
  .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .chapter-stack{display:contents!important;}
  .hiker-main{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .hiker-content{grid-column:1/-1!important;grid-row:auto!important;}
  .hiker-sequence{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .mosaic{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:48rem){
  .hero-deck{max-width:29rem;font-size:1rem;}
  .world-hero--portrait .world-hero__shade{background:linear-gradient(to top,rgba(10,10,9,.92) 0%,rgba(10,10,9,.18) 56%,rgba(10,10,9,.42) 100%)!important;}
  .chapter-grid,.journal-grid,.hiker-main,.hiker-sequence,.mosaic,.road-sequence,.faith-media,.roots-media,.man-media,.road-world-gallery__grid{grid-template-columns:1fr!important;}
  .chapter-card .chapter-media,.journal-entry,.hiker-media,.sequence-frame,.road-frame{max-width:100%!important;}
  .faith-secondary,.roots-primary,.man-secondary{width:100%!important;margin:0!important;transform:none!important;}
  .utility-dialog__panel--contact{width:min(calc(100vw - 1rem),100%)!important;max-height:min(92dvh,44rem)!important;padding:3.25rem 1.15rem 1.25rem!important;}
  .contact-form__grid{grid-template-columns:1fr!important;}
  .contact-field textarea{min-height:6rem;}
}

/* ==========================================================================
   LOCO LIFESTYLE — RELEASE 13.0 FINAL CERTIFIED IMAGE + HERO SYSTEM
   One source of truth. Full subject first. Controlled scale. No arbitrary crop.
   ========================================================================== */
:root{
  --v13-card-max-w:23rem;
  --v13-feature-max-w:30rem;
  --v13-media-gap:clamp(1rem,1.6vw,1.5rem);
  --v13-world-hero-h:clamp(34rem,62svh,44rem);
  --v13-world-hero-h-dvh:clamp(34rem,62dvh,44rem);
  --v13-chapter-hero-h:clamp(36rem,66svh,46rem);
  --v13-chapter-hero-h-dvh:clamp(36rem,66dvh,46rem);
  --v13-hero-focal-default-x:50%;
  --v13-hero-focal-default-y:50%;
}

/* Exact-source-ratio normalized cards: geometry is consistent without amputating subjects. */
.v19-normalized-frame{
  aspect-ratio:var(--v19-ratio)!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  background:transparent!important;
}
.v19-normalized-frame :is(.cinematic-media,.picture-frame,.picture-frame__picture){width:100%!important;height:100%!important;}
.v19-normalized-frame img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.chapter-card .chapter-media,.journal-entry,.lh-frame,.off-frame,.faith-frame,.roots-frame,.road-world-frame,.man-frame{
  max-width:var(--v13-card-max-w)!important;width:100%!important;justify-self:center!important;margin-inline:auto!important;
}
.hiker-media,.sequence-frame,.faith-primary,.faith-secondary,.roots-primary,.roots-secondary,.man-primary,.man-secondary,.road-frame,.tile,.faith-featured-story__media{
  max-width:var(--v13-feature-max-w)!important;width:100%!important;justify-self:center!important;margin-inline:auto!important;
}
.chapter-grid,.journal-grid,.hiker-sequence,.faith-media,.roots-media,.man-media,.mosaic,.road-sequence,.road-world-gallery__grid{
  gap:var(--v13-media-gap)!important;align-items:start!important;
}
.chapter-grid,.journal-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.hiker-sequence,.mosaic,.road-world-gallery__grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}

/* --------------------------------------------------------------------------
   HOMEPAGE HERO — ONE FULL-BLEED PHOTOGRAPH, FULL SUBJECT PRESERVED
   The same source photo fills the entire canvas; a sharp full-subject layer
   is feather-blended into it so no hard portrait panel or black split exists.
   -------------------------------------------------------------------------- */
.hero--v13-certified{
  --hero-focal-desktop-x:68%;--hero-focal-desktop-y:52%;
  --hero-focal-tablet-landscape-x:65%;--hero-focal-tablet-landscape-y:52%;
  --hero-focal-tablet-portrait-x:62%;--hero-focal-tablet-portrait-y:50%;
  --hero-focal-mobile-x:61%;--hero-focal-mobile-y:50%;
  --hero-focal-x:var(--hero-focal-desktop-x,var(--v13-hero-focal-default-x));
  --hero-focal-y:var(--hero-focal-desktop-y,var(--v13-hero-focal-default-y));
  position:relative!important;
  width:100%!important;
  min-height:100vh!important;min-height:100svh!important;height:100dvh!important;
  overflow:hidden!important;isolation:isolate!important;background:#11110f!important;
}
.hero-media--v13-full-bleed{position:absolute!important;inset:0!important;isolation:isolate!important;overflow:hidden!important;background:#11110f!important;}
.hero-media--v13-full-bleed::before{
  content:'';position:absolute;inset:-2.5rem;z-index:0;
  background-image:url('../media/hero-v13.jpeg');
  background-size:cover;background-position:var(--hero-focal-x) var(--hero-focal-y);background-repeat:no-repeat;
  filter:saturate(.96) brightness(.74);transform:scale(1.035);
}
.hero-media--v13-full-bleed::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(7,7,6,.80) 0%,rgba(7,7,6,.61) 28%,rgba(7,7,6,.28) 52%,rgba(7,7,6,.05) 76%,transparent 100%);
}
.hero-media--v13-full-bleed .cinematic-media,
.hero-media--v13-full-bleed .picture-frame,
.hero-media--v13-full-bleed .picture-frame__picture{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;background:transparent!important;overflow:visible!important;}
.hero-media--v13-full-bleed .cinematic-media{z-index:2!important;}
.hero-media--v13-full-bleed img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;
  object-fit:contain!important;object-position:var(--hero-focal-x) var(--hero-focal-y)!important;filter:none!important;transform:none!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 11%,#000 91%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 11%,#000 91%,transparent 100%);
}
.hero--v13-certified .hero-overlay{
  z-index:2!important;
  background:linear-gradient(90deg,rgba(7,7,6,.88) 0%,rgba(7,7,6,.72) 26%,rgba(7,7,6,.38) 47%,rgba(7,7,6,.10) 68%,rgba(7,7,6,0) 82%),linear-gradient(to top,rgba(7,7,6,.48),transparent 56%)!important;
}
.hero--v13-certified .hero-content{position:relative!important;z-index:3!important;min-height:100%!important;height:100%!important;align-items:center!important;padding-top:calc(var(--header-h) + max(2rem,env(safe-area-inset-top)))!important;padding-bottom:max(3rem,env(safe-area-inset-bottom))!important;}
.hero--v13-certified .hero-lockup{max-width:min(40rem,44vw)!important;gap:clamp(.85rem,1.5vw,1.25rem)!important;text-align:left!important;justify-items:start!important;}
.hero--v13-certified #hero-title{max-width:6.5ch!important;}
.hero--v13-certified #hero-title .hero-title-line{display:block!important;white-space:nowrap!important;}
.hero--v13-certified .hero-deck{max-width:34rem!important;}
.hero--v13-certified .scroll-cue--button{margin-top:clamp(.7rem,1.8vw,1.2rem)!important;}

/* --------------------------------------------------------------------------
   SECTION + CHAPTER HEROES — controlled height, complete sharp photo.
   Background copy may fill the frame; the documentary image stays intact.
   -------------------------------------------------------------------------- */
.world-hero.v13-subject-safe-hero{min-height:var(--v13-world-hero-h)!important;min-height:var(--v13-world-hero-h-dvh)!important;background:#11110f!important;}
.chapter-hero.v13-subject-safe-hero,.faith-story-hero.v13-subject-safe-hero{min-height:var(--v13-chapter-hero-h)!important;min-height:var(--v13-chapter-hero-h-dvh)!important;background:#11110f!important;}
.world-hero.v13-subject-safe-hero .world-hero__ambient,
.chapter-hero.v13-subject-safe-hero .chapter-hero__ambient,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__ambient{inset:-2rem!important;filter:blur(22px) saturate(.82) brightness(.48)!important;transform:scale(1.07)!important;opacity:1!important;}
.world-hero.v13-subject-safe-hero .world-hero__ambient img,
.chapter-hero.v13-subject-safe-hero .chapter-hero__ambient img,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__ambient img{object-fit:cover!important;object-position:center center!important;}
.world-hero.v13-subject-safe-hero .world-hero__portrait,
.chapter-hero.v13-subject-safe-hero .chapter-hero__media,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__media{inset:0!important;width:100%!important;z-index:-2!important;pointer-events:none!important;}
.world-hero.v13-subject-safe-hero .world-hero__portrait::before{display:none!important;}
.world-hero.v13-subject-safe-hero .world-hero__portrait :is(.cinematic-media,.picture-frame,.picture-frame__picture),
.chapter-hero.v13-subject-safe-hero .chapter-hero__media :is(.cinematic-media,.picture-frame,.picture-frame__picture),
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__media :is(.cinematic-media,.picture-frame,.picture-frame__picture){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;background:transparent!important;overflow:visible!important;}
.world-hero.v13-subject-safe-hero .world-hero__portrait .picture-frame,
.chapter-hero.v13-subject-safe-hero .chapter-hero__media .picture-frame,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__media .picture-frame{--fit:contain!important;}
.world-hero.v13-subject-safe-hero .world-hero__portrait img,
.chapter-hero.v13-subject-safe-hero .chapter-hero__media img,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__media img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:right center!important;filter:none!important;transform:none!important;}
.world-hero.v13-subject-safe-hero .world-hero__shade,
.chapter-hero.v13-subject-safe-hero .chapter-hero__overlay,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__overlay{background:linear-gradient(90deg,rgba(9,9,8,.95) 0%,rgba(9,9,8,.82) 28%,rgba(9,9,8,.45) 49%,rgba(9,9,8,.12) 70%,rgba(9,9,8,.02) 100%),linear-gradient(to top,rgba(9,9,8,.60),transparent 62%)!important;}
.world-hero.v13-subject-safe-hero .world-hero__copy{max-width:min(42rem,46vw)!important;}
.chapter-hero.v13-subject-safe-hero .chapter-hero__copy,.faith-story-hero.v13-subject-safe-hero .faith-story-hero__copy{max-width:min(44rem,47vw)!important;}
.visual-story__main-image{object-fit:contain!important;object-position:center center!important;}

/* Desktop title/control normalization. */
:is(.display-xl,.display-lg,.display-md,.heading-xl,.heading-lg,.heading-md){text-wrap:balance;}
.world-hero h1,.hero h1{max-width:13ch;}

@media(max-width:70rem){
  .chapter-grid,.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .hiker-sequence,.mosaic,.road-world-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* Tablet landscape / small laptop: 768–1279 landscape. */
@media (min-width:768px) and (max-width:1279px) and (orientation:landscape){
  .hero--v13-certified{--hero-focal-x:var(--hero-focal-tablet-landscape-x,var(--v13-hero-focal-default-x));--hero-focal-y:var(--hero-focal-tablet-landscape-y,var(--v13-hero-focal-default-y));}
  .hero--v13-certified .hero-lockup{max-width:min(34rem,52vw)!important;}
}

/* Tablet portrait: 768–1279 portrait. */
@media (min-width:768px) and (max-width:1279px) and (orientation:portrait){
  .hero--v13-certified{--hero-focal-x:var(--hero-focal-tablet-portrait-x,var(--v13-hero-focal-default-x));--hero-focal-y:var(--hero-focal-tablet-portrait-y,var(--v13-hero-focal-default-y));}
  .hero--v13-certified .hero-overlay{background:linear-gradient(0deg,rgba(7,7,6,.90) 0%,rgba(7,7,6,.60) 30%,rgba(7,7,6,.14) 60%,transparent 80%),linear-gradient(90deg,rgba(7,7,6,.58),rgba(7,7,6,.12) 62%,transparent)!important;}
  .hero--v13-certified .hero-content{align-items:flex-end!important;padding-bottom:max(7vh,env(safe-area-inset-bottom))!important;}
  .hero--v13-certified .hero-lockup{max-width:32rem!important;}
  .world-hero.v13-subject-safe-hero,.chapter-hero.v13-subject-safe-hero,.faith-story-hero.v13-subject-safe-hero{min-height:clamp(36rem,68svh,46rem)!important;min-height:clamp(36rem,68dvh,46rem)!important;}
  .world-hero.v13-subject-safe-hero .world-hero__portrait img,.chapter-hero.v13-subject-safe-hero .chapter-hero__media img,.faith-story-hero.v13-subject-safe-hero .faith-story-hero__media img{object-position:center center!important;}
}

/* Mobile: 0–767. */
@media(max-width:767px){
  .hero--v13-certified{--hero-focal-x:var(--hero-focal-mobile-x,var(--v13-hero-focal-default-x));--hero-focal-y:var(--hero-focal-mobile-y,var(--v13-hero-focal-default-y));min-height:100svh!important;height:100dvh!important;}
  .hero-media--v13-full-bleed::before{filter:saturate(.92) brightness(.66)!important;}
  .hero-media--v13-full-bleed img{object-position:center top!important;-webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 8%,#000 94%,transparent 100%);mask-image:linear-gradient(0deg,transparent 0%,#000 8%,#000 94%,transparent 100%);}
  .hero--v13-certified .hero-overlay{background:linear-gradient(0deg,rgba(7,7,6,.94) 0%,rgba(7,7,6,.72) 28%,rgba(7,7,6,.32) 50%,rgba(7,7,6,.06) 72%,transparent 86%)!important;}
  .hero--v13-certified .hero-content{align-items:flex-end!important;padding:calc(var(--header-h) + 1rem) 24px max(38px,calc(env(safe-area-inset-bottom) + 28px))!important;}
  .hero--v13-certified .hero-lockup{max-width:100%!important;}
  .hero--v13-certified #hero-title{font-size:clamp(3.35rem,17vw,5rem)!important;line-height:.84!important;}
  .hero--v13-certified .hero-deck{max-width:30rem!important;font-size:clamp(.98rem,4.2vw,1.08rem)!important;line-height:1.45!important;}
  .chapter-grid,.journal-grid,.hiker-sequence,.mosaic,.road-world-gallery__grid{grid-template-columns:1fr!important;}
  .chapter-card .chapter-media,.journal-entry,.lh-frame,.off-frame,.faith-frame,.roots-frame,.road-world-frame,.man-frame,.hiker-media,.sequence-frame,.faith-primary,.faith-secondary,.roots-primary,.roots-secondary,.man-primary,.man-secondary,.road-frame,.tile,.faith-featured-story__media{max-width:min(100%,27rem)!important;}
  .world-hero.v13-subject-safe-hero,.chapter-hero.v13-subject-safe-hero,.faith-story-hero.v13-subject-safe-hero{min-height:clamp(34rem,72svh,42rem)!important;min-height:clamp(34rem,72dvh,42rem)!important;}
  .world-hero.v13-subject-safe-hero .world-hero__portrait img,.chapter-hero.v13-subject-safe-hero .chapter-hero__media img,.faith-story-hero.v13-subject-safe-hero .faith-story-hero__media img{object-position:center top!important;}
  .world-hero.v13-subject-safe-hero .world-hero__shade,.chapter-hero.v13-subject-safe-hero .chapter-hero__overlay,.faith-story-hero.v13-subject-safe-hero .faith-story-hero__overlay{background:linear-gradient(to top,rgba(9,9,8,.96) 0%,rgba(9,9,8,.78) 30%,rgba(9,9,8,.26) 55%,rgba(9,9,8,.08) 78%,rgba(9,9,8,.12) 100%)!important;}
  .world-hero.v13-subject-safe-hero .world-hero__copy,.chapter-hero.v13-subject-safe-hero .chapter-hero__copy,.faith-story-hero.v13-subject-safe-hero .faith-story-hero__copy{max-width:100%!important;}
}
@media(max-width:389px){.hero--v13-certified{--hero-focal-x:60%;--hero-focal-y:50%;}.hero--v13-certified .hero-content{padding-left:20px!important;padding-right:20px!important;}}
@media(max-height:650px) and (orientation:landscape){
  .hero--v13-certified,.world-hero.v13-subject-safe-hero,.chapter-hero.v13-subject-safe-hero,.faith-story-hero.v13-subject-safe-hero{min-height:36rem!important;height:auto!important;}
}

/* Contact modal remains professional/contained on all supported viewports. */
.utility-dialog__panel--contact{width:min(calc(100vw - 2rem),42rem)!important;max-height:min(88dvh,44rem)!important;overflow:auto!important;}
@media(max-width:767px){.utility-dialog__panel--contact{width:min(calc(100vw - 1rem),100%)!important;max-height:min(92dvh,44rem)!important;}}

/* Production hard lock: any accidental debug switch remains visually inert. */
html[data-env="production"] [data-focal-debug-ui],
html[data-env="production"] .focal-debug-point{display:none!important;}

/* ========================================================================== 
   RELEASE 13.0 — HERO COMPOSITE DELIVERY REFINEMENT
   Desktop/landscape hero sources are precomposed from the exact source photo:
   full subject preserved + same-photo full-bleed environment, no hard panel.
   Portrait/mobile keeps the original source intact over the ambient layer.
   ========================================================================== */
@media (min-width:1280px), (min-width:768px) and (max-width:1279px) and (orientation:landscape){
  .hero-media--v13-full-bleed::before{opacity:.18!important;filter:saturate(.94) brightness(.72)!important;}
  .hero-media--v13-full-bleed img{
    object-fit:cover!important;
    object-position:center center!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  .world-hero.v13-subject-safe-hero .world-hero__portrait img,
  .chapter-hero.v13-subject-safe-hero .chapter-hero__media img,
  .faith-story-hero.v13-subject-safe-hero .faith-story-hero__media img{
    object-fit:cover!important;
    object-position:center center!important;
  }
  .world-hero.v13-subject-safe-hero .world-hero__ambient,
  .chapter-hero.v13-subject-safe-hero .chapter-hero__ambient,
  .faith-story-hero.v13-subject-safe-hero .faith-story-hero__ambient{
    opacity:.34!important;
    filter:blur(12px) saturate(.86) brightness(.66)!important;
  }
  .world-hero.v13-subject-safe-hero .world-hero__shade,
  .chapter-hero.v13-subject-safe-hero .chapter-hero__overlay,
  .faith-story-hero.v13-subject-safe-hero .faith-story-hero__overlay{
    background:
      linear-gradient(90deg,rgba(8,8,7,.78) 0%,rgba(8,8,7,.60) 28%,rgba(8,8,7,.31) 49%,rgba(8,8,7,.08) 70%,rgba(8,8,7,.01) 100%),
      linear-gradient(to top,rgba(8,8,7,.45),transparent 64%)!important;
  }
}

@media (min-width:768px) and (max-width:1279px) and (orientation:portrait){
  .hero-media--v13-full-bleed img,
  .world-hero.v13-subject-safe-hero .world-hero__portrait img,
  .chapter-hero.v13-subject-safe-hero .chapter-hero__media img,
  .faith-story-hero.v13-subject-safe-hero .faith-story-hero__media img{
    object-fit:contain!important;
    object-position:center center!important;
  }
}

@media (max-width:767px){
  .hero-media--v13-full-bleed img{
    object-fit:contain!important;
    object-position:center top!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
}

/* Release 13 subject-preservation correction: section/chapter desktop composites
   remain fully visible; the ambient layer supplies any extra wide-screen field. */
@media (min-width:1280px), (min-width:768px) and (max-width:1279px) and (orientation:landscape){
  .world-hero.v13-subject-safe-hero .world-hero__portrait img,
  .chapter-hero.v13-subject-safe-hero .chapter-hero__media img,
  .faith-story-hero.v13-subject-safe-hero .faith-story-hero__media img{
    object-fit:contain!important;
    object-position:right center!important;
  }
}

/* Release 13 edge-to-edge section hero field: the same approved photograph
   supplies the entire hero background while the full sharp subject remains intact. */
.world-hero.v13-subject-safe-hero,
.chapter-hero.v13-subject-safe-hero,
.faith-story-hero.v13-subject-safe-hero{position:relative!important;isolation:isolate!important;}
.world-hero.v13-subject-safe-hero::before,
.chapter-hero.v13-subject-safe-hero::before,
.faith-story-hero.v13-subject-safe-hero::before{
  content:'';position:absolute;inset:-1.5rem;z-index:0;pointer-events:none;
  background-image:var(--v13-hero-bg);background-size:cover;background-position:center center;background-repeat:no-repeat;
  filter:blur(7px) saturate(.88) brightness(.72);transform:scale(1.035);
}
.world-hero.v13-subject-safe-hero .world-hero__ambient,
.chapter-hero.v13-subject-safe-hero .chapter-hero__ambient,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__ambient{display:none!important;}
.world-hero.v13-subject-safe-hero .world-hero__portrait,
.chapter-hero.v13-subject-safe-hero .chapter-hero__media,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__media{z-index:1!important;}
.world-hero.v13-subject-safe-hero .world-hero__shade,
.chapter-hero.v13-subject-safe-hero .chapter-hero__overlay,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__overlay{z-index:2!important;}
.world-hero.v13-subject-safe-hero .world-hero__inner,
.chapter-hero.v13-subject-safe-hero .chapter-hero__inner,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__inner{position:relative!important;z-index:3!important;}
.world-hero.v13-subject-safe-hero .world-hero__shade,
.chapter-hero.v13-subject-safe-hero .chapter-hero__overlay,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__overlay{
  background:linear-gradient(90deg,rgba(8,8,7,.76) 0%,rgba(8,8,7,.58) 29%,rgba(8,8,7,.30) 50%,rgba(8,8,7,.08) 72%,rgba(8,8,7,.02) 100%),linear-gradient(to top,rgba(8,8,7,.40),transparent 66%)!important;
}


/* ==========================================================================\n   LOCO LIFESTYLE RELEASE 14.0 — SHARP HERO / BRAND PROPORTION MASTER\n   One sharp source photograph per hero. No ambient duplicate, no blur fill,\n   no geometric distortion. Consistent fixed-adaptive hero geometry.\n   ========================================================================== */

/* Header identity: master brand must read as the owner of the site. */
:root{--header-h:5.6rem;}
.site-header{padding-top:max(.95rem,env(safe-area-inset-top));}
.container--header{min-height:4.35rem;}
.brand-lockup{gap:.38rem!important;align-self:center!important;}
.wordmark{font-size:clamp(1.72rem,2.15vw,2.25rem)!important;line-height:.92!important;letter-spacing:-.035em!important;}
.brand-slogan{font-size:clamp(.68rem,.72vw,.78rem)!important;letter-spacing:.16em!important;line-height:1.2!important;}
@media(max-width:72rem){
  :root{--header-h:5.1rem;}
  .wordmark{font-size:clamp(1.55rem,2.8vw,1.95rem)!important;}
}
@media(max-width:48rem){
  :root{--header-h:4.85rem;}
  .site-header{padding-top:max(.7rem,env(safe-area-inset-top));}
  .wordmark{font-size:clamp(1.42rem,6.4vw,1.82rem)!important;}
  .brand-slogan{font-size:.64rem!important;}
}

/* Universal major-hero geometry. Consistent visual weight; not gigantic. */
.hero--v13-certified,
.world-hero--portrait,
.v13-subject-safe-hero{
  position:relative!important;
  min-height:clamp(38rem,68svh,47rem)!important;
  height:clamp(38rem,68svh,47rem)!important;
  max-height:47rem!important;
  overflow:hidden!important;
  background:#11110f!important;
  isolation:isolate!important;
}

/* Remove every V13 ambient / blurred duplicate layer. */
.hero-media--v13-full-bleed::before,
.hero-media--v13-full-bleed::after,
.world-hero--portrait .world-hero__ambient,
.v13-subject-safe-hero::before,
.v13-subject-safe-hero::after{
  display:none!important;
  content:none!important;
  background:none!important;
  filter:none!important;
}

/* Homepage: the REAL source photograph fills the hero. */
.hero-media--v13-full-bleed{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  overflow:hidden!important;background:#11110f!important;
}
.hero-media--v13-full-bleed .cinematic-media,
.hero-media--v13-full-bleed .picture-frame,
.hero-media--v13-full-bleed .picture-frame__picture{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  aspect-ratio:auto!important;overflow:hidden!important;background:transparent!important;
}
.hero-media--v13-full-bleed img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;object-position:56% 48%!important;
  filter:none!important;transform:none!important;mask-image:none!important;-webkit-mask-image:none!important;
}
.hero--v13-certified .hero-overlay{
  display:block!important;position:absolute!important;inset:0!important;z-index:2!important;
  background:linear-gradient(90deg,rgba(7,7,6,.90) 0%,rgba(7,7,6,.76) 27%,rgba(7,7,6,.45) 48%,rgba(7,7,6,.16) 68%,rgba(7,7,6,.04) 84%,rgba(7,7,6,.02) 100%),linear-gradient(to top,rgba(7,7,6,.38),transparent 58%)!important;
  pointer-events:none!important;
}
.hero--v13-certified .hero-content{min-height:100%!important;height:100%!important;z-index:3!important;}

/* Section heroes: one source, sharp and edge-to-edge. */
.world-hero--portrait .world-hero__portrait{
  position:absolute!important;inset:0!important;left:0!important;width:100%!important;height:100%!important;z-index:0!important;
  overflow:hidden!important;background:#11110f!important;
}
.world-hero--portrait .world-hero__portrait .cinematic-media,
.world-hero--portrait .world-hero__portrait .picture-frame,
.world-hero--portrait .world-hero__portrait .picture-frame__picture{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;
  overflow:hidden!important;background:transparent!important;
}
.world-hero--portrait .world-hero__portrait img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;object-position:var(--v14-focal,50% 38%)!important;
  filter:none!important;transform:none!important;mask-image:none!important;-webkit-mask-image:none!important;
}
.world-hero--portrait .world-hero__portrait::before{display:none!important;content:none!important;}
.world-hero--portrait .world-hero__shade{
  display:block!important;position:absolute!important;inset:0!important;z-index:1!important;
  background:linear-gradient(90deg,rgba(8,8,7,.92) 0%,rgba(8,8,7,.78) 29%,rgba(8,8,7,.48) 49%,rgba(8,8,7,.18) 68%,rgba(8,8,7,.04) 84%,rgba(8,8,7,.02) 100%),linear-gradient(to top,rgba(8,8,7,.34),transparent 62%)!important;
  pointer-events:none!important;
}
.world-hero--portrait .world-hero__inner{position:relative!important;z-index:2!important;min-height:100%!important;height:100%!important;}

/* Per-page subject-safe focal records. Scenery crops before head/face. */
body:has(a.nav-link[href$="loco-hiker/index.html"][aria-current="page"]) .world-hero{--v14-focal:50% 34%;}
body:has(a.nav-link[href$="faith/index.html"][aria-current="page"]) .world-hero{--v14-focal:50% 42%;}
body:has(a.nav-link[href$="roots/index.html"][aria-current="page"]) .world-hero{--v14-focal:54% 34%;}
body:has(a.nav-link[href$="the-road/index.html"][aria-current="page"]) .world-hero{--v14-focal:50% 34%;}
body:has(a.nav-link[href$="off-trail/index.html"][aria-current="page"]) .world-hero{--v14-focal:56% 34%;}
body:has(a.nav-link[href$="the-man-behind-loco/index.html"][aria-current="page"]) .world-hero{--v14-focal:52% 40%;}

/* Keep hero type proportionate after brand is enlarged. */
.world-hero__copy h1{font-size:clamp(3.4rem,5.3vw,6.1rem)!important;line-height:.9!important;}
.world-hero__copy{max-width:min(42rem,48vw)!important;}

/* Tablet: slightly taller to protect more of portrait source. */
@media(min-width:48rem) and (max-width:79.9375rem){
  .hero--v13-certified,.world-hero--portrait,.v13-subject-safe-hero{
    min-height:clamp(38rem,74svh,45rem)!important;height:clamp(38rem,74svh,45rem)!important;max-height:45rem!important;
  }
  .hero-media--v13-full-bleed img{object-position:58% 46%!important;}
  .world-hero--portrait .world-hero__portrait img{object-position:var(--v14-focal-tablet,var(--v14-focal,50% 36%))!important;}
}

/* Mobile: protect identity; avoid jumbo hero height. */
@media(max-width:47.9375rem){
  .hero--v13-certified,.world-hero--portrait,.v13-subject-safe-hero{
    min-height:clamp(34rem,78svh,42rem)!important;height:clamp(34rem,78svh,42rem)!important;max-height:42rem!important;
  }
  .hero-media--v13-full-bleed img{object-position:61% 42%!important;}
  .hero--v13-certified .hero-overlay{
    background:linear-gradient(to top,rgba(7,7,6,.94) 0%,rgba(7,7,6,.70) 34%,rgba(7,7,6,.22) 64%,rgba(7,7,6,.08) 100%)!important;
  }
  .world-hero--portrait .world-hero__portrait img{object-position:var(--v14-focal-mobile,var(--v14-focal,50% 34%))!important;}
  .world-hero--portrait .world-hero__shade{
    background:linear-gradient(to top,rgba(8,8,7,.92) 0%,rgba(8,8,7,.68) 34%,rgba(8,8,7,.22) 64%,rgba(8,8,7,.06) 100%)!important;
  }
  .world-hero__copy{max-width:100%!important;}
  .world-hero__copy h1{font-size:clamp(3rem,14vw,4.9rem)!important;}
}

/* V14 hard guard against blur in major hero layers. */
.hero--v13-certified :is(img,.picture-frame,.cinematic-media),
.world-hero--portrait :is(img,.picture-frame,.cinematic-media){filter:none!important;backdrop-filter:none!important;}


/* V14 extension — chapter and faith story heroes use the same sharp-source rule. */
.chapter-hero.v13-subject-safe-hero,
.faith-story-hero.v13-subject-safe-hero{
  position:relative!important;
  min-height:clamp(38rem,68svh,47rem)!important;
  height:clamp(38rem,68svh,47rem)!important;
  max-height:47rem!important;
  overflow:hidden!important;background:#11110f!important;isolation:isolate!important;
}
.chapter-hero.v13-subject-safe-hero .chapter-hero__ambient,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__ambient{display:none!important;filter:none!important;}
.chapter-hero.v13-subject-safe-hero .chapter-hero__media,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__media{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:0!important;overflow:hidden!important;background:#11110f!important;
}
.chapter-hero.v13-subject-safe-hero .chapter-hero__media :is(.cinematic-media,.picture-frame,.picture-frame__picture),
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__media :is(.cinematic-media,.picture-frame,.picture-frame__picture){
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;overflow:hidden!important;background:transparent!important;
}
.chapter-hero.v13-subject-safe-hero .chapter-hero__media img,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__media img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;object-position:var(--v14-chapter-focal,50% 32%)!important;
  filter:none!important;transform:none!important;mask-image:none!important;-webkit-mask-image:none!important;
}
.chapter-hero.v13-subject-safe-hero .chapter-hero__overlay,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__overlay{
  display:block!important;position:absolute!important;inset:0!important;z-index:1!important;
  background:linear-gradient(90deg,rgba(8,8,7,.92) 0%,rgba(8,8,7,.76) 29%,rgba(8,8,7,.44) 50%,rgba(8,8,7,.14) 70%,rgba(8,8,7,.03) 88%,rgba(8,8,7,.02) 100%),linear-gradient(to top,rgba(8,8,7,.34),transparent 62%)!important;
  pointer-events:none!important;
}
.chapter-hero.v13-subject-safe-hero .chapter-hero__inner,
.faith-story-hero.v13-subject-safe-hero .faith-story-hero__inner{position:relative!important;z-index:2!important;min-height:100%!important;height:100%!important;}
.chapter-hero.v13-subject-safe-hero .chapter-hero__impact-year{z-index:2!important;}
@media(min-width:48rem) and (max-width:79.9375rem){
  .chapter-hero.v13-subject-safe-hero,.faith-story-hero.v13-subject-safe-hero{
    min-height:clamp(38rem,74svh,45rem)!important;height:clamp(38rem,74svh,45rem)!important;max-height:45rem!important;
  }
  .chapter-hero.v13-subject-safe-hero .chapter-hero__media img,
  .faith-story-hero.v13-subject-safe-hero .faith-story-hero__media img{object-position:var(--v14-chapter-focal-tablet,var(--v14-chapter-focal,50% 30%))!important;}
}
@media(max-width:47.9375rem){
  .chapter-hero.v13-subject-safe-hero,.faith-story-hero.v13-subject-safe-hero{
    min-height:clamp(34rem,78svh,42rem)!important;height:clamp(34rem,78svh,42rem)!important;max-height:42rem!important;
  }
  .chapter-hero.v13-subject-safe-hero .chapter-hero__media img,
  .faith-story-hero.v13-subject-safe-hero .faith-story-hero__media img{object-position:var(--v14-chapter-focal-mobile,var(--v14-chapter-focal,50% 28%))!important;}
  .chapter-hero.v13-subject-safe-hero .chapter-hero__overlay,
  .faith-story-hero.v13-subject-safe-hero .faith-story-hero__overlay{
    background:linear-gradient(to top,rgba(8,8,7,.92) 0%,rgba(8,8,7,.68) 34%,rgba(8,8,7,.22) 64%,rgba(8,8,7,.06) 100%)!important;
  }
}

/* ==========================================================================\n   LOCO LIFESTYLE RELEASE 15.0 — GLOBAL TYPOGRAPHY LINE-BREAK INTEGRITY LOCK\n   Orphan / runt / phrase-integrity hard gate. Typography hierarchy preserved.\n   ========================================================================== */

/* Display copy: balance lines rather than shrinking type to chase a fit. */
:where(
  h1,h2,h3,h4,h5,h6,
  .display-xl,.display-lg,.display-md,
  .heading-xl,.heading-lg,.heading-md,
  .hero-title,.world-hero__copy h1,.chapter-hero__copy h1,
  .faith-story-hero__copy h1,.world-bridge__title,
  .chapter-link__title,.road-chapter-link__title,
  .cinematic-media__story-title
){
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

/* Narrative/UI copy: prefer an intentional final line and keep prose readable. */
:where(
  p,li,blockquote,figcaption,
  .hero-deck,.chapter-deck,.page-intro,.contact-page__intro,
  .faith-intro,.lh-intro,.lh-practice__intro,.man-intro,.off-intro,
  .road-world-intro,.roots-intro,.intro-note,.visual-story__caption,
  .footer-tagline,.footer-byline,.contact-status,.share-status,
  .contact-page__success,.roots-name__status,.timeline-status
){
  text-wrap:pretty;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
  orphans:2;
  widows:2;
}

/* Short UI phrases must never fracture into accidental runts. */
:where(
  .wordmark,.brand-slogan,.nav-link,.utility__button,.menu-trigger,
  .ui-label,.meta-label,.eyebrow,.pending-label,
  .scroll-cue--button,.chapter-nav__eyebrow,
  button,label,input[type="submit"],input[type="button"]
){
  white-space:nowrap;
  text-wrap:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  hyphens:none;
}

/* Reusable semantic phrase lock for proper names / approved brand phrases. */
.phrase-lock{
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

/* Card and modal headings get balanced measure without changing hierarchy. */
:where(
  .chapter-card h2,.chapter-card h3,.chapter-card h4,
  .journal-entry h2,.journal-entry h3,.journal-entry h4,
  .visual-story__copy h2,.dialog__title,.contact-dialog h2,.share-dialog h2,.qr-dialog h2
){
  text-wrap:balance;
  max-inline-size:100%;
}

/* Avoid overly-wide short-copy measures that create isolated last words. */
:where(
  .hero-deck,.chapter-deck,.contact-page__intro,.page-intro,
  .faith-intro,.lh-intro,.man-intro,.off-intro,.road-world-intro,.roots-intro
){
  max-inline-size:min(100%, 38rem);
}

/* Heading measures: enough room for semantic phrases, but still editorial. */
:where(.display-xl,.display-lg,.display-md,h1){
  max-inline-size:min(100%, 14ch);
}
:where(.heading-xl,.heading-lg,h2){
  max-inline-size:min(100%, 22ch);
}
:where(.heading-md,h3){
  max-inline-size:min(100%, 28ch);
}

/* Navigation preserves phrase integrity on desktop. Existing responsive menu\n   remains responsible for narrow widths; do not shrink navigation typography. */
@media (min-width: 72.0001rem){
  .desktop-nav .nav-link{white-space:nowrap!important;}
}

/* Buttons stay on one line when they fit. At genuinely narrow widths, long\n   action labels may use a deliberate centered two-line treatment. */
@media (max-width: 25rem){
  :where(.contact-dialog button,.visual-story__controls button,.visual-story__journal-link){
    white-space:normal;
    text-wrap:balance;
    min-height:var(--tap-target);
    line-height:1.2;
    text-align:center;
  }
}

/* Never let browser-side text inflation create a false orphan/runt on mobile. */
@media (max-width: 47.9375rem){
  :where(h1,h2,h3,h4,h5,h6,p,li,button,a,label){
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }
}

/* ==========================================================================\n   LOCO LIFESTYLE RELEASE 16.0 — GLOBAL VIEWPORT-FIT SYSTEM\n   V15 typography lock preserved. Horizontal wrap + vertical fit are solved\n   together. Major viewport compositions end cleanly; important headings are\n   never clipped by fixed hero geometry or excessive first-section spacing.\n   ========================================================================== */

:root{
  --v16-first-section-y:clamp(3rem,4.5vh,4.5rem);
  --v16-first-section-y-compact:clamp(2.25rem,3.6vh,3.25rem);
  --v16-hero-desktop:clamp(34rem,56dvh,38rem);
  --v16-hero-laptop:clamp(30rem,54dvh,34rem);
  --v16-hero-tablet-landscape:clamp(30rem,58dvh,35rem);
  --v16-hero-tablet-portrait:clamp(34rem,62dvh,40rem);
  --v16-hero-mobile:min(42rem,82dvh);
}

/* Text must never be clipped as a side effect of viewport-fit tuning. */
:where(
  .hero-lockup,.world-hero__copy,.chapter-hero__copy,.faith-story-hero__copy,
  .container--reading,.page-intro,.faith-intro,.lh-intro,.off-intro,
  .roots-intro,.road-world-intro,.man-intro,.chapter-copy,.faith-story-copy
){
  overflow:visible!important;
}

/* First editorial beat after a major hero gets a deliberate compact rhythm. */
#life-beyond,
.faith-intro,
.lh-intro,
.off-intro,
.roots-intro,
.road-world-intro,
.man-intro{
  padding-block:var(--v16-first-section-y)!important;
}

#life-beyond :is(.manifesto-lead,.heading-xl),
:where(.faith-intro,.lh-intro,.off-intro,.roots-intro,.road-world-intro,.man-intro) :is(h1,h2,h3){
  margin-top:clamp(1rem,2vh,1.5rem)!important;
  margin-bottom:clamp(1.25rem,2.2vh,2rem)!important;
}

/* Desktop: hero remains cinematic, but no longer consumes so much vertical
   space that the next major headline is severed by a 1080p viewport. */
@media (min-width:80rem){
  .hero--v13-certified,
  .world-hero--portrait,
  .world-hero.v13-subject-safe-hero,
  .chapter-hero.v13-subject-safe-hero,
  .faith-story-hero.v13-subject-safe-hero{
    min-height:var(--v16-hero-desktop)!important;
    height:var(--v16-hero-desktop)!important;
    max-height:38rem!important;
  }

  .hero--v13-certified .hero-content,
  .world-hero--portrait .world-hero__inner,
  .world-hero.v13-subject-safe-hero .world-hero__inner,
  .chapter-hero.v13-subject-safe-hero .chapter-hero__inner,
  .faith-story-hero.v13-subject-safe-hero .faith-story-hero__inner{
    min-height:100%!important;
    height:100%!important;
  }
}

/* Standard laptop / smaller desktop. */
@media (min-width:64rem) and (max-width:79.9375rem) and (orientation:landscape){
  .hero--v13-certified,
  .world-hero--portrait,
  .world-hero.v13-subject-safe-hero,
  .chapter-hero.v13-subject-safe-hero,
  .faith-story-hero.v13-subject-safe-hero{
    min-height:var(--v16-hero-laptop)!important;
    height:var(--v16-hero-laptop)!important;
    max-height:34rem!important;
  }

  #life-beyond,
  .faith-intro,.lh-intro,.off-intro,.roots-intro,.road-world-intro,.man-intro{
    padding-block:var(--v16-first-section-y-compact)!important;
  }
}

/* Tablet landscape. */
@media (min-width:48rem) and (max-width:63.9375rem) and (orientation:landscape){
  .hero--v13-certified,
  .world-hero--portrait,
  .world-hero.v13-subject-safe-hero,
  .chapter-hero.v13-subject-safe-hero,
  .faith-story-hero.v13-subject-safe-hero{
    min-height:var(--v16-hero-tablet-landscape)!important;
    height:var(--v16-hero-tablet-landscape)!important;
    max-height:35rem!important;
  }

  #life-beyond,
  .faith-intro,.lh-intro,.off-intro,.roots-intro,.road-world-intro,.man-intro{
    padding-block:var(--v16-first-section-y-compact)!important;
  }
}

/* Tablet portrait: allow more vertical hero room, but never force the next
   text block into clipping through an inherited fixed height. */
@media (min-width:48rem) and (max-width:79.9375rem) and (orientation:portrait){
  .hero--v13-certified,
  .world-hero--portrait,
  .world-hero.v13-subject-safe-hero,
  .chapter-hero.v13-subject-safe-hero,
  .faith-story-hero.v13-subject-safe-hero{
    min-height:var(--v16-hero-tablet-portrait)!important;
    height:var(--v16-hero-tablet-portrait)!important;
    max-height:40rem!important;
  }

  #life-beyond,
  .faith-intro,.lh-intro,.off-intro,.roots-intro,.road-world-intro,.man-intro{
    padding-block:clamp(3rem,5vh,4rem)!important;
  }
}

/* Mobile: content controls the final height. No fixed max-height may clip copy. */
@media (max-width:47.9375rem){
  .hero--v13-certified,
  .world-hero--portrait,
  .world-hero.v13-subject-safe-hero,
  .chapter-hero.v13-subject-safe-hero,
  .faith-story-hero.v13-subject-safe-hero{
    min-height:clamp(36rem,78dvh,42rem)!important;
    height:auto!important;
    max-height:none!important;
  }

  .hero--v13-certified .hero-content,
  .world-hero--portrait .world-hero__inner,
  .world-hero.v13-subject-safe-hero .world-hero__inner,
  .chapter-hero.v13-subject-safe-hero .chapter-hero__inner,
  .faith-story-hero.v13-subject-safe-hero .faith-story-hero__inner{
    min-height:inherit!important;
    height:auto!important;
  }

  #life-beyond,
  .faith-intro,.lh-intro,.off-intro,.roots-intro,.road-world-intro,.man-intro{
    padding-block:clamp(2.75rem,8vw,4rem)!important;
  }
}

/* Short desktop/laptop viewports need a dedicated vertical rhythm. This is
   the key V16 safeguard for 1366×768 / 1440×800 class screens. */
@media (min-width:64rem) and (max-height:52rem){
  :root{
    --v16-first-section-y:clamp(2.2rem,4vh,3rem);
  }

  .hero--v13-certified,
  .world-hero--portrait,
  .world-hero.v13-subject-safe-hero,
  .chapter-hero.v13-subject-safe-hero,
  .faith-story-hero.v13-subject-safe-hero{
    min-height:clamp(27rem,52dvh,31rem)!important;
    height:clamp(27rem,52dvh,31rem)!important;
    max-height:31rem!important;
  }

  #life-beyond,
  .faith-intro,.lh-intro,.off-intro,.roots-intro,.road-world-intro,.man-intro{
    padding-block:var(--v16-first-section-y)!important;
  }

  #life-beyond :is(.manifesto-lead,.heading-xl),
  :where(.faith-intro,.lh-intro,.off-intro,.roots-intro,.road-world-intro,.man-intro) :is(h1,h2,h3){
    margin-top:.9rem!important;
    margin-bottom:1.15rem!important;
  }
}

/* Very short landscape devices: let the hero expand if its own text needs it. */
@media (max-height:40.625rem) and (orientation:landscape){
  .hero--v13-certified,
  .world-hero--portrait,
  .world-hero.v13-subject-safe-hero,
  .chapter-hero.v13-subject-safe-hero,
  .faith-story-hero.v13-subject-safe-hero{
    min-height:32rem!important;
    height:auto!important;
    max-height:none!important;
  }
}

/* The V15 line-break lock remains authoritative. V16 only adds vertical-fit
   safety; it never shrinks type merely to force content into a viewport. */

/* V16 viewport-fit QA refinement — final geometry after multi-viewport audit. */
@media (min-width:80rem){
  .hero--v13-certified{
    min-height:clamp(31rem,52dvh,36rem)!important;
    height:clamp(31rem,52dvh,36rem)!important;
    max-height:36rem!important;
  }
  .world-hero--portrait,
  .world-hero.v13-subject-safe-hero{
    min-height:clamp(27rem,46dvh,33rem)!important;
    height:clamp(27rem,46dvh,33rem)!important;
    max-height:33rem!important;
  }
  .chapter-hero.v13-subject-safe-hero,
  .faith-story-hero.v13-subject-safe-hero{
    min-height:clamp(32rem,58dvh,39rem)!important;
    height:auto!important;
    max-height:none!important;
  }
  #life-beyond{padding-block:clamp(2.75rem,4vh,3.75rem)!important;}
  .faith-intro,.lh-intro,.off-intro,.roots-intro,.road-world-intro,.man-intro{
    padding-block:clamp(2.25rem,3.5vh,3rem)!important;
  }
}

@media (min-width:64rem) and (max-width:79.9375rem) and (orientation:landscape){
  .hero--v13-certified{
    min-height:clamp(28rem,50dvh,32rem)!important;
    height:clamp(28rem,50dvh,32rem)!important;
    max-height:32rem!important;
  }
  .world-hero--portrait,
  .world-hero.v13-subject-safe-hero{
    min-height:clamp(24rem,45dvh,29rem)!important;
    height:clamp(24rem,45dvh,29rem)!important;
    max-height:29rem!important;
  }
  .chapter-hero.v13-subject-safe-hero,
  .faith-story-hero.v13-subject-safe-hero{
    min-height:clamp(31rem,62dvh,37rem)!important;
    height:auto!important;
    max-height:none!important;
  }
  #life-beyond{padding-block:clamp(2.4rem,4vh,3.1rem)!important;}
  .faith-intro,.lh-intro,.off-intro,.roots-intro,.road-world-intro,.man-intro{
    padding-block:clamp(2rem,3.5vh,2.65rem)!important;
  }
}

@media (min-width:48rem) and (max-width:63.9375rem) and (orientation:landscape){
  .hero--v13-certified{
    min-height:clamp(29rem,56dvh,33rem)!important;
    height:clamp(29rem,56dvh,33rem)!important;
    max-height:33rem!important;
  }
  .world-hero--portrait,
  .world-hero.v13-subject-safe-hero{
    min-height:clamp(25rem,50dvh,30rem)!important;
    height:clamp(25rem,50dvh,30rem)!important;
    max-height:30rem!important;
  }
  .chapter-hero.v13-subject-safe-hero,
  .faith-story-hero.v13-subject-safe-hero{
    min-height:clamp(32rem,66dvh,39rem)!important;
    height:auto!important;
    max-height:none!important;
  }
  #life-beyond,
  .faith-intro,.lh-intro,.off-intro,.roots-intro,.road-world-intro,.man-intro{
    padding-block:clamp(2.15rem,4vh,2.8rem)!important;
  }
}

@media (min-width:48rem) and (max-width:79.9375rem) and (orientation:portrait){
  .hero--v13-certified{
    min-height:clamp(32rem,56dvh,38rem)!important;
    height:clamp(32rem,56dvh,38rem)!important;
    max-height:38rem!important;
  }
  .world-hero--portrait,
  .world-hero.v13-subject-safe-hero{
    min-height:clamp(30rem,52dvh,36rem)!important;
    height:clamp(30rem,52dvh,36rem)!important;
    max-height:36rem!important;
  }
  .chapter-hero.v13-subject-safe-hero,
  .faith-story-hero.v13-subject-safe-hero{
    min-height:clamp(35rem,62dvh,42rem)!important;
    height:auto!important;
    max-height:none!important;
  }
  #life-beyond,
  .faith-intro,.lh-intro,.off-intro,.roots-intro,.road-world-intro,.man-intro{
    padding-block:clamp(2.5rem,4.5vh,3.5rem)!important;
  }
}

@media (max-width:47.9375rem){
  .hero--v13-certified{
    min-height:clamp(32rem,68dvh,38rem)!important;
    height:auto!important;
    max-height:none!important;
  }
  .world-hero--portrait,
  .world-hero.v13-subject-safe-hero{
    min-height:clamp(28rem,58dvh,34rem)!important;
    height:auto!important;
    max-height:none!important;
  }
  .chapter-hero.v13-subject-safe-hero,
  .faith-story-hero.v13-subject-safe-hero{
    min-height:clamp(34rem,68dvh,40rem)!important;
    height:auto!important;
    max-height:none!important;
  }
  #life-beyond,
  .faith-intro,.lh-intro,.off-intro,.roots-intro,.road-world-intro,.man-intro{
    padding-block:clamp(2.1rem,7vw,3rem)!important;
  }
  .chapter-grid,.chapter-stack,.chapter-card,
  .journal-grid,.journal-entry{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
  }
  .chapter-card .chapter-media,
  .journal-entry :is(.chapter-media,.journal-media,.cinematic-media),
  .chapter-card :is(.picture-frame,.picture-frame__picture,.picture-frame__image){
    max-width:100%!important;
  }
}

/* 360px-class hard guard: no editorial card may force the document wider. */
@media (max-width:23rem){
  .container--wide,.container--reading,.container--header,
  .chapter-grid,.chapter-stack,.chapter-card,.chapter-media,
  .journal-grid,.journal-entry{
    min-width:0!important;
    max-width:100%!important;
  }
  .chapter-card .chapter-media,
  .chapter-card .cinematic-media,
  .chapter-card .picture-frame,
  .chapter-card .picture-frame__picture,
  .chapter-card .picture-frame__image{
    width:100%!important;
    max-width:100%!important;
  }
}

/* V16 final short-viewport and narrow-width release corrections. */
@media (min-width:64rem) and (max-height:52rem){
  .hero--v13-certified{
    min-height:clamp(27rem,50dvh,29rem)!important;
    height:clamp(27rem,50dvh,29rem)!important;
    max-height:29rem!important;
  }
  .world-hero--portrait,
  .world-hero.v13-subject-safe-hero{
    min-height:clamp(22rem,46dvh,26rem)!important;
    height:clamp(22rem,46dvh,26rem)!important;
    max-height:26rem!important;
  }
  .page-intro{
    padding-bottom:clamp(2.75rem,5vh,4rem)!important;
  }
}

@media (max-width:47.9375rem){
  .chapter-card{grid-template-columns:minmax(0,1fr)!important;}
  .timeline-entry,
  .timeline-entry:nth-child(even){
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    box-sizing:border-box!important;
  }
  .lh-close__link{
    white-space:normal!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    max-width:100%!important;
  }
}

@media (min-width:48rem) and (max-width:79.9375rem) and (orientation:portrait){
  .journal-grid{padding-top:clamp(2.5rem,5vh,3.5rem)!important;}
}

/* V16 phrase-integrity refinement: long editorial metadata is not a button.
   It may wrap deliberately rather than forcing a narrow viewport wider. */
@media (max-width:47.9375rem){
  .timeline{grid-template-columns:minmax(0,1fr)!important;}
  .timeline-meta,
  .chapter-card > .meta-label,
  .journal-entry > .meta-label,
  .chapter-hero__meta,
  .faith-story-hero__meta{
    white-space:normal!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

/* ==========================================================================
   LOCO LIFESTYLE — RELEASE 17.0 SHARED GRID SYSTEM
   Shared header · hero · feature · gallery architecture.
   Preserves V15 line-break integrity + V16 viewport-fit system.
   ========================================================================== */

:root {
  --v17-header-h: 5.25rem;
  --v17-header-gap: clamp(.8rem, 1.35vw, 1.35rem);
  --v17-hero-clearance: clamp(1.5rem, 2.5vw, 2.5rem);
  --v17-grid-gap: clamp(1rem, 1.8vw, 1.65rem);
  --v17-gallery-max: 72rem;
  --v17-feature-max: 80rem;
  --v17-card-ratio: 4 / 5;
}

/* Shared header grid: brand, navigation, utilities never compete for the same space. */
@media (min-width: 94.0625rem) {
  :root { --header-h: var(--v17-header-h); }
  .header-inner {
    min-height: var(--header-h) !important;
    grid-template-columns: minmax(15.5rem, 18rem) minmax(0, 1fr) auto !important;
    gap: var(--v17-header-gap) !important;
    align-items: center !important;
  }
  .desktop-nav { display: flex !important; min-width: 0 !important; gap: clamp(.55rem, .85vw, 1rem) !important; }
  .desktop-nav .nav-link { font-size: clamp(.64rem, .63vw, .72rem) !important; letter-spacing: .06em !important; }
  .menu-trigger { display: none !important; }
}
@media (max-width: 94rem) {
  .desktop-nav { display: none !important; }
  .menu-trigger { display: inline-flex !important; }
  .header-inner { grid-template-columns: minmax(0, 1fr) auto !important; gap: .7rem !important; }
  .header-actions { justify-self: end !important; }
}
@media (max-width: 48rem) {
  :root { --header-h: 4.75rem; }
  .header-inner { min-height: var(--header-h) !important; }
}

/* Shared hero grid: mandatory header-safe zone and stable text measure. */
.world-hero--portrait .world-hero__inner {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding-top: calc(var(--header-h) + var(--v17-hero-clearance)) !important;
  padding-bottom: clamp(1.6rem, 3vw, 2.7rem) !important;
}
.world-hero--portrait .world-hero__copy {
  width: min(46rem, 52vw) !important;
  max-width: min(46rem, 52vw) !important;
  gap: clamp(.75rem, 1.25vw, 1.15rem) !important;
  align-content: center !important;
}
.world-hero--portrait .world-hero__copy h1 {
  margin: 0 !important;
  font-size: clamp(3rem, 5vw, 5.65rem) !important;
  line-height: .88 !important;
  max-width: 12ch !important;
  text-wrap: balance !important;
}
.v17-title-line { display: block; white-space: nowrap !important; }
.world-hero--portrait .world-hero__shade {
  background:
    linear-gradient(90deg, rgba(8,8,7,.86) 0%, rgba(8,8,7,.69) 27%, rgba(8,8,7,.34) 47%, rgba(8,8,7,.10) 68%, rgba(8,8,7,.02) 84%, rgba(8,8,7,.01) 100%),
    linear-gradient(to top, rgba(8,8,7,.30), transparent 64%) !important;
}
.world-hero--portrait .world-hero__portrait { inset: 0 !important; width: 100% !important; left: 0 !important; }

/* Short laptop guard: hero text cannot enter the fixed header. */
@media (min-width: 64rem) and (max-height: 52rem) {
  .world-hero--portrait { min-height: clamp(27rem, 56dvh, 31rem) !important; height: clamp(27rem, 56dvh, 31rem) !important; max-height: 31rem !important; }
  .world-hero--portrait .world-hero__inner {
    align-items: flex-end !important;
    padding-top: calc(var(--header-h) + 1rem) !important;
    padding-bottom: 1.55rem !important;
  }
  .world-hero--portrait .world-hero__copy { gap: .65rem !important; }
  .world-hero--portrait .world-hero__copy h1 { font-size: clamp(2.8rem, 4.35vw, 4rem) !important; line-height: .88 !important; }
}
@media (max-width: 63.9375rem) {
  .world-hero--portrait .world-hero__copy { width: min(38rem, 70vw) !important; max-width: min(38rem, 70vw) !important; }
}
@media (max-width: 47.9375rem) {
  .world-hero--portrait .world-hero__inner {
    align-items: flex-end !important;
    padding-top: calc(var(--header-h) + 1.25rem) !important;
    padding-bottom: max(2.25rem, env(safe-area-inset-bottom)) !important;
  }
  .world-hero--portrait .world-hero__copy { width: 100% !important; max-width: 100% !important; }
  .world-hero--portrait .world-hero__copy h1 { font-size: clamp(2.75rem, 13vw, 4.25rem) !important; max-width: 10.5ch !important; }
  .v17-title-line { white-space: normal !important; }
  .world-hero--portrait .world-hero__shade {
    background: linear-gradient(to top, rgba(8,8,7,.94) 0%, rgba(8,8,7,.70) 33%, rgba(8,8,7,.24) 63%, rgba(8,8,7,.05) 100%) !important;
  }
}

/* Shared feature grid — Loco Hiker feature is optically centered between equal images. */
.hiker-main {
  width: 100% !important;
  max-width: var(--v17-feature-max) !important;
  margin-inline: auto !important;
  grid-template-columns: minmax(0, 1fr) minmax(19rem, 23rem) minmax(0, 1fr) !important;
  gap: clamp(1.5rem, 3vw, 3rem) !important;
  align-items: center !important;
}
.hiker-media {
  width: min(100%, 22rem) !important;
  max-width: 22rem !important;
  aspect-ratio: var(--v17-card-ratio) !important;
  transform: none !important;
  margin: 0 !important;
  justify-self: center !important;
}
.hiker-content {
  grid-column: auto !important; grid-row: auto !important; margin: 0 !important;
  width: 100% !important; max-width: 23rem !important;
  justify-self: center !important; justify-items: center !important;
  align-content: center !important; text-align: center !important;
  gap: clamp(.8rem, 1.6vw, 1.25rem) !important;
}
.hiker-content :is(.descriptor, .motto, .domain) { margin-inline: auto !important; text-align: center !important; }
.hiker-content .motto { max-width: 13ch !important; margin-block: .6rem !important; }
.hiker-content .btn { justify-self: center !important; }

@media (min-width: 48rem) and (max-width: 63.9375rem) {
  .hiker-main { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hiker-content { grid-column: 1 / -1 !important; grid-row: 1 !important; max-width: 34rem !important; margin: 0 auto var(--space-5) !important; }
  .hiker-media--primary { grid-column: 1 !important; grid-row: 2 !important; }
  .hiker-media--secondary { grid-column: 2 !important; grid-row: 2 !important; }
}
@media (max-width: 47.9375rem) {
  .hiker-main { grid-template-columns: 1fr !important; gap: var(--space-5) !important; }
  .hiker-content { grid-column: 1 !important; grid-row: 1 !important; order: initial !important; max-width: 30rem !important; margin-inline: auto !important; }
  .hiker-media--primary { grid-column: 1 !important; grid-row: 2 !important; order: initial !important; }
  .hiker-media--secondary { grid-column: 1 !important; grid-row: 3 !important; order: initial !important; margin-top: 0 !important; }
}

/* Shared gallery/card geometry: equal frames, equal gaps, no stagger transforms. */
:is(.hiker-sequence, .mosaic, .lh-gallery__grid, .off-journal__grid, .road-world-gallery__grid) {
  width: 100% !important;
  max-width: var(--v17-gallery-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: var(--v17-grid-gap) !important;
  align-items: start !important;
}
:is(.sequence-frame, .tile, .lh-frame, .off-frame, .road-world-frame) {
  width: 100% !important; max-width: none !important;
  margin: 0 !important; transform: none !important;
  aspect-ratio: var(--v17-card-ratio) !important;
  overflow: hidden !important; background: var(--color-night) !important;
}
:is(.sequence-frame, .tile, .lh-frame, .off-frame, .road-world-frame) :is(.cinematic-media, .cinematic-media__visual, .picture-frame, .picture-frame__picture) {
  width: 100% !important; height: 100% !important; max-width: none !important;
}
:is(.sequence-frame, .tile, .lh-frame, .off-frame, .road-world-frame) img {
  width: 100% !important; height: 100% !important; max-width: none !important;
  object-fit: contain !important; object-position: center center !important;
  transform: none !important; filter: none !important;
}

.hiker-sequence, .mosaic { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
#off-trail .mosaic blockquote { grid-column: 1 / -1 !important; margin: clamp(1.25rem, 2.5vw, 2rem) 0 0 !important; }
.off-journal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.off-journal__copy { grid-column: 1 / -1 !important; grid-row: auto !important; margin-top: clamp(1.25rem, 2.5vw, 2.25rem) !important; max-width: 46rem !important; }
.lh-gallery__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.road-world-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.road-world-frame, .road-world-frame--wide, .road-world-frame--offset { grid-column: auto !important; grid-row: auto !important; margin-top: 0 !important; }

@media (max-width: 79.9375rem) {
  .hiker-sequence, .mosaic, .lh-gallery__grid, .off-journal__grid, .road-world-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 34rem) {
  .hiker-sequence, .mosaic, .lh-gallery__grid, .off-journal__grid, .road-world-gallery__grid { grid-template-columns: 1fr !important; max-width: 28rem !important; }
}

:is(.lh-section-heading, .road-world-gallery__heading) {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: clamp(1.5rem, 3vw, 3rem) !important;
}
@media (max-width: 48rem) {
  :is(.lh-section-heading, .road-world-gallery__heading) { grid-template-columns: 1fr !important; align-items: start !important; }
}

/* Release 17 collision hard gate. */
.site-header + main :is(.world-hero, .hero, .chapter-hero, .faith-story-hero) { scroll-margin-top: var(--header-h); }
.world-hero--portrait :is(.meta-label, h1, p, .world-hero__motto) { position: relative; z-index: 3; }

/* V17 final collision + gallery normalization refinement. */
@media (min-width:48.0625rem){
  :root{--header-h:5.25rem;}
  .header-inner{min-height:var(--header-h)!important;}
}

.lh-frame--1,.lh-frame--2,.lh-frame--3,.lh-frame--4,.lh-frame--5,.lh-frame--6,
.off-frame--a,.off-frame--b,.off-frame--c,.off-frame--d,.off-frame--e{
  grid-column:auto!important;
  grid-row:auto!important;
  margin:0!important;
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
}

/* Homepage short-screen safety: the brand/title block begins below the fixed header. */
@media (min-width:64rem) and (max-height:52rem){
  .hero--v13-certified{
    min-height:30rem!important;
    height:30rem!important;
    max-height:30rem!important;
  }
  .hero--v13-certified .hero-content{
    min-height:100%!important;
    height:100%!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding-top:calc(var(--header-h) + 1rem)!important;
    padding-bottom:1.35rem!important;
  }
  .hero--v13-certified .hero-lockup{gap:.72rem!important;}
  .hero--v13-certified #hero-title{font-size:clamp(3.6rem,6.1vw,5.15rem)!important;line-height:.83!important;}
  .hero--v13-certified .hero-deck{font-size:1rem!important;line-height:1.42!important;}
  .hero--v13-certified .scroll-cue--button{margin-top:.45rem!important;}
}

/* V17 desktop hero clearance refinement: keep homepage lockup entirely below
   the shared fixed header on the 1505–1700px desktop band without changing
   type scale or the approved V16 viewport-fit geometry. */
@media (min-width:94.0625rem) and (max-width:106.25rem) and (min-height:52.0625rem){
  .hero--v13-certified .hero-lockup{transform:translateY(.65rem)!important;}
}


/* ==========================================================================
   LOCO LIFESTYLE — RELEASE 20.0
   CAZONCI GLOBAL MEDIA + TYPOGRAPHY HARMONY LOCK
   Equal peer frames · subject-safe containment · compact brand lockup ·
   orphan/runt/broken-word hard gate. V15/V16/V17 systems preserved.
   ========================================================================== */

:root{
  --v20-peer-ratio:4 / 5;
  --v20-peer-gap:clamp(1rem,1.8vw,1.65rem);
  --v20-brand-gap:.10rem;
}

/* Brand and slogan read as one optical lockup. */
.brand-lockup{
  gap:var(--v20-brand-gap)!important;
  align-content:center!important;
  line-height:1!important;
}
.brand-slogan{
  margin-top:-.04rem!important;
  line-height:1.05!important;
}
@media(max-width:48rem){
  .brand-lockup{gap:.06rem!important;}
  .brand-slogan{margin-top:-.02rem!important;}
}

/* --------------------------------------------------------------------------
   TYPOGRAPHY HARD GATE
   Never split a word or strand a single character. Fewer balanced lines win.
   -------------------------------------------------------------------------- */
:where(h1,h2,h3,h4,h5,h6,.display-xl,.display-lg,.display-md,.heading-xl,.heading-lg,.heading-md){
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* Editorial headings get enough measure to avoid unnecessary 3/4-line stacks. */
:where(.display-md,.heading-xl,h2){
  max-inline-size:min(100%,24ch)!important;
}
:where(.display-lg,h1){
  max-inline-size:min(100%,16ch)!important;
}

/* Deliberate two-line lock: only used where the approved phrase genuinely fits. */
.v20-two-line-title{max-inline-size:none!important;}
.v20-two-line-title > .v20-title-line{display:block;white-space:nowrap!important;}
@media(max-width:47.9375rem){
  .v20-two-line-title > .v20-title-line{white-space:normal!important;}
}

/* Loco Hiker practice heading: structural measure fix, not font shrinking. */
@media(min-width:64rem){
  .lh-practice__grid{
    grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)!important;
    gap:clamp(3rem,6vw,6rem)!important;
  }
  .lh-practice__intro h2{
    max-width:18ch!important;
    inline-size:min(100%,18ch)!important;
  }
}
@media(min-width:48rem) and (max-width:63.9375rem){
  .lh-practice__intro h2{max-width:20ch!important;inline-size:100%!important;}
}

/* --------------------------------------------------------------------------
   PEER IMAGE HARMONY
   Same row / same role = identical frame geometry and spacing.
   Preserve people with contain when source ratios differ.
   -------------------------------------------------------------------------- */
:is(
  .hiker-media,
  .faith-frame,
  .roots-frame,
  .man-frame,
  .sequence-frame,
  .tile,
  .lh-frame,
  .off-frame,
  .road-world-frame,
  .journal-entry__media,
  .chapter-card .chapter-media,
  .faith-primary,.faith-secondary,
  .roots-primary,.roots-secondary,
  .man-primary,.man-secondary,
  .road-frame
){
  aspect-ratio:var(--v20-peer-ratio)!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  transform:none!important;
  overflow:hidden!important;
  background:var(--color-media-fallback)!important;
}

:is(
  .hiker-media,
  .faith-frame,
  .roots-frame,
  .man-frame,
  .sequence-frame,
  .tile,
  .lh-frame,
  .off-frame,
  .road-world-frame,
  .journal-entry__media,
  .chapter-card .chapter-media,
  .faith-primary,.faith-secondary,
  .roots-primary,.roots-secondary,
  .man-primary,.man-secondary,
  .road-frame
) :is(.cinematic-media,.cinematic-media__visual,.picture-frame,.picture-frame__picture){
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  aspect-ratio:auto!important;
}

:is(
  .hiker-media,
  .faith-frame,
  .roots-frame,
  .man-frame,
  .sequence-frame,
  .tile,
  .lh-frame,
  .off-frame,
  .road-world-frame,
  .journal-entry__media,
  .chapter-card .chapter-media,
  .faith-primary,.faith-secondary,
  .roots-primary,.roots-secondary,
  .man-primary,.man-secondary,
  .road-frame
) img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:var(--v20-focal,50% 50%)!important;
  transform:none!important;
  filter:none!important;
}

/* Roots pair: the two photographs are explicitly equal. The second image's
   4:5 visual scale becomes the shared standard; copy receives its own column. */
.roots-gallery__grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(18rem,.95fr)!important;
  gap:var(--v20-peer-gap)!important;
  align-items:center!important;
  max-width:80rem!important;
  margin-inline:auto!important;
}
.roots-gallery__grid > .roots-frame{
  aspect-ratio:4/5!important;
  align-self:center!important;
}
.roots-gallery__grid > .roots-frame img{
  object-fit:contain!important;
  object-position:center center!important;
}
.roots-gallery__copy{align-self:center!important;}

/* Other paired editorial modules: equal media columns. */
.faith-pair__grid,
.man-pair__grid{
  grid-template-columns:minmax(0,1fr) minmax(18rem,.82fr) minmax(0,1fr)!important;
  gap:var(--v20-peer-gap)!important;
  align-items:center!important;
}
.faith-pair__grid > .faith-frame,
.man-pair__grid > .man-frame{
  width:100%!important;
  aspect-ratio:var(--v20-peer-ratio)!important;
}

/* Shared grouped-image grids use one gap and stretch equal peer cells. */
:is(
  .hiker-sequence,.mosaic,.lh-gallery__grid,.off-journal__grid,
  .road-world-gallery__grid,.journal-grid,.faith-media,.roots-media,
  .man-media,.road-sequence
){
  gap:var(--v20-peer-gap)!important;
  align-items:stretch!important;
}

/* Journal cards share one media height family rather than source-driven sizes. */
.journal-entry__media{aspect-ratio:4/5!important;}

/* Responsive paired-media geometry. */
@media(min-width:48rem) and (max-width:79.9375rem){
  .roots-gallery__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .roots-gallery__copy{
    grid-column:1 / -1!important;
    grid-row:1!important;
    max-width:42rem!important;
    margin-bottom:clamp(1.5rem,3vw,2.5rem)!important;
  }
  .roots-gallery__grid > .roots-frame{grid-row:2!important;}
  .faith-pair__grid,.man-pair__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .faith-pair__copy,.man-pair__copy{grid-column:1/-1!important;grid-row:1!important;max-width:42rem!important;}
}

@media(max-width:47.9375rem){
  .roots-gallery__grid,.faith-pair__grid,.man-pair__grid{
    grid-template-columns:1fr!important;
    gap:clamp(1.25rem,5vw,2rem)!important;
  }
  .roots-gallery__copy,.faith-pair__copy,.man-pair__copy{
    grid-column:1!important;
    grid-row:auto!important;
    max-width:100%!important;
  }
  .roots-gallery__grid > .roots-frame,
  .faith-pair__grid > .faith-frame,
  .man-pair__grid > .man-frame{
    width:min(100%,28rem)!important;
    justify-self:center!important;
  }
}

/* Long semantic labels/CTAs may use an intentional two-line treatment on
   narrow mobile, but words themselves may never split. */
@media(max-width:25rem){
  :where(.ui-label,.meta-label,.chapter-link__action,.text-link span,.utility__button){
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
}

/* Production hard gate: never hide text merely because a container was tuned. */
:where(h1,h2,h3,h4,h5,h6,p,.meta-label,.ui-label,.brand-slogan){
  text-overflow:clip!important;
}


/* V20 final mobile phrase-flow refinement. */
@media(max-width:47.9375rem){
  .v20-two-line-title > .v20-title-line{display:inline!important;white-space:normal!important;}
  .world-hero--portrait .world-hero__copy h1{max-width:100%!important;inline-size:100%!important;}
  .world-hero--portrait .v17-title-line{display:block!important;white-space:nowrap!important;}
}

/* V22 DESKTOP INTERIOR HERO MEDIA REBALANCE — surgical over V20 baseline */
@media (min-width:64rem){
  .world-hero--portrait .world-hero__portrait{
    inset:0 0 0 auto!important;
    left:auto!important;
    right:0!important;
    width:34%!important;
    height:100%!important;
    background:#11110f!important;
    overflow:hidden!important;
  }
  .world-hero--portrait .world-hero__portrait :is(.cinematic-media,.picture-frame,.picture-frame__picture){
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;
  }
  .world-hero--portrait .world-hero__portrait img{
    width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 0%!important;
  }
  .world-hero--portrait .world-hero__shade{
    background:linear-gradient(90deg,rgba(8,8,7,1) 0%,rgba(8,8,7,1) 52%,rgba(8,8,7,.94) 58%,rgba(8,8,7,.58) 64%,rgba(8,8,7,.14) 70%,rgba(8,8,7,0) 75%)!important;
  }
  .world-hero--portrait .world-hero__inner{padding-right:38%!important;}
  .world-hero--portrait .world-hero__copy{width:min(42rem,100%)!important;max-width:min(42rem,100%)!important;}
}

/* ==========================================================================\n   LOCO LIFESTYLE — RELEASE 29.0 SHARED MASTER HERO + CENTERED EDITORIAL SYSTEM\n   Governing rule: one homepage master hero photograph / one top-level hero\n   geometry / no right-corner portrait panels / centered page identity.\n   ========================================================================== */

/* Primary top-level tabs now inherit the homepage photograph as one continuous
   edge-to-edge hero canvas. Original source proportions are never distorted. */
.world-hero.v29-shared-master-hero{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  min-height:clamp(31rem,64svh,43rem)!important;
  min-height:clamp(31rem,64dvh,43rem)!important;
  background:#11110f!important;
  color:var(--color-text-light)!important;
}
.world-hero.v29-shared-master-hero .world-hero__master-media,
.world-hero.v29-shared-master-hero .world-hero__master-picture,
.world-hero.v29-shared-master-hero .world-hero__master-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.world-hero.v29-shared-master-hero .world-hero__master-media{z-index:-3!important;overflow:hidden!important;background:#11110f!important;}
.world-hero.v29-shared-master-hero .world-hero__master-image{
  object-fit:cover!important;
  object-position:50% 44%!important;
  max-width:none!important;
  transform:none!important;
  filter:saturate(.96) brightness(.80)!important;
}
.world-hero.v29-shared-master-hero .world-hero__shade{
  z-index:-1!important;
  background:
    linear-gradient(180deg,rgba(7,7,6,.32) 0%,rgba(7,7,6,.10) 32%,rgba(7,7,6,.28) 68%,rgba(7,7,6,.52) 100%),
    linear-gradient(90deg,rgba(7,7,6,.46) 0%,rgba(7,7,6,.18) 28%,rgba(7,7,6,.10) 50%,rgba(7,7,6,.14) 72%,rgba(7,7,6,.32) 100%)!important;
}
.world-hero.v29-shared-master-hero .world-hero__inner{
  min-height:inherit!important;
  display:grid!important;
  place-items:center!important;
  padding-top:calc(var(--header-h) + clamp(2.4rem,5vh,4.5rem))!important;
  padding-bottom:clamp(3rem,6vh,5rem)!important;
  text-align:center!important;
}
.world-hero.v29-shared-master-hero .world-hero__copy{
  width:min(100%,64rem)!important;
  max-width:64rem!important;
  margin-inline:auto!important;
  display:grid!important;
  justify-items:center!important;
  text-align:center!important;
  gap:clamp(.8rem,1.6vw,1.3rem)!important;
}
.world-hero.v29-shared-master-hero .world-hero__copy > *{margin-inline:auto!important;}
.world-hero.v29-shared-master-hero h1{
  margin:0!important;
  max-width:14ch!important;
  text-align:center!important;
  text-wrap:balance!important;
  text-shadow:0 2px 28px rgba(0,0,0,.34)!important;
}
.world-hero.v29-shared-master-hero p{
  max-width:48rem!important;
  text-align:center!important;
  text-wrap:balance!important;
  text-shadow:0 1px 20px rgba(0,0,0,.34)!important;
}
.world-hero.v29-shared-master-hero .world-hero__motto{
  margin-top:.15rem!important;
  text-align:center!important;
  text-wrap:balance!important;
  text-shadow:0 1px 20px rgba(0,0,0,.34)!important;
}
.world-hero.v29-shared-master-hero .v29-hero-deck{
  max-width:46rem!important;
  margin:0!important;
  font-family:var(--font-editorial)!important;
  font-size:clamp(1rem,1.45vw,1.28rem)!important;
  line-height:1.55!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:rgba(244,240,231,.88)!important;
  text-wrap:pretty!important;
}
.world-hero.v29-shared-master-hero .v29-hero-kicker-copy{
  margin:0!important;
  max-width:42rem!important;
}

/* The obsolete right-side portrait architecture is completely suppressed for
   V29 top-level heroes; there is only one master image plane. */
.world-hero.v29-shared-master-hero :is(.world-hero__ambient,.world-hero__portrait,.world-hero__media){display:none!important;}

/* Center the first editorial statement beneath each top-level hero. Preserve
   readable measure; center the composition rather than stretching prose. */
:is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) > .container--reading{
  max-width:min(100%,68rem)!important;
  margin-inline:auto!important;
  text-align:center!important;
}
:is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) .meta-label{
  text-align:center!important;
}
:is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) h2{
  max-width:20ch!important;
  margin:var(--space-4) auto var(--space-6)!important;
  text-align:center!important;
  text-wrap:balance!important;
}
:is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) p{
  max-width:48rem!important;
  margin-inline:auto!important;
  text-align:center!important;
  text-wrap:pretty!important;
}
:is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) p + p{margin-top:var(--space-4)!important;}
:is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) .chapter-link{
  width:min(100%,48rem)!important;
  margin-inline:auto!important;
  text-align:center!important;
}

/* Medium screens preserve the shared composition without crowding the header. */
@media(max-width:79.9375rem){
  .world-hero.v29-shared-master-hero{
    min-height:clamp(32rem,68svh,44rem)!important;
    min-height:clamp(32rem,68dvh,44rem)!important;
  }
  .world-hero.v29-shared-master-hero .world-hero__master-image{object-position:52% 42%!important;}
  .world-hero.v29-shared-master-hero .world-hero__inner{
    padding-top:calc(var(--header-h) + clamp(2rem,4vh,3rem))!important;
    padding-inline:max(var(--page-pad),env(safe-area-inset-left))!important;
  }
  .world-hero.v29-shared-master-hero h1{max-width:12ch!important;}
}

/* Phone layouts stay full-width. Text remains centered and the hero source is
   top-biased enough to preserve the subject's head while maintaining context. */
@media(max-width:47.9375rem){
  .world-hero.v29-shared-master-hero{
    min-height:clamp(34rem,76svh,43rem)!important;
    min-height:clamp(34rem,76dvh,43rem)!important;
  }
  .world-hero.v29-shared-master-hero .world-hero__master-image{
    object-position:58% 38%!important;
  }
  .world-hero.v29-shared-master-hero .world-hero__shade{
    background:
      linear-gradient(180deg,rgba(7,7,6,.34) 0%,rgba(7,7,6,.10) 28%,rgba(7,7,6,.34) 60%,rgba(7,7,6,.82) 100%)!important;
  }
  .world-hero.v29-shared-master-hero .world-hero__inner{
    align-items:end!important;
    place-items:end center!important;
    padding-top:calc(var(--header-h) + 3rem)!important;
    padding-bottom:max(clamp(2.75rem,8vh,4.5rem),env(safe-area-inset-bottom))!important;
  }
  .world-hero.v29-shared-master-hero .world-hero__copy{max-width:32rem!important;}
  .world-hero.v29-shared-master-hero h1{max-width:10ch!important;}
  .world-hero.v29-shared-master-hero p{max-width:28rem!important;}
}

/* Narrow-mobile line integrity. */
@media(max-width:25rem){
  .world-hero.v29-shared-master-hero h1{font-size:clamp(2.45rem,12vw,3.15rem)!important;}
  :is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) h2{max-width:15ch!important;}
}

/* ==========================================================================
   LOCO LIFESTYLE — RELEASE 31.0 MASTER LAYOUT
   Centered editorial modules · canonical hero-title typography ·
   subject-safe cover media · zero letterboxing.
   Governing reference: approved homepage composition.
   ========================================================================== */

:root{
  --v31-hero-title-size:var(--type-display-xl);
  --v31-hero-title-leading:var(--leading-display-xl);
  --v31-hero-title-tracking:var(--tracking-display-xl);
  --v31-editorial-max:72rem;
  --v31-editorial-heading-measure:26ch;
  --v31-editorial-copy-measure:52rem;
}

/* --------------------------------------------------------------------------
   CANONICAL HERO TITLE SYSTEM
   Home and every primary-tab hero use the same editorial face, size,
   weight, line-height and tracking. Longer titles wrap by measure only.
   -------------------------------------------------------------------------- */
.hero--v13-certified #hero-title,
.world-hero.v29-shared-master-hero h1{
  font-family:var(--font-editorial)!important;
  font-size:var(--v31-hero-title-size)!important;
  line-height:var(--v31-hero-title-leading)!important;
  letter-spacing:var(--v31-hero-title-tracking)!important;
  font-weight:700!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.world-hero.v29-shared-master-hero h1{
  width:auto!important;
  max-width:min(100%,16ch)!important;
  margin-inline:auto!important;
}
.world-hero.v29-shared-master-hero .v17-title-line{
  white-space:normal!important;
  display:inline!important;
}
.world-hero.v29-shared-master-hero .v17-title-line + .v17-title-line::before{
  content:" ";
}

/* Home retains its approved deliberate two-line lockup. */
.hero--v13-certified #hero-title{
  max-width:8ch!important;
}
.hero--v13-certified #hero-title .hero-title-line{
  display:block!important;
  white-space:nowrap!important;
}

/* --------------------------------------------------------------------------
   PRIMARY EDITORIAL MODULE PARITY
   The homepage's centered content rhythm becomes the site-wide reference.
   The module is centered; headline and supporting copy share one optical axis.
   -------------------------------------------------------------------------- */
:is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro){
  width:100%!important;
}
:is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) > .container--reading{
  width:min(100%,var(--v31-editorial-max))!important;
  max-width:var(--v31-editorial-max)!important;
  margin-inline:auto!important;
  padding-inline:max(var(--page-pad),env(safe-area-inset-left))!important;
  display:grid!important;
  justify-items:center!important;
  align-content:start!important;
  text-align:center!important;
}
:is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) .meta-label{
  width:100%!important;
  margin-inline:auto!important;
  text-align:center!important;
}
:is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) h2{
  width:min(100%,var(--v31-editorial-heading-measure))!important;
  max-width:var(--v31-editorial-heading-measure)!important;
  margin:var(--space-4) auto var(--space-5)!important;
  text-align:center!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
:is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) p{
  width:min(100%,var(--v31-editorial-copy-measure))!important;
  max-width:var(--v31-editorial-copy-measure)!important;
  margin-inline:auto!important;
  text-align:center!important;
  text-wrap:pretty!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
:is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) p + p{
  margin-top:var(--space-4)!important;
}
:is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) :is(.chapter-link,.road-chapter-link){
  width:min(100%,var(--v31-editorial-copy-measure))!important;
  max-width:var(--v31-editorial-copy-measure)!important;
  margin-inline:auto!important;
  text-align:center!important;
}

/* Keep key display statements to the fewest professional lines possible.
   Solve line count with measure first, never by breaking words or shrinking type. */
@media(min-width:64rem){
  :is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) h2{
    max-width:26ch!important;
    width:min(100%,26ch)!important;
  }
}
@media(min-width:48rem) and (max-width:63.9375rem){
  :is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) h2{
    max-width:22ch!important;
    width:min(100%,22ch)!important;
  }
}
@media(max-width:47.9375rem){
  :root{
    --v31-editorial-heading-measure:18ch;
    --v31-editorial-copy-measure:34rem;
  }
  :is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) > .container--reading{
    max-width:100%!important;
  }
  .world-hero.v29-shared-master-hero h1{
    max-width:min(100%,12ch)!important;
  }
  .hero--v13-certified #hero-title,
  .world-hero.v29-shared-master-hero h1{
    font-size:clamp(3.15rem,12vw,4.35rem)!important;
    line-height:.88!important;
  }
}
@media(max-width:25rem){
  .hero--v13-certified #hero-title,
  .world-hero.v29-shared-master-hero h1{
    font-size:clamp(2.8rem,13vw,3.45rem)!important;
  }
  :is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro) h2{
    max-width:16ch!important;
    width:min(100%,16ch)!important;
  }
}

/* --------------------------------------------------------------------------
   ZERO-LETTERBOX MEDIA HARD GATE
   Equal frames remain equal. Images fill the complete frame with cover.
   Existing per-image focal coordinates remain authoritative so heads/faces
   stay protected while unused background is cropped first.
   -------------------------------------------------------------------------- */
:is(
  .hiker-media,
  .faith-frame,
  .roots-frame,
  .man-frame,
  .sequence-frame,
  .tile,
  .lh-frame,
  .off-frame,
  .road-world-frame,
  .journal-entry__media,
  .chapter-card .chapter-media,
  .faith-primary,.faith-secondary,
  .roots-primary,.roots-secondary,
  .man-primary,.man-secondary,
  .road-frame,
  .split-media,
  .faith-featured-story__media
){
  overflow:hidden!important;
  background:var(--color-media-fallback)!important;
}
:is(
  .hiker-media,
  .faith-frame,
  .roots-frame,
  .man-frame,
  .sequence-frame,
  .tile,
  .lh-frame,
  .off-frame,
  .road-world-frame,
  .journal-entry__media,
  .chapter-card .chapter-media,
  .faith-primary,.faith-secondary,
  .roots-primary,.roots-secondary,
  .man-primary,.man-secondary,
  .road-frame,
  .split-media,
  .faith-featured-story__media
) :is(.cinematic-media,.cinematic-media__visual,.picture-frame,.picture-frame__picture){
  width:100%!important;
  height:100%!important;
  max-width:none!important;
}
:is(
  .hiker-media,
  .faith-frame,
  .roots-frame,
  .man-frame,
  .sequence-frame,
  .tile,
  .lh-frame,
  .off-frame,
  .road-world-frame,
  .journal-entry__media,
  .chapter-card .chapter-media,
  .faith-primary,.faith-secondary,
  .roots-primary,.roots-secondary,
  .man-primary,.man-secondary,
  .road-frame,
  .split-media,
  .faith-featured-story__media
) img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:var(--focal-desktop,var(--media-focal-desktop,50% 42%))!important;
  transform:none!important;
}
@media(max-width:48rem){
  :is(
    .hiker-media,
    .faith-frame,
    .roots-frame,
    .man-frame,
    .sequence-frame,
    .tile,
    .lh-frame,
    .off-frame,
    .road-world-frame,
    .journal-entry__media,
    .chapter-card .chapter-media,
    .faith-primary,.faith-secondary,
    .roots-primary,.roots-secondary,
    .man-primary,.man-secondary,
    .road-frame,
    .split-media,
    .faith-featured-story__media
  ) img{
    object-position:var(--focal-mobile,var(--media-focal-mobile,50% 38%))!important;
  }
}

/* Primary and shared hero imagery also fills its complete rectangle. */
.hero--v13-certified .hero-media img,
.world-hero.v29-shared-master-hero .world-hero__master-image{
  object-fit:cover!important;
  max-width:none!important;
}

/* Decorative bars are never created by image-fit behavior. */
:is(.picture-frame,.cinematic-media){
  background-clip:padding-box!important;
}

/* Higher-specificity V20 pair exceptions are explicitly superseded by V31's
   zero-letterbox rule. Equal geometry remains; only image fit changes. */
.roots-gallery__grid > .roots-frame img{
  object-fit:cover!important;
  object-position:var(--focal-desktop,var(--media-focal-desktop,50% 42%))!important;
}
@media(max-width:48rem){
  .roots-gallery__grid > .roots-frame img{
    object-position:var(--focal-mobile,var(--media-focal-mobile,50% 38%))!important;
  }
}

/* ==========================================================================
   LOCO LIFESTYLE — RELEASE 32.0 GLOBAL TRUE-CENTER EDITORIAL SYSTEM
   V31 preserved. This layer corrects the remaining left-biased max-inline-size
   constraint, centers the actual editorial composition, tightens the first
   What Shaped Me chapter to the hero, and keeps typography/media locks intact.
   ========================================================================== */

:root{
  --v32-editorial-shell-max:78rem;
  --v32-editorial-heading-measure:30ch;
  --v32-editorial-copy-measure:52rem;
  --v32-timeline-max:64rem;
  --v32-timeline-entry-max:60rem;
  --v32-hero-to-chapter-gap:clamp(1.35rem,2.2vw,2.25rem);
}

/* V15 placed a 38rem max-inline-size directly on these section elements.
   That constrained the entire section to the left even when its child container
   was centered. V32 explicitly removes that inherited section-level cap. */
.lh-intro,
.faith-intro,
.roots-intro,
.road-world-intro,
.off-intro,
.man-intro{
  width:100%!important;
  max-width:none!important;
  max-inline-size:none!important;
  margin-inline:0!important;
  padding-inline:0!important;
}

/* One centered editorial axis across every primary page. */
.lh-intro > .container--reading,
.faith-intro > .container--reading,
.roots-intro > .container--reading,
.road-world-intro > .container--reading,
.off-intro > .container--reading,
.man-intro > .container--reading{
  width:min(100%,var(--v32-editorial-shell-max))!important;
  max-width:var(--v32-editorial-shell-max)!important;
  max-inline-size:var(--v32-editorial-shell-max)!important;
  margin-inline:auto!important;
  padding-left:max(var(--page-pad),env(safe-area-inset-left))!important;
  padding-right:max(var(--page-pad),env(safe-area-inset-right))!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:center!important;
  align-items:start!important;
  text-align:center!important;
}

.lh-intro .meta-label,
.faith-intro .meta-label,
.roots-intro .meta-label,
.road-world-intro .meta-label,
.off-intro .meta-label,
.man-intro .meta-label{
  width:100%!important;
  max-width:100%!important;
  margin-inline:auto!important;
  text-align:center!important;
}

.lh-intro h2,
.faith-intro h2,
.roots-intro h2,
.road-world-intro h2,
.off-intro h2,
.man-intro h2{
  width:min(100%,var(--v32-editorial-heading-measure))!important;
  max-width:var(--v32-editorial-heading-measure)!important;
  max-inline-size:var(--v32-editorial-heading-measure)!important;
  margin:clamp(.9rem,1.7vw,1.35rem) auto clamp(1.35rem,2.4vw,2rem)!important;
  font-family:var(--font-editorial)!important;
  font-size:var(--type-display-md)!important;
  line-height:var(--leading-display-md)!important;
  letter-spacing:var(--tracking-display-md)!important;
  font-weight:600!important;
  text-align:center!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

.lh-intro p,
.faith-intro p,
.roots-intro p,
.road-world-intro p,
.off-intro p,
.man-intro p{
  width:min(100%,var(--v32-editorial-copy-measure))!important;
  max-width:var(--v32-editorial-copy-measure)!important;
  max-inline-size:var(--v32-editorial-copy-measure)!important;
  margin-inline:auto!important;
  text-align:center!important;
  text-wrap:pretty!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

.lh-intro :is(.chapter-link,.road-chapter-link),
.faith-intro :is(.chapter-link,.road-chapter-link),
.roots-intro :is(.chapter-link,.road-chapter-link),
.road-world-intro :is(.chapter-link,.road-chapter-link),
.off-intro :is(.chapter-link,.road-chapter-link),
.man-intro :is(.chapter-link,.road-chapter-link){
  width:min(100%,var(--v32-editorial-copy-measure))!important;
  max-width:var(--v32-editorial-copy-measure)!important;
  margin-inline:auto!important;
  text-align:center!important;
}

/* What Shaped Me timeline: reduce the hero-to-first-chapter dead zone and
   center each chapter's actual content while preserving the timeline line,
   markers, publication states, and major-chapter treatments. */
.timeline-wrap{
  padding-top:var(--v32-hero-to-chapter-gap)!important;
  padding-bottom:clamp(4rem,6vw,6.5rem)!important;
}
.timeline{
  width:min(100%,var(--v32-timeline-max))!important;
  max-width:var(--v32-timeline-max)!important;
  max-inline-size:var(--v32-timeline-max)!important;
  margin-inline:auto!important;
  gap:clamp(3.25rem,5vw,5.25rem)!important;
}
.timeline-entry,
.timeline-entry:nth-child(even){
  width:min(100%,var(--v32-timeline-entry-max))!important;
  max-width:var(--v32-timeline-entry-max)!important;
  max-inline-size:var(--v32-timeline-entry-max)!important;
  margin-inline:auto!important;
  padding-left:clamp(3.25rem,4vw,3.75rem)!important;
  padding-right:clamp(3.25rem,4vw,3.75rem)!important;
  text-align:center!important;
}
.timeline-entry .timeline-meta,
.timeline-entry .timeline-status{
  display:block!important;
  width:100%!important;
  text-align:center!important;
}
.timeline-entry h2{
  width:min(100%,22ch)!important;
  max-width:22ch!important;
  max-inline-size:22ch!important;
  margin:var(--space-3) auto!important;
  text-align:center!important;
  text-wrap:balance!important;
}
.timeline-entry p{
  width:min(100%,48rem)!important;
  max-width:48rem!important;
  max-inline-size:48rem!important;
  margin-inline:auto!important;
  text-align:center!important;
  text-wrap:pretty!important;
}
.timeline-entry .timeline-link{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* Keep the first chapter visually connected to the hero instead of floating
   deep inside an empty dark field. */
.timeline > .timeline-entry:first-child{
  margin-top:0!important;
  padding-top:0!important;
}

/* Tablet and phone: same center axis, symmetric padding, no left drift. */
@media(max-width:63.9375rem){
  :root{
    --v32-editorial-heading-measure:24ch;
    --v32-editorial-copy-measure:42rem;
  }
}

@media(max-width:47.9375rem){
  :root{
    --v32-editorial-heading-measure:18ch;
    --v32-editorial-copy-measure:34rem;
    --v32-hero-to-chapter-gap:clamp(1rem,4vw,1.5rem);
  }
  .lh-intro > .container--reading,
  .faith-intro > .container--reading,
  .roots-intro > .container--reading,
  .road-world-intro > .container--reading,
  .off-intro > .container--reading,
  .man-intro > .container--reading{
    width:100%!important;
    max-width:100%!important;
    max-inline-size:100%!important;
  }
  .timeline{
    width:100%!important;
    max-width:100%!important;
    max-inline-size:100%!important;
  }
  .timeline-entry,
  .timeline-entry:nth-child(even){
    width:100%!important;
    max-width:100%!important;
    max-inline-size:100%!important;
    margin-inline:0!important;
    padding-left:2.6rem!important;
    padding-right:2.6rem!important;
  }
  .timeline::before{left:.45rem!important;}
  .timeline-marker{left:.12rem!important;}
  .timeline-entry h2{max-width:18ch!important;}
}

@media(max-width:25rem){
  :root{
    --v32-editorial-heading-measure:16ch;
    --v32-editorial-copy-measure:30rem;
  }
  .timeline-entry,
  .timeline-entry:nth-child(even){
    padding-left:2.25rem!important;
    padding-right:2.25rem!important;
  }
  .timeline-entry h2{max-width:16ch!important;}
}

/* Final V32 parity guard: no primary editorial section can re-acquire a
   section-level measure that shifts the composition off the viewport center. */
:is(.lh-intro,.faith-intro,.roots-intro,.road-world-intro,.off-intro,.man-intro){
  max-inline-size:none!important;
}

/* ==========================================================================
   LOCO LIFESTYLE — RELEASE 34.0 HERO FOCAL + UNIVERSAL TITLE PARITY LOCK
   V32 approved architecture preserved. This layer performs the final shared
   hero correction: raise the subject inside the full-bleed master photograph
   and hard-lock one title scale across every primary page.
   ========================================================================== */

:root{
  --v34-hero-title-size:clamp(4.6rem,6vw,6rem);
  --v34-hero-title-leading:.88;
  --v34-hero-title-tracking:-.045em;
  --v34-hero-focal-desktop-x:50%;
  --v34-hero-focal-desktop-y:47.5%;
  --v34-hero-focal-tablet-x:52%;
  --v34-hero-focal-tablet-y:46%;
  --v34-hero-focal-mobile-x:56%;
  --v34-hero-focal-mobile-y:46%;
}

/* Subject-safe master focal point. The image remains proportional, cover-filled,
   edge-to-edge, and undistorted. Raising the source crop removes excess sky,
   places the hairline directly beneath the navigation band, and reveals more
   of the lower body without introducing bars or a second image plane. */
.hero--v13-certified .hero-media img,
.world-hero.v29-shared-master-hero .world-hero__master-image{
  object-fit:cover!important;
  object-position:var(--v34-hero-focal-desktop-x) var(--v34-hero-focal-desktop-y)!important;
  transform:none!important;
  max-width:none!important;
}

/* Exact hero-title parity: Home and every primary navigation destination share
   the same font family, size, weight, leading and tracking. Title length may
   change wrapping, never the font-size system. */
.hero--v13-certified #hero-title,
.world-hero.v29-shared-master-hero h1{
  font-family:var(--font-editorial)!important;
  font-size:var(--v34-hero-title-size)!important;
  line-height:var(--v34-hero-title-leading)!important;
  letter-spacing:var(--v34-hero-title-tracking)!important;
  font-weight:700!important;
  text-align:center!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* Primary world-page titles all use one consistent available measure. Longer
   names wrap naturally at the same size; no page is allowed to silently shrink. */
.world-hero.v29-shared-master-hero h1{
  width:min(100%,16ch)!important;
  max-width:16ch!important;
  margin-inline:auto!important;
}

/* Preserve Home's approved deliberate two-line phrase while using the exact
   same V34 font-size token as the other primary pages. */
.hero--v13-certified #hero-title{
  margin-inline:auto!important;
}

@media(max-width:79.9375rem){
  :root{
    --v34-hero-title-size:clamp(4rem,7vw,5.35rem);
  }
  .hero--v13-certified .hero-media img,
  .world-hero.v29-shared-master-hero .world-hero__master-image{
    object-position:var(--v34-hero-focal-tablet-x) var(--v34-hero-focal-tablet-y)!important;
  }
}

@media(max-width:47.9375rem){
  :root{
    --v34-hero-title-size:clamp(3.15rem,12vw,4.35rem);
  }
  .hero--v13-certified .hero-media img,
  .world-hero.v29-shared-master-hero .world-hero__master-image{
    object-position:var(--v34-hero-focal-mobile-x) var(--v34-hero-focal-mobile-y)!important;
  }
  .world-hero.v29-shared-master-hero h1{
    width:min(100%,12ch)!important;
    max-width:12ch!important;
  }
}

@media(max-width:25rem){
  :root{
    --v34-hero-title-size:clamp(2.8rem,13vw,3.45rem);
  }
}

/* Final parity guard: legacy page-specific title sizing and focal declarations
   cannot override the V34 canonical system because this release layer is last. */



/* ==========================================================================
   LOCO LIFESTYLE — RELEASE 40.0 CINEMATIC MASTER HERO
   Approved beaming-headlamp panorama across every primary navigation page.
   V32 centered editorial architecture + V34 universal title parity preserved.
   ========================================================================== */

:root{
  --v40-primary-title-size:var(--v34-hero-title-size);
  --v40-hero-focal-desktop-x:58%;
  --v40-hero-focal-desktop-y:50%;
  --v40-hero-focal-tablet-x:59%;
  --v40-hero-focal-tablet-y:50%;
  --v40-hero-focal-mobile-x:58%;
  --v40-hero-focal-mobile-y:50%;
}

/* One photographic plane across Home + all seven primary tabs. The source is
   proportional, edge-to-edge, cover-filled, and never stretched. */
.hero--v13-certified .hero-media img,
.world-hero.v29-shared-master-hero .world-hero__master-image{
  object-fit:cover!important;
  object-position:var(--v40-hero-focal-desktop-x) var(--v40-hero-focal-desktop-y)!important;
  transform:none!important;
  filter:saturate(1.02) contrast(1.01) brightness(.80)!important;
}

/* The approved scenic master is visually busy and luminous. These overlays
   protect text without flattening the greens, cloud layers, headlamp beam,
   horizon, or sunrise. */
.hero--v13-certified .hero-overlay{
  background:
    radial-gradient(ellipse at 50% 52%,rgba(7,7,6,.34) 0%,rgba(7,7,6,.22) 34%,rgba(7,7,6,.10) 58%,rgba(7,7,6,.18) 100%),
    linear-gradient(180deg,rgba(7,7,6,.36) 0%,rgba(7,7,6,.08) 30%,rgba(7,7,6,.08) 62%,rgba(7,7,6,.42) 100%)!important;
}
.world-hero.v29-shared-master-hero .world-hero__shade{
  background:
    radial-gradient(ellipse at 50% 50%,rgba(7,7,6,.34) 0%,rgba(7,7,6,.20) 34%,rgba(7,7,6,.08) 58%,rgba(7,7,6,.18) 100%),
    linear-gradient(180deg,rgba(7,7,6,.36) 0%,rgba(7,7,6,.08) 30%,rgba(7,7,6,.08) 62%,rgba(7,7,6,.42) 100%)!important;
}

/* Home now follows the same true-center hero composition already approved for
   the primary tab pages. This is a layout correction, not a redesign. */
.hero--v13-certified .hero-content{
  min-height:100%!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
  padding-top:calc(var(--header-h) + clamp(2.25rem,4vh,3.75rem))!important;
  padding-bottom:clamp(2.5rem,5vh,4rem)!important;
  text-align:center!important;
}
.hero--v13-certified .hero-lockup{
  width:min(100%,64rem)!important;
  max-width:64rem!important;
  margin-inline:auto!important;
  justify-items:center!important;
  text-align:center!important;
  gap:clamp(.8rem,1.5vw,1.2rem)!important;
  transform:none!important;
}
.hero--v13-certified #hero-title,
.world-hero.v29-shared-master-hero h1{
  font-size:var(--v40-primary-title-size)!important;
  font-family:var(--font-editorial)!important;
  font-weight:700!important;
  line-height:var(--v34-hero-title-leading)!important;
  letter-spacing:var(--v34-hero-title-tracking)!important;
  text-align:center!important;
  text-wrap:balance!important;
  text-shadow:0 3px 30px rgba(0,0,0,.48)!important;
}
.hero--v13-certified #hero-title{max-width:12ch!important;}
.hero--v13-certified .hero-deck{
  width:min(100%,46rem)!important;
  max-width:46rem!important;
  margin-inline:auto!important;
  text-align:center!important;
  text-wrap:pretty!important;
  text-shadow:0 2px 20px rgba(0,0,0,.50)!important;
}
.hero--v13-certified .scroll-cue--button{margin-inline:auto!important;}

/* Top overlay header remains readable over the panoramic master while still
   allowing the photograph to run visually edge-to-edge behind it. */
.site-header[data-header-mode="overlay"]:not(.scrolled){
  background:linear-gradient(180deg,rgba(7,10,11,.42) 0%,rgba(7,10,11,.20) 68%,rgba(7,10,11,0) 100%)!important;
  backdrop-filter:none!important;
}

@media(max-width:79.9375rem){
  :root{
    --v40-primary-title-size:var(--v34-hero-title-size);
  }
  .hero--v13-certified .hero-media img,
  .world-hero.v29-shared-master-hero .world-hero__master-image{
    object-position:var(--v40-hero-focal-tablet-x) var(--v40-hero-focal-tablet-y)!important;
  }
}

@media(max-width:47.9375rem){
  .hero--v13-certified .hero-media img,
  .world-hero.v29-shared-master-hero .world-hero__master-image{
    object-position:var(--v40-hero-focal-mobile-x) var(--v40-hero-focal-mobile-y)!important;
  }
  .hero--v13-certified .hero-content{
    min-height:inherit!important;
    height:auto!important;
    place-items:end center!important;
    padding-top:calc(var(--header-h) + clamp(3.5rem,10vh,6rem))!important;
    padding-bottom:max(clamp(2.5rem,7vh,4rem),env(safe-area-inset-bottom))!important;
  }
  .hero--v13-certified .hero-lockup{max-width:32rem!important;}
  .hero--v13-certified #hero-title{max-width:10ch!important;}
  .hero--v13-certified .hero-overlay,
  .world-hero.v29-shared-master-hero .world-hero__shade{
    background:
      linear-gradient(180deg,rgba(7,7,6,.40) 0%,rgba(7,7,6,.08) 30%,rgba(7,7,6,.22) 62%,rgba(7,7,6,.72) 100%)!important;
  }
}

/* V40 final hard gate: no primary hero may reintroduce alternate photographs,
   letterboxing, stretching, page-specific title scaling, or left-biased hero copy. */


/* ==========================================================================
   LOCO LIFESTYLE — RELEASE 41.0 FINAL CERTIFICATION LAYER
   Release-engineering pass only. V40 approved panoramic hero geometry, focal
   variables, V32 centered architecture, and V34 title parity remain locked.
   ========================================================================== */

/* ==========================================================================\n   LOCO LIFESTYLE — RELEASE 42.0 PRIMARY HERO GEOMETRY HARD LOCK\n   One canonical horizontal hero rectangle across Home + all seven primary tabs.\n   The approved V40 photograph, crop logic, focal points, overlays, typography,\n   and centered editorial architecture are preserved without reinterpretation.\n   ========================================================================== */

:root{
  --v42-primary-hero-height:43rem;
}

/* Same outer rectangle, same media plane, same content canvas on every primary
   navigation destination. Page copy may change; hero geometry may not. */
.hero.hero--v13-certified,
.world-hero.v29-shared-master-hero{
  width:100%!important;
  height:var(--v42-primary-hero-height)!important;
  min-height:var(--v42-primary-hero-height)!important;
  max-height:var(--v42-primary-hero-height)!important;
  overflow:hidden!important;
}

.hero--v13-certified .hero-media,
.hero--v13-certified .hero-overlay,
.world-hero.v29-shared-master-hero .world-hero__master-media,
.world-hero.v29-shared-master-hero .world-hero__shade{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
}

.hero--v13-certified .hero-content,
.world-hero.v29-shared-master-hero .world-hero__inner{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  box-sizing:border-box!important;
}

/* The source photograph remains proportional and cover-filled. No page-specific
   scaling, aspect-ratio override, transform, or alternate image dimensions. */
.hero--v13-certified .hero-media img,
.world-hero.v29-shared-master-hero .world-hero__master-image{
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  transform:none!important;
}

@media(max-width:79.9375rem){
  :root{--v42-primary-hero-height:41rem;}
}

@media(max-width:47.9375rem){
  :root{--v42-primary-hero-height:clamp(34rem,76svh,38rem);}
  @supports(height:100dvh){
    :root{--v42-primary-hero-height:clamp(34rem,76dvh,38rem);}
  }
}

@media(max-width:25rem){
  :root{--v42-primary-hero-height:34rem;}
}

/* Release gate: primary hero size is controlled only by --v42-primary-hero-height.
   Legacy 100vh / clamp() declarations remain inert under this final layer. */
/* ==========================================================================
   LOCO LIFESTYLE — RELEASE 43.0 VISUAL STORY NO-SCROLL + SIZE PARITY LOCK
   All visual-story overlays use one canonical frame. No internal scrollbars,
   no horizontal drift, no image-driven modal resizing. Image sources untouched.
   ========================================================================== */

html.visual-story-open{scrollbar-gutter:auto!important;}
html.visual-story-open,
html.visual-story-open body{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

.visual-story{
  width:min(80rem,calc(100vw - 2rem))!important;
  height:min(50rem,calc(100dvh - 2rem))!important;
  max-width:calc(100vw - 2rem)!important;
  max-height:calc(100dvh - 2rem)!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  scrollbar-width:none!important;
}
.visual-story::-webkit-scrollbar,
.visual-story__shell::-webkit-scrollbar,
.visual-story__media::-webkit-scrollbar,
.visual-story__copy::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}

.visual-story__shell{
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  grid-template-columns:minmax(0,1.28fr) minmax(30rem,1fr)!important;
  overflow:hidden!important;
}
.visual-story__media,
.visual-story__copy{
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
.visual-story__media{
  width:100%!important;
  height:100%!important;
}
.visual-story__ambient,
.visual-story__main-image{
  max-width:none!important;
  max-height:none!important;
}
.visual-story__main-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.visual-story__copy{
  padding:clamp(1.35rem,2vw,2rem)!important;
  display:flex!important;
  flex-direction:column!important;
}
.visual-story__topline{gap:.75rem!important;}
.visual-story h2{
  margin-top:clamp(.9rem,1.8vh,1.35rem)!important;
  font-size:clamp(1.75rem,2.4vw,2.45rem)!important;
  line-height:1!important;
  max-width:14ch!important;
}
.visual-story__caption{
  margin-top:.9rem!important;
  font-size:clamp(.98rem,1vw,1.08rem)!important;
  line-height:1.42!important;
  max-width:40ch!important;
}
.visual-story__body{
  margin-top:1.05rem!important;
  gap:.75rem!important;
  max-width:40rem!important;
}
.visual-story__body p{
  font-size:clamp(.97rem,.98vw,1.06rem)!important;
  line-height:1.42!important;
}
.visual-story blockquote{
  margin-top:1.15rem!important;
  padding-top:.95rem!important;
  font-size:clamp(1.08rem,1.35vw,1.4rem)!important;
  line-height:1.16!important;
}
.visual-story__controls{
  margin-top:auto!important;
  padding-top:1rem!important;
  gap:.65rem!important;
  font-size:.66rem!important;
}
.visual-story__controls button,
.visual-story__journal-link{min-height:36px!important;}

@media(max-width:62rem){
  .visual-story{
    width:min(calc(100vw - 1.5rem),52rem)!important;
    height:min(54rem,calc(100dvh - 1.5rem))!important;
    max-width:calc(100vw - 1.5rem)!important;
    max-height:calc(100dvh - 1.5rem)!important;
  }
  .visual-story__shell{
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(12rem,32%) minmax(0,68%)!important;
  }
  .visual-story__copy{padding:1.1rem 1.35rem 1rem!important;}
  .visual-story h2{margin-top:.65rem!important;font-size:clamp(1.55rem,4.5vw,2.15rem)!important;max-width:18ch!important;}
  .visual-story__caption{margin-top:.6rem!important;font-size:clamp(.9rem,2.2vw,1rem)!important;line-height:1.34!important;max-width:62ch!important;}
  .visual-story__body{margin-top:.7rem!important;gap:.5rem!important;max-width:none!important;}
  .visual-story__body p{font-size:clamp(.9rem,2.1vw,.98rem)!important;line-height:1.34!important;}
  .visual-story blockquote{margin-top:.75rem!important;padding-top:.65rem!important;font-size:clamp(1rem,2.5vw,1.25rem)!important;line-height:1.12!important;}
  .visual-story__controls{padding-top:.6rem!important;font-size:.62rem!important;}
  .visual-story__controls button,.visual-story__journal-link{min-height:32px!important;}
}

@media(max-width:40rem){
  .visual-story{
    width:100vw!important;
    height:100dvh!important;
    max-width:100vw!important;
    max-height:100dvh!important;
    border-radius:0!important;
  }
  .visual-story__shell{grid-template-rows:minmax(10rem,28%) minmax(0,72%)!important;}
  .visual-story__copy{
    padding:.85rem max(.9rem,env(safe-area-inset-right)) max(.65rem,env(safe-area-inset-bottom)) max(.9rem,env(safe-area-inset-left))!important;
  }
  .visual-story__topline{gap:.4rem!important;}
  .visual-story h2{margin-top:.45rem!important;font-size:clamp(1.35rem,7vw,1.85rem)!important;line-height:.98!important;}
  .visual-story__caption{margin-top:.42rem!important;font-size:clamp(.78rem,3.5vw,.9rem)!important;line-height:1.28!important;}
  .visual-story__body{margin-top:.48rem!important;gap:.4rem!important;}
  .visual-story__body p{font-size:clamp(.78rem,3.4vw,.9rem)!important;line-height:1.28!important;}
  .visual-story blockquote{margin-top:.52rem!important;padding-top:.45rem!important;font-size:clamp(.88rem,4vw,1.05rem)!important;line-height:1.08!important;}
  .visual-story__controls{padding-top:.35rem!important;font-size:.58rem!important;grid-template-columns:1fr auto 1fr!important;}
  .visual-story__journal-link{grid-column:auto!important;grid-row:auto!important;justify-self:center!important;}
  .visual-story__privacy{display:none!important;}
  .visual-story__close{width:40px!important;height:40px!important;top:max(.65rem,env(safe-area-inset-top))!important;right:max(.65rem,env(safe-area-inset-right))!important;}
}

@media(max-width:40rem) and (max-height:43rem){
  .visual-story__shell{grid-template-rows:minmax(7rem,21%) minmax(0,79%)!important;}
  .visual-story__copy{padding:.55rem .75rem max(.45rem,env(safe-area-inset-bottom))!important;}
  .visual-story__topline .meta-label{font-size:.58rem!important;line-height:1.1!important;}
  .visual-story h2{margin-top:.3rem!important;font-size:clamp(1.08rem,5.8vw,1.35rem)!important;}
  .visual-story__caption{margin-top:.28rem!important;font-size:.72rem!important;line-height:1.22!important;}
  .visual-story__body{margin-top:.3rem!important;gap:.25rem!important;}
  .visual-story__body p{font-size:.72rem!important;line-height:1.22!important;}
  .visual-story blockquote{margin-top:.3rem!important;padding-top:.28rem!important;font-size:.78rem!important;line-height:1.05!important;}
  .visual-story__controls{padding-top:.2rem!important;font-size:.52rem!important;}
  .visual-story__controls button,.visual-story__journal-link{min-height:24px!important;}
}

/* ========================================================================== 
   LOCO LIFESTYLE RELEASE 44.0 — HEADER DIVIDER REMOVAL
   Surgical lock: remove the horizontal rule beneath the primary navigation.
   Preserve all header geometry, navigation state, hero media and responsiveness.
   ========================================================================== */
.site-header,
.site-header.scrolled,
.site-header--solid {
  border-bottom: 0 !important;
  border-bottom-color: transparent !important;
}

/* ================================================================
   V45 GLOBAL TYPOGRAPHY LINE-BREAK INTEGRITY LOCK
   ORPHAN / RUNT / PHRASE-INTEGRITY HARD GATE
   - Short editorial/UI copy balances intentionally.
   - Long-form narrative copy keeps natural reading rhythm.
   - No font shrinking, clipping, overflow hiding, or fake nudging.
   ================================================================ */

/* Global display-copy protection. */
:where(h1,h2,h3,h4,h5,h6,blockquote,
  .display-xl,.display-lg,.display-md,
  .heading-xl,.heading-lg,.heading-md,
  .cinematic-media__story-title,
  .utility-dialog__header h2,
  .lh-close__line,.road-world-close__line) {
  text-wrap: balance;
  overflow-wrap: break-word;
}

/* Short editorial / UI copy surfaces: keep final lines intentional. */
:where(
  .hero-deck,
  .section-head > p,
  .chapter-card > p,
  .chapter-deck,
  .hiker-content > p,
  .faith-copy > p,
  .roots-copy > p,
  .road-copy > p,
  .off-head > p,
  .man-copy > p,
  .world-hero__copy > p,
  .journal-hero > p,
  .contact-page__intro > p,
  .faith-pair__copy > p,
  .faith-featured-story__copy > p,
  .roots-gallery__copy > p,
  .man-pair__copy > p,
  .off-journal__copy > p,
  .timeline-entry > p,
  .lh-practice__copy > p,
  .road-world-principle__copy > p,
  .utility-dialog__header > p,
  .faith-story-hero__copy > p,
  .chapter-context__item,
  .faith-story-context__item,
  .not-found p,
  .contact-page__note,
  .professional-link,
  .lh-close__motto,
  .journal-note
) {
  text-wrap: balance;
}

/* Keep normal reading copy natural while asking the browser to avoid runts. */
:where(.chapter-copy p,.faith-story-copy p,.legal p,.journal-entry p,.visual-story__body p) {
  text-wrap: pretty;
  overflow-wrap: break-word;
}

/* Home deck: approved desktop/tablet composition = exactly two balanced lines.
   Below the mobile breakpoint the sentence returns to natural wrapping. */
.hero-deck-line { display: block; }
@media (min-width: 48.001rem) {
  .hero-deck { width: max-content; max-width: min(44rem, calc(100vw - (2 * var(--page-pad-wide)))); }
  .hero-deck-line { white-space: nowrap; }
}
@media (max-width: 48rem) {
  .hero-deck-line { display: inline; white-space: normal; }
  .hero-deck-line + .hero-deck-line::before { content: ' '; }
}

/* ==========================================================================\n   LOCO LIFESTYLE — RELEASE 46.0 FINAL CONSISTENCY + CONTENT-DENSITY GATE\n   Approved scope: shared Home hero source across every horizontal top hero,\n   zero overlap, phrase-integrity, true centering, and normalized Visual Journal\n   story depth. All existing source photography remains untouched.\n   ========================================================================== */

:root{
  --v46-universal-hero-height:var(--v42-primary-hero-height);
  --v46-faith-path-max:80rem;
}

/* V46 GLOBAL NON-OVERLAP HARD GATE. Grid/flex children may shrink inside their
   own cell, but text may never cross a neighboring component boundary. */
:where(
  .chapter-card,.chapter-card>*,.chapter-nav__slot,.chapter-nav__card,
  .faith-path,.faith-path>div,.faith-path strong,.faith-path small,
  .timeline-entry,.timeline-entry>*,.journal-entry,.journal-entry>*,
  .hiker-content,.hiker-content>*,.world-hero__copy,.world-hero__copy>*,
  .chapter-hero__copy,.chapter-hero__copy>*,.faith-story-hero__copy,.faith-story-hero__copy>*,
  .roots-close .container--reading,.lh-close__inner
){min-width:0!important;max-width:100%;box-sizing:border-box;}

:where(.faith-path strong,.faith-path small,.chapter-card h3,.chapter-card p,
  .timeline-entry h2,.timeline-entry p,.journal-entry h2,.journal-entry p){
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* THE TEMPLE ON THE HILL path: widen the five-column system so NO DESTINATION
   fits completely within its own card. No clipping and no font-size hacks. */
.faith-story-copy .faith-path{
  width:min(var(--v46-faith-path-max),calc(100vw - 4rem))!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.faith-story-copy .faith-path>div{
  padding:clamp(1rem,1.45vw,1.4rem)!important;
  overflow:visible!important;
}
.faith-story-copy .faith-path strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  font-size:clamp(1.28rem,1.72vw,1.82rem)!important;
  line-height:.98!important;
  text-wrap:balance!important;
}
.faith-story-copy .faith-path small{display:block!important;width:100%!important;}
@media(max-width:64rem){
  .faith-story-copy .faith-path{width:min(100%,calc(100vw - 3rem))!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:40rem){
  .faith-story-copy .faith-path{width:min(100%,calc(100vw - 2.5rem))!important;grid-template-columns:1fr!important;}
}

/* ONE HOME-PAGE HERO SOURCE FOR EVERY HORIZONTAL TOP HERO.
   Chapter and faith-story pages now use the exact V40 Home panorama; existing
   page-specific hero photographs remain in the package but are suppressed here. */
.chapter-hero.v46-shared-master-hero,
.faith-story-hero.v46-shared-master-hero{
  position:relative!important;
  isolation:isolate!important;
  width:100%!important;
  height:var(--v46-universal-hero-height)!important;
  min-height:var(--v46-universal-hero-height)!important;
  max-height:var(--v46-universal-hero-height)!important;
  overflow:hidden!important;
  background:#11110f!important;
  color:var(--color-text-light)!important;
}
.chapter-hero.v46-shared-master-hero::before,
.faith-story-hero.v46-shared-master-hero::before{display:none!important;content:none!important;}
.chapter-hero.v46-shared-master-hero :is(.chapter-hero__ambient,.chapter-hero__media),
.faith-story-hero.v46-shared-master-hero :is(.faith-story-hero__ambient,.faith-story-hero__media){display:none!important;}
.v46-shared-hero-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#11110f!important;
}
.v46-shared-hero-media picture,
.v46-shared-hero-media img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;}
.v46-shared-hero-media img{
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:50% 44%!important;
  filter:saturate(.96) brightness(.80)!important;
  transform:none!important;
}
.v46-shared-hero-media::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(7,7,6,.92) 0%,rgba(7,7,6,.78) 28%,rgba(7,7,6,.50) 48%,rgba(7,7,6,.20) 69%,rgba(7,7,6,.08) 100%),
    linear-gradient(180deg,rgba(7,7,6,.30) 0%,rgba(7,7,6,.05) 34%,rgba(7,7,6,.24) 68%,rgba(7,7,6,.58) 100%);
}
.chapter-hero.v46-shared-master-hero .chapter-hero__overlay,
.faith-story-hero.v46-shared-master-hero .faith-story-hero__overlay{display:none!important;}
.chapter-hero.v46-shared-master-hero .chapter-hero__inner,
.faith-story-hero.v46-shared-master-hero .faith-story-hero__inner{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  box-sizing:border-box!important;
}
.chapter-hero.v46-shared-master-hero .chapter-hero__impact-year{z-index:2!important;}
.chapter-hero.v46-shared-master-hero .chapter-hero__copy,
.faith-story-hero.v46-shared-master-hero .faith-story-hero__copy{
  max-width:min(46rem,52vw)!important;
}
@media(max-width:79.9375rem){
  .chapter-hero.v46-shared-master-hero .chapter-hero__copy,
  .faith-story-hero.v46-shared-master-hero .faith-story-hero__copy{max-width:min(44rem,68vw)!important;}
}
@media(max-width:47.9375rem){
  .v46-shared-hero-media img{object-position:50% 44%!important;}
  .v46-shared-hero-media::after{
    background:linear-gradient(to top,rgba(7,7,6,.94) 0%,rgba(7,7,6,.72) 38%,rgba(7,7,6,.22) 70%,rgba(7,7,6,.16) 100%);
  }
  .chapter-hero.v46-shared-master-hero .chapter-hero__copy,
  .faith-story-hero.v46-shared-master-hero .faith-story-hero__copy{max-width:100%!important;}
  .chapter-hero.v46-shared-master-hero .chapter-hero__inner,
  .faith-story-hero.v46-shared-master-hero .faith-story-hero__inner{
    padding-top:calc(var(--header-h) + 1.25rem)!important;
    padding-bottom:max(2rem,env(safe-area-inset-bottom))!important;
  }
}

/* ROOTS closing statement: approved three-line composition, no orphaned AHEAD. */
.roots-close .v46-roots-statement{
  margin:var(--space-5) auto 0!important;
  width:min(100%,18ch)!important;
  max-width:none!important;
  display:grid!important;
  justify-items:center!important;
  gap:0!important;
  text-align:center!important;
  font-family:var(--font-editorial)!important;
  font-size:clamp(2.3rem,4.7vw,4.5rem)!important;
  line-height:.92!important;
  letter-spacing:-.045em!important;
  text-wrap:balance!important;
}
.v46-roots-line{display:block!important;white-space:nowrap!important;}
@media(max-width:40rem){
  .roots-close .v46-roots-statement{font-size:clamp(1.85rem,9vw,3rem)!important;width:100%!important;}
}
@media(max-width:24rem){
  .roots-close .v46-roots-statement{font-size:clamp(1.55rem,8.5vw,2.25rem)!important;}
}

/* TRUE-CENTER LOCK: all elements in intentionally centered compositions share
   the same mathematical parent axis. */
.hiker-content,
.lh-close__inner,
.roots-close .container--reading,
.world-hero.v29-shared-master-hero .world-hero__copy{
  justify-items:center!important;
  align-items:center!important;
  text-align:center!important;
}
.hiker-content>* ,
.lh-close__inner>* ,
.roots-close .container--reading>* ,
.world-hero.v29-shared-master-hero .world-hero__copy>*{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.hiker-content #loco-hiker-title,
.hiker-content .motto{
  width:100%!important;
  max-width:100%!important;
  justify-self:stretch!important;
  text-align:center!important;
}

/* V46 display-copy phrase integrity. Prefer structural measure changes before
   any font-size change; no single-word runt is acceptable when space exists. */
:where(.roots-close p,.lh-close__line,.hiker-content h2,.hiker-content .motto,
       .faith-path strong,.world-hero__copy h1,.chapter-hero__copy h1,
       .faith-story-hero__copy h1,.chapter-card h3,.timeline-entry h2){
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* VISUAL JOURNAL STORY-DENSITY LOCK.
   Desktop: no nested scrolling; copy fills the panel and finishes immediately
   above navigation. Mobile/tablet: one natural dialog scroll surface is allowed
   when required, with scrollbars visually suppressed; the image never scrolls. */
@media(min-width:62.001rem){
  .visual-story__copy{overflow:hidden!important;}
  .visual-story__caption{margin-top:.75rem!important;line-height:1.36!important;}
  .visual-story__body{margin-top:.82rem!important;gap:.58rem!important;}
  .visual-story__body p{font-size:clamp(.90rem,.88vw,.98rem)!important;line-height:1.30!important;text-wrap:pretty!important;}
  .visual-story blockquote{margin-top:.82rem!important;padding-top:.72rem!important;font-size:clamp(1.02rem,1.18vw,1.28rem)!important;line-height:1.12!important;}
  .visual-story__controls{padding-top:.62rem!important;}
}
@media(max-width:62rem){
  .visual-story{overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:none!important;overscroll-behavior:contain!important;}
  .visual-story::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
  .visual-story__shell{height:auto!important;min-height:100%!important;grid-template-rows:minmax(14rem,36dvh) auto!important;overflow:visible!important;}
  .visual-story__media{height:min(36dvh,24rem)!important;min-height:14rem!important;position:sticky!important;top:0!important;z-index:1!important;}
  .visual-story__copy{overflow:visible!important;min-height:calc(100dvh - min(36dvh,24rem))!important;background:var(--color-night)!important;position:relative!important;z-index:2!important;}
  .visual-story__controls{margin-top:1rem!important;}
}
@media(max-width:40rem){
  .visual-story__shell{grid-template-rows:minmax(11rem,30dvh) auto!important;}
  .visual-story__media{height:min(30dvh,18rem)!important;min-height:11rem!important;}
  .visual-story__copy{min-height:calc(100dvh - min(30dvh,18rem))!important;}
  .visual-story__body p{font-size:clamp(.82rem,3.45vw,.94rem)!important;line-height:1.32!important;}
}



/* V46 story-fill refinement: every desktop story has four narrative paragraphs.
   The body receives the available vertical field so the closing reflection lands
   immediately above the fixed Previous / All 32 Moments / Next controls. */
@media(min-width:62.001rem){
  .visual-story__body{
    flex:1 1 auto!important;
    min-height:0!important;
    align-content:space-between!important;
  }
  .visual-story blockquote{
    flex:0 0 auto!important;
    margin-top:.62rem!important;
  }
  .visual-story__controls{
    flex:0 0 auto!important;
    margin-top:.45rem!important;
    padding-top:.42rem!important;
  }
}


/* V46 verified phrase locks: short semantic units stay intact when balancing
   would otherwise strand a final single word. The phrases remain natural text,
   not forced line breaks, and are released only on ultra-narrow screens. */
.v46-phrase-lock{display:inline-block!important;white-space:nowrap!important;}
.world-hero.v29-shared-master-hero .v17-title-line{display:block!important;white-space:nowrap!important;}
@media(max-width:21.5rem){
  .v46-phrase-lock{white-space:normal!important;}
}
/* Legal subheads are labels, not narrow badges; give them enough measure to
   avoid accidental four-line stacks. */
.legal h2{width:min(100%,38ch)!important;max-width:38ch!important;}
/* Loco Hiker practice heading: keep the approved semantic two-line grouping. */
.lh-practice__intro .v20-two-line-title > .v20-title-line{
  display:block!important;
  white-space:nowrap!important;
}
@media(max-width:24rem){
  .lh-practice__intro .v20-two-line-title{font-size:clamp(2rem,10vw,2.65rem)!important;}
}


/* V46 NARROW-VIEWPORT COMPLETION GATE.
   Existing legacy content modules carried intrinsic widths that could exceed
   the actual mobile content box. Collapse those modules to the parent width
   rather than hiding overflow or clipping text. */
@media(max-width:47.9375rem){
  :where(
    .faith-pair__grid,.faith-pair__copy,.faith-frame,
    .lh-practice__grid,.lh-practice__intro,.lh-practice__copy,.lh-facts,
    .roots-intro .container--reading
  ){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .faith-pair__grid{grid-template-columns:minmax(0,1fr)!important;}
  .faith-pair__grid > .faith-frame{
    width:100%!important;
    max-width:100%!important;
    justify-self:stretch!important;
  }
  .faith-frame--secondary{width:100%!important;justify-self:stretch!important;}
  .lh-practice__grid{grid-template-columns:minmax(0,1fr)!important;}
  .lh-facts{grid-template-columns:minmax(0,1fr)!important;}
  .faith-intro h2,
  .faith-pair__copy h2{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(2.05rem,10vw,2.75rem)!important;
    text-wrap:balance!important;
  }
  .roots-intro h2{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(2rem,10vw,2.7rem)!important;
    text-wrap:balance!important;
  }
  .roots-close .v46-roots-statement{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(1.5rem,7vw,2.75rem)!important;
  }
  .lh-practice__intro .v20-two-line-title{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(1.95rem,9.5vw,2.65rem)!important;
  }
}
@media(max-width:25rem){
  /* Keep semantic units intact whenever they fit. At phone widths the revised
     measures/font scales above make the protected phrases fit without overflow. */
  .faith-intro .v46-phrase-lock,
  .faith-pair__copy .v46-phrase-lock,
  .roots-intro .v46-phrase-lock{white-space:nowrap!important;}
}

/* V46 final phone-fit typography: preserve approved phrase integrity and
   two-line groupings without allowing nowrap spans to exceed their parent. */
@media(max-width:47.9375rem){
  .faith-intro h2,
  .faith-pair__copy h2{
    font-size:clamp(1.55rem,7vw,2rem)!important;
  }
  .lh-practice__intro .v20-two-line-title{
    font-size:clamp(1.55rem,7.2vw,2rem)!important;
  }
}

/* ==========================================================================\n   LOCO LIFESTYLE — RELEASE 47.0 VISUAL JOURNAL EDITORIAL RHYTHM HARD GATE\n   Approved scope: professional paragraph rhythm and panel fill across every\n   Visual Journal story. No distributed/artificial paragraph gaps. No image\n   changes. No nested desktop scrolling. Existing V46 structure is preserved.\n   ========================================================================== */

:root{
  --v47-story-paragraph-gap:clamp(.68rem,1.15vh,.88rem);
  --v47-story-section-gap:clamp(.58rem,1vh,.82rem);
}

/* The V46 flex-fill + space-between treatment caused the visible multi-inch
   paragraph gaps. V47 replaces it with normal editorial flow. */
@media(min-width:62.001rem){
  .visual-story__copy{
    overflow:hidden!important;
    padding:clamp(1.35rem,2.35vw,2.35rem)!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
  }
  .visual-story__topline{
    gap:.7rem 1rem!important;
    line-height:1.2!important;
  }
  .visual-story h2{
    margin-top:clamp(.65rem,1.25vh,.95rem)!important;
    margin-bottom:0!important;
    line-height:.96!important;
    text-wrap:balance!important;
  }
  .visual-story__caption{
    margin:clamp(.55rem,.9vh,.72rem) 0 0!important;
    max-width:36rem!important;
    font-style:normal!important;
    font-size:clamp(.94rem,.94vw,1.03rem)!important;
    line-height:1.36!important;
    text-wrap:pretty!important;
  }
  .visual-story__body{
    margin-top:var(--v47-story-section-gap)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:var(--v47-story-paragraph-gap)!important;
    max-width:36rem!important;
    flex:0 0 auto!important;
    min-height:0!important;
    align-content:start!important;
  }
  .visual-story__body p{
    margin:0!important;
    font-size:clamp(.94rem,.91vw,1rem)!important;
    line-height:1.38!important;
    text-wrap:pretty!important;
  }
  .visual-story blockquote{
    flex:0 0 auto!important;
    margin:clamp(.72rem,1.15vh,.95rem) 0 0!important;
    padding-top:clamp(.62rem,1vh,.82rem)!important;
    font-size:clamp(1.08rem,1.22vw,1.32rem)!important;
    line-height:1.16!important;
    text-wrap:balance!important;
  }
  .visual-story__controls{
    flex:0 0 auto!important;
    margin-top:auto!important;
    padding-top:clamp(.58rem,1vh,.82rem)!important;
    min-height:44px!important;
  }
}

/* Shorter desktop/laptop viewports receive a controlled compact rhythm rather
   than clipping, overflow, or a scrollbar. Paragraph relationships stay intact. */
@media(min-width:62.001rem) and (max-height:50rem){
  .visual-story{
    height:min(92vh,48rem)!important;
    height:min(92dvh,48rem)!important;
  }
  .visual-story__copy{
    padding:clamp(1rem,1.8vw,1.55rem)!important;
  }
  .visual-story h2{
    margin-top:.42rem!important;
    font-size:clamp(1.7rem,2.25vw,2.35rem)!important;
    line-height:.94!important;
  }
  .visual-story__caption{
    margin-top:.42rem!important;
    font-size:clamp(.84rem,.82vw,.92rem)!important;
    line-height:1.28!important;
  }
  .visual-story__body{
    margin-top:.46rem!important;
    gap:.46rem!important;
  }
  .visual-story__body p{
    font-size:clamp(.82rem,.78vw,.9rem)!important;
    line-height:1.27!important;
  }
  .visual-story blockquote{
    margin-top:.48rem!important;
    padding-top:.42rem!important;
    font-size:clamp(.94rem,1vw,1.08rem)!important;
    line-height:1.1!important;
  }
  .visual-story__controls{
    padding-top:.38rem!important;
    font-size:.67rem!important;
  }
}

/* On taller displays, give the existing prose a slightly more generous but
   still professional reading rhythm so the story uses the panel naturally. */
@media(min-width:62.001rem) and (min-height:56rem){
  .visual-story__caption{line-height:1.42!important;}
  .visual-story__body{gap:clamp(.76rem,1.25vh,.98rem)!important;}
  .visual-story__body p{line-height:1.43!important;}
}

/* Tablet/mobile uses one natural dialog scroll surface only. Remove the V46
   body-distribution behavior here as well so all stories share the same prose
   rhythm when stacked below the image. */
@media(max-width:62rem){
  .visual-story__copy{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
  }
  .visual-story h2{
    margin-top:clamp(.75rem,2.2vw,1.05rem)!important;
    margin-bottom:0!important;
    text-wrap:balance!important;
  }
  .visual-story__caption{
    margin:clamp(.55rem,1.5vw,.75rem) 0 0!important;
    font-style:normal!important;
    line-height:1.4!important;
    text-wrap:pretty!important;
  }
  .visual-story__body{
    margin-top:clamp(.7rem,1.8vw,.9rem)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:clamp(.72rem,1.8vw,.95rem)!important;
    align-content:start!important;
    flex:0 0 auto!important;
  }
  .visual-story__body p{
    margin:0!important;
    line-height:1.43!important;
    text-wrap:pretty!important;
  }
  .visual-story blockquote{
    margin-top:clamp(.8rem,2vw,1.05rem)!important;
    padding-top:clamp(.68rem,1.6vw,.9rem)!important;
    line-height:1.2!important;
    text-wrap:balance!important;
  }
  .visual-story__controls{
    margin-top:clamp(.9rem,2vw,1.2rem)!important;
    padding-top:clamp(.55rem,1.5vw,.75rem)!important;
  }
}

/* Editorial integrity: no accidental empty paragraphs, margin stacking, or
   browser-default paragraph spacing can reintroduce uneven vertical rhythm. */
.visual-story__body p:empty{display:none!important;}
.visual-story__body > *{margin-block-start:0!important;margin-block-end:0!important;}

/* V47 closing-reflection anchoring. Narrative paragraphs remain compact and
   professionally spaced; one intentional editorial breath separates the main
   story from its closing reflection, which sits directly above navigation. */
@media(min-width:62.001rem){
  .visual-story blockquote{margin-top:auto!important;}
  .visual-story__controls{margin-top:clamp(.5rem,.9vh,.72rem)!important;}
}

/* Keep laptop typography readable while retaining no-scroll fit. */
@media(min-width:62.001rem) and (max-height:50rem){
  .visual-story h2{font-size:clamp(1.9rem,2.5vw,2.55rem)!important;}
  .visual-story__caption{font-size:.92rem!important;line-height:1.34!important;}
  .visual-story__body{gap:.58rem!important;}
  .visual-story__body p{font-size:.9rem!important;line-height:1.34!important;}
  .visual-story blockquote{font-size:1.06rem!important;line-height:1.14!important;}
}

/* V47 final desktop fit tuning after the six-paragraph editorial expansion.
   Keeps type comfortably readable while guaranteeing the no-scroll release gate. */
@media(min-width:62.001rem){
  .visual-story__copy{padding:clamp(1.2rem,1.8vw,1.8rem)!important;}
  .visual-story h2{
    margin-top:clamp(.48rem,.9vh,.72rem)!important;
    font-size:clamp(1.82rem,2.2vw,2.35rem)!important;
    line-height:.96!important;
  }
  .visual-story__caption{
    margin-top:clamp(.42rem,.7vh,.58rem)!important;
    font-size:clamp(.9rem,.86vw,.97rem)!important;
    line-height:1.32!important;
  }
  .visual-story__body{
    margin-top:clamp(.48rem,.75vh,.62rem)!important;
    gap:clamp(.5rem,.75vh,.62rem)!important;
  }
  .visual-story__body p{
    font-size:clamp(.9rem,.84vw,.96rem)!important;
    line-height:1.32!important;
  }
  .visual-story blockquote{
    padding-top:clamp(.48rem,.75vh,.62rem)!important;
    font-size:clamp(1rem,1.05vw,1.16rem)!important;
    line-height:1.12!important;
  }
  .visual-story__controls{padding-top:.42rem!important;}
}
@media(min-width:62.001rem) and (min-height:56rem){
  .visual-story__caption{line-height:1.34!important;}
  .visual-story__body{gap:.62rem!important;}
  .visual-story__body p{line-height:1.34!important;}
}
@media(min-width:62.001rem) and (max-width:70rem){
  .visual-story__copy{padding:1.05rem 1.2rem!important;}
  .visual-story h2{font-size:clamp(1.65rem,2.35vw,2.05rem)!important;}
  .visual-story__caption{font-size:.86rem!important;line-height:1.28!important;}
  .visual-story__body{gap:.44rem!important;margin-top:.42rem!important;}
  .visual-story__body p{font-size:.86rem!important;line-height:1.28!important;}
  .visual-story blockquote{font-size:.96rem!important;line-height:1.08!important;}
}


/* Loco Lifestyle Release 48.0: universal hero photograph source advanced to hero-v48; approved geometry/focal rules preserved unchanged. */
