/* Xv3 content architecture layer
   Preserves the Xv2 editorial/rounded visual language while making the
   content system outcome-led, 12-column, and easier to scan. */

:root{
  --sv3-gap:clamp(18px,2vw,28px);
  --sv3-rule:rgba(1,33,82,.13);
  --sv3-rule-dark:rgba(255,255,255,.16);
}

.xv2 .sv3-proof-strip{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;
  padding:26px 0;color:#fff;
}
.xv2 .sv3-proof-strip>div{grid-column:span 3;padding:4px 24px;border-left:1px solid rgba(255,255,255,.14)}
.xv2 .sv3-proof-strip>div:first-child{border-left:0;padding-left:0}
.xv2 .sv3-proof-strip b{display:block;color:#fff;font-size:1rem}
.xv2 .sv3-proof-strip span{display:block;margin-top:5px;color:rgba(255,255,255,.62);font-size:.78rem}

.xv2 .sv3-pressure-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap);margin-top:8px}
.xv2 .sv3-pressure-grid article{grid-column:span 4;padding-top:22px;border-top:1px solid var(--sv3-rule)}
.xv2 .sv3-pressure-grid strong{display:block;font-family:var(--xv2-serif);font-size:clamp(3.5rem,7vw,7rem);font-weight:400;line-height:.9;color:var(--xv2-blue)}
.xv2 .sv3-pressure-grid span{display:block;max-width:21ch;margin-top:14px;color:var(--xv2-ink);font-weight:700}
.xv2 .sv3-source{margin-top:28px}

.xv2 .sv3-problem-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap)}
.xv2 .sv3-problem{grid-column:span 4;min-height:280px;padding:clamp(24px,2.5vw,36px);border:1px solid var(--sv3-rule);border-radius:var(--xv2-radius-sm);background:#fff;display:flex;flex-direction:column}
.xv2 .sv3-problem .label{margin-bottom:auto;padding-bottom:30px}
.xv2 .sv3-problem h3{max-width:15ch;color:var(--xv2-ink)}
.xv2 .sv3-problem p{margin-top:16px}
.xv2 .sv3-inline-cta{margin-top:34px;display:flex;justify-content:flex-start}

.xv2 .sv3-service-rows{border-top:1px solid var(--sv3-rule)}
.xv2 .sv3-service-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap);align-items:start;padding:clamp(34px,4.2vw,58px) 0;border-bottom:1px solid var(--sv3-rule)}
.xv2 .sv3-service-num{grid-column:span 1;color:var(--xv2-blue);font-size:.76rem;font-weight:800;letter-spacing:.1em}
.xv2 .sv3-service-main{grid-column:2/span 6}
.xv2 .sv3-service-main h3{max-width:18ch}
.xv2 .sv3-service-main p{max-width:58ch;margin-top:14px}
.xv2 .sv3-service-list{grid-column:9/span 4;display:grid;gap:10px}
.xv2 .sv3-service-list li{position:relative;padding-left:18px;color:var(--xv2-muted);font-size:.9rem}
.xv2 .sv3-service-list li::before{content:"";position:absolute;left:0;top:.75em;width:7px;height:7px;border-radius:50%;background:var(--xv2-green)}

.xv2 .band-ink .sv3-service-rows,.xv2 .band-blue .sv3-service-rows{border-color:var(--sv3-rule-dark)}
.xv2 .band-ink .sv3-service-row,.xv2 .band-blue .sv3-service-row{border-color:var(--sv3-rule-dark)}
.xv2 .band-ink .sv3-service-main h3,.xv2 .band-blue .sv3-service-main h3{color:#fff}
.xv2 .band-ink .sv3-service-num,.xv2 .band-blue .sv3-service-num{color:var(--xv2-lime)}

.xv2 .sv3-cause-chain{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border-top:1px solid var(--sv3-rule-dark);border-bottom:1px solid var(--sv3-rule-dark)}
.xv2 .sv3-cause-chain li{grid-column:span 12;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap);align-items:center;padding:22px 0;border-top:1px solid var(--sv3-rule-dark)}
.xv2 .sv3-cause-chain li:first-child{border-top:0}
.xv2 .sv3-cause-chain span{grid-column:span 1;color:var(--xv2-lime);font-size:.72rem;font-weight:800;letter-spacing:.1em}
.xv2 .sv3-cause-chain b{grid-column:2/span 10;color:#fff;font-family:var(--xv2-serif);font-size:clamp(1.45rem,2.5vw,2.6rem);font-weight:400;line-height:1.04}
.xv2 .sv3-chain-note{max-width:52rem;margin-top:34px}

.xv2 .sv3-case-composition{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap)}
.xv2 .sv3-case{grid-column:span 4;min-height:380px;padding:clamp(26px,3vw,40px);border-radius:var(--xv2-radius-sm);background:var(--xv2-pale);display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.xv2 .sv3-case--lead{grid-column:span 6;background:var(--xv2-navy);color:#fff}
.xv2 .sv3-case--lead+.sv3-case{grid-column:span 3}
.xv2 .sv3-case--lead~.sv3-case{grid-column:span 3}
.xv2 .sv3-case:hover{transform:translateY(-4px);box-shadow:var(--xv2-shadow)}
.xv2 .sv3-case h3{margin-top:28px}
.xv2 .sv3-case p{margin-top:14px}
.xv2 .sv3-case .sv3-result{font-family:var(--xv2-serif);font-size:clamp(2rem,4vw,4rem);line-height:.95;color:#fff}
.xv2 .sv3-case--lead .label{color:var(--xv2-lime)}
.xv2 .sv3-case--lead h3,.xv2 .sv3-case--lead p{color:#fff}
.xv2 .sv3-link{margin-top:auto;padding-top:34px;font-size:.76rem;font-weight:800;letter-spacing:.05em;color:var(--xv2-blue)}
.xv2 .sv3-case--lead .sv3-link{color:var(--xv2-lime)}

.xv2 .sv3-steps,.xv2 .sv3-method{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;border-top:1px solid var(--sv3-rule)}
.xv2 .sv3-steps article{grid-column:span 3;padding:28px 26px 0 0;border-right:1px solid var(--sv3-rule)}
.xv2 .sv3-steps article+article{padding-left:26px}
.xv2 .sv3-steps article:last-child{border-right:0}
.xv2 .sv3-steps span,.xv2 .sv3-method span,.xv2 .sv3-change-list>article>span{display:block;color:var(--xv2-blue);font-size:.72rem;font-weight:800;letter-spacing:.1em}
.xv2 .sv3-steps h3{margin-top:26px}
.xv2 .sv3-steps p{margin-top:10px}

.xv2 .sv3-method{row-gap:40px}
.xv2 .sv3-method article{grid-column:span 4;padding:28px 34px 0 0;border-top:1px solid transparent}
.xv2 .sv3-method h3{margin-top:20px;color:inherit;font-family:var(--xv2-serif);font-size:clamp(1.5rem,2.2vw,2.3rem);font-weight:400;line-height:1.04}
.xv2 .sv3-method p{margin-top:10px}
.xv2 .band-ink .sv3-method,.xv2 .band-blue .sv3-method{border-color:var(--sv3-rule-dark)}
.xv2 .band-ink .sv3-method span,.xv2 .band-blue .sv3-method span{color:var(--xv2-lime)}
.xv2 .band-ink .sv3-method h3,.xv2 .band-blue .sv3-method h3{color:#fff}

.xv2 .sv3-support,.xv2 .sv3-decision,.xv2 .sv3-recognition,.xv2 .sv3-education,.xv2 .sv3-direct,.xv2 .sv3-report{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap);align-items:start}
.xv2 .sv3-support>div:first-child,.xv2 .sv3-decision>div,.xv2 .sv3-recognition>div,.xv2 .sv3-education>div,.xv2 .sv3-direct>div:first-child,.xv2 .sv3-report>div{grid-column:span 5}
.xv2 .sv3-support>div:last-child,.xv2 .sv3-decision>p,.xv2 .sv3-recognition>ul,.xv2 .sv3-education>ul,.xv2 .sv3-direct>div:last-child,.xv2 .sv3-report>ol{grid-column:7/span 6}
.xv2 .sv3-support h2,.xv2 .sv3-decision h2,.xv2 .sv3-recognition h2,.xv2 .sv3-education h2,.xv2 .sv3-direct h2,.xv2 .sv3-report h2{margin-top:16px}
.xv2 .sv3-text-link{display:inline-block;margin-top:18px;color:var(--xv2-blue);font-weight:800}

.xv2 .sv3-cta .t-impact{margin-top:18px;color:#fff;max-width:14ch}
.xv2 .sv3-cta .lead{max-width:50rem;margin-top:22px}
.xv2 .sv3-cta .button-row{margin-top:30px}

.xv2 .sv3-history{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap)}
.xv2 .sv3-history article{grid-column:span 4;padding-top:24px;border-top:1px solid var(--sv3-rule)}
.xv2 .sv3-history h3{margin-top:20px}.xv2 .sv3-history p{margin-top:12px}

.xv2 .sv3-bullet-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap)}
.xv2 .sv3-bullet-grid article{grid-column:span 6;padding:clamp(28px,3vw,42px);border:1px solid var(--sv3-rule);border-radius:var(--xv2-radius-sm)}
.xv2 .sv3-bullet-grid h3{font-family:var(--xv2-serif);font-size:clamp(1.8rem,3vw,3rem);font-weight:400}
.xv2 .sv3-bullet-grid ul{display:grid;gap:14px;margin-top:24px}
.xv2 .sv3-bullet-grid li{padding-top:14px;border-top:1px solid var(--sv3-rule);color:var(--xv2-muted)}

.xv2 .sv3-change-list{border-top:1px solid var(--sv3-rule)}
.xv2 .sv3-change-list article{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap);padding:34px 0;border-bottom:1px solid var(--sv3-rule)}
.xv2 .sv3-change-list article>span{grid-column:span 1}
.xv2 .sv3-change-list article>h3{grid-column:2/span 5;font-family:var(--xv2-serif);font-size:clamp(1.6rem,2.7vw,2.8rem);font-weight:400;line-height:1.03}
.xv2 .sv3-change-list article>p{grid-column:8/span 5}

.xv2 .sv3-outcomes,.xv2 .sv3-review-scope{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap)}
.xv2 .sv3-outcomes span{grid-column:span 3;padding:22px 0;border-top:1px solid var(--sv3-rule-dark);color:#fff;font-weight:700}

.xv2 .sv3-quote{max-width:24ch;margin:20px 0 0;font-family:var(--xv2-serif);font-size:clamp(2.5rem,5vw,5.5rem);line-height:.94;color:var(--xv2-blue)}

.xv2 .sv3-metrics{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap)}
.xv2 .sv3-metrics article{grid-column:span 3;border-top:1px solid var(--sv3-rule-dark);padding-top:20px}
.xv2 .sv3-metrics strong{display:block;font-family:var(--xv2-serif);font-size:clamp(3rem,6vw,6rem);font-weight:400;line-height:.88;color:#fff}
.xv2 .sv3-metrics span{display:block;margin-top:12px;color:rgba(255,255,255,.7)}

.xv2 .sv3-article-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap)}
.xv2 .sv3-article-grid>a{grid-column:span 4;min-height:390px;padding:clamp(26px,3vw,38px);border-radius:var(--xv2-radius-sm);background:var(--xv2-pale);display:flex;flex-direction:column}
.xv2 .sv3-article-grid h2{margin-top:26px;color:var(--xv2-ink)}
.xv2 .sv3-article-grid p{margin-top:14px}
.xv2 .sv3-article-grid>a>span:last-child{margin-top:auto;padding-top:30px;color:var(--xv2-blue);font-weight:800;font-size:.78rem}

.xv2 .sv3-question-cloud{max-width:1100px}
.xv2 .sv3-question-cloud>div{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}
.xv2 .sv3-question-cloud>div span{padding:12px 16px;border:1px solid var(--sv3-rule);border-radius:999px;background:#fff;color:var(--xv2-ink);font-size:.86rem;font-weight:700}

.xv2 .sv3-prose strong{color:var(--xv2-ink)}
.xv2 .sv3-prose ul,.xv2 .sv3-prose ol{display:grid;gap:10px;margin:20px 0 28px;padding-left:1.2rem}
.xv2 .sv3-prose ul{list-style:disc}.xv2 .sv3-prose ol{list-style:decimal}
.xv2 .sv3-prose li{padding-left:6px;color:var(--xv2-muted)}
.xv2 .sv3-mini-table{margin:28px 0;border-top:1px solid var(--sv3-rule)}
.xv2 .sv3-mini-table>div{display:grid;grid-template-columns:1fr 2fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--sv3-rule)}
.xv2 .sv3-mini-table b{color:var(--xv2-ink)}

.xv2 .sv3-why-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap)}
.xv2 .sv3-why-grid article{grid-column:span 3;padding-top:22px;border-top:1px solid var(--sv3-rule)}
.xv2 .sv3-why-grid b{font-family:var(--xv2-serif);font-size:clamp(1.8rem,3vw,3rem);font-weight:400;color:var(--xv2-blue)}
.xv2 .sv3-why-grid p{margin-top:12px}

.xv2 .sv3-timeline{border-top:1px solid var(--sv3-rule-dark)}
.xv2 .sv3-timeline article{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap);padding:28px 0;border-bottom:1px solid var(--sv3-rule-dark)}
.xv2 .sv3-timeline span{grid-column:span 2;color:var(--xv2-lime);font-weight:800}
.xv2 .sv3-timeline h3{grid-column:3/span 4;color:#fff;font-family:var(--xv2-serif);font-size:clamp(1.45rem,2.4vw,2.5rem);font-weight:400}
.xv2 .sv3-timeline p{grid-column:8/span 5}

.xv2 .sv3-recognition li,.xv2 .sv3-education li,.xv2 .sv3-report li{padding:13px 0;border-top:1px solid var(--sv3-rule);color:var(--xv2-muted)}
.xv2 .band-ink .sv3-education li,.xv2 .band-ink .sv3-report li{border-color:var(--sv3-rule-dark);color:rgba(255,255,255,.75)}
.xv2 .band-ink .sv3-education h2,.xv2 .band-ink .sv3-report h2{color:#fff}

.xv2 .sv3-summary{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.xv2 .sv3-summary .lead{grid-column:1/span 8}
.xv2 .sv3-roles{border-top:1px solid var(--sv3-rule)}
.xv2 .sv3-role{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap);padding:34px 0;border-bottom:1px solid var(--sv3-rule)}
.xv2 .sv3-role>div{grid-column:span 6}.xv2 .sv3-role>ul{grid-column:8/span 5;display:grid;gap:8px}
.xv2 .sv3-role h3{margin-top:16px}.xv2 .sv3-role li{position:relative;padding-left:16px;color:var(--xv2-muted)}
.xv2 .sv3-role li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--xv2-green)}

.xv2 .sv3-review-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sv3-gap);align-items:start}
.xv2 .sv3-review-choices{grid-column:span 7;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.xv2 .sv3-review-choices button{min-height:180px;padding:24px;border:1px solid var(--sv3-rule);border-radius:var(--xv2-radius-sm);text-align:left;background:#fff;transition:border-color .25s ease,transform .25s ease,background .25s ease}
.xv2 .sv3-review-choices button:hover,.xv2 .sv3-review-choices button:focus-visible{border-color:var(--xv2-green);background:var(--accent-soft);transform:translateY(-2px)}
.xv2 .sv3-review-choices button span{display:block;color:var(--xv2-blue);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.xv2 .sv3-review-choices button b{display:block;margin-top:18px;color:var(--xv2-ink);font-family:var(--xv2-serif);font-size:1.5rem;font-weight:400;line-height:1.05}
.xv2 .sv3-review-choices button small{display:block;margin-top:12px;color:var(--xv2-muted);font-size:.78rem;line-height:1.5}
.xv2 .sv3-review-input{grid-column:9/span 4;position:sticky;top:30px;padding:28px;border-radius:var(--xv2-radius-sm);background:var(--xv2-navy);color:#fff}
.xv2 .sv3-review-input label{display:block;font-family:var(--xv2-serif);font-size:1.5rem;line-height:1.08}
.xv2 .sv3-review-input textarea{width:100%;margin-top:20px;padding:16px;border:1px solid rgba(255,255,255,.24);border-radius:14px;resize:vertical;background:rgba(255,255,255,.08);color:#fff;outline:none}
.xv2 .sv3-review-input textarea::placeholder{color:rgba(255,255,255,.42)}
.xv2 .sv3-review-input .button{margin-top:14px;width:100%}
.xv2 .sv3-review-input .small{margin-top:14px;color:rgba(255,255,255,.58)}

.xv2 .sv3-review-scope span{grid-column:span 4;padding:24px;border-top:1px solid var(--sv3-rule);font-family:var(--xv2-serif);font-size:clamp(1.35rem,2.2vw,2.2rem);line-height:1.05}
.xv2 .sv3-direct>div:last-child{display:grid;gap:10px}.xv2 .sv3-direct a{color:var(--xv2-blue);font-weight:800}

@media (max-width:980px){
  .xv2 .sv3-proof-strip>div{grid-column:span 6;border-left:0;border-top:1px solid rgba(255,255,255,.14);padding:18px 0}.xv2 .sv3-proof-strip>div:nth-child(-n+2){border-top:0}
  .xv2 .sv3-problem{grid-column:span 6}
  .xv2 .sv3-service-main{grid-column:2/span 7}.xv2 .sv3-service-list{grid-column:9/span 4}
  .xv2 .sv3-case--lead{grid-column:span 12;min-height:340px}.xv2 .sv3-case--lead+.sv3-case,.xv2 .sv3-case--lead~.sv3-case{grid-column:span 6}
  .xv2 .sv3-steps article{grid-column:span 6;border-right:0;border-top:1px solid var(--sv3-rule);padding:24px 22px 24px 0}.xv2 .sv3-steps article+article{padding-left:0}
  .xv2 .sv3-method article{grid-column:span 6}
  .xv2 .sv3-history article,.xv2 .sv3-article-grid>a{grid-column:span 6}.xv2 .sv3-history article:last-child,.xv2 .sv3-article-grid>a:last-child{grid-column:span 12}
  .xv2 .sv3-metrics article,.xv2 .sv3-outcomes span,.xv2 .sv3-why-grid article{grid-column:span 6}
  .xv2 .sv3-review-choices{grid-column:span 12}.xv2 .sv3-review-input{grid-column:span 12;position:static}
}

@media (max-width:720px){
  .xv2 .sv3-pressure-grid article,.xv2 .sv3-problem,.xv2 .sv3-history article,.xv2 .sv3-article-grid>a,.xv2 .sv3-bullet-grid article,.xv2 .sv3-metrics article,.xv2 .sv3-outcomes span,.xv2 .sv3-why-grid article,.xv2 .sv3-review-scope span{grid-column:span 12}
  .xv2 .sv3-service-row{gap:14px}.xv2 .sv3-service-num{grid-column:span 12}.xv2 .sv3-service-main{grid-column:span 12}.xv2 .sv3-service-list{grid-column:span 12;margin-top:8px}
  .xv2 .sv3-cause-chain span{grid-column:span 2}.xv2 .sv3-cause-chain b{grid-column:3/span 10}
  .xv2 .sv3-case--lead+.sv3-case,.xv2 .sv3-case--lead~.sv3-case{grid-column:span 12}
  .xv2 .sv3-steps article,.xv2 .sv3-method article{grid-column:span 12}
  .xv2 .sv3-support>div:first-child,.xv2 .sv3-decision>div,.xv2 .sv3-recognition>div,.xv2 .sv3-education>div,.xv2 .sv3-direct>div:first-child,.xv2 .sv3-report>div,.xv2 .sv3-support>div:last-child,.xv2 .sv3-decision>p,.xv2 .sv3-recognition>ul,.xv2 .sv3-education>ul,.xv2 .sv3-direct>div:last-child,.xv2 .sv3-report>ol{grid-column:span 12}
  .xv2 .sv3-change-list article>span{grid-column:span 2}.xv2 .sv3-change-list article>h3{grid-column:3/span 10}.xv2 .sv3-change-list article>p{grid-column:3/span 10;margin-top:4px}
  .xv2 .sv3-timeline span{grid-column:span 12}.xv2 .sv3-timeline h3{grid-column:span 12}.xv2 .sv3-timeline p{grid-column:span 12}
  .xv2 .sv3-summary .lead{grid-column:span 12}
  .xv2 .sv3-role>div,.xv2 .sv3-role>ul{grid-column:span 12}.xv2 .sv3-role>ul{margin-top:8px}
  .xv2 .sv3-review-choices{grid-template-columns:1fr}
  .xv2 .sv3-mini-table>div{grid-template-columns:1fr;gap:6px}
}

/* ========================================================================
   Xv3.2 — BPdots Unicase number system + density corrections
   Numbers act as visual anchors; copy keeps the existing editorial type.
   ======================================================================== */

@font-face{
  font-family:"BPdots Unicase";
  src:url("fonts/bpdots.unicase.otf") format("opentype");
  font-style:normal;
  font-weight:100;
  font-display:swap;
}
:root{
  --sv3-number-font:"BPdots Unicase",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}

/* Standalone numeric anchors only — years/dates inside body copy stay in the
   reading typeface. */
.xv2 :is(
  .sv3-service-num,
  .sv3-steps>article>span,
  .sv3-method>article>span,
  .sv3-change-list>article>span,
  .sv3-cause-chain>li>span,
  .sv3-timeline>article>span,
  .sv3-pressure-grid strong,
  .sv3-metrics strong,
  .sv3-profile-hero-stat strong,
  .metric-figure,
  .si-figure
){
  font-family:var(--sv3-number-font);
  font-weight:100;
  font-style:normal;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.075em;
}

/* Services: let the number own two tracks so BPdots Unicase can be genuinely large. */
.xv2 .sv3-service-num{
  grid-column:span 2;
  font-size:clamp(4.25rem,6.6vw,7.75rem);
  line-height:.72;
  letter-spacing:-.11em;
}
.xv2 .sv3-service-main{grid-column:3/span 5}
.xv2 .sv3-service-list{grid-column:9/span 4}

/* Process numbers become part of the composition rather than tiny labels. */
.xv2 .sv3-steps>article>span{
  font-size:clamp(3.8rem,5.4vw,6.25rem);
  line-height:.72;
}
.xv2 .sv3-steps h3{margin-top:18px}

.xv2 .sv3-method{row-gap:clamp(48px,6vw,86px)}
.xv2 .sv3-method>article>span{
  font-size:clamp(4.5rem,7vw,8rem);
  line-height:.7;
}
.xv2 .sv3-method h3{margin-top:18px}
/* Five-step layouts resolve as 3 + 2 balanced rows, never 3 + 2 + an empty cell. */
.xv2 .sv3-method--five>article:nth-child(4),
.xv2 .sv3-method--five>article:nth-child(5){grid-column:span 6}

.xv2 .sv3-cause-chain>li>span{
  grid-column:span 2;
  font-size:clamp(3.5rem,5.2vw,6rem);
  line-height:.72;
}
.xv2 .sv3-cause-chain>li>b{grid-column:3/span 9}

.xv2 .sv3-change-list>article>span{
  grid-column:span 2;
  font-size:clamp(4rem,6vw,7rem);
  line-height:.7;
}
.xv2 .sv3-change-list>article>h3{grid-column:3/span 5;align-self:center}
.xv2 .sv3-change-list>article>p{grid-column:9/span 4;align-self:center}

.xv2 .sv3-pressure-grid strong{
  font-size:clamp(5rem,8vw,9rem);
  line-height:.7;
}
.xv2 .sv3-metrics strong{
  font-size:clamp(4.5rem,7vw,8rem);
  line-height:.7;
}

.xv2 .sv3-timeline>article{align-items:center}
.xv2 .sv3-timeline>article>span{
  grid-column:span 3;
  font-size:clamp(3.6rem,5.5vw,6.4rem);
  line-height:.72;
  letter-spacing:-.09em;
}
.xv2 .sv3-timeline>article>h3{grid-column:4/span 4}
.xv2 .sv3-timeline>article>p{grid-column:9/span 4}

/* About hero: use the previously dead right-hand space as one meaningful
   typographic object instead of leaving a small card stranded at the bottom. */
.xv2 .sv3-profile-hero .page-hero-grid{align-items:stretch}
.xv2 .sv3-profile-hero .page-hero-grid>div:first-child{align-self:center}
.xv2 .sv3-profile-hero-aside{
  min-height:100%;
  display:flex!important;
  flex-direction:column;
  justify-content:space-between;
  gap:clamp(36px,5vw,72px)!important;
}
.xv2 .sv3-profile-hero-stat strong{
  display:block;
  margin-left:-.06em;
  font-size:clamp(7rem,11.5vw,13.5rem);
  line-height:.62;
  color:var(--xv2-lime);
}
.xv2 .sv3-profile-hero-stat p{
  max-width:18ch;
  margin-top:clamp(24px,3vw,42px);
  font-size:clamp(1rem,1.15vw,1.25rem)!important;
  line-height:1.35;
  color:#fff!important;
}
.xv2 .sv3-profile-hero-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.18);
}
.xv2 .sv3-profile-hero-meta .h-ui{color:rgba(255,255,255,.6)!important}
.xv2 .sv3-profile-hero-meta p:last-child{color:#fff!important}

@media (max-width:980px){
  .xv2 .sv3-service-num{grid-column:span 2}
  .xv2 .sv3-service-main{grid-column:3/span 6}
  .xv2 .sv3-service-list{grid-column:9/span 4}
  .xv2 .sv3-method--five>article:nth-child(4),
  .xv2 .sv3-method--five>article:nth-child(5){grid-column:span 6}
  .xv2 .sv3-timeline>article>span{grid-column:span 4}
  .xv2 .sv3-timeline>article>h3{grid-column:5/span 8}
  .xv2 .sv3-timeline>article>p{grid-column:5/span 8;margin-top:6px}
}

@media (max-width:720px){
  .xv2 .sv3-service-num,
  .xv2 .sv3-service-main,
  .xv2 .sv3-service-list{grid-column:span 12}
  .xv2 .sv3-service-num{font-size:clamp(4rem,22vw,6.2rem);margin-bottom:8px}

  .xv2 .sv3-method--five>article:nth-child(4),
  .xv2 .sv3-method--five>article:nth-child(5){grid-column:span 12}

  .xv2 .sv3-cause-chain>li>span,
  .xv2 .sv3-cause-chain>li>b{grid-column:span 12}
  .xv2 .sv3-cause-chain>li>b{margin-top:10px}

  .xv2 .sv3-change-list>article>span,
  .xv2 .sv3-change-list>article>h3,
  .xv2 .sv3-change-list>article>p{grid-column:span 12}
  .xv2 .sv3-change-list>article>h3{margin-top:16px}
  .xv2 .sv3-change-list>article>p{margin-top:10px}

  .xv2 .sv3-timeline>article>span,
  .xv2 .sv3-timeline>article>h3,
  .xv2 .sv3-timeline>article>p{grid-column:span 12}
  .xv2 .sv3-timeline>article>h3{margin-top:14px}
  .xv2 .sv3-timeline>article>p{margin-top:10px}

  .xv2 .sv3-profile-hero-aside{min-height:0}
  .xv2 .sv3-profile-hero-stat strong{font-size:clamp(7rem,36vw,10.5rem)}
  .xv2 .sv3-profile-hero-meta{grid-template-columns:1fr 1fr}
}

@media (max-width:460px){
  .xv2 .sv3-profile-hero-meta{grid-template-columns:1fr}
}

@media (min-width:721px) and (max-width:980px){
  /* Five items at tablet width become 2 + 2 + 1 full-width, not a half-empty row. */
  .xv2 .sv3-method--five>article:nth-child(-n+4){grid-column:span 6}
  .xv2 .sv3-method--five>article:nth-child(5){grid-column:span 12}
}

/* ========================================================================
   Xv3.3 — Editorial title/support composition
   The title and its explanation share one desktop row. Hero descriptions
   live in the right column with supporting facts instead of below the title.
   ======================================================================== */
@media (min-width:1024px){
  body.baseline-editorial .section-head{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    column-gap:var(--grid-gap,clamp(18px,2vw,32px))!important;
    align-items:start!important;
  }
  body.baseline-editorial .section-head>div:first-child{
    grid-column:1 / span 8!important;
    grid-row:1!important;
    align-self:start!important;
    min-width:0;
  }
  body.baseline-editorial .section-head>p:last-child{
    grid-column:9 / -1!important;
    grid-row:1!important;
    align-self:start!important;
    margin-top:clamp(38px,3.1vw,58px)!important;
    max-width:42ch!important;
  }

  body.baseline-editorial main:not(.home-v28) .page-hero-grid{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    column-gap:var(--grid-gap,clamp(18px,2vw,32px))!important;
    align-items:start!important;
  }
  body.baseline-editorial main:not(.home-v28) .page-hero-title{
    grid-column:1 / span 8!important;
    grid-row:1!important;
    align-self:start!important;
    min-width:0;
  }
  body.baseline-editorial main:not(.home-v28) .page-hero-support{
    grid-column:9 / -1!important;
    grid-row:1!important;
    align-self:start!important;
    display:flex!important;
    flex-direction:column;
    gap:clamp(24px,2.5vw,40px);
    padding-top:clamp(40px,3.5vw,64px);
    min-width:0;
  }
  body.baseline-editorial main:not(.home-v28) .page-hero-support>.lead{
    margin:0!important;
    max-width:42ch!important;
  }
  body.baseline-editorial main:not(.home-v28) .page-hero-support>.page-hero-aside{
    align-self:stretch!important;
    margin:0!important;
    min-height:0;
  }

  /* Profile hero retains the large BPdots 14+ statement, but it now follows
     the explanatory copy in the same right-side support column. */
  body.baseline-editorial .xv2 .sv3-profile-hero .page-hero-grid{align-items:start!important}
  body.baseline-editorial .xv2 .sv3-profile-hero .page-hero-title{align-self:start!important}
  body.baseline-editorial .xv2 .sv3-profile-hero .sv3-profile-hero-aside{
    min-height:0!important;
    gap:clamp(28px,3vw,48px)!important;
  }
  body.baseline-editorial .xv2 .sv3-profile-hero .sv3-profile-hero-stat strong{
    font-size:clamp(6.5rem,8vw,10rem);
  }
}

@media (max-width:1023px){
  body.baseline-editorial main:not(.home-v28) .page-hero-support{
    display:flex;
    flex-direction:column;
    gap:24px;
  }
  body.baseline-editorial main:not(.home-v28) .page-hero-support>.lead{margin:0!important}
}

/* v3.8 — single closing CTA: only the image-led footer remains. */
body.baseline-editorial .footer-cta .t-impact,
.xv2 .footer-cta .t-impact{
  line-height:.82;
  letter-spacing:-.025em;
  text-wrap:balance;
}

@media (max-width:760px){
  body.baseline-editorial .footer-cta .t-impact,
  .xv2 .footer-cta .t-impact{
    line-height:.88;
  }
}
