/*
Theme Name:     IT-Gladiator
Theme URI:      https://www.it-gladiator.at/
Author:         Wolfgang Purrer / IT-Gladiator e.U.
Author URI:     https://www.it-gladiator.at/
Description:    Custom WordPress theme for IT-Gladiator e.U. — Enterprise Architecture as a Service. Style aligned to it-gladiator-infographic_3.html. All editable content lives in the WordPress Customizer or in a JSON import file — the theme owns the style, the content owns itself.
Version:        2.0.0
Requires at least: 6.0
Requires PHP:   7.4
License:        GNU General Public License v2 or later
License URI:    https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    itgladiator
Tags:           one-page, business, custom-colors, custom-menu, threaded-comments, customizer
*/

:root {
  --navy-deep:#181D3A; --navy:#232851; --navy-mid:#2D336A;
  --indigo:#4951B0; --indigo-light:#6E76D9; --indigo-soft:#EEF0FB; --indigo-tint:#E4E7F7;
  --bg-page:#EAECF7; --bg-soft:#F4F5FB; --bg-card:#FFFFFF;
  --text-dark:#1A1F3A; --text-body:#4A5078; --text-mute:#8088A0;
  --border-soft:#E8EBF5;
  --et:#2D8388; --et-soft:#DCEEF0; --ot:#C77A2E; --ot-soft:#F7E9D7; --it:#4951B0; --it-soft:#E4E7F7;
  --shadow-sm:0 1px 3px rgba(24,29,58,0.06),0 1px 2px rgba(24,29,58,0.04);
  --shadow-md:0 4px 12px rgba(24,29,58,0.08),0 2px 4px rgba(24,29,58,0.05);
  --shadow-lg:0 12px 32px rgba(24,29,58,0.10),0 4px 8px rgba(24,29,58,0.05);
  --radius:6px; --radius-lg:12px;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg-page);color:var(--text-body);font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--indigo);text-decoration:none;transition:color 0.2s}
a:hover{color:var(--indigo-light)}
h1,h2,h3,h4,h5,h6{font-family:'Poppins',sans-serif;color:var(--text-dark);font-weight:700;line-height:1.25}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link{background:var(--indigo);color:#fff!important;padding:12px 18px;position:absolute;left:-9999px;z-index:100000;font-family:'Poppins',sans-serif;font-weight:600;font-size:13px;text-decoration:none;border-radius:0 0 6px 0}
.skip-link:focus{left:0;top:0}

/* SITE HEADER */
.site-header{background:var(--bg-card);border-bottom:1px solid var(--border-soft);padding:18px 24px;position:sticky;top:0;z-index:50}
.site-header-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-branding{display:flex;align-items:center;gap:12px}
.site-logo-mark{width:36px;height:36px;border-radius:50%;background:var(--indigo);display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Poppins',sans-serif;font-weight:800;font-size:18px}
.site-title{font-family:'Poppins',sans-serif;font-weight:700;font-size:16px;color:var(--text-dark);line-height:1.2;margin:0}
.site-title a{color:inherit}
.site-title a:hover{color:var(--indigo)}
.site-description{font-size:11px;color:var(--text-mute)}
.main-navigation ul{list-style:none;display:flex;gap:24px;margin:0;padding:0}
.main-navigation a{font-family:'Poppins',sans-serif;font-weight:500;font-size:14px;color:var(--text-body);text-decoration:none}
.main-navigation a:hover,.main-navigation .current-menu-item a{color:var(--indigo)}

/* HERO */
.hero{background:var(--navy-deep);color:#fff;position:relative;overflow:hidden;padding:80px 24px 90px}
.hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(135deg,transparent 48%,rgba(255,255,255,0.025) 48%,rgba(255,255,255,0.025) 52%,transparent 52%),linear-gradient(45deg,transparent 48%,rgba(255,255,255,0.025) 48%,rgba(255,255,255,0.025) 52%,transparent 52%);background-size:60px 60px;opacity:.6}
.hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 30%,rgba(110,118,217,0.15) 0%,transparent 55%),radial-gradient(ellipse at 15% 90%,rgba(73,81,176,0.18) 0%,transparent 55%);pointer-events:none}
.hero-inner{position:relative;z-index:1;max-width:1080px;margin:0 auto}
.hero-brand{display:flex;align-items:center;gap:14px;margin-bottom:36px}
.hero-logo{width:44px;height:44px;border-radius:50%;background:var(--indigo);display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Poppins',sans-serif;font-weight:800;font-size:22px}
.hero-brand-text{line-height:1.2}
.hero-brand-name{font-family:'Poppins',sans-serif;font-weight:700;font-size:18px;color:#fff}
.hero-brand-tag{font-size:12px;color:rgba(255,255,255,0.55)}
.hero-eyebrow{display:inline-block;font-size:11px;font-weight:600;letter-spacing:3px;color:var(--indigo-light);text-transform:uppercase;padding:6px 14px;background:rgba(110,118,217,0.12);border:1px solid rgba(110,118,217,0.25);border-radius:20px;margin-bottom:24px}
.hero h1{color:#fff;font-size:clamp(34px,5.5vw,56px);font-weight:800;line-height:1.1;letter-spacing:-1px;margin-bottom:24px;max-width:900px;text-transform:uppercase}
.hero h1 .accent{color:var(--indigo-light);display:block}
.hero-lede{font-size:19px;color:rgba(255,255,255,0.85);line-height:1.55;max-width:720px;margin-bottom:32px}
.hero-lede strong{color:#fff;font-weight:600}
.hero-tagline{font-family:'Poppins',sans-serif;font-style:italic;font-size:17px;color:var(--indigo-light);font-weight:500;padding:18px 0;border-top:1px solid rgba(255,255,255,0.1);border-bottom:1px solid rgba(255,255,255,0.1);max-width:720px}

/* STATS */
.stats{background:var(--bg-card);margin:-45px auto 0;max-width:750px;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;position:relative;z-index:2}
.stat-item{padding:32px 20px;text-align:center;border-right:1px solid var(--border-soft)}
.stat-item:last-child{border-right:none}
.stat-num{font-family:'Poppins',sans-serif;font-weight:800;font-size:clamp(28px,3.6vw,38px);color:var(--indigo);line-height:1;margin-bottom:8px;letter-spacing:-1px}
.stat-label{font-size:11px;font-weight:600;color:var(--text-mute);text-transform:uppercase;letter-spacing:1.5px}

/* SECTIONS */
.container{max-width:1080px;margin:0 auto;padding:0 24px}
.section{padding:80px 0}
.section--tight{padding-top:20px}
.section-head{text-align:center;margin-bottom:56px}
.section-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:3px;color:var(--indigo);text-transform:uppercase;margin-bottom:14px}
.section-head h2{font-size:clamp(28px,3.6vw,40px);margin-bottom:14px;letter-spacing:-0.5px}
.section-head .deck{font-size:17px;color:var(--text-body);max-width:640px;margin:0 auto}

/* LIFECYCLE */
.lifecycle{background:var(--bg-card);border-radius:var(--radius-lg);padding:36px 28px;box-shadow:var(--shadow-md);margin-top:40px}
.lifecycle-svg{width:100%;height:auto;display:block}
.lifecycle-caption{text-align:center;margin-top:18px;font-size:13px;color:var(--text-mute);font-style:italic}

/* LAYER CARDS */
.layers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.layer{background:var(--bg-card);border-radius:var(--radius-lg);padding:32px 28px;box-shadow:var(--shadow-sm);transition:transform 0.3s,box-shadow 0.3s;border-top:4px solid;display:flex;flex-direction:column}
.layer:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.layer.et{border-top-color:var(--et)}
.layer.ot{border-top-color:var(--ot)}
.layer.it{border-top-color:var(--it)}
.layer-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.layer-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-weight:700;font-size:16px;flex-shrink:0}
.layer.et .layer-icon{background:var(--et-soft);color:var(--et)}
.layer.ot .layer-icon{background:var(--ot-soft);color:var(--ot)}
.layer.it .layer-icon{background:var(--it-soft);color:var(--it)}
.layer-title-block{flex:1}
.layer-title{font-family:'Poppins',sans-serif;font-size:20px;font-weight:700;color:var(--text-dark);line-height:1.2}
.layer-sub{font-size:13px;color:var(--text-mute);font-style:italic;margin-top:2px}
.layer-blurb{font-size:14px;color:var(--text-body);margin:18px 0;line-height:1.6}
.layer-subhead{font-family:'Poppins',sans-serif;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-mute);margin:18px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--border-soft)}
.layer-list{list-style:none}
.layer-list li{padding:5px 0 5px 18px;font-size:13.5px;position:relative;color:var(--text-body);line-height:1.55}
.layer-list li::before{content:'';position:absolute;left:2px;top:12px;width:6px;height:6px;border-radius:50%}
.layer.et .layer-list li::before{background:var(--et)}
.layer.ot .layer-list li::before{background:var(--ot)}
.layer.it .layer-list li::before{background:var(--it)}
.layer-list strong{color:var(--text-dark);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.chip{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;padding:4px 9px;border-radius:4px;background:var(--indigo-soft);color:var(--indigo);border:1px solid var(--indigo-tint)}
.layer.et .chip{background:var(--et-soft);color:var(--et);border-color:rgba(45,131,136,0.2)}
.layer.ot .chip{background:var(--ot-soft);color:var(--ot);border-color:rgba(199,122,46,0.2)}
.outcome-banner{margin-top:16px;padding:14px 16px;background:var(--et-soft);border-left:3px solid var(--et);border-radius:4px;font-size:13px;color:var(--text-dark);font-weight:500}
.outcome-banner strong{color:var(--et)}
.layer.ot .outcome-banner{background:var(--ot-soft);border-left-color:var(--ot)}
.layer.ot .outcome-banner strong{color:var(--ot)}
.layer.it .outcome-banner{background:var(--it-soft);border-left-color:var(--it)}
.layer.it .outcome-banner strong{color:var(--it)}

/* TAGLINE BAND */
.tagline-band{background:var(--navy-deep);color:#fff;padding:70px 24px;margin-top:80px;position:relative;overflow:hidden}
.tagline-band::before{content:'';position:absolute;inset:0;background-image:linear-gradient(135deg,transparent 48%,rgba(255,255,255,0.02) 48%,rgba(255,255,255,0.02) 52%,transparent 52%);background-size:60px 60px;opacity:.5}
.tagline-inner{position:relative;max-width:800px;margin:0 auto;text-align:center}
.tagline-band h3{font-family:'Poppins',sans-serif;color:#fff;font-size:clamp(24px,3.5vw,36px);font-weight:700;letter-spacing:-0.5px}
.tagline-band h3 .accent{color:var(--indigo-light)}

/* PILLARS */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pillar{background:var(--bg-card);border-radius:var(--radius-lg);padding:36px 28px;box-shadow:var(--shadow-sm);transition:transform 0.3s,box-shadow 0.3s;border:1px solid var(--border-soft)}
.pillar:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.pillar-num{font-family:'Poppins',sans-serif;font-size:13px;font-weight:700;color:var(--indigo);letter-spacing:3px;margin-bottom:16px}
.pillar-icon{width:48px;height:48px;background:var(--indigo-soft);color:var(--indigo);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.pillar h4{font-size:18px;margin-bottom:12px;color:var(--text-dark)}
.pillar p{font-size:14px;color:var(--text-body);line-height:1.6}

/* FOUNDER */
.founder-section{background:var(--bg-soft);margin-top:60px;padding:60px 32px;border-radius:var(--radius-lg);text-align:center}
.founder-quote{max-width:720px;margin:0 auto;font-family:'Poppins',sans-serif;font-size:22px;font-weight:400;color:var(--text-dark);line-height:1.5;font-style:italic;position:relative}
.founder-quote::before,.founder-quote::after{content:'"';color:var(--indigo);font-size:36px;font-weight:700;line-height:1;position:relative;top:8px}
.founder-attrib{margin-top:24px;font-family:'Poppins',sans-serif;font-size:13px;font-weight:600;color:var(--indigo);letter-spacing:2px;text-transform:uppercase}

/* CTA FOOTER */
.cta{background:var(--navy-deep);color:#fff;padding:70px 24px;text-align:center;position:relative;overflow:hidden}
.cta::before{content:'';position:absolute;inset:0;background-image:linear-gradient(135deg,transparent 48%,rgba(255,255,255,0.02) 48%,rgba(255,255,255,0.02) 52%,transparent 52%);background-size:60px 60px;opacity:.5}
.cta-inner{position:relative;max-width:800px;margin:0 auto}
.cta-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:3px;color:var(--indigo-light);text-transform:uppercase;margin-bottom:14px}
.cta h3{color:#fff;font-size:clamp(28px,4vw,38px);font-weight:700;margin-bottom:18px;letter-spacing:-0.5px}
.cta p{color:rgba(255,255,255,0.75);font-size:17px;max-width:540px;margin:0 auto 32px}
.cta-button{display:inline-block;background:var(--indigo);color:#fff;padding:16px 38px;border-radius:6px;text-decoration:none;font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;letter-spacing:1px;text-transform:uppercase;transition:background 0.3s,transform 0.3s}
.cta-button:hover{background:var(--indigo-light);color:#fff;transform:translateY(-2px)}
.contact-row{margin-top:36px;display:flex;flex-wrap:wrap;justify-content:center;gap:32px;font-family:'JetBrains Mono',monospace;font-size:13px;color:rgba(255,255,255,0.7)}
.contact-row a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,0.3);transition:border-color 0.3s}
.contact-row a:hover{border-color:var(--indigo-light);color:#fff}
.footer-meta{margin-top:40px;padding-top:28px;border-top:1px solid rgba(255,255,255,0.1);font-size:12px;color:rgba(255,255,255,0.4);letter-spacing:1px}
.footer-meta a{color:rgba(255,255,255,0.6);text-decoration:none;margin:0 8px}
.footer-meta a:hover{color:#fff}

/* PAGE / POST */
.content-area{max-width:760px;margin:0 auto;padding:80px 24px}
.page-header{text-align:center;margin-bottom:48px}
.page-header .entry-title{font-size:clamp(28px,4vw,42px);letter-spacing:-0.5px;margin-bottom:8px}
.entry-content{background:var(--bg-card);padding:48px 40px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.entry-content p{margin-bottom:1.2em}
.entry-content h2{margin:1.6em 0 0.6em;font-size:24px}
.entry-content h3{margin:1.4em 0 0.5em;font-size:19px}
.entry-content ul,.entry-content ol{margin:0 0 1.2em 1.6em}
.entry-content li{margin-bottom:0.4em}
.entry-content a{border-bottom:1px solid var(--indigo-tint)}
.entry-content blockquote{border-left:4px solid var(--indigo);background:var(--indigo-soft);padding:16px 22px;margin:1.4em 0;font-style:italic;color:var(--text-dark)}
.entry-meta{font-size:13px;color:var(--text-mute)}

.post-list{max-width:880px;margin:0 auto;padding:80px 24px}
.post-card{background:var(--bg-card);padding:28px 32px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:18px;transition:transform 0.2s,box-shadow 0.2s}
.post-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.post-card h2{font-size:22px;margin-bottom:6px}
.post-card h2 a{color:var(--text-dark)}
.post-card h2 a:hover{color:var(--indigo)}
.post-card .entry-summary{font-size:14px;color:var(--text-body);margin-top:8px}

.error-404{text-align:center;padding:100px 24px}
.error-404 h1{font-size:80px;color:var(--indigo);margin-bottom:12px}
.error-404 h2{font-size:24px;margin-bottom:18px}
.error-404 p{color:var(--text-body);margin-bottom:24px}

/* IMPORT ADMIN NOTICE */
.itgladiator-import-wrap{max-width:760px;background:#fff;border-radius:12px;padding:32px 36px;margin:20px 0;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.itgladiator-import-wrap h2{font-family:'Poppins',sans-serif;font-size:24px;margin-bottom:8px}
.itgladiator-import-wrap p{font-size:14px;color:#4A5078;margin-bottom:14px;line-height:1.6}
.itgladiator-import-wrap .button-primary{background:#4951B0;border-color:#4951B0;padding:8px 22px;font-weight:600}

@media (max-width:900px){.layers,.pillars{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr);margin-left:16px;margin-right:16px}.stat-item:nth-child(2){border-right:none}.stat-item:nth-child(1),.stat-item:nth-child(2){border-bottom:1px solid var(--border-soft)}}
@media (max-width:600px){.site-header-inner{flex-direction:column;gap:14px;align-items:flex-start}.main-navigation ul{flex-wrap:wrap;gap:14px}}
@media (max-width:500px){.stats{grid-template-columns:1fr}.stat-item{border-right:none;border-bottom:1px solid var(--border-soft)}.stat-item:last-child{border-bottom:none}.section{padding:56px 0}.hero{padding:56px 20px 70px}.entry-content{padding:28px 22px}}
