.entry-hero {
  overflow: hidden;
  border-block-end: var(--line);
  background: radial-gradient(circle at 86% 18%, rgba(113,214,186,.84), transparent 24%), var(--yellow);
}
.entry-hero__grid {
  min-height: 38rem;
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(18rem,.55fr);
  gap: clamp(2rem,6vw,5rem);
  align-items: end;
  padding-block: clamp(3.5rem,8vw,6.5rem);
}
.entry-hero__copy, .entry-hero__visual { min-width: 0; }
.entry-hero h1 { max-width: 54rem; }
.entry-hero__lede { max-width: 46rem; margin: 1.4rem 0 0; font-size: var(--step-1); font-weight: 750; }
.reflection-jump { margin-block-start: 1.25rem; }
.entry-breadcrumbs { display: flex; flex-wrap: wrap; gap: .25rem .55rem; margin-block-end: 1.3rem; font-size: var(--step--1); font-weight: 850; }
.entry-breadcrumbs a { text-underline-offset: 3px; }
.entry-hero__visual { position: relative; margin: 0; overflow: hidden; border: var(--line); background: var(--paper); box-shadow: var(--shadow-lg); rotate: 1.5deg; }
.entry-hero__visual img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.entry-hero__visual figcaption { padding: 1rem 1.1rem; border-block-start: var(--line); background: var(--paper); font-size: .94rem; font-weight: 780; line-height: 1.4; }
.kicker--blue { color: var(--paper); background: var(--night); }
.entry-meta { border-block-end: var(--line); background: var(--paper); }
.entry-meta__row { min-height: 4.25rem; display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.2rem; padding-block: .75rem; }
.entry-meta__row span { font-size: var(--step--1); font-weight: 850; }
.entry-meta__row span + span::before { content: "◆"; margin-inline-end: 1.2rem; color: var(--coral); }

.entry-layout { display: grid; grid-template-columns: minmax(13rem,.34fr) minmax(0,1fr); gap: clamp(2rem,6vw,5rem); align-items: start; padding-block: clamp(3rem,7vw,6rem); }
.entry-toc { position: sticky; inset-block-start: 1.5rem; border: var(--line); background: var(--paper); box-shadow: var(--shadow); }
.entry-toc h2 { margin: 0; padding: .8rem 1rem; border-block-end: var(--thin-line); background: var(--mint); font: 1000 .82rem var(--body); letter-spacing: .08em; text-transform: uppercase; }
.entry-toc ol { margin: 0; padding: .65rem 1rem .85rem 2.4rem; }
.entry-toc li { padding-block: .3rem; }
.entry-toc a { font-size: .9rem; font-weight: 800; text-underline-offset: 3px; }
.entry-body { width: min(100%,48rem); }
.entry-body > section { scroll-margin-top: 1.5rem; }
.entry-body > section + section { margin-block-start: 4.5rem; padding-block-start: 3rem; border-block-start: var(--line); }
.entry-body h2 { margin: 0 0 1rem; font: 1000 var(--step-3)/.96 var(--display); letter-spacing: -.045em; }
.entry-body h3 { margin: 2rem 0 .65rem; font: 1000 var(--step-1)/1.1 var(--display); }
.entry-body p { margin: 1rem 0; }
.entry-body a:not(.button) { font-weight: 750; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.scope-note { margin: 0 0 2rem; padding: 1rem 1.1rem; border-inline-start: .6rem solid var(--coral); background: #fff0e8; font-weight: 750; }
.source-chip { display: inline; padding: .08rem .18rem; background: linear-gradient(transparent 56%,rgba(113,214,186,.62) 56%); }

.checks-grid { counter-reset: checks; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 1.5rem 0; padding: 0; list-style: none; }
.checks-grid li { counter-increment: checks; min-width: 0; padding: 1rem; border: var(--thin-line); background: var(--paper); box-shadow: var(--shadow-sm); }
.checks-grid li::before { content: "0" counter(checks); display: grid; place-items: center; width: 2.6rem; height: 2.6rem; margin-block-end: 1rem; border: var(--thin-line); border-radius: 50%; background: var(--yellow); font-size: .78rem; font-weight: 1000; }
.checks-grid strong { display: block; margin-block-end: .35rem; font: 1000 var(--step-1)/1 var(--display); }

.not-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-block: 1.5rem; border: var(--line); box-shadow: var(--shadow); }
.not-grid > div { padding: 1.25rem; }
.not-grid > div:first-child { background: var(--mint); }
.not-grid > div:last-child { border-inline-start: var(--line); background: var(--coral); }
.not-grid h3 { margin: 0 0 .75rem; }
.not-grid ul { margin: 0; padding-inline-start: 1.25rem; }
.not-grid li + li { margin-block-start: .5rem; }

#myths .not-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; border: 0; box-shadow: none; }
#myths .not-grid > div { min-height: 14rem; padding: 1.35rem; border: var(--line); box-shadow: var(--shadow-sm); }
#myths .not-grid > div:first-child { background: var(--mint); }
#myths .not-grid > div:nth-child(2) { border-inline-start: var(--line); background: var(--paper); }
#myths .not-grid > div:nth-child(3) { background: var(--yellow); }
#myths .not-grid > div:last-child { border-inline-start: var(--line); background: var(--coral); }
#myths .not-grid h3 { font-size: clamp(1.45rem,3vw,2rem); line-height: 1; }
#myths .not-grid p { margin-block-end: 0; }

.signal-strip { display: grid; grid-template-columns: repeat(3,1fr); margin-block: 2rem; border: var(--line); box-shadow: var(--shadow); }
.signal { padding: 1rem; }
.signal + .signal { border-inline-start: var(--thin-line); }
.signal--yes { background: var(--mint); }
.signal--unsure { background: var(--yellow); }
.signal--no { background: var(--coral); }
.signal b { display: block; margin-block-end: .45rem; font: 1000 var(--step-1)/1 var(--display); }
.signal p { margin: 0; font-size: .92rem; }

.consent-flow { margin: 2rem 0; padding: clamp(1rem,3vw,1.5rem); border: var(--line); background: #fff4d2; box-shadow: var(--shadow); }
.consent-flow > figcaption { width: fit-content; margin-block-end: 1.2rem; padding: .35rem .6rem; border: var(--thin-line); background: var(--paper); font-size: .78rem; font-weight: 1000; letter-spacing: .07em; text-transform: uppercase; }
.consent-flow__steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.flow-card { position: relative; min-width: 0; padding: 1rem; border: var(--thin-line); background: var(--paper); box-shadow: var(--shadow-sm); }
.flow-card strong { display: block; font: 1000 var(--step-1)/1.08 var(--display); }
.flow-card p { margin: .55rem 0 0; font-size: .92rem; }
.flow-card__eyebrow { display: inline-block; margin-block-end: .65rem; font-size: .72rem; font-weight: 1000; letter-spacing: .06em; }
.flow-card--start { color: var(--paper); background: var(--night); }
.flow-card--start .flow-card__eyebrow { color: var(--yellow); }
.flow-card--pause { background: var(--yellow); }
.flow-card--scope { background: var(--mint); }
.flow-card--stop { background: var(--coral); }
.flow-card--continue { background: var(--paper); }
.flow-card--repeat { margin-block-start: 2.3rem; color: var(--paper); background: var(--night); text-align: center; }
.flow-card--repeat .flow-card__eyebrow { color: var(--mint); }
.flow-branch { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; padding-block-start: 2.3rem; }
.flow-branch > .flow-card::before, .flow-card--repeat::before { content: "↓"; position: absolute; inset-block-start: -2.25rem; inset-inline-start: 50%; translate: -50% 0; color: var(--ink); font: 1000 1.8rem/1 var(--body); }
.consent-flow__note { margin: 1rem 0 0; padding: .8rem; border-inline-start: .55rem solid var(--blue); background: var(--paper); font-weight: 780; }
.share-card-callout { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin-block-start: 1.5rem; padding: 1.2rem; border: var(--line); background: var(--night); box-shadow: 8px 8px 0 var(--blue); }
.share-card-callout > div { min-width: 0; }
.share-card-callout h3 { margin: .8rem 0 .35rem; color: var(--paper); }
.share-card-callout p:not(.kicker) { margin: 0; color: var(--paper); font-weight: 750; }
.share-card-callout .button { flex: 0 0 auto; }

.dialogue { margin-block: 2rem; padding: 1.25rem; border: var(--line); background: var(--blue); box-shadow: var(--shadow); }
.dialogue__label { display: inline-block; margin-block-end: 1rem; padding: .25rem .5rem; border: var(--thin-line); background: var(--paper); font-size: .72rem; font-weight: 1000; letter-spacing: .06em; }
.bubble { position: relative; width: min(88%,34rem); margin: 0; padding: .85rem 1rem; border: var(--thin-line); border-radius: 1.2rem; background: var(--paper); font-weight: 800; }
.bubble + .bubble { margin-block-start: .8rem; }
.bubble--answer { margin-inline-start: auto; background: var(--mint); }
.bubble--pause { background: var(--yellow); }
.dialogue__note { width: fit-content; margin: 1rem 0 0; padding: .45rem .6rem; border: var(--thin-line); background: var(--paper); color: var(--ink); font-size: .88rem; font-weight: 800; }

.scenario-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-block: 1.5rem; }
.scenario-grid article { min-width: 0; padding: 1.1rem; border: var(--thin-line); background: var(--paper); box-shadow: var(--shadow-sm); }
.scenario-grid article:nth-child(2) { background: #fff0e8; }
.scenario-grid article:nth-child(3) { background: #e5fff7; }
.scenario-grid article:nth-child(4) { background: #eef1ff; }
.scenario-grid__number { display: inline-grid; place-items: center; width: 2.7rem; height: 2.7rem; border: var(--thin-line); border-radius: 50%; background: var(--yellow); font-size: .76rem; font-weight: 1000; }
.scenario-grid h3 { margin: 1.2rem 0 .55rem; }
.scenario-grid p { margin: 0; }
.scenario-note { padding: 1rem; border-inline-start: .55rem solid var(--blue); background: var(--canvas); }

.scope-map { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; margin-block: 1.5rem; }
.scope-map article { padding: 1rem; border: var(--thin-line); background: var(--paper); }
.scope-map article:nth-child(1) { background: var(--yellow); }
.scope-map article:nth-child(2) { background: var(--mint); }
.scope-map article:nth-child(3) { background: var(--coral); }
.scope-map article:nth-child(4) { background: #dbe1ff; }
.scope-map h3 { margin: 0 0 .35rem; }
.scope-map h3 a { color: inherit; text-decoration-thickness: .12em; text-underline-offset: .14em; }
.scope-map p { margin: 0; }

.camera-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-block: 1.75rem; }
.camera-card { display: grid; grid-template-rows: auto auto auto 1fr auto; min-width: 0; overflow: hidden; border: var(--line); color: var(--ink); background: var(--paper); box-shadow: var(--shadow-sm); text-decoration: none; }
.camera-card img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; border-block-end: var(--line); }
.camera-card > span { justify-self: start; margin: 1rem 1rem 0; padding: .35rem .5rem; border: var(--thin-line); background: var(--paper); font-size: .7rem; font-weight: 1000; letter-spacing: .08em; }
.camera-card h3 { margin: .85rem 1rem .35rem; font-size: var(--step-2); }
.camera-card p { margin: 0 1rem 1rem; }
.camera-card > strong { padding: 1rem; border-block-start: var(--thin-line); }
.camera-card--hotwife > strong { background: var(--coral); }
.camera-card--cuckold > strong { color: var(--paper); background: var(--blue); }
.camera-card--stag > strong { background: var(--yellow); }
.camera-card:is(:hover,:focus-visible) { transform: translate(-2px,-2px); box-shadow: 8px 8px 0 var(--ink); }

.table-wrap { overflow-x: auto; margin-block: 1.5rem; border: var(--line); box-shadow: var(--shadow); background: var(--paper); }
.dynamics-table { width: 100%; min-width: 42rem; border-collapse: collapse; text-align: start; }
.dynamics-table caption { display: block; width: 100%; box-sizing: border-box; padding: .7rem 1rem; border-block-end: var(--thin-line); background: var(--yellow); font-size: .8rem; font-weight: 1000; letter-spacing: .06em; text-transform: uppercase; text-align: start; }
.dynamics-table th, .dynamics-table td { padding: .9rem; vertical-align: top; border-inline-end: var(--thin-line); border-block-end: var(--thin-line); }
.dynamics-table thead th { background: var(--night); color: var(--paper); font-size: .84rem; }
.dynamics-table tbody th { width: 8.5rem; font-family: var(--display); font-size: 1.05rem; }
.dynamics-table tbody tr:nth-child(2n) { background: #fff4d2; }
.dynamics-depth-page--hotwife .dynamics-table tbody tr:nth-child(2n) { background: #ffe1db; }
.dynamics-depth-page--cuckold .dynamics-table tbody tr:nth-child(2n) { background: #dbe1ff; }
.dynamics-depth-page--stag .dynamics-table tbody tr:nth-child(2n) { background: #fff4d2; }
.dynamics-table th:last-child, .dynamics-table td:last-child { border-inline-end: 0; }
.dynamics-table tbody tr:last-child th, .dynamics-table tbody tr:last-child td { border-block-end: 0; }
.table-takeaway { padding: 1rem 1.1rem; border-inline-start: .6rem solid var(--mint); background: #e5fff7; font-weight: 750; }

.dynamics-reflection { display: grid; gap: 1rem; margin-block: 1.5rem; padding: clamp(1rem,3vw,1.5rem); border: var(--line); background: var(--blue); box-shadow: var(--shadow); }
.dynamics-reflection fieldset { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin: 0; padding: 1rem; border: var(--thin-line); background: rgba(255,255,255,.14); }
.dynamics-reflection legend { padding: 0 .35rem; color: var(--paper); font: 1000 var(--step-1)/1 var(--display); }
.dynamics-reflection legend span { display: inline-grid; place-items: center; width: 1.8rem; height: 1.8rem; margin-inline-end: .45rem; border: var(--thin-line); border-radius: 50%; color: var(--ink); background: var(--yellow); font: 1000 .72rem var(--body); }
.dynamics-reflection label { display: flex; gap: .6rem; align-items: start; min-width: 0; padding: .8rem; border: var(--thin-line); background: var(--paper); font-weight: 750; cursor: pointer; }
.dynamics-reflection input { flex: 0 0 auto; inline-size: 1.15rem; block-size: 1.15rem; margin-block-start: .15rem; accent-color: var(--coral); }
.dynamics-reflection label:has(input:checked) { background: var(--yellow); box-shadow: 3px 3px 0 var(--ink); }
.reflection-note { margin: 0; color: var(--paper); font-size: .86rem; font-weight: 750; }
.reflection-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.reflection-reset { color: var(--ink); background: var(--paper); }
.reflection-result { margin: .4rem 0 0; padding: clamp(1.1rem,4vw,2rem); border: var(--line); background: var(--mint); box-shadow: 7px 7px 0 var(--ink); font-weight: 750; outline: 0; }
.reflection-result:focus-visible { outline: .3rem solid var(--yellow); outline-offset: .25rem; }
.reflection-result__eyebrow { margin: 0; font-size: .76rem; font-weight: 1000; letter-spacing: .07em; text-transform: uppercase; }
.reflection-result h3 { margin: .35rem 0 .15rem; font-size: clamp(2.8rem,9vw,5rem); line-height: .9; }
.reflection-result__title { max-width: 35rem; margin: .8rem 0 !important; font: 1000 var(--step-1)/1.05 var(--display); }
.reflection-profile { margin-block: 1.4rem; padding: 1rem; border: var(--thin-line); background: var(--paper); }
.reflection-profile h4 { margin: 0 0 .85rem; font-size: 1rem; }
.reflection-profile ul { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.reflection-profile li > span { display: flex; justify-content: space-between; gap: 1rem; margin-block-end: .3rem; font-size: .84rem; }
.reflection-profile li > span b { white-space: nowrap; }
.reflection-profile i { display: block; overflow: hidden; height: .8rem; border: var(--thin-line); background: #dbe1ff; }
.reflection-profile em { display: block; height: 100%; min-width: 0; background: var(--coral); }
.reflection-profile li:nth-child(2) em { background: var(--blue); }
.reflection-profile li:nth-child(3) em { background: var(--yellow); }
.reflection-profile li:nth-child(4) em { background: var(--night); }
.reflection-secondary { margin-block: 1.4rem; padding: 1rem; border-inline-start: .7rem solid var(--coral); background: #fff4d2; }
.reflection-secondary span { display: block; font-size: .7rem; font-weight: 1000; letter-spacing: .08em; }
.reflection-secondary strong { display: block; margin-block: .3rem; font: 1000 var(--step-1)/1 var(--display); }
.reflection-secondary p { margin: 0; }
.reflection-result__links { display: flex; flex-wrap: wrap; gap: .8rem 1rem; align-items: center; margin-block-start: 1.2rem; }
.reflection-result__links > a:not(.button) { font-weight: 950; }
.reflection-result__fineprint { margin: 1.2rem 0 0 !important; padding-block-start: .8rem; border-block-start: var(--thin-line); font-size: .8rem; font-weight: 700; }

.cluster-trail { overflow: hidden; padding: clamp(1.25rem,4vw,2.2rem); border: var(--line); color: var(--paper); background: var(--night); box-shadow: var(--shadow); }
.cluster-trail h2 { max-width: 34rem; color: var(--paper); }
.cluster-trail ol { margin: 1.6rem 0 0; padding: 0; list-style: none; }
.cluster-trail li { border-block-start: 1px solid rgba(255,255,255,.4); }
.cluster-trail li:last-child { border-block-end: 1px solid rgba(255,255,255,.4); }
.cluster-trail a { display: grid; grid-template-columns: 2.8rem 1fr auto; gap: .9rem; align-items: center; padding: 1rem .2rem; color: var(--paper); text-decoration: none; }
.cluster-trail a > span { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; color: var(--ink); background: var(--mint); font-size: .72rem; font-weight: 1000; }
.cluster-trail a strong { font: 1000 var(--step-1)/1 var(--display); }
.cluster-trail a p { margin: .25rem 0 0; font-size: .9rem; }
.cluster-trail a:is(:hover,:focus-visible) { color: var(--ink); background: var(--yellow); }
.cluster-trail a:is(:hover,:focus-visible) > span { background: var(--coral); }

.capacity-card { padding: 1.4rem; border: var(--line); color: var(--paper); background: var(--night); box-shadow: 8px 8px 0 var(--coral); }
.capacity-card strong { color: var(--yellow); }
.capacity-card a { color: var(--mint); }

.faq details { border-block-start: var(--thin-line); }
.faq details:last-child { border-block-end: var(--thin-line); }
.faq summary { cursor: pointer; padding: 1rem .2rem; font-weight: 900; }
.faq details[open] summary { color: var(--focus); }
.faq details p { margin: 0; padding: 0 .2rem 1.2rem; }
.faq-stack { display: grid; gap: 1rem; margin-block: 1.75rem; }
.faq-stack details { border: var(--thin-line); background: var(--paper); box-shadow: var(--shadow-sm); }
.faq-stack details + details { border-block-start: var(--thin-line); }
.faq-stack summary { padding: 1.15rem 1.2rem; cursor: pointer; font-weight: 950; }
.faq-stack summary::marker { color: var(--coral); }
.faq-stack details[open] summary { background: var(--yellow); }
.faq-stack details p { margin: 0; padding: .2rem 1.2rem 1.4rem; }
.psychology-grid a { font-weight: 850; }
.psychology-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; border: 0; box-shadow: none; }
.psychology-grid > div { border: var(--line); box-shadow: var(--shadow-sm); }
.psychology-grid > div:nth-child(1) { background: var(--mint); }
.psychology-grid > div:nth-child(2) { background: #dbe1ff; }
.psychology-grid > div:nth-child(3) { background: var(--yellow); }
.psychology-grid > div:nth-child(4) { border-inline-start: var(--line); background: var(--coral); }

.word-shift { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-block: 1.5rem; }
.word-shift article { position: relative; padding: clamp(1.2rem,3vw,2rem); border: var(--line); box-shadow: var(--shadow-sm); }
.word-shift article:first-child { background: #dbe1ff; }
.word-shift article:last-child { background: var(--coral); }
.word-shift span { display: inline-block; margin-block-end: 1.5rem; padding: .35rem .55rem; border: var(--thin-line); background: var(--paper); font: 1000 .72rem/1 var(--body); letter-spacing: .08em; }
.word-shift h3 { max-width: 15ch; font-size: var(--step-2); }
.word-note { padding: 1.15rem 1.25rem; border-inline-start: .65rem solid var(--yellow); background: #fff4d2; }

.name-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-block: 1.5rem; }
.name-pair article { padding: clamp(1.2rem,3vw,2rem); border: var(--line); box-shadow: var(--shadow-sm); }
.name-pair article:first-child { color: var(--paper); background: var(--night); }
.name-pair article:last-child { background: var(--coral); }
.name-pair span { display: inline-block; margin-block-end: 1.3rem; padding: .4rem .6rem; border: var(--thin-line); color: var(--ink); background: var(--yellow); font: 1000 .75rem/1 var(--body); letter-spacing: .08em; }
.name-pair h3 { max-width: 18ch; font-size: var(--step-2); }
.name-pair p { margin-block-end: 0; }

.role-constellation { position: relative; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-block: 1.6rem; }
.role-constellation::before { content: ""; position: absolute; inset: 50% 8% auto; z-index: 0; border-block-start: .35rem solid var(--ink); transform: rotate(-2deg); }
.role-constellation article { position: relative; z-index: 1; min-width: 0; padding: 1.2rem; border: var(--line); background: var(--yellow); box-shadow: var(--shadow-sm); }
.role-constellation article:nth-child(2) { background: var(--coral); transform: translateY(-.7rem); }
.role-constellation article:nth-child(3) { background: var(--mint); }
.role-constellation span { display: inline-grid; place-items: center; width: 2.4rem; height: 2.4rem; border: var(--thin-line); border-radius: 50%; background: var(--paper); font-size: .72rem; font-weight: 1000; }
.role-constellation h3 { margin: 1.1rem 0 .5rem; font-size: var(--step-2); }
.role-constellation p { margin: 0; }

.depth-illustration { margin: 3.5rem 0 4.5rem; border: var(--line); background: var(--paper); box-shadow: var(--shadow); }
.depth-illustration img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.depth-illustration figcaption { padding: .85rem 1rem; border-block-start: var(--thin-line); font-size: .88rem; font-weight: 750; }
.dynamics-depth-page--hotwife .depth-illustration figcaption { background: var(--coral); }
.dynamics-depth-page--cuckold .depth-illustration figcaption { color: var(--paper); background: var(--blue); }
.dynamics-depth-page--stag .depth-illustration figcaption { background: var(--yellow); }

.reading-trail { position: relative; overflow: hidden; padding: clamp(1.25rem,4vw,2.2rem); border: var(--line); background: var(--night); color: var(--paper); box-shadow: var(--shadow); }
.reading-trail::after { content: ""; position: absolute; inset: auto -6rem -8rem auto; width: 17rem; height: 17rem; border-radius: 50%; background: var(--coral); opacity: .8; }
.reading-trail__head { position: relative; z-index: 1; max-width: 38rem; }
.reading-trail__head h2 { color: var(--paper); }
.reading-trail__feature { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto; gap: .5rem 1rem; margin: 1.5rem 0 2rem; padding: 1.25rem; border: var(--line); color: var(--ink); background: var(--yellow); box-shadow: 6px 6px 0 var(--mint); text-decoration: none; }
.reading-trail__feature span { grid-column: 1/-1; font-size: .72rem; font-weight: 1000; letter-spacing: .08em; }
.reading-trail__feature strong { font: 1000 var(--step-2)/1 var(--display); }
.reading-trail__feature p { grid-column: 1; margin: .25rem 0 0; }
.reading-trail__feature b { grid-column: 2; grid-row: 2/4; align-self: center; }
.reading-trail__list { position: relative; z-index: 1; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.reading-trail__list li { border-block-start: 1px solid rgba(255,255,255,.35); }
.reading-trail__list a { display: grid; grid-template-columns: 2.5rem 1fr auto; gap: .8rem; align-items: center; padding: 1rem .2rem; color: var(--paper); text-decoration: none; }
.reading-trail__list a > span { color: var(--mint); font-weight: 1000; }
.reading-trail__list strong { font: 1000 var(--step-1)/1 var(--display); }
.reading-trail__list p { margin: .25rem 0 0; color: rgba(255,255,255,.8); font-size: .88rem; font-weight: 650; }
.reading-trail__list b { font-size: 1.4rem; }
.reading-trail a:hover, .reading-trail a:focus-visible { color: var(--ink); background: var(--mint); }
.reading-trail a:hover p, .reading-trail a:focus-visible p { color: var(--ink); }
.reading-trail__list a:hover > span, .reading-trail__list a:focus-visible > span { color: var(--ink); }
.depth-illustration--second { transform: rotate(.35deg); }

.support-card { padding: clamp(1.2rem,4vw,2rem); border: var(--line); background: var(--mint); box-shadow: var(--shadow); }
.support-card h2 { max-width: 35rem; }
.support-card__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-block-start: 1.25rem; }
.memory-line { margin-block-start: 3rem; padding: 1.35rem; border: var(--line); background: var(--yellow); box-shadow: var(--shadow); font: 1000 var(--step-2)/1.1 var(--display); }
.sources-list { padding-inline-start: 1.2rem; }
.sources-list li + li { margin-block-start: .8rem; }
.evidence-note { margin-block: 1.5rem; padding: 1.2rem; border: var(--line); background: var(--yellow); box-shadow: var(--shadow); }
.evidence-note ul { margin: 1rem 0 0; padding-inline-start: 1.25rem; }
.evidence-note li + li { margin-block-start: .55rem; }
.related-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.related-grid a { min-height: 9rem; display: flex; flex-direction: column; justify-content: space-between; padding: 1rem; border: var(--thin-line); background: var(--paper); box-shadow: var(--shadow-sm); font-weight: 900; text-decoration: none; }
.related-grid a:nth-child(2) { background: var(--yellow); }
.related-grid a:nth-child(3) { background: var(--mint); }

@media (max-width: 62rem) {
  .entry-hero__grid, .entry-layout { grid-template-columns: 1fr; }
  .entry-hero__grid { min-height: auto; }
  .entry-hero__visual { width: min(100%,32rem); rotate: 0deg; }
  .entry-toc { position: static; }
  .entry-toc ol { columns: 2; }
  .entry-body { width: 100%; }
}

@media (max-width: 44rem) {
  .entry-hero__grid { padding-block: 3rem; }
  .entry-meta__row { align-items: flex-start; flex-direction: column; gap: .3rem; }
  .entry-meta__row span + span::before { content: none; }
  .entry-toc ol { columns: 1; }
  .entry-hero h1 { font-size: clamp(3rem,16vw,4.6rem); }
  .checks-grid, .not-grid, .psychology-grid, .signal-strip, .scope-map, .scenario-grid, .related-grid, .camera-grid, .flow-branch, .word-shift, .name-pair, .role-constellation { grid-template-columns: 1fr; }
  .role-constellation::before { inset: 8% auto 8% 1.2rem; border-block-start: 0; border-inline-start: .35rem solid var(--ink); transform: none; }
  .role-constellation article:nth-child(2) { transform: none; }
  .not-grid > div:last-child, .signal + .signal { border-inline-start: 0; border-block-start: var(--line); }
  .psychology-grid > div, .psychology-grid > div:last-child { border: var(--line); }
  #myths .not-grid { grid-template-columns: 1fr; }
  #myths .not-grid > div:nth-child(2), #myths .not-grid > div:last-child { border-inline-start: var(--line); border-block-start: var(--line); }
  #myths .not-grid > div { min-height: 0; }
  .bubble { width: 94%; }
  .share-card-callout { align-items: stretch; flex-direction: column; }
  .share-card-callout .button { width: 100%; }
  .entry-body > section + section { margin-block-start: 3.5rem; padding-block-start: 2.4rem; }
  .depth-illustration { margin-inline: 0; }
  .reading-trail { margin-inline: -.5rem; }
  .reading-trail__feature { grid-template-columns: 1fr; }
  .reading-trail__feature b { grid-column: 1; grid-row: auto; }
  .reading-trail__list a { grid-template-columns: 2rem 1fr auto; }
  .cluster-trail a { grid-template-columns: 2.3rem 1fr auto; }
  .reflection-actions .button { width: 100%; }
}

@media (max-width: 60rem) {
  .dynamics-table { min-width: 0; }
  .dynamics-table thead { display: none; }
  .dynamics-table, .dynamics-table tbody, .dynamics-table tr, .dynamics-table th, .dynamics-table td { display: block; width: auto; }
  .dynamics-table caption { border-block-end: var(--line); }
  .dynamics-table tbody tr { margin: .85rem; border: var(--line); background: var(--paper); box-shadow: 4px 4px 0 var(--ink); }
  .dynamics-table tbody tr:nth-child(2n) { background: var(--mint); }
  .dynamics-depth-page--hotwife .dynamics-table tbody tr:nth-child(2n) { background: #ffe1db; }
  .dynamics-depth-page--cuckold .dynamics-table tbody tr:nth-child(2n) { background: #dbe1ff; }
  .dynamics-depth-page--stag .dynamics-table tbody tr:nth-child(2n) { background: #fff4d2; }
  .dynamics-table tbody th { padding: .85rem; border: 0; border-block-end: var(--thin-line); background: var(--night); color: var(--paper); }
  .dynamics-table td { display: grid; grid-template-columns: 8rem 1fr; gap: .75rem; padding: .75rem .85rem; border: 0; border-block-end: var(--thin-line); }
  .dynamics-table td::before { font: 1000 .72rem/1 var(--body); letter-spacing: .04em; text-transform: uppercase; }
  .dynamics-table td:nth-of-type(1)::before { content: "Centre"; }
  .dynamics-table td:nth-of-type(2)::before { content: "Vibe"; }
  .dynamics-table td:nth-of-type(3)::before { content: "Define"; }
  #dials .dynamics-table td:nth-of-type(1)::before,
  #dimensions .dynamics-table td:nth-of-type(1)::before,
  #map .dynamics-table td:nth-of-type(1)::before { content: "One end"; }
  #dials .dynamics-table td:nth-of-type(2)::before,
  #dimensions .dynamics-table td:nth-of-type(2)::before,
  #map .dynamics-table td:nth-of-type(2)::before { content: "Other end"; }
  #dials .dynamics-table td:nth-of-type(3)::before,
  #dimensions .dynamics-table td:nth-of-type(3)::before,
  #map .dynamics-table td:nth-of-type(3)::before { content: "What changes"; }
  .dynamics-table tbody tr:last-child td:last-child { border-block-end: 0; }
  .dynamics-reflection fieldset { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .camera-card:is(:hover,:focus-visible) { transform: none; }
}
