/* Shared product primitives; page compositions are authored in each use-case HTML. */
.case-page { --case-accent:#b5a4ff; --case-soft:#afa1ff12; color:#e9edf5; background:#10141f; }
.case-wrap { width:min(1320px,calc(100% - 64px)); margin-inline:auto; }
.case-hero { padding:148px 0 48px; background:radial-gradient(ellipse at 75% 0%,var(--case-soft),transparent 70%); }
.case-kicker { display:block; color:var(--case-accent); font-size:14px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; margin-bottom:22px; }
.case-page h1 { max-width:1000px; font-size:clamp(40px,5.1vw,72px); font-weight:800; letter-spacing:-.055em; line-height:1.08; text-wrap:balance; }
.case-page h1 em { color:var(--case-accent); font-style:normal; }
.case-lead { color:#b9c3d5; font-size:clamp(18px,1.5vw,21px); line-height:1.65; max-width:660px; margin-top:24px; }
.case-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:30px; }
.case-actions .btn-primary { padding:15px 25px; font-size:16px; }
.case-link { color:#ccd4ed; font-size:16px; font-weight:600; text-underline-offset:5px; }
.case-link:hover { color:white; text-decoration:underline; }
.case-page :is(a,button,summary):focus-visible { outline:3px solid var(--case-accent); outline-offset:5px; }
.case-hero--center { text-align:center; padding-bottom:42px; }
.case-hero--center :is(h1,.case-lead) { margin-inline:auto; }
.case-hero--center .case-actions { justify-content:center; }
.case-hero--split .case-wrap { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:68px; align-items:center; }
.case-hero--split h1 { font-size:clamp(40px,4.7vw,66px); }
.case-hero--compact .case-wrap { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); align-items:end; gap:80px; }
.case-hero--compact .case-lead { margin-top:0; }
.case-hero--compact h1 { font-size:clamp(40px,4.3vw,60px); }
.case-scene { margin:0 auto; }
.case-scene figcaption { color:#94a0b8; font-size:13px; line-height:1.6; padding:14px 3px; display:flex; justify-content:space-between; gap:20px; }
.case-scene figcaption strong { color:#c2cbdd; font-weight:500; }
.case-section { padding-block:88px; }
.case-page h2 { color:#f0f3fa; font-size:clamp(30px,3.3vw,45px); line-height:1.18; font-weight:800; letter-spacing:-.04em; text-wrap:balance; }
.case-page h3 { color:#edf0f8; font-size:21px; line-height:1.3; font-weight:700; letter-spacing:-.02em; }
.case-section p { color:#b2bdd1; font-size:17px; line-height:1.75; margin-top:16px; }
.case-editorial { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:100px; }
.case-editorial > div > p { max-width:490px; }
.case-notes { display:grid; gap:28px; }
.case-notes article { padding-bottom:28px; border-bottom:1px solid #ffffff1c; }
.case-notes article:last-child { border-bottom:0; padding-bottom:0; }
.case-notes p { margin-top:10px; }
.case-strip { border-block:1px solid #ffffff1c; display:grid; grid-template-columns:repeat(3,1fr); gap:42px; padding-block:30px; }
.case-strip span { color:var(--case-accent); font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.case-strip h3 { margin-top:12px; }
.case-strip p { font-size:16px; }
.case-resources { padding-block:38px; border-top:1px solid #ffffff1c; display:flex; gap:40px; flex-wrap:wrap; align-items:center; }
.case-resources > p { color:#98a5bd; font-size:14px; margin-right:auto; }
.case-final { display:grid; grid-template-columns:1fr auto; align-items:center; gap:40px; padding-block:65px 90px; }
.case-final h2 { max-width:780px; }
.case-final .case-actions { margin-top:0; }
.case-final > p { grid-column:1/-1; color:#aab6cc; font-size:15px; margin-top:0; }
.case-final > p a { color:#c4cdef; text-decoration:underline; text-underline-offset:4px; }
/* The app's dark workspace, green active tabs, analyst panel and document canvas. */
.product-window { border:1px solid #414357; border-radius:14px; background:#15171d; overflow:hidden; box-shadow:0 28px 80px #0005; text-align:left; font-family:Arial,Helvetica,sans-serif; color:#dfe1ec; }
.product-top { display:flex; align-items:center; gap:13px; padding:15px 20px; background:#1e1e2d; border-bottom:1px solid #343543; font-size:14px; }
.product-top img { width:30px; height:30px; object-fit:contain; }
.product-brand { line-height:1.35; }
.product-brand small { display:block; color:#a9ce78; font-size:10px; letter-spacing:.12em; }
.product-search { margin-left:25px; color:#9399ae; border:1px solid #41414f; border-radius:6px; background:#2b2b39; padding:9px 16px; flex:1; max-width:440px; }
.product-avatar { margin-left:auto; background:#292d32; color:#b8d692; border:1px solid #424b3c; border-radius:9px; padding:9px; font-size:12px; }
.product-tabs { display:flex; gap:25px; padding:0 22px 0 60px; background:#1e1e2d; border-bottom:1px solid #343543; font-size:14px; color:#a3a8bb; }
.product-tabs span { padding:14px 8px; }
.product-tabs .active { color:#dbe5cb; border-bottom:2px solid #a9d16f; background:#252831; border-radius:6px 6px 0 0; }
.product-body { display:flex; min-height:0; }
.product-rail { width:48px; flex-shrink:0; display:flex; flex-direction:column; gap:24px; align-items:center; padding-top:23px; background:#1e1e2d; color:#777c90; font-size:21px; border-right:1px solid #2c2e3a; }
.product-content { padding:24px; min-width:0; flex:1; }
.product-toolbar { display:flex; align-items:center; gap:20px; justify-content:space-between; border-bottom:1px solid #343642; padding:0 0 16px; margin-bottom:20px; font-size:14px; color:#a9afc0; }
.product-toolbar strong { font-size:18px; color:#e3e5ed; }
.product-label { color:#aeb8d4; font-size:12px; text-transform:uppercase; letter-spacing:.09em; display:block; margin-bottom:12px; }
.product-pill { display:inline-block; color:#c2b0f0; background:#6c4cbc26; border:1px solid #7255b95c; font-size:12px; border-radius:20px; padding:4px 9px; white-space:nowrap; }
.product-pill--green { color:#a9dbc2; border-color:#3f87666b; background:#2c725429; }
.product-pill--amber { color:#ebc888; border-color:#a883426b; background:#a883421c; }
.product-card { background:#1e222e; border:1px solid #343b4c; border-radius:10px; padding:22px; }
.product-window h3 { font-family:Arial,Helvetica,sans-serif; font-size:19px; color:#eef0f7; letter-spacing:-.02em; }
.product-window p { font-size:14px; line-height:1.65; color:#b1b7c8; margin-top:12px; }
.product-window .product-small { font-size:12px; color:#98a4ba; }
.product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.product-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.product-stats { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid #393d4d; border-radius:9px; margin-top:24px; overflow:hidden; }
.product-stats > div { padding:18px; }
.product-stats > div + div { border-left:1px solid #393d4d; }
.product-stats small { font-size:11px; color:#a5afc6; text-transform:uppercase; letter-spacing:.05em; }
.product-stats strong { display:block; color:#eff1f7; font-size:24px; margin-top:7px; }
.product-profile-head { display:flex; align-items:center; gap:16px; }
.product-monogram { display:grid; place-items:center; width:48px; height:48px; flex-shrink:0; background:#546ae0; border:1px solid #8393ed; color:white; border-radius:10px; font-size:23px; font-weight:700; }
.product-profile-head .product-pill { margin-left:auto; }
.product-sources { display:block; border-top:1px solid #3a3f4e; padding-top:13px; margin-top:20px; color:#a9acd0; font-size:12px; }
.product-analyst { background:#202023; border:1px solid #3c3c43; border-radius:10px; padding:18px; }
.product-analyst-header { display:flex; gap:15px; font-size:13px; color:#8d93a8; margin-bottom:24px; }
.product-analyst-header strong { color:#eeeef3; }
.product-prompt { background:#2d2c3a; border:1px solid #454452; padding:17px; border-radius:9px; color:#e0e0ed; font-size:14px; line-height:1.6; margin-bottom:22px; }
.product-task { border:1px solid #267456; background:#21332f; border-radius:7px; padding:12px 14px; margin:10px 0; color:#b4dec9; font-size:13px; }
.product-task small { display:block; color:#adb8bc; margin:5px 0 0 20px; font-size:12px; }
.product-composer { border:1px solid #47464f; border-radius:8px; color:#9799ac; margin-top:24px; padding:15px; font-size:13px; }
.product-editor { display:grid; grid-template-columns:minmax(230px,.65fr) minmax(0,1.6fr); gap:22px; }
.product-paper { background:#fff; color:#243049; padding:40px; box-shadow:0 4px 20px #0003; }
.product-paper h3 { color:#182a47; font-size:29px; line-height:1.2; margin:12px 0 20px; }
.product-paper h4 { color:#213451; font-size:17px; margin:22px 0 8px; font-weight:700; }
.product-paper p { color:#4e5e73; font-size:14px; line-height:1.7; }
.product-paper .product-label { color:#67768f; }
.product-paper .product-small { color:#65748b; }
.product-paper-rule { height:4px; width:48px; background:#6479dd; margin-bottom:24px; }
.product-paper-callout { background:#eff3fb; border-left:3px solid #6c81dc; padding:15px 18px; color:#344768; font-size:14px; line-height:1.6; margin-top:22px; }
.product-slide { background:#f7f9fe; padding:35px; min-height:340px; color:#263954; position:relative; }
.product-slide h3 { color:#203555; font-size:clamp(24px,2.7vw,37px); line-height:1.15; max-width:600px; }
.product-slide .product-label { color:#697c97; }
.product-slide p { color:#566882; }
.product-slide-footer { display:flex; justify-content:space-between; border-top:1px solid #ced7e7; margin-top:27px; padding-top:13px; color:#71809c; font-size:11px; }
.slide-argument { display:grid; grid-template-columns:1.2fr 1fr; gap:30px; margin-top:28px; }
.slide-argument strong { color:#293f62; font-size:16px; }
.slide-argument p { margin-top:8px; }
.slide-bars { display:flex; height:135px; align-items:end; gap:22px; padding-bottom:23px; margin-top:15px; border-bottom:1px solid #c9d3e4; }
.slide-bar { flex:1; height:var(--bar); background:#8b9eeb; position:relative; min-width:0; border-radius:4px 4px 0 0; }
.slide-bar:last-child { background:#536ad4; }
.slide-bar span { position:absolute; bottom:-23px; font-size:11px; color:#5c6e87; width:100%; text-align:center; }
.slide-thumbs { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:15px; }
.slide-thumbs span { background:#292e3b; border:1px solid #43495a; padding:13px; font-size:12px; color:#b8c1d3; border-radius:5px; }
.slide-thumbs .active { border-color:#b4ce85; color:#e4eccf; }
.product-table-wrap { overflow:auto; }
.product-table-wrap:focus-visible { outline:2px solid var(--case-accent); outline-offset:4px; }
.product-scroll-hint { display:none; }
.product-table { width:100%; border-collapse:collapse; text-align:left; font-size:14px; }
.product-table th { color:#a7b1c9; font-size:12px; letter-spacing:.025em; font-weight:500; padding:14px 16px; background:#222533; white-space:nowrap; }
.product-table td { padding:20px 16px; border-bottom:1px solid #343a49; color:#c7cede; }
.product-table td:first-child { color:#edf0f7; font-weight:600; }
.product-table small { display:block; margin-top:7px; color:#9ba6bd; font-size:12px; font-weight:400; }
.product-table tr:last-child td { border-bottom:0; }
.product-table .selected td { background:#33375266; }
.product-table td.positive { color:#a9d4bb; }
.product-table td.caution { color:#e0c18c; }
.market-map { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.market-sector { background:#202636; border:1px solid #414b63; border-top:3px solid #899ad9; border-radius:8px; padding:20px; }
.market-sector:nth-child(2) { border-top-color:#83c5cb; }
.market-sector:nth-child(3) { border-top-color:#c4a6e1; }
.market-sector h3 { font-size:16px; margin-bottom:18px; }
.market-company { display:flex; align-items:center; gap:12px; border:1px solid #3b4357; padding:13px; margin-top:10px; border-radius:6px; background:#2b3042; font-size:14px; }
.market-company b { width:27px; height:27px; display:grid; place-items:center; background:#596588; border-radius:5px; font-size:13px; }
.market-insight { display:grid; grid-template-columns:1.2fr 1fr; gap:35px; border-top:1px solid #3a4258; margin-top:23px; padding:23px 0 0; }
.market-insight p { margin:0; }
.case-margin-note { border-left:2px solid var(--case-accent); padding:8px 0 8px 26px; }
.case-margin-note strong { display:block; font-size:23px; line-height:1.4; color:#e1e7f4; }
.case-margin-note p { color:#a7b6cf; line-height:1.7; margin-top:15px; font-size:17px; }
.strategy-options { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid #3d4b62; border-radius:10px; overflow:hidden; }
.strategy-option { padding:32px; background:#192130; }
.strategy-option + .strategy-option { border-left:1px solid #3d4b62; }
.strategy-option.featured { background:#24314a; box-shadow:inset 0 3px var(--case-accent); }
.strategy-option .case-kicker { font-size:12px; margin-bottom:30px; }
.strategy-option p { color:#adbad1; line-height:1.7; font-size:16px; margin-top:15px; }
.strategy-option ul { margin-top:25px; padding-left:18px; color:#bdc9dd; font-size:14px; line-height:2; }
.pipeline-board { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.pipeline-lane { background:#202031; border:1px solid #343448; border-radius:8px; overflow:hidden; padding-bottom:16px; }
.pipeline-lane-head { background:#2c2b42; padding:17px 14px; font-size:16px; color:#e5e5f2; }
.pipeline-lane-head small { float:right; background:#424254; border-radius:5px; padding:2px 7px; font-size:12px; }
.pipeline-deal { background:#2b2a41; border:1px solid #44425f; border-radius:6px; margin:14px 12px 0; padding:18px 14px; }
.pipeline-deal strong { display:block; font-size:16px; color:#f1f0f6; }
.pipeline-deal .product-pill { margin-top:11px; }
.pipeline-deal p { font-size:12px; margin-top:16px; color:#b5b4c9; padding-top:12px; border-top:1px solid #44415c; }
.pipeline-deal small { display:block; font-size:12px; color:#a5c4f2; margin-top:10px; line-height:1.5; }
.pipeline-deal--suggestion { border-left:3px solid #d4b364; }
.case-timeline { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.case-timeline article { border-top:2px solid var(--case-accent); padding-top:25px; }
.case-timeline strong { display:block; color:var(--case-accent); font-size:44px; letter-spacing:-.05em; margin-bottom:20px; }
.integration-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr 1fr; font-size:13px; }
.integration-grid > div { padding:18px 14px; border-bottom:1px solid #343c4d; min-width:0; }
.integration-grid .milestone { background:#262c3d; color:#b9c8e4; font-size:12px; }
.integration-grid .workstream { color:#ecedf5; }
.integration-grid .workstream small { display:block; color:#9daac2; font-size:11px; margin-top:5px; }
.integration-bar { background:#4c5c91; border-radius:5px; display:block; padding:9px; color:#ebeffa; font-size:12px; line-height:1.4; }
.integration-bar.teal { background:#315d68; }
.integration-bar.lilac { background:#66577d; }
.cim-cover { background:linear-gradient(150deg,#24364e,#131e32); min-height:490px; padding:44px; display:flex; flex-direction:column; border:1px solid #51617a; box-shadow:20px 20px 0 #a5b3d20c; }
.cim-cover .case-kicker { color:#adbedc; font-size:12px; }
.cim-cover h2 { font-size:48px; margin-top:70px; }
.cim-cover p { margin-top:20px; font-size:18px; line-height:1.5; color:#aebfdb; }
.cim-cover small { margin-top:auto; padding-top:40px; color:#91a0bc; font-size:12px; }
.cim-index { display:grid; grid-template-columns:1fr 2fr; gap:60px; }
.cim-chapters { counter-reset:chapter; }
.cim-chapters article { display:grid; grid-template-columns:50px 1fr 1fr; align-items:baseline; gap:24px; border-top:1px solid #374153; padding:25px 0; counter-increment:chapter; }
.cim-chapters article::before { content:counter(chapter,decimal-leading-zero); color:var(--case-accent); font-size:16px; }
.cim-chapters p { margin:0; font-size:15px; }
.buyer-briefs { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.buyer-brief { background:#f4f7fc; color:#243650; padding:35px; border-radius:3px; border-top:4px solid #8a99d8; }
.buyer-brief:nth-child(2) { border-color:#83c8cb; }
.buyer-brief:nth-child(3) { border-color:#bea2d4; }
.buyer-brief h3 { color:#1c2f4c; font-size:27px; }
.buyer-brief .case-kicker { color:#607295; font-size:12px; }
.buyer-brief p { color:#50617a; font-size:15px; line-height:1.75; margin-top:20px; }
.buyer-brief h4 { color:#253a5b; font-size:14px; font-weight:700; margin-top:27px; }
.buyer-brief hr { border-color:#ccd5e4; margin-top:25px; }
.presentation-stage { background:#192334; padding:28px; border:1px solid #3c4d68; border-radius:12px; }
.presentation-stage .product-slide { padding:54px; min-height:440px; }
.presentation-stage .product-slide h3 { font-size:40px; max-width:700px; }
.presentation-stage .slide-argument { margin-top:45px; gap:70px; }
.rollup-stack { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin-top:20px; }
.rollup-platform { border:1px solid #657793; border-radius:8px; padding:28px; background:#29364c; text-align:center; }
.rollup-stack > div { padding:22px; border:1px solid #404d66; border-radius:8px; background:#202a3b; }
.rollup-stack strong { color:#dbe3f3; font-size:16px; }
.rollup-stack p { font-size:13px; }
.case-page--market { --case-accent:#93d2df; --case-soft:#5cafcd17; }
.case-page--strategy { --case-accent:#a9c3ff; --case-soft:#758eef18; }
.case-page--competitive { --case-accent:#c5b1ee; --case-soft:#ac8acb14; }
.case-page--inbound { --case-accent:#a6c6f5; --case-soft:#7496cc18; }
.case-page--memo { --case-accent:#b3c7e8; --case-soft:#8499b813; }
.case-page--buy-pipeline { --case-accent:#a5c899; --case-soft:#78ab6013; }
.case-page--sell-pipeline { --case-accent:#b3acf0; --case-soft:#9b8bd21a; }
.case-page--integration { --case-accent:#91c9cf; --case-soft:#6aa0ac17; }
.case-page--cim { --case-accent:#b7c8e4; --case-soft:#9aafd517; }
.case-page--buyers { --case-accent:#b4cae9; --case-soft:#779bcc14; }
.case-page--positioning { --case-accent:#c7b5ee; --case-soft:#aa89d11b; }
.case-page--management { --case-accent:#adc6ed; --case-soft:#94aed914; }
.case-page--rollup { --case-accent:#b6cda3; --case-soft:#93ae7415; }
.case-page--targets { --case-accent:#a7c4ff; --case-soft:#658dda1c; }
@media(min-width:1450px) { .case-wrap { width:min(1440px,calc(100% - 100px)); } }
@media(max-width:1050px) {
 .case-hero--split .case-wrap,.case-hero--compact .case-wrap { gap:35px; }
 .case-editorial { gap:45px; }
 .product-content { padding:18px; }
 .product-editor { grid-template-columns:minmax(200px,.65fr) minmax(0,1.4fr); gap:15px; }
 .product-paper { padding:27px; }
 .pipeline-board { grid-template-columns:repeat(2,1fr); }
 .market-map { gap:12px; }
 .market-sector { padding:14px; }
 .case-final { grid-template-columns:1fr; }
 .buyer-brief { padding:25px; }
 .cim-index { grid-template-columns:1fr; gap:30px; }
}
@media(min-width:761px) and (max-width:1000px) {
 .case-hero--split .case-wrap { grid-template-columns:1fr; }
 .case-hero--split .case-margin-note { max-width:650px; }
 .case-hero--split .cim-cover { max-width:550px; min-height:420px; }
 .case-hero--split .cim-cover h2 { margin-top:40px; }
}
@media(max-width:760px) {
 .case-wrap { width:calc(100% - 36px); }
 .case-hero { padding:118px 0 35px; }
 .case-hero--split .case-wrap,.case-hero--compact .case-wrap,.case-editorial { grid-template-columns:1fr; }
 .case-hero--compact .case-lead { margin-top:0; }
 .case-hero--center { text-align:left; }
 .case-hero--center .case-actions { justify-content:flex-start; }
 .case-page h1,.case-hero--compact h1,.case-hero--split h1 { font-size:clamp(36px,8vw,53px); }
 .case-section { padding-block:55px; }
 .case-strip,.strategy-options,.case-timeline,.buyer-briefs { grid-template-columns:1fr; gap:25px; }
 .strategy-options { gap:0; }
 .strategy-option + .strategy-option { border-left:0; border-top:1px solid #3d4b62; }
 .product-top { padding:12px; }
 .product-search,.product-rail { display:none; }
 .product-tabs { padding:0 12px; gap:12px; font-size:12px; flex-wrap:wrap; }
 .product-tabs span { padding:12px 4px; }
 .product-editor { grid-template-columns:1fr; }
 .product-editor .product-analyst { order:2; }
 .case-page--memo .product-editor > .product-card { order:2; }
 .product-window .product-scroll-hint { display:block; color:#aebcd4; font-size:12px; margin:0 0 12px; }
 .product-grid,.product-grid--three,.market-map,.market-insight { grid-template-columns:1fr; }
 .product-body { min-height:0; }
 .product-toolbar { flex-wrap:wrap; gap:12px; line-height:1.5; }
 .product-stats { grid-template-columns:repeat(2,1fr); }
 .product-stats > div:nth-child(3) { border-left:0; border-top:1px solid #393d4d; }
 .product-stats > div:nth-child(4) { border-top:1px solid #393d4d; }
 .product-profile-head { flex-wrap:wrap; }
 .product-profile-head .product-pill { margin-left:0; }
 .product-slide { padding:24px; }
 .slide-argument { grid-template-columns:1fr; }
 .slide-thumbs { grid-template-columns:repeat(2,1fr); }
 .case-scene figcaption { flex-direction:column; gap:5px; }
 .case-margin-note strong { font-size:21px; }
 .case-resources { gap:22px; flex-direction:column; align-items:flex-start; }
 .case-final { padding-block:45px 60px; }
 .cim-cover { min-height:380px; padding:30px; }
 .cim-cover h2 { margin-top:40px; font-size:40px; }
 .cim-chapters article { grid-template-columns:35px 1fr; gap:12px; }
 .cim-chapters p { grid-column:2; }
 .presentation-stage { padding:12px; }
 .presentation-stage .product-slide { padding:25px; }
 .presentation-stage .product-slide h3 { font-size:29px; }
 .presentation-stage .slide-argument { gap:25px; }
 .rollup-stack { grid-template-columns:1fr; }
 .integration-grid { min-width:680px; }
}
@media(max-width:460px) { .pipeline-board { grid-template-columns:1fr; } .case-actions { gap:20px; } }
@media(prefers-reduced-motion:reduce) { .case-page * { scroll-behavior:auto!important; transition:none!important; } }
