/* Cohort 111 only: five held guides with subject-led composition. */
.dating-guide-layout-faith-weekend-ethical-ledger,
.dating-guide-layout-faith-weekend-ethical-ledger .dating-guide-hero {
  --guide-accent: #6b4323;
  --guide-wash: #faf2e6;
  --c111-paper: #fff9ee;
  --c111-line: #dbc9a9;
}

.dating-guide-layout-diaspora-two-timezone-postcard,
.dating-guide-layout-diaspora-two-timezone-postcard .dating-guide-hero {
  --guide-accent: #294c73;
  --guide-wash: #edf4fa;
  --c111-paper: #f4f8fc;
  --c111-line: #b9cddd;
}

.dating-guide-layout-parent-three-circles-boundary,
.dating-guide-layout-parent-three-circles-boundary .dating-guide-hero {
  --guide-accent: #3f5b43;
  --guide-wash: #edf5ee;
  --c111-paper: #f5faf4;
  --c111-line: #c1d1bf;
}

.dating-guide-layout-payment-table-conversation,
.dating-guide-layout-payment-table-conversation .dating-guide-hero {
  --guide-accent: #783e50;
  --guide-wash: #fbf0f2;
  --c111-paper: #fff7f7;
  --c111-line: #ddc4ca;
}

.dating-guide-layout-student-second-date-field-notes,
.dating-guide-layout-student-second-date-field-notes .dating-guide-hero {
  --guide-accent: #3d536f;
  --guide-wash: #f1f5fa;
  --c111-paper: #f7f9fd;
  --c111-line: #c4d0df;
}

.dating-guide-page:is(
  .dating-guide-layout-faith-weekend-ethical-ledger,
  .dating-guide-layout-diaspora-two-timezone-postcard,
  .dating-guide-layout-parent-three-circles-boundary,
  .dating-guide-layout-payment-table-conversation,
  .dating-guide-layout-student-second-date-field-notes
) .dating-guide-hero {
  background: var(--c111-paper);
}

.dating-guide-layout-faith-weekend-ethical-ledger .dating-guide-hero h1,
.dating-guide-layout-parent-three-circles-boundary .dating-guide-hero h1 {
  max-width: 20ch;
  font-family: var(--font-body);
  font-weight: 850;
  letter-spacing: -.045em;
}

.dating-guide-layout-diaspora-two-timezone-postcard .dating-guide-hero h1,
.dating-guide-layout-payment-table-conversation .dating-guide-hero h1,
.dating-guide-layout-student-second-date-field-notes .dating-guide-hero h1 {
  max-width: 20ch;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  letter-spacing: -.035em;
}

.dating-guide-layout-parent-three-circles-boundary .dating-guide-answer {
  border-radius: 2px;
  border-left: 5px solid var(--guide-accent);
  box-shadow: none;
}

.dating-guide-layout-diaspora-two-timezone-postcard .dating-guide-answer,
.dating-guide-layout-payment-table-conversation .dating-guide-answer {
  border-radius: 2px;
  box-shadow: none;
}

.dating-guide-page:is(
  .dating-guide-layout-faith-weekend-ethical-ledger,
  .dating-guide-layout-diaspora-two-timezone-postcard,
  .dating-guide-layout-parent-three-circles-boundary,
  .dating-guide-layout-payment-table-conversation,
  .dating-guide-layout-student-second-date-field-notes
) .dating-guide-answer p {
  font-weight: 500;
  line-height: 1.7;
}

.dating-guide-page .c111-reader-body {
  color: #283b41;
}

.dating-guide-page .c111-reader-toc {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem 1rem;
  padding-block: 1rem;
  border-bottom: 1px solid var(--c111-line);
}

.c111-reader-toc span {
  width: 100%;
  color: var(--guide-accent);
  font-size: .8rem;
  font-weight: 850;
  letter-spacing: .035em;
}

.c111-reader-toc a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  color: #25404a;
  font-size: .89rem;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--c111-line);
  text-underline-offset: .2rem;
}

.dating-guide-page .c111-reader-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
  gap: clamp(1rem, 4vw, 3rem);
  align-items: start;
  padding-block: clamp(2rem, 5vw, 3.5rem);
}

.c111-reader-intro h2 {
  max-width: 29ch;
  margin: 0;
  font-size: clamp(1.7rem, 3.2vw, 2.55rem);
  line-height: 1.22;
}

.dating-guide-page .c111-reader-intro p {
  max-width: 63ch;
  margin: .15rem 0 0;
  padding-left: clamp(.8rem, 2vw, 1.2rem);
  border-left: 3px solid var(--c111-line);
  color: #42535a;
  line-height: 1.7;
}

.dating-guide-page .c111-reader-flow > .section,
.dating-guide-page .c111-reader-flow > .c111-reader-story {
  padding-block: clamp(1.65rem, 3.8vw, 3rem);
}

.c111-reader-section {
  border-top: 1px solid var(--c111-line);
}

.c111-reader-section-copy {
  max-width: 75ch;
}

.c111-reader-section h2 {
  max-width: 34ch;
  margin: .3rem 0 1rem;
  font-size: clamp(1.6rem, 3vw, 2.35rem);
  line-height: 1.22;
}

.dating-guide-page .c111-reader-section-copy > p:not(.dating-guide-kicker) {
  margin: .85rem 0 0;
  color: #36474e;
  line-height: 1.72;
}

.c111-reader-story {
  max-width: 70ch;
  margin: .6rem 0 2rem;
  border-left: 4px solid var(--guide-accent);
  padding-inline: clamp(1rem, 2.7vw, 1.6rem);
  background: var(--c111-paper);
}

.c111-reader-story h2 {
  margin: 0 0 .7rem;
  color: #253941;
  font-size: clamp(1.16rem, 2vw, 1.45rem);
  line-height: 1.3;
}

.dating-guide-page .c111-reader-story p {
  margin: 0;
  color: #34464d;
  font-size: 1rem;
  line-height: 1.72;
}

.dating-guide-page .c111-reader-lens {
  margin-block: 1.1rem 2rem;
  border-color: var(--c111-line);
  background: var(--c111-paper);
}

.c111-reader-lens .dating-guide-lens-card {
  border-color: var(--c111-line);
  background: #fff;
}

.dating-guide-page .c111-reader-figure {
  width: min(100%, 68rem);
  margin: .5rem auto clamp(1.8rem, 4vw, 3rem);
  box-shadow: none;
}

.c111-reader-figure figcaption {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .3rem 1rem;
}

.c111-reader-figure figcaption .dating-guide-image-credit {
  font-size: .76rem;
}

.c111-visual-companion {
  min-width: 0;
  border-top: 3px solid var(--guide-accent);
  padding: clamp(1rem, 2.7vw, 1.5rem);
  background: var(--c111-paper);
}

.c111-visual-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .3rem 1rem;
}

.dating-guide-page .c111-visual-heading h3 {
  max-width: 35ch;
  margin: 0;
  color: #263a42;
  font-size: clamp(1.17rem, 2vw, 1.5rem);
  line-height: 1.3;
}

.c111-visual-heading a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--guide-accent);
  font-size: .92rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.dating-guide-page .c111-visual-companion :is(p, li, dd, blockquote) {
  color: #2a414a;
  font-size: .97rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.c111-visual-notice {
  margin: .65rem 0 .3rem;
}

.dating-guide-page .c111-visual-question {
  max-width: 56ch;
  margin: .3rem 0 .7rem;
  color: #1d343d;
  font-weight: 800;
}

.c111-visual-branches,
.c111-visual-explanations,
.c111-visual-comparison,
.c111-visual-questions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  margin: .7rem 0 0;
  padding: 0;
}

.c111-visual-branches li,
.c111-visual-explanations > div,
.c111-visual-comparison > section {
  min-width: 0;
  border: 1px solid var(--c111-line);
  padding: .85rem 1rem;
  background: #fff;
  list-style: none;
}

.c111-visual-branches strong,
.c111-visual-explanations dt,
.c111-visual-actions strong {
  display: block;
  margin-bottom: .24rem;
  color: var(--guide-accent);
  font-weight: 850;
}

.c111-visual-branches span,
.c111-visual-actions span {
  display: block;
}

.c111-visual-explanations dd {
  margin: 0;
}

.dating-guide-page .c111-visual-comparison h4 {
  margin: 0 0 .4rem;
  color: var(--guide-accent);
  font-size: 1.05rem;
}

.dating-guide-page .c111-visual-comparison p {
  margin: 0;
}

.c111-visual-list {
  display: grid;
  gap: .4rem 1rem;
  margin: .75rem 0 0;
  padding-left: 1.3rem;
}

.c111-visual-conversation-points {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.c111-visual-companion blockquote {
  max-width: 67ch;
  margin: .8rem 0;
  border-left: 4px solid var(--guide-accent);
  padding: .9rem 1.15rem;
  background: #fff;
}

.dating-guide-page .c111-visual-companion blockquote p {
  margin: 0;
  font-size: 1.06rem;
  font-weight: 700;
}

.c111-visual-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
  margin: .8rem 0 0;
  padding: 0;
  counter-reset: c111-action;
}

.c111-visual-actions li {
  position: relative;
  min-width: 0;
  border-top: 1px solid var(--c111-line);
  padding: .75rem .55rem .75rem 2.7rem;
  list-style: none;
  counter-increment: c111-action;
}

.c111-visual-actions li::before {
  position: absolute;
  left: .4rem;
  top: .75rem;
  color: var(--guide-accent);
  content: counter(c111-action, decimal-leading-zero);
  font-size: .8rem;
  font-weight: 850;
}

.dating-guide-page .c111-visual-takeaway {
  margin: 1rem 0 0;
  border-top: 1px solid var(--c111-line);
  padding-top: .8rem;
  color: #233b43;
}

/* At full image size, the diagram already carries this exact lesson. Keep the
   equivalent HTML available to assistive technology without repeating five
   dense worksheets in the visual reading path. Phones show the HTML instead
   of reducing the diagram lettering below a readable size. */
@media (min-width: 761px) {
  .dating-guide-page .c111-visual-companion {
    border-top: 0;
    padding: .25rem .35rem .65rem;
    background: transparent;
  }

  .c111-visual-heading {
    justify-content: flex-end;
  }

  .c111-visual-heading h3,
  .c111-visual-detail {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

.c111-reader-tool {
  border-top: 2px solid var(--guide-accent);
  border-bottom: 1px solid var(--c111-line);
  padding-inline: clamp(1rem, 2.5vw, 1.7rem);
  background: var(--c111-paper);
}

.c111-reader-tool h2,
.c111-reader-next h2,
.c111-reader-related h2,
.c111-reader-sources h2,
.c111-reader-faq h2 {
  max-width: 34ch;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  line-height: 1.25;
}

.c111-reader-tool > p {
  max-width: 67ch;
}

.c111-reader-values,
.c111-reader-access,
.c111-reader-cost,
.c111-reader-invitation,
.c111-reader-next-links,
.c111-reader-related-columns,
.c111-reader-source-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.c111-reader-values article,
.c111-reader-access article,
.c111-reader-cost article,
.c111-reader-invitation article {
  min-width: 0;
  border: 1px solid var(--c111-line);
  padding: 1rem;
  background: #fff;
}

.c111-reader-values h3,
.c111-reader-access h3,
.c111-reader-cost h3,
.c111-reader-invitation h3 {
  margin: 0 0 .45rem;
  color: #263a42;
  font-size: 1.1rem;
}

.c111-reader-tool-limit {
  margin: .7rem 0 0;
  border-top: 1px solid var(--c111-line);
  padding-top: .7rem;
  color: #384b52;
}

.c111-reader-cost blockquote {
  margin: .7rem 0;
  border-left: 3px solid var(--guide-accent);
  padding: .6rem .9rem;
  color: #263a42;
  font-weight: 700;
}

.c111-reader-week-window {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.c111-reader-week-window li {
  min-width: 0;
  border-top: 3px solid var(--guide-accent);
  padding: .8rem 1rem;
  background: #fff;
}

.c111-reader-week-window :is(strong, span, small) {
  display: block;
}

.c111-reader-week-window span { margin-top: .55rem; }
.c111-reader-week-window small { margin-top: .7rem; color: #52626a; line-height: 1.5; }

.c111-reader-next,
.c111-reader-related,
.c111-reader-sources,
.c111-reader-faq {
  border-top: 1px solid var(--c111-line);
  padding-block: clamp(2rem, 5vw, 3.8rem);
}

.c111-reader-next > p,
.c111-reader-sources > p {
  max-width: 70ch;
}

.c111-reader-next-links {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.c111-reader-next-links a,
.c111-reader-source-list a {
  display: block;
  min-width: 0;
  border: 1px solid var(--c111-line);
  padding: 1rem;
  background: #fff;
  text-decoration: none;
}

.c111-reader-next-links a strong,
.c111-reader-next-links a span,
.c111-reader-related a strong,
.c111-reader-related a span,
.c111-reader-source-list a span,
.c111-reader-source-list a strong,
.c111-reader-source-list a small {
  display: block;
}

.c111-reader-next-links a strong,
.c111-reader-related a strong,
.c111-reader-source-list a strong {
  color: var(--guide-accent);
}

.c111-reader-next-links a span,
.c111-reader-related a span,
.c111-reader-source-list a small {
  margin-top: .35rem;
  color: #43565d;
  font-size: .92rem;
  line-height: 1.56;
}

.dating-guide-page .c111-reader-disclosure {
  margin: 1.1rem 0 0;
  color: #536169;
  font-size: .86rem;
}

.c111-reader-related-columns h3 {
  color: #263a42;
  font-size: 1.1rem;
}

.c111-reader-related-columns ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c111-reader-related-columns li + li {
  border-top: 1px solid var(--c111-line);
}

.c111-reader-related a {
  display: block;
  padding: .65rem 0;
  text-decoration: none;
}

.c111-reader-source-list a span {
  color: #56676e;
  font-size: .74rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.c111-reader-source-list a strong {
  margin-top: .25rem;
}

.c111-reader-body :is(a, summary):focus-visible {
  outline: 3px solid var(--guide-accent);
  outline-offset: 3px;
}

/* Ethical ledger: show the agreement before the calendar choices. */
.dating-guide-layout-faith-weekend-ethical-ledger .c111-reader-story {
  margin-left: auto;
  margin-right: 0;
  border-left-width: 0;
  border-top: 5px solid var(--guide-accent);
}

.dating-guide-layout-faith-weekend-ethical-ledger .c111-reader-lens {
  border-radius: 2px;
  background: repeating-linear-gradient(180deg, #fff9ee, #fff9ee 3.3rem, #f1e8d8 3.36rem);
}

.dating-guide-layout-faith-weekend-ethical-ledger .c111-reader-lens .dating-guide-lens-card {
  border-radius: 2px;
  border-top: 3px solid var(--guide-accent);
}

.dating-guide-layout-faith-weekend-ethical-ledger .c111-reader-section {
  border-top-style: dashed;
}

.dating-guide-layout-faith-weekend-ethical-ledger .c111-reader-values {
  max-width: 54rem;
  grid-template-columns: 1fr;
}

.dating-guide-layout-faith-weekend-ethical-ledger .c111-reader-values article {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: .5rem 1.4rem;
  border-left: 4px solid var(--guide-accent);
}

.dating-guide-layout-faith-weekend-ethical-ledger .c111-reader-values article .c111-reader-tool-limit {
  grid-column: 1 / -1;
}

/* Two-timezone postcard: each section records one concrete contact or travel choice. */
.dating-guide-layout-diaspora-two-timezone-postcard .c111-reader-section {
  border-top: 0;
  border-left: 3px solid var(--c111-line);
  margin-left: clamp(.1rem, 2vw, 1.2rem);
  padding-left: clamp(1rem, 3vw, 2rem);
}

.dating-guide-layout-diaspora-two-timezone-postcard .c111-reader-section h2,
.dating-guide-layout-diaspora-two-timezone-postcard .c111-reader-story h2 {
  font-family: Georgia, 'Times New Roman', serif;
}

.dating-guide-layout-diaspora-two-timezone-postcard .c111-reader-story {
  margin-left: clamp(0rem, 6vw, 4rem);
  border: 1px solid var(--c111-line);
  border-left: 5px solid var(--guide-accent);
  background: linear-gradient(135deg, #fff 0%, #f2f7fc 100%);
}

.dating-guide-layout-diaspora-two-timezone-postcard .c111-reader-week-window li:nth-child(2) {
  margin-top: 1.25rem;
}

.dating-guide-layout-diaspora-two-timezone-postcard .c111-reader-week-window li:nth-child(3) {
  margin-top: 2.5rem;
}

/* Parent boundary: child, home and dating access are distinct choices. */
.dating-guide-layout-parent-three-circles-boundary .c111-reader-intro {
  border-bottom: 2px solid var(--guide-accent);
}

.dating-guide-layout-parent-three-circles-boundary .c111-reader-section {
  border-top-width: 2px;
}

.dating-guide-layout-parent-three-circles-boundary .c111-reader-story {
  border-left: 0;
  border-right: 4px solid var(--guide-accent);
  background: #f5faf4;
}

.dating-guide-layout-parent-three-circles-boundary .c111-reader-lens {
  border-radius: 2px;
  background: #f5faf4;
}

.dating-guide-layout-parent-three-circles-boundary .c111-reader-lens .dating-guide-lens-card {
  border-radius: 2px;
}

.dating-guide-layout-parent-three-circles-boundary .c111-reader-access {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dating-guide-layout-parent-three-circles-boundary .c111-reader-access article {
  border-top: 4px solid var(--guide-accent);
  border-radius: 0 0 1.25rem 1.25rem;
}

/* Payment conversation: the spoken offer is central; an exit stays visible. */
.dating-guide-layout-payment-table-conversation .c111-reader-section h2,
.dating-guide-layout-payment-table-conversation .c111-reader-story h2,
.dating-guide-layout-payment-table-conversation .c111-reader-lens h2 {
  font-family: Georgia, 'Times New Roman', serif;
}

.dating-guide-layout-payment-table-conversation .c111-reader-story {
  border-left: 0;
  border-bottom: 3px solid var(--guide-accent);
  padding-left: 0;
}

.dating-guide-layout-payment-table-conversation .c111-reader-lens {
  border-radius: 0 10px 10px 0;
  border-left: 5px solid var(--guide-accent);
}

.dating-guide-layout-payment-table-conversation .c111-reader-section {
  border-top: 0;
  border-bottom: 1px solid var(--c111-line);
}

.dating-guide-layout-payment-table-conversation .c111-reader-cost {
  grid-template-columns: 1fr;
  max-width: 64rem;
}

.dating-guide-layout-payment-table-conversation .c111-reader-cost article {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: .5rem 1.2rem;
  border-left: 4px solid var(--guide-accent);
}

.dating-guide-layout-payment-table-conversation .c111-reader-cost article p {
  grid-column: 2;
}

/* Field notes: the invitation and reply matter more than imagined signals. */
.dating-guide-layout-student-second-date-field-notes .c111-reader-section {
  border-top: 0;
  border-left: 3px solid var(--c111-line);
  padding-left: clamp(1rem, 3vw, 2rem);
}

.dating-guide-layout-student-second-date-field-notes .c111-reader-story {
  border-left: 0;
  border-top: 1px solid var(--c111-line);
  border-bottom: 1px solid var(--c111-line);
  background: #fff;
}

.dating-guide-layout-student-second-date-field-notes .c111-reader-lens {
  border-radius: 0;
  border-left: 5px solid var(--guide-accent);
}

.dating-guide-layout-student-second-date-field-notes .c111-reader-invitation {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dating-guide-layout-student-second-date-field-notes .c111-reader-invitation article {
  border-top: 4px solid var(--guide-accent);
  background: repeating-linear-gradient(180deg, #fff, #fff 2.5rem, #f2f6fb 2.55rem);
}

@media (max-width: 760px) {
  .dating-guide-page .c111-reader-intro,
  .c111-reader-values,
  .c111-reader-access,
  .c111-reader-cost,
  .c111-reader-invitation,
  .c111-reader-week-window,
  .c111-reader-related-columns,
  .c111-reader-source-list,
  .c111-reader-next-links,
  .c111-visual-branches,
  .c111-visual-explanations,
  .c111-visual-comparison,
  .c111-visual-questions,
  .c111-visual-actions,
  .c111-visual-conversation-points {
    grid-template-columns: 1fr;
  }

  .dating-guide-page .c111-reader-toc {
    max-height: 9rem;
    overflow: auto;
  }

  .dating-guide-page .c111-reader-intro p {
    margin-top: 0;
  }

  .dating-guide-page .c111-reader-flow > .section,
  .dating-guide-page .c111-reader-flow > .c111-reader-story {
    padding-block: 1.65rem;
  }

  .dating-guide-page .c111-reader-figure {
    margin-bottom: 2rem;
  }

  /* Exact text lives in the HTML companion at phone width. */
  .dating-guide-page .c111-reader-figure > picture,
  .dating-guide-page .c111-reader-figure > figcaption {
    display: none;
  }

  .dating-guide-page .c111-visual-companion {
    padding: 1rem;
  }

  .dating-guide-layout-diaspora-two-timezone-postcard .c111-reader-section,
  .dating-guide-layout-student-second-date-field-notes .c111-reader-section {
    margin-left: 0;
  }

  .dating-guide-layout-faith-weekend-ethical-ledger .c111-reader-values article,
  .dating-guide-layout-payment-table-conversation .c111-reader-cost article {
    display: block;
  }

  .dating-guide-layout-diaspora-two-timezone-postcard .c111-reader-week-window li:nth-child(n) {
    margin-top: 0;
  }
}
