/*
Theme Name: egraph EvidenceGraph
Theme URI: https://egraph.io
Author: egraph GmbH i.G.
Author URI: https://egraph.io
Description: A responsive one-page WordPress theme for EvidenceGraph, an executive software delivery evidence and risk platform.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: egraph
*/

:root {
  --bg: #06101f;
  --bg-soft: #0b172a;
  --panel: rgba(17, 32, 53, .78);
  --line: rgba(148, 184, 222, .16);
  --text: #f3f7ff;
  --muted: #a7b7cd;
  --cyan: #57ddff;
  --blue: #168cf5;
  --green: #32d5a4;
  --amber: #ffbf4b;
  --red: #ff6b7b;
  --radius: 24px;
  --shadow: 0 28px 90px rgba(0,0,0,.36);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--text); background:var(--bg); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height:1.55; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; height:auto; display:block; }
.site-shell { overflow:hidden; background:
  radial-gradient(circle at 10% 0%, rgba(21,142,245,.22), transparent 32rem),
  radial-gradient(circle at 90% 18%, rgba(87,221,255,.11), transparent 28rem),
  var(--bg); }
.container { width:min(1180px, calc(100% - 40px)); margin-inline:auto; }
.site-header { position:fixed; inset:0 0 auto; z-index:50; border-bottom:1px solid transparent; transition:.25s ease; }
.site-header.scrolled { background:rgba(6,16,31,.86); backdrop-filter:blur(18px); border-color:var(--line); }
.navbar { height:78px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; font-weight:800; letter-spacing:-.03em; font-size:1.23rem; }
.brand-mark { width:37px; height:37px; border-radius:12px; background:linear-gradient(145deg,var(--cyan),var(--blue)); box-shadow:0 0 30px rgba(87,221,255,.28); position:relative; }
.brand-mark:after { content:""; position:absolute; inset:9px; border:2px solid #fff; border-left-color:transparent; border-radius:50%; transform:rotate(-35deg); }
.brand small { color:var(--cyan); font-weight:700; }
.nav-links { display:flex; align-items:center; gap:26px; color:#c5d2e5; font-size:.94rem; }
.nav-links a:hover { color:white; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 20px; border-radius:13px; border:1px solid rgba(255,255,255,.13); font-weight:750; transition:.2s ease; cursor:pointer; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:linear-gradient(135deg,var(--blue),#0cb5e9); border-color:transparent; box-shadow:0 12px 40px rgba(22,140,245,.30); }
.button-ghost { background:rgba(255,255,255,.04); }
.hero { min-height:900px; padding:160px 0 90px; position:relative; }
.hero-grid { display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:58px; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; color:var(--cyan); text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; font-weight:850; }
.eyebrow:before { content:""; width:28px; height:1px; background:currentColor; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(3.1rem, 6vw, 6.4rem); line-height:.94; letter-spacing:-.062em; margin:24px 0 28px; }
.gradient-text { background:linear-gradient(110deg,#fff 15%,var(--cyan) 55%,#7ea8ff); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-copy { font-size:1.2rem; color:var(--muted); max-width:670px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.hero-proof { display:flex; flex-wrap:wrap; gap:22px; margin-top:40px; color:#c4d1e2; font-size:.92rem; }
.hero-proof span:before { content:"✓"; color:var(--green); font-weight:900; margin-right:8px; }
.hero-visual { position:relative; }
.hero-card { border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(145deg,rgba(18,38,66,.96),rgba(7,18,34,.93)); padding:13px; box-shadow:var(--shadow); transform:perspective(1400px) rotateY(-6deg) rotateX(2deg); }
.hero-card img { border-radius:16px; }
.float-card { position:absolute; border:1px solid var(--line); background:rgba(11,23,42,.93); backdrop-filter:blur(12px); padding:15px 17px; border-radius:16px; box-shadow:var(--shadow); }
.float-card strong { display:block; font-size:1.35rem; }
.float-card small { color:var(--muted); }
.float-one { left:-28px; bottom:12%; }
.float-two { right:-24px; top:8%; }
.status-dot { width:10px; height:10px; display:inline-block; border-radius:50%; background:var(--green); box-shadow:0 0 18px var(--green); margin-right:8px; }
.section { padding:110px 0; }
.section-header { max-width:790px; margin-bottom:52px; }
h2 { font-size:clamp(2.35rem,4.3vw,4.5rem); line-height:1.03; letter-spacing:-.045em; margin:18px 0; }
.lead { color:var(--muted); font-size:1.12rem; }
.problem-grid, .feature-grid, .use-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.panel { padding:29px; border:1px solid var(--line); border-radius:21px; background:linear-gradient(145deg,rgba(18,34,56,.78),rgba(9,21,38,.68)); }
.panel-number { font-size:.78rem; letter-spacing:.12em; color:var(--cyan); font-weight:850; }
.panel h3 { font-size:1.32rem; margin:16px 0 10px; }
.panel p { color:var(--muted); margin-bottom:0; }
.demo-stage { padding:16px; border-radius:30px; border:1px solid var(--line); background:#071323; box-shadow:var(--shadow); }
.demo-stage img { border-radius:20px; width:100%; }
.caption-row { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-top:22px; color:var(--muted); }
.signal-strip { display:grid; grid-template-columns:repeat(4,1fr); margin-top:24px; border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.signal { padding:24px; background:rgba(255,255,255,.025); border-right:1px solid var(--line); }
.signal:last-child { border-right:0; }
.signal b { display:block; font-size:1.65rem; }
.signal span { color:var(--muted); font-size:.9rem; }
.workflow { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:center; }
.workflow-copy { padding-right:30px; }
.check-list { list-style:none; padding:0; margin:28px 0 0; }
.check-list li { position:relative; padding:0 0 19px 33px; color:#c9d5e5; }
.check-list li:before { content:""; width:17px; height:17px; border-radius:6px; background:linear-gradient(135deg,var(--green),var(--cyan)); position:absolute; left:0; top:4px; box-shadow:0 0 18px rgba(50,213,164,.3); }
.stack { display:grid; gap:14px; }
.stack .panel { display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start; }
.icon-box { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; background:rgba(87,221,255,.10); color:var(--cyan); font-weight:900; }
.gallery { display:grid; grid-template-columns:1.18fr .82fr; gap:18px; }
.gallery-side { display:grid; gap:18px; }
.gallery figure { margin:0; padding:10px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.025); overflow:hidden; }
.gallery img { border-radius:13px; }
.cta { padding:70px; border:1px solid rgba(87,221,255,.22); border-radius:32px; background:
 linear-gradient(135deg,rgba(22,140,245,.18),rgba(87,221,255,.06)),
 rgba(12,27,48,.92); display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; }
.cta h2 { margin:0 0 15px; }
.cta p { margin:0; color:var(--muted); }
.site-footer { padding:55px 0 28px; border-top:1px solid var(--line); color:var(--muted); }
.footer-grid { display:grid; grid-template-columns:1fr auto auto; gap:50px; }
.footer-title { color:white; font-weight:800; margin-bottom:11px; }
.footer-links { display:grid; gap:8px; }
.copyright { border-top:1px solid var(--line); margin-top:38px; padding-top:22px; font-size:.88rem; }
.mobile-toggle { display:none; background:none; border:0; color:white; font-size:1.5rem; }
.reveal { opacity:0; transform:translateY(24px); transition:.7s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (max-width: 920px) {
  .nav-links { display:none; position:absolute; top:76px; left:20px; right:20px; background:#0b172a; border:1px solid var(--line); border-radius:18px; padding:22px; flex-direction:column; align-items:flex-start; }
  .nav-links.open { display:flex; }
  .mobile-toggle { display:block; }
  .hero { min-height:auto; padding-top:130px; }
  .hero-grid, .workflow, .gallery, .cta { grid-template-columns:1fr; }
  .hero-card { transform:none; }
  .float-card { display:none; }
  .problem-grid, .feature-grid, .use-grid { grid-template-columns:1fr; }
  .signal-strip { grid-template-columns:1fr 1fr; }
  .signal:nth-child(2) { border-right:0; }
  .signal:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .footer-grid { grid-template-columns:1fr; gap:30px; }
  .cta { padding:38px 28px; }
}
@media (max-width: 560px) {
  .container { width:min(100% - 24px,1180px); }
  h1 { font-size:3.4rem; }
  .section { padding:78px 0; }
  .signal-strip { grid-template-columns:1fr; }
  .signal { border-right:0; border-bottom:1px solid var(--line); }
  .signal:last-child { border-bottom:0; }
}

/* Legal pages */
.legal-main{min-height:70vh;padding-top:72px}.legal-section{padding-top:72px}.legal-container{max-width:980px}.legal-card{background:#f7f9fc;color:#122139;border-radius:28px;padding:clamp(28px,5vw,68px);box-shadow:0 30px 80px rgba(0,0,0,.24)}.legal-card h1{font-size:clamp(38px,6vw,68px);line-height:1.02;margin:0 0 32px}.legal-card h2{font-size:24px;margin:38px 0 12px;color:#122139}.legal-card p,.legal-card li{color:#43516a;line-height:1.75}.legal-card a{color:#087eb7;text-decoration:underline;text-underline-offset:3px}.footer-links{display:flex;flex-direction:column;gap:9px}.privacy-settings-link{border:0;background:none;color:inherit;padding:0;text-align:left;font:inherit;cursor:pointer}.privacy-settings-link:hover,.footer-links a:hover{color:#6de2ff}

/* Privacy notice */
.consent-backdrop{position:fixed;inset:0;background:rgba(2,9,20,.62);backdrop-filter:blur(5px);z-index:9997}.consent-banner{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:9998;width:min(1120px,calc(100% - 32px));display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;background:#f7f9fc;color:#122139;border:1px solid rgba(18,33,57,.12);border-radius:24px;padding:28px;box-shadow:0 24px 90px rgba(0,0,0,.4)}.consent-banner[hidden],.consent-backdrop[hidden]{display:none}.consent-banner h2{font-size:clamp(24px,3vw,38px);margin:5px 0 10px;color:#122139}.consent-banner p{max-width:760px;margin:0 0 9px;color:#53627a;line-height:1.55}.consent-banner a{color:#087eb7;text-decoration:underline}.consent-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.consent-open{overflow:hidden}@media(max-width:760px){.consent-banner{grid-template-columns:1fr;bottom:12px;padding:22px}.consent-actions,.consent-actions .button{width:100%}}

/* v1.2 demo-data enhancements */
.impact-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(11,23,42,.68)}
.impact-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.impact-grid>div{padding:28px 26px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.impact-grid>div:last-child{border-right:0}
.impact-grid strong{font-size:2rem;letter-spacing:-.04em;color:var(--cyan)}.impact-grid span{color:var(--muted);font-size:.92rem}
.live-model-section{background:linear-gradient(180deg,rgba(11,23,42,.34),rgba(6,16,31,0))}
.scenario-shell{border:1px solid rgba(87,221,255,.22);background:linear-gradient(145deg,rgba(14,31,53,.94),rgba(8,20,37,.96));border-radius:28px;padding:24px;box-shadow:var(--shadow)}
.scenario-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.scenario-tab{appearance:none;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--muted);padding:11px 16px;border-radius:999px;font:inherit;font-weight:700;cursor:pointer}.scenario-tab:hover,.scenario-tab.active{color:#04101d;background:var(--cyan);border-color:var(--cyan)}
.scenario-summary{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:28px;border-radius:22px;background:linear-gradient(110deg,rgba(255,191,75,.16),rgba(255,107,123,.08));border:1px solid rgba(255,191,75,.24)}
.scenario-kicker{display:block;color:var(--cyan);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.scenario-summary h3{font-size:clamp(1.8rem,4vw,3rem);margin:.35rem 0 .65rem;line-height:1.05}.scenario-summary p{max-width:760px;color:var(--muted);margin:0 0 16px}.scenario-decision{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,191,75,.15);color:var(--amber);font-weight:800;font-size:.85rem}
.readiness-ring{--score:63;width:150px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at center,#6a251f 0 53%,transparent 54%),conic-gradient(var(--red) calc(var(--score)*1%),rgba(255,255,255,.1) 0);box-shadow:0 0 40px rgba(255,107,123,.15)}.readiness-ring strong{font-size:2rem}.readiness-ring span{font-size:.78rem;color:#ffe7e9}
.scenario-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:14px}.metric-box{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:18px;padding:18px}.metric-box span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.metric-box strong{display:block;font-size:1.65rem;margin-top:8px}.status-yellow{color:var(--amber)}.status-green{color:var(--green)}.status-red{color:var(--red)}
.scenario-note{margin-top:14px;color:var(--muted);padding:13px 16px;border-left:3px solid var(--cyan);background:rgba(87,221,255,.055);border-radius:0 12px 12px 0}
.connector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.connector-card{padding:24px;border:1px solid rgba(50,213,164,.3);border-radius:20px;background:linear-gradient(145deg,rgba(50,213,164,.10),rgba(255,255,255,.025))}.connector-card span{display:block;color:var(--green);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.connector-card strong{display:block;font-size:1.3rem;margin:6px 0}.connector-card small{color:var(--muted);font-size:.88rem}
.evidence-flow{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:28px;padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}.evidence-flow span{font-weight:750}.evidence-flow i{color:var(--cyan);font-style:normal;font-size:1.3rem}
.mini-list{margin:18px 0 0;padding:0;list-style:none}.mini-list li{color:var(--muted);padding:7px 0 7px 22px;position:relative}.mini-list li:before{content:"✓";position:absolute;left:0;color:var(--green)}
.outcome-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:18px}.outcome-card{border:1px solid var(--line);border-radius:24px;padding:32px;background:rgba(255,255,255,.025)}.outcome-card span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.outcome-card h3{font-size:1.7rem;line-height:1.2;margin:12px 0}.outcome-card p{color:var(--muted)}.outcome-card.featured{border-color:rgba(87,221,255,.36);background:linear-gradient(145deg,rgba(22,140,245,.14),rgba(87,221,255,.055))}.outcome-card.featured span{color:var(--cyan)}
@media(max-width:920px){.impact-grid{grid-template-columns:1fr 1fr}.impact-grid>div:nth-child(2){border-right:0}.impact-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.scenario-summary{grid-template-columns:1fr}.readiness-ring{width:126px}.scenario-metrics{grid-template-columns:1fr 1fr}.connector-grid{grid-template-columns:1fr 1fr}.outcome-grid{grid-template-columns:1fr}}
@media(max-width:560px){.impact-grid{grid-template-columns:1fr}.impact-grid>div{border-right:0;border-bottom:1px solid var(--line)}.impact-grid>div:last-child{border-bottom:0}.scenario-shell{padding:14px}.scenario-summary{padding:20px}.scenario-metrics,.connector-grid{grid-template-columns:1fr}.scenario-tab{width:100%;text-align:left}}
