/* Site V2: layouts are scoped to new sections. Hero and #fonctionnement are untouched. */
.v2-section { padding-block: clamp(64px, 8vw, 112px); }
.v2-surface { background: var(--surface); border-block: 1px solid var(--line-soft); }
.v2-section h2 { font-size: clamp(28px, 3.2vw, 44px); line-height: 1.13; letter-spacing: -.035em; max-width: 23ch; }
.v2-section h3 { font-size: clamp(17px, 1.65vw, 21px); line-height: 1.3; letter-spacing: -.02em; margin: 0 0 10px; }
.v2-section p { color: var(--t2); font-size: 15px; line-height: 1.7; margin: 0; }
.v2-heading { max-width: 760px; margin-bottom: 44px; text-align: left; }
.v2-heading .kicker { margin-bottom: 18px; font-size: 11px; color: var(--rio); }
.v2-heading .v2-lead { margin-top: 22px; font-size: 17px; max-width: 60ch; }
.v2-split { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(38px, 6vw, 90px); align-items: start; }
.v2-source-names { padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin: 0 0 28px; }
.v2-source-names li { border-top: 1px solid var(--line); padding: 14px 0; font-size: 13px; color: var(--t1); }
.v2-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 600; color: var(--t1); text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--rio); }
.v2-link:hover { color: var(--rio); }
.v2-section a:focus-visible, .v2-section summary:focus-visible { outline: 2px solid var(--rio); outline-offset: 5px; }
.v2-inputs { border-left: 1px solid var(--line); padding-left: 36px; }
.v2-inputs > h3 { margin-bottom: 24px; }
.v2-mode-list { list-style: none; margin: 0; padding: 0; }
.v2-mode-list li { display: grid; grid-template-columns: 32px 1fr; gap: 16px; padding: 22px 0; border-top: 1px solid var(--line); }
.v2-mode-list h3 { margin-bottom: 7px; }
.v2-mode-list p { font-size: 14px; }
.v2-index { color: var(--t3); font-size: 11px; font-weight: 600; letter-spacing: .08em; line-height: 1.5; padding-top: 5px; }
.v2-section .v2-note { font-size: 13px; color: var(--t3); margin-top: 28px; max-width: 84ch; }
.v2-flow { list-style: none; display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; margin: 0; padding: 0; }
@media (min-width: 1001px) { .v2-flow.v2-flow-3 { grid-template-columns: repeat(3,1fr); } }
.v2-flow li { border-top: 2px solid var(--rio); padding-top: 22px; }
.v2-flow .v2-index { display: block; margin-bottom: 22px; }
.v2-flow p { font-size: 14px; }
.v2-decision { border-left: 3px solid var(--rio); padding-left: 24px; display: flex; justify-content: space-between; gap: 28px; align-items: center; margin-top: 42px; }
.v2-decision > span { color: var(--t2); font-size: 15px; line-height: 1.7; max-width: 70ch; }
.v2-decision .v2-link { flex: none; }
.v2-product-figure { margin: 0 auto; max-width: 800px; padding: clamp(12px, 2vw, 24px); background: var(--surface); border: 1px solid var(--line); border-radius: 18px; }
.v2-shot-lang { background: #f7f7f7; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.v2-shot-lang[hidden] { display: none !important; }
.v2-shot-lang img { width: 100%; height: auto; display: block; }
.v2-editorial-links { display: flex; gap: 36px; flex-wrap: wrap; margin-top: 24px; }
.v2-workspace-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 36px; }
.v2-workspace-row p { max-width: 68ch; }
#experiences .v2-workspace-row { margin-top: 50px; padding-top: 36px; border-top: 1px solid var(--line); }
.v2-workspace-row h2 { margin-bottom: 20px; }
.v2-workspace-row .kicker { margin-bottom: 18px; font-size: 11px; color: var(--rio); }
.v2-business-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 50px; }
.v2-business-row { display: grid; grid-template-columns: 32px 1fr 24px; gap: 16px; align-items: start; border-top: 1px solid var(--line); padding: 28px 0; color: var(--t1); text-decoration: none; }
.v2-business-row p { font-size: 14px; }
.v2-business-row:hover h3 { color: var(--rio); }
.v2-arrow { color: var(--t3); font-size: 20px; }
.v2-convergence { display: grid; grid-template-columns: 1fr 80px 1fr; align-items: center; gap: 28px; }
.v2-lanes > div { border-top: 1px solid var(--line); padding: 28px 0; }
.v2-destination { border-left: 3px solid var(--rio); padding: 30px; }
.v2-converge-arrow { color: var(--rio); font-size: 50px; text-align: center; }
.v2-source-directory { border-top: 1px solid var(--line); }
.v2-source-row { display: grid; grid-template-columns: 1fr 230px; gap: 32px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.v2-source-row p { font-size: 14px; max-width: 65ch; }
.v2-source-row > span { color: var(--t3); font-size: 13px; line-height: 1.6; padding-top: 5px; }
#modes .v2-mode-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 44px; }
.v2-accounting-map { display: grid; grid-template-columns: 1.25fr 1fr; gap: 80px; align-items: center; }
.v2-cycle-list { list-style: none; padding: 0; margin: 0; }
.v2-cycle-list li { display: grid; grid-template-columns: 32px 1fr; gap: 20px; border-top: 1px solid var(--line); padding: 24px 0; }
.v2-cycle-list p { font-size: 14px; }
.v2-ledger-spine { border-left: 3px solid var(--rio); padding: 36px; }
.v2-ledger-spine > span { color: var(--rio); font-size: 38px; display: block; padding-block: 28px; }
.v2-dimensions { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; border-top: 1px solid var(--line); padding-top: 28px; margin-top: 44px; }
.v2-dimensions dt { font-weight: 600; color: var(--t1); font-size: 14px; margin-bottom: 12px; }
.v2-dimensions dd { margin: 0; color: var(--t3); font-size: 13px; line-height: 1.6; }
.v2-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.v2-comparison > div { border-top: 2px solid var(--rio); padding-top: 28px; }
@media (max-width: 1000px) {
  .v2-split { gap: 36px; }
  .v2-inputs { padding-left: 26px; }
  .v2-flow { grid-template-columns: 1fr 1fr; gap: 32px; }
  .v2-accounting-map { gap: 36px; }
  .v2-dimensions { grid-template-columns: 1fr 1fr; }
  .v2-decision { align-items: flex-start; flex-direction: column; gap: 14px; }
}
@media (max-width: 700px) {
  .v2-section { padding-block: 64px; }
  .v2-heading { margin-bottom: 30px; }
  .v2-section h2 { font-size: 30px; max-width: none; }
  .v2-heading .v2-lead { font-size: 16px; }
  .v2-split, .v2-business-list, .v2-accounting-map, .v2-comparison, .v2-workspace-row, #modes .v2-mode-list { grid-template-columns: 1fr; }
  .v2-inputs { border-left: 0; padding-left: 0; }
  .v2-inputs > h3 { margin-bottom: 16px; }
  .v2-flow { grid-template-columns: 1fr; gap: 0; }
  .v2-flow li { display: grid; grid-template-columns: 32px 1fr; gap: 0 16px; border-top: 0; border-left: 2px solid var(--rio); padding: 0 0 28px 20px; }
  .v2-flow .v2-index { margin: 0; grid-row: 1 / 3; }
  .v2-flow p { grid-column: 2; }
  .v2-source-row { grid-template-columns: 1fr; gap: 10px; }
  .v2-convergence { grid-template-columns: 1fr; gap: 14px; }
  .v2-converge-arrow { transform: rotate(90deg); }
  .v2-destination { padding: 20px 24px; }
  .v2-business-row { padding-block: 24px; }
  .v2-workspace-row { gap: 18px; }
  .v2-ledger-spine { padding: 20px 24px; }
  .v2-editorial-links { gap: 12px; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { .v2-section * { scroll-behavior: auto; } }

.v2-experience-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.v2-experience-cards .card { display: flex; flex-direction: column; padding: clamp(24px, 3vw, 38px); }
.v2-experience-cards .card h3 { margin: 20px 0 14px; }
.v2-experience-cards .v2-editorial-links { margin-top: auto; padding-top: 24px; gap: 12px; flex-direction: column; align-items: flex-start; }
@media(max-width: 700px) { .v2-experience-cards { grid-template-columns: 1fr; } }

/* Second lot: entity/group, matching patterns, client portfolio, audit and contexts. */
.v2-detail-list { margin: 0; }
.v2-detail-list > div { display: grid; grid-template-columns: minmax(160px, .7fr) 1.5fr; gap: 36px; padding: 24px 0; border-top: 1px solid var(--line); }
.v2-detail-list dt { color: var(--t1); font-size: 16px; font-weight: 600; line-height: 1.4; }
.v2-detail-list dd { margin: 0; color: var(--t2); font-size: 14px; line-height: 1.7; }
.v2-group-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.v2-group-tree { border-top: 3px solid var(--rio); padding-top: 28px; }
.v2-group-branches { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 48px; border-top: 1px solid var(--line); }
.v2-group-branches > div { border-left: 1px solid var(--line); padding: 22px 0 0 16px; }
.v2-group-branches h3 { margin-top: 16px; }
.v2-group-branches p { font-size: 12px; }
.v2-group-layout .v2-detail-list > div { grid-template-columns: 1fr; gap: 12px; }
.v2-recon-patterns { display: grid; grid-template-columns: repeat(3,1fr); gap: 44px; }
.v2-recon-patterns article { border-top: 1px solid var(--line); padding-top: 28px; }
.v2-pattern-label { font-size: 38px; color: var(--t1); font-weight: 600; letter-spacing: -.04em; }
.v2-recon-diagram { display: flex; align-items: center; gap: 28px; height: 100px; color: var(--rio); font-size: 28px; }
.v2-recon-dots { display: flex; flex-direction: column; gap: 8px; }
.v2-recon-dots i { display: block; width: 12px; height: 12px; border: 2px solid var(--rio); border-radius: 50%; }
.v2-settlement-equation { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; border-block: 1px solid var(--line); padding: 30px 0; margin-bottom: 28px; font-size: 18px; line-height: 1.5; color: var(--t1); }
.v2-settlement-equation b { color: var(--rio); }
.v2-settlement-equation strong { font-weight: 600; }
.v2-product-story { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: center; }
.v2-product-story > div { min-width: 0; }
.v2-product-story .v2-product-figure { width: 100%; }
.v2-product-story .v2-heading { margin-bottom: 20px; }
.v2-product-story h2 { font-size: clamp(28px,3vw,38px); }
.v2-professional { border-left: 3px solid var(--rio); padding-left: 28px; margin-top: 44px; max-width: 82ch; }
.v2-context-index { display: flex; flex-wrap: wrap; gap: 12px 28px; }
.v2-context-index a { font-size: 14px; color: var(--t1); text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--rio); min-height: 44px; display: inline-flex; align-items: center; }
.v2-context-row { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.v2-context-row h2 { margin: 20px 0 24px; }
.v2-context-lead { max-width: 50ch; }
.v2-context-detail { margin-bottom: 28px; }
@media(max-width:1000px) {
 .v2-group-layout, .v2-product-story { grid-template-columns: 1fr; gap: 38px; }
 .v2-recon-patterns { gap: 24px; }
 .v2-context-row { gap: 36px; }
}
@media(max-width:700px) {
 .v2-detail-list > div { grid-template-columns: 1fr; gap: 10px; }
 .v2-context-row, .v2-recon-patterns { grid-template-columns: 1fr; gap: 28px; }
 .v2-recon-patterns article { display: grid; grid-template-columns: 80px 1fr; gap: 0 20px; }
 .v2-pattern-label { grid-column: 1; }
 .v2-recon-diagram { grid-column: 1; grid-row: 2 / 4; gap: 14px; height: 90px; }
 .v2-recon-patterns h3 { grid-column: 2; grid-row: 1 / 3; }
 .v2-recon-patterns p { grid-column: 2; }
 .v2-settlement-equation { flex-direction: column; align-items: flex-start; gap: 12px; font-size: 16px; }
 .v2-group-branches { gap: 8px; }
 .v2-group-branches > div { padding-left: 10px; }
 .v2-group-branches h3 { font-size: 16px; }
 .v2-context-index { gap: 8px 20px; }
}
/* Lot 3: indexes, document reading, pricing and procedural directories. */
.v2-page-index { display:flex; flex-wrap:wrap; gap:12px 32px; border-block:1px solid var(--line); padding:20px 0; }
.v2-page-index a { color:var(--t1); font-size:13px; line-height:1.6; text-decoration:underline; text-underline-offset:5px; text-decoration-color:var(--rio); padding:8px 0; }
.v2-page-index a:focus-visible { outline:2px solid var(--rio); outline-offset:5px; }
.v2-page section[id] { scroll-margin-top:110px; }
.v2-page .v2-heading h2 { margin-bottom:20px; }
.v2-reading-rows { display:block; }
.v2-reading-row { display:grid; grid-template-columns:minmax(170px,.65fr) 1.5fr; gap:44px; border-top:1px solid var(--line); padding:28px 0; }
.v2-reading-row h3 { margin:0; }
.v2-section .v2-reading-row p { max-width:76ch; }
.v2-section .v2-reading-row p a { color:var(--t1) !important; }
.v2-about-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:40px; }
.v2-about-step { border-top:2px solid var(--rio); padding-top:24px; }
.v2-about-step p { font-size:14px; }
.v2-institution-directory { display:block; margin-top:36px; }
.v2-institution-line { display:grid; grid-template-columns:1fr 1.7fr .6fr; gap:30px; align-items:start; border-top:1px solid var(--line); padding:24px 0; }
.v2-institution-line h3 { font-size:16px; }
.v2-institution-line p { font-size:14px; }
.v2-institution-line .mini { color:var(--t3); font-size:12px; text-align:right; }
.v2-reading-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:clamp(38px,7vw,100px); align-items:start; padding-block:64px; }
.v2-reading-layout aside { position:sticky; top:110px; max-height:calc(100vh - 160px); overflow:auto; }
.v2-reading-layout .v2-page-index { display:block; border:0; padding:0 0 0 20px; border-left:2px solid var(--rio); }
.v2-reading-layout .v2-page-index a { display:block; margin-bottom:8px; text-decoration:none; }
.v2-reading-layout .v2-page-index a:hover { color:var(--rio); }
.v2-reading-content { min-width:0; max-width:80ch; }
.v2-reading-content .v2-section { padding:0 0 54px; border:0; background:none; }
.v2-reading-content .container { width:100%; padding:0; max-width:none; }
.v2-reading-content h2 { font-size:clamp(25px,2.5vw,34px); max-width:none; }
.v2-reading-content .section-intro { max-width:none; font-size:15px; margin-top:18px; }
.v2-reading-content .v2-heading { margin-bottom:26px; }
.v2-reading-content .table-like { border-color:var(--line) !important; }
.v2-reading-content .row { grid-template-columns:minmax(130px,.6fr) 1.5fr; gap:24px; border-color:var(--line) !important; padding-block:22px; }
.v2-reading-content .row > div { min-width:0; }
.v2-reading-content .v2-reading-row { grid-template-columns:1fr; gap:12px; padding-block:22px; }
.v2-contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,7vw,90px); align-items:start; }
.v2-contact-layout .v2-detail-list > div { grid-template-columns:1fr; gap:10px; }
.v2-contact-layout h2 { font-size:32px; margin-bottom:24px; }
.v2-contact-intro { margin-bottom:24px !important; }
.v2-contact-layout .contact-form { margin-top:28px; border-radius:12px; }
.v2-contact-layout .contact-form .form-status:empty { display:none; }
.v2-code { overflow:auto; padding:28px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--t1); font-size:12px; line-height:1.8; max-width:100%; }
.v2-api-scopes dt code { display:block; font-size:11px; color:var(--rio); margin-bottom:10px; overflow-wrap:anywhere; }
.v2-api-scopes dt span { font-size:17px; }
.v2-api-scopes code { overflow-wrap:anywhere; }
.v2-recovery-links { display:grid; grid-template-columns:1fr 1fr; gap:0 48px; }
.v2-recovery-links a { border-top:1px solid var(--line); color:var(--t1); font-size:17px; padding-block:24px; text-decoration:none; }
.v2-recovery-links a:hover { color:var(--rio); }
.v2-pricing .comparatif-wrap { border:1px solid var(--line); border-radius:12px; }
.v2-pricing .comparatif { margin:0; }
.v2-pricing .comparatif thead th { background:var(--surface); }
.v2-pricing .mini-flow { background:transparent; border-block:1px solid var(--line); border-radius:0; }
.v2-pricing .v2-section .section-intro { max-width:75ch; }
.v2-pricing .v2-section .price-note { margin-top:22px; font-size:13px; }
@media(max-width:1000px) {
 .v2-reading-layout { grid-template-columns:180px minmax(0,1fr); gap:32px; }
 .v2-institution-line { grid-template-columns:1fr 1.5fr; gap:20px; }
 .v2-institution-line .mini { grid-column:2; text-align:left; }
 .v2-contact-layout { gap:32px; }
 .v2-about-flow { gap:24px; }
}
@media(max-width:700px) {
 .v2-page-index { gap:8px 20px; }
 .v2-reading-layout { display:block; padding-block:38px; }
 .v2-reading-layout aside { position:static; max-height:none; overflow:visible; margin-bottom:44px; }
 .v2-reading-layout .v2-page-index { display:flex; flex-wrap:wrap; gap:0 20px; max-height:260px; overflow:auto; }
 .v2-reading-layout .v2-page-index a { margin:0; font-size:12px; }
 .v2-reading-row,.v2-institution-line,.v2-contact-layout,.v2-about-flow,.v2-recovery-links { grid-template-columns:1fr; gap:14px; }
 .v2-contact-layout { gap:48px; }
 .v2-institution-line .mini { grid-column:1; }
 .v2-reading-content .row { grid-template-columns:1fr; gap:12px; }
 .v2-reading-content .v2-section { padding-bottom:44px; }
 .v2-about-flow { gap:28px; }
 .v2-pricing .comparatif { min-width:680px; }
 .v2-code { padding:18px; font-size:11px; }
}


/* Product evidence retains real app navigation; dense screens scroll inside their frame. */
.v2-proof { max-width:1080px; margin-top:32px; overflow-x:auto; }
.v2-proof:focus-visible { outline:2px solid var(--rio); outline-offset:4px; }
@media(max-width:700px) { .v2-proof .v2-shot-lang { min-width:1050px; } .v2-proof { max-width:100%; } }

/* Product illustrations: code-native, based on RIO screens, scoped away from Home. */
.product-proof { margin:40px auto 0; max-width:1120px; border:1px solid var(--line); border-radius:22px; background:var(--surface-2); box-shadow:0 24px 70px -35px rgba(0,0,0,.45); overflow:hidden; }
.proof-windowbar { display:flex; align-items:center; gap:16px; padding:17px 22px; background:var(--surface); border-bottom:1px solid var(--line); }
.proof-window-dots { display:flex; gap:6px; flex:none; }
.proof-window-dots i { width:8px; height:8px; border-radius:50%; background:var(--t4); opacity:.55; }
.proof-window-dots i:last-child { background:var(--rio); opacity:1; }
.proof-product { font-size:12px; color:var(--t2); font-weight:600; }
.proof-sequence { display:flex; gap:20px; list-style:none; padding:0; margin:0 0 0 auto; }
.proof-sequence li { display:flex; align-items:center; gap:7px; font-size:10px; }
.proof-sequence span { color:var(--rio); font-variant-numeric:tabular-nums; }
.proof-sequence b { color:var(--t3); font-weight:500; }
.proof-composition { position:relative; }
.product-proof .product-illustration { margin:0; padding:0; }
.proof-app { display:grid; grid-template-columns:190px minmax(0,1fr); min-height:370px; background:var(--surface); }
.proof-navigation { padding:28px 16px; border-right:1px solid var(--line); background:color-mix(in srgb,var(--surface-2) 85%,var(--surface)); }
.proof-navigation svg { display:block; width:62px; height:34px; color:var(--t1); margin:0 10px 18px; }
.proof-institution { display:block; font-size:12px; font-weight:600; padding:0 10px; color:var(--t1); line-height:1.6; }
.proof-muted { color:var(--t3); font-size:11px; line-height:1.6; }
.proof-navigation > .proof-muted { display:block; padding:0 10px; }
.proof-navigation ul { list-style:none; margin:28px 0 0; padding:0; display:grid; gap:6px; }
.proof-navigation li { display:flex; align-items:center; gap:10px; padding:12px 10px; font-size:13px; color:var(--t2); border-radius:8px; }
.proof-navigation li i { width:8px; height:8px; border:1px solid var(--t4); border-radius:2px; flex:none; }
.proof-navigation .is-current { color:#fff; background:var(--rio); font-weight:600; }
.proof-navigation .is-current i { border-color:currentColor; background:rgba(255,255,255,.15); }
.proof-nav-footer { display:block; margin:34px 10px 0; font-size:10px; color:var(--t3); line-height:1.7; max-width:120px; }
.proof-screen { min-width:0; padding:32px 32px 22px; }
.proof-context { display:block; color:var(--rio); text-transform:uppercase; font-size:9px; font-weight:650; letter-spacing:.11em; margin-bottom:14px; }
.proof-screen-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.product-proof .proof-screen h3 { margin:0; font-size:clamp(18px,2vw,24px); color:var(--t1); line-height:1.3; letter-spacing:-.025em; }
.product-proof .proof-screen-intro { color:var(--t3); font-size:12px; line-height:1.7; margin:12px 0 24px; max-width:620px; }
.proof-badge { display:inline-block; border:1px solid var(--line); padding:5px 8px; border-radius:6px; font-size:9px; font-weight:600; line-height:1.5; white-space:nowrap; }
.proof-badge-ok { color:var(--rio); background:color-mix(in srgb,var(--rio) 9%,transparent); border-color:color-mix(in srgb,var(--rio) 25%,transparent); }
.proof-badge-warn { color:#d6a33a; background:rgba(214,163,58,.08); border-color:rgba(214,163,58,.2); }
.proof-badge-neutral { color:var(--t3); }
.proof-table-scroll { overflow:auto; scrollbar-width:thin; }
.proof-table-scroll:focus-visible { outline:2px solid var(--rio); outline-offset:3px; }
.proof-table { width:100%; border-collapse:collapse; font-size:13px; text-align:left; }
.proof-table th { font-size:9px; font-weight:500; color:var(--t3); padding:11px 8px; border-bottom:1px solid var(--line); text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }
.proof-table td { padding:18px 8px; border-bottom:1px solid var(--line-soft); color:var(--t2); vertical-align:middle; }
.proof-table th:first-child,.proof-table td:first-child { padding-left:0; }
.proof-table td:last-child { padding-right:0; }
.proof-table .proof-row-title { color:var(--t1); font-weight:600; }
.proof-amount { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:12px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.proof-warning { color:#d6a33a; }
.proof-scenario { display:block; margin-top:18px; color:var(--t4); font-size:9px; }
.proof-insight { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin-left:190px; padding:0 32px 30px; background:var(--surface); }
.proof-metric { min-width:0; padding:20px 16px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.proof-metric-primary { border-color:color-mix(in srgb,var(--rio) 36%,var(--line)); background:linear-gradient(135deg,color-mix(in srgb,var(--rio) 8%,var(--surface-2)),var(--surface-2)); }
.proof-number { font-size:clamp(19px,2.3vw,28px); font-weight:650; letter-spacing:-.04em; line-height:1.1; font-variant-numeric:tabular-nums; color:var(--t1); }
.proof-metric-primary .proof-number { color:var(--rio); }
.product-proof .proof-unit { font-size:10px; color:var(--t3); margin:9px 0 0; line-height:1.5; }
.proof-layer-pair,.proof-entity-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:16px; }
.proof-layer-pair > div,.proof-entity { border:1px solid var(--line); border-radius:10px; padding:18px; background:var(--surface-2); }
.proof-layer-pair > div > span:last-child { display:block; font-size:11px; color:var(--t3); margin-top:12px; line-height:1.6; }
.proof-entity-top { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.proof-entity-avatar { display:grid; place-items:center; width:34px; height:34px; border-radius:8px; flex:none; background:color-mix(in srgb,var(--rio) 12%,var(--surface)); color:var(--rio); font-size:11px; font-weight:600; }
.proof-entity-name { display:block; color:var(--t1); font-size:13px; font-weight:600; }
.proof-entity-top .proof-muted { display:block; font-size:10px; margin-top:4px; }
.proof-readiness { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:22px 0 10px; font-size:10px; color:var(--t2); }
.proof-worklist { list-style:none; padding:0; margin:0; }
.proof-worklist li { display:grid; grid-template-columns:22px minmax(0,1fr) 80px 56px; gap:10px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line-soft); }
.proof-work-number { color:var(--rio); font-size:10px; font-variant-numeric:tabular-nums; }
.proof-work-name { color:var(--t1); font-size:12px; line-height:1.6; }
.proof-worklist .proof-muted { font-size:10px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .product-proof { transition:box-shadow .3s ease,border-color .3s ease; } .product-proof:hover { border-color:color-mix(in srgb,var(--rio) 40%,var(--line)); box-shadow:0 28px 76px -35px rgba(0,0,0,.5); } .proof-table tbody tr { transition:background .2s ease; } .proof-table tbody tr:hover { background:color-mix(in srgb,var(--rio) 4%,transparent); } }
@media(max-width:900px) { .proof-app { grid-template-columns:150px minmax(0,1fr); } .proof-navigation { padding:24px 10px; } .proof-screen { padding:26px 22px 18px; } .proof-insight { margin-left:150px; padding:0 22px 24px; gap:10px; } .proof-metric { padding:18px 12px; } .proof-screen-heading { flex-direction:column; gap:12px; } .proof-sequence { gap:12px; } }
@media(max-width:600px) { .product-proof { border-radius:15px; } .proof-windowbar { padding:14px; gap:9px; flex-wrap:wrap; } .proof-sequence { width:100%; margin:0; gap:14px; } .proof-app { grid-template-columns:1fr; } .proof-navigation { display:grid; grid-template-columns:42px minmax(0,1fr); gap:2px 12px; padding:18px; border-right:0; border-bottom:1px solid var(--line); } .proof-navigation svg { grid-row:1/3; width:42px; height:24px; margin:3px 0 0; } .proof-institution,.proof-navigation > .proof-muted { padding:0; } .proof-navigation ul { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:5px; margin:14px 0 0; } .proof-navigation li { padding:8px; font-size:10px; } .proof-navigation li i,.proof-nav-footer { display:none; } .proof-screen { padding:24px 18px 18px; } .product-proof .proof-screen h3 { font-size:20px; } .proof-table { min-width:500px; } .proof-table td { padding-top:15px; padding-bottom:15px; } .proof-insight { margin-left:0; padding:0 18px 22px; grid-template-columns:1fr 1fr; gap:10px; } .proof-metric-primary { grid-column:1/-1; } .proof-number { font-size:24px; } .proof-metric-primary .proof-number { font-size:32px; } .proof-entity-grid,.proof-layer-pair { grid-template-columns:1fr; } .proof-worklist li { grid-template-columns:18px minmax(0,1fr) 56px; gap:8px; } .proof-worklist .proof-muted { display:none; } .proof-work-name { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .product-proof,.proof-table tbody tr { transition:none; } }

/* Selection explains illustrative amounts; it never invokes application actions. */
.proof-select { display:flex; align-items:center; gap:10px; width:100%; padding:0; border:0; background:transparent; color:inherit; text-align:left; font:inherit; font-weight:inherit; opacity:1; }
.proof-select:disabled { color:inherit; opacity:1; }
.proof-select-arrow { display:none; flex:none; font-size:16px; color:var(--rio); }
[data-proof-enhanced] .proof-select { cursor:pointer; }
[data-proof-enhanced] .proof-select-arrow { display:inline; }
.proof-select:focus-visible,.proof-detail-close:focus-visible { outline:2px solid var(--rio); outline-offset:5px; border-radius:3px; }
.proof-select[aria-expanded="true"] { color:var(--rio); }
.proof-table tr.is-selected { background:color-mix(in srgb,var(--rio) 7%,transparent); }
.proof-entity.is-selected { border-color:var(--rio); }
.proof-worklist li.is-selected { background:color-mix(in srgb,var(--rio) 7%,transparent); }
.product-proof .proof-interaction-hint { display:none; font-size:10px; color:var(--t3); margin:16px 0 0; }
[data-proof-enhanced] .proof-interaction-hint { display:block; }
.proof-detail { padding:20px; margin-top:20px; border:1px solid color-mix(in srgb,var(--rio) 25%,var(--line)); border-radius:12px; background:color-mix(in srgb,var(--rio) 5%,var(--surface-2)); }
.proof-detail[hidden] { display:none; }
.proof-detail-top { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:12px; }
.proof-detail-top .proof-context { margin:0; }
.proof-detail-close { display:grid; place-items:center; width:24px; height:24px; border:1px solid var(--line); border-radius:50%; background:var(--surface); color:var(--t2); cursor:pointer; font-size:16px; }
.product-proof .proof-detail h4 { font-size:13px; font-weight:600; margin:0 0 10px; color:var(--t1); line-height:1.6; }
.product-proof .proof-detail p { font-size:12px; line-height:1.8; color:var(--t2); margin:0; }
.proof-detail h4 .proof-select-arrow { display:none; }
@media(max-width:600px) { .proof-detail { padding:16px; } .product-proof .proof-detail p { font-size:12px; } }

.proof-select[aria-expanded="true"] .proof-select-arrow { transform:rotate(90deg); }

/* Dedicated modules and expertise: sequences and expandable evidence, no application mutation. */
.ded-flow { list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:26px; margin:0; padding:0; }
.ded-flow li { border-top:2px solid var(--rio); padding:26px 0; }
.ded-flow .v2-index { display:block; margin-bottom:25px; }
.ded-example { border:1px solid var(--line); border-radius:22px; background:var(--surface-2); padding:clamp(22px,4vw,52px); max-width:1040px; }
.ded-example-header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; color:var(--t3); font-size:11px; margin-bottom:30px; }
.ded-example h3 { font-size:clamp(23px,2.6vw,32px); margin-bottom:30px; }
.ded-outcome { border-top:1px solid var(--line); }
.ded-outcome:last-child { border-bottom:1px solid var(--line); }
.ded-outcome summary { display:flex; align-items:center; gap:18px; padding:22px 0; cursor:pointer; font-size:15px; list-style:none; }
.ded-outcome summary::-webkit-details-marker { display:none; }
.ded-outcome summary > :last-child { margin-left:auto; color:var(--rio); }
.ded-outcome[open] summary > :last-child { transform:rotate(45deg); }
.ded-outcome summary:focus-visible { outline:2px solid var(--rio); outline-offset:4px; }
.ded-outcome .ded-status { margin-left:auto; flex:none; border:1px solid var(--line); border-radius:7px; padding:7px 10px; font-size:10px; }
.ded-status.good { color:var(--rio); } .ded-status.watch { color:#b07b25; } .ded-status.fail { color:#c34c4c; } .ded-status.neutral { color:var(--t3); }
.ded-outcome > p { padding:0 0 24px; max-width:80ch; }
@media(max-width:768px) { .ded-flow { grid-template-columns:1fr; gap:0; } .ded-flow li { display:grid; grid-template-columns:30px 1fr; gap:16px; padding:22px 0; } .ded-flow .v2-index { margin:0; } .ded-outcome summary { flex-wrap:wrap; font-size:13px; } .ded-outcome .ded-status { margin:0; } }

/* Product previews need the full story width, including the Practice portfolio. */
.v2-product-story:has(> .product-proof) { grid-template-columns:1fr; gap:30px; align-items:start; }
.v2-product-story > .product-proof { width:100%; max-width:1120px; margin:0 auto; }
.v2-product-story:has(> .product-proof) > div:first-child { max-width:820px; }