/* ============================================================
   Said This — "why before how". Connected-thread layout
   (Draft C): narration left, the things people say as a
   vertical message thread linked by a thin line on the right.
   Scoped with .sd- prefix.
   ============================================================ */

.sd { background: var(--bg-2); }

.sd__grid {
  display: grid;
  grid-template-columns: 1fr 0.95fr;
  gap: clamp(48px, 7vw, 110px);
  align-items: center;
}

/* Left — narration */
.sd__left { max-width: 46ch; }
.sd__head { margin: 0 0 clamp(22px, 2.6vw, 34px); }
.sd__head .eyebrow { margin-bottom: 20px; }
.sd__title {
  margin: 0;
  max-width: 15ch;
  text-wrap: balance;
}
.sd__body { display: grid; gap: 18px; }
.sd__body p {
  margin: 0;
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.65;
  color: var(--ink-2);
  text-wrap: pretty;
}
.sd__body b { color: var(--ink); font-weight: 600; }

/* Right — the message thread */
.sd__thread {
  position: relative;
  margin-top: 50px;
  padding-left: 30px;
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.4vw, 30px);
}
.sd__thread::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 12px;
  bottom: 12px;
  width: 1px;
  background: var(--line-2, var(--line));
}
.sd__node { position: relative; }
.sd__node::before {
  content: "";
  position: absolute;
  /* line center sits at 9.5px from the thread's padding box; node padding-left is 30px.
     anchor the circle's left edge there, then pull back half its width to center it. */
  left: -20.5px;
  transform: translateX(-50%);
  top: 16px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--bg);
  border: 1.5px solid var(--accent);
}
.sd__bub {
  margin: 0;
  max-width: 34ch;
  font-family: var(--f-sans);
  font-style: normal;
  font-weight: 400;
  font-size: clamp(17px, 1.45vw, 22px);
  line-height: 1.42;
  color: var(--ink);
  text-align: left;
  text-wrap: pretty;
  padding: 15px 22px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 6px 18px 18px 18px;
  box-shadow: 0 14px 32px -24px rgba(0,0,0,0.45);
}
.sd__bub em { color: var(--accent); font-style: normal; font-weight: 600; }

/* ============================================================
   Said This — LANDING variant (.sd--landing). Two-column:
   title + bridge line span the top; handwritten note card of
   quotes on the left, "Me too." body on the right. Scoped so
   the home-page SaidThis (thread layout above) is unaffected.
   ============================================================ */
.sd--landing .sd__head { margin: 0 0 clamp(18px, 2vw, 26px); }
.sd--landing .sd__head .eyebrow { margin-bottom: 20px; }
.sd--landing .sd__title { max-width: 18ch; }

.sd__bridge {
  max-width: 60ch;
  margin: 0 0 clamp(38px, 4.4vw, 60px);
}
.sd__bridge p {
  margin: 0;
  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.55;
  color: var(--ink-2);
  text-wrap: pretty;
}
.sd__bridge-em {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 1.16em;
  line-height: 1.3;
  color: var(--ink);
}

.sd--landing .sd__grid {
  position: relative;
  display: grid;
  grid-template-columns: 0.92fr 1fr;
  gap: clamp(40px, 6vw, 88px);
  align-items: start;
}

/* Left — handwritten note card (one piece of paper, three lines) */
.sd__notewrap { display: flex; justify-content: flex-start; }
.sd__note {
  position: relative;
  width: 100%;
  max-width: 520px;
  background:
    repeating-linear-gradient(
      transparent,
      transparent calc(2.55em - 1px),
      color-mix(in oklab, var(--accent) 22%, transparent) calc(2.55em - 1px),
      color-mix(in oklab, var(--accent) 22%, transparent) 2.55em
    ),
    color-mix(in oklab, var(--bg-2) 60%, #fff 6%);
  background-color: #fbf7ec;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: clamp(26px, 3vw, 38px) clamp(26px, 3vw, 40px) clamp(30px, 3.4vw, 44px);
  box-shadow: 0 26px 50px -34px rgba(0,0,0,0.6);
  transform: rotate(-1.4deg);
}
:root[data-mode="light"] .sd__note,
:root:not([data-mode]) .sd__note { background-color: #fbf7ec; }
:root[data-mode="dark"] .sd__note { background-color: #f7f1e1; }
/* tape on top */
.sd__note::before {
  content: "";
  position: absolute;
  top: -11px; left: 50%;
  transform: translateX(-50%) rotate(2deg);
  width: 92px; height: 22px;
  background: color-mix(in oklab, var(--accent) 30%, #fff 50%);
  opacity: 0.55;
  border-radius: 2px;
  box-shadow: 0 2px 4px -2px rgba(0,0,0,0.4);
}
.sd__note-line {
  margin: 0;
  font-family: "Caveat", cursive;
  font-weight: 600;
  font-size: clamp(21px, 2.1vw, 28px);
  line-height: 2.1rem;
  color: #2a2622;
  text-wrap: pretty;
}
.sd__note-line + .sd__note-line { margin-top: 2.1rem; }
.sd__note-line em {
  font-style: normal;
  color: #5a7d3e;
  text-decoration: underline;
  text-decoration-color: color-mix(in oklab, #5a7d3e 50%, transparent);
  text-underline-offset: 3px;
}

/* Right — "Me too." body */
.sd__metoo {
  max-width: 56ch;
  display: grid;
  gap: 16px;
}
.sd__metoo p {
  margin: 0;
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.5;
  color: var(--ink-2);
  text-wrap: pretty;
  font-family: var(--f-display);
  font-style: italic;
  font-weight: 400;
}
.sd__metoo strong {
  color: var(--ink);
  font-weight: 700;
  font-style: normal;
  font-family: inherit;
}
.sd__metoo-open { font-size: clamp(20px, 1.6vw, 24px) !important; font-family: var(--f-sans) !important; font-style: normal !important; }
.sd__metoo b { color: var(--ink); font-weight: 600; }

/* Engaging text flavor in the "Me too." column — mirrors the honest path:
   highlighter sweep, display-italic emphasis, a beat line, handwritten aside. */
.sd__metoo .mk {
  background: linear-gradient(transparent 58%, color-mix(in oklab, var(--accent) 34%, transparent) 58%);
  color: var(--ink);
  font-weight: 500;
  padding: 0 0.06em;
  border-radius: 1px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.sd__metoo .em {
  font-family: var(--f-display);
  font-style: italic;
  font-size: 1.16em;
  line-height: 1.3;
  color: var(--ink);
}
.sd__beat {
  font-family: var(--f-display) !important;
  font-style: italic;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  line-height: 1.12 !important;
  color: var(--ink) !important;
  margin: 4px 0 !important;
}
.sd__beat .sd__beat-cont {
  display: block;
  font-family: var(--f-sans) !important;
  font-style: normal !important;
  font-size: clamp(16px, 1.25vw, 19px) !important;
  line-height: 1.55 !important;
  color: var(--ink-2) !important;
  margin-top: 9px !important;
}
.sd__tag {
  font-family: "Caveat", var(--f-display);
  font-style: normal;
  font-size: clamp(26px, 2.3vw, 34px);
  line-height: 1;
  color: var(--accent);
  white-space: nowrap;
}
.sd__tag--block {
  display: block;
  font-family: "Caveat", var(--f-display) !important;
  font-size: clamp(26px, 2.3vw, 34px) !important;
  line-height: 1 !important;
  color: var(--accent) !important;
  margin: 14px 0 0 !important;
  white-space: normal;
  transform: rotate(-3deg);
  transform-origin: left center;
}

/* Handwritten "Me too!" annotation + arrow linking the note → the response.
   Sits in the column gap, just left of the printed "Me too." heading. */
.sd__annot {
  position: absolute;
  top: -66px;
  left: 36%;
  width: 230px;
  color: var(--accent);
  pointer-events: none;
  transform: rotate(-7deg);
  z-index: 3;
}
.sd__annot-text {
  display: block;
  font-family: "Caveat", var(--f-display);
  font-weight: 500;
  font-style: normal;
  font-size: clamp(26px, 2.3vw, 34px);
  line-height: 1;
  margin-left: 54px;
}
.sd__annot-arrow {
  display: block;
  width: 110px;
  height: 84px;
  margin-top: 2px;
}
@media (max-width: 860px) {
  .sd__annot {
    display: flex;
    position: static;
    order: 1;
    flex-direction: column-reverse;
    align-items: center;
    gap: 0;
    margin: 2px 0 -6px;
    transform: none;
    top: auto;
    left: auto;
  }
  .sd__notewrap { order: 0; }
  .sd__metoo { order: 2; }
  .sd__annot-text { display: block; margin: 0; }
  .sd__annot-arrow {
    display: block;
    width: 70px;
    height: 50px;
    margin: 0 0 0 60px;
    transform: scaleY(-1) rotate(-6deg);
  }
}

@media (max-width: 860px) {
  .sd--landing .sd__grid {
    grid-template-columns: 1fr;
    gap: clamp(38px, 9vw, 56px);
  }
  .sd--landing .sd__title { max-width: 22ch; }
  .sd__note { max-width: 480px; margin: 0 auto; }
  .sd__metoo { max-width: none; }
}
@media (max-width: 640px) {
  .sd__note-line { font-size: 22px; }
}

/* Landing only: the said + honest sections share the same bg.
   The said section uses the standard equal section padding (top = bottom). */
