/* Scoped Custom Reports / Focused System Views (from visualizations-page-v2) */
.crv2-page{min-width:0;}
.crv2-page *, .crv2-page *::before, .crv2-page *::after{box-sizing:border-box;}
.crv2-page{
  --bg:#FFFFFF;--surface:#F7F8FA;--border:#E5E7EB;
  --text:#2B2D42;--sub:#5C677D;--muted:#8D99AE;
  --teal:#4ECDC4;--teal-mid:#2CB5AC;--teal-light:#E8F9F8;--teal-dim:rgba(78,205,196,.1);
  --orange:#EF8354;--orange-light:#FDF1EB;
  --font:'DM Sans',sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;
  font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;
}
.crv2-label{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-mid);font-family:var(--mono);}
.crv2-page h1{font-size:clamp(34px,4.2vw,52px);font-weight:600;line-height:1.08;letter-spacing:-.025em;}
.crv2-page h2{font-size:clamp(24px,2.8vw,36px);font-weight:600;line-height:1.12;letter-spacing:-.02em;}
.crv2-page h3{font-size:18px;font-weight:500;line-height:1.3;}
.crv2-page p{font-size:15px;color:var(--sub);line-height:1.75;}
.crv2-container{max-width:1160px;margin:0 auto;padding:0 48px;}
.crv2-section{padding:88px 0;}
.crv2-section--alt{background:var(--surface);}
.crv2-section--dark{background:var(--text);}
.crv2-tag-row{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.crv2-tag-row::after{content:'';display:block;height:1px;width:32px;background:var(--teal);}
.crv2-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;font-family:var(--font);font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .18s ease;text-decoration:none;border:none;}
.crv2-btn--primary{background:var(--orange);color:#fff;}
.crv2-btn--primary:hover{background:#d96b3e;transform:translateY(-1px);}
.crv2-btn--ghost{background:transparent;color:var(--text);border:1px solid var(--border);}
.crv2-btn--ghost:hover{border-color:var(--teal);color:var(--teal-mid);}
.crv2-btn--ghost-dark{background:transparent;color:rgba(255,255,255,.65);border:1px solid rgba(255,255,255,.1);}
.crv2-btn--ghost-dark:hover{border-color:rgba(78,205,196,.4);color:var(--teal);}

/* reveal */
.crv2-rv{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;}
.crv2-rv.on{opacity:1;transform:none;}
.crv2-d1{transition-delay:.07s}.crv2-d2{transition-delay:.14s}.crv2-d3{transition-delay:.21s}
.crv2-d4{transition-delay:.28s}.crv2-d5{transition-delay:.35s}.crv2-d6{transition-delay:.42s}

/* Capability page hero: twin diagram (outside .crv2-page — uses fixed palette to match v2) */
.custom-reports-hero-twin{background:#F7F8FA;border:1px solid #E5E7EB;border-radius:12px;padding:20px 24px;overflow:hidden;}
.custom-reports-hero-twin__label{font-size:10px;font-family:var(--mono, "IBM Plex Mono", ui-monospace, monospace);color:#8D99AE;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;}
.solution-frame .custom-reports-hero-twin svg{display:block;width:100%;height:auto;}

/* hero right — animated twin diagram (inside .crv2-page sections if reused) */
.crv2-twin-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 24px;overflow:hidden;}
.crv2-twin-label{font-size:10px;font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;}

/* ══ SPLIT STATEMENT ══ */
.crv2-split{padding:64px 0;border-bottom:1px solid var(--border);}
.crv2-split-inner{display:grid;grid-template-columns:1fr 1px 1fr;gap:0;align-items:stretch;}
.crv2-split-divider{background:var(--border);}
.crv2-split-side{padding:40px 56px;}
.crv2-split-side--left{padding-left:0;}
.crv2-split-side--right{padding-right:0;}
.crv2-split-eyebrow{font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;}
.crv2-split-eyebrow--bad{color:#E63946;}
.crv2-split-eyebrow--good{color:var(--teal-mid);}
.crv2-split-headline{font-size:17px;font-weight:500;line-height:1.4;margin-bottom:10px;}
.crv2-split-body{font-size:14px;color:var(--sub);line-height:1.65;}

/* ══ VIEW TYPE GRID ══ */
.crv2-vt-header{margin-bottom:48px;}
.crv2-vt-header h2{margin-bottom:10px;}
.crv2-vt-header p{max-width:480px;}

.crv2-vt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.crv2-vt-card{padding:28px 24px;background:var(--bg);position:relative;transition:background .18s;}
.crv2-vt-card:hover{background:var(--surface);}
/* remove last-in-row right border */
.crv2-vt-card:nth-child(3n){border-right:none;}
/* internal separators via grid gap */
.crv2-vt-card::after{content:'';position:absolute;top:0;right:-1px;bottom:0;width:1px;background:var(--border);}
.crv2-vt-card:nth-child(3n)::after{display:none;}
.crv2-vt-card-num{font-family:var(--mono);font-size:10px;color:var(--border);font-weight:500;margin-bottom:14px;letter-spacing:.06em;}
.crv2-vt-card-icon{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);margin-bottom:14px;}
.crv2-vt-card-name{font-size:15px;font-weight:500;margin-bottom:6px;line-height:1.3;}
.crv2-vt-card-q{font-size:12px;font-family:var(--mono);color:var(--muted);font-style:italic;margin-bottom:12px;line-height:1.5;}
.crv2-vt-card-body{font-size:13px;color:var(--sub);line-height:1.6;margin-bottom:16px;}
.crv2-vt-card-footer{padding-top:14px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.crv2-vt-card-source{font-size:10px;font-family:var(--mono);color:var(--muted);}
.crv2-vt-card-source span{color:var(--teal-mid);}
.crv2-vt-pills{display:flex;gap:5px;flex-wrap:wrap;}
.crv2-pill{font-size:9px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;font-family:var(--mono);padding:2px 7px;border-radius:3px;}
.crv2-pill--arch{background:rgba(78,205,196,.1);color:var(--teal-mid);}
.crv2-pill--eng{background:rgba(239,131,84,.1);color:var(--orange);}
.crv2-pill--qual{background:rgba(141,153,174,.1);color:var(--sub);}
.crv2-pill--prog{background:rgba(43,45,66,.07);color:var(--text);}

/* ══ ROLES GRID ══ */
.crv2-roles-header{margin-bottom:48px;}
.crv2-roles-header h2{margin-bottom:10px;}

.crv2-roles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.crv2-role-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s;}
.crv2-role-card:hover{border-color:rgba(78,205,196,.35);box-shadow:0 4px 20px rgba(78,205,196,.07);}

.crv2-role-head{padding:20px 22px 18px;background:var(--bg);border-bottom:1px solid var(--border);}
.crv2-role-head-num{font-size:10px;font-family:var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px;}
.crv2-role-head-title{font-size:16px;font-weight:500;margin-bottom:6px;}
.crv2-role-head-q{font-size:12px;color:var(--muted);font-style:italic;line-height:1.5;font-family:var(--mono);}

.crv2-role-views{padding:16px 22px;border-bottom:1px solid var(--border);}
.crv2-role-views-label{font-size:9px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px;}
.crv2-role-view-row{display:flex;align-items:flex-start;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);}
.crv2-role-view-row:last-child{border-bottom:none;}
.crv2-rv-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:4px;}
.crv2-rv-dot--teal{background:var(--teal);}
.crv2-rv-dot--orange{background:var(--orange);}
.crv2-rv-dot--gray{background:var(--muted);}
.crv2-rv-name{font-size:12px;font-weight:500;color:var(--text);}
.crv2-rv-desc{font-size:11px;color:var(--muted);font-family:var(--mono);}

.crv2-role-viz{padding:16px 22px;background:var(--surface);flex:1;}
.crv2-role-outcome{padding:14px 22px;background:var(--bg);border-top:1px solid var(--border);}
.crv2-role-outcome-label{font-size:9px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:5px;}
.crv2-role-outcome-text{font-size:13px;color:var(--sub);line-height:1.5;}

/* ══ TWIN STATEMENT (differentiator) ══ */
.crv2-twin-stmt{padding:80px 0;background:var(--text);}
.crv2-twin-stmt-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.crv2-twin-stmt-left{}
.crv2-twin-stmt-left .crv2-label{color:rgba(255,255,255,.3);}
.crv2-twin-stmt-left h2{color:#fff;margin-bottom:16px;margin-top:10px;}
.crv2-twin-stmt-left p{color:rgba(255,255,255,.5);font-size:15px;line-height:1.75;}
.crv2-twin-stmt-left p+p{margin-top:12px;}
.crv2-twin-badges{display:flex;flex-direction:column;gap:10px;margin-top:28px;}
.crv2-twin-badge{display:flex;align-items:center;gap:14px;padding:12px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:8px;}
.crv2-twin-badge-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);flex-shrink:0;}
.crv2-twin-badge-text{font-size:13px;color:rgba(255,255,255,.65);}
.crv2-twin-badge-text strong{color:rgba(255,255,255,.9);font-weight:500;}

/* CTA band */
.crv2-cta-band{padding:72px 0;border-top:1px solid var(--border);}
.crv2-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:48px;}
.crv2-cta-copy h2{margin-bottom:8px;}
.crv2-cta-copy p{max-width:480px;}
.crv2-cta-btns{display:flex;gap:12px;flex-shrink:0;}

/* responsive */
@media(max-width:960px){
  .crv2-split-inner,.crv2-twin-stmt-inner,.crv2-cta-inner{grid-template-columns:1fr;gap:40px;}
  .crv2-split-divider{display:none;}
  .crv2-split-side{padding:24px 0;}
  .crv2-vt-grid{grid-template-columns:1fr 1fr;}
  .crv2-vt-card:nth-child(2n)::after{display:none;}
  .crv2-vt-card:nth-child(3n)::after{display:block;}
  .crv2-roles-grid{grid-template-columns:1fr;}
  .crv2-container{padding:0 24px;}
  .crv2-cta-btns{flex-wrap:wrap;}
}
@media(max-width:600px){
  .crv2-vt-grid{grid-template-columns:1fr;}
  .crv2-vt-card::after{display:none;}
}