/* ================================================================
   KzNet Technologies — Shared Stylesheet (Dark Theme)
   ================================================================ */

*{margin:0;padding:0;box-sizing:border-box;}

:root{
  --bg:        #0d1117;
  --bg-alt:    #111827;
  --surface:   #1a2035;
  --surface2:  #202840;
  --accent:    #4d9aff;
  --accent-dim:rgba(77,154,255,.12);
  --text:      #dde5f0;
  --muted:     #7a8fa8;
  --border:    rgba(255,255,255,.08);
  --radius:    12px;
  --shadow:    0 8px 40px rgba(0,0,0,.45);
}

/* ─── Base ─── */
body{font-family:'Segoe UI',system-ui,sans-serif;color:var(--text);background:var(--bg);}
a{text-decoration:none;color:inherit;}

/* ─── Layout utilities ─── */
.container{max-width:1100px;margin:0 auto;padding:20px;}
.row{display:flex;align-items:center;}
.space-between{justify-content:space-between;}
.wrap{flex-wrap:wrap;}
.gap{gap:12px;}

/* ─── KzNet main nav ─── */
body > nav{
  position:fixed;top:0;width:100%;
  background:rgba(10,14,22,.88);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  z-index:100;padding:0 5%;
}
.nav-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px;}
.logo{font-size:1.25rem;font-weight:700;color:var(--text);letter-spacing:-0.5px;}
.logo span{color:var(--accent);}
.nav-links{display:flex;gap:1.5rem;font-size:.9rem;color:var(--muted);}
.nav-links a:hover{color:var(--text);}
.nav-links a.active{color:var(--text);}
.nav-cta{background:var(--accent);color:#fff;padding:.5rem 1.25rem;border-radius:6px;font-size:.9rem;font-weight:600;transition:background .2s;}
.nav-cta:hover{background:#3a86f0;}

/* ─── Topbar (assessment / examples / methodology pages) ─── */
.topbar{position:sticky;top:0;background:rgba(10,14,22,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:50;}
.brand{font-weight:700;letter-spacing:.2px;}
.nav{margin-left:auto;display:flex;gap:14px;align-items:center;}
.nav a{padding:8px 10px;border-radius:8px;color:var(--muted);}
.nav a.active{color:var(--text);background:rgba(255,255,255,.06);}
.nav a:hover{background:rgba(255,255,255,.06);color:var(--text);}

/* ─── Hero ─── */
.hero{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#050c18 0%,#0d2044 60%,#06111f 100%);
  padding:6rem 5% 4rem;text-align:center;position:relative;overflow:hidden;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%234d9aff' fill-opacity='0.07'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.hero-content{position:relative;max-width:720px;}
.hero-badge{display:inline-block;background:rgba(77,154,255,.15);color:#7ab8ff;font-size:.8rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;padding:.35rem .9rem;border-radius:20px;margin-bottom:1.5rem;}
.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;color:#fff;line-height:1.15;letter-spacing:-1px;margin-bottom:1.25rem;}
.hero h1 span{color:#7ab8ff;}
.hero p{font-size:1.15rem;color:#8aabcc;line-height:1.7;margin-bottom:2.5rem;max-width:560px;margin-left:auto;margin-right:auto;}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ─── Buttons ─── */
.btn-primary{background:var(--accent);color:#fff;padding:.85rem 2rem;border-radius:8px;font-weight:700;font-size:1rem;transition:background .2s,transform .15s;}
.btn-primary:hover{background:#3a86f0;transform:translateY(-1px);}
.btn-secondary{background:rgba(255,255,255,.07);color:#c8d8eb;padding:.85rem 2rem;border-radius:8px;font-weight:600;font-size:1rem;border:1px solid rgba(255,255,255,.12);transition:background .2s;}
.btn-secondary:hover{background:rgba(255,255,255,.13);}
/* Shared / assessment buttons */
.btn{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:10px 18px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font-size:.95rem;transition:filter .15s;}
.btn.small{padding:7px 12px;border-radius:6px;font-size:.85rem;}
.btn.ghost{background:rgba(255,255,255,.05);border:1px solid var(--border);color:var(--text);}
.btn:hover{filter:brightness(1.1);}
.btn:active{transform:translateY(1px);}

/* ─── Section structure ─── */
.section-inner{max-width:1100px;margin:0 auto;}
.section-label{font-size:.78rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;}
.section-title{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;color:var(--text);letter-spacing:-0.5px;margin-bottom:.75rem;}
.section-sub{font-size:1rem;color:var(--muted);line-height:1.7;max-width:540px;}
h1{font-size:42px;line-height:1.05;margin:12px 0;color:var(--text);}
.sub{color:var(--muted);max-width:720px;margin:0 0 18px;}
.muted{color:var(--muted);}
.cite{color:var(--muted);font-size:13px;}
.page{padding-top:22px;}
.footer{margin-top:26px;}

/* ─── Services ─── */
.services{background:var(--bg-alt);padding:5rem 5%;}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem;}
.service-card{
  background:var(--surface);
  border-radius:var(--radius);
  padding:2rem;
  border:1px solid var(--border);
  transition:box-shadow .2s,transform .2s,border-color .2s;
}
.service-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:rgba(77,154,255,.25);}
.service-card h3{font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:.6rem;}
.service-card p{font-size:.92rem;color:var(--muted);line-height:1.65;}

/* ─── Products ─── */
#products{padding:5rem 5%;background:var(--bg);}
.products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:3rem;}
.product-card{
  border-radius:var(--radius);
  padding:1.75rem;
  border:1px solid var(--border);
  background:var(--surface);
  transition:box-shadow .2s,transform .2s,border-color .2s;
}
.product-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:rgba(77,154,255,.25);}
.product-card h3{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.4rem;}
.product-card p{font-size:.88rem;color:var(--muted);line-height:1.6;}

/* ─── Why ─── */
.why{background:var(--bg-alt);padding:5rem 5%;}
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-top:3rem;}
.why-item{display:flex;gap:1rem;align-items:flex-start;}
.why-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);margin-top:.35rem;flex-shrink:0;}
.why-item h4{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.35rem;}
.why-item p{font-size:.88rem;color:var(--muted);line-height:1.6;}

/* ─── Cards (assessment domain + case study articles) ─── */
.stack{display:flex;flex-direction:column;gap:12px;margin:1rem 0;}
.card{
  background:var(--surface);
  border-radius:var(--radius);
  padding:1.5rem;
  border:1px solid var(--border);
}
.card h3{margin:0 0 .5rem;color:var(--text);font-size:1rem;font-weight:700;}
.card h4{margin:.75rem 0 .5rem;color:var(--text);font-size:.95rem;}
.card p{margin:.4rem 0;color:var(--muted);font-size:.92rem;line-height:1.6;}

/* ─── Case Studies ─── */
#case-studies{padding:5rem 5%;background:var(--bg);}
#case-studies .card a{color:var(--accent);}
#case-studies .card a:hover{text-decoration:underline;}
.callout{
  display:flex;justify-content:space-between;gap:14px;align-items:center;
  padding:1.25rem 1.5rem;
  border:1px solid rgba(77,154,255,.2);
  border-radius:var(--radius);
  background:var(--accent-dim);
  margin-top:1.5rem;flex-wrap:wrap;
}
.callout h3{margin:0 0 .2rem;color:var(--text);font-size:1rem;font-weight:700;}
.callout p{margin:0;}

/* ─── Assessment section (embedded) ─── */
.assessment-section{padding:5rem 5%;background:var(--bg-alt);}
.progress{height:8px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden;margin-top:.75rem;border:1px solid var(--border);}
.progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),#7ab8ff);}
.pill{border:1px solid var(--border);padding:8px 12px;border-radius:999px;color:var(--muted);background:rgba(255,255,255,.04);font-size:.85rem;}
.qcard{padding:1.25rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);}
.qtitle{font-weight:700;margin:0 0 6px;color:var(--text);}
.qhelp{margin:0 0 12px;color:var(--muted);font-size:14px;}
.opts{display:flex;flex-direction:column;gap:8px;}
.opt{
  display:flex;gap:10px;align-items:flex-start;
  padding:12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:rgba(255,255,255,.03);
  cursor:pointer;
  transition:border-color .15s,background .15s;
}
.opt:hover{border-color:rgba(77,154,255,.3);background:rgba(77,154,255,.05);}
.opt input{margin-top:3px;accent-color:var(--accent);}
.opt .label{font-weight:600;color:var(--text);}
.opt .desc{color:var(--muted);font-size:13px;margin-top:2px;}

/* ─── Results page ─── */
.grid2{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;}
.canvas{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--border);background:#070d18;}
.kpi{font-size:44px;font-weight:800;letter-spacing:.4px;color:var(--text);}
.score-row{display:flex;gap:26px;align-items:flex-end;margin-top:10px;}
.list{margin:10px 0 0;padding-left:18px;color:var(--muted);}
.list li{margin:8px 0;}

/* ─── Contact ─── */
.contact{background:var(--bg);text-align:center;padding:5rem 5%;}
.contact .section-inner{display:flex;flex-direction:column;align-items:center;}
.contact .section-sub{margin:0 auto 2.5rem;}
.contact-card{
  background:var(--surface);
  border-radius:16px;
  padding:3rem 3.5rem;
  border:1px solid var(--border);
  max-width:540px;width:100%;
}
.contact-card p{font-size:.95rem;color:var(--muted);margin-bottom:1.75rem;line-height:1.7;}
.contact-email{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent);font-weight:600;font-size:1rem;margin-bottom:1.75rem;}
.contact-email:hover{text-decoration:underline;}
.divider{width:40px;height:3px;background:var(--accent);border-radius:2px;margin:.5rem auto 1.75rem;}

/* ─── Contact why-us grid ─── */
.contact-why{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.25rem;width:100%;max-width:840px;margin:0 auto 2.5rem;text-align:left;}
.contact-why-item{display:flex;gap:.85rem;align-items:flex-start;}
.contact-why-item h4{font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:.25rem;}
.contact-why-item p{font-size:.85rem;color:var(--muted);line-height:1.55;}

/* ─── News ─── */
#news{padding:5rem 5%;background:var(--bg-alt);}
#news-preview{padding:5rem 5%;background:var(--bg);}
.section-header-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;flex-wrap:wrap;gap:1rem;}
.btn-text{color:var(--accent);font-size:.9rem;font-weight:600;transition:opacity .15s;}
.btn-text:hover{opacity:.75;text-decoration:underline;}
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;}
#news .news-grid{margin-top:2rem;}
.news-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:1.75rem;display:flex;flex-direction:column;gap:.5rem;transition:box-shadow .2s,transform .2s,border-color .2s;}
.news-card:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:rgba(77,154,255,.25);}
.news-meta{display:flex;gap:.75rem;align-items:center;}
.news-tag{font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);}
.news-date{font-size:.78rem;color:var(--muted);}
.news-card h3{font-size:1rem;font-weight:700;color:var(--text);line-height:1.45;margin-top:.15rem;}
.news-card p{font-size:.88rem;color:var(--muted);line-height:1.6;flex:1;}
.news-source{font-size:.8rem;color:var(--muted);margin-top:.35rem;}
.news-source a{color:var(--accent);opacity:.75;transition:opacity .15s;}
.news-source a:hover{opacity:1;text-decoration:underline;}

/* ─── Page footer ─── */
footer{background:#070c14;color:#4a6280;padding:2rem 5%;text-align:center;font-size:.85rem;border-top:1px solid var(--border);}
footer span{color:var(--accent);}
footer p+p{margin-top:.4rem;}
footer a{color:var(--muted);opacity:.55;}
footer a:hover{opacity:1;}

/* ─── Hamburger toggle ─── */
.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
  margin-left:8px;
  color:var(--text);
}
.nav-toggle span{
  display:block;
  width:22px;
  height:2px;
  background:currentColor;
  border-radius:2px;
  transition:transform .25s,opacity .25s;
}

/* ─── Responsive ─── */
@media(max-width:900px){
  .grid2{grid-template-columns:1fr;}
  h1{font-size:34px;}
  .nav-links{gap:1rem;font-size:.82rem;}
  .contact-card{padding:2rem 1.5rem;}
  .callout{flex-direction:column;align-items:flex-start;}
}
@media(max-width:640px){
  .nav-links{display:none;}
  .nav-cta{font-size:.8rem;padding:.4rem .85rem;}
  .nav-toggle{display:flex;}

  body > nav.open .nav-links{
    display:flex;
    flex-direction:column;
    position:absolute;
    top:64px;left:0;right:0;
    background:rgba(10,14,22,.97);
    backdrop-filter:blur(12px);
    border-bottom:1px solid var(--border);
    padding:.5rem 5%;
  }
  body > nav.open .nav-links a{
    padding:.85rem 0;
    font-size:1rem;
    color:var(--text);
    border-bottom:1px solid rgba(255,255,255,.06);
  }
  body > nav.open .nav-links a:last-child{border-bottom:none;}

  body > nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  body > nav.open .nav-toggle span:nth-child(2){opacity:0;}
  body > nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}

/* Contact form */
#contact-form{width:100%;max-width:520px;margin:0 auto;text-align:left;}
.form-group{margin-bottom:1.25rem;}
.form-group label{display:block;font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:.4rem;letter-spacing:.5px;}
.form-group input,.form-group textarea{width:100%;background:var(--bg-alt);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.95rem;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s;font-family:inherit;resize:vertical;}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(77,154,255,.15);}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--muted);opacity:.6;}
#contact-form .btn-primary{width:100%;cursor:pointer;border:none;font-family:inherit;margin-top:.25rem;}
#contact-form .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.form-status{font-size:.88rem;margin-bottom:.75rem;min-height:1.2em;}
.form-status.success{color:#4ade80;}
.form-status.error{color:#f87171;}
