:root {
  --k8s-blue: #326CE5;
  --k8s-dark: #1a365d;
  --k8s-light: #EBF1FA;
  --gray: #6B7280;
  --border: #E5E7EB;
  --shadow: 0 20px 40px rgba(0,0,0,0.08);
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Inter',sans-serif; background:var(--k8s-light); color:#1F2937; overflow-x:hidden; }

nav { background:white; padding:18px 60px; display:flex; align-items:center; justify-content:space-between; box-shadow:0 2px 8px rgba(0,0,0,.06); position:sticky; top:0; z-index:50; }
.logo { display:flex; align-items:center; gap:12px; font-weight:900; font-size:20px; color:var(--k8s-blue); text-decoration:none; }
.logo svg { animation:spin 15s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.nav-links { display:flex; gap:30px; }
.nav-links a { text-decoration:none; color:var(--gray); font-weight:500; font-size:15px; transition:color .2s; }
.nav-links a:hover { color:var(--k8s-blue); }
.badge-live { background:#DEF7EC; color:#065F46; padding:7px 16px; border-radius:50px; font-size:13px; font-weight:600; display:flex; align-items:center; gap:7px; }
.dot-live { width:8px; height:8px; background:#10b981; border-radius:50%; box-shadow:0 0 8px #10b981; animation:pulse 2s infinite; }
@keyframes pulse { 50% { transform:scale(1.5); opacity:.5; } }

.hero { background:linear-gradient(135deg,var(--k8s-blue) 0%,var(--k8s-dark) 100%); padding:90px 60px 140px; text-align:center; clip-path:polygon(0 0,100% 0,100% 85%,0 100%); color:white; }
.hero-label { display:inline-block; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3); border-radius:50px; padding:8px 20px; font-size:13px; font-weight:600; margin-bottom:24px; letter-spacing:1px; text-transform:uppercase; }
.hero h1 { font-size:clamp(2.2rem,5vw,4rem); font-weight:900; letter-spacing:-2px; line-height:1.1; margin-bottom:20px; }
.hero h1 span { color:#93c5fd; }
.hero-sub { font-size:1.05rem; color:rgba(255,255,255,.75); max-width:640px; margin:0 auto 40px; line-height:1.7; }
.hero-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.btn-primary { background:white; color:var(--k8s-blue); padding:14px 30px; border-radius:12px; font-weight:700; font-size:15px; text-decoration:none; transition:all .2s; border:none; cursor:pointer; }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 8px 20px rgba(0,0,0,.2); }
.btn-outline { background:transparent; color:white; padding:14px 30px; border-radius:12px; font-weight:700; font-size:15px; text-decoration:none; border:2px solid rgba(255,255,255,.5); cursor:pointer; transition:all .2s; }
.btn-outline:hover { background:rgba(255,255,255,.1); }

.section { max-width:1100px; margin:0 auto; padding:80px 20px; }
.section-header { text-align:center; margin-bottom:55px; }
.section-header .label { color:var(--k8s-blue); font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:2px; margin-bottom:12px; }
.section-header h2 { font-size:2.3rem; font-weight:800; letter-spacing:-1px; margin-bottom:14px; }
.section-header p { color:var(--gray); font-size:1rem; max-width:600px; margin:0 auto; line-height:1.7; }

.comp-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:22px; }
.comp-card { background:white; border-radius:20px; padding:34px 28px; box-shadow:var(--shadow); border-top:4px solid transparent; transition:all .3s ease; }
.comp-card:hover { transform:translateY(-8px); border-top-color:var(--k8s-blue); }
.comp-icon { font-size:36px; margin-bottom:16px; }
.comp-card h3 { font-size:1.2rem; font-weight:800; color:var(--k8s-blue); margin-bottom:10px; }
.comp-card p { color:var(--gray); font-size:14px; line-height:1.65; margin-bottom:20px; }
.tag-row { display:flex; flex-wrap:wrap; gap:8px; }
.tag { background:var(--k8s-light); color:var(--k8s-blue); padding:6px 14px; border-radius:8px; font-size:12px; font-weight:700; cursor:pointer; border:1.5px solid rgba(50,108,229,.2); transition:all .2s; }
.tag:hover { background:var(--k8s-blue); color:white; transform:translateY(-2px); }

.flow-wrap { background:white; border-radius:24px; padding:44px; box-shadow:var(--shadow); overflow-x:auto; }
.flow { display:flex; align-items:center; min-width:700px; }
.flow-step { flex:1; text-align:center; padding:18px 8px; background:var(--k8s-light); border-radius:14px; }
.flow-step .icon { font-size:26px; margin-bottom:8px; }
.flow-step .name { font-weight:700; font-size:12px; color:var(--k8s-blue); }
.flow-step .desc { font-size:11px; color:var(--gray); margin-top:4px; line-height:1.4; }
.flow-arrow { font-size:18px; color:var(--k8s-blue); padding:0 6px; flex-shrink:0; }

.modal-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); backdrop-filter:blur(6px); z-index:200; align-items:center; justify-content:center; padding:20px; }
.modal-overlay.open { display:flex; animation:fadeIn .25s ease; }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
.modal { background:white; border-radius:24px; max-width:660px; width:100%; max-height:88vh; overflow-y:auto; box-shadow:0 40px 80px rgba(0,0,0,.25); animation:slideUp .3s ease; }
@keyframes slideUp { from { transform:translateY(40px);opacity:0; } to { transform:translateY(0);opacity:1; } }
.modal-header { padding:30px 34px 18px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:flex-start; }
.modal-header h3 { font-size:1.4rem; font-weight:800; color:var(--k8s-blue); }
.role-badge { display:inline-block; background:var(--k8s-light); color:var(--k8s-blue); padding:5px 14px; border-radius:50px; font-size:12px; font-weight:700; margin-top:6px; }
.close { background:var(--k8s-light); border:none; border-radius:8px; width:36px; height:36px; font-size:16px; cursor:pointer; color:var(--gray); display:flex; align-items:center; justify-content:center; transition:all .2s; flex-shrink:0; }
.close:hover { background:var(--border); }
.modal-body { padding:26px 34px 34px; }
.modal-body p { color:var(--gray); line-height:1.75; margin-bottom:14px; font-size:15px; }
.modal-body ul { padding-left:20px; color:var(--gray); line-height:1.85; margin-bottom:14px; }
.modal-body strong { color:#1F2937; }
.diagram { background:linear-gradient(135deg,#f0f7ff,#e8f0fe); border-radius:14px; padding:22px; margin:18px 0; border:1px solid rgba(50,108,229,.15); font-family:monospace; font-size:13px; color:var(--k8s-blue); line-height:2; white-space:pre; }

footer { background:var(--k8s-dark); color:rgba(255,255,255,.6); text-align:center; padding:36px 20px; font-size:14px; }
footer strong { color:white; }

@media(max-width:768px) {
  nav { padding:16px 20px; }
  .nav-links { display:none; }
  .hero { padding:60px 20px 120px; clip-path:none; }
  .flow-wrap { padding:20px; }
}
