/* Product workspaces: editorial outside, precise application surfaces inside. */
.suite-hero { padding:46px 0 58px }
.suite-topline { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:34px; font-size:12px; color:var(--muted) }
.suite-topline>a { display:flex; align-items:center; gap:10px }.suite-topline>a svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.4 }
.suite-title { display:grid; grid-template-columns:minmax(0,1fr) 180px; align-items:center; gap:46px }
.suite-title h1 { font-size:clamp(49px,5.25vw,79px); font-weight:400; letter-spacing:-.045em; line-height:1.08; text-wrap:initial }
.compact-signature { padding:0; width:180px; justify-self:end }.compact-signature .signature-svg { margin:0 }.compact-signature figcaption { justify-content:flex-end; min-height:30px }.compact-signature .identity-replay { font-size:11px; min-height:30px }.compact-signature .signature-guides,.compact-signature .signature-detail,.compact-signature .signature-measure { display:none }
.suite-intro { display:flex; justify-content:space-between; align-items:center; gap:55px; margin-top:28px }
.suite-intro>p { max-width:650px; color:var(--muted); font-size:16px; line-height:1.85 }
.suite-actions { display:flex; flex-wrap:wrap; align-items:center; gap:25px; flex:none }
.suite-actions .text-link { font-size:13px }.suite-actions .button { font-size:13px }
.product-gallery { padding:64px 0 86px; background:#e7edf5 }
.gallery-heading { display:flex; gap:45px; align-items:center; justify-content:space-between; margin-bottom:37px }
.gallery-heading h2 { font-size:clamp(31px,3vw,45px) }.gallery-heading>p { color:var(--muted); font-size:13px; line-height:1.75 }
.product-picker-row { display:flex; align-items:end; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line) }
.product-picker { display:flex; gap:38px }
.product-picker>button { display:flex; gap:14px; align-items:center; text-align:left; color:var(--muted); padding:0 4px 22px; border:0; border-bottom:2px solid transparent; margin-bottom:-1px; background:none }
.product-picker>button[aria-selected=true] { color:var(--ink); border-bottom-color:var(--ink) }
.product-picker strong { font-size:16px; font-weight:550; display:block; line-height:1.35 }.product-picker small { font-size:12px; display:block; margin-top:5px }
.carousel-controls { display:flex; gap:8px; align-items:center; padding-bottom:22px }.carousel-controls>span { margin-right:12px; font-size:11px; color:var(--muted); font-variant-numeric:tabular-nums }.carousel-controls button { width:34px; height:34px; background:none; color:var(--ink); border:1px solid var(--line); border-radius:50%; font-size:18px }.carousel-controls button:hover { border-color:currentColor }
.product-panel-intro { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:30px 0 24px }.product-panel-intro h3 { font-size:32px; margin:8px 0 10px }.product-panel-intro p { font-size:13px; color:var(--muted) }
.availability { font:500 11px/1.5 var(--sans); color:var(--muted) }
.product-detail-link { display:inline-flex; align-items:center; gap:20px; font-size:12px; width:fit-content; padding-bottom:5px; border-bottom:1px solid currentColor; flex:none }.product-detail-link svg,.product-panel-footer svg,.module-next svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.5 }
.product-panel-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 2px 0; font-size:12px }.product-panel-footer>span { color:var(--muted) }.product-panel-footer>a { display:flex; align-items:center; gap:15px }
.static-product-note { font-size:13px; margin-top:20px }.static-product-note a { text-decoration:underline }

/* The app has its own stable surface, unaffected by page color transitions. */
.product-demo { --ink:#263249; --muted:#657083; --line:#e5e8ec; --accent:#1b2454; color:#263249; background:white; border:1px solid #cdd5df; border-radius:12px; overflow:hidden; box-shadow:0 18px 45px -30px #263b5d66; font:400 12px/1.5 var(--sans); text-align:left; isolation:isolate }
.product-demo h2,.product-demo h3,.product-demo h4 { font-family:var(--sans); font-optical-sizing:auto; letter-spacing:-.02em; line-height:1.4; text-wrap:initial; color:#263249; font-weight:550 }
.product-demo h2 { font-size:25px }.product-demo h3 { font-size:18px }.product-demo h4 { font-size:12px }
.product-demo button,.product-demo input,.product-demo select,.product-demo textarea { font-family:var(--sans); font-size:12px; line-height:1.5; letter-spacing:0 }
.product-demo button { color:#435168 }.product-demo button:hover { color:#17294d }.product-demo button:disabled { cursor:default; opacity:.6 }
.product-demo :focus-visible { outline:2px solid #3b6c99; outline-offset:2px }
.ui-icon { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; flex:none }
.wb-window { display:flex; justify-content:space-between; align-items:center; padding:13px 17px; min-height:57px; border-bottom:1px solid #dfe4eb; background:#f9fafc; gap:16px }
.wb-window>div { display:flex; align-items:center; gap:11px }.wb-window strong { font-size:12px; font-weight:600; letter-spacing:.02em }
.wb-workspace-name { border-left:1px solid #dce1e9; padding-left:14px; margin-left:4px; font-size:11px; color:#48566c }.wb-workspace-name small { display:block; font-size:11px; color:#657083; margin-top:2px }
.demo-badge { display:inline-flex; align-items:center; gap:7px; color:#586479; font-size:11px }.demo-badge i { width:5px; height:5px; border-radius:50%; background:#789383 }.wb-reset { border:0; background:transparent; width:29px; height:29px; display:grid; place-items:center; border-radius:5px }.wb-reset:hover { background:#e8edf5 }.wb-reset .ui-icon { width:15px; height:15px }
.wb-shell { display:grid; grid-template-columns:180px minmax(0,1fr) }
.wb-sidebar { padding:23px 10px 16px; background:#f7f8fa; border-right:1px solid #e4e7ed; display:flex; flex-direction:column; min-width:0 }
.wb-sidebar>p { padding:0 12px; color:#667184; font-size:11px; margin-bottom:13px }
.wb-view-tabs { display:grid; gap:5px }.wb-view-tabs>button { min-width:0; display:flex; align-items:center; gap:10px; border:0; padding:10px 11px; background:transparent; border-radius:5px; font-size:12px; text-align:left }.wb-view-tabs>button[aria-selected=true] { background:#e8ecf3; color:#28395d; font-weight:550 }.wb-view-tabs>button:hover { background:#edf0f6 }.wb-view-tabs .ui-icon { width:16px; height:16px }.wb-view-tabs small { margin-left:auto; font-size:11px; color:#586a83 }
.wb-sidebar-bottom { display:flex; gap:7px; align-items:center; margin-top:auto; padding:32px 5px 16px; color:#667184; font-size:11px; line-height:1.7 }.wb-sidebar-bottom .ui-icon { width:13px; height:13px }.wb-sidebar-bottom small { display:block; font-size:11px; color:#667184 }
.wb-user { display:flex; align-items:center; gap:9px; font-size:11px; padding:13px 7px 0; border-top:1px solid #e4e7ed }.wb-user small { display:block; font-size:11px; color:#657083; margin-top:3px }
.owner-avatar { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; background:#e9edf4; color:#4a5972; border-radius:50%; font-size:11px; font-weight:550; flex:none }
.wb-main { min-width:0; background:white }.wb-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 21px; min-height:60px; border-bottom:1px solid #e5e8ec }.wb-heading>div { display:flex; align-items:center; gap:10px }.wb-heading h3 { font-size:15px; font-weight:550 }.wb-heading .ui-icon { width:16px; height:16px; color:#637187 }
.wb-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; background:#fff; border:1px solid #d9dfe7; border-radius:5px; padding:7px 11px; min-height:32px; font-size:12px!important; font-weight:500; box-shadow:0 1px 1px #23334c06 }.wb-button:hover { background:#f4f6fa; border-color:#aab7c9 }.wb-button .ui-icon { width:13px; height:13px }.product-demo .wb-button.filled { background:#1b2454; border-color:#1b2454; color:white }.product-demo .wb-button.filled:hover { background:#2e416f }
.wb-canvas { display:grid; grid-template-columns:minmax(0,1fr) 259px; height:680px }.wb-primary { min-width:0; overflow:hidden }.wb-view { height:100%; min-width:0 }.view-registry,.view-portfolio { display:flex; flex-direction:column }
.wb-tools { display:flex; align-items:center; gap:9px; padding:13px 16px; min-height:56px; border-bottom:1px solid #e5e8ec; flex:none }.wb-search { display:flex; gap:8px; align-items:center; min-width:0; flex:1; color:#748097 }.wb-search .ui-icon { width:14px; height:14px }.wb-search input { width:100%; min-width:60px; padding:4px 0; border:0; background:transparent; color:#344258; font-size:12px }.wb-search input::placeholder { color:#586a83; opacity:1 }.wb-tools select,.wb-tool { font-size:12px!important; border:1px solid #e0e5ec; background:white; padding:5px 7px; border-radius:4px; color:#536177; min-height:29px }.wb-tool { white-space:nowrap; display:flex; gap:5px; align-items:center }
.wb-table-scroll { width:100%; min-width:0; overflow:auto; flex:1; scrollbar-width:thin; scrollbar-color:#cbd4e0 #f5f7fa }.wb-table { border-collapse:collapse; width:100%; white-space:nowrap; text-align:left; font-size:12px; color:#526076 }.wb-table th { background:#fafbfc; font-size:11px; font-weight:500; color:#637087; padding:12px 10px; border-bottom:1px solid #e7ebf0; position:sticky; top:0; z-index:1 }.wb-table th:first-child { padding-left:18px }.wb-table th>span { margin-left:7px; color:#586a83; font-weight:400 }.wb-table td { height:52px; padding:4px 10px; border-bottom:1px solid #edf0f3; vertical-align:middle }.wb-table td:first-child { padding-left:18px; min-width:236px }.wb-table tr.selected td { background:#f0f4fa }.wb-table tr:hover td { background:#f6f8fc }.wb-table tr.selected td:first-child { box-shadow:inset 2px 0 #405e8c }.wb-table .numeric { text-align:right; font-variant-numeric:tabular-nums }.wb-table td>small { font-size:11px }.wb-table th:last-child,.wb-table td:last-child { padding-right:17px }
.record-open { display:flex; align-items:center; gap:9px; border:0; padding:2px 0; background:transparent; text-align:left; width:100%; min-height:42px }.record-open strong { font-size:13px; font-weight:500; color:#304159; display:block }.record-open small { display:block; color:#586a83; font-size:11px; margin-top:4px }
.entity-avatar { width:29px; height:29px; border:1px solid #dce3ee; border-radius:6px; background:#ecf1f8; color:#4d6487; display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:550; flex:none }.entity-avatar.large { width:43px; height:43px; font-size:14px; border-radius:9px }.entity-avatar.tone-1 { color:#676155; background:#f1eee6; border-color:#e7e1d4 }.entity-avatar.tone-2 { color:#765b70; background:#f3eaf0; border-color:#e7dce4 }.entity-avatar.tone-3 { color:#516858; background:#eaf1eb; border-color:#d9e5dc }.asset-tone { color:#45645f; background:#e9f1ef; border-color:#d9e5e1 }
.wb-status { display:inline-flex; gap:5px; align-items:center; white-space:normal; border-radius:4px; padding:3px 7px; font-size:11px; line-height:1.5; color:#445b7b; background:#edf2f9; font-weight:450 }.wb-status.checking { color:#345b87; background:#edf2fa }.wb-status.open { color:#855520; background:#fbf1df }.wb-status.review { color:#35634b; background:#e9f3ed }
.wb-table-footer { display:flex; gap:12px; justify-content:space-between; padding:12px 17px; font-size:11px; color:#657083; border-top:1px solid #e5e8ec; background:#fafbfc; flex:none }
.wb-empty { padding:38px 25px; text-align:center; color:#5f6d82; font-size:12px }.wb-empty h3 { margin-bottom:12px }.wb-empty .wb-button { margin-top:18px }
.wb-detail { border-left:1px solid #e4e8ef; padding:19px 21px; min-width:0; overflow:auto; scrollbar-width:thin; background:#fff }.detail-eyebrow { display:flex; justify-content:space-between; gap:10px; font-size:11px; color:#68748a; margin-bottom:18px }.detail-eyebrow>span { font-size:11px }.detail-entity { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:15px }.detail-entity .wb-status { font-size:11px }.wb-detail h3 { font-size:19px; line-height:1.4; margin-bottom:6px; overflow-wrap:anywhere }.detail-subtitle { color:#657083; font-size:11px }.detail-fields { display:grid; gap:12px; margin:20px 0 18px; padding:0 }.detail-fields>div { display:grid; grid-template-columns:minmax(0,1fr); gap:3px; font-size:12px; line-height:1.7 }.detail-fields dt { color:#667287 }.detail-fields dd { margin:0; color:#3e4b61; overflow-wrap:anywhere }.detail-fields dd .owner-avatar { width:24px; height:24px; font-size:11px; margin-right:4px }.detail-checklist { padding-top:15px; border-top:1px solid #e7ebf0 }.detail-checklist h4 { font-size:11px; margin-bottom:12px }.detail-checklist p { display:flex; align-items:center; gap:7px; font-size:12px; color:#5e6c80; margin-top:8px }.tiny-check { color:#507962 }.tiny-pending { color:#936a34 }
.wb-text-button { display:inline-flex; align-items:center; gap:9px; padding:0; border:0; background:transparent; font-size:12px!important; color:#3c567b!important; text-align:left; line-height:1.6!important; min-height:32px }.wb-detail>.wb-text-button { margin-top:16px }.wb-text-button .ui-icon { width:14px; height:14px }
.demo-statusbar { display:flex; justify-content:space-between; align-items:center; gap:22px; padding:11px 18px; border-top:1px solid #dfe4ec; background:#fafbfc; color:#657083; font-size:11px; line-height:1.6 }.demo-statusbar>span:first-child { min-width:0; overflow-wrap:anywhere }.demo-statusbar>span:last-child { white-space:nowrap; color:#4d607d }.wb-nojs { padding:16px; background:#eef2f7; font-size:12px; color:#415472 }

/* Ownership, screening and the file share the same record context. */
.view-ownership { padding:35px 28px; overflow:auto; display:flex; flex-direction:column; align-items:center; justify-content:center; background-image:radial-gradient(#d6dce7 .6px,transparent .6px); background-size:16px 16px }.ownership-root { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; border:1px solid #ccd7e6; box-shadow:0 3px 6px #243d5c07; background:white; padding:19px 28px; border-radius:7px; max-width:100%; text-align:center }.ownership-root strong { font-size:12px;font-weight:550 }.ownership-root>span:last-child { font-size:11px; color:#657083 }.ownership-branches { display:flex; justify-content:center; gap:30px; width:100%; padding-top:54px; position:relative }.ownership-branches::before { content:""; position:absolute; top:0; left:50%; height:28px; border-left:1px solid #adbed2 }.ownership-branches::after { content:""; position:absolute; top:27px; left:24%; right:24%; border-top:1px solid #adbed2 }.ownership-node { display:flex; align-items:center; flex-direction:column; gap:10px; width:50%; max-width:210px; border:1px solid #ccd7e6; background:white; border-radius:7px; padding:22px 13px 17px; position:relative; text-align:center }.ownership-node::before { content:""; position:absolute; bottom:100%; left:50%; height:27px; border-left:1px solid #adbed2 }.ownership-node:hover { border-color:#5b7ca4; box-shadow:0 3px 12px #263b5d12 }.ownership-node strong { font-size:12px; font-weight:550; max-width:150px }.ownership-node small { font-size:11px; color:#657083 }.ownership-share { position:absolute; top:-15px; border:1px solid #c5d3e5; border-radius:4px; padding:3px 8px; background:#f4f7fb; font-size:11px; z-index:1 }.wb-explainer { max-width:390px; margin-top:29px; font-size:11px; line-height:1.8; color:#647189; text-align:center }.ownership-empty { max-width:400px; background:white; border:1px solid #e0e6ef; border-radius:8px }
.view-screening { overflow:auto; padding:24px }.screening-intro h3 { font-size:19px; margin:12px 0 6px }.screening-intro>p { font-size:11px; color:#637087 }.screening-types { display:flex; gap:20px; margin-top:21px; border-bottom:1px solid #dfe5ee }.screening-types button { border:0; border-bottom:2px solid transparent; background:transparent; font-size:12px; padding:9px 0 11px; margin-bottom:-1px }.screening-types button[aria-selected=true] { border-color:#3c5b84; color:#284a75; font-weight:550 }.screening-types button>span { margin-left:5px; font-size:11px; background:#eff2f7; border-radius:3px; padding:2px 5px; color:#5e6e86 }.screen-result { border:1px solid #e1e6ee; border-radius:6px; padding:17px; margin-top:18px }.match-heading { display:flex; align-items:center; gap:9px; flex-wrap:wrap }.match-heading>div { flex:1 }.match-heading strong { font-size:12px; font-weight:550; display:block }.match-heading small { font-size:11px; color:#657083; display:block; margin-top:3px }.match-heading .wb-status { font-size:11px }.match-comparison { display:grid; grid-template-columns:1fr 1fr; gap:20px; border-block:1px solid #e7ebf1; padding:13px 0; margin:17px 0; font-size:12px; line-height:1.75 }.match-comparison dt { font-size:11px; color:#647189; margin-bottom:5px }.match-comparison dd { margin:0 }.screen-result>.wb-button { margin-top:12px }.wb-field { display:block; font-size:11px; color:#526077; line-height:1.6 }.wb-field input,.wb-field select,.wb-field textarea { display:block; width:100%; border:1px solid #d5ddea; border-radius:4px; padding:8px 10px; margin-top:7px; background:white; color:#34465f; font-size:12px }.wb-field textarea { resize:vertical; min-height:75px }.wb-field input::placeholder,.wb-field textarea::placeholder { color:#6a7689; opacity:1 }.wb-feedback { color:#3b6553; font-size:11px; line-height:1.65; margin-top:10px }.wb-feedback:empty { display:none }.wb-footnote { font-size:11px; line-height:1.75; color:#687489; margin-top:17px }.screen-clear { padding:14px 5px; text-align:center }.screen-clear>span { display:grid; place-items:center; width:33px; height:33px; margin:0 auto 12px; color:#4d7564; background:#edf4f0; border-radius:50% }.screen-clear h3 { font-size:15px; margin-bottom:10px }.screen-clear p { font-size:11px; color:#627189; max-width:360px; margin:auto }.screen-clear small { display:block; margin-top:15px; color:#6c788b; font-size:11px }.media-excerpt { font-size:11px; color:#607087; background:#f7f9fc; border-left:2px solid #c7d3e5; padding:13px; margin-top:16px }
.view-audit { padding:24px; overflow:auto }.audit-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px }.wb-view-heading { font-size:13px!important; margin-bottom:17px }.document-list { margin-bottom:21px }.document-list>button { display:flex; align-items:center; gap:9px; width:100%; border:1px solid #e1e6ee; background:white; border-radius:5px; padding:11px 10px; text-align:left; margin-bottom:8px }.document-list>button>.ui-icon { width:16px; height:16px; color:#6b7b92 }.document-list>button>.ui-icon:last-child { margin-left:auto; width:12px; height:12px }.document-list strong { font-size:12px; font-weight:500; display:block }.document-list small { display:block; font-size:11px; color:#657083; margin-top:4px }.document-list>button:hover { background:#f6f8fc }.audit-grid .wb-button { margin-top:10px }.activity-list { padding:0; list-style:none }.activity-list li { display:flex; gap:12px; position:relative; padding-bottom:23px }.activity-list li:not(:last-child)::before { position:absolute; content:""; left:3px; top:12px; bottom:0; border-left:1px solid #e1e6ef }.activity-dot { width:7px; height:7px; background:#8fa3be; border:2px solid #f1f4f9; outline:1px solid #b8c6d8; border-radius:50%; margin-top:5px; flex:none; z-index:1 }.activity-list strong { font-size:12px; font-weight:550 }.activity-list p { font-size:12px; color:#5e6c82; line-height:1.8; margin-top:5px; overflow-wrap:anywhere }.activity-list small { font-size:11px; color:#586a83; margin-top:7px; display:block }

/* Buildings and illustrative portfolio scenarios. */
.wb-period { font-size:11px; color:#6a7589 }.portfolio-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid #e6eaf0; padding:17px 18px; gap:16px; flex:none }.portfolio-metrics>div+div { padding-left:16px; border-left:1px solid #e6eaf0 }.portfolio-metrics span { display:block; font-size:11px; color:#657083; margin-bottom:7px }.portfolio-metrics strong { font-size:22px; font-weight:500; letter-spacing:-.04em; font-variant-numeric:tabular-nums }.portfolio-metrics small { font-size:11px; font-weight:400; letter-spacing:0; display:block; margin-top:3px; color:#657083 }.energy-class { display:inline-flex; align-items:center; justify-content:center; width:21px; height:20px; border-radius:3px; font-size:11px; background:#f6ead6; color:#825723 }.class-B,.class-C { color:#3d6850; background:#e7f0e8 }.class-F { background:#f5e2dc; color:#8d513e }
.building-elevation { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:18px 25px 0; width:126px; height:89px; background:#e2e9ef; border:1px solid #cfd9e3; border-bottom:4px solid #b8c8d6; border-radius:5px 5px 0 0; margin:9px auto 25px; position:relative }.building-elevation::before { content:""; position:absolute; top:-7px; left:6px; right:6px; height:6px; background:#c8d5e2; border:1px solid #bfcfdd }.building-elevation i { height:13px; background:#f8fafc; box-shadow:inset 0 -4px #bbccdb }
.product-demo[data-active-view=scenario] .wb-canvas,.product-demo[data-active-view=sources] .wb-canvas { grid-template-columns:minmax(0,1fr) }.product-demo[data-active-view=scenario] .wb-detail,.product-demo[data-active-view=sources] .wb-detail { display:none }
.view-scenario { padding:26px 28px; overflow:auto }.scenario-heading { display:flex; justify-content:space-between; align-items:center; gap:26px; margin-bottom:26px }.scenario-heading h3 { font-size:22px; margin-top:10px }.scenario-saved { display:flex; flex-direction:column; align-items:flex-end; gap:4px }.scenario-saved strong { font-size:31px; font-weight:500; color:#3d725b; letter-spacing:-.04em; font-variant-numeric:tabular-nums }.scenario-saved small { font-size:11px; color:#657083 }.scenario-grid { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:30px }.chart-legend { display:flex; gap:20px; align-items:center; color:#627086; font-size:11px; margin-bottom:20px }.chart-legend span { display:flex; gap:6px; align-items:center }.chart-legend>span:last-child { margin-left:auto }.chart-legend i { width:16px; border-top:1px dashed #9cacc1; height:1px }.chart-legend span:nth-child(2) i { border-top:2px solid #c35a32 }.carbon-chart { width:100%; height:auto; max-height:255px; overflow:visible }.carbon-chart text { font-family:var(--sans); font-size:11px; fill:#68768b }.chart-grid { fill:none; stroke:#e0e6ee; stroke-width:1 }.chart-baseline { fill:none; stroke:#9aaabf; stroke-dasharray:5 5; stroke-width:1.4 }.chart-area { fill:#d9e5ef; opacity:.6 }.chart-plan { fill:none; stroke:#c35a32; stroke-width:2.5; stroke-linejoin:round; stroke-linecap:round }.scenario-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:15px; border-top:1px solid #e2e8f0; padding-top:20px }.scenario-results>div>span { font-size:11px; color:#637189; display:block; margin-bottom:7px }.scenario-results b { font-weight:400 }.scenario-results strong { font-size:21px; font-weight:500; letter-spacing:-.04em; font-variant-numeric:tabular-nums }.scenario-results strong small { font-size:11px; font-weight:400; letter-spacing:0 }.scenario-controls { background:#f7f9fc; border:1px solid #e1e7ef; border-radius:6px; padding:18px; align-self:start }.scenario-controls h4 { margin-bottom:22px; font-size:12px }.scenario-controls label { display:flex; align-items:center; justify-content:space-between; font-size:11px; color:#52637c; margin-bottom:12px }.scenario-controls output { font-size:12px; font-weight:550; color:#2e496d }.scenario-controls input[type=range] { width:100%; accent-color:#425f8a; height:22px; margin:0; cursor:pointer }.range-limits { display:flex; justify-content:space-between; font-size:11px; color:#586a83; margin:5px 0 24px }.scenario-controls select { width:100%; border:1px solid #d6dfeb; border-radius:4px; background:white; color:#3d506f; padding:7px 9px; font-size:12px }.assumption-note { font-size:11px; line-height:1.85; color:#63728a; margin-top:16px }.scenario-controls .wb-text-button { font-size:12px!important; margin-top:12px; text-decoration:underline; text-underline-offset:3px }
.view-sources { overflow:auto; padding:29px }.sources-view>p { color:#62728b; font-size:12px; line-height:1.8; margin-bottom:25px }.sources-view .wb-view-heading { font-size:22px!important }.source-ledger { display:grid; grid-template-columns:1fr 1fr; gap:20px }.source-ledger>div { border-top:1px solid #d9e1ed; padding-top:17px }.source-ledger span { display:block; color:#65738a; font-size:11px }.source-ledger strong { display:block; font-size:15px; font-weight:500; margin:9px 0 }.source-ledger small { font-size:11px; color:#64738a }.source-method { border:1px solid #d9e3ee; border-radius:5px; background:#f7f9fc; padding:20px; margin-top:30px }.source-method h4 { font-size:13px }.source-method p { color:#5a6d87; font-size:11px; line-height:1.8; max-width:700px; margin-top:10px }

/* Native dialogs retain keyboard focus and Escape behavior. */
.wb-dialog { padding:32px; color:#263249; background:#fbfcfe; border:1px solid #d3dce9; border-radius:10px; box-shadow:0 30px 100px #0f234342; max-width:470px; width:calc(100% - 32px) }.wb-dialog::backdrop { background:#12213966; backdrop-filter:blur(3px) }.wb-close { position:absolute; top:15px; right:15px; width:30px; height:30px; display:grid; place-items:center; border:1px solid #dce3ed; background:white; border-radius:5px; font-size:22px!important }.wb-dialog h2 { font-size:25px; margin:15px 0 10px }.wb-dialog>p { font-size:12px; color:#637189; margin-bottom:25px }.wb-dialog .wb-field { margin-bottom:20px; font-size:12px }.wb-dialog .wb-field input,.wb-dialog .wb-field select { font-size:14px; min-height:42px }.wb-form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px }.wb-dialog .wb-button { min-height:40px; font-size:12px!important }.document-dialog { max-width:560px }.document-paper { margin-top:23px; padding:28px; border:1px solid #e0e5ec; background:white; box-shadow:4px 4px 0 #e8edf4; position:relative }.document-watermark { font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:#66758d; border-bottom:1px solid #dfe6ef; padding-bottom:12px; margin-bottom:18px }.document-reference { font-size:11px; color:#61738f }.document-paper h3 { margin:12px 0 22px }.document-paper dl>div { margin:15px 0 }.document-paper dt { font-size:11px; color:#65718a }.document-paper dd { margin:4px 0 0; font-size:12px; overflow-wrap:anywhere }.document-paper>p:last-child { margin-top:23px; font-size:11px; line-height:1.8; color:#5d6d87 }

/* The platform story follows the product. */
.product-depth { padding:74px 0 }.depth-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:85px; align-items:end; margin-bottom:50px }.depth-heading h2 { font-size:clamp(38px,4vw,59px) }.depth-heading>p { color:var(--muted); font-size:14px; line-height:1.85 }

.shared-platform { --ink:#f0f4fa; padding:93px 0; color:#f5f7fc; --muted:#b6c9e1; --line:#ffffff30; background:#192947 }.shared-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:end }.shared-heading h2 { font-size:clamp(38px,3.9vw,58px) }.shared-heading>p { color:var(--muted); font-size:14px; line-height:1.9 }
.data-foundation { margin:55px 0 56px; display:grid; grid-template-columns:1fr 2fr; gap:0; border:1px solid var(--line); border-radius:5px; overflow:hidden }.foundation-core { padding:33px; display:flex; justify-content:center; flex-direction:column; border-right:1px solid var(--line) }.foundation-monogram { font:500 43px/.9 var(--serif); margin-bottom:23px }.foundation-core strong { font-size:17px; font-weight:500; margin-bottom:9px }.foundation-core>span:last-child { font-size:11px; color:var(--muted) }.foundation-connections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:26px; padding:33px }.foundation-module { font:400 30px/1.2 var(--serif) }.foundation-connections p { font-size:12px; margin:13px 0 8px }.foundation-connections small { font-size:11px; color:var(--muted) }.foundation-future { padding-left:23px; border-left:1px dashed var(--line) }.foundation-future .foundation-module { font-size:23px }.platform-outlook { display:grid; grid-template-columns:1fr 1fr; gap:120px; align-items:start }.platform-outlook h3 { font-size:29px; margin-bottom:18px }.platform-outlook>div>p { color:var(--muted); font-size:13px; line-height:1.85 }.outlook-list>p { display:flex; flex-direction:column; gap:8px; padding:17px 0; border-bottom:1px solid var(--line); font-size:13px }.outlook-list>p:first-child { padding-top:0 }.outlook-list strong { font-weight:500; color:var(--ink) }.outlook-list span { color:var(--muted); font-size:12px }
.deployment-section { --muted:#4c5d77; padding:100px 0; background:#cbdcec }.deployment-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center }.deployment-grid h2 { font-size:60px; margin-bottom:28px }.deployment-grid>div>p { font-size:15px; line-height:1.85; color:var(--muted); max-width:510px }.deployment-list { padding:0; list-style:none; margin:25px 0 28px; font-size:13px; color:var(--muted) }.deployment-list li { border-top:1px solid var(--line); padding:13px 0 }.deployment-list li:last-child { border-bottom:1px solid var(--line) }
.infrastructure-diagram { color:#263b60; font-family:var(--sans) }.infra-boundary { border:1px solid #8ba8c6; padding:32px; border-radius:14px; background:#edf3f9; position:relative }.infra-owner { position:absolute; top:-11px; left:23px; background:#edf3f9; border:1px solid #a6bcd3; border-radius:4px; padding:3px 10px; color:#435c7a; font-size:11px }.infra-apps { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:18px 0 31px }.infra-apps>div { display:flex; align-items:center; gap:12px; background:white; border:1px solid #d5e0eb; padding:17px; border-radius:7px; position:relative }.infra-apps>div::after { position:absolute; content:""; left:50%; top:100%; height:32px; border-left:1px solid #b4c6d9 }.infra-apps strong { font-size:15px; font-weight:500 }.infra-apps .product-glyph { width:35px; height:35px; font-size:28px; border-radius:7px }
.infra-database { display:flex; align-items:center; flex-direction:column; gap:10px; padding:25px; background:white; border:1px solid #d5e0eb; border-radius:7px; text-align:center }.infra-database .ui-icon { width:26px; height:26px; color:#627e9c }.infra-database strong { font-size:16px; font-weight:500 }.infra-database>span { font-size:11px; color:#586a83 }.infra-controls { display:flex; justify-content:space-around; gap:14px; margin-top:24px; font-size:11px; color:#586a83 }.infra-connector { text-align:center }.infra-connector>span { height:32px; display:block; width:1px; border-left:1px dashed #6b89ab; margin:auto }.infra-connector p { display:inline-block; padding:12px 23px; background:#edf3f9; border:1px dashed #95afc9; border-radius:5px; font-size:11px; color:#3c5c7e }.infra-connector small { display:block; color:#586a83; font-size:11px; margin-top:4px }
.presence h2 { font-style:normal;font-size:clamp(38px,3.6vw,53px) }.presence .eyebrow { text-transform:none; letter-spacing:0; font-size:12px }.location-number { text-transform:none; letter-spacing:0; font-size:11px }.presence-visual { max-height:650px; overflow:hidden }.presence-visual svg { max-height:600px }
.pilot-section { padding:90px 0; background:#faf9f5 }.pilot-heading { max-width:730px }.pilot-heading h2 { margin:25px 0; font-size:clamp(42px,4.3vw,63px) }.pilot-heading>p { font-size:15px; color:var(--muted); max-width:590px; line-height:1.85 }.pilot-steps { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:40px; margin-top:43px }.pilot-steps li { border-top:1px solid var(--line); padding-top:23px }.pilot-steps li>span { color:var(--muted); font-size:12px }.pilot-steps h3 { font-size:29px; margin:19px 0 17px }.pilot-steps p { color:var(--muted); font-size:13px; max-width:330px; line-height:1.8 }.pilot-questions { margin-top:50px; max-width:calc((100% - 80px) * 2 / 3 + 40px) }.pilot-questions details { border-top:1px solid var(--line) }.pilot-questions summary { display:flex; align-items:center; gap:25px; padding:20px 0; font-size:14px }.pilot-questions details>p { font-size:13px; line-height:1.9; color:var(--muted); padding-bottom:22px; max-width:760px }

/* Module pages share the actual demonstration, then explain its domain. */
.module-hero { padding:29px 0 66px }.module-hero-grid { display:grid; grid-template-columns:1.8fr 1fr; gap:95px; align-items:center }.module-title-line { display:flex; align-items:center; gap:13px; font-size:15px; font-weight:500; margin-bottom:25px }.module-title-line .availability { margin-left:8px; border-left:1px solid var(--line); padding-left:17px }.module-hero h1 { font-size:clamp(49px,5.2vw,77px); line-height:1.08; letter-spacing:-.045em; margin-bottom:25px }.module-hero-grid>div>p { font-size:16px; color:var(--muted); line-height:1.85; max-width:635px; margin-bottom:30px }.module-scope { border-left:1px solid var(--line); padding-left:36px }.module-scope>span { color:var(--muted); font-size:12px; margin-bottom:18px; display:block }.module-scope>a { display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:13px; border-bottom:1px solid var(--line); padding:16px 0 }.module-scope svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.4 }.module-scope p { color:var(--muted); font-size:11px; line-height:1.85; margin-top:23px }
.module-demo-section { padding:55px 0 40px; background:#e7edf5 }.module-demo-heading { display:flex; justify-content:space-between; align-items:end; gap:60px; margin-bottom:30px }.module-demo-heading h2 { font-size:37px }.module-demo-heading p { font-size:13px; color:var(--muted); max-width:420px; line-height:1.8 }.demo-tour { display:flex; align-items:center; flex-wrap:wrap; gap:8px 24px; padding:0 0 22px; font-size:12px; color:var(--muted) }.demo-tour>span:first-child { color:var(--ink) }
.module-story { padding:90px 0 }.story-grid { display:grid;min-width:0; grid-template-columns:1fr 1fr; gap:110px; align-items:center }.story-grid>div { min-width:0 }.story-grid h2 { font-size:clamp(34px,3.5vw,50px); margin-bottom:26px }.story-grid>div>p { color:var(--muted); font-size:14px; line-height:1.9; max-width:520px }.story-list { list-style:none; margin:26px 0 0; padding:0; font-size:13px; color:var(--muted) }.story-list li { padding:11px 0 11px 21px; position:relative }.story-list li::before { position:absolute; content:""; width:5px; height:5px; background:currentColor; left:0; top:20px; border-radius:1px }.scope-note { color:var(--muted); font-size:11px!important; line-height:1.8; margin-top:23px }.screening-story { background:#dce7f2 }
.relationship-example { color:#2e4261; background:#eef2f7; border:1px solid #d2dce9; border-radius:10px; padding:31px; font-family:var(--sans) }.relationship-person { display:flex; flex-direction:column; align-items:center; padding-bottom:28px; gap:11px }.relationship-person strong { font-size:16px; font-weight:500 }.relationship-person small { font-size:11px; color:#586a83 }.relationship-links { border-top:1px solid #cbd7e6 }.relationship-links>div { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:17px 0; border-bottom:1px solid #cbd7e6 }.relationship-links small { color:#586a83; font-size:11px }.relationship-links strong { font-size:12px; font-weight:500;text-align:right }.relationship-example>p { font-size:11px!important; color:#586e8b!important; text-align:center; margin-top:22px }
.review-example { padding:30px; border:1px solid #cedbe9; border-radius:11px; background:white; color:#2b405f }.review-example-head { display:flex; justify-content:space-between; align-items:center; gap:15px; font:400 11px var(--sans); color:#586a83 }.review-example h3 { font-size:clamp(22px,2.45vw,35px); margin:32px 0 }.review-example-comparison { display:flex; align-items:center; justify-content:space-around; gap:25px; padding:22px 0; border-block:1px solid #dfe6ef }.review-example-comparison>span { font-size:27px; color:#6c7f99 }.review-example-comparison small { font-size:11px; color:#586a83; display:block; margin-bottom:8px }.review-example-comparison strong { font:500 34px var(--sans); letter-spacing:-.05em; color:#3b587d }.review-example>p { font-size:11px!important; color:#647893!important; margin-top:23px }
.record-example { border:1px solid #d4deeb; padding:27px; background:white; color:#2e4363; border-radius:8px;font-family:var(--sans) }.record-example-heading { display:flex; align-items:center; gap:10px; border-bottom:1px solid #dfe6f0; padding-bottom:20px; font-size:12px }.record-example-heading strong { font-weight:500 }.record-example-heading>span { margin-left:auto; font-size:11px; color:#65758d }.record-example ol { list-style:none; padding:5px 0 0; margin:0 }.record-example li { display:flex; gap:23px; padding-top:25px }.record-example li>span { font-size:11px; min-width:35px; color:#586a83; padding-top:3px }.record-example li strong { font-weight:500; font-size:13px }.record-example li p { font-size:11px; color:#627791; margin-top:7px }
.asset-example { background:#f5f7fa; border:1px solid #d6dfeb; border-radius:10px; padding:30px; color:#30435f }.asset-example-top { display:flex; align-items:center; gap:25px; border-bottom:1px solid #dbe3ef; padding-bottom:25px }.asset-example-top .building-elevation { width:108px; height:100px; margin:6px 0 0; flex:none; padding:18px 17px 0 }.asset-example-top span { font-size:11px; color:#586a83 }.asset-example-top h3 { font-size:29px; margin:10px 0 }.asset-example-top p { font-size:11px; color:#586a83 }.asset-example dl { margin:18px 0 0 }.asset-example dl>div { display:flex; gap:25px; justify-content:space-between; padding:13px 0; border-bottom:1px solid #dde5ef; font:400 12px var(--sans) }.asset-example dt { color:#586a83 }.asset-example dd { margin:0; text-align:right }.asset-example .scope-note { color:#586a83!important }
.scenario-example { border:1px solid #d0ddea; background:#f6f9fc; border-radius:11px; padding:30px; color:#2c4467 }.scenario-example .plain-label { color:#586a83 }.scenario-example h3 { font-size:clamp(21px,2.1vw,29px); line-height:1.25 }.scenario-example>p { font-size:11px!important; color:#586a83!important; margin-top:20px }.scenario-paths { margin-top:35px }.scenario-paths>span { color:#586a83; font-size:11px }.scenario-paths svg { width:100%; fill:none; stroke-width:2; margin-top:8px }.scenario-paths>div { display:flex; justify-content:space-between; font-size:11px; color:#586a83 }.planning-example { padding:27px 30px; border:1px solid #d4deeb; border-radius:9px; background:white; color:#304560 }.planning-example h3 { font-size:clamp(21px,2.1vw,29px); margin-bottom:25px }.planning-example>div { padding:18px 0; border-top:1px solid #dfe7f1 }.planning-example strong { font:500 13px var(--sans); margin:12px 0 8px; display:block }.planning-example p { font-size:11px; color:#627893 }.planning-example>small { color:#586a83; font-size:11px; margin-top:12px; display:block }
.module-pilot { --muted:#4c5d77; background:#cbdcec; padding:63px 0 }.module-pilot>.wrap { display:block }.module-pilot h2 { font-size:43px; margin:15px 0 21px }.module-pilot p { color:var(--muted); font-size:14px; line-height:1.85; max-width:650px }.module-pilot .button { flex:none }.module-next { padding:37px 0; background:#faf9f5; color:#1b2454 }.module-next>.wrap { display:flex; justify-content:space-between; align-items:center; gap:30px }.module-next>.wrap>span { color:#586a83; font-size:12px }.module-next a { display:flex; align-items:center; gap:18px }.module-next strong { font:400 25px var(--serif); text-wrap:balance }.module-next .product-glyph { width:33px; height:33px; font-size:27px; border-radius:6px }
.wb-table-scroll { position:relative }.wb-sr { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0 }
.wb-status.neutral { color:#526076; background:#f1f3f6 }
.class-A,.class-Aplus { color:#2f5f45; background:#dfeee4 }.class-G,.class-H { background:#f1d6cd; color:#7f4331 }.energy-class.class-none { background:transparent; color:#68748a }
.wb-detail .detail-subtitle,.wb-detail .detail-checklist p { overflow-wrap:anywhere }.wb-detail .detail-checklist p { align-items:flex-start }
.screen-summary { display:grid; gap:4px; padding-bottom:13px; border-bottom:1px solid #e7ebf1 }.screen-summary strong { font-size:12px; font-weight:550; color:#304159 }.screen-summary small { font-size:11px; line-height:1.7; color:#5e6c82 }
.screen-parties { list-style:none; margin:0; padding:0 }.screen-party { padding:13px 0; border-bottom:1px solid #edf0f4 }.screen-party:last-child { border-bottom:0 }.screen-party .match-comparison { margin:14px 0 }.screen-party .wb-button { margin-top:12px }.screen-party .media-excerpt { margin-top:13px }
.screen-note { font-size:11px; line-height:1.75; color:#5e6c82; margin-top:12px; padding-top:12px; border-top:1px solid #e7ebf1 }.screen-note .wb-text-button { display:inline-flex; margin-left:4px }
.screen-neutral { padding:26px 12px }.screen-neutral h3 { font-size:15px; margin:12px 0 10px }.screen-neutral p { max-width:380px; margin:auto; font-size:12px; line-height:1.75 }.screen-neutral small { display:block; margin-top:14px; font-size:11px; color:#5e6c82 }
.chart-frame { position:relative; padding-top:4px }.carbon-chart path { vector-effect:non-scaling-stroke }
.chart-axis span { position:absolute; font-size:11px; line-height:1.2; color:#5e6c82; font-variant-numeric:tabular-nums; white-space:nowrap; pointer-events:none }
.chart-y-top { left:7.5%; bottom:calc(87.76% + 3px) }.chart-y-zero { right:calc(92.5% + 5px); top:79.59%; transform:translateY(-50%) }
.chart-x { top:calc(79.59% + 8px); transform:translateX(-50%) }.chart-x-2026 { left:7.5% }.chart-x-2030 { left:22.22% }.chart-x-2040 { left:59.03% }.chart-x-2050 { left:95.83% }
@media (prefers-reduced-motion:no-preference) { .product-panel { animation:product-open .22s ease-out } @keyframes product-open { from { opacity:.5; transform:translateY(3px) } to { opacity:1; transform:none } } }
@media (max-width:1200px) {
  .suite-title { grid-template-columns:minmax(0,1fr) 140px; gap:30px }.compact-signature { width:140px }.suite-title h1 { font-size:6vw }.suite-intro { gap:35px }.suite-intro>p { max-width:540px; font-size:14px }.suite-actions { gap:18px }
  .wb-shell { grid-template-columns:156px minmax(0,1fr) }.wb-sidebar { padding-inline:7px }.wb-view-tabs>button { font-size:12px; gap:7px; padding-inline:9px }.wb-canvas { grid-template-columns:minmax(0,1fr) 235px }.wb-detail { padding-inline:17px }.detail-fields>div { grid-template-columns:minmax(0,1fr) }
  .scenario-grid { grid-template-columns:minmax(0,1fr) 190px; gap:23px }.scenario-controls { padding:15px }.chart-legend { gap:13px;font-size:11px }.scenario-results strong { font-size:18px }.scenario-results { gap:15px }.audit-grid { grid-template-columns:1fr; gap:25px }
  .depth-heading,.shared-heading { gap:60px }.deployment-grid { gap:65px }.story-grid { gap:65px }.module-hero-grid { gap:55px }.module-scope { padding-left:25px }.infra-boundary { padding:25px }.infra-apps>div { padding:12px }.infra-apps { gap:15px }.data-foundation { grid-template-columns:1fr 2fr }.foundation-connections { padding:27px;gap:19px }.foundation-core { padding:27px }.foundation-module { font-size:27px }.foundation-future { padding-left:15px }.foundation-future .foundation-module { font-size:21px }
}
@media (max-width:1100px) {
  .wb-canvas { grid-template-columns:minmax(0,1fr) 215px }.wb-shell { grid-template-columns:122px minmax(0,1fr) }.wb-sidebar { padding-inline:5px }.wb-detail { padding:17px 14px }.wb-detail h3 { font-size:15px }.detail-fields>div { grid-template-columns:1fr; gap:3px }.detail-fields { gap:11px }.wb-heading { padding-inline:16px }.wb-tools { flex-wrap:wrap; gap:7px }.wb-search { flex-basis:100% }.wb-tools select { flex:1 }.view-screening { padding:18px }.screening-types { gap:12px }.screening-types button { font-size:12px }.screening-intro h3 { font-size:17px }.match-heading>.wb-status { margin-top:7px }.screen-result { padding:14px }.view-ownership { padding-inline:18px }.ownership-branches { gap:18px }.ownership-node { padding-inline:9px }.ownership-node strong { font-size:12px }.ownership-node small { font-size:11px }
  .view-scenario { padding:23px }.scenario-grid { grid-template-columns:minmax(0,1fr) 175px;gap:20px }.scenario-heading h3 { font-size:20px }.scenario-results { grid-template-columns:1fr 1fr }.scenario-results>div:last-child { grid-column:1/-1 }.scenario-controls h4 { margin-bottom:15px }.view-scenario .wb-footnote { margin-top:22px }.portfolio-metrics { gap:10px;padding:14px }.portfolio-metrics>div+div { padding-left:10px }.portfolio-metrics strong { font-size:18px }
}
@media (max-width:960px) {
  .suite-title h1 { font-size:6.1vw }.suite-title { grid-template-columns:minmax(0,1fr) 110px; gap:20px }.compact-signature { width:110px }.compact-signature .identity-replay>span { display:none }.suite-intro { align-items:start }.suite-intro>p { max-width:420px }.suite-actions { flex-direction:column; align-items:flex-start; gap:16px }.gallery-heading h2 { max-width:390px }.gallery-heading>p { font-size:11px }.product-panel-intro h3 { font-size:29px }.product-panel-intro p { font-size:12px }.product-detail-link { font-size:11px; gap:12px }
  .shared-heading h2 { font-size:42px }.platform-outlook { gap:60px }.data-foundation { grid-template-columns:1fr }.foundation-core { border-right:0; border-bottom:1px solid var(--line); padding:24px 30px; flex-direction:row; gap:22px; align-items:center; justify-content:flex-start }.foundation-monogram { margin:0 }.foundation-core strong { margin:0 }.foundation-core>span:last-child { margin-left:auto }.foundation-connections { padding:30px;gap:30px }.foundation-future { padding-left:26px }
  .deployment-grid { gap:50px }.deployment-grid h2 { font-size:48px }.infra-boundary { padding:23px 19px }.infra-apps { gap:10px }.infra-apps>div { flex-direction:column; gap:8px;padding:12px }.infra-database { padding:20px 10px }.infra-database>span { font-size:11px }.infra-controls { font-size:11px; gap:10px }.deployment-grid>div>p { font-size:13px }.deployment-list { font-size:12px }
  .module-hero-grid { grid-template-columns:1.5fr 1fr; gap:40px }.module-hero h1 { font-size:51px }.module-hero-grid>div>p { font-size:14px }.module-scope>a { font-size:11px }.module-demo-heading { gap:40px }.module-demo-heading h2 { font-size:31px }.module-demo-heading p { font-size:12px }.story-grid { gap:50px }.story-grid h2 { font-size:34px }.story-grid>div>p { font-size:13px }.story-list { font-size:12px }.review-example,.relationship-example,.asset-example,.scenario-example,.planning-example { padding:24px }.asset-example-top { flex-direction:column;align-items:flex-start }.asset-example-top .building-elevation { margin:8px auto 7px }.asset-example dl>div { font-size:11px }.record-example { padding:22px }.record-example-heading { font-size:11px;flex-wrap:wrap }.record-example li { gap:16px }.record-example li strong { font-size:12px }.module-pilot h2 { font-size:37px }.module-pilot>.wrap { gap:40px }
}
@media (max-width:760px) {
  .suite-hero { padding:30px 0 42px }.suite-topline { margin-bottom:29px }.suite-topline>a { display:none }.suite-title { grid-template-columns:minmax(0,1fr) 85px; gap:18px }.suite-title h1 { font-size:clamp(37px,6.1vw,48px) }.compact-signature { width:85px }.compact-signature .identity-replay { min-height:28px }.suite-intro { display:block;margin-top:20px }.suite-intro>p { max-width:540px; font-size:14px;line-height:1.85 }.suite-actions { flex-direction:row; align-items:center; gap:24px; margin-top:25px }
  .product-gallery { padding:42px 0 56px }.gallery-heading { display:block; margin-bottom:29px }.gallery-heading h2 { max-width:none; font-size:34px }.gallery-heading>p { margin-top:16px; font-size:12px }.gallery-heading>p br { display:none }.product-picker { gap:24px }.product-picker>button { gap:10px; padding-bottom:16px }.product-picker strong { font-size:14px }.product-picker small { font-size:11px }.product-picker .product-glyph { width:35px;height:35px;font-size:28px;border-radius:7px }.carousel-controls { padding-bottom:17px;gap:5px }.carousel-controls>span { display:none }.carousel-controls button { width:30px;height:30px;font-size:17px }.product-panel-intro { display:block;padding:25px 0 22px }.product-panel-intro h3 { font-size:29px }.product-panel-intro p { font-size:13px;max-width:500px;line-height:1.8 }.product-panel-intro .product-detail-link { margin-top:18px;font-size:11px }.product-panel-footer { flex-direction:column; align-items:flex-start;gap:13px; font-size:11px }.product-panel-footer>a { font-size:12px }
  .product-depth,.shared-platform,.deployment-section { padding:60px 0 }.depth-heading,.shared-heading { grid-template-columns:1fr;gap:24px;margin-bottom:35px }.depth-heading h2,.shared-heading h2 { font-size:43px }.depth-heading>p,.shared-heading>p { font-size:14px;max-width:540px }.data-foundation { margin:37px 0 }.foundation-core { flex-wrap:wrap;padding:24px;gap:15px }.foundation-core>span:last-child { margin:0;flex-basis:100% }.foundation-core strong { font-size:17px }.foundation-connections { grid-template-columns:1fr 1fr;gap:26px;padding:26px }.foundation-future { grid-column:1/-1;border-left:0;border-top:1px dashed var(--line);padding:22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:9px }.foundation-future p { margin:0 }.foundation-future small { grid-column:1/-1 }.foundation-module { font-size:31px }.foundation-connections p { font-size:12px }.platform-outlook { grid-template-columns:1fr;gap:28px }.platform-outlook h3 { font-size:30px }.platform-outlook>div>p { font-size:14px }.outlook-list span { font-size:13px }.outlook-list strong { font-size:15px }.deployment-grid { grid-template-columns:1fr;gap:48px }.deployment-grid h2 { font-size:52px }.deployment-grid>div>p { font-size:15px }.deployment-list { font-size:13px }.infrastructure-diagram { max-width:520px;width:100%;margin:auto }.infra-boundary { padding:28px }.infra-apps { gap:22px }.infra-apps>div { flex-direction:row;gap:14px;padding:18px }.infra-database { padding:25px }.infra-database>span { font-size:11px }.infra-owner { font-size:11px }.infra-controls { font-size:11px }.infra-connector p { font-size:12px }.infra-connector small { font-size:11px }
  .presence-visual { max-height:none }.presence h2 { font-size:40px }.pilot-section { padding:60px 0 }.pilot-heading h2 { font-size:45px }.pilot-heading>p { font-size:14px }.pilot-steps { grid-template-columns:1fr;gap:27px;margin-top:33px }.pilot-steps li { padding-top:20px;display:grid;grid-template-columns:25px 1fr;gap:0 15px }.pilot-steps li>span { padding-top:5px }.pilot-steps h3 { margin:0 0 13px;font-size:29px }.pilot-steps p { grid-column:2;max-width:500px;font-size:14px }.pilot-questions { margin-top:37px }.pilot-questions summary { font-size:14px }.pilot-questions details>p { font-size:13px }
  .module-hero { padding:25px 0 43px }.module-hero-grid { grid-template-columns:1fr;gap:32px }.module-title-line { margin-bottom:23px }.module-hero h1 { font-size:clamp(42px,7vw,57px) }.module-hero-grid>div>p { font-size:15px;max-width:560px }.module-scope { padding:22px 0 0;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:0 24px }.module-scope>span { grid-column:1/-1;font-size:11px;margin-bottom:4px }.module-scope>a { font-size:12px;gap:14px;padding:15px 0 }.module-scope>p { display:none }.module-demo-section { padding:38px 0 29px }.module-demo-heading { display:block;margin-bottom:23px }.module-demo-heading h2 { font-size:32px }.module-demo-heading p { margin-top:16px;font-size:13px;max-width:510px }.demo-tour { justify-content:flex-start;font-size:11px;gap:12px 20px;line-height:1.7 }.module-story { padding:58px 0 }.story-grid { grid-template-columns:1fr;gap:35px }.story-grid h2 { font-size:43px }.story-grid>div>p { font-size:14px;max-width:540px }.story-list { font-size:13px;margin-top:19px }.review-example { order:2 }.relationship-example,.review-example,.record-example,.asset-example,.scenario-example,.planning-example { max-width:560px;width:100%;margin:auto;padding:28px }.relationship-links strong { font-size:13px }.relationship-links small { font-size:11px }.relationship-example>p,.review-example>p { font-size:12px!important }.record-example-heading { font-size:12px }.record-example li>span { font-size:11px }.record-example li strong { font-size:14px }.record-example li p { font-size:12px }.asset-example-top { flex-direction:row;gap:22px }.asset-example-top h3 { font-size:28px }.asset-example dl>div { font-size:12px }.scenario-example { order:2 }.planning-example strong { font-size:14px }.planning-example p { font-size:12px }.module-pilot { padding:47px 0 }.module-pilot>.wrap { display:block }.module-pilot h2 { font-size:36px }.module-pilot p { font-size:14px }.module-pilot .button { margin-top:25px }.module-next>.wrap { display:block }.module-next a { margin-top:22px;gap:14px }.module-next strong { font-size:22px }.module-next>.wrap>span { font-size:11px }
}
/* Demo workspaces: phones and tablets up to 1100px use the stacked layout, whose type and targets are sized for touch. */
@media (max-width:1100px) {
  .product-demo { border-radius:9px }.wb-window { padding:11px 12px;gap:10px;min-height:50px }.wb-window>div { gap:8px }.wb-workspace-name { display:none }.demo-badge { font-size:11px; gap:5px }.wb-reset { width:25px;height:25px }.wb-window strong { font-size:11px }.wb-shell { grid-template-columns:1fr }.wb-sidebar { padding:7px; border-right:0;border-bottom:1px solid #e4e7ed }.wb-sidebar>p,.wb-sidebar-bottom,.wb-user { display:none }.wb-view-tabs { display:flex;gap:5px }.wb-view-tabs>button { flex:1; justify-content:center; flex-direction:column;gap:5px;padding:8px 5px;font-size:12px }.wb-view-tabs>button small { display:none }.wb-view-tabs .ui-icon { width:17px;height:17px }.wb-heading { padding:12px 14px;min-height:57px }.wb-heading h3 { font-size:14px }.wb-heading>div { gap:7px }.wb-heading .wb-button { font-size:11px!important;padding:6px 9px }.wb-canvas { grid-template-columns:minmax(0,1fr);height:auto }.wb-primary { height:auto;min-height:484px }.wb-detail { padding:23px; border-left:0;border-top:1px solid #e2e8f0;max-height:none }.wb-detail h3 { font-size:20px }.detail-eyebrow { font-size:11px;margin-bottom:18px }.detail-entity .wb-status { font-size:11px }.detail-subtitle { font-size:12px }.detail-fields { gap:13px;margin-block:20px }.detail-fields>div { grid-template-columns:95px minmax(0,1fr);gap:17px;font-size:12px }.detail-checklist h4 { font-size:12px }.detail-checklist p { font-size:11px }.wb-detail>.wb-text-button { font-size:12px!important }.wb-tools { padding:11px 14px }.wb-search { flex-basis:auto }.wb-search input { font-size:13px;min-height:27px }.wb-tools select { font-size:11px!important;flex:0;max-width:150px }.wb-tools .wb-tool { font-size:11px!important }.wb-table td { height:56px }.wb-table td:first-child { min-width:238px;padding-left:15px }.record-open strong { font-size:11px }.record-open small { font-size:11px }.wb-table th { font-size:11px }.wb-table { font-size:11px }.wb-table .wb-status { font-size:11px }.wb-table-footer { font-size:11px;gap:10px }.demo-statusbar { font-size:11px;line-height:1.8;gap:0;padding:11px 14px }.demo-statusbar>span:last-child { display:none }.wb-table-scroll { scroll-padding-inline:15px }
  .product-demo[data-active-view=scenario] .wb-primary,.product-demo[data-active-view=sources] .wb-primary { height:auto }.view-scenario { padding:24px 20px }.scenario-heading { align-items:flex-start;gap:20px }.scenario-heading h3 { font-size:21px }.scenario-saved strong { font-size:27px }.scenario-saved small { max-width:80px;text-align:right;font-size:11px }.scenario-grid { grid-template-columns:1fr;gap:25px }.chart-legend { font-size:11px;gap:16px }.scenario-results { grid-template-columns:repeat(3,minmax(0,1fr));gap:16px }.scenario-results>div:last-child { grid-column:auto }.scenario-results>div>span { font-size:11px }.scenario-results strong { font-size:20px }.scenario-results strong small { display:block;margin-top:4px }.scenario-controls { padding:20px }.scenario-controls h4 { font-size:14px }.scenario-controls label { font-size:12px }.scenario-controls output { font-size:14px }.scenario-controls select { font-size:16px;min-height:41px }.assumption-note { font-size:11px }.scenario-controls .wb-text-button { font-size:12px!important }.wb-footnote { font-size:11px }.range-limits { font-size:11px }.portfolio-metrics { gap:12px;padding:17px 14px }.portfolio-metrics strong { font-size:22px }.portfolio-metrics small { font-size:11px }.portfolio-metrics span { font-size:11px }.wb-period { font-size:11px }.view-sources { padding:24px }.sources-view>p { font-size:13px }.source-ledger { gap:23px }.source-ledger strong { font-size:14px }.source-method p { font-size:12px }
  .view-ownership { padding:28px 20px;min-height:484px }.ownership-root strong { font-size:12px }.ownership-branches { gap:22px }.ownership-node strong { font-size:12px }.ownership-node small { font-size:11px }.ownership-share { font-size:11px }.wb-explainer { font-size:11px }.view-screening { padding:23px 20px }.screening-intro h3 { font-size:21px }.screening-intro>p { font-size:12px }.screening-types { gap:24px }.screening-types button { font-size:12px }.screen-result { padding:17px }.match-heading strong { font-size:12px }.match-heading small { font-size:11px }.match-heading>.wb-status { font-size:11px }.match-comparison { font-size:12px }.match-comparison dt { font-size:11px }.wb-field { font-size:12px }.wb-field input,.wb-field select,.wb-field textarea { font-size:16px }.screen-result>.wb-button { font-size:11px!important;min-height:44px }.wb-feedback { font-size:11px }.screen-clear h3 { font-size:18px }.screen-clear p { font-size:12px }.view-audit { padding:24px 20px }.audit-grid { grid-template-columns:1fr }.wb-view-heading { font-size:15px!important }.document-list strong { font-size:12px }.document-list small { font-size:11px }.document-list>button { padding:14px 12px }.activity-list strong { font-size:12px }.activity-list p { font-size:12px }.activity-list small { font-size:11px }.activity-list li { padding-bottom:27px }.audit-grid .wb-button { font-size:12px!important;min-height:44px }.product-demo[data-active-view=screening] .wb-primary { height:640px }
  .wb-dialog { padding:27px 22px }.wb-dialog .wb-field input,.wb-dialog .wb-field select { font-size:16px }.wb-dialog .wb-field { font-size:12px }.wb-form-row { gap:16px }.document-paper { padding:21px }.document-paper h3 { font-size:20px }.document-paper dd { font-size:13px }.document-paper>p:last-child { font-size:12px }
}
@media (max-width:440px) {
  .suite-title { grid-template-columns:1fr;position:relative }.suite-title h1 { font-size:clamp(37px,9.8vw,43px);padding-right:0 }/* Phones: the header already carries the K/i mark, so the hero signature steps aside instead of stacking a second mark on the eyebrow line. */.compact-signature { display:none }.suite-intro>p { font-size:13px }.suite-actions { gap:21px }.suite-actions .button { font-size:12px }.suite-actions .text-link { font-size:12px }.suite-topline { margin-bottom:24px }.product-picker-row { align-items:center }.product-picker { gap:18px }.product-picker>button { gap:8px }.product-picker strong { font-size:13px }.product-picker small { font-size:11px }.product-picker .product-glyph { width:29px;height:29px;font-size:25px;border-radius:6px }.carousel-controls { flex-direction:column;gap:4px;padding-bottom:12px }.carousel-controls button { width:26px;height:26px;font-size:15px }.gallery-heading h2 { font-size:31px }.product-panel-intro h3 { font-size:28px }.wb-window { gap:6px }.demo-badge { font-size:11px }.wb-window>div { gap:7px }.wb-view-tabs>button { font-size:12px;padding:8px 3px;gap:4px }.wb-view-tabs .ui-icon { width:16px;height:16px }.wb-tools { gap:8px }.wb-search { flex-basis:100% }.wb-tools select { flex:1;max-width:none }.wb-heading .wb-button { font-size:11px!important }.wb-heading h3 { font-size:13px }.portfolio-metrics strong { font-size:18px }.portfolio-metrics span { font-size:11px }.portfolio-metrics>div+div { padding-left:9px }.portfolio-metrics { gap:9px }.detail-fields>div { grid-template-columns:85px minmax(0,1fr) }.scenario-heading { display:block }.scenario-saved { flex-direction:row;align-items:baseline;gap:12px;margin-top:15px }.scenario-saved small { max-width:none;text-align:left;font-size:11px }.scenario-results { gap:12px }.scenario-results strong { font-size:18px }.chart-legend { gap:11px;font-size:11px }.view-scenario { padding:22px 16px }.view-screening { padding:23px 16px }.screening-types { gap:18px }.screening-types button { font-size:12px }.view-ownership { padding:24px 14px }.ownership-branches { gap:17px }.ownership-node strong { font-size:12px }.wb-detail { padding:21px 18px }.source-ledger { grid-template-columns:1fr }.depth-heading h2,.shared-heading h2 { font-size:38px }.foundation-core strong { font-size:15px }.foundation-connections { padding:23px;gap:22px }.foundation-future { display:block }.foundation-future p { margin:10px 0 }.infra-boundary { padding:25px 19px }.infra-apps { gap:15px }.infra-apps>div { gap:9px;padding:13px }.infra-apps strong { font-size:13px }.infra-apps .product-glyph { width:29px;height:29px;font-size:25px }.infra-database>span { font-size:11px }.infra-controls { font-size:11px }.module-hero h1 { font-size:clamp(37px,10.5vw,45px);overflow-wrap:break-word;hyphens:none }.module-scope { grid-template-columns:1fr;gap:0 }.module-scope>a { font-size:12px }.story-grid h2 { font-size:38px }.asset-example-top { flex-direction:column;align-items:flex-start }.asset-example-top .building-elevation { margin-inline:auto }.relationship-links { font-size:11px }.relationship-links strong { font-size:11px }.relationship-links small { font-size:11px }.record-example-heading { font-size:11px;gap:7px }.asset-example dl>div { font-size:11px;gap:17px }
}
/* Phones and tablets: labels at 11px or more, controls at least 44px tall. */
@media (max-width:1100px) {
  .wb-reset { width:44px;height:44px }.wb-button,.wb-heading .wb-button,.wb-text-button,.screening-types button,.wb-close { min-height:44px }.wb-close { min-width:44px }
  .wb-tools select { max-width:none;padding-inline:9px }.wb-search { flex-basis:100% }.wb-tools { flex-wrap:wrap }
  .demo-badge { font-size:11px;gap:6px }.wb-window strong { font-size:12px }.wb-view-tabs>button { font-size:12px;min-height:48px }.wb-heading .wb-button { font-size:11px!important;padding:6px 12px }.wb-heading h3 { font-size:15px }
  .record-open strong { font-size:13px }.record-open small,.wb-table th,.wb-table .wb-status,.wb-table-footer,.demo-statusbar,.detail-eyebrow,.detail-eyebrow>span,.detail-entity .wb-status,.owner-avatar { font-size:11px }.detail-fields dd .owner-avatar { width:22px;height:22px;font-size:11px }
  .screening-types button>span,.match-heading small,.match-heading>.wb-status,.screen-summary small,.screen-note,.match-comparison dt,.ownership-node small,.ownership-root>span:last-child,.document-list small,.activity-list small,.wb-footnote,.media-excerpt,.screen-neutral small { font-size:11px }.screen-summary strong { font-size:13px }.screen-neutral p { font-size:12px }
  .portfolio-metrics span,.portfolio-metrics small,.wb-period,.chart-legend,.scenario-results>div>span,.scenario-results strong small,.scenario-saved small,.range-limits,.source-ledger span,.source-ledger small { font-size:11px }
  .chart-axis span { font-size:11px }.carbon-chart { height:190px;max-height:none }
  .product-demo[data-active-view=screening] .wb-primary { height:auto }.view-screening { overflow:visible }.product-demo[data-active-view=audit] .wb-primary { height:auto }.view-audit { overflow:visible }
  .energy-class { width:auto;min-width:24px;height:22px;padding-inline:4px;font-size:11px }.wb-table td>small { font-size:11px }
  .ownership-node strong,.ownership-node small,.ownership-share,.screening-types button,.wb-field,.wb-explainer,.detail-fields>div,.detail-checklist p,.match-comparison dt { font-size:11px }
  .screen-party .wb-button,.wb-empty .wb-button { font-size:11px!important }
  .record-open,.wb-field select,.scenario-controls select { min-height:44px }
  .scenario-controls input[type=range] { height:44px }.screening-types button { min-width:44px }
}
@media (max-width:960px) {
  .carousel-controls button { width:44px;height:44px }
  .wb-status,.entity-avatar { font-size:11px }
  .review-example select { min-height:44px }
  .demo-tour,.product-picker small,.infra-database>span,.infra-controls,.foundation-connections small,.infra-connector small,.record-example-heading>span,.planning-example>small,.relationship-links small,.review-example small,.review-example-head span,.relationship-person small,.asset-example-top span,.infra-owner,.record-example li>span { font-size:11px }
}
/* Touch screens wider than 1100px keep the desktop demo; its controls still get touch-sized targets. */
@media (pointer:coarse) and (min-width:1101px) {
  .carousel-controls button,.wb-reset { min-width:44px;min-height:44px }
  .wb-tool,.wb-button,.wb-text-button,.wb-tools select,.wb-search input,.screening-types button,.wb-close,.wb-view-tabs>button,.record-open,.wb-field select,.scenario-controls select { min-height:44px }
  .scenario-controls input[type=range] { height:44px }.screening-types button { min-width:44px }
}
@media (max-width:440px) {
  .carousel-controls { gap:6px }
}
/* Working context stays visible when a filtered list and the open record differ. */
.wb-selection-notice,.wb-reset-confirm { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; padding:13px 20px; background:#f5f0e7; color:#624a2f; border-bottom:1px solid #e2d7c5; font-size:12px; line-height:1.65 }
.wb-selection-notice>span,.wb-reset-confirm>span { flex:1 1 260px; min-width:0; overflow-wrap:anywhere }
.wb-selection-notice button,.wb-reset-confirm button { padding:8px 12px; min-height:44px; border:1px solid #ac9c82; border-radius:4px; background:#fff; color:#4e422f; font-size:12px }
.product-demo .wb-reset-confirm [data-reset-confirm] { background:#263249; border-color:#263249; color:#fff }
/* In the list views the notice sits below the search field, so typing never moves the field. */
.product-demo[data-active-view=registry] .wb-selection-notice,.product-demo[data-active-view=portfolio] .wb-selection-notice { display:none }
.wb-list-notice { flex:none; display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; padding:9px 17px; background:#f5f0e7; color:#624a2f; border-top:1px solid #e2d7c5; font-size:12px; line-height:1.6 }
.wb-list-notice>span { flex:1 1 240px; min-width:0; overflow-wrap:anywhere }
.wb-list-notice .wb-text-button { margin:0; min-height:36px; color:#4e422f!important; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px }
@media (max-width:1100px),(pointer:coarse) { .wb-list-notice .wb-text-button { min-height:44px } }
.module-breadcrumb { gap:10px 18px; font-size:12px }
.module-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; padding:0 2px }
.module-breadcrumb a[aria-current] { color:var(--ink); box-shadow:inset 0 -1px currentColor }
.demo-tour a { display:inline-flex; align-items:center; gap:12px; min-height:44px; border-bottom:1px solid var(--line); color:var(--ink) }
.demo-tour a:hover { border-color:currentColor }
.module-hero h1 { hyphens:none; overflow-wrap:break-word }
.outcome-ledger { border-top:1px solid var(--line) }
.outcome-ledger article { display:grid; grid-template-columns:120px minmax(0,1fr) auto; gap:32px; align-items:start; padding:30px 0; border-bottom:1px solid var(--line) }
.outcome-module { font-size:12px; color:var(--muted); letter-spacing:.05em; padding-top:8px; font-variant-numeric:tabular-nums }
.outcome-ledger h3 { font-size:30px; margin-bottom:12px }
.outcome-ledger p { max-width:56ch; font-size:14px; line-height:1.85; color:var(--muted) }
.outcome-ledger .product-detail-link { margin-top:9px; min-height:36px }
.module-pilot-heading { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:60px; align-items:end }
.module-pilot-heading h2 { margin-bottom:0; font-size:clamp(36px,3.5vw,49px) }
.pilot-criteria { list-style:none; margin:38px 0 32px; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px }
.pilot-criteria li { padding-top:20px; border-top:1px solid #8d9eb4; min-width:0 }
.pilot-criteria li>span { font:500 11px/1.6 var(--sans); color:var(--muted); letter-spacing:.04em }
.pilot-criteria h3 { font-size:27px; margin:15px 0 13px }
.module-pilot .pilot-criteria p { font-size:13px; line-height:1.85 }
.module-pilot-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 28px }
.module-pilot-actions .text-link { font-size:12px; min-height:44px; display:inline-flex; align-items:center }
.module-pilot .pilot-agreement { font-size:11px; margin-top:24px; max-width:80ch }
@media (max-width:960px) {
  .outcome-ledger article { grid-template-columns:85px minmax(0,1fr); gap:16px 24px }
  .outcome-ledger .product-detail-link { grid-column:2; margin-top:0; min-height:44px }
  .module-pilot-heading { grid-template-columns:1fr; gap:24px }
  .pilot-criteria { gap:24px }
}
@media (max-width:760px) {
  .outcome-ledger article { grid-template-columns:minmax(0,1fr); gap:14px }
  .outcome-ledger .product-detail-link { grid-column:1 }
  .outcome-ledger h3 { font-size:29px }
  .pilot-criteria { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:30px }
  .pilot-criteria h3 { font-size:28px }
  .module-pilot .pilot-criteria p { font-size:14px }
}
/* Phone polish: an orderly tour list, readable tabs, legend and headings at 320-420px. */
.chart-legend { flex-wrap:wrap; row-gap:6px }.chart-legend span { white-space:nowrap }
@media (max-width:760px) {
  .demo-tour { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:end }
  .module-pilot-actions { row-gap:22px }
  .demo-tour>span:first-child { grid-column:1/-1; margin-bottom:2px }
  .demo-tour a { justify-content:space-between }
  .product-demo[data-demo=geco2][data-active-view=portfolio] .wb-primary { height:auto; min-height:620px }
}
@media (max-width:420px) {
  .product-demo[data-demo=gwg] .wb-view-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) }
  .product-demo[data-demo=gwg] .wb-view-tabs>button { flex-direction:row; justify-content:flex-start; gap:8px; padding:8px 10px; min-height:44px }
}
@media (max-width:360px) {
  .wb-heading { padding-inline:12px }.wb-heading>div>.ui-icon { display:none }
  .wb-heading h3,.wb-heading .wb-button { white-space:nowrap; hyphens:none }
}
/* Demo record at desktop width: label and value side by side keep the checklist and main action inside the frame. */
@media (min-width:1101px) {
  .wb-detail .detail-fields>div { grid-template-columns:88px minmax(0,1fr); gap:10px; line-height:1.6 }
  .wb-detail .detail-fields dd { hyphens:auto; hyphenate-limit-chars:10 4 4 }
}
/* Stacked demo toolbar: the sort button matches the search field and filter beside it. */
/* Search, filter and sort: 16px text (no iOS zoom) and 44px height on phones and touch screens only;
   fine-pointer windows up to 1100px keep the 12px demo scale beside the 12px table. */
@media (max-width:760px),(pointer:coarse) {
  .wb-tool,.wb-tools select,.wb-search input { min-height:44px }.wb-tools .wb-tool { min-width:44px;justify-content:center }
  .wb-search input,.wb-tools select { font-size:16px!important }
  .wb-tools .wb-tool { font-size:14px!important; padding-inline:12px }
}
@media (min-width:761px) and (max-width:1100px) and (pointer:fine) { .wb-search input,.wb-tools select,.wb-tools .wb-tool { font-size:12px!important } }
/* Status pills never break mid-label; the table scrolls instead. */
.wb-table .wb-status { white-space:nowrap }
/* Secondary links: the rule sits 5px under the text like .text-link; an invisible layer keeps the 44px target. */
.demo-tour a,.module-pilot-actions .text-link,.module-breadcrumb a,.outcome-ledger .product-detail-link { position:relative; min-height:0; padding-bottom:5px }
.demo-tour a::before,.module-pilot-actions .text-link::before,.module-breadcrumb a::before,.outcome-ledger .product-detail-link::before { content:""; position:absolute; left:50%; top:50%; width:max(100%,44px); height:44px; transform:translate(-50%,-50%) }
/* Pilot criteria: headings of different length still start the body text on one line. */
@media (min-width:761px) {
  .pilot-criteria { grid-template-rows:auto auto 1fr }
  .pilot-criteria li { display:grid; grid-row:span 3; grid-template-rows:subgrid; row-gap:0 }
  .pilot-criteria h3 { align-self:start }
}
@media print {
  .product-demo,.carousel-controls,.compact-signature,.demo-tour,.module-scope { display:none }
  .suite-hero,.product-gallery,.module-story,.product-depth,.shared-platform,.deployment-section,.pilot-section,.module-pilot { padding-block:25px }
  .suite-title,.depth-heading,.story-grid,.shared-heading,.module-hero-grid,.deployment-grid { display:block }
  .module-hero h1,.suite-title h1 { font-size:45px }
}
/* The "more columns" hint only where the demo table really scrolls sideways (natural width 571px). */
@media (max-width:620px) {
  .wb-table-footer>span:last-child { display:none }.wb-table-footer::after { content:"Weitere Spalten →";white-space:nowrap }
}
/* 320px: tabs and carousel arrows share the row without crossing the page margin. */
@media (max-width:359px) { .product-picker-row { gap:10px } }
/* Home questions: the same accordion scale as the FAQ page (.editor-faq); full column width once the pilot steps stack. */
.pilot-questions summary { justify-content:space-between; gap:30px; padding:23px 0; font:400 18px/1.6 var(--sans) }
.pilot-questions details>p { font-size:14px; padding:0 30px 28px 0 }
.pilot-questions details:last-child { border-bottom:1px solid var(--line) }
@media (max-width:960px) { .pilot-questions summary { font-size:16px } }
@media (max-width:760px) { .pilot-questions { max-width:none }.pilot-questions summary { padding:22px 0; gap:20px }.pilot-questions details>p { padding-right:0 } }
@media (max-width:420px) { .pilot-questions summary { font-size:15px } }
/* Phones: the two product tabs are already 44px targets, so the prev/next arrows step aside and the tab labels keep one line. */
@media (max-width:440px) { .carousel-controls { display:none } }
/* The link to the other module is a 44px target at every width. */
.module-next a { min-height:44px }
/* Fine-pointer windows keep the demo scale; the dialog's own submit button shares the touch floor. */
@media (max-width:1100px),(pointer:coarse) { .wb-dialog .wb-button { min-height:44px } }
/* 320px: one demo task per row, so no label wraps beside a one-line neighbour. */
@media (max-width:340px) { .demo-tour { grid-template-columns:1fr } }

/* Legal source within the object record remains an ordinary inline link. */
.detail-fields dd a { text-decoration:underline; text-underline-offset:3px }
