.irp-fixed-v1 {
  --af-paper: #f2eee4;
  --af-paper-light: #fbf9f3;
  --af-ink: #111413;
  --af-ink-soft: #565e5b;
  --af-navy: #17384a;
  --af-mineral: #2b5b6e;
  --af-blue-pale: #d6e0e1;
  --af-amber: #b97627;
  --af-line: rgba(17, 20, 19, 0.19);
  --af-page: max(28px, calc((100vw - 1320px) / 2));
  --af-section: clamp(96px, 10vw, 164px);
  --af-serif: "Bodoni Moda", "Bodoni 72", Didot, serif;
  --af-sans: "Manrope", Arial, sans-serif;
  --af-ease: cubic-bezier(0.16, 1, 0.3, 1);
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow-x: clip;
  color: var(--af-ink-soft);
  background: var(--af-paper);
  font: 400 clamp(1rem, 1.13vw, 1.16rem)/1.65 var(--af-sans);
}

.irp-fixed-v1 *,
.irp-fixed-v1 *::before,
.irp-fixed-v1 *::after { box-sizing: border-box; }
.irp-fixed-v1 ::selection { color: var(--af-paper-light); background: var(--af-mineral); }
.irp-fixed-v1 :focus-visible { outline: 3px solid var(--af-amber); outline-offset: 4px; }
.irp-fixed-v1 h1,
.irp-fixed-v1 h2,
.irp-fixed-v1 h3,
.irp-fixed-v1 p { margin-top: 0; }
.irp-fixed-v1 h1,
.irp-fixed-v1 h2,
.irp-fixed-v1 h3 {
  color: var(--af-ink);
  font-family: var(--af-serif);
  font-weight: 400;
  letter-spacing: -0.04em;
}
.irp-fixed-v1 h2 { margin-bottom: 30px; font-size: clamp(3.2rem, 6.15vw, 6.25rem); line-height: 0.94; }
.irp-fixed-v1 h3 { margin-bottom: 14px; font-size: clamp(2rem, 3vw, 3.15rem); line-height: 0.98; }
.irp-fixed-v1 a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.28em; }
.irp-fixed-v1 img { display: block; max-width: 100%; }

.af-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 24px;
  border: 1px solid transparent;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}
.af-action i { position: relative; width: 24px; height: 12px; margin-left: 22px; }
.af-action i::before,
.af-action i::after { position: absolute; right: 0; content: ""; }
.af-action i::before { top: 5px; width: 24px; border-top: 1px solid currentColor; }
.af-action i::after { top: 2px; width: 7px; height: 7px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.irp-fixed-v1 .af-action--light { color: var(--af-ink); background: var(--af-paper-light); }
.irp-fixed-v1 .af-action--light:hover { color: var(--af-paper-light); background: var(--af-mineral); }
.irp-fixed-v1 .af-action--dark { color: var(--af-paper-light); background: var(--af-ink); }
.irp-fixed-v1 .af-action--dark:hover { background: var(--af-navy); }

.af-hero {
  position: relative;
  min-height: max(760px, calc(100svh - 65px));
  overflow: hidden;
  isolation: isolate;
  color: var(--af-paper-light);
  background: #090d0e;
}
.af-hero > picture,
.af-hero__art,
.af-hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.af-hero__art { z-index: -3; object-fit: cover; object-position: center center; }
.af-hero__veil {
  z-index: -2;
  background: linear-gradient(90deg, rgba(5, 8, 9, 0.76) 0%, rgba(5, 8, 9, 0.62) 34%, rgba(5, 8, 9, 0.14) 55%, transparent 68%);
}
.af-hero__copy {
  width: min(47%, 720px);
  padding: clamp(76px, 9vh, 112px) 0 0 var(--af-page);
}
.af-hero h1 {
  max-width: 10.4ch;
  margin: 0;
  color: var(--af-paper-light);
  font-size: clamp(4.25rem, 5.7vw, 5.75rem);
  line-height: 0.93;
  text-wrap: balance;
}
.af-hero h1 span {
  display: block;
  margin-bottom: 14px;
  font: 700 0.16em/1.2 var(--af-sans);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.af-hero__copy > p { max-width: 520px; margin: 26px 0 0; color: rgba(251, 249, 243, 0.78); font-size: clamp(1.02rem, 1.35vw, 1.3rem); line-height: 1.58; }
.af-hero .af-action { margin-top: 32px; }
.af-hero__chapter,
.af-hero__caption { position: absolute; z-index: 3; }
.af-hero__chapter { bottom: 35px; left: var(--af-page); display: flex; gap: 14px; align-items: baseline; }
.af-hero__chapter strong { color: var(--af-amber); font: 400 1.65rem/1 var(--af-serif); }
.af-hero__chapter span { font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; }
.af-hero__caption { right: 28px; bottom: 22px; margin: 0; color: rgba(251, 249, 243, 0.76); font-size: 0.69rem; }

.af-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 28px var(--af-page) 0;
  color: rgba(17, 20, 19, 0.58);
  font-size: 0.73rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.af-breadcrumb a { text-decoration: none; }
.af-breadcrumb a:hover { color: var(--af-mineral); }

.af-mechanism {
  display: grid;
  grid-template-columns: 0.83fr 1.17fr;
  gap: clamp(40px, 7vw, 110px);
  align-items: center;
  min-height: 850px;
  padding: var(--af-section) var(--af-page);
}
.af-mechanism__copy { max-width: 640px; }
.af-mechanism__copy h2 { max-width: 9ch; }
.af-mechanism__copy p { max-width: 59ch; }
.af-mechanism__diagram { position: relative; min-height: 620px; }
.af-mechanism__diagram::before {
  position: absolute;
  inset: 0 0 10% 12%;
  border: 1px solid rgba(43, 91, 110, 0.25);
  border-radius: 50%;
  content: "";
}
.af-mechanism__diagram svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.af-wire { fill: none; stroke: var(--af-mineral); stroke-width: 7; stroke-linecap: round; }
.af-wire--soft { stroke: rgba(185, 118, 39, 0.34); stroke-width: 14; }
.af-brackets rect { fill: var(--af-paper-light); stroke: var(--af-navy); stroke-width: 3; }
.af-brackets .is-amber { fill: var(--af-amber); stroke: var(--af-paper-light); }
.af-calibration { fill: none; stroke: rgba(43, 91, 110, 0.25); stroke-width: 1.2; }

.af-arrival {
  padding: var(--af-section) var(--af-page);
  color: var(--af-blue-pale);
  background: var(--af-navy);
}
.af-arrival > header { display: grid; grid-template-columns: 0.52fr 1.48fr; gap: clamp(50px, 8vw, 130px); align-items: start; }
.af-arrival h2 { max-width: 1050px; color: var(--af-paper-light); }
.af-arrival__flow { margin-top: 88px; margin-left: min(16vw, 260px); border-top: 1px solid rgba(214, 224, 225, 0.26); }
.af-arrival__flow p { display: grid; grid-template-columns: 0.72fr 1.28fr; gap: 50px; margin: 0; padding: 34px 0; border-bottom: 1px solid rgba(214, 224, 225, 0.26); }
.af-arrival__flow strong { color: var(--af-paper-light); font: 400 clamp(1.8rem, 2.7vw, 2.8rem)/1.05 var(--af-serif); letter-spacing: -0.03em; }
.af-arrival__flow span { max-width: 50ch; }

.af-map { display: grid; grid-template-columns: 1.18fr 0.82fr; min-height: 850px; background: var(--af-paper-light); }
.af-map figure { position: relative; min-height: 850px; margin: 0; overflow: hidden; }
.af-map figure picture,
.af-map figure img { width: 100%; height: 100%; }
.af-map figure picture { display: block; }
.af-map figure img { object-fit: cover; object-position: 56% center; }
.af-map figcaption { position: absolute; right: 22px; bottom: 18px; left: 22px; color: rgba(17, 20, 19, 0.66); font-size: 0.7rem; }
.af-map__copy { align-self: center; padding: var(--af-section) var(--af-page) var(--af-section) clamp(46px, 7vw, 110px); }
.af-map__copy h2 { max-width: 7ch; }
.af-map__copy > p { max-width: 47ch; }
.af-map dl { margin: 50px 0 0; border-top: 1px solid var(--af-line); }
.af-map dl > div { display: grid; grid-template-columns: 0.48fr 1.52fr; gap: 26px; padding: 22px 0; border-bottom: 1px solid var(--af-line); }
.af-map dt { color: var(--af-navy); font-weight: 700; }
.af-map dd { margin: 0; }

.af-stages { padding: var(--af-section) var(--af-page); color: var(--af-blue-pale); background: #0f242f; }
.af-stages > header { display: grid; grid-template-columns: 0.45fr 1.2fr 0.65fr; gap: 48px; align-items: end; }
.af-stages h2 { color: var(--af-paper-light); }
.af-stages > header p { margin-bottom: 10px; color: rgba(251, 249, 243, 0.76); }
.af-stages ol { display: grid; grid-template-columns: repeat(5, 1fr); margin: 100px 0 0; padding: 0; border-top: 1px solid rgba(214, 224, 225, 0.26); list-style: none; }
.af-stages li { position: relative; min-height: 370px; padding: 34px 28px 34px 0; }
.af-stages li + li { padding-left: 28px; border-left: 1px solid rgba(214, 224, 225, 0.26); }
.af-stages li::before { position: absolute; top: -6px; left: -5px; width: 11px; height: 11px; border-radius: 50%; background: var(--af-amber); content: ""; }
.af-stages li:first-child::before { left: 0; }
.af-stages li > span { color: var(--af-amber); font: 400 2.1rem/1 var(--af-serif); }
.af-stages li div { margin-top: 90px; }
.af-stages h3 { color: var(--af-paper-light); font-size: 2.35rem; }
.af-stages li p { margin-bottom: 0; color: rgba(251, 249, 243, 0.74); font-size: 0.94rem; }

.af-sensation { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: clamp(50px, 9vw, 150px); padding: var(--af-section) var(--af-page); background: var(--af-paper); }
.af-sensation h2 { max-width: 11ch; }
.af-sensation__body { align-self: end; max-width: 620px; padding-bottom: 18px; }
.af-note { margin: 44px 0 0; padding: 28px 0; border-top: 1px solid var(--af-line); border-bottom: 1px solid var(--af-line); }
.af-note strong { display: block; margin-bottom: 8px; color: var(--af-navy); }

.af-hygiene { display: grid; grid-template-columns: 0.83fr 1.17fr; min-height: 820px; background: var(--af-paper-light); }
.af-hygiene__copy { align-self: center; padding: var(--af-section) clamp(50px, 8vw, 120px) var(--af-section) var(--af-page); }
.af-hygiene__copy h2 { max-width: 10.5ch; font-size: clamp(3.2rem, 5.25vw, 5.35rem); }
.af-hygiene__copy > p,
.af-hygiene__copy li { max-width: 57ch; }
.af-hygiene__copy ul { margin: 38px 0 0; padding: 26px 0 0; border-top: 1px solid var(--af-line); list-style: none; }
.af-hygiene__copy li { position: relative; padding: 8px 0 8px 24px; }
.af-hygiene__copy li::before { position: absolute; top: 1.1em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--af-amber); content: ""; }
.af-hygiene figure { position: relative; min-height: 820px; margin: 0; overflow: hidden; }
.af-hygiene figure picture,
.af-hygiene figure img { display: block; width: 100%; height: 100%; }
.af-hygiene figure img { object-fit: cover; object-position: center; }
.af-hygiene figcaption { position: absolute; right: 24px; bottom: 18px; left: 24px; color: rgba(251, 249, 243, 0.82); font-size: 0.7rem; text-shadow: 0 1px 10px rgba(0, 0, 0, 0.44); }

.af-choice { padding: var(--af-section) var(--af-page); }
.af-choice > header { display: grid; grid-template-columns: 0.46fr 1.08fr 0.66fr; gap: 46px; align-items: end; }
.af-choice > header p { margin-bottom: 9px; }
.af-choice__axis { position: relative; display: flex; align-items: center; justify-content: space-between; height: 100px; margin: 64px 0 0; }
.af-choice__axis::before { position: absolute; right: 0; left: 0; border-top: 1px solid var(--af-mineral); content: ""; }
.af-choice__axis i { z-index: 1; width: 16px; height: 16px; border: 3px solid var(--af-paper); border-radius: 50%; background: var(--af-mineral); box-shadow: 0 0 0 1px var(--af-mineral); }
.af-choice__axis span { z-index: 1; width: 28px; height: 28px; border: 7px solid var(--af-paper); border-radius: 50%; background: var(--af-amber); box-shadow: 0 0 0 1px var(--af-amber); }
.af-choice__options { display: grid; grid-template-columns: 1fr 1fr; }
.af-choice__options article { min-height: 300px; padding: 48px 70px 48px 0; border-top: 1px solid var(--af-line); border-bottom: 1px solid var(--af-line); }
.af-choice__options article + article { padding: 48px 0 48px 70px; border-left: 1px solid var(--af-line); }
.af-choice__options p { max-width: 52ch; }
.af-choice__options a { display: inline-block; margin-top: 12px; color: var(--af-navy); font-weight: 700; }
.af-choice__evidence { max-width: 920px; margin: 46px 0 0 auto; font-size: 0.91rem; }

.af-limits { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(70px, 10vw, 170px); padding: var(--af-section) var(--af-page); background: var(--af-paper-light); }
.af-limits__intro { position: sticky; top: 100px; align-self: start; }
.af-limits__intro h2 { max-width: 9ch; }
.af-limits__intro p { max-width: 50ch; }
.af-limits__list { border-top: 1px solid var(--af-line); }
.af-limits__list p { display: grid; grid-template-columns: 0.82fr 1.18fr; gap: 38px; margin: 0; padding: 34px 0; border-bottom: 1px solid var(--af-line); }
.af-limits__list strong { color: var(--af-ink); font: 400 clamp(1.65rem, 2.35vw, 2.5rem)/1.05 var(--af-serif); letter-spacing: -0.03em; }
.af-limits__list span { align-self: center; }
.af-limits__source { grid-column: 2; max-width: 700px; margin: 0; font-size: 0.9rem; }

.af-retention { position: relative; display: grid; grid-template-columns: 0.86fr 1.14fr; gap: 80px; align-items: center; min-height: 760px; padding: var(--af-section) var(--af-page); overflow: hidden; color: var(--af-blue-pale); background: var(--af-navy); }
.af-retention__orbit { position: relative; aspect-ratio: 1; width: min(38vw, 560px); justify-self: center; }
.af-retention__orbit span { position: absolute; border: 1px solid rgba(214, 224, 225, 0.26); border-radius: 50%; }
.af-retention__orbit span:nth-child(1) { inset: 4%; }
.af-retention__orbit span:nth-child(2) { inset: 19%; }
.af-retention__orbit span:nth-child(3) { inset: 34%; }
.af-retention__orbit::before,
.af-retention__orbit::after { position: absolute; top: 50%; left: 50%; background: rgba(214, 224, 225, 0.24); content: ""; transform: translate(-50%, -50%); }
.af-retention__orbit::before { width: 100%; height: 1px; }
.af-retention__orbit::after { width: 1px; height: 100%; }
.af-retention__orbit i { position: absolute; top: 50%; left: 50%; z-index: 1; width: 24px; height: 24px; border-radius: 50%; background: var(--af-amber); transform: translate(-50%, -50%); }
.af-retention__copy h2 { max-width: 10ch; color: var(--af-paper-light); }
.af-retention__copy p { max-width: 58ch; color: rgba(251, 249, 243, 0.78); }

.af-alert { display: grid; grid-template-columns: 1.1fr 0.72fr auto; gap: clamp(42px, 7vw, 110px); align-items: end; padding: var(--af-section) var(--af-page); background: var(--af-amber); }
.af-alert h2 { max-width: 12ch; }
.af-alert ul { margin: 0; padding: 0; border-top: 1px solid rgba(17, 20, 19, 0.28); list-style: none; }
.af-alert li { padding: 13px 0; border-bottom: 1px solid rgba(17, 20, 19, 0.28); color: var(--af-ink); }
.af-alert .af-action { align-self: end; white-space: nowrap; }

.af-faq { padding: var(--af-section) var(--af-page); background: var(--af-paper-light); }
.af-faq h2 { margin-bottom: 70px; }
.af-faq__list { max-width: 980px; margin-left: auto; }
.af-faq details { border-top: 1px solid var(--af-line); }
.af-faq details:last-child { border-bottom: 1px solid var(--af-line); }
.af-faq summary { position: relative; padding: 28px 54px 28px 0; color: var(--af-ink); font: 400 clamp(1.5rem, 2.25vw, 2.3rem)/1.2 var(--af-serif); letter-spacing: -0.025em; cursor: pointer; list-style: none; }
.af-faq summary::-webkit-details-marker { display: none; }
.af-faq summary::before,
.af-faq summary::after { position: absolute; top: 50%; right: 4px; width: 20px; height: 1px; background: var(--af-mineral); content: ""; transition: transform 220ms var(--af-ease); }
.af-faq summary::after { transform: rotate(90deg); }
.af-faq details[open] summary::after { transform: rotate(0); }
.af-faq details p { max-width: 70ch; padding: 0 0 30px; }

.af-closing { display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: end; padding: var(--af-section) var(--af-page); color: var(--af-blue-pale); background: #0f242f; }
.af-closing h2 { max-width: 1000px; color: var(--af-paper-light); }
.af-closing p { max-width: 58ch; margin-bottom: 0; }
.af-closing .af-action { margin-bottom: 8px; }

.af-references { display: grid; grid-template-columns: 0.62fr 1.38fr; gap: clamp(55px, 8vw, 125px); padding: var(--af-section) var(--af-page); background: var(--af-paper-light); }
.af-references h2 { font-size: clamp(2.8rem, 4.7vw, 4.9rem); }
.af-references header p { max-width: 48ch; }
.af-references ol { margin: 0; padding-left: 1.35em; }
.af-references li { margin-bottom: 18px; font-size: 0.82rem; line-height: 1.65; }

.irp-fixed-v1.is-ready .af-hero__copy { animation: af-hero-copy 900ms var(--af-ease) both; }
.irp-fixed-v1.is-ready .af-hero__art { animation: af-hero-art 1400ms var(--af-ease) both; }
.irp-fixed-v1.is-ready .af-retention__orbit { animation: af-orbit 18s linear infinite; }
@keyframes af-hero-copy { from { opacity: 0; filter: blur(8px); transform: translateY(28px); } }
@keyframes af-hero-art { from { filter: blur(7px); transform: scale(1.035); } }
@keyframes af-orbit { to { transform: rotate(360deg); } }

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

@media (max-width: 1040px) {
  .irp-fixed-v1 { --af-page: 30px; --af-section: 112px; }
  .af-mechanism { grid-template-columns: 0.95fr 1.05fr; }
  .af-mechanism__diagram { min-height: 540px; }
  .af-arrival > header,
  .af-stages > header,
  .af-choice > header { grid-template-columns: 1fr; gap: 18px; }
  .af-arrival__flow { margin-left: 0; }
  .af-map { grid-template-columns: 1fr 0.9fr; }
  .af-stages ol { grid-template-columns: repeat(3, 1fr); }
  .af-stages li:nth-child(4) { border-left: 0; }
  .af-stages li:nth-child(4),
  .af-stages li:nth-child(5) { border-top: 1px solid rgba(214, 224, 225, 0.26); }
  .af-alert { grid-template-columns: 1fr 1fr; }
  .af-alert .af-action { grid-column: 2; justify-self: start; }
  .af-references { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .irp-fixed-v1 { --af-page: 24px; --af-section: 88px; font-size: 1rem; line-height: 1.62; }
  .irp-fixed-v1 h2 { margin-bottom: 24px; font-size: clamp(3rem, 15vw, 4.6rem); line-height: 0.94; }
  .irp-fixed-v1 h3 { font-size: 2rem; }
  .af-hero { display: flex; min-height: 0; overflow: visible; flex-direction: column; background: var(--af-navy); }
  .af-hero > picture { position: relative; order: 2; height: 58svh; min-height: 460px; background: var(--af-paper-light); }
  .af-hero__art { position: static; height: 100%; object-position: 64% center; }
  .af-hero__veil { display: none; }
  .af-hero__copy { order: 1; width: 100%; padding: 70px var(--af-page) 54px; background: var(--af-navy); }
  .af-hero h1 { max-width: 10ch; font-size: clamp(3.35rem, 14.5vw, 4rem); line-height: 0.92; }
  .af-hero__copy > p { max-width: 34ch; margin-top: 24px; font-size: 0.96rem; line-height: 1.55; }
  .af-hero .af-action { width: 100%; margin-top: 26px; justify-content: space-between; }
  .af-hero__chapter { right: var(--af-page); bottom: 46px; left: var(--af-page); gap: 10px; padding: 12px 14px; background: rgba(15, 36, 47, 0.88); }
  .af-hero__chapter strong { font-size: 1.35rem; }
  .af-hero__chapter span { font-size: 0.56rem; }
  .af-hero__caption { right: var(--af-page); bottom: 16px; left: var(--af-page); font-size: 0.58rem; text-align: left; }

  .af-breadcrumb { padding-top: 24px; }
  .af-mechanism,
  .af-sensation,
  .af-hygiene,
  .af-limits,
  .af-retention,
  .af-alert,
  .af-closing { grid-template-columns: 1fr; }
  .af-mechanism { min-height: 0; gap: 40px; }
  .af-mechanism__copy h2 { max-width: 100%; overflow-wrap: break-word; }
  .af-mechanism__diagram { min-height: 410px; margin: 0 -24px; overflow: hidden; }
  .af-mechanism__diagram::before { inset: 6% -10% 8% 12%; }
  .af-mechanism__diagram svg { width: 125%; transform: translateX(-10%); }

  .af-arrival > header { grid-template-columns: 1fr; gap: 20px; }
  .af-arrival h2 { font-size: clamp(3.1rem, 15vw, 4.4rem); }
  .af-arrival__flow { margin-top: 54px; }
  .af-arrival__flow p { grid-template-columns: 1fr; gap: 10px; padding: 28px 0; }
  .af-arrival__flow strong { font-size: 1.8rem; }

  .af-map { display: flex; min-height: 0; flex-direction: column; }
  .af-map figure { min-height: 470px; order: 2; }
  .af-map figure img { object-position: 57% center; }
  .af-map__copy { order: 1; padding: var(--af-section) var(--af-page) 60px; }
  .af-map dl > div { grid-template-columns: 0.6fr 1.4fr; gap: 18px; }

  .af-stages > header { grid-template-columns: 1fr; }
  .af-stages h2 { max-width: 100%; font-size: clamp(2.85rem, 11.5vw, 3.5rem); overflow-wrap: break-word; }
  .af-stages ol { grid-template-columns: 1fr; margin-top: 60px; border-top: 0; }
  .af-stages li,
  .af-stages li + li { display: grid; grid-template-columns: 56px 1fr; min-height: 0; padding: 28px 0; border-top: 1px solid rgba(214, 224, 225, 0.26); border-left: 0; }
  .af-stages li:last-child { border-bottom: 1px solid rgba(214, 224, 225, 0.26); }
  .af-stages li::before { top: 27px; left: auto; right: 0; }
  .af-stages li:first-child::before { left: auto; }
  .af-stages li div { margin-top: 0; }
  .af-stages h3 { font-size: 2rem; }

  .af-sensation { gap: 34px; }
  .af-sensation h2 { max-width: 10ch; }
  .af-note { margin-top: 34px; }

  .af-hygiene { display: flex; min-height: 0; flex-direction: column; }
  .af-hygiene__copy { padding: var(--af-section) var(--af-page) 60px; }
  .af-hygiene__copy h2 { max-width: 100%; font-size: clamp(3rem, 13vw, 3.8rem); }
  .af-hygiene figure { min-height: 460px; }
  .af-hygiene figure img { object-position: 56% center; }

  .af-choice > header { grid-template-columns: 1fr; }
  .af-choice__axis { height: 70px; }
  .af-choice__options { grid-template-columns: 1fr; }
  .af-choice__options article,
  .af-choice__options article + article { min-height: 0; padding: 34px 0; border-right: 0; border-left: 0; }
  .af-choice__options article + article { border-top: 0; }
  .af-choice__evidence { margin-top: 34px; }

  .af-limits { gap: 58px; }
  .af-limits__intro { position: static; }
  .af-limits__list p { grid-template-columns: 1fr; gap: 10px; padding: 30px 0; }
  .af-limits__list strong { font-size: 1.8rem; }
  .af-limits__source { grid-column: 1; }

  .af-retention { gap: 54px; min-height: 0; }
  .af-retention__orbit { width: min(86vw, 430px); }
  .af-retention__copy { order: -1; }

  .af-alert { gap: 44px; }
  .af-alert .af-action { grid-column: 1; width: 100%; justify-content: space-between; }

  .af-faq h2 { margin-bottom: 48px; }
  .af-faq summary { padding: 24px 44px 24px 0; }
  .af-closing { gap: 38px; }
  .af-closing .af-action { width: 100%; justify-content: space-between; }
  .af-references { gap: 42px; }
}

@media (max-width: 380px) {
  .af-hero h1 { font-size: 3.25rem; }
  .af-hero__chapter { align-items: flex-start; flex-direction: column; }
  .af-map dl > div { grid-template-columns: 1fr; gap: 4px; }
}
