/* The Engine Core presentation (engine.mjs). It uses the site's own tokens (theme.css :root) and the look of its existing sections:
   dark teal bands like the Engine Core introduction, light mint bands like Projects and About, cards like the module tags and the shop. */
.eg-sec{padding:62px 0 70px}
.eg-dark{background:radial-gradient(ellipse at 80% 80%,rgba(8,151,165,.14),transparent 42%),linear-gradient(100deg,#06171d,#031015 75%);color:#fff}
.eg-light{background:var(--mint);color:var(--ink)}
.eg-cta{background:radial-gradient(ellipse at 60% 80%,rgba(17,141,133,.22),transparent 48%),linear-gradient(120deg,#071b21,#052b31 57%,#07161c);color:#fff;text-align:center}
.eg-cta .eg-head,.eg-cta .eg-actions{justify-content:center}.eg-cta .eg-lead{margin-left:auto;margin-right:auto}
.eg-head{margin-bottom:28px}
.eg-head h1,.eg-head h2{font-size:clamp(34px,4.2vw,54px);line-height:1.04;margin:10px 0 10px}
.eg-light .eyebrow{color:#116b73}
.eg-lead{margin:0 0 16px;max-width:720px;font-size:16px;line-height:1.7}
.eg-dark .eg-lead,.eg-cta .eg-lead{color:#d1e0e4}.eg-light .eg-lead{color:#385960}
.eg-intro{max-width:760px;font-size:16px;line-height:1.75;margin:0 0 14px;color:#385960}
.eg-subtitle{font-size:clamp(26px,3vw,34px);font-weight:400;margin:44px 0 8px;line-height:1.1}

/* The section bar stays under the fixed header while one of the six sections is read (--site-header-h is the header's height, theme.css). */
.eg-navband{position:sticky;top:var(--site-header-h);z-index:10;background:#051218;border-top:1px solid rgba(95,210,213,.08);border-bottom:1px solid rgba(95,210,213,.11);padding:8px 0}
.eg-pagenav{display:flex;flex-wrap:wrap;gap:6px 22px}
.eg-pagenav a{color:#c2d5da;text-decoration:none;font-size:13px;font-weight:650;padding:8px 0;border-bottom:2px solid transparent}
.eg-pagenav a:hover,.eg-pagenav a[aria-current]{color:var(--turq2);border-bottom-color:var(--turq)}
.eg-light .eg-pagenav{margin:0 0 22px}.eg-light .eg-pagenav a{color:#17535a}

.eg-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;margin-bottom:24px;color:#385960}
.eg-crumbs a{color:#086a73;text-decoration:none;border-bottom:1px solid var(--turq)}.eg-sep{opacity:.6}.eg-here{font-weight:700}

.eg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.eg-card{border:1px solid rgba(45,187,190,.25);background:rgba(16,65,75,.25);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:10px;min-width:0}
.eg-card h3{font-family:var(--serif);font-weight:400;font-size:23px;margin:0;line-height:1.15}
.eg-card-text{margin:0;font-size:14.5px;line-height:1.65;color:#d1e0e4}
.eg-card-dep{margin:0;font-size:12.5px;line-height:1.5;color:#9fc3c6}
.eg-card .text-link{align-self:flex-start;margin-top:auto;color:var(--turq2);border-bottom-color:var(--turq)}
.eg-light .eg-card{background:#fff;border-color:#d8e3e1;box-shadow:0 4px 16px rgba(8,45,52,.07)}
.eg-light .eg-card-text{color:#385960}.eg-light .eg-card-dep{color:#52717a}.eg-light .eg-card .text-link{color:#086a73}
.eg-list{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.eg-list li{position:relative;padding-left:18px;font-size:14px;line-height:1.55;color:#d1e0e4}
.eg-list li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--turq)}
.eg-light .eg-list li{color:#385960}
.eg-category{margin-top:34px}.eg-category:first-of-type{margin-top:10px}
.eg-category-title{font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#116b73;margin:0 0 14px}
.eg-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px}
.eg-dark .text-link{color:var(--turq2)}

/* Custom modules: an offer at the end of the catalog, set apart from the product cards by a dashed outline of their own colours. */
.eg-custom{margin-top:44px;padding:26px 28px;border:1px dashed rgba(45,187,190,.4);border-radius:12px}
.eg-custom h2{font-size:clamp(26px,3vw,34px);font-weight:400;line-height:1.1;margin:0 0 10px}.eg-custom .eg-lead{margin:0}
.eg-chips,.eg-marks{display:flex;flex-wrap:wrap;gap:6px}
.eg-chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.5;border:1px solid rgba(45,187,190,.4);color:#c9e6e7;background:rgba(16,65,75,.35);text-decoration:none}
.eg-light .eg-chip{color:#17535a;background:#e3f1ee;border-color:#b9d8d3}
.eg-chip-status{background:#d5e9e6;color:#205d63;border-color:#b9d8d3}
.eg-chip-professional{background:var(--turq);color:#062129;border-color:var(--turq)}
.eg-chip-enterprise{background:var(--coral);color:#10222a;border-color:var(--coral)}
.eg-chip-needs,.eg-chip-provider{background:transparent;border-style:dashed}
.eg-chip-link:hover{border-color:var(--turq2)}
.eg-chip-link[aria-current]{background:var(--turq);color:#062129;border-color:var(--turq)}

.eg-diagram{display:grid;gap:12px;margin:8px 0 26px}
.eg-layer{border:1px solid #b9d8d3;background:#fff;border-radius:14px;padding:18px 20px;display:grid;gap:6px}
.eg-layer strong{font-family:var(--serif);font-weight:400;font-size:22px}.eg-layer span{font-size:14px;color:#385960}
.eg-layer-core{background:linear-gradient(100deg,#06171d,#0a3039);border-color:#0a3039}.eg-layer-core strong{color:#fff}.eg-layer-core span{color:#d1e0e4}
.eg-layer-modules{background:#f1f8f6}.eg-modchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}

.eg-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:8px}
.eg-group,.eg-info{background:#fff;border:1px solid #d8e3e1;border-radius:12px;padding:22px 24px;box-shadow:0 4px 16px rgba(8,45,52,.07);min-width:0}
.eg-group-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}
.eg-group h2,.eg-info h2{font-size:24px;font-weight:400;margin:0;line-height:1.15}
.eg-group-intro{margin:0 0 12px;font-size:14px;color:#52717a;line-height:1.55}
.eg-items{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.eg-items li{font-size:14.5px;line-height:1.6;color:#385960;padding-left:16px;position:relative}
.eg-items li:before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--turq)}
.eg-marks{margin-top:5px}
.eg-info{margin-top:18px}.eg-info .eg-list{margin-top:12px}.eg-info .eg-list li{color:#385960}
.eg-legend{margin:18px 0 0;font-size:13px;color:#52717a;max-width:760px}
.eg-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:22px}
.eg-shot{margin:0}.eg-shot img{width:100%;border-radius:10px;border:1px solid #d8e3e1}
.eg-edition .eg-list{margin-top:6px}

/* The catalog and the product pages are a dark section: the cards of a product page (white on a light section) take the dark card of the other sections. */
.eg-dark .eg-crumbs{color:#9fc3c6}.eg-dark .eg-crumbs a{color:var(--turq2)}
.eg-dark .eg-intro{color:#d1e0e4}.eg-dark .eg-category-title{color:var(--turq2)}
.eg-dark .eg-group,.eg-dark .eg-info{background:rgba(16,65,75,.25);border-color:rgba(45,187,190,.25);box-shadow:none}
.eg-dark .eg-items li,.eg-dark .eg-info .eg-list li{color:#d1e0e4}.eg-dark .eg-group-intro,.eg-dark .eg-legend{color:#9fc3c6}
.eg-dark .eg-shot img{border-color:rgba(45,187,190,.25)}

html[data-theme=light] .eg-dark{background:#dcece9;color:var(--ink)}
html[data-theme=light] .eg-dark .eg-lead,html[data-theme=light] .eg-dark .eg-card-text,html[data-theme=light] .eg-dark .eg-list li{color:#385960}
html[data-theme=light] .eg-dark .eyebrow{color:#a54934}
html[data-theme=light] .eg-dark .eg-card{background:#fff;border-color:#d8e3e1;box-shadow:0 4px 16px rgba(8,45,52,.07)}
html[data-theme=light] .eg-dark .eg-card-dep{color:#52717a}
html[data-theme=light] .eg-dark .eg-card .text-link,html[data-theme=light] .eg-dark .text-link{color:#086a73}
html[data-theme=light] .eg-dark .eg-chip{color:#17535a;background:#e3f1ee;border-color:#b9d8d3}
html[data-theme=light] .eg-dark .eg-crumbs,html[data-theme=light] .eg-dark .eg-intro{color:#385960}html[data-theme=light] .eg-dark .eg-crumbs a{color:#086a73}
html[data-theme=light] .eg-dark .eg-category-title{color:#116b73}
html[data-theme=light] .eg-dark .eg-group,html[data-theme=light] .eg-dark .eg-info{background:#fff;border-color:#d8e3e1;box-shadow:0 4px 16px rgba(8,45,52,.07)}
html[data-theme=light] .eg-dark .eg-items li,html[data-theme=light] .eg-dark .eg-info .eg-list li{color:#385960}html[data-theme=light] .eg-dark .eg-group-intro,html[data-theme=light] .eg-dark .eg-legend{color:#52717a}
html[data-theme=light] .eg-dark .eg-shot img{border-color:#d8e3e1}
html[data-theme=light] .eg-dark .eg-custom{border-color:#9dc5be}
html[data-theme=light] .eg-cta{background:#cfe5e1;color:var(--ink)}html[data-theme=light] .eg-cta .eg-lead{color:#345b5e}
html[data-theme=light] .eg-navband{background:#dcece9;border-color:#c5ddda}
html[data-theme=light] .eg-pagenav a{color:#17535a}
html[data-theme=light] .eg-pagenav a[aria-current]{color:#086a73}

@media(max-width:1120px){.eg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.eg-sec{padding:50px 0 56px}.eg-groups{grid-template-columns:1fr}}
@media(max-width:580px){.eg-navband .eg-pagenav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:2px 20px}.eg-navband .eg-pagenav a{white-space:nowrap;flex:none}.eg-grid{grid-template-columns:1fr}.eg-sec{padding:42px 0 46px}.eg-pagenav{gap:2px 16px}.eg-group,.eg-info{padding:18px}.eg-actions{gap:14px}}
