/* Marketing composition: type and narrative lead; product details support them. */
.editorial-home { --bg:#0c1012; --surface:#141a1d; --surface-2:#192124; --text:#f1f5f4; --text-2:#b7c3c5; --border:#303b3e; --accent:#a0e4ce; background:var(--bg); }
.editorial-home .site-header { background:#0c1012f5; border-color:#252e31; }
.e-wrap { width:min(1240px,calc(100% - 96px)); margin-inline:auto; }
.e-hero { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:20px; padding-block:52px 48px; }
.e-eyebrow { font:500 11px/1.5 var(--font-sans); letter-spacing:.1em; text-transform:uppercase; color:#a8beb8; margin:0 0 24px; }
.e-hero h1 { font-size:clamp(48px,4.8vw,72px); font-weight:600; line-height:1.04; letter-spacing:-.055em; margin:0 0 28px; }
.e-hero h1 span { color:#c8d4d1; }
.e-lede { color:var(--text-2); font-size:18px; line-height:1.75; max-width:480px; margin:0 0 32px; }
.e-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.e-primary { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:48px; padding:13px 18px; border:1px solid #a0e4ce; border-radius:7px; background:#a0e4ce; color:#10251e; font:600 14px/1.5 var(--font-sans); text-decoration:none; white-space:nowrap; }
.e-primary:hover { background:#b6f0dd; color:#10251e; }
.e-text-link { display:inline-flex; gap:12px; align-items:center; min-height:44px; font-size:14px; color:#e5efeb; text-decoration:none; }
.e-text-link:hover { color:#a0e4ce; }
.e-primary:focus-visible,.e-text-link:focus-visible,.e-audiences a:focus-visible { outline:2px solid #b6f0dd; outline-offset:5px; }
.e-hero-art { min-width:0; }
.e-graph { display:block; width:100%; height:auto; overflow:visible; }
.e-guide { stroke:#425953; stroke-width:.7; stroke-dasharray:2 8; opacity:.28; }
.e-edge { stroke:#647973; stroke-width:1.4; }
.e-edge.conflict { stroke:#ba985e; stroke-dasharray:4 5; }
.e-edge.quiet { stroke:#465655; }
.e-trace { stroke:#a2e4cf; stroke-width:2; stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--trace,1)); }
.e-trace.conflict { stroke:#e5bd79; }
.e-trace.quiet { stroke:#6b8b83; }
.e-node-surface { stroke:#526560; stroke-width:1; }
.e-node-shine { stroke:#d8f1e5; stroke-opacity:.16; }
.e-node-title { fill:#eef5f2; font:550 13px var(--font-sans); }
.e-node-detail { fill:#b0c2bc; font:10px var(--font-sans); }
.e-node-icon { fill:none; stroke:#b1d6c9; stroke-width:1.3; }
.e-port { fill:#b3e9d8; stroke:#1c342c; stroke-width:2; }
.e-node.policy .e-node-surface { stroke:#b59960; }
.e-node.policy .e-node-icon,.e-node.policy .e-node-shine { stroke:#e2bd78; }
.e-node.change { opacity:.7; }
.e-graph a:hover .e-node-surface,.e-graph a:focus-visible .e-node-surface { stroke:#bef7e3; stroke-width:2; fill:#233832; }
.e-graph a:focus-visible { outline:none; }
.e-edge-copy text { fill:#adbbb5; font:10px var(--font-sans); }
.e-graph-tag { fill:#e5c385; font:11px var(--font-sans); }
.e-graph-tag circle { fill:#e5bd79; }
.e-art-caption { display:flex; align-items:center; gap:7px; color:#a6b4b0; font-size:10px; line-height:1.5; margin:8px 0 0; }
.e-art-caption > span:last-child { margin-left:auto; }
.e-dot { width:5px; height:5px; display:inline-block; border-radius:50%; background:#a0e4ce; flex-shrink:0; }
.e-audiences { display:flex; justify-content:space-between; gap:32px; padding-block:25px; border-block:1px solid var(--border); }
.e-audiences a { color:#b7c3bf; text-decoration:none; display:flex; gap:24px; font-size:13px; align-items:center; min-height:32px; }
.e-audiences a span { color:#829d94; }
.e-audiences a:hover { color:#eef8f4; }
.e-feature { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:100px; padding-block:112px; border-bottom:1px solid var(--border); }
.e-section-copy h2 { font-size:clamp(32px,3.6vw,49px); font-weight:550; line-height:1.12; letter-spacing:-.045em; margin:0 0 24px; }
.e-section-copy > p:not(.e-eyebrow) { font-size:17px; line-height:1.8; color:var(--text-2); max-width:460px; margin:0 0 22px; }
.e-source-visual { min-width:0; padding:20px; background:linear-gradient(145deg,#19242155,#0c101200); border-radius:16px; }
.e-source-tab { display:flex; align-items:center; gap:8px; font-size:12px; color:#c7d5cf; margin:0 10px 14px; }
.e-source-tab > span:last-child { margin-left:auto; color:#91a69d; font-size:10px; }
.e-source-paper { border:1px solid #45564f; background:linear-gradient(135deg,#1c2521,#121917); border-radius:9px; padding:24px; box-shadow:0 18px 45px #0002; }
.e-source-meta { display:flex; justify-content:space-between; gap:12px; font-size:11px; color:#b6c8bd; padding-bottom:24px; }
.e-source-quote { font-size:19px; line-height:1.85; color:#e9f1eb; margin:0 0 24px; }
.e-source-quote mark { color:inherit; background:linear-gradient(90deg,#47806d88 0%,#47806d88 100%) no-repeat left center / calc(var(--highlight,1) * 100%) 100%; padding:2px 0; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.e-citation { display:flex; align-items:center; gap:12px; padding-top:18px; border-top:1px solid #384a40; font-size:11px; color:#cbdcd1; }
.e-citation > span:first-child { font-size:20px; color:#a0e4ce; }
.e-citation small { color:#a8b9ae; font-size:10px; }
.e-citation-check { margin-left:auto; color:#a0e4ce; font-size:10px; }
.e-source-foot { display:flex; justify-content:space-between; color:#a5b5ac; gap:12px; font-size:10px; margin:18px 10px 0; }
.e-conflict-visual { min-width:0; }
.e-compare { display:grid; grid-template-columns:1fr 42px 1fr; align-items:center; }
.e-record { display:flex; flex-direction:column; gap:14px; padding:22px 18px; border:1px solid #42534b; border-radius:9px; background:#151e19; }
.e-record-label { color:#b6c8bb; font-size:10px; }
.e-record strong { font-size:22px; font-weight:500; letter-spacing:-.02em; }
.e-record > span:last-child { font-size:11px; color:#b6c8bb; }
.e-record-amber { border-color:#786443; background:#211e17; }
.e-record-amber strong { color:#e5c385; }
.e-conflict-connector { height:1px; background:#aa8953; display:flex; align-items:center; justify-content:center; }
.e-conflict-connector span { color:#e5bd79; font-size:23px; background:#0c1012; padding:3px; }
.e-open-question { padding:26px 0 0 22px; margin:22px 0 0 18px; border-left:1px solid #6c593e; display:flex; flex-direction:column; gap:10px; }
.e-amber { color:#e5c385; font-size:11px; }
.e-open-question strong { font-size:18px; font-weight:500; }
.e-open-question p { font-size:13px; line-height:1.7; color:var(--text-2); max-width:400px; margin:0 0 12px; }
.e-desktop { padding-block:100px; display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:70px; border-bottom:1px solid var(--border); }
.e-desktop figure { margin:0; border:1px solid #384541; border-radius:9px; overflow:hidden; background:#141b18; }
.e-desktop figure a { display:block; }
.e-desktop img { width:100%; height:auto; display:block; }
.e-desktop figcaption { padding:15px; font-size:10px; color:#b6c8bc; display:flex; justify-content:space-between; gap:12px; }
.e-close { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-block:84px; }
.e-close h2 { font-size:clamp(30px,3.5vw,46px); line-height:1.2; letter-spacing:-.04em; font-weight:550; margin:0; }
.e-close .e-eyebrow { margin-bottom:16px; }
.editorial-home .updates-box { background:#101714; }
.editorial-home .site-footer { border-color:#303b3e; }
@media(prefers-reduced-motion:no-preference) {
 .e-node-surface,.e-primary,.e-text-link { transition:fill .25s ease,stroke .25s ease,background .2s ease,color .2s ease; }
 .e-hero-art { transform:translateY(calc(var(--drift,0) * -14px)); }
 .e-source-paper { transform:translateY(calc((1 - var(--highlight,1)) * 18px)); }
 .e-open-question { transform:translateY(calc((1 - var(--highlight,1)) * 14px)); }
 [data-motion].e-entered .e-section-copy { animation:e-enter .7s cubic-bezier(.2,.7,.2,1); }
 @keyframes e-enter { from { transform:translateY(18px); } to { transform:translateY(0); } }
}
@media(max-width:1100px) {
 .e-wrap { width:calc(100% - 64px); }
 .e-hero { padding-block:72px 60px; gap:8px; }
 .e-hero h1 { font-size:48px; }
 .e-lede { font-size:16px; }
 .e-actions { gap:12px; }
 .e-feature { gap:40px; padding-block:80px; }
 .e-desktop { gap:40px; }
 .e-source-quote { font-size:16px; }
 .e-record { padding:18px 12px; }
 .e-record strong { font-size:18px; }
}
@media(max-width:767px) {
 .e-wrap { width:calc(100% - 40px); }
 .e-hero { grid-template-columns:1fr; padding-block:48px 32px; gap:30px; }
 .e-hero h1 { font-size:clamp(39px,10.2vw,60px); line-height:1.08; margin-bottom:22px; }
 .e-hero .e-eyebrow { font-size:10px; margin-bottom:20px; }
 .e-lede { font-size:16px; line-height:1.7; margin-bottom:24px; }
 .e-actions { gap:8px 20px; }
 .e-primary { font-size:13px; padding:13px 16px; }
 .e-text-link { font-size:13px; }
 .e-hero-art { margin-inline:-6px; }
 .e-node-detail { font-size:12px; }
 .e-node-title { font-size:15px; }
 .e-node-icon { display:none; }
 .e-node-title { transform:translateX(-27px); }
 .e-art-caption { margin-inline:6px; font-size:9px; }
 .e-edge-copy text { font-size:12px; }
 .e-audiences { gap:12px; flex-wrap:wrap; padding-block:17px; }
 .e-audiences a { font-size:11px; gap:6px; }
 .e-feature,.e-desktop { grid-template-columns:1fr; gap:28px; padding-block:56px; }
 .e-section-copy h2 { font-size:34px; margin-bottom:20px; }
 .e-eyebrow { font-size:10px; margin-bottom:18px; }
 .e-section-copy > p:not(.e-eyebrow) { font-size:15px; line-height:1.75; margin-bottom:14px; }
 .e-source-visual { padding:0; }
 .e-source-paper { padding:20px; }
 .e-source-quote { font-size:17px; }
 .e-source-meta { font-size:10px; padding-bottom:20px; }
 .e-citation-check { display:none; }
 .e-record { padding:20px 12px; gap:12px; }
 .e-record strong { font-size:18px; }
 .e-record-label { font-size:9px; }
 .e-compare { grid-template-columns:1fr 28px 1fr; }
 .e-close { align-items:flex-start; flex-direction:column; padding-block:56px; gap:26px; }
 .e-desktop figcaption { flex-direction:column; gap:5px; }
}

.e-graph-compact { display:none; }
.e-signal { fill:none; stroke:#d3fff0; stroke-width:3; stroke-linecap:round; stroke-dasharray:.06 .94; stroke-dashoffset:1; opacity:0; }
.e-signal.conflict { stroke:#ffe2a2; }
@media(prefers-reduced-motion:no-preference) {
 .e-entered .e-signal { animation:e-signal 2.5s ease-in-out var(--signal-delay) 1 both; }
 @keyframes e-signal { 0% { stroke-dashoffset:1; opacity:0; } 20% { opacity:1; } 85% { opacity:1; } 100% { stroke-dashoffset:-.05; opacity:0; } }
 .e-compare { transform:translateY(calc((1 - var(--highlight,1)) * 16px)); }
 .e-record-amber { border-color:color-mix(in srgb,#786443 calc(var(--highlight,1) * 100%),#303b3e); }
}
@media(max-width:767px) {
 .e-graph-wide { display:none; }
 .e-graph-compact { display:block; }
 .e-node-title { font-size:13px; transform:translateX(-27px); }
 .e-node-detail { font-size:11px; }
 .e-hero-art { max-width:480px; width:100%; margin-inline:auto; }
}
.e-signal-0 { --signal-delay:0s; }.e-signal-1 { --signal-delay:.18s; }.e-signal-2 { --signal-delay:.36s; }.e-signal-3 { --signal-delay:.54s; }.e-signal-4 { --signal-delay:.72s; }
@media(min-width:768px) and (max-width:900px) {
 .e-hero { grid-template-columns:1fr; gap:24px; padding-block:48px; }
 .e-hero h1 { font-size:64px; }
 .e-hero-art { max-width:600px; width:100%; margin-inline:auto; }
 .e-feature,.e-desktop { grid-template-columns:1fr; gap:40px; }
 .e-source-visual,.e-conflict-visual { width:100%; max-width:600px; margin-inline:auto; }
 .e-source-quote { font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
 [data-motion] { --highlight:1!important; --trace:1!important; --drift:0!important; }
 .e-signal { animation:none!important; }
}
/* Product graph motion is pausable. */
.e-hero { position:relative; isolation:isolate; }
.e-hero-copy,.e-hero-art { position:relative; }
.e-motion-toggle { display:block; margin:10px 0 0 auto; min-height:32px; padding:5px 8px; border:1px solid #35473f; border-radius:5px; color:#b7cbc2; background:#101815; font:11px/1.5 var(--font-sans); cursor:pointer; }
.e-motion-toggle[hidden] { display:none; }
.e-motion-toggle:hover { border-color:#a0e4ce; color:#e4f6ee; }
.e-motion-toggle:focus-visible { outline:2px solid #a0e4ce; outline-offset:4px; }
@media(prefers-reduced-motion:no-preference) {
 .e-entered .e-signal { animation:e-signal-cycle 8s ease-in-out var(--signal-delay) infinite; }
 .e-node .e-port { animation:e-port-breathe 5s ease-in-out infinite; }
 .e-node.policy .e-port { animation-delay:1.5s; }
 .e-node.records .e-port { animation-delay:.75s; }
 .e-source-paper { transition:box-shadow .4s ease,border-color .4s ease; }
 .e-source-paper:hover { border-color:#749b86; box-shadow:0 20px 60px #0004; }
 .e-record:first-child { transform:translateX(calc((1 - var(--highlight,1)) * -12px)); }
 .e-record-amber { transform:translateX(calc((1 - var(--highlight,1)) * 12px)); }
 .e-citation { transform:translateY(calc((1 - var(--highlight,1)) * 10px)); }
 [data-motion]:not(.e-motion-active) * { animation-play-state:paused!important; }
 .editorial-home[data-motion-paused] * { animation-play-state:paused!important; transition:none!important; }
 @keyframes e-signal-cycle { 0% { stroke-dashoffset:1; opacity:0; } 6% { opacity:.8; } 28% { stroke-dashoffset:-.05; opacity:.8; } 36%,100% { stroke-dashoffset:-.05; opacity:0; } }
 @keyframes e-port-breathe { 0%,100% { opacity:.55; } 45% { opacity:1; } }
}
@media(max-width:767px) { .e-motion-toggle { min-height:44px; } }
@media(prefers-reduced-motion:reduce) { .e-motion-toggle { display:none; } }
