/* Economic Boom, Baby Bust as a six-part series (series.html, part-N.html); loaded after story.css */

/* top bar: series name + part rail */
.wc-sect { text-decoration: none; }
.wc-sect:hover { color: var(--ink); }
.wc-rail { display: flex; align-items: center; margin-left: auto; font-family: var(--sans); }
.wc-rk { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-right: 12px; }
/* the six parts as a stepper: open parts solid, the current one filled green */
.wc-dot { position: relative; display: flex; align-items: center; text-decoration: none; outline: none; }
.wc-dot + .wc-dot { padding-left: 16px; }
.wc-dot + .wc-dot::before { content: ""; position: absolute; left: 2px; right: calc(100% - 14px); top: 50%; border-top: 1.5px solid #CFD5DC; }
.wc-n { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--card); border: 1.5px solid #C3CAD3; color: var(--ink); font-family: var(--serif); font-weight: 600; font-size: 15px; line-height: 1; transition: border-color .18s, color .18s, background .18s, box-shadow .18s, transform .18s; }
.wc-dot[href]:hover .wc-n, .wc-dot[href]:focus-visible .wc-n { border-color: var(--brand); color: var(--brand); transform: translateY(-1px); }
.wc-dot.cur .wc-n, .wc-dot.cur:hover .wc-n { background: var(--brand); border-color: var(--brand); color: #fff; font-style: italic; box-shadow: 0 0 0 4px var(--brand-soft); transform: none; }
/* small card with the part title */
.wc-tip { position: absolute; top: calc(100% + 12px); left: calc(50% + 8px); transform: translate(-50%, -4px); width: max-content; max-width: 230px; padding: 10px 13px 11px; background: var(--card); border: 1px solid var(--rule); border-radius: 12px; box-shadow: 0 10px 28px rgba(20, 33, 51, .14); font-family: var(--serif); font-size: 15px; font-weight: 600; line-height: 1.3; color: var(--ink); text-align: left; white-space: normal; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .16s, transform .16s, visibility .16s; z-index: 30; }
.wc-dot:first-of-type .wc-tip { left: 50%; }
.wc-tip b { display: block; font-family: var(--sans); font-size: 10.5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--brand); margin-bottom: 3px; }
.wc-tip i { display: block; font-family: var(--sans); font-style: normal; font-size: 12.5px; font-weight: 600; color: var(--muted); margin-top: 5px; }
.wc-tip i:empty { display: none; }
.wc-dot:hover .wc-tip, .wc-dot:focus-visible .wc-tip { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.wc-dot[data-p="5"] .wc-tip, .wc-dot[data-p="6"] .wc-tip { left: auto; right: -6px; transform: translateY(-4px); }
.wc-dot[data-p="5"]:hover .wc-tip, .wc-dot[data-p="6"]:hover .wc-tip, .wc-dot[data-p="5"]:focus-visible .wc-tip, .wc-dot[data-p="6"]:focus-visible .wc-tip { transform: none; }
@media (hover: none) { .wc-tip { display: none; } }
@media (max-width: 760px) { .wc-sect { display: none; } .wc-rk, .wc-tip { display: none; } .wc-dot + .wc-dot { padding-left: 10px; } .wc-dot + .wc-dot::before { right: calc(100% - 8px); } .wc-n { width: 27px; height: 27px; font-size: 14px; } }
@media (max-width: 400px) { .top-in { gap: 8px; padding: 10px 14px; } .logo { font-size: 18px; } .wc-dot + .wc-dot { padding-left: 6px; } .wc-dot + .wc-dot::before { left: 1px; right: calc(100% - 5px); } .wc-n { width: 25px; height: 25px; font-size: 13px; } .wc-dot.cur .wc-n { box-shadow: 0 0 0 3px var(--brand-soft); } }

/* part opener */
.wc-head { max-width: calc(var(--col) + 40px); margin: 0 auto; padding: 64px 20px 6px; }
.wc-head.hero { max-width: 1200px; padding: 40px 22px 20px; }
.wc-h1 { font-family: var(--serif); font-weight: 700; font-size: clamp(40px, 5.6vw, 66px); line-height: 1.02; letter-spacing: -.022em; margin: 0 0 20px; }
.wc-num { display: block; font-weight: 400; font-style: italic; font-size: .6em; line-height: 1; color: var(--brand); margin-bottom: 10px; letter-spacing: 0; }
.wc-head .deck { margin-bottom: 18px; }
.wc-sq { font-family: var(--sans); font-size: 14.5px; line-height: 1.5; color: var(--muted); margin: 0 0 16px; padding-left: 12px; border-left: 2px solid var(--brand); }
.wc-sq a { white-space: nowrap; }
.wc-prevpart { font-family: var(--sans); font-size: 15.5px; line-height: 1.55; color: var(--ink2); background: var(--tint); border-radius: 12px; padding: 14px 18px; margin: 28px 0 8px !important; }
.wc-prevpart a { font-weight: 700; white-space: nowrap; }
.wc-subchap { margin-top: 80px; }

/* end of a part: the next part */
.wc-end { width: min(calc(var(--col) + 80px), calc(100vw - 32px)); margin: 70px auto 60px; }
.wc-k { font-family: var(--sans); font-weight: 800; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--brand); margin: 0 0 10px; }
.wc-next { background: var(--card); border: 1px solid var(--rule); border-radius: 16px; box-shadow: var(--sh); padding: 26px 28px 22px; }
.wc-next { border-top: 4px solid var(--brand); display: flex; flex-direction: column; }
.wc-next h2 { font-family: var(--serif); font-weight: 700; font-size: clamp(30px, 3.6vw, 40px); line-height: 1.08; letter-spacing: -.015em; margin: 0 0 12px; }
.wc-next-t { font-size: 18px; line-height: 1.55; color: var(--ink2); margin: 0 0 20px; }
.wc-btn { display: inline-block; align-self: flex-start; font-family: var(--sans); font-weight: 800; font-size: 15px; text-decoration: none; color: #fff; background: var(--brand); padding: 11px 20px; border-radius: 999px; }
.wc-btn::after { content: " \2192"; }
.wc-btn:hover { background: #086149; }
.wc-all { font-family: var(--sans); font-size: 14px; margin: auto 0 0; padding-top: 18px; }
.wc-missed { font-family: var(--sans); font-size: 14.5px; line-height: 1.6; color: var(--ink2); margin: 0 0 18px; }
.wc-missed:empty { display: none; }

/* series home */
.wc-series { background: var(--tint); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); margin-top: 30px; }
.wc-series-in { max-width: var(--wide); margin: 0 auto; padding: 56px 22px 44px; }
.wc-series h2, .wc-h2 { font-family: var(--serif); font-weight: 700; font-size: clamp(30px, 4vw, 42px); line-height: 1.1; letter-spacing: -.015em; margin: 0 0 12px; }
.wc-intro { font-size: 18.5px; line-height: 1.55; color: var(--ink2); max-width: 720px; margin: 0 0 26px; }
.wc-list { list-style: none; margin: 0; padding: 0; }
.wc-row { display: grid; grid-template-columns: 84px 1fr auto; gap: 6px 18px; align-items: start; padding: 22px 0; border-top: 1px solid var(--rule); }
.wc-row-n { font-family: var(--serif); font-style: italic; font-size: 46px; line-height: .95; color: var(--brand); }
.wc-row h3 { font-family: var(--serif); font-weight: 700; font-size: 25px; line-height: 1.2; margin: 0 0 6px; }
.wc-row h3 a { color: var(--ink); text-decoration: none; }
.wc-row h3 a[href]:hover { text-decoration: underline; text-underline-offset: 3px; }
.wc-row-b p { font-size: 16.5px; line-height: 1.5; color: var(--ink2); margin: 0 0 6px; }
.wc-row-b .wc-row-m { font-family: var(--sans); font-size: 13px; color: var(--muted); margin: 0; }
.wc-st { font-family: var(--sans); font-weight: 800; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; padding: 5px 11px; border-radius: 999px; white-space: nowrap; margin-top: 6px; }
.wc-st:empty { display: none; }
a.wc-st { text-decoration: none; }
a.wc-st[href] { cursor: pointer; }
.wc-row[data-s="read"] a.wc-st[href]:hover { background: var(--brand); color: #fff; }
.wc-row[data-s="read"] .wc-st { background: var(--brand-soft); color: var(--brand); }
.wc-h2 { margin-top: 64px; }
.wc-back { padding: 56px 0 50px; }
.wc-back-in { max-width: var(--wide); margin: 0 auto; padding: 0 22px; }
.wc-back h2 { font-family: var(--serif); font-weight: 700; font-size: clamp(30px, 4vw, 42px); line-height: 1.1; letter-spacing: -.015em; margin: 0 0 12px; }
.wc-back .tl-wrap { margin-top: 22px; }
.wc-parts { margin-top: 0; }
.wc-parts .wc-series-in { padding-top: 44px; }
.wc-series:first-of-type .wc-series-in { padding-bottom: 50px; }
@media (max-width: 640px) {
  .wc-row { grid-template-columns: 50px 1fr; }
  .wc-row-n { font-size: 34px; }
  .wc-st { grid-column: 2; justify-self: start; margin-top: 0; }
}
.nowrap { white-space: nowrap; }

/* series home: text beside the locator map of Georgia and its neighbours (2026-11-02) */
.wc-loc-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: 48px; align-items: start; }
.wc-loc-txt .wc-intro { max-width: none; margin-bottom: 16px; }
.wc-loc { margin: 6px 0 0; padding: 18px 20px 12px; background: var(--card); border: 1px solid var(--rule); border-radius: 16px; box-shadow: var(--sh); }
.wc-loc-k { font-family: var(--sans); font-weight: 800; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 0 0 10px; }
.wc-loc-map svg { display: block; border-radius: 10px; }
.wc-loc .src { margin-top: 10px; font-size: 12px; }
.loc-geo { font-family: var(--serif); font-weight: 700; font-size: 17px; letter-spacing: .12em; fill: #0B5E47; paint-order: stroke; stroke: #CFE6DC; stroke-width: 3px; stroke-linejoin: round; }
.loc-c { font-family: var(--sans); font-weight: 700; font-size: 11.5px; letter-spacing: .16em; fill: #7A7468; paint-order: stroke; stroke: #F4F1EB; stroke-width: 3px; stroke-linejoin: round; }
.loc-sea { font-family: var(--serif); font-style: italic; font-size: 14px; fill: #5F7A8C; }
.loc-cap { font-family: var(--sans); font-weight: 700; font-size: 12.5px; fill: #18202C; paint-order: stroke; stroke: #CFE6DC; stroke-width: 3px; stroke-linejoin: round; }
.loc-cap2 { font-family: var(--sans); font-weight: 600; font-size: 11px; fill: #5B6472; paint-order: stroke; stroke: #F4F1EB; stroke-width: 3px; stroke-linejoin: round; }
@media (max-width: 980px) { .wc-loc-grid { grid-template-columns: 1fr; gap: 26px; } .wc-loc { max-width: 600px; } }
@media (max-width: 480px) { .wc-loc { padding: 14px 12px 10px; } }
.loc-small .loc-geo { font-size: 12.5px; letter-spacing: .08em; }
.loc-small .loc-c { font-size: 9.5px; letter-spacing: .12em; }
.loc-small .loc-sea { font-size: 12px; }
.loc-small .loc-cap { font-size: 11px; }
.loc-small .loc-cap2 { font-size: 10px; }
/* the second paragraph runs under both the text and the map */
.wc-series-in.wc-loc-grid { padding-bottom: 0; }
.wc-series-in.wc-loc-after { padding-top: 8px; }
.wc-intro.wc-intro-wide { max-width: none; }
@media (max-width: 980px) { .wc-series-in.wc-loc-after { padding-top: 24px; } }
/* the map card lines up with the hero panel above: same container, same columns, same width (tutor 2026-11-02) */
.wc-series-in.wc-loc-grid, .wc-series-in.wc-loc-after { max-width: 1200px; padding-left: 22px; padding-right: 22px; }
.wc-loc-grid { grid-template-columns: 1fr 1.05fr; gap: 60px; }
.wc-loc { padding: 16px 22px 10px; max-width: none; }
@media (max-width: 900px) { .wc-loc-grid { grid-template-columns: 1fr; gap: 26px; } .wc-loc { max-width: 600px; } .wc-series-in.wc-loc-after { padding-top: 24px; } }
@media (min-width: 901px) and (max-width: 980px) { .wc-series-in.wc-loc-after { padding-top: 8px; } }
/* country names sit fully inside their country (tutor 2026-11-02) */
.loc-geo { font-size: 14px; letter-spacing: .1em; }
.loc-arm { font-size: 9.5px; letter-spacing: .12em; }
.loc-small .loc-geo { font-size: 10.5px; letter-spacing: .06em; }
.loc-small .loc-arm { font-size: 8px; letter-spacing: .08em; }
.loc-small .loc-cap { font-size: 10px; }
.loc-small .loc-geo { font-size: 10px; }

/* series home: "From the Soviet Union to today" (left) beside a vertical timeline of state symbols (right),
   in the same columns as the map section above; read top to bottom, today's symbols come last (tutor 2026-11-02) */
.wc-back-in.wc-sym-grid { max-width: 1200px; display: grid; grid-template-columns: 1fr 1.05fr; gap: 60px; align-items: center; margin-bottom: 8px; }
.wc-sym-txt .wc-intro { margin-bottom: 0; }
.wc-sym { margin: 0; padding: 16px 22px 10px; background: var(--card); border: 1px solid var(--rule); border-radius: 16px; box-shadow: var(--sh); }
.wc-sym-list { list-style: none; margin: 0; padding: 4px 0 0; position: relative; }
/* the rail: grey in the Soviet years, turning green towards today */
.wc-sym-list::before { content: ""; position: absolute; left: 8px; top: 38px; bottom: 50px; width: 2px; border-radius: 2px; background: linear-gradient(#B9BFC7, #B9BFC7 30%, #8E9AA6 55%, var(--brand)); }
.wc-sym-i { position: relative; display: grid; grid-template-columns: 18px 92px minmax(0, 1fr) auto; gap: 0 18px; align-items: center; padding: 14px 0; }
.wc-sym-i + .wc-sym-i { border-top: 1px solid var(--grid); }
.wc-sym-dot { width: 18px; height: 18px; border-radius: 50%; background: var(--card); border: 2px solid #9AA3AE; box-sizing: border-box; position: relative; z-index: 1; }
.wc-sym-mid .wc-sym-dot { border-color: #7F8B98; }
.wc-sym-now .wc-sym-dot { background: var(--brand); border-color: var(--brand); box-shadow: 0 0 0 4px var(--brand-soft); }
.wc-sym-coa { width: 92px; height: 84px; object-fit: contain; }
.wc-sym-y { font-family: var(--sans); font-weight: 800; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 0 0 2px; }
.wc-sym-now .wc-sym-y { color: var(--brand); }
.wc-sym-n { font-family: var(--serif); font-weight: 700; font-size: 19px; line-height: 1.2; color: var(--ink); margin: 0 0 4px; }
.wc-sym-t { font-family: var(--sans); font-size: 13.5px; line-height: 1.45; color: var(--ink2); margin: 0; }
.wc-sym-flag { width: 54px; height: 36px; object-fit: cover; border: 1px solid var(--rule); border-radius: 3px; align-self: center; }
.wc-sym .src { margin-top: 6px; font-size: 12px; }
@media (max-width: 900px) { .wc-back-in.wc-sym-grid { grid-template-columns: 1fr; gap: 26px; } .wc-sym { max-width: 600px; } }
@media (max-width: 520px) {
  .wc-sym { padding: 14px 14px 10px; }
  .wc-sym-i { grid-template-columns: 18px 64px minmax(0, 1fr); gap: 0 12px; }
  .wc-sym-coa { width: 64px; height: 60px; }
  .wc-sym-flag { grid-column: 3; justify-self: start; width: 42px; height: 28px; margin-top: 8px; }
  .wc-sym-n { font-size: 17px; }
  .wc-sym-t { font-size: 13px; }
}
/* rail drawn dot to dot, so it always ends at today's dot */
.wc-sym-list::before { display: none; }
.wc-sym-i::before, .wc-sym-i::after { content: ""; position: absolute; left: 8px; width: 2px; background: #B9BFC7; }
.wc-sym-i::before { top: 0; height: 50%; }
.wc-sym-i::after { top: 50%; bottom: 0; }
.wc-sym-old::before, .wc-sym-now::after { display: none; }
.wc-sym-mid::after { background: linear-gradient(#B9BFC7, #8E9AA6); }
.wc-sym-now::before { background: linear-gradient(#8E9AA6, var(--brand)); }
@media (max-width: 520px) { .wc-sym-dot, .wc-sym-coa { grid-row: 1 / span 2; } .wc-sym-b { grid-column: 3; grid-row: 1; } }
/* series home: the timeline card spans the same width as the text and cards above it (tutor 2026-11-02) */
.wc-back .tl-wrap { width: min(1156px, calc(100vw - 44px)); }
@media (max-width: 480px) { .wc-back .tl-wrap { width: calc(100vw - 32px); } }
/* state symbols straight on the page background, no white card (tutor 2026-11-02) */
.wc-sym { background: none; border: 0; box-shadow: none; padding: 0; border-radius: 0; }
.wc-sym-i + .wc-sym-i { border-top-color: var(--rule); }
.wc-sym .src { border-top-color: var(--rule); }
.wc-sym-now .wc-sym-dot { box-shadow: 0 0 0 4px #DCEBE4; }
@media (max-width: 520px) { .wc-sym { padding: 0; } }

/* series home hero: tall "richer, fewer babies" chart (tutor 2026-11-02); the five-number panel moved to "The puzzle in numbers" below */
.hero-sc { display: flex; flex-direction: column; }
/* no white card: the chart sits straight on the page (tutor 2026-11-02) */
.wc-hub-hero .hero-sc { background: none; border: 0; border-radius: 0; box-shadow: none; padding: 0; }
.hero-sc .sc-t { font-family: var(--serif); font-weight: 700; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.2; letter-spacing: -.01em; color: var(--ink); margin: 6px 0 4px; }
.hero-sc .sc-s { font-family: var(--sans); font-size: 14.5px; color: var(--muted); margin: 0 0 6px; }
.hero-sc .plot { position: relative; height: 400px; }
.hero-sc .plot svg { position: absolute; inset: 0; overflow: visible; }
.hero-sc .src { margin-top: 8px; }
.sc-yr { font-size: 15px; font-weight: 800; }
@media (min-width: 901px) { .wc-hub-hero .hero-sc { align-self: stretch; } .hero-sc .plot { height: auto; flex: 1; min-height: 300px; } }

/* "The puzzle in numbers" (redesigned 2026-11-02): as wide as the hero above; economy bars across the top, six small charts with axes below */
.wc-puzzle { background: transparent; border-bottom: 0; }
.wc-puzzle .wc-series-in { max-width: 1200px; }
.wc-puzzle .wc-intro { max-width: 760px; }
.pz { margin: 0; padding: 26px 30px 16px; background: var(--card); border: 1px solid var(--rule); border-radius: 16px; box-shadow: var(--sh); }
.pz .hero-k { margin-bottom: 14px; }
.pz-l { font-family: var(--sans); font-weight: 700; font-size: 16px; line-height: 1.35; color: var(--ink); margin: 0; }
.pz-u { font-family: var(--sans); font-weight: 500; font-size: 13px; color: var(--muted); margin: 2px 0 0; }
.pz-val { font-size: 12.5px; font-weight: 700; font-variant-numeric: tabular-nums; }
.pz-note { font-family: var(--sans); font-size: 13px; line-height: 1.5; color: var(--muted); margin: 14px 0 0; max-width: 260px; }
.pz-plot svg { display: block; overflow: visible; }
.pz-gdp { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 36px; align-items: start; padding-bottom: 22px; border-bottom: 1px solid var(--rule); }
.pz-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 40px; }
.pz-p { padding: 22px 0 8px; display: flex; flex-direction: column; }
.pz-p .pz-plot { margin-top: auto; padding-top: 12px; }
.pz-p:nth-child(n+4) { border-top: 1px solid var(--grid); }
@media (max-width: 1000px) { .pz-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pz-p:nth-child(n+3) { border-top: 1px solid var(--grid); } }
@media (max-width: 640px) {
  .pz { padding: 18px 16px 10px; }
  .pz-gdp { grid-template-columns: 1fr; gap: 10px; }
  .pz-note { max-width: none; }
  .pz-grid { grid-template-columns: 1fr; }
  .pz-p:nth-child(n+2) { border-top: 1px solid var(--grid); }
}
/* locator map without its card: land in the section tint, edges fade into the page (tutor 2026-11-02) */
.wc-loc { background: none; border: 0; box-shadow: none; border-radius: 0; padding: 6px 0 0; }
.wc-loc-map svg { border-radius: 0; -webkit-mask-image: linear-gradient(to right, transparent, #000 9%, #000 91%, transparent), linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent); -webkit-mask-composite: source-in; mask-image: linear-gradient(to right, transparent, #000 9%, #000 91%, transparent), linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent); mask-composite: intersect; }
.wc-loc .src { border-top: 0; }
/* series home: Data and method starts at the left edge of the sections above, references first (tutor 2026-11-02) */
.wc-method { max-width: 1200px; margin: 0 auto; padding: 8px 22px 40px; }
.wc-method .method { max-width: 860px; }

/* parts: the light band follows the Main findings box directly (no chapter header there), so less space above it (2026-11-03) */
.story + .mist { margin-top: 56px; padding-top: 10px; }  /* the padding stops the heading margin from collapsing out of the band */
.story:has(+ .mist) { padding-bottom: 0; }
.story:has(+ .mist) > :last-child { margin-bottom: 0; }
.mist .mist-in > h3:first-child { margin-top: 34px; }

/* header: the full series title in the centre, bold brand green (tutor 2026-11-03) */
.wc-rail { margin-left: 0; }
.wc-sect { margin: 0 auto; border-left: 0; padding-left: 0; white-space: nowrap;  /* centred in the free space between the logo and the parts row, so the two never touch */
  font-size: 13px; font-weight: 800; letter-spacing: .1em; color: #00865F; }
.wc-sect:hover { color: #00664A; }
@media (max-width: 1180px) { .wc-sect { font-size: 12px; letter-spacing: .06em; } }

/* parts rail: the series home as the first stop, a pill joined to circle 1 by the same thin line (tutor 2026-11-03) */
.wc-hn { width: auto; padding: 0 12px; border-radius: 999px; font-family: var(--sans); font-style: normal; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.wc-dot.wc-home.cur .wc-hn { font-style: normal; }
.wc-home .wc-tip { left: 0; transform: translate(0, -4px); }
.wc-home:hover .wc-tip, .wc-home:focus-visible .wc-tip { transform: translate(0, 0); }
@media (max-width: 760px) { .wc-hn { padding: 0 9px; font-size: 10px; letter-spacing: .06em; } }
@media (max-width: 400px) { .wc-hn { padding: 0 7px; font-size: 9.5px; letter-spacing: .02em; } }
@media (max-width: 380px) { .wc-home { display: none; } }  /* narrowest phones: no room; 'About the series' under the title leads home */

/* end card of the series: where to follow and ask (tutor 2026-11-03) */
.wc-follow { list-style: none; margin: 0 0 18px; padding: 0; font-family: var(--sans); border-top: 1px solid var(--rule); }
.wc-follow li { display: flex; align-items: center; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--rule); }
.wc-follow span { flex: 0 0 96px; font-size: 11.5px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.wc-follow a { font-size: 16px; font-weight: 700; color: var(--brand); text-decoration: none; }
.wc-follow a:hover { text-decoration: underline; text-underline-offset: 3px; }
.wc-follow a { display: inline-flex; align-items: center; gap: 10px; }
.wc-follow a img { width: 22px; height: 22px; flex: 0 0 22px; }

/* phones: parts row a little tighter so the Instagram icon fits in the header (2026-11-03) */
@media (max-width: 430px) { .top-in { gap: 6px; padding: 10px 12px; } .logo { font-size: 16px; } .wc-dot + .wc-dot { padding-left: 4px; } .wc-dot + .wc-dot::before { left: 1px; right: calc(100% - 3px); } .wc-n { width: 23px; height: 23px; font-size: 12.5px; } .wc-hn { width: auto; padding: 0 7px; font-size: 9.5px; letter-spacing: .08em; } .wc-ig svg { width: 20px; height: 20px; } }
@media (max-width: 360px) { .wc-follow li { gap: 10px; } .wc-follow span { flex-basis: 70px; font-size: 10.5px; } .wc-follow a { font-size: 14.5px; gap: 8px; } }  /* the e-mail address fits on 320 px phones */

/* reader rating at the end of each part, before the next-part card (tutor 2026-11-03) */
.wc-rate { text-align: center; padding: 34px 20px 30px; margin: 0 0 34px; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.wc-rate h2 { font-family: var(--serif); font-weight: 700; font-size: 26px; margin: 6px 0 16px; }
.wc-stars { display: inline-flex; gap: 6px; }
.wc-stars button { background: none; border: 0; padding: 4px; cursor: pointer; line-height: 0; border-radius: 8px; }
.wc-stars button:disabled { cursor: default; }
.wc-stars button:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.wc-stars svg { width: 36px; height: 36px; fill: none; stroke: #B9C1CB; stroke-width: 1.6; stroke-linejoin: round; transition: fill .15s, stroke .15s, transform .15s; }
.wc-stars button.on svg { fill: #E0A526; stroke: #C68C12; }
.wc-stars button:not(:disabled):hover svg { transform: translateY(-1px) scale(1.06); }
.wc-rate-l { min-height: 1.4em; margin: 10px 0 0; font-family: var(--sans); font-size: 14px; font-weight: 600; color: var(--muted); }
.byline .wc-rate-link { white-space: nowrap; color: var(--muted); text-decoration: underline; text-decoration-color: var(--rule); text-underline-offset: 3px; }
.byline .wc-rate-link:hover { color: var(--brand); text-decoration-color: var(--brand); }
/* series home: the rating for the whole analysis sits above the references, as wide as the text column */
.wc-rate.wc-rate-home { max-width: calc(var(--col) + 80px); margin: 10px auto 40px; }
