/* Cross-section polish pass, 13 Oct 2026 (Felix, homepage topic 34084).
   Loads last. Layout, typography and alignment fixes only; no copy or section content lives here.
   Section owners (hero 35272, feature cards 35235, calculator 35236): keep these rules when you edit,
   or move the rule into your own file if you change the element it targets. */

/* Headings never leave a one-word last line; paragraphs avoid orphans. */
.v5 main :is(h1, h2, h3) { text-wrap: balance; }
.v5 main p, .v5 main summary { text-wrap: pretty; }
.v5 main :is(.thousand-sub, .thousand-foot, .checks5-intro, .fit5-who, .lede) { text-wrap: balance; }

/* Draft bar: one line on phones. Draft-only. */
@media (max-width: 760px) { .draft-bar .db-long { display: none; } .draft-bar { font-size: 11px; } }

/* Header: comfortable click/tap areas without changing the header height. */
.top .logo { display: inline-flex; align-items: center; min-height: 44px; }
.top .nav a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; }
.foot-check { min-height: 44px; align-items: center; }

/* 1. Hero: the search caption keeps "30 Sept 2026" together. */
.replay-meta .when { white-space: nowrap; }

/* 4. Feature cards: the small stage label was 10px; the snapshot tag was 9px. */
.checks5 .home-card-stage { font-size: 11px; }
.checks5 .c5b-head small { font-size: 10px; }
.checks5-review a { display: inline-block; padding: 4px 0; }

/* 6. How it works: titles, text and mock UI line up across the three cards even when one title wraps. */
@media (min-width: 901px) {
  .v5 .steps-row { grid-template-rows: repeat(4, auto); row-gap: 0; }
  .v5 .steps-row li { display: grid; grid-row: span 4; grid-template-rows: subgrid; align-content: start; }
  .v5 .steps-row li .step-ui { align-self: end; }
  .v5 .steps-row li:not(:last-child)::after { right: -12px; transform: translateX(50%); top: 38px; }
}
.v5 .step-ui .ui-in { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

/* 1. Hero, phones: the date gets its own line instead of a stray "·" at the start of one. */
@media (max-width: 520px) {
  .replay-meta .when { display: block; margin-top: 2px; }
  .replay-meta .when-dot { display: none; }
}
/* 1. Hero funnel, phones: every row puts its label in the same column, whatever the number's width. */
.funnel.is-mob .m-head { display: grid; grid-template-columns: 62px minmax(0, 1fr); column-gap: 8px; align-items: baseline; }
.funnel.is-mob .m-head .num { min-width: 0; }
.funnel.is-mob .m-head .t { justify-self: start; }
.funnel.is-mob .m-head .tag-ai { grid-column: 2; justify-self: start; margin-top: 4px; }

/* 7. Promise, phones and portrait tablets: the flow stacks, and "Live" / "Not live" are equal boxes that never break a word. */
@media (max-width: 900px) {
  .pflow { grid-template-columns: 1fr; }
  .pflow > li:not(:last-child)::after { content: '↓'; right: auto; left: 50%; top: auto; bottom: -18px; transform: translateX(-50%); }
  .pf-end { align-self: stretch; align-items: stretch !important; width: 100%; max-width: 420px; margin-inline: auto; }
  .pf-live, .pf-refund { justify-content: center; }
  .pf-live, .pf-refund { flex: 1 1 0; min-width: 0; padding: 10px 8px; }
  .pf-live b, .pf-refund b { white-space: nowrap; }
}

/* 4. Tablets (two columns): the ninth card sits centred under the grid instead of alone on the left. */
@media (min-width: 641px) and (max-width: 980px) {
  .checks5 .chk-grid > .chk:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc((100% - 18px) / 2); }
}

/* Touch screens: header and sticky-bar buttons reach the 44px minimum tap height. */
@media (pointer: coarse) {
  .btn-sm { min-height: 44px; }
}

/* 4. Smallest phones (<360px): the site-snapshot card keeps its site name and keyword list whole. */
@media (max-width: 359px) {
  .checks5 .c5b-head small { font-size: 9px; }
  .checks5 .c5b-keywords { gap: 5px; padding-inline: 5px; }
  .checks5 .c5b-keywords b { font-size: 10.5px; }
}


/* Section 2 heading note (Yuri, 26 Oct): a * after "links" opens a short note on hover (desktop) or tap (phones, app.js). */
.won-sec .won-head { position: relative; }
.won-last { white-space: nowrap; }
.won-tip { position: relative; display: inline-block; margin: 0 0 0 2px; padding: 0 2px; border: 0; background: none; font: inherit; font-size: 1.25em; line-height: 1; vertical-align: -.1em; color: var(--ink); cursor: help; }
.won-tip::before { content: ''; position: absolute; inset: -15px -16px; }
.won-note { position: absolute; z-index: 20; top: calc(100% + 10px); left: 50%; width: min(340px, calc(100vw - 40px)); transform: translateX(-50%); padding: 12px 14px; border: 1.5px solid var(--ink); border-radius: 8px; background: var(--paper); box-shadow: 4px 4px 0 var(--ink); font: 400 14px/1.45 var(--sans); letter-spacing: 0; text-transform: none; text-align: left; color: var(--ink-2); visibility: hidden; opacity: 0; transition: opacity .15s var(--ease), visibility .15s; }
.won-note.open { visibility: visible; opacity: 1; }
@media (hover: hover) {
  .won-head:has(.won-tip:hover) .won-note { visibility: visible; opacity: 1; }
}
.won-head:has(.won-tip:focus-visible) .won-note { visibility: visible; opacity: 1; }

/* ---- 26 Oct restructure: free-search block, testimonial placeholders, 4-way table, founder photo ---- */
.free7 .pflow { grid-template-columns: 1fr 1fr 1.3fr; }
.free7 .pflow .free-tag { display: inline-block; margin-top: 4px; padding: 3px 12px; border-radius: 999px; background: var(--green-soft); border: 1.5px solid var(--green-dark); color: var(--green-dark); font: 700 13px/1.3 var(--mono); text-transform: uppercase; letter-spacing: .05em; }
.quotes7 { padding: 88px 0; background: var(--ground); border-top: 1px solid var(--line); }
.quotes-head { max-width: 760px; margin: 0 auto 36px; text-align: center; }
.quotes-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.q7 { position: relative; display: flex; flex-direction: column; gap: 22px; padding: 28px 26px 24px; background: var(--paper); border: 1.5px solid var(--ink); border-radius: var(--r-md); }
.q7 blockquote { margin: 0; font-size: 18px; line-height: 1.5; color: var(--ink); flex: 1; }
.q7-who { display: flex; align-items: center; gap: 12px; }
.q7-who b { display: block; font-size: 15.5px; }
.q7-who small { display: block; font-size: 13.5px; color: var(--muted); }
.q7-face { flex: none; width: 48px; height: 48px; border-radius: 50%; background: var(--ground-2); border: 1.5px solid var(--line-2); }
.q7-flag { align-self: flex-start; padding: 3px 9px; border-radius: 6px; background: #ffe4e6; color: #9f1239; font: 700 11px/1.3 var(--mono); text-transform: uppercase; letter-spacing: .04em; }
.q7.is-placeholder blockquote, .q7.is-placeholder .q7-who { opacity: .55; }
.ctable4 tbody th, .ctable4 thead th:first-child { width: 17%; }
.ctable4 th, .ctable4 td { padding-left: 16px; padding-right: 14px; }
.f5-photo { display: block; width: 120px; height: 120px; border-radius: 50%; object-fit: cover; border: 1.5px solid var(--ink); }
@media (max-width: 900px) {
  .quotes7 { padding: 64px 0; }
  .quotes-row { grid-template-columns: 1fr; }
  .free7 .pflow { grid-template-columns: 1fr; }
  .f5-photo { width: 88px; height: 88px; }
}
/* Yuri's own handwritten signature (trackpad, 26 Oct) replaces the script font */
.f5-sign .sig-img { display: block; height: 52px; width: auto; transform: rotate(-3deg); }
@media (max-width: 760px) { .f5-sign .sig-img { height: 44px; } }
.q7-face { display: grid; place-items: center; background: var(--butter); border-color: var(--ink); font: 700 18px var(--sans); color: var(--ink); }
/* Testimonials v2 (26 Oct): big company-size number on top, highlighted phrases, toy-figure heads */
.q7 { gap: 18px; padding: 26px 26px 22px; }
.q7-stat { margin: 0; padding-bottom: 16px; border-bottom: 1.5px dashed var(--line-2); }
.q7-stat b { display: inline-block; font: 800 clamp(48px, 5vw, 64px)/0.95 var(--sans); letter-spacing: -.03em; color: var(--ink); background: linear-gradient(transparent 62%, var(--butter) 62%, var(--butter) 92%, transparent 92%); padding: 0 4px; margin-left: -4px; }
.q7-stat span { display: block; margin-top: 8px; font: 700 12px/1.35 var(--mono); text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.q7 blockquote mark { background: #ffe1d2; color: var(--ink); font-weight: 700; padding: 0 2px; border-radius: 2px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.q7-who { gap: 14px; }
.q7-head { flex: none; width: 52px; height: 58px; transform: rotate(-6deg); }
.q7:nth-child(2) .q7-head { transform: rotate(5deg); }
.q7:nth-child(3) .q7-head { transform: rotate(-3deg); }

/* footer copied from live linkvendors.com (28 Oct 2026) */
.foot-live { padding: 60px 0; background: #1a1a1a; }
.foot-live .wrap { display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; }
.foot-live .footer-links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px; }
.foot-live .footer-links a { color: rgba(255,255,255,.85); font-size: .9rem; text-decoration: none; transition: color .2s; }
.foot-live .footer-links a:hover { color: #f7e857; }
.foot-live .footer-copy { color: rgba(255,255,255,.85); font-size: .85rem; }
@media (max-width: 760px) { .foot-live { padding-bottom: 96px; } .foot-live .wrap { gap: 24px; } }

/* testimonial person icons (Astra): filled single-path silhouettes */
.r16q-ava.r18-ico.r19-person svg { width: 30px; height: 30px; fill: var(--ink); stroke: none; }
/* hero funnel: matching pages that were not opened */
.f-lab.drop-60 { white-space: nowrap; font: 400 13px var(--sans); color: var(--muted); }
.f-lab.drop-60 b { font: 700 15px var(--mono); color: #8a8f98; margin-right: 4px; }
.funnel path.b-drop { fill: #ecece6; }
.m-brk.m-drop { border: 0; background: transparent; padding: 4px 14px 10px; color: var(--muted); }
