.c-page-hero--compact {
  --compact-page-hero-brush-opacity: 0.88;
  --compact-page-hero-gold: var(--price-gold, #ad8139);
  --compact-page-hero-navy-deep: var(--price-navy-deep, #0f2347);
  position: relative;
  z-index: 2;
  min-height: clamp(360px, 42vh, 460px);
  display: grid;
  align-items: center;
  overflow-x: clip;
  overflow-y: visible;
  margin-bottom: clamp(16px, 2.5vw, 32px);
  background:
    radial-gradient(circle at 75% 24%, rgba(186, 154, 90, 0.14), transparent 28%),
    linear-gradient(180deg, #f8f3e8 0%, #fcfaf4 74%, #fff 100%);
  isolation: isolate;
}

.c-page-hero--compact::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.33;
  background-image:
    repeating-linear-gradient(7deg, rgba(72, 54, 27, 0.025) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(96deg, rgba(72, 54, 27, 0.018) 0 1px, transparent 1px 7px);
}

.c-page-hero--compact::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: -72px;
  width: max(1440px, 112vw);
  max-width: none;
  aspect-ratio: 2600 / 600;
  background-image: var(--compact-page-hero-brush);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  clip-path: inset(0 100% 0 0);
  opacity: 0;
  transform: translateX(-50%) translateY(8px);
  animation: compact-page-hero-brush-in var(--hero-family-brush-duration) var(--hero-family-brush-delay) var(--hero-family-brush-ease) both;
  will-change: clip-path, opacity, transform;
  pointer-events: none;
}

.c-page-hero__inner {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.72fr);
  align-items: center;
  gap: clamp(28px, 5vw, 72px);
  width: 100%;
  padding-top: clamp(44px, 5vw, 68px);
  padding-bottom: clamp(104px, 10vw, 132px);
}

.c-page-hero__copy {
  max-width: 760px;
  opacity: 0;
  transform: translateY(12px);
  animation: compact-page-hero-copy-in 700ms 120ms ease-out forwards;
}

.c-page-hero__eyebrow {
  margin: 0 0 0.8rem;
  color: var(--compact-page-hero-gold);
  font-size: var(--fs-label, 0.78rem);
  font-weight: var(--fw-label, 700);
  letter-spacing: 0.13em;
}

.c-page-hero__title {
  margin: 0;
  color: var(--compact-page-hero-navy-deep);
  font-family: var(--font-serif, serif);
  font-size: var(--hero-title-business, clamp(1.9rem, 3.2vw, 2.7rem));
  line-height: 1.28;
  font-weight: var(--fw-heading, 700);
}

.c-page-hero__lead {
  margin-top: clamp(1.2rem, 2vw, 1.8rem);
  max-width: 42rem;
  font-size: var(--fs-lead, clamp(1rem, 1.25vw, 1.12rem));
  line-height: 1.9;
}

.c-page-hero__lead p { margin: 0.12rem 0; }

.c-page-hero__visual-wrap {
  position: relative;
  z-index: 4;
  width: min(100%, 380px);
  justify-self: end;
}

.c-page-hero__visual {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  margin: 0;
  overflow: hidden;
  border: clamp(7px, 0.8vw, 10px) solid rgba(255, 255, 255, 0.9);
  border-radius: 50% 50% 30px 30px / 44% 44% 30px 30px;
  background: #fff6e9;
  box-shadow: 0 20px 44px rgba(23, 49, 95, 0.12), inset 0 0 0 1px rgba(154, 115, 52, 0.2);
  animation: compact-page-hero-window-in 760ms cubic-bezier(0.22, 1, 0.36, 1) 180ms both;
}

.c-page-hero__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.2), transparent 34%);
}

.c-page-hero__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  transform: scale(1.06);
}

.c-page-hero__visual--focus-top img { object-position: 50% 32%; }
.c-page-hero__visual--focus-bottom img { object-position: 50% 68%; }

.c-page-hero__stamp {
  position: absolute;
  right: -10px;
  bottom: -34px;
  z-index: 4;
  width: clamp(72px, 6.8vw, 92px);
  aspect-ratio: 1;
  mix-blend-mode: multiply;
  transform: rotate(-9deg);
  animation: compact-page-hero-stamp-pop var(--hero-family-stamp-duration) var(--hero-family-stamp-ease) var(--hero-family-stamp-delay) both;
  pointer-events: none;
}

.c-page-hero__stamp img { display: block; width: 100%; height: 100%; }

@keyframes compact-page-hero-copy-in { to { opacity: 1; transform: translateY(0); } }
@keyframes compact-page-hero-brush-in {
  0% { clip-path: inset(0 100% 0 0); opacity: 0; transform: translateX(-50%) translateY(8px); }
  24% { opacity: var(--compact-page-hero-brush-opacity); }
  100% { clip-path: inset(0); opacity: var(--compact-page-hero-brush-opacity); transform: translateX(-50%) translateY(0); }
}

@keyframes compact-page-hero-window-in {
  from { opacity: 0; transform: translateX(24px) scale(0.985); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes compact-page-hero-stamp-pop {
  0% { opacity: 0; transform: rotate(-16deg) scale(1.6); }
  62% { opacity: 1; transform: rotate(-8deg) scale(0.95); }
  100% { opacity: 1; transform: rotate(-9deg) scale(1); }
}

@media (max-width: 760px) {
  .c-page-hero--compact { min-height: 0; }
  .c-page-hero__inner { grid-template-columns: 1fr; gap: 24px; padding-top: 46px; padding-bottom: 118px; }
  .c-page-hero__visual-wrap { width: min(78vw, 330px); justify-self: center; }
  .c-page-hero__stamp { right: -8px; bottom: -28px; width: 68px; }
  .c-page-hero__title { font-size: var(--hero-title-business, clamp(1.66rem, 7.4vw, 1.95rem)); }
  .c-page-hero__lead { font-size: 0.96rem; line-height: 1.8; }
}

@media (prefers-reduced-motion: reduce) {
  .c-page-hero__copy { opacity: 1; transform: none; animation: none; }
  .c-page-hero--compact::after { clip-path: inset(0); opacity: var(--compact-page-hero-brush-opacity); transform: translateX(-50%); animation: none; }
  .c-page-hero__visual,
  .c-page-hero__stamp { animation: none; }
}

/* COMPOSITION: folded-ring (News hero V4 parity source) */
.c-page-hero-folded-ring {
    --c-page-hero-folded-ring-navy: #102b53;
    --c-page-hero-folded-ring-gold: #b08741;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    min-height: clamp(320px, 25vw, 358px);
    margin-bottom: clamp(16px, 2vw, 28px);
    overflow-x: clip;
    overflow-y: visible;
    color: var(--c-page-hero-folded-ring-navy);
    background:
      radial-gradient(circle at 82% 34%, rgba(218, 187, 125, 0.24), transparent 23%),
      linear-gradient(180deg, #faf6ed 0%, #fffdf8 76%, #fff 100%);
    isolation: isolate;
  }

  .c-page-hero-folded-ring *,
  .c-page-hero-folded-ring *::before,
  .c-page-hero-folded-ring *::after {
    box-sizing: inherit;
  }

  .c-page-hero-folded-ring::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
      repeating-linear-gradient(8deg, rgba(72, 54, 27, 0.022) 0 1px, transparent 1px 6px),
      repeating-linear-gradient(95deg, rgba(72, 54, 27, 0.016) 0 1px, transparent 1px 8px);
    content: "";
    opacity: 0.5;
    pointer-events: none;
  }

  .c-page-hero-folded-ring::after {
    position: absolute;
    left: 50%;
    bottom: -102px;
    z-index: 5;
    width: max(1180px, 105vw);
    max-width: var(--hero-family-brush-max-width);
    aspect-ratio: 2600 / 600;
    background: var(--cph-folded-ring-brush) center / 100% auto no-repeat;
    clip-path: inset(0 100% 0 0);
    content: "";
    opacity: 0;
    transform: translateX(-50%) translateY(6px) rotate(-0.3deg);
    animation: c-page-hero-folded-ring-brush var(--hero-family-brush-duration) var(--hero-family-brush-delay) var(--hero-family-brush-ease) both;
    pointer-events: none;
  }

  .c-page-hero-folded-ring__ring {
    position: absolute;
    top: -75%;
    right: -7%;
    z-index: 1;
    width: min(58vw, 720px);
    aspect-ratio: 1;
    border: clamp(40px, 5vw, 72px) solid rgba(19, 53, 91, 0.035);
    border-radius: 50%;
    pointer-events: none;
  }

  .c-page-hero-folded-ring__ring::before {
    position: absolute;
    inset: 10%;
    border: 1px solid rgba(176, 135, 65, 0.2);
    border-radius: inherit;
    content: "";
  }

  .c-page-hero-folded-ring__glow {
    position: absolute;
    top: 8%;
    right: 8%;
    z-index: 1;
    width: min(27vw, 330px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(233, 211, 169, 0.3), rgba(233, 211, 169, 0.05) 62%, transparent 70%);
    pointer-events: none;
  }

  .c-page-hero-folded-ring__inner {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, 232px);
    align-items: center;
    gap: clamp(34px, 5vw, 78px);
    min-height: inherit;
    padding-top: 28px;
    padding-bottom: 62px;
  }

  .c-page-hero-folded-ring__copy {
    position: relative;
    max-width: 790px;
    padding: 22px 24px 20px 42px;
    border-left: 1px solid rgba(176, 135, 65, 0.38);
    background: linear-gradient(100deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.16) 80%, transparent);
    opacity: 0;
    transform: translateY(10px);
    animation: c-page-hero-folded-ring-copy 620ms 100ms ease-out forwards;
  }

  .c-page-hero-folded-ring__eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 0.48rem;
    color: var(--c-page-hero-folded-ring-gold);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.17em;
  }

  .c-page-hero-folded-ring__eyebrow span { color: rgba(16, 43, 83, 0.42); font-size: 0.54rem; letter-spacing: 0.2em; }
  .c-page-hero-folded-ring__eyebrow i { width: 28px; height: 1px; background: currentColor; }

  .c-page-hero-folded-ring h1 {
    margin: 0;
    color: var(--c-page-hero-folded-ring-navy);
    font-family: var(--font-serif, serif);
    font-size: clamp(2.65rem, 4.2vw, 4rem);
    font-weight: var(--fw-heading, 700);
    letter-spacing: 0.075em;
    line-height: 1.12;
  }

  .c-page-hero-folded-ring__lead {
    max-width: 45rem;
    margin-top: 0.78rem;
    color: rgba(20, 46, 81, 0.76);
    font-size: clamp(0.9rem, 1.1vw, 1rem);
    font-weight: 500;
    line-height: 1.72;
  }

  .c-page-hero-folded-ring__lead p { margin: 0; }

  .c-page-hero-folded-ring__tags {
    display: flex;
    gap: 18px;
    margin: 0.72rem 0 0;
    color: rgba(16, 43, 83, 0.45);
    font-size: 0.52rem;
    font-weight: 700;
    letter-spacing: 0.16em;
  }

  .c-page-hero-folded-ring__tags span::before { display: inline-block; width: 4px; height: 4px; margin-right: 7px; border: 1px solid var(--c-page-hero-folded-ring-gold); border-radius: 50%; content: ""; }

  .c-page-hero-folded-ring__visual-wrap {
    position: relative;
    z-index: 4;
    width: min(100%, 232px);
    justify-self: end;
  }

  .c-page-hero-folded-ring__visual-wrap::before {
    position: absolute;
    inset: -13px -14px -11px 18px;
    z-index: -1;
    border: 1px solid rgba(176, 135, 65, 0.28);
    border-radius: 50% 50% 28px 28px / 45% 45% 28px 28px;
    content: "";
  }

  .c-page-hero-folded-ring__visual {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    margin: 0;
    overflow: hidden;
    border: 7px solid rgba(255, 255, 255, 0.94);
    border-radius: 50% 50% 25px 25px / 44% 44% 25px 25px;
    background: #fff6e9;
    box-shadow: 0 18px 40px rgba(25, 50, 81, 0.14), inset 0 0 0 1px rgba(154, 115, 52, 0.2);
    animation: c-page-hero-folded-ring-window 700ms 150ms cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  .c-page-hero-folded-ring__visual img { display: block; width: 100%; height: 100%; object-fit: cover; }

  .c-page-hero-folded-ring__stamp {
    position: absolute;
    right: -10px;
    bottom: 6px;
    z-index: 5;
    width: 58px;
    aspect-ratio: 1;
    mix-blend-mode: multiply;
    animation: c-page-hero-folded-ring-stamp var(--hero-family-stamp-duration) var(--hero-family-stamp-delay) var(--hero-family-stamp-ease) both;
    pointer-events: none;
  }

  .c-page-hero-folded-ring__stamp img { display: block; width: 100%; height: 100%; }

  @keyframes c-page-hero-folded-ring-copy { to { opacity: 1; transform: none; } }
  @keyframes c-page-hero-folded-ring-window { from { opacity: 0; transform: translateX(18px) scale(0.985); } to { opacity: 1; transform: none; } }
  @keyframes c-page-hero-folded-ring-brush {
    0% { clip-path: inset(0 100% 0 0); opacity: 0; transform: translateX(-50%) translateY(6px) rotate(-0.3deg); }
    24% { opacity: 0.9; }
    100% { clip-path: inset(0); opacity: 0.9; transform: translateX(-50%) rotate(-0.3deg); }
  }
  @keyframes c-page-hero-folded-ring-stamp {
    0% { opacity: 0; transform: rotate(-16deg) scale(1.5); }
    62% { opacity: 1; transform: rotate(-7deg) scale(0.95); }
    100% { opacity: 1; transform: rotate(-9deg) scale(1); }
  }

  @media (max-width: 760px) {
    .c-page-hero-folded-ring { min-height: 292px; margin-bottom: 12px; }
    .c-page-hero-folded-ring::after { bottom: -64px; width: max(760px, 195vw); }
    .c-page-hero-folded-ring__ring { top: -18%; right: -74%; width: 150vw; min-width: 0; border-width: 34px; }
    .c-page-hero-folded-ring__glow { top: 19%; right: -8%; width: 44vw; }
    .c-page-hero-folded-ring__inner { grid-template-columns: minmax(0, 1fr) 112px; gap: 14px; padding: 24px 18px 48px; }
    .c-page-hero-folded-ring__copy { padding: 16px 5px 14px 16px; }
    .c-page-hero-folded-ring__eyebrow { gap: 6px; margin-bottom: 0.35rem; font-size: 0.61rem; }
    .c-page-hero-folded-ring__eyebrow span { display: none; }
    .c-page-hero-folded-ring__eyebrow i { width: 20px; }
    .c-page-hero-folded-ring h1 { font-size: clamp(1.82rem, 8.1vw, 2.18rem); letter-spacing: 0.045em; }
    .c-page-hero-folded-ring__lead { margin-top: 0.55rem; font-size: 0.76rem; line-height: 1.62; }
    .c-page-hero-folded-ring__tags { display: none; }
    .c-page-hero-folded-ring__visual-wrap { width: 112px; }
    .c-page-hero-folded-ring__visual-wrap::before { inset: -8px -7px -7px 8px; border-radius: 50% 50% 17px 17px / 44% 44% 17px 17px; }
    .c-page-hero-folded-ring__visual { border-width: 4px; border-radius: 50% 50% 15px 15px / 44% 44% 15px 15px; }
    .c-page-hero-folded-ring__stamp { right: -6px; bottom: 2px; width: 42px; }
  }

  @media (max-width: 360px) {
    .c-page-hero-folded-ring__inner { grid-template-columns: minmax(0, 1fr) 96px; padding-inline: 14px; }
    .c-page-hero-folded-ring__visual-wrap { width: 96px; }
    .c-page-hero-folded-ring__lead { font-size: 0.72rem; }
  }

  @media (prefers-reduced-motion: reduce) {
    .c-page-hero-folded-ring__copy,
    .c-page-hero-folded-ring__visual,
    .c-page-hero-folded-ring__stamp { opacity: 1; transform: none; animation: none; }
    .c-page-hero-folded-ring::after { clip-path: inset(0); opacity: 0.9; transform: translateX(-50%) rotate(-0.3deg); animation: none; }
  }

/* COMPOSITION: chapter-rail (News hero V6 parity source) */
.c-page-hero-chapter-rail {
    --c-page-hero-chapter-rail-navy: #112d55;
    --c-page-hero-chapter-rail-gold: #ad8139;
    --c-page-hero-chapter-rail-rose: #c65f57;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    min-height: clamp(255px, 19vw, 286px);
    margin-bottom: clamp(14px, 1.8vw, 24px);
    overflow: clip visible;
    color: var(--c-page-hero-chapter-rail-navy);
    border-top: 1px solid rgba(173, 129, 57, 0.12);
    border-bottom: 1px solid rgba(173, 129, 57, 0.2);
    background:
      linear-gradient(106deg, rgba(255, 255, 255, 0.68), rgba(249, 242, 229, 0.7)),
      #fdf9f0;
    isolation: isolate;
  }

  .c-page-hero-chapter-rail *,
  .c-page-hero-chapter-rail *::before,
  .c-page-hero-chapter-rail *::after {
    box-sizing: inherit;
  }

  .c-page-hero-chapter-rail::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
      repeating-linear-gradient(5deg, rgba(72, 54, 27, 0.018) 0 1px, transparent 1px 6px),
      repeating-linear-gradient(95deg, rgba(72, 54, 27, 0.014) 0 1px, transparent 1px 8px);
    content: "";
    opacity: 0.42;
    pointer-events: none;
  }

  .c-page-hero-chapter-rail::after {
    position: absolute;
    left: auto;
    right: -4%;
    bottom: -43px;
    z-index: 5;
    width: min(860px, 64vw);
    aspect-ratio: 2600 / 600;
    background: var(--cph-chapter-rail-brush) right center / 100% auto no-repeat;
    clip-path: inset(0 100% 0 0);
    content: "";
    opacity: 0;
    transform: none;
    animation: c-page-hero-chapter-rail-brush var(--hero-family-brush-duration) var(--hero-family-brush-delay) var(--hero-family-brush-ease) both;
    pointer-events: none;
  }

  .c-page-hero-chapter-rail__wash {
    position: absolute;
    top: -70%;
    right: -8%;
    z-index: 1;
    width: min(53vw, 680px);
    aspect-ratio: 1;
    border: 54px solid rgba(19, 53, 91, 0.027);
    border-radius: 50%;
    pointer-events: none;
  }

  .c-page-hero-chapter-rail__wash::before {
    position: absolute;
    inset: 10%;
    border: 1px solid rgba(173, 129, 57, 0.16);
    border-radius: inherit;
    content: "";
  }

  .c-page-hero-chapter-rail__inner {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) 220px auto;
    align-items: center;
    gap: clamp(22px, 3.2vw, 46px);
    min-height: inherit;
    padding-top: 26px;
    padding-bottom: 34px;
    opacity: 0;
    transform: translateY(8px);
    animation: c-page-hero-chapter-rail-in 580ms 90ms ease-out forwards;
  }

  .c-page-hero-chapter-rail__mark {
    min-height: 96px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: center;
    justify-items: end;
    padding-right: 22px;
    border-right: 1px solid rgba(173, 129, 57, 0.43);
    color: var(--c-page-hero-chapter-rail-gold);
  }

  .c-page-hero-chapter-rail__mark span { writing-mode: vertical-rl; font-size: 0.5rem; font-weight: 800; letter-spacing: 0.15em; }
  .c-page-hero-chapter-rail__mark b { writing-mode: vertical-rl; color: var(--c-page-hero-chapter-rail-rose); font-family: var(--font-serif, serif); font-size: 1.34rem; font-weight: 700; letter-spacing: 0.08em; line-height: 1; }

  .c-page-hero-chapter-rail__copy { max-width: 760px; }

  .c-page-hero-chapter-rail__eyebrow {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 0.38rem;
    color: var(--c-page-hero-chapter-rail-gold);
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.15em;
  }

  .c-page-hero-chapter-rail__eyebrow i { width: 26px; height: 1px; background: rgba(173, 129, 57, 0.55); }

  .c-page-hero-chapter-rail h1 {
    margin: 0;
    color: var(--c-page-hero-chapter-rail-navy);
    font-family: var(--font-serif, serif);
    font-size: clamp(2.5rem, 3.8vw, 3.65rem);
    font-weight: var(--fw-heading, 700);
    letter-spacing: 0.07em;
    line-height: 1.1;
  }

  .c-page-hero-chapter-rail__lead {
    max-width: 44rem;
    margin-top: 0.58rem;
    color: rgba(20, 46, 81, 0.74);
    font-size: clamp(0.82rem, 1vw, 0.94rem);
    font-weight: 500;
    line-height: 1.65;
  }

  .c-page-hero-chapter-rail__lead p { margin: 0; }

  .c-page-hero-chapter-rail__visual-wrap {
    position: relative;
    width: 210px;
    justify-self: end;
  }

  .c-page-hero-chapter-rail__visual {
    width: 100%;
    aspect-ratio: 1;
    margin: 0;
    overflow: hidden;
    border: 5px solid rgba(255, 255, 255, 0.95);
    border-radius: 50% 50% 18px 18px / 45% 45% 18px 18px;
    background: #fff6e9;
    box-shadow: 0 12px 27px rgba(25, 50, 81, 0.12), inset 0 0 0 1px rgba(154, 115, 52, 0.17);
  }

  .c-page-hero-chapter-rail__visual img { display: block; width: 100%; height: 100%; object-fit: cover; }

  .c-page-hero-chapter-rail__stamp {
    position: absolute;
    right: -8px;
    bottom: -16px;
    width: 41px;
    aspect-ratio: 1;
    mix-blend-mode: multiply;
    transform: rotate(-9deg);
    pointer-events: none;
  }

  .c-page-hero-chapter-rail__stamp img { display: block; width: 100%; height: 100%; }

  .c-page-hero-chapter-rail__note {
    display: grid;
    gap: 5px;
    margin: 0;
    padding-left: 18px;
    border-left: 1px solid rgba(173, 129, 57, 0.28);
    color: rgba(17, 45, 85, 0.4);
    font-size: 0.48rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 1.25;
  }

  @keyframes c-page-hero-chapter-rail-in { to { opacity: 1; transform: none; } }
  @keyframes c-page-hero-chapter-rail-brush {
    0% { clip-path: inset(0 100% 0 0); opacity: 0; }
    24% { opacity: 0.84; }
    100% { clip-path: inset(0); opacity: 0.84; }
  }

  @media (max-width: 760px) {
    .c-page-hero-chapter-rail { min-height: 260px; margin-bottom: 10px; }
    .c-page-hero-chapter-rail::after { right: -34%; bottom: -26px; width: 185vw; max-width: 720px; }
    .c-page-hero-chapter-rail__wash { top: -18%; right: -72%; width: 145vw; border-width: 34px; }
    .c-page-hero-chapter-rail__inner { grid-template-columns: 42px minmax(0, 1fr) 120px; gap: 10px; padding: 24px 15px 34px; }
    .c-page-hero-chapter-rail__mark { min-height: 74px; gap: 4px; padding-right: 10px; }
    .c-page-hero-chapter-rail__mark span { font-size: 0.4rem; letter-spacing: 0.08em; }
    .c-page-hero-chapter-rail__mark b { font-size: 0.98rem; }
    .c-page-hero-chapter-rail__eyebrow { gap: 6px; margin-bottom: 0.28rem; font-size: 0.54rem; letter-spacing: 0.09em; }
    .c-page-hero-chapter-rail__eyebrow i { width: 14px; }
    .c-page-hero-chapter-rail__eyebrow-context { display: none; }
    .c-page-hero-chapter-rail h1 { font-size: clamp(1.58rem, 7.3vw, 1.9rem); letter-spacing: 0.035em; }
    .c-page-hero-chapter-rail__lead { margin-top: 0.42rem; font-size: 0.68rem; line-height: 1.52; }
    .c-page-hero-chapter-rail__visual-wrap { width: 118px; }
    .c-page-hero-chapter-rail__visual { border-width: 3px; border-radius: 50% 50% 11px 11px / 45% 45% 11px 11px; }
    .c-page-hero-chapter-rail__stamp { right: -5px; bottom: -10px; width: 30px; }
    .c-page-hero-chapter-rail__note { display: none; }
  }

  @media (max-width: 350px) {
    .c-page-hero-chapter-rail__inner { grid-template-columns: 34px minmax(0, 1fr) 100px; gap: 9px; padding-inline: 11px; }
    .c-page-hero-chapter-rail__mark { padding-right: 7px; }
    .c-page-hero-chapter-rail__visual-wrap { width: 98px; }
    .c-page-hero-chapter-rail__lead { font-size: 0.64rem; }
  }

  @media (prefers-reduced-motion: reduce) {
    .c-page-hero-chapter-rail__inner { opacity: 1; transform: none; animation: none; }
    .c-page-hero-chapter-rail::after { clip-path: inset(0); opacity: 0.84; transform: none; animation: none; }
  }

@media print {
  .c-page-hero--compact { min-height: 0; }
  .c-page-hero--compact::after { display: none; }
  .c-page-hero__visual-wrap { max-width: 220px; }
  .c-page-hero__stamp { display: none; }
}

/* COMPOSITION: editorial-paper (About hero v4 parity source) */
.c-page-hero-editorial {
    --cph-editorial-navy: #122d55;
    --cph-editorial-gold: #ad8139;
    --cph-editorial-paper: #f5eedf;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    min-height: clamp(520px, 49vw, 650px);
    margin-bottom: clamp(18px, 2.8vw, 38px);
    overflow-x: clip;
    overflow-y: visible;
    color: var(--cph-editorial-navy);
    background:
      radial-gradient(circle at 78% 22%, rgba(214,180,112,.21), transparent 25%),
      linear-gradient(180deg, #f4ecdc 0%, #fbf8f0 72%, #fff 100%);
    isolation: isolate;
  }

  .c-page-hero-editorial *,
  .c-page-hero-editorial *::before,
  .c-page-hero-editorial *::after {
    box-sizing: inherit;
  }

  .c-page-hero-editorial::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
      repeating-linear-gradient(7deg, rgba(72,54,27,.027) 0 1px, transparent 1px 5px),
      repeating-linear-gradient(96deg, rgba(72,54,27,.018) 0 1px, transparent 1px 7px);
    content: "";
    opacity: .42;
    pointer-events: none;
  }

  .c-page-hero-editorial::after {
    position: absolute;
    left: 50%;
    bottom: -70px;
    z-index: 6;
    width: max(1440px, 112vw);
    max-width: var(--hero-family-brush-max-width);
    aspect-ratio: 2600 / 600;
    background: var(--cph-editorial-brush) center / 100% auto no-repeat;
    clip-path: inset(0 100% 0 0);
    content: "";
    opacity: 0;
    transform: translateX(-50%) translateY(8px);
    animation: c-page-hero-editorial-brush var(--hero-family-brush-duration) var(--hero-family-brush-delay) var(--hero-family-brush-ease) both;
    pointer-events: none;
  }

  .c-page-hero-editorial__paper {
    position: absolute;
    z-index: 1;
    display: block;
    border: 1px solid rgba(156,116,50,.12);
    background: rgba(255,253,247,.52);
    box-shadow: 0 22px 70px rgba(44,53,61,.035);
    pointer-events: none;
  }

  .c-page-hero-editorial__paper--back {
    top: 7%;
    left: -4%;
    width: 67%;
    height: 77%;
    transform: rotate(-1.2deg);
  }

  .c-page-hero-editorial__paper--front {
    top: 16%;
    right: -4%;
    width: 58%;
    height: 73%;
    background: rgba(255,255,255,.37);
    transform: rotate(1.1deg);
  }

  .c-page-hero-editorial__ring {
    position: absolute;
    top: -34%;
    right: 16%;
    z-index: 1;
    width: min(48vw, 680px);
    aspect-ratio: 1;
    border: 1px solid rgba(174,132,61,.16);
    border-radius: 50%;
    pointer-events: none;
  }

  .c-page-hero-editorial__ring::before,
  .c-page-hero-editorial__ring::after {
    position: absolute;
    border: 1px solid rgba(174,132,61,.1);
    border-radius: inherit;
    content: "";
  }
  .c-page-hero-editorial__ring::before { inset: 10%; }
  .c-page-hero-editorial__ring::after { inset: 22%; }

  .c-page-hero-editorial__ghost {
    position: absolute;
    top: 31%;
    left: 3%;
    z-index: 1;
    color: rgba(18,45,85,.035);
    font-family: var(--font-serif, serif);
    font-size: clamp(5rem, 14vw, 13.5rem);
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
  }

  .c-page-hero-editorial__inner {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(330px, .78fr);
    align-items: center;
    gap: clamp(34px, 5vw, 76px);
    min-height: inherit;
    padding-top: clamp(64px, 6.5vw, 94px);
    padding-bottom: clamp(118px, 10vw, 148px);
  }

  .c-page-hero-editorial__copy {
    position: relative;
    max-width: 720px;
    padding: clamp(26px, 3.5vw, 46px) clamp(12px, 2vw, 28px) clamp(24px, 3vw, 38px) clamp(28px, 4vw, 58px);
    opacity: 0;
    transform: translateY(12px);
    animation: c-page-hero-editorial-copy 700ms 120ms ease-out forwards;
  }

  .c-page-hero-editorial__copy::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: linear-gradient(180deg, transparent 0 8%, #b99049 8% 63%, rgba(185,144,73,.1) 63% 100%);
    content: "";
  }

  .c-page-hero-editorial__edition {
    position: absolute;
    top: -20px;
    left: 0;
    display: flex;
    align-items: center;
    gap: 11px;
    color: rgba(18,45,85,.5);
  }

  .c-page-hero-editorial__edition span { color: var(--cph-editorial-gold); font-family: var(--font-serif, serif); font-size: 1.32rem; }
  .c-page-hero-editorial__edition i { width: 42px; height: 1px; background: rgba(173,129,57,.55); }
  .c-page-hero-editorial__edition small { font-size: .55rem; font-style: normal; font-weight: 700; letter-spacing: .13em; line-height: 1.45; }

  .c-page-hero-editorial__eyebrow {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 0 0 .95rem;
    color: var(--cph-editorial-gold);
    font-size: var(--fs-eyebrow, .78rem);
    font-weight: 700;
    letter-spacing: .18em;
  }

  .c-page-hero-editorial__eyebrow span { width: 34px; height: 1px; background: currentColor; }

  .c-page-hero-editorial__title {
    max-width: 9em;
    margin: 0;
    color: var(--cph-editorial-navy);
    font-family: var(--font-serif, serif);
    font-size: clamp(2.65rem, 4.35vw, 4.45rem);
    font-weight: var(--fw-heading, 700);
    line-height: 1.15;
    letter-spacing: .075em;
    text-wrap: balance;
  }

  .c-page-hero-editorial__title::after {
    display: block;
    width: clamp(70px, 9vw, 124px);
    height: 5px;
    margin-top: .46em;
    background: linear-gradient(90deg, var(--cph-editorial-gold), rgba(173,129,57,.08));
    content: "";
  }

  .c-page-hero-editorial__lead {
    max-width: 39rem;
    margin-top: clamp(1.25rem, 2vw, 1.7rem);
    color: rgba(24,47,80,.75);
    font-size: clamp(.99rem, 1.22vw, 1.08rem);
    font-weight: var(--fw-body, 500);
    line-height: 1.9;
  }

  .c-page-hero-editorial__lead p { margin: 0; }

  .c-page-hero-editorial__folio {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: clamp(1.4rem, 2.6vw, 2.1rem);
    color: rgba(18,45,85,.39);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .18em;
  }
  .c-page-hero-editorial__folio b { color: var(--cph-editorial-gold); font-weight: 400; }

  .c-page-hero-editorial__visual-wrap {
    position: relative;
    z-index: 5;
    width: min(100%, 420px);
    justify-self: end;
    margin-right: clamp(2px, 2vw, 30px);
  }

  .c-page-hero-editorial__sun {
    position: absolute;
    top: -34px;
    right: -42px;
    z-index: -1;
    width: 58%;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(203,157,78,.2), rgba(203,157,78,.04) 62%, transparent 63%);
  }

  .c-page-hero-editorial__visual-wrap::before {
    position: absolute;
    inset: -18px 20px 18px -26px;
    z-index: -1;
    border: 1px solid rgba(173,129,57,.32);
    border-radius: 51% 51% 34px 34px / 45% 45% 34px 34px;
    content: "";
  }

  .c-page-hero-editorial__visual {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    margin: 0;
    overflow: hidden;
    border: clamp(8px, .85vw, 11px) solid rgba(255,255,255,.92);
    border-radius: 50% 50% 32px 32px / 44% 44% 32px 32px;
    background: #fff6e9;
    box-shadow: 0 24px 56px rgba(31,48,70,.14), inset 0 0 0 1px rgba(154,115,52,.2);
    animation: c-page-hero-editorial-window 760ms 180ms cubic-bezier(.22,1,.36,1) both;
  }

  .c-page-hero-editorial__visual::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.22), transparent 34%);
    content: "";
    pointer-events: none;
  }

  .c-page-hero-editorial__visual img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.055); }

  .c-page-hero-editorial__caption {
    position: absolute;
    right: calc(100% - 34px);
    bottom: 22px;
    width: 150px;
    color: rgba(18,45,85,.48);
    font-size: .54rem;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.65;
    text-align: right;
  }

  .c-page-hero-editorial__caption::after {
    position: absolute;
    top: 50%;
    left: calc(100% + 10px);
    width: 44px;
    height: 1px;
    background: rgba(173,129,57,.5);
    content: "";
  }

  .c-page-hero-editorial__stamp {
    position: absolute;
    right: -12px;
    bottom: -38px;
    z-index: 6;
    width: clamp(78px, 7vw, 98px);
    aspect-ratio: 1;
    mix-blend-mode: multiply;
    animation: c-page-hero-editorial-stamp var(--hero-family-stamp-duration) var(--hero-family-stamp-delay) var(--hero-family-stamp-ease) both;
    pointer-events: none;
  }
  .c-page-hero-editorial__stamp img { display: block; width: 100%; height: 100%; }

  @keyframes c-page-hero-editorial-copy { to { opacity: 1; transform: translateY(0); } }
  @keyframes c-page-hero-editorial-window { from { opacity: 0; transform: translateX(24px) scale(.985); } to { opacity: 1; transform: none; } }
  @keyframes c-page-hero-editorial-brush {
    0% { clip-path: inset(0 100% 0 0); opacity: 0; transform: translateX(-50%) translateY(8px); }
    24% { opacity: .88; }
    100% { clip-path: inset(0); opacity: .88; transform: translateX(-50%) translateY(0); }
  }
  @keyframes c-page-hero-editorial-stamp {
    0% { opacity: 0; transform: rotate(-16deg) scale(1.6); }
    62% { opacity: 1; transform: rotate(-8deg) scale(.95); }
    100% { opacity: 1; transform: rotate(-9deg) scale(1); }
  }

  @media (max-width: 760px) {
    .c-page-hero-editorial { min-height: 0; }
    .c-page-hero-editorial::after { bottom: -48px; width: max(940px, 210vw); }
    .c-page-hero-editorial__paper--back { top: 4%; left: -20%; width: 112%; height: 52%; }
    .c-page-hero-editorial__paper--front { top: 42%; right: -24%; width: 115%; height: 48%; }
    .c-page-hero-editorial__ring { top: auto; right: -42%; bottom: -4%; width: 116vw; }
    .c-page-hero-editorial__ghost { top: 17%; left: -3%; font-size: 25vw; }
    .c-page-hero-editorial__inner { grid-template-columns: 1fr; gap: 26px; padding-top: 76px; padding-bottom: 104px; }
    .c-page-hero-editorial__copy { padding: 24px 9px 22px 25px; }
    .c-page-hero-editorial__edition { top: -28px; }
    .c-page-hero-editorial__title { max-width: none; font-size: clamp(2.35rem, 11.2vw, 3.05rem); letter-spacing: .045em; }
    .c-page-hero-editorial__title::after { height: 4px; }
    .c-page-hero-editorial__lead { margin-top: 1.1rem; font-size: .95rem; line-height: 1.8; }
    .c-page-hero-editorial__folio { margin-top: 1.2rem; }
    .c-page-hero-editorial__visual-wrap { width: min(76vw, 316px); justify-self: center; margin: 0; }
    .c-page-hero-editorial__caption { display: none; }
    .c-page-hero-editorial__stamp { right: -8px; bottom: -30px; width: 70px; }
  }

  @media (max-width: 420px) {
    .c-page-hero-editorial__inner { padding-top: 68px; padding-bottom: 92px; }
    .c-page-hero-editorial__edition small { display: none; }
  }

  @media (prefers-reduced-motion: reduce) {
    .c-page-hero-editorial__copy,
    .c-page-hero-editorial__visual,
    .c-page-hero-editorial__stamp { opacity: 1; transform: none; animation: none; }
    .c-page-hero-editorial::after { clip-path: inset(0); opacity: .88; transform: translateX(-50%); animation: none; }
  }

/* COMPOSITION: signature-ring (About hero v5 parity source) */
.c-page-hero-ring {
    --cph-ring-navy: #102b53;
    --cph-ring-gold: #b08741;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    min-height: clamp(520px, 49vw, 650px);
    margin-bottom: clamp(18px, 2.8vw, 38px);
    overflow-x: clip;
    overflow-y: visible;
    color: var(--cph-ring-navy);
    background:
      radial-gradient(circle at 78% 30%, rgba(209,176,111,.2), transparent 24%),
      radial-gradient(circle at 16% 84%, rgba(102,137,168,.1), transparent 27%),
      linear-gradient(180deg, #faf6ed 0%, #fffdf8 72%, #fff 100%);
    isolation: isolate;
  }

  .c-page-hero-ring *,
  .c-page-hero-ring *::before,
  .c-page-hero-ring *::after {
    box-sizing: inherit;
  }

  .c-page-hero-ring::before {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
      repeating-linear-gradient(8deg, rgba(72,54,27,.022) 0 1px, transparent 1px 6px),
      repeating-linear-gradient(95deg, rgba(72,54,27,.016) 0 1px, transparent 1px 8px);
    content: "";
    opacity: .5;
    pointer-events: none;
  }

  .c-page-hero-ring::after {
    position: absolute;
    left: 50%;
    bottom: -59px;
    z-index: 5;
    width: max(1520px, 118vw);
    max-width: var(--hero-family-brush-max-width);
    aspect-ratio: 2600 / 600;
    background: var(--cph-ring-brush) center / 100% auto no-repeat;
    clip-path: inset(0 100% 0 0);
    content: "";
    opacity: 0;
    transform: translateX(-50%) translateY(8px) rotate(-.4deg);
    animation: c-page-hero-ring-brush var(--hero-family-brush-duration) var(--hero-family-brush-delay) var(--hero-family-brush-ease) both;
    pointer-events: none;
  }

  .c-page-hero-ring__sweep {
    position: absolute;
    top: -52%;
    right: -12%;
    z-index: 1;
    width: 71vw;
    min-width: 760px;
    aspect-ratio: 1;
    border: clamp(58px, 7vw, 104px) solid rgba(19,53,91,.032);
    border-radius: 50%;
    pointer-events: none;
  }

  .c-page-hero-ring__sweep::before {
    position: absolute;
    inset: 8%;
    border: 1px solid rgba(176,135,65,.18);
    border-radius: inherit;
    content: "";
  }

  .c-page-hero-ring__halo {
    position: absolute;
    top: 13%;
    right: 8%;
    z-index: 1;
    width: min(39vw, 560px);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(233,211,169,.3), rgba(233,211,169,.06) 58%, transparent 68%);
    pointer-events: none;
  }

  .c-page-hero-ring__seal-guide {
    position: absolute;
    right: 0;
    bottom: 21%;
    z-index: 1;
    width: 24%;
    height: 1px;
    background: linear-gradient(90deg, rgba(176,135,65,.4), transparent);
    pointer-events: none;
  }

  .c-page-hero-ring__inner {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .76fr);
    align-items: center;
    gap: clamp(28px, 4vw, 66px);
    min-height: inherit;
    padding-top: clamp(58px, 6vw, 88px);
    padding-bottom: clamp(116px, 10vw, 146px);
  }

  .c-page-hero-ring__copy {
    position: relative;
    z-index: 4;
    max-width: 730px;
    padding: clamp(30px, 4vw, 54px) clamp(12px, 2vw, 24px) clamp(26px, 3vw, 42px) clamp(24px, 3.5vw, 50px);
    opacity: 0;
    transform: translateY(12px);
    animation: c-page-hero-ring-copy 700ms 120ms ease-out forwards;
  }

  .c-page-hero-ring__copy::before {
    position: absolute;
    inset: 0 7% 0 0;
    z-index: -1;
    border-left: 1px solid rgba(176,135,65,.34);
    background: linear-gradient(100deg, rgba(255,255,255,.72), rgba(255,255,255,.26) 76%, transparent);
    content: "";
  }

  .c-page-hero-ring__number {
    position: absolute;
    top: -18px;
    left: 2px;
    color: rgba(16,43,83,.16);
    font-family: var(--font-serif, serif);
    font-size: clamp(3.6rem, 6vw, 6.2rem);
    font-weight: 400;
    line-height: 1;
  }

  .c-page-hero-ring__eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 1rem;
    color: var(--cph-ring-gold);
    font-size: var(--fs-eyebrow, .78rem);
    font-weight: 700;
    letter-spacing: .17em;
  }

  .c-page-hero-ring__eyebrow span { color: rgba(16,43,83,.4); font-size: .58rem; letter-spacing: .22em; }
  .c-page-hero-ring__eyebrow i { width: 34px; height: 1px; background: currentColor; }

  .c-page-hero-ring__title-row { position: relative; display: inline-block; }

  .c-page-hero-ring__title {
    position: relative;
    z-index: 2;
    max-width: 9em;
    margin: 0;
    color: var(--cph-ring-navy);
    font-family: var(--font-serif, serif);
    font-size: clamp(2.72rem, 4.5vw, 4.65rem);
    font-weight: var(--fw-heading, 700);
    line-height: 1.13;
    letter-spacing: .07em;
    text-wrap: balance;
  }

  .c-page-hero-ring__title-mark {
    position: absolute;
    right: -58px;
    bottom: .33em;
    z-index: 1;
    width: 90px;
    height: 18px;
    border-bottom: 2px solid rgba(176,135,65,.68);
    border-radius: 50%;
    transform: rotate(-7deg);
  }

  .c-page-hero-ring__lead {
    max-width: 40rem;
    margin-top: clamp(1.4rem, 2.3vw, 1.9rem);
    padding-left: 18px;
    border-left: 2px solid rgba(176,135,65,.48);
    color: rgba(20,46,81,.75);
    font-size: clamp(.99rem, 1.22vw, 1.08rem);
    font-weight: var(--fw-body, 500);
    line-height: 1.9;
  }
  .c-page-hero-ring__lead p { margin: 0; }

  .c-page-hero-ring__note {
    display: flex;
    gap: clamp(14px, 2.5vw, 32px);
    margin-top: clamp(1.35rem, 2.5vw, 2rem);
    color: rgba(16,43,83,.43);
    font-size: .56rem;
    font-weight: 700;
    letter-spacing: .16em;
  }

  .c-page-hero-ring__note span { display: flex; align-items: center; gap: 8px; }
  .c-page-hero-ring__note span::before { width: 5px; height: 5px; border: 1px solid var(--cph-ring-gold); border-radius: 50%; content: ""; }

  .c-page-hero-ring__visual-wrap {
    position: relative;
    z-index: 4;
    width: min(100%, 425px);
    justify-self: end;
    margin-right: clamp(0px, 2vw, 26px);
  }

  .c-page-hero-ring__visual-wrap::before {
    position: absolute;
    inset: -30px -28px -20px 28px;
    z-index: -2;
    border: 1px solid rgba(176,135,65,.26);
    border-radius: 50% 50% 44px 44px / 45% 45% 44px 44px;
    content: "";
  }

  .c-page-hero-ring__visual-line {
    position: absolute;
    top: 40%;
    right: calc(100% - 12px);
    z-index: -1;
    width: clamp(90px, 13vw, 190px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(176,135,65,.55));
  }

  .c-page-hero-ring__visual-line::before {
    position: absolute;
    right: -4px;
    top: -4px;
    width: 9px;
    height: 9px;
    border: 1px solid var(--cph-ring-gold);
    border-radius: 50%;
    background: #faf6ed;
    content: "";
  }

  .c-page-hero-ring__visual {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    margin: 0;
    overflow: hidden;
    border: clamp(8px, .85vw, 11px) solid rgba(255,255,255,.94);
    border-radius: 50% 50% 34px 34px / 44% 44% 34px 34px;
    background: #fff6e9;
    box-shadow: 0 26px 62px rgba(25,50,81,.16), inset 0 0 0 1px rgba(154,115,52,.2);
    animation: c-page-hero-ring-window 760ms 180ms cubic-bezier(.22,1,.36,1) both;
  }

  .c-page-hero-ring__visual::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.24), transparent 34%);
    content: "";
    pointer-events: none;
  }
  .c-page-hero-ring__visual img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.055); }

  .c-page-hero-ring__visual-label {
    position: absolute;
    top: 22%;
    right: -76px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(16,43,83,.43);
    writing-mode: vertical-rl;
  }
  .c-page-hero-ring__visual-label b { font-size: .62rem; letter-spacing: .2em; }
  .c-page-hero-ring__visual-label small { font-size: .48rem; letter-spacing: .11em; line-height: 1.45; }

  .c-page-hero-ring__stamp {
    position: absolute;
    right: -15px;
    bottom: -40px;
    z-index: 6;
    width: clamp(82px, 7.2vw, 102px);
    aspect-ratio: 1;
    mix-blend-mode: multiply;
    animation: c-page-hero-ring-stamp var(--hero-family-stamp-duration) var(--hero-family-stamp-delay) var(--hero-family-stamp-ease) both;
    pointer-events: none;
  }
  .c-page-hero-ring__stamp img { display: block; width: 100%; height: 100%; }

  @keyframes c-page-hero-ring-copy { to { opacity: 1; transform: translateY(0); } }
  @keyframes c-page-hero-ring-window { from { opacity: 0; transform: translateX(24px) scale(.985); } to { opacity: 1; transform: none; } }
  @keyframes c-page-hero-ring-brush {
    0% { clip-path: inset(0 100% 0 0); opacity: 0; transform: translateX(-50%) translateY(8px) rotate(-.4deg); }
    24% { opacity: .94; }
    100% { clip-path: inset(0); opacity: .94; transform: translateX(-50%) translateY(0) rotate(-.4deg); }
  }
  @keyframes c-page-hero-ring-stamp {
    0% { opacity: 0; transform: rotate(-16deg) scale(1.6); }
    62% { opacity: 1; transform: rotate(-8deg) scale(.95); }
    100% { opacity: 1; transform: rotate(-9deg) scale(1); }
  }

  @media (max-width: 760px) {
    .c-page-hero-ring { min-height: 0; }
    .c-page-hero-ring::after { bottom: -42px; width: max(1020px, 230vw); }
    .c-page-hero-ring__sweep { top: 25%; right: -95%; min-width: 700px; }
    .c-page-hero-ring__halo { top: 45%; right: -15%; width: 105vw; }
    .c-page-hero-ring__seal-guide { display: none; }
    .c-page-hero-ring__inner { grid-template-columns: 1fr; gap: 30px; padding-top: 66px; padding-bottom: 100px; }
    .c-page-hero-ring__copy { padding: 30px 8px 24px 24px; }
    .c-page-hero-ring__number { top: -20px; font-size: 4.3rem; }
    .c-page-hero-ring__eyebrow span { display: none; }
    .c-page-hero-ring__title { max-width: none; font-size: clamp(2.42rem, 11.4vw, 3.12rem); letter-spacing: .045em; }
    .c-page-hero-ring__title-mark { right: -20px; width: 62px; }
    .c-page-hero-ring__lead { margin-top: 1.15rem; padding-left: 13px; font-size: .95rem; line-height: 1.8; }
    .c-page-hero-ring__note { flex-wrap: wrap; gap: 10px 18px; margin-top: 1.2rem; }
    .c-page-hero-ring__visual-wrap { width: min(76vw, 318px); justify-self: center; margin: 0; }
    .c-page-hero-ring__visual-label { display: none; }
    .c-page-hero-ring__visual-line { width: 22vw; }
    .c-page-hero-ring__stamp { right: -9px; bottom: -31px; width: 72px; }
  }

  @media (max-width: 420px) {
    .c-page-hero-ring__inner { padding-top: 58px; padding-bottom: 88px; }
    .c-page-hero-ring__note { font-size: .5rem; }
  }

  @media (prefers-reduced-motion: reduce) {
    .c-page-hero-ring__copy,
    .c-page-hero-ring__visual,
    .c-page-hero-ring__stamp { opacity: 1; transform: none; animation: none; }
    .c-page-hero-ring::after { clip-path: inset(0); opacity: .94; transform: translateX(-50%) rotate(-.4deg); animation: none; }
  }

@media print {
  .c-page-hero-editorial,
  .c-page-hero-ring,
  .c-page-hero-folded-ring,
  .c-page-hero-chapter-rail { min-height: 0; }

  .c-page-hero-editorial::after,
  .c-page-hero-ring::after,
  .c-page-hero-folded-ring::after,
  .c-page-hero-chapter-rail::after { display: none; }

  .c-page-hero-editorial__visual-wrap,
  .c-page-hero-ring__visual-wrap,
  .c-page-hero-folded-ring__visual-wrap,
  .c-page-hero-chapter-rail__visual-wrap { max-width: 220px; }

  .c-page-hero-editorial__stamp,
  .c-page-hero-ring__stamp,
  .c-page-hero-folded-ring__stamp,
  .c-page-hero-chapter-rail__stamp { display: none; }
}
