@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&family=DM+Mono:wght@400;500&display=swap');
/* EXCELLO Speicherkraftwerke GmbH – excello.css v3.0 – Inter */
:root{
  --e-black:#0d0e0f; --e-off:#131516; --e-dark:#1a1d1f;
  --e-border:#2e3338; --e-border2:#3d4449;
  --e-or:#e8710a; --e-orl:#f5870f; --e-org:rgba(232,113,10,.12);
  --e-gr:#4caf50; --e-grl:#5ec463; --e-grg:rgba(76,175,80,.10);
  --e-text:#dde2e7; --e-mut:#8a9299; --e-dim:#4a5258; --e-w:#fff;
  --fh:'Inter',sans-serif; --fb:'DM Sans',sans-serif; --fm:'DM Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--e-black);color:var(--e-text);font-family:var(--fb);font-size:16px;line-height:1.65;overflow-x:hidden}

/* GeneratePress overrides */
#page,#content,.site-content,.inside-article,.entry-content,.site-header,.main-navigation,.nav-primary,#primary-menu,.widget-area,.site-footer.wp-block-template-part{all:unset!important;display:block!important}
.site-header,.main-navigation{display:none!important}
body{padding-top:0!important}
.entry-content{max-width:100%!important;padding:0!important}

/* ── UTILS ── */
.exc-wrap{max-width:1180px;margin:0 auto;padding:0 5vw}
.exc-sec{padding:88px 0}
.exc-tag{font-family:var(--fm);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--e-or);display:flex;align-items:center;gap:10px;margin-bottom:18px}
.exc-tag::before{content:'';width:28px;height:1px;background:var(--e-or);flex-shrink:0}
.exc-tag.g{color:var(--e-gr)}.exc-tag.g::before{background:var(--e-gr)}
.exc-h2{font-family:var(--fh);font-weight:700;font-size:clamp(26px,4vw,46px);line-height:1.08;letter-spacing:-.02em;color:var(--e-w);margin-bottom:16px}
.exc-lead{font-size:17px;font-weight:300;color:var(--e-mut);line-height:1.75;max-width:580px;margin-bottom:48px}
.exc-btn{display:inline-block;font-family:var(--fm);font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:13px 28px;cursor:pointer;border:none;font-weight:500;transition:background .15s,opacity .15s}
.exc-btn-or{background:var(--e-or);color:var(--e-w)}.exc-btn-or:hover{background:var(--e-orl);color:var(--e-w)}
.exc-btn-gh{background:transparent;color:var(--e-or);border:1px solid var(--e-or)}.exc-btn-gh:hover{background:var(--e-org)}

/* ── NAV ── */
.exc-nav{position:fixed;top:0;left:0;right:0;z-index:9999;background:rgba(13,14,15,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--e-border)}
.exc-nav-in{max-width:1180px;margin:0 auto;padding:0 5vw;height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.exc-logo{font-family:var(--fh);font-weight:800;font-size:17px;letter-spacing:.06em;color:var(--e-w);text-decoration:none;flex-shrink:0}
.exc-logo .dot{color:var(--e-or)}
.exc-nav-links{display:flex;gap:24px;list-style:none}
.exc-nav-links a{font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--e-mut);text-decoration:none;transition:color .15s}
.exc-nav-links a:hover{color:var(--e-or)}
.exc-nav-r{display:flex;align-items:center;gap:14px;flex-shrink:0}
.exc-nav-ph{font-family:var(--fm);font-size:11.5px;color:var(--e-mut);text-decoration:none;letter-spacing:.04em;transition:color .15s}
.exc-nav-ph:hover{color:var(--e-or)}
.exc-nav-cta{font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--e-w);background:var(--e-or);padding:8px 16px;border:none;cursor:pointer;font-weight:500;text-decoration:none;transition:background .15s}
.exc-nav-cta:hover{background:var(--e-orl)}

/* ── HERO ── */
.exc-hero{min-height:100vh;padding:130px 5vw 80px;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--e-black)}
.exc-hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--e-border) 1px,transparent 1px),linear-gradient(90deg,var(--e-border) 1px,transparent 1px);background-size:72px 72px;opacity:.22}
.exc-hero-stripe{position:absolute;top:0;right:0;width:42%;height:100%;background:linear-gradient(170deg,rgba(232,113,10,.07) 0%,rgba(76,175,80,.04) 60%,transparent 100%);clip-path:polygon(18% 0,100% 0,100% 100%,0% 100%)}
.exc-hero-in{max-width:1180px;margin:0 auto;position:relative;z-index:1;width:100%}
.exc-eyebrow{font-family:var(--fm);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--e-or);margin-bottom:22px;display:flex;align-items:center;gap:12px}
.exc-eyebrow::before{content:'';width:36px;height:1px;background:var(--e-or)}
.exc-h1{font-family:var(--fh);font-weight:800;font-size:clamp(30px,4.8vw,58px);line-height:1.08;letter-spacing:-0.04em;color:var(--e-w);margin-bottom:28px}
.exc-h1 .or{color:var(--e-or);display:block}
.exc-h1 .gr{color:var(--e-gr);display:block}
.exc-hero-sub{font-size:18px;font-weight:300;color:var(--e-mut);max-width:540px;line-height:1.75;margin-bottom:42px}
.exc-hero-sub strong{color:var(--e-text);font-weight:500}
.exc-hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.exc-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--e-border);border:1px solid var(--e-border);margin-top:72px;max-width:680px}
.exc-kpi-b{background:var(--e-off);padding:20px 22px}
.exc-kpi-v{font-family:var(--fh);font-weight:700;font-size:26px;color:var(--e-or);line-height:1}
.exc-kpi-v.g{color:var(--e-gr)}
.exc-kpi-l{font-family:var(--fm);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--e-dim);margin-top:5px}

/* ── PROBLEM/LÖSUNG ── */
.exc-ps{background:var(--e-off);border-top:1px solid var(--e-border);border-bottom:1px solid var(--e-border)}
.exc-ps-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.exc-prob h3{font-family:var(--fh);font-weight:700;font-size:22px;color:var(--e-w);margin-bottom:14px}
.exc-prob p{color:var(--e-mut);font-weight:300;line-height:1.8;margin-bottom:10px}
.exc-prob-list{list-style:none;margin-top:18px}
.exc-prob-list li{font-family:var(--fm);font-size:12.5px;color:var(--e-mut);padding:10px 0;border-bottom:1px solid var(--e-border);display:flex;gap:10px}
.exc-prob-list li::before{content:'→';color:var(--e-or);flex-shrink:0}
.exc-sol{background:var(--e-dark);border:1px solid var(--e-border);padding:34px;position:relative;overflow:hidden}
.exc-sol::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--e-or),var(--e-gr))}
.exc-sol h3{font-family:var(--fh);font-weight:700;font-size:20px;color:var(--e-w);margin-bottom:12px}
.exc-sol p{color:var(--e-mut);font-weight:300;line-height:1.8;font-size:15px;margin-bottom:10px}
.exc-sol-list{list-style:none;margin-top:18px;border-top:1px solid var(--e-border);padding-top:14px}
.exc-sol-list li{font-family:var(--fm);font-size:12px;color:var(--e-gr);line-height:1.7;padding:4px 0;display:flex;gap:8px}
.exc-sol-list li::before{content:'✓';flex-shrink:0}

/* ── LEISTUNGEN ── */
.exc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--e-border)}
.exc-card{background:var(--e-off);padding:34px 28px;border-top:3px solid transparent;transition:background .25s,border-color .25s}
.exc-card:hover{background:var(--e-dark);border-top-color:var(--e-or)}
.exc-card-n{font-family:var(--fm);font-size:10px;letter-spacing:.2em;color:var(--e-dim);margin-bottom:24px}
.exc-card h3{font-family:var(--fh);font-weight:700;font-size:17px;color:var(--e-w);margin-bottom:11px}
.exc-card p{color:var(--e-mut);font-size:14px;font-weight:300;line-height:1.75}
.exc-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:18px}
.exc-t{font-family:var(--fm);font-size:10px;color:var(--e-dim);border:1px solid var(--e-border);padding:3px 9px}

/* ── REFERENZ ── */
.exc-ref{background:var(--e-off);border-top:1px solid var(--e-border);border-bottom:1px solid var(--e-border)}
.exc-ref-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.exc-ref-eye{font-family:var(--fm);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--e-or);margin-bottom:10px}
.exc-ref-h{font-family:var(--fh);font-weight:700;font-size:clamp(24px,3.5vw,40px);color:var(--e-w);line-height:1.08;letter-spacing:-.02em;margin-bottom:16px}
.exc-ref-p{color:var(--e-mut);font-weight:300;line-height:1.8;margin-bottom:28px}
.exc-m-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--e-border);border:1px solid var(--e-border)}
.exc-m{background:var(--e-dark);padding:16px 18px}
.exc-m-v{font-family:var(--fh);font-weight:700;font-size:22px;color:var(--e-or);line-height:1}
.exc-m-v.g{color:var(--e-gr)}
.exc-m-l{font-family:var(--fm);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--e-dim);margin-top:4px}
.exc-ref-note{background:var(--e-dark);border:1px solid var(--e-border);border-left:3px solid var(--e-gr);padding:18px 20px;margin-top:20px}
.exc-ref-note p{font-size:14px;font-weight:300;color:var(--e-mut);line-height:1.75}
.exc-tbl{width:100%;margin-top:28px;border-collapse:collapse}
.exc-tbl tr{border-bottom:1px solid var(--e-border)}
.exc-tbl tr:first-child{border-top:1px solid var(--e-border)}
.exc-tbl td{padding:10px 0}
.exc-tbl td:first-child{font-family:var(--fm);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--e-dim);width:44%}
.exc-tbl td:last-child{font-family:var(--fm);font-size:12px;color:var(--e-text)}

/* ── TECHNOLOGIE ── */
.exc-tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--e-border);margin-top:46px}
.exc-tech{background:var(--e-off);padding:30px;transition:background .25s}
.exc-tech:hover{background:var(--e-dark)}
.exc-tech h4{font-family:var(--fh);font-weight:700;font-size:16px;color:var(--e-w);margin-bottom:10px}
.exc-tech p{color:var(--e-mut);font-size:14px;font-weight:300;line-height:1.75}
.exc-tech-s{font-family:var(--fm);font-size:10px;color:var(--e-gr);margin-top:12px;border-top:1px solid var(--e-border);padding-top:10px;letter-spacing:.04em}

/* ── PROZESS ── */
.exc-proc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--e-border);margin-top:44px}
.exc-proc{background:var(--e-off);padding:24px 18px;position:relative}
.exc-proc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:transparent;transition:background .25s}
.exc-proc:hover::after{background:var(--e-or)}
.exc-proc-n{font-family:var(--fm);font-size:24px;font-weight:500;color:var(--e-or);opacity:.2;line-height:1;margin-bottom:10px}
.exc-proc h4{font-family:var(--fh);font-weight:700;font-size:13px;color:var(--e-w);margin-bottom:6px}
.exc-proc p{font-size:12px;color:var(--e-mut);font-weight:300;line-height:1.6}

/* ── ANWENDUNGEN ── */
.exc-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.exc-anw-pill{font-family:var(--fm);font-size:12px;letter-spacing:.05em;color:var(--e-mut);border:1px solid var(--e-border);padding:8px 14px;transition:all .15s;cursor:default}
.exc-anw-pill:hover,.exc-anw-pill.active{border-color:var(--e-or);color:var(--e-or);background:var(--e-org)}

/* ── KONTAKT ── */
.exc-kont{background:var(--e-dark);border-top:1px solid var(--e-border)}
.exc-kont-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.exc-kont-h{font-family:var(--fh);font-weight:700;font-size:clamp(24px,3.5vw,38px);color:var(--e-w);line-height:1.1;letter-spacing:-.02em;margin-bottom:16px}
.exc-kont-p{color:var(--e-mut);font-weight:300;line-height:1.8;margin-bottom:28px}
.exc-facts{list-style:none}
.exc-facts li{display:flex;gap:12px;font-family:var(--fm);font-size:12px;padding:10px 0;border-bottom:1px solid var(--e-border);color:var(--e-mut)}
.exc-facts li:first-child{border-top:1px solid var(--e-border)}
.exc-fk{color:var(--e-dim);width:72px;flex-shrink:0;letter-spacing:.06em;text-transform:uppercase;font-size:10px;padding-top:1px}
.exc-facts a{color:var(--e-or);text-decoration:none}
.exc-facts a:hover{text-decoration:underline}
.exc-hrs{margin-top:22px}
.exc-hrs h5{font-family:var(--fm);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--e-dim);margin-bottom:8px}
.exc-hrs p{font-family:var(--fm);font-size:12px;color:var(--e-mut);line-height:2}

/* CF7 Formular */
.exc-form-wrap .wpcf7-form{display:flex;flex-direction:column;gap:12px}
.exc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.exc-field{display:flex;flex-direction:column;gap:5px}
.exc-field label{font-family:var(--fm);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--e-dim)}
.exc-form-wrap input[type=text],
.exc-form-wrap input[type=email],
.exc-form-wrap input[type=tel],
.exc-form-wrap select,
.exc-form-wrap textarea{background:var(--e-off);border:1px solid var(--e-border);color:var(--e-text);font-family:var(--fb);font-size:14px;padding:11px 13px;outline:none;transition:border-color .15s;width:100%;-webkit-appearance:none;border-radius:0}
.exc-form-wrap input:focus,.exc-form-wrap select:focus,.exc-form-wrap textarea:focus{border-color:var(--e-or)}
.exc-form-wrap textarea{height:100px;resize:vertical}
.exc-form-wrap input[type=submit]{background:var(--e-or);color:var(--e-w);font-family:var(--fm);font-size:12px;letter-spacing:.12em;text-transform:uppercase;border:none;padding:13px 28px;cursor:pointer;font-weight:500;transition:background .15s;width:auto;border-radius:0}
.exc-form-wrap input[type=submit]:hover{background:var(--e-orl)}
.exc-form-wrap .wpcf7-not-valid-tip{color:#ff6b6b;font-size:12px;font-family:var(--fm);margin-top:3px}
.exc-form-wrap .wpcf7-response-output{font-family:var(--fm);font-size:12px;padding:10px;border:1px solid var(--e-border);margin-top:8px}
.exc-form-wrap .wpcf7-acceptance label{font-family:var(--fb);font-size:12px;color:var(--e-dim);line-height:1.6;display:flex;gap:8px;align-items:flex-start}
.exc-form-wrap .wpcf7-acceptance input{flex-shrink:0;margin-top:3px;accent-color:var(--e-or)}

/* ── FOOTER ── */
.exc-footer{background:var(--e-off);border-top:1px solid var(--e-border);padding:28px 0}
.exc-footer-in{max-width:1180px;margin:0 auto;padding:0 5vw;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.exc-footer-logo{font-family:var(--fh);font-weight:800;font-size:15px;color:var(--e-w);text-decoration:none}
.exc-footer-logo .dot{color:var(--e-or)}
.exc-footer-links{display:flex;gap:18px;list-style:none}
.exc-footer-links a{font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--e-dim);text-decoration:none;transition:color .15s}
.exc-footer-links a:hover{color:var(--e-or)}
.exc-footer-copy{font-family:var(--fm);font-size:11px;color:var(--e-dim)}

/* ── LEGAL PAGES ── */
.exc-legal{max-width:760px;margin:0 auto;padding:72px 5vw 88px}
.exc-legal h1{font-family:var(--fh);font-weight:700;font-size:clamp(26px,4vw,42px);color:var(--e-w);letter-spacing:-.02em;margin-bottom:40px;line-height:1.1}
.exc-legal h2{font-family:var(--fh);font-weight:700;font-size:18px;color:var(--e-w);margin:40px 0 12px;padding-top:36px;border-top:1px solid var(--e-border)}
.exc-legal h2:first-of-type{border-top:none;padding-top:0}
.exc-legal h3{font-family:var(--fh);font-weight:600;font-size:15px;color:var(--e-w);margin:20px 0 8px}
.exc-legal p{color:var(--e-mut);font-weight:300;line-height:1.8;margin-bottom:10px}
.exc-legal p strong{color:var(--e-text);font-weight:500}
.exc-legal ul,.exc-legal ol{color:var(--e-mut);font-weight:300;line-height:1.8;margin:8px 0 12px 18px}
.exc-legal li{margin-bottom:5px}
.exc-legal a{color:var(--e-or);text-decoration:none}
.exc-legal a:hover{text-decoration:underline}
.exc-ibox{background:var(--e-dark);border:1px solid var(--e-border);border-left:3px solid var(--e-or);padding:20px 24px;margin:16px 0}
.exc-ibox p{margin-bottom:5px}
.exc-ibox p:last-child{margin-bottom:0}
.exc-rg{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--e-border);border:1px solid var(--e-border);margin:16px 0}
.exc-ri{background:var(--e-dark);padding:16px 18px}
.exc-ri h4{font-family:var(--fm);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--e-or);margin-bottom:7px}
.exc-ri p{font-size:13px;margin-bottom:0}
.exc-legal-note{background:var(--e-dark);border:1px solid var(--e-border);padding:16px 20px;margin:24px 0}
.exc-legal-note p{font-size:13px;color:var(--e-dim)}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .exc-ps-grid,.exc-ref-grid,.exc-kont-grid,.exc-tech-grid{grid-template-columns:1fr;gap:32px}
  .exc-cards{grid-template-columns:1fr 1fr}
  .exc-proc-grid{grid-template-columns:repeat(3,1fr)}
  .exc-kpi{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .exc-cards{grid-template-columns:1fr}
  .exc-proc-grid{grid-template-columns:1fr 1fr}
  .exc-m-grid{grid-template-columns:1fr 1fr}
  .exc-nav-links,.exc-nav-ph{display:none}
  .exc-row{grid-template-columns:1fr}
  .exc-footer-in{flex-direction:column;text-align:center}
  .exc-footer-links{flex-wrap:wrap;justify-content:center}
  .exc-rg{grid-template-columns:1fr}
}
