/* One geometry for the marketing site; dark sections invert the same surfaces. */
:root body.cohesive-site {
 --surface-page:#fafafa;--surface-section:#f5f5f5;--surface-panel:#fff;--surface-inset:#f8f8f8;
 --edge:#d5dad3;--text:#252c23;--text-secondary:#586153;--accent:#c9f36b;
 --section-corner:16px;--panel-corner:12px;--inset-corner:8px;
 --section-space:48px;--panel-space:24px;--inset-space:20px;
 --bg:var(--surface-page);--white:var(--surface-panel);--ink:var(--text);--muted:var(--text-secondary);--line:var(--edge);--lime:var(--accent);
 background:var(--surface-page);color:var(--text);
}
:root[data-theme="dark"] body.cohesive-site,
:root body.cohesive-site .entities-section {
 --surface-section:#242424;--surface-panel:#2d2d2d;--surface-inset:#353535;--edge:#50554c;
 --text:#f1f5ed;--text-secondary:#c2cbbb;--accent:#c9f36b;
 --ink:var(--text);--muted:var(--text-secondary);--line:var(--edge);--white:var(--surface-panel);--lime:var(--accent);
 color:var(--text);
}
:root[data-theme="dark"] body.cohesive-site{--surface-page:#1b1b1b;--bg:var(--surface-page)}
:root body.cohesive-site :is(.development-world,.tool-story,.entities-section,.closing){
 border:1px solid var(--edge);border-radius:var(--section-corner);background:var(--surface-section);box-shadow:none;
}
:root body.cohesive-site :is(.tool-story,.entities-section){padding:var(--section-space);margin-block:24px;--ink:var(--text);--muted:var(--text-secondary);--line:var(--edge)}
:root body.cohesive-site .hero .development-world{border-radius:var(--section-corner)}
:root body.cohesive-site .hero .environment-story{padding:32px 40px 24px;background:var(--surface-section)}
:root body.cohesive-site :is(.cohesive-panel,.simulation-story .cohesive-panel,.demo-form,.evidence-chart){
 border:1px solid var(--edge);border-radius:var(--panel-corner);background:var(--surface-panel);box-shadow:none;color:var(--text);
 --ink:var(--text);--muted:var(--text-secondary);--line:var(--edge);
}
:root body.cohesive-site .cohesive-inset,:root body.cohesive-site .entities-section .entity-grid>li:nth-child(n){
 border:1px solid var(--edge);border-radius:var(--inset-corner);background:var(--surface-inset);box-shadow:none;color:var(--text);
}
:root body.cohesive-site :is(.workflow-heading,.simulation-story>.section-heading){display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:start;max-width:none;margin:0 0 32px}
:root body.cohesive-site :is(.workflow-heading h2,.simulation-story>.section-heading h2,.tool-story-copy h2,.section-heading h2,.service-section h2,.audience-section h2,.faq-section h2){font-size:clamp(30px,3vw,42px);line-height:1.16;letter-spacing:-.035em;font-weight:600;max-width:24ch;margin:0 0 20px;text-wrap:balance}
:root body.cohesive-site :is(.workflow-heading h2,.simulation-story>.section-heading h2){margin:0;max-width:none}
:root body.cohesive-site :is(.workflow-heading p,.simulation-story>.section-heading>p:last-child,.section-heading>p:last-child){font-size:15px;line-height:1.75;color:var(--text-secondary);margin:0;max-width:60ch}
:root body.cohesive-site .slide-explanation h3{font-size:clamp(26px,2.4vw,33px);line-height:1.2;margin:0 0 16px}
:root body.cohesive-site .slide-explanation>p{font-size:14px;line-height:1.75;color:var(--text-secondary)}
:root body.cohesive-site .toolkit-preview-window{border-color:var(--edge)}
:root body.cohesive-site .toolkit-overview{border:1px solid var(--edge);border-radius:var(--panel-corner);overflow:hidden;margin-block:28px 24px;background:var(--surface-panel)}
:root body.cohesive-site .toolkit-overview a{padding:18px 20px}
:root body.cohesive-site .toolkit-overview a:hover{background:var(--surface-inset)}
:root body.cohesive-site .local-protection-layout{padding:32px;gap:40px}
:root body.cohesive-site .obfuscation-sample h4{background:var(--surface-inset);border-color:var(--edge);font-size:14px;font-weight:600;padding:18px 20px}
:root body.cohesive-site .local-benefits h3{font-size:27px;font-weight:600;line-height:1.25;margin-bottom:24px}
:root body.cohesive-site .local-benefits p{color:var(--text-secondary);font-size:14px}
:root body.cohesive-site .local-setup-flow{margin-bottom:0}
:root body.cohesive-site .review-handoff{padding:0;margin-top:36px;gap:20px}
:root body.cohesive-site .review-handoff h3{font-size:18px;font-weight:600}
:root body.cohesive-site .review-handoff p{font-size:14px;color:var(--text-secondary)}
:root body.cohesive-site .simulation-entity-content{padding:var(--panel-space)}
:root body.cohesive-site :is(.entity-grid,.simulation-story .entity-grid){grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border:0;margin:0;background:transparent}
:root body.cohesive-site .entities-section .entity-grid>li:nth-child(n){display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:16px;align-content:start;padding:20px}
:root body.cohesive-site .entities-section .entity-art{grid-row:1/3;width:48px;height:48px;margin:0}
:root body.cohesive-site .entities-section .entity-grid :is(h3,h4){font-size:18px;font-weight:600;line-height:1.3;margin:0 0 8px;color:var(--text)}
:root body.cohesive-site .entities-section .entity-grid p{max-width:none;margin:0;font-size:13px;line-height:1.7;color:var(--text-secondary)}
:root body.cohesive-site .simulation-story .simulation-scenarios{--muted:var(--text-secondary);--line:var(--edge);padding-top:0;margin-top:32px}
:root body.cohesive-site .simulation-story .simulation-scenarios .section-heading h3{font-size:26px;font-weight:600;line-height:1.25;margin:0}
:root body.cohesive-site :is(.sandbox-features,.simulation-story .simulation-scenarios .sandbox-features){gap:24px;margin-top:24px}
:root body.cohesive-site .sandbox-feature{padding:24px}
:root body.cohesive-site .simulation-story .simulation-scenarios .sandbox-feature{padding:24px 148px 24px 24px;min-height:220px}
:root body.cohesive-site .simulation-story .simulation-scenarios .sandbox-mode-top{left:auto;right:auto;inset-inline-end:24px;top:24px;margin:0}
:root body.cohesive-site .simulation-story .simulation-scenarios .mode-art{inset-inline-end:0;top:0;width:104px;height:104px;flex-basis:104px}
:root body.cohesive-site .simulation-story .simulation-scenarios .sandbox-feature h4{font-size:24px;font-weight:600;line-height:1.3;margin:0 0 14px}
:root body.cohesive-site :is(.sandbox-feature>p,.simulation-story .simulation-scenarios .sandbox-feature>p){font-size:14px;line-height:1.75;color:var(--text-secondary);margin-bottom:0}
:root body.cohesive-site .simulation-story .simulation-evidence{padding:20px 24px;margin-top:24px;--bg:var(--surface-panel)}
:root body.cohesive-site .green-savings-heading{border-color:var(--edge);padding-bottom:12px}
:root body.cohesive-site .green-savings-heading h3{color:var(--text);font-size:23px;font-weight:600;margin:0}
:root body.cohesive-site .green-savings-heading strong{color:var(--text);font-size:36px}
:root body.cohesive-site .simulation-evidence .evidence-chart{border:0;background:transparent;box-shadow:none}
:root body.cohesive-site .simulation-evidence :is(.effort-saving strong,.evidence-bars h3,.effort-legend){color:var(--text)}
:root body.cohesive-site .simulation-evidence .effort-direction{stroke:var(--accent)}
:root body.cohesive-site .simulation-evidence .effort-legend{font-size:10px;margin:12px 0}
:root body.cohesive-site .simulation-evidence .evidence-bars h3{font-size:12px}
:root body.cohesive-site .simulation-evidence .evidence-bars li+li{margin-top:6px}
:root body.cohesive-site .simulation-evidence :is(.effort-baseline,.legend-baseline){background:#424a3d!important}
:root body.cohesive-site .simulation-evidence :is(.evidence-fill:not(.effort-baseline),.legend-simulated){background:var(--accent)!important}
:root body.cohesive-site .simulation-evidence .evidence-track{background:#424a3d}
:root body.cohesive-site .effort-saving>span:not(.effort-value):not(.sr-only),:root body.cohesive-site .evidence-chart figcaption>.mono{display:none}
:root body.cohesive-site .simulation-evidence .effort-info{color:var(--text-secondary);border-color:var(--edge);background:transparent}
:root body.cohesive-site .signal-board{padding:var(--panel-space)}
:root body.cohesive-site .signal-board-heading{margin-bottom:24px;gap:16px}
:root body.cohesive-site .signal-board-heading h3{font-size:26px;font-weight:600;margin:0;line-height:1.25}
:root body.cohesive-site .signal-board-heading .workflow-outline{width:48px;height:48px}
:root body.cohesive-site .signal-clusters{gap:16px}
:root body.cohesive-site .signal-clusters article{padding:20px}
:root body.cohesive-site .signal-clusters article.signal-selected{border-color:#87a36b;background:#f0f6e9}
:root body.cohesive-site .signal-clusters h4{font-size:19px;font-weight:600;line-height:1.35;margin:0 0 12px}
:root body.cohesive-site .signal-clusters p{font-size:14px;line-height:1.75;color:var(--text-secondary)}
:root body.cohesive-site .investigation{margin-top:32px}
:root body.cohesive-site .investigation-heading{margin-bottom:24px}
:root body.cohesive-site .investigation-heading h3{font-size:26px;font-weight:600;line-height:1.25;margin:0}
:root body.cohesive-site .investigation-steps{gap:24px}
:root body.cohesive-site .investigation-steps li{border:0;padding:0;display:flex;flex-direction:column}
:root body.cohesive-site .investigation-steps h4{font-size:19px;font-weight:600;line-height:1.35;margin:0 0 12px}
:root body.cohesive-site .investigation-steps p{font-size:14px;line-height:1.75;min-height:0;margin:0 0 20px;flex:1;color:var(--text-secondary)}
:root body.cohesive-site .trace-sample{padding:16px}
:root body.cohesive-site .trace-sample code{font-size:11px;line-height:1.8}
:root body.cohesive-site .trace-success{background:transparent;color:#37591f}
:root body.cohesive-site :is(.service-benefits,.service-process,.audience-cards,.tool-story-values){gap:24px}
:root body.cohesive-site :is(.service-benefits article,.service-process li,.audience-cards article,.tool-story-values article){padding:24px}
:root body.cohesive-site .service-process li::before{display:none}
:root body.cohesive-site :is(.service-section h3,.audience-cards h3,.tool-story-values h3){font-size:22px;line-height:1.3;font-weight:600;margin:0 0 16px}
:root body.cohesive-site :is(.service-section p,.audience-cards p){margin:0;font-size:15px;line-height:1.75;color:var(--text-secondary)}
:root body.cohesive-site :is(.service-section,.audience-section){padding-block:48px}
:root body.cohesive-site .service-section h2{max-width:28ch;margin-bottom:28px}
:root body.cohesive-site .service-contact .demo-form,:root body.cohesive-site .demo-form{padding:28px;gap:14px;border-radius:var(--panel-corner)}
:root body.cohesive-site .demo-form :is(input,textarea){border:1px solid var(--edge);border-radius:var(--inset-corner);background:var(--surface-inset);color:var(--text)}
:root body.cohesive-site .demo-form [aria-invalid="true"]{border-color:#ab4238}
:root body.cohesive-site .demo-form .demo-status[data-state="error"]{color:#a23328}
:root[data-theme="dark"] body.cohesive-site .demo-form .demo-status[data-state="error"]{color:#ffaba0}
:root body.cohesive-site .audience-price{padding:32px}
:root body.cohesive-site .steps{border:0;border-radius:0;gap:24px;background:transparent;overflow:visible}
:root body.cohesive-site .steps>li{border:1px solid var(--edge);border-radius:var(--panel-corner);background:var(--surface-panel);box-shadow:none;padding:24px}
:root body.cohesive-site .steps h3{font-size:23px;line-height:1.3;min-height:0;max-width:none}
:root body.cohesive-site .steps p{font-size:14px;line-height:1.75}
:root body.cohesive-site .data-preview{border-color:var(--edge);padding:12px 16px}
:root body.cohesive-site .faq-list details{border-color:var(--edge)}
:root body.cohesive-site .faq-list summary{font-size:18px;line-height:1.5;padding-block:22px}
:root body.cohesive-site .faq-list p{font-size:15px;line-height:1.75;color:var(--text-secondary)}
:root body.cohesive-site .closing{padding:40px;--ink:var(--text);--muted:var(--text-secondary)}
:root body.cohesive-site .closing h2{color:var(--text)}
:root body.cohesive-site .closing .text-link{color:var(--text)}
:root body.cohesive-site .button{border-radius:var(--inset-corner);box-shadow:none}
:root body.cohesive-site .site-header{background:color-mix(in srgb,var(--surface-page) 96%,transparent);border-color:var(--edge)}
:root body.cohesive-site :is(.theme-toggle,.language-picker>summary){border-radius:50%;border-color:var(--edge);box-shadow:none;color:var(--text)}
:root body.cohesive-site .nav-panel{border-radius:var(--panel-corner);border-color:var(--edge);background:var(--surface-panel);box-shadow:0 12px 40px #00000018}
:root body.cohesive-site .nav-option{border-radius:var(--inset-corner)}
:root body.cohesive-site .nav-option:hover,:root body.cohesive-site .nav-option[data-active="true"]{background:var(--surface-inset)}
/* Separate editorial sections with their existing spacing, not horizontal rules.
   Complete panel/card outlines, record rows, chart guides and controls stay intact. */
:root body.cohesive-site :is(.toolkit-preview-window,.hero-bottom,.service-section,.audience-section,.service-grid article,.story-boundary,.workflow-limit,.evidence-section,.sandbox-section,.blog-footer,.environment-note,.cycle-caption,.effort-total):not(.cohesive-panel):not(.cohesive-inset){border-block:0}
:root body.cohesive-site :is(.site-header,.green-savings-heading,.evidence-chart figcaption){border-bottom:0}
:root body.cohesive-site .faq-list,:root body.cohesive-site .faq-list details{border-block:0}
:root body.cohesive-site .faq-list{display:grid;gap:8px}
html[lang="de"] body.cohesive-site :is(h1,h2,h3,h4){hyphens:auto}
@media(max-width:1000px){
 :root body.cohesive-site{--section-space:32px;--panel-space:24px}
 :root body.cohesive-site :is(.workflow-heading,.simulation-story>.section-heading){gap:28px}
 :root body.cohesive-site :is(.entity-grid,.simulation-story .entity-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
 :root body.cohesive-site .entities-section .entity-grid>li:nth-child(n){padding:18px}
 :root body.cohesive-site .simulation-story .simulation-scenarios .sandbox-feature{padding:24px;min-height:0}
 :root body.cohesive-site .simulation-story .simulation-scenarios .sandbox-mode-top{position:static;justify-content:start;margin:0 0 18px}
 :root body.cohesive-site .simulation-story .simulation-scenarios .mode-art{position:static;width:104px;height:104px}
}
@media(max-width:640px){
 :root body.cohesive-site{--section-space:24px;--panel-space:20px;--inset-space:16px}
 :root body.cohesive-site :is(.tool-story,.entities-section){margin-block:20px}
 :root body.cohesive-site :is(.workflow-heading,.simulation-story>.section-heading){grid-template-columns:1fr;gap:20px;margin-bottom:28px}
 :root body.cohesive-site :is(.workflow-heading h2,.simulation-story>.section-heading h2,.section-heading h2,.service-section h2,.audience-section h2,.faq-section h2){font-size:30px;line-height:1.2;max-width:none}
 :root body.cohesive-site .hero .environment-story{padding:24px 20px}
 :root body.cohesive-site .slide-explanation h3{font-size:27px}
 :root body.cohesive-site .local-protection-layout{padding:24px 18px;gap:28px}
 :root body.cohesive-site .review-handoff{margin-top:28px}
 :root body.cohesive-site .service-contact{gap:32px}
 :root body.cohesive-site .local-benefits h3{font-size:25px}
 :root body.cohesive-site :is(.entity-grid,.simulation-story .entity-grid){grid-template-columns:1fr;gap:12px}
 :root body.cohesive-site .entities-section .entity-grid>li:nth-child(n){grid-template-columns:36px minmax(0,1fr);column-gap:12px;padding:16px}
 :root body.cohesive-site .entities-section .entity-art{width:36px;height:40px}
 :root body.cohesive-site .entities-section .entity-grid :is(h3,h4){font-size:17px}
 :root body.cohesive-site .entities-section .entity-grid p{font-size:13px}
 :root body.cohesive-site .simulation-entity-content{padding:16px}
 :root body.cohesive-site .simulation-story .simulation-evidence{padding:20px 16px}
 :root body.cohesive-site .green-savings-heading h3{font-size:21px}
 :root body.cohesive-site .signal-clusters article{padding:20px}
 :root body.cohesive-site .signal-board-heading h3,:root body.cohesive-site .investigation-heading h3{font-size:24px}
 :root body.cohesive-site .service-contact .demo-form,:root body.cohesive-site .demo-form{padding:20px}
 :root body.cohesive-site .closing{padding:28px 24px}
 :root body.cohesive-site .nav-panel{border:0;border-radius:0;background:transparent;box-shadow:none}
}
@media(max-width:360px){:root body.cohesive-site{--section-space:18px}:root body.cohesive-site .local-protection-layout{padding:20px 14px}:root body.cohesive-site :is(.entity-grid,.simulation-story .entity-grid){grid-template-columns:1fr}}
@media(forced-colors:active){:root body.cohesive-site,:root body.cohesive-site .entities-section{--surface-page:Canvas;--surface-section:Canvas;--surface-panel:Canvas;--surface-inset:Canvas;--edge:CanvasText;--text:CanvasText;--text-secondary:CanvasText;--accent:Highlight}}

/* Shared quiet compaction: preserve text/control scale and natural wrapped rows. */
:root body.cohesive-site .site-header{background:var(--surface-page)}
:root body.cohesive-site .site-header .header-inner{height:auto;min-height:0;padding-block:16px;transition:padding-block .22s ease}
:root body.cohesive-site .site-header[data-compact="true"] .header-inner{padding-block:8px}
:root body.cohesive-site .site-header :is(.menu-toggle,.nav-group>summary){min-height:44px}
@media(max-width:1100px){
 :root body.cohesive-site .site-header .header-inner{padding-block:12px}
 :root body.cohesive-site .site-header[data-compact="true"] .header-inner{padding-block:6px}
}
@media(max-width:640px){
 :root body.cohesive-site .site-header .header-inner{padding-block:10px}
 :root body.cohesive-site .site-header[data-compact="true"] .header-inner{padding-block:5px}
 :root body.cohesive-site .site-header #navigation{top:100%}
}
@media(prefers-reduced-motion:reduce){:root body.cohesive-site .site-header .header-inner{transition:none}}

/* Larger pointer hit areas without enlarging the 34px visual circles or rows. */
:root body.cohesive-site .site-header :is(.theme-toggle,.language-picker>summary){position:relative;inset:auto}
:root body.cohesive-site .site-header :is(.theme-toggle,.language-picker>summary)::after{content:"";position:absolute;inset:-5px;border-radius:50%}
/* The existing 8px mobile gap gives each adjacent target 4px of extra width. */
@media(max-width:640px){:root body.cohesive-site .site-header :is(.theme-toggle,.language-picker>summary)::after{inset-inline:-4px}}


/* Text entry stays white with legible ink in both themes. */
:root body :is(input:not([type]),input[type=text],input[type=email],input[type=tel],input[type=url],input[type=search],input[type=password],input[type=number],textarea){background:#fff!important;color:#22291f!important;color-scheme:light;}
:root body :is(input,textarea)::placeholder{color:#969d92!important;font-size:14px;font-weight:400;opacity:1!important;}
