/* Concept B: a continuous investigation, shared across the marketing site. */
.site-b { --radius:6px; --radius-lg:8px; }
.site-b .site-header { --bg:#f5f5f0; --surface:#fff; --surface-2:#e8ece8; --text:#152328; --text-2:#45545a; --border:#d1d9d5; --accent:#0b5f58; --accent-strong:#084b46; --on-accent:#fff; background:#f5f5f0; color:#152328; backdrop-filter:none; border-color:#d1d9d5; }
.site-b .header-row { min-height:72px; }
.site-b .wordmark { font-size:1.35rem; letter-spacing:-.055em; }
.site-b .site-nav a { font-size:.83rem; }
.site-b .btn { border-radius:6px; font-size:.85rem; font-weight:550; }
.site-b .header-cta { font-size:.78rem; padding-inline:16px; }
.site-b .theme-toggle { border-color:#d1d9d5; background:#fff; color:#152328; }
.site-b .menu summary { background:#fff; color:#152328; border-color:#d1d9d5; }
.site-b .menu nav { background:#f5f5f0; }
.site-b .site-footer { border-top:1px solid var(--border); padding-block:3rem; }
.site-b h1,.site-b h2,.site-b h3 { letter-spacing:-.035em; }
.site-b .page-head { background:#131e23; color:#f0f4f3; max-width:none; width:100%; padding:clamp(3rem,6vw,5rem) max(24px,calc((100vw - 1180px)/2)); border-bottom:1px solid #34454b; margin-bottom:2.5rem; }
.site-b .page-head h1 { max-width:900px; font-size:clamp(2.4rem,4.5vw,4rem); font-weight:550; line-height:1.1; }
.site-b .page-head .lede { color:#b8c8ca; max-width:760px; }
.site-b .page-head .eyebrow { color:#88d6c7; }
.site-b .page-head .btn { background:#1f3035; color:#eff7f4; border-color:#50666c; }
.site-b .page-head .btn--primary { background:#8ee2ce; color:#102823; border-color:#8ee2ce; }
.site-b .card { box-shadow:none; border-radius:8px; }
.site-b .table th { font-weight:550; }
.site-b input,.site-b textarea,.site-b select { border-radius:5px; }
.site-b .section-intro h2 { font-weight:500; }
.journey-track { --journey-bg:#111c21; --journey-line:#3c5159; --journey-text:#f2f5f4; --journey-muted:#b9c8cb; color:var(--journey-text); background:var(--journey-bg); position:relative; }
.journey-stage { position:relative; padding:36px 4vw 32px; max-width:1720px; margin:auto; }
.journey-layout { display:grid; grid-template-columns:minmax(230px,.29fr) minmax(0,1fr); gap:clamp(24px,3vw,55px); align-items:center; }
.journey-intro h1 { font-size:clamp(2.4rem,3.4vw,3.8rem); font-weight:570; letter-spacing:-.045em; line-height:1.05; margin:20px 0; max-width:390px; }
.journey-kicker { font: .6rem var(--font-mono); color:var(--journey-muted); letter-spacing:.12em; }
.journey-rule { display:block; width:44px; height:3px; background:#8ce3ce; margin:28px 0; }
.journey-intro > p:not(.journey-kicker) { font-size:.93rem; line-height:1.7; max-width:300px; color:#c1ced0; }
.journey-cta { display:inline-flex; align-items:center; gap:18px; padding:14px 0; color:#a4eddb; font-size:.8rem; text-decoration:none; }
.journey-intro .journey-scroll-hint { font-size:.65rem !important; margin-top:30px; color:#a6bdc2 !important; }
.journey-scroll-hint span { display:inline-block; margin-left:8px; }
.journey-workspace { min-width:0; }
.journey-toolbar { display:flex; align-items:center; gap:16px; padding:14px 18px; border:1px solid var(--journey-line); border-radius:7px; background:#1a282e; font-size:.72rem; color:#c2cfd1; }
.journey-toolbar strong { font-weight:550; color:#f1f5f4; }
.window-dots { color:#8b9b9f; letter-spacing:3px; font-size:.5rem; }
.journey-sample { margin-left:auto; font:.55rem var(--font-mono); white-space:nowrap; }
.journey-canvas { position:relative; }
.graph-viewport { overflow:auto; scrollbar-width:thin; scrollbar-color:#597078 #162128; }
.investigation-graph { display:block; width:100%; height:auto; min-width:680px; }
.journey-node rect { fill:#1a282e; stroke:#71868d; stroke-width:1; }
.journey-node[data-node=worker] rect,.journey-node[data-node=identity] rect { stroke:#86deca; fill:#17322f; }
.journey-node.conflicting rect { fill:#3a3020; stroke:#dfb66c; }
.journey-node.missing rect { stroke-dasharray:4 4; fill:#172329; }
.node-name { fill:#f0f5f4; font:550 13px var(--font-sans); }
.node-sub { fill:#bfccd0; font:10px var(--font-sans); }
.node-icon { fill:none; stroke:#d4e4e2; stroke-width:1.4; }
.journey-edges path { stroke:#91a4aa; stroke-width:1.25; }
.journey-edges .focus { stroke:#8ee3cf; stroke-width:2; }
.journey-edges .conflict { stroke:#e2b768; stroke-width:1.8; stroke-dasharray:5 5; }
.edge-labels text { fill:#bdd2d4; font:10px var(--font-sans); }
.edge-labels .conflict-label { fill:#f0cc87; }
.flow-points { fill:#9cf0db; opacity:0; }
.flow-points .amber { fill:#f0c477; }
.graph-conflict rect { fill:#382e1f; stroke:#dfb66c; }
.graph-conflict text { fill:#f5cd83; font:11px var(--font-sans); }
.journey-sources { border-top:1px solid var(--journey-line); margin-top:12px; }
.journey-source { display:grid; grid-template-columns:.8fr 1.35fr; gap:24px; padding:24px 0; }
.journey-source + .journey-source { border-top:1px solid var(--journey-line); }
.journey-source h3 { font-size:.9rem; font-weight:550; margin:10px 0 6px; color:#f0f5f4; }
.journey-source p { margin:0; color:#bdccce; font-size:.65rem; }
.journey-source blockquote { border:0; border-left:1px solid var(--journey-line); padding:0 0 0 24px; margin:0; font-size:clamp(.85rem,1.25vw,1.1rem); line-height:1.55; color:#f0f4f3; }
.journey-source mark { color:#ffe0a4; background:#4f3b1f; padding:1px 3px; }
.journey-source[hidden],.journey-finding[hidden] { display:none; }
.journey-finding { padding:32px; background:#142228; border:1px solid #445d64; border-radius:8px; margin-block:20px; }
.journey-finding h2 { font-size:clamp(1.65rem,2.8vw,2.9rem); font-weight:500; line-height:1.12; color:#f1f5f3; }
.journey-finding h2 span { color:#edc47f; }
.journey-finding > p:not(.journey-kicker) { color:#c6d1d3; font-size:.9rem; line-height:1.7; max-width:620px; }
.finding-connection { display:flex; gap:12px; flex-wrap:wrap; color:#c6dad9; font:.65rem var(--font-mono); padding:18px 0; border-top:1px solid #40565d; margin-top:20px; }
.finding-connection span { color:#9be7d5; }
.journey-finding a { display:inline-flex; padding-block:12px; font-size:.8rem; color:#a1ead8; }
.journey-position { display:none; }
.journey-scroll-enabled { height:260vh; }
.journey-scroll-enabled .journey-stage { position:sticky; top:72px; height:calc(100svh - 72px); display:flex; align-items:center; }
.journey-scroll-enabled .journey-layout { width:100%; }
.journey-scroll-enabled .journey-canvas { height:clamp(330px,49vh,570px); display:flex; align-items:center; }
.journey-scroll-enabled .graph-viewport { width:100%; overflow:hidden; }
.journey-scroll-enabled .journey-source { min-height:132px; }
.journey-scroll-enabled .journey-source + .journey-source { border-top:0; }
.journey-scroll-enabled .journey-finding { position:absolute; inset:10px 0; margin:0; display:flex; flex-direction:column; justify-content:center; background:#142228f5; }
.journey-scroll-enabled .journey-finding[hidden] { display:none; }
.journey-scroll-enabled .journey-position { display:flex; flex-direction:column; justify-content:space-between; position:absolute; top:24%; bottom:24%; right:1.4vw; width:1px; background:#43585f; }
.journey-position > span { position:absolute; inset:0; background:#91e6d1; transform:scaleY(var(--journey-progress,0)); transform-origin:top; }
.journey-position i { width:5px; height:5px; background:#a1b9bd; border-radius:50%; margin-left:-2px; }
.journey-scroll-enabled .flow-points { opacity:1; }
.journey-scroll-enabled[data-phase="1"] .peripheral { opacity:.16; }
.journey-scroll-enabled[data-phase="1"] .journey-node.conflicting rect { stroke-width:2; }
.journey-scroll-enabled[data-phase="2"] .investigation-graph { opacity:.18; }
.journey-scroll-enabled[data-phase="1"] .investigation-graph { transform:scale(1.04) translateX(-1%); }
.b-introduction { padding-block:clamp(4rem,8vw,7rem); display:grid; grid-template-columns:1.2fr 1fr; gap:16px 5rem; }
.b-introduction > .eyebrow { grid-column:1/-1; }
.b-introduction h2 { font-size:clamp(2rem,3.4vw,3.2rem); font-weight:500; line-height:1.15; }
.b-introduction h2 span { color:var(--text-2); }
.b-introduction > p:last-child { font-size:1rem; line-height:1.8; color:var(--text-2); }
.b-desktop { padding-bottom:clamp(4rem,8vw,7rem); }
.b-section-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2rem; }
.b-section-heading h2 { font-size:clamp(1.8rem,3vw,2.8rem); font-weight:500; line-height:1.15; }
.b-section-heading > a { font-size:.8rem; white-space:nowrap; }
.b-desktop figure { margin:0; border:1px solid var(--border); border-radius:8px; overflow:hidden; }
.b-desktop figure > a { display:block; height:clamp(280px,52vw,640px); overflow:hidden; background:#111b23; }
.b-desktop img { display:block; width:100%; }
.b-screen-label { display:flex; justify-content:space-between; padding:16px 22px; color:var(--text-2); background:var(--surface-2); font:.65rem var(--font-mono); }
.b-desktop figcaption { padding:18px 22px; font-size:.8rem; color:var(--text-2); }
.b-usecases { border-top:1px solid var(--border); padding-block:clamp(4rem,7vw,6rem); }
.b-usecase-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.b-usecase-grid > a { color:var(--text); text-decoration:none; padding:25px; border-left:1px solid var(--border); display:flex; flex-direction:column; }
.b-usecase-grid > a:first-child { padding-left:0; border-left:0; }
.b-usecase-grid > a > span:first-child { font:.62rem var(--font-mono); color:var(--text-2); }
.b-usecase-grid h3 { font-size:1.4rem; font-weight:500; line-height:1.25; margin:22px 0 12px; }
.b-usecase-grid p { color:var(--text-2); font-size:.9rem; line-height:1.7; }
.b-arrow { margin-top:auto; color:var(--accent); font-size:1.3rem; }
.b-close { background:#132127; color:#eff5f2; padding-block:clamp(4rem,7vw,6rem); border-top:1px solid #40545b; }
.b-close .eyebrow { color:#a1d8cf; }
.b-close h2 { font-size:clamp(2rem,4vw,3.7rem); font-weight:500; line-height:1.1; }
.b-close p { color:#c5d2d3; }
.b-close .btn { background:#1d3037; color:#edf7f5; border-color:#567178; }
.b-close .btn--primary { background:#a0e9d6; color:#102b25; border-color:#a0e9d6; }
@media(prefers-reduced-motion:no-preference) {
 .journey-scroll-enabled .peripheral,.journey-scroll-enabled .investigation-graph { transition:opacity .55s ease,transform .8s cubic-bezier(.2,.7,.2,1); }
 .b-usecase-grid > a { transition:background .2s ease; }
 .b-usecase-grid > a:hover { background:var(--surface-2); }
 .b-usecase-grid .b-arrow { transition:transform .2s ease; }
 .b-usecase-grid > a:hover .b-arrow { transform:translate(3px,-3px); }
}
@media(max-width:999px) {
 .journey-layout { grid-template-columns:1fr; }
 .journey-stage { padding:36px 24px; }
 .journey-intro h1 { max-width:700px; font-size:clamp(2.5rem,6vw,4rem); }
 .journey-intro > p:not(.journey-kicker) { max-width:600px; }
 .journey-rule { margin-block:20px; }
 .journey-intro .journey-scroll-hint { display:none; }
 .journey-workspace { margin-top:12px; }
 .journey-finding { order:2; }
 .b-introduction { gap:20px; }
}
@media(max-width:600px) {
 .site-b .header-row { min-height:64px; }
 .site-b .page-head { padding:40px 20px; }
 .site-b .page-head h1 { font-size:2.25rem; }
 .journey-stage { padding:30px 20px; }
 .journey-intro h1 { font-size:2.5rem; line-height:1.08; }
 .journey-toolbar { padding:12px; gap:8px; flex-wrap:wrap; }
 .journey-sample { margin-left:0; width:100%; }
 .window-dots { display:none; }
 .journey-source { grid-template-columns:1fr; gap:16px; }
 .journey-source blockquote { padding-left:16px; font-size:.95rem; }
 .journey-finding { padding:22px; }
 .journey-finding h2 { font-size:1.7rem; }
 .b-introduction { grid-template-columns:1fr; padding-block:3rem; }
 .b-section-heading { align-items:flex-start; flex-direction:column; gap:1rem; }
 .b-desktop figure > a { height:350px; }
 .b-desktop img { width:1000px; max-width:none; margin-left:calc(100% - 1000px); }
 .b-screen-label { padding:14px; font-size:.55rem; gap:14px; }
 .b-usecase-grid { grid-template-columns:1fr; }
 .b-usecase-grid > a,.b-usecase-grid > a:first-child { padding:26px 0; border:0; border-bottom:1px solid var(--border); }
}
@media(prefers-reduced-motion:reduce) { .flow-points { display:none; } }
.journey-scroll-enabled .graph-viewport { height:100%; display:flex; align-items:center; }
.journey-scroll-enabled .investigation-graph { height:100%; min-width:0; }
.b-campaign-graph { border:1px solid #40565d; border-radius:8px; padding:24px; margin-bottom:3rem; }
.b-campaign-graph .graph-viewport { max-width:1050px; margin:auto; }
.b-campaign-graph > p { color:#c4d4d5; font-size:.75rem; margin:0; }
.site-b .page-head { --bg:#131e23; --surface:#1b2b31; --surface-2:#24383f; --text:#f0f4f3; --text-2:#becdd0; --border:#50676f; --accent:#91e0cd; --accent-strong:#b0efdf; --on-accent:#102a23; }
