/* YOUYI Guides & Insights V2 — module extensions for the 8-guide rollout.
   Loaded AFTER the frozen master stylesheet guides-v2.css (never edited). Adds only new
   modules built from the master's tokens, type scale, card language and spacing. Scoped to main.gv. */

/* Intro line moved out of the hero (same treatment as the master's scope strip) */
.gv-intro {margin:0 0 28px; padding:0 0 26px; border-bottom:1px solid #e6e0d3; max-width:70ch; font-size:clamp(16px,1.25vw,18px); line-height:1.72; color:var(--gv-ink-2);}
.gv-scope-tail {flex:1 0 100%; margin:0; font-size:13px; color:var(--gv-ink-3) !important;}

/* Side panel holding a checklist or numbered list */
.gv-panel {padding:22px 22px 24px; background:#fff; border:1px solid var(--gv-card-line); border-top:2px solid var(--gv-champ);}
.gv-panel .gv-kicker {margin-bottom:14px;}
.gv-panel .gv-checks {margin:0; padding:0; border:0; background:none; grid-template-columns:minmax(0,1fr); gap:12px;}
.gv-panel .gv-checks li {font-size:14px;}
.gv-checks.is-single {grid-template-columns:minmax(0,1fr);}
.gv-numlist {margin:0; padding:0; list-style:none; counter-reset:gvn; display:grid; gap:14px;}
.gv-numlist li {position:relative; padding-left:40px; font-size:14px; line-height:1.62; color:var(--gv-ink-2); counter-increment:gvn;}
.gv-numlist li::before {content:counter(gvn, decimal-leading-zero); position:absolute; left:0; top:-1px; font-family:var(--serif); font-size:14px; font-weight:600; color:var(--gv-champ); font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1;}

/* Pull quote without the expert label (plain side remark) */
.gv-quote.is-plain blockquote p {font-size:clamp(18px,1.5vw,21px);}

/* Numbered requirement / topic rows (h3 + paragraph, verbatim) */
.gv-reqs {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:26px; border-top:1px solid var(--gv-card-line);}
.gv-req {padding:24px 28px 24px 0; border-bottom:1px solid var(--gv-card-line);}
.gv-req:nth-child(even) {padding:24px 0 24px 28px; border-left:1px solid var(--gv-card-line);}
.gv-reqs.is-single {grid-template-columns:minmax(0,1fr);}
.gv-reqs.is-single .gv-req, .gv-reqs.is-single .gv-req:nth-child(even) {padding:22px 0; border-left:0;}
.gv-req-num {display:block; margin-bottom:8px; font-family:var(--serif); font-size:13px; font-weight:600; color:var(--gv-champ); font-variant-numeric:lining-nums; font-feature-settings:"lnum" 1;}
.gv-req h3 {margin:0 0 10px; font-size:18px; font-weight:600; line-height:1.3;}
.gv-req p {margin:0; font-size:14.5px; line-height:1.75; color:var(--gv-ink-2);}
.gv-req p + p {margin-top:10px;}
.gv-req a {color:var(--brand); border-bottom:1px solid rgba(31,95,168,.3);}
.gv-req strong {color:var(--gv-ink); font-weight:600;}

/* Card grids: variable column counts for the master's image/info cards */
.gv-doc-cards.is-2 {grid-template-columns:repeat(2,minmax(0,1fr));}
.gv-doc-cards.is-2 .gv-doc-card img {aspect-ratio:16/8;}
.gv-info-row.is-2 {grid-template-columns:repeat(2,minmax(0,1fr));}
.gv-info-card p + p {margin-top:10px;}
.gv-info-card h3 .gv-sub {display:block; margin-top:4px; font:500 12.5px/1.4 var(--sans); color:var(--gv-ink-3);}

/* Icon tiles (records, document categories) */
.gv-tiles {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:26px 0 0; padding:0; list-style:none;}
.gv-tiles li {display:flex; align-items:flex-start; gap:14px; padding:20px; background:#fff; border:1px solid var(--gv-card-line); font-size:14.5px; line-height:1.55; color:var(--gv-ink);}
.gv-tiles .gv-mini-icon {width:36px; height:36px;}
.gv-tiles .gv-mini-icon svg {width:18px; height:18px;}
.gv-tiles li span:last-child {padding-top:7px;}

/* Two-sided handoff */
.gv-handoff {display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:stretch; gap:0 14px; margin-top:26px;}
.gv-handoff-arrow {align-self:center; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:var(--gv-panel); border:1px solid var(--gv-panel-line); color:var(--brand-deep);}
.gv-handoff-arrow svg {width:20px; height:20px;}

/* Filing windows (annual calendar structure) */
.gv-windows {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:26px;}
.gv-window {display:grid; grid-template-columns:auto minmax(0,1fr); gap:16px; align-items:start; padding:24px; background:var(--gv-panel); border:1px solid var(--gv-panel-line);}
.gv-window .gv-mini-icon {width:48px; height:48px; color:var(--gv-champ); border-color:#e6d9c2;}
.gv-window .gv-mini-icon svg {width:22px; height:22px;}
.gv-window p {margin:0; font-family:var(--serif); font-size:clamp(17px,1.4vw,20px); line-height:1.45; color:var(--gv-ink) !important;}
.gv-window p strong {display:block; margin-bottom:6px; font:700 11px/1.4 var(--sans); letter-spacing:.16em; text-transform:uppercase; color:var(--brand);}
.gv-window-notes {margin:14px 0 0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px 26px;}
.gv-window-notes li {position:relative; padding-left:16px; font-size:13.8px; color:var(--gv-ink-2);}
.gv-window-notes li::before {content:""; position:absolute; left:0; top:.6em; width:6px; height:6px; border-radius:50%; background:var(--gv-champ);}

/* Action panel (service hand-off chapters) */
.gv-action {padding:clamp(28px,3vw,40px); background:var(--gv-panel); border:1px solid var(--gv-panel-line); border-left:2px solid var(--gv-champ);}
.gv-action p {margin:14px 0 0; font-size:15.5px; line-height:1.8; max-width:70ch;}
.gv-action a:not(.gv-btn) {color:var(--brand); border-bottom:1px solid rgba(31,95,168,.3);}
.gv-action .gv-btn {margin-top:24px;}

/* Paired chapters (definitions side by side) */
.gv-pair {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px;}
.gv-pair > .gv-ch {padding:28px 28px 30px; background:#fff; border:1px solid var(--gv-card-line); border-top:2px solid var(--brand);}
.gv-pair > .gv-ch:first-child {border-top-color:var(--gv-champ);}
.gv-pair > .gv-ch h2 {font-size:clamp(22px,1.9vw,27px);}
.gv-pair > .gv-ch p {margin:14px 0 0; font-size:15px; line-height:1.8;}
.gv-article > .gv-pair {padding-top:var(--gv-step);}

/* Premium comparison matrix */
.gv-compare {margin-top:28px; background:#fff; border:1px solid var(--gv-card-line); box-shadow:0 24px 50px -44px rgba(11,30,58,.55);}
.gv-compare table {width:100%; border-collapse:collapse; table-layout:fixed;}
.gv-compare caption {padding:16px 22px; text-align:left; font:700 11px/1.4 var(--sans); letter-spacing:.17em; text-transform:uppercase; color:var(--gv-ink-3); border-bottom:1px solid var(--gv-card-line); background:var(--gv-bg);}
.gv-compare thead th {padding:20px 22px; text-align:left; vertical-align:bottom; font-family:var(--serif); font-size:17px; font-weight:600; line-height:1.3; color:var(--gv-ink); border-bottom:2px solid var(--gv-card-line);}
.gv-compare thead th:first-child {width:24%; font:700 11px/1.4 var(--sans); letter-spacing:.17em; text-transform:uppercase; color:var(--gv-ink-3);}
.gv-compare thead th:nth-child(2) {border-bottom-color:var(--gv-champ);}
.gv-compare thead th:nth-child(3) {border-bottom-color:var(--brand);}
.gv-compare .gv-cmp-head {display:flex; align-items:center; gap:12px;}
.gv-compare .gv-mini-icon {width:36px; height:36px;}
.gv-compare .gv-mini-icon svg {width:18px; height:18px;}
.gv-compare tbody th, .gv-compare tbody td {padding:16px 22px; text-align:left; vertical-align:top; font-size:14.2px; line-height:1.6; border-bottom:1px solid #eef1f5;}
.gv-compare tbody th {font-weight:600; color:var(--gv-ink);}
.gv-compare tbody td {color:var(--gv-ink-2);}
.gv-compare tbody tr:nth-child(even) {background:#fbfaf6;}
.gv-compare tbody tr:last-child th, .gv-compare tbody tr:last-child td {border-bottom:0;}
.gv-cmp-label {display:none;}

/* Two-sided "fit" cards */
.gv-vs {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:26px;}
.gv-vs-card {padding:26px 26px 28px; background:#fff; border:1px solid var(--gv-card-line); border-top:2px solid var(--gv-champ);}
.gv-vs-card + .gv-vs-card {border-top-color:var(--brand);}
.gv-vs-card h3 {display:flex; align-items:center; gap:12px; margin:0 0 16px; font-size:18px; font-weight:600; line-height:1.3;}
.gv-vs-card .gv-checks {margin:0; padding:0; border:0; background:none; grid-template-columns:minmax(0,1fr); gap:12px;}

/* Related grids with 3 or 4 cards: image on top */
.gv-related-grid.is-3, .gv-related-grid.is-4 {max-width:none;}
.gv-related-grid.is-3 {grid-template-columns:repeat(3,minmax(0,1fr));}
.gv-related-grid.is-4 {grid-template-columns:repeat(4,minmax(0,1fr));}
.gv-related-grid.is-3 .gv-related-card, .gv-related-grid.is-4 .gv-related-card {grid-template-columns:minmax(0,1fr); grid-template-rows:auto 1fr;}
.gv-related-grid.is-3 .gv-related-card img, .gv-related-grid.is-4 .gv-related-card img {aspect-ratio:16/9; height:auto; min-height:0;}

/* Steps: 4-column variant for shorter sequences */
.gv-steps.is-4 {grid-template-columns:repeat(4,minmax(0,1fr));}

/* FAQ practical note under the accordion */
.gv-faq .gv-ask {margin-top:22px;}

@media (max-width:1240px) {
  .gv-steps.is-4 {grid-template-columns:repeat(2,minmax(0,1fr));}
  .gv-steps.is-4 li:nth-child(3)::after, .gv-steps.is-4 li:nth-child(3)::before {display:block;}
  .gv-steps.is-4 li:nth-child(2)::after, .gv-steps.is-4 li:nth-child(2)::before {display:none;}
  .gv-reqs {grid-template-columns:minmax(0,1fr);}
  .gv-req, .gv-req:nth-child(even) {padding:22px 0; border-left:0;}
  .gv-tiles {grid-template-columns:repeat(2,minmax(0,1fr));}
  .gv-related-grid.is-4 {grid-template-columns:repeat(2,minmax(0,1fr));}
  .gv-compare thead th:first-child {width:28%;}
}
@media (max-width:960px) {
  .gv-pair, .gv-vs, .gv-windows {grid-template-columns:minmax(0,1fr);}
  .gv-handoff {grid-template-columns:minmax(0,1fr); gap:12px;}
  .gv-handoff-arrow {justify-self:center; transform:rotate(90deg);}
  .gv-related-grid.is-3 {grid-template-columns:minmax(0,1fr);}
  .gv-related-grid.is-3 .gv-related-card, .gv-related-grid.is-4 .gv-related-card {grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); grid-template-rows:none;}
  .gv-related-grid.is-3 .gv-related-card img, .gv-related-grid.is-4 .gv-related-card img {aspect-ratio:auto; height:100%;}
  .gv-related-grid.is-4 {grid-template-columns:minmax(0,1fr);}
}
@media (max-width:760px) {
  /* comparison matrix becomes one card per decision area */
  .gv-compare {border:0; background:none; box-shadow:none;}
  .gv-compare caption {display:block; border:1px solid var(--gv-card-line); border-bottom:0;}
  .gv-compare table, .gv-compare tbody, .gv-compare tr, .gv-compare tbody th, .gv-compare tbody td {display:block; width:auto;}
  .gv-compare thead {position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
  .gv-compare tbody tr {margin-top:12px; background:#fff !important; border:1px solid var(--gv-card-line);}
  .gv-compare tbody th {padding:14px 16px; font-family:var(--serif); font-size:16px; border-bottom:1px solid var(--gv-card-line);}
  .gv-compare tbody td {padding:12px 16px; border-bottom:1px solid #eef1f5;}
  .gv-compare tbody td:last-child {border-bottom:0;}
  .gv-cmp-label {display:block; margin-bottom:4px; font:700 10.5px/1.4 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--gv-champ);}
  .gv-compare tbody td + td .gv-cmp-label {color:var(--brand);}
}
@media (max-width:640px) {
  .gv-tiles {grid-template-columns:minmax(0,1fr);}
  .gv-doc-cards.is-2 {grid-template-columns:minmax(0,1fr);}
  .gv-doc-cards.is-2 .gv-doc-card:last-child {grid-column:auto;}
  .gv-info-row.is-2 {grid-template-columns:minmax(0,1fr);}
  .gv-steps.is-4 {grid-template-columns:minmax(0,1fr);}
  .gv-steps.is-4 li:nth-child(2)::after {display:block;}
  .gv-pair > .gv-ch {padding:22px 20px 24px;}
  .gv-window {padding:20px;}
  .gv-related-grid.is-3 .gv-related-card, .gv-related-grid.is-4 .gv-related-card {grid-template-columns:minmax(0,1fr);}
  .gv-related-grid.is-3 .gv-related-card img, .gv-related-grid.is-4 .gv-related-card img {aspect-ratio:16/9; height:auto;}
}

/* Paragraph rhythm for copy placed directly in a chapter (outside the main/side grid) */
.gv-ch > p:not(.gv-ch-num), .gv-measure {margin:18px 0 0; max-width:66ch; font-size:15.5px; line-height:1.82; color:var(--gv-ink-2);}
.gv-ch > p.gv-standfirst {max-width:62ch;}
.gv-after-panel {margin-top:28px !important;}
.gv-after-head {margin-top:22px;}
.gv-ch-side .gv-callout-side {margin-top:6px;}
.gv-ch > .gv-callout, .gv-ch > .gv-checks, .gv-ch > .gv-ask {max-width:none;}
.gv-panel > p:not(.gv-kicker) {margin:0; font-size:14px; line-height:1.72; color:var(--gv-ink-2);}
.gv-panel > p strong {color:var(--gv-ink);}
ul.gv-windows {list-style:none; padding:0; margin:26px 0 0;}
.gv-decision-rows.is-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.gv-decision-rows.is-grid li {border-top:1px solid var(--gv-panel-line);}
.gv-decision-rows.is-grid li:nth-child(-n+2) {border-top:0;}
.gv-decision-rows.is-grid li:nth-child(even) {border-left:1px solid var(--gv-panel-line);}
.gv-process-head:has(> .gv-kicker:only-child) .gv-kicker {margin:0;}
.gv-process-head:has(> .gv-kicker:only-child) + .gv-steps {margin-top:24px;}
.gv-info-card > p:first-of-type strong {color:var(--gv-ink);}
.gv-action h2 {margin:0;}
@media (max-width:640px) {
  .gv-decision-rows.is-grid {grid-template-columns:minmax(0,1fr);}
  .gv-decision-rows.is-grid li:nth-child(2) {border-top:1px solid var(--gv-panel-line);}
  .gv-decision-rows.is-grid li:nth-child(even) {border-left:0;}
}
/* long action-button labels wrap on narrow screens instead of widening the column */
@media (max-width:640px) {.gv-action .gv-btn {white-space:normal; max-width:100%; justify-content:space-between; text-align:left;}}
