/* TechZala — TZone Coming Soon (Cloudflare Pages) */

:root{
  --bg: #0b1020;
  --panel: rgba(255,255,255,0.06);
  --panel2: rgba(255,255,255,0.08);
  --text: rgba(255,255,255,0.92);
  --muted: rgba(255,255,255,0.72);
  --faint: rgba(255,255,255,0.55);
  --brand: #7dd3fc;
  --brand2:#a78bfa;
  --ok:#34d399;
  --warn:#fbbf24;
  --border: rgba(255,255,255,0.12);
  --shadow: 0 20px 80px rgba(0,0,0,0.45);
  --radius: 18px;
  --max: 1120px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color: var(--text);
  background: radial-gradient(1200px 800px at 10% 0%, rgba(125,211,252,0.18), transparent 60%),
              radial-gradient(1000px 700px at 90% 10%, rgba(167,139,250,0.16), transparent 55%),
              linear-gradient(180deg, #070a14, #0b1020 55%, #070a14);
}

a{color: var(--text); text-decoration: none}
a:hover{color: white}
.container{max-width: var(--max); margin: 0 auto; padding: 0 20px}

.header{
  position: sticky; top:0; z-index:10;
  backdrop-filter: blur(12px);
  background: rgba(7,10,20,0.55);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 0;
  gap: 16px;
}
.brand{display:flex; align-items:center; gap:12px}
.brand-mark{
  width: 42px; height: 42px;
  display:grid; place-items:center;
  border-radius: 12px;
  font-weight:800;
  color:#06101b;
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  box-shadow: 0 14px 45px rgba(125,211,252,0.22);
}
.brand-text{display:flex; flex-direction:column; line-height:1.05}
.brand-techzala{font-weight:700; font-size:14px; color: var(--muted); letter-spacing:0.2px}
.brand-product{font-weight:800; font-size:15px; color: var(--text)}
.nav{display:flex; align-items:center; gap: 16px; flex-wrap:wrap}
.nav a{color: var(--muted); font-weight:600; font-size:14px}
.nav a:hover{color:white}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 10px 14px;
  border-radius: 14px;
  font-weight:800;
  font-size:14px;
  border: 1px solid rgba(255,255,255,0.14);
  transition: transform .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
}
.btn:hover{transform: translateY(-1px); border-color: rgba(255,255,255,0.26)}
.btn-primary{
  background: linear-gradient(135deg, rgba(125,211,252,0.95), rgba(167,139,250,0.95));
  color:#07101d;
  border-color: transparent;
}
.btn-primary:hover{filter:saturate(1.08) contrast(1.02)}
.btn-secondary{
  background: rgba(255,255,255,0.06);
  color: white;
}
.btn-ghost{
  background: rgba(255,255,255,0.06);
  color:white;
}

.hero{position:relative; padding: 64px 0 30px}
.hero-bg{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(700px 400px at 20% 15%, rgba(125,211,252,0.12), transparent 55%),
    radial-gradient(700px 420px at 80% 25%, rgba(167,139,250,0.10), transparent 60%);
}
.hero-inner{display:grid; grid-template-columns: 1.2fr 0.8fr; gap: 28px; align-items:start}
.eyebrow{color: var(--faint); font-weight:800; letter-spacing: 1.2px; font-size:12px; margin:0 0 10px}
h1{font-size: 44px; line-height:1.08; margin:0 0 12px}
.lead{color: var(--muted); font-size: 18px; line-height:1.6; margin:0 0 18px}
.hero-cta{display:flex; gap:12px; flex-wrap:wrap}
.note{color: var(--faint); margin: 14px 0 0; font-size: 13px}

.hero-card{display:grid; gap: 12px}
.card{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px 16px;
  box-shadow: var(--shadow);
}
.card h3{margin:0 0 6px; font-size:16px}
.card p{margin:0; color: var(--muted); line-height:1.55}

.section{padding: 44px 0}
.section.alt{background: rgba(255,255,255,0.03); border-top: 1px solid rgba(255,255,255,0.06); border-bottom: 1px solid rgba(255,255,255,0.06)}
h2{font-size: 28px; margin:0 0 14px}
p{color: var(--muted); line-height:1.7}

.two-col{display:grid; grid-template-columns: 1fr 1fr; gap: 22px; align-items:start}
.pill-grid{display:grid; grid-template-columns: 1fr 1fr; gap: 12px}
.pill{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px;
}
.pill h4{margin:0 0 8px}
.pill ul{margin:0; padding-left:18px; color: var(--muted)}
.pill li{margin: 6px 0}

.steps{display:grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 14px}
.step{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px;
}
.step-num{
  width: 30px; height: 30px;
  display:grid; place-items:center;
  border-radius: 10px;
  background: rgba(125,211,252,0.16);
  color: white; font-weight:900;
  margin-bottom: 10px;
}
.step h3{margin:0 0 6px; font-size:16px}
.step p{margin:0}

.subnote{color: var(--faint); margin-top: 14px}

.chips{display:flex; gap:10px; flex-wrap:wrap; margin: 12px 0 10px}
.chip{
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.86);
  font-weight:800;
  font-size: 13px;
}

.grid3{display:grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 12px}

.form-wrap{
  display:grid; grid-template-columns: 0.9fr 1.1fr; gap: 16px; align-items:start;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: calc(var(--radius) + 6px);
  padding: 18px;
}
.checklist{margin: 12px 0 0; padding-left: 18px; color: var(--muted)}
.checklist li{margin: 6px 0}

.form{
  display:grid; gap: 12px;
  padding: 16px;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}
label{display:grid; gap: 6px; color: rgba(255,255,255,0.85); font-weight:800; font-size: 13px}
input,select,textarea{
  width:100%;
  padding: 11px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(7,10,20,0.55);
  color: var(--text);
  outline: none;
}
input:focus,select:focus,textarea:focus{
  border-color: rgba(125,211,252,0.55);
  box-shadow: 0 0 0 4px rgba(125,211,252,0.12);
}
.form-note{margin:0; font-size: 13px}
.form-note.ok{color: rgba(52,211,153,0.95)}
.form-note.err{color: rgba(251,191,36,0.95)}
.fineprint{margin: 0; color: var(--faint); font-size: 12px; line-height:1.6}

.footer{padding: 28px 0; border-top: 1px solid rgba(255,255,255,0.08); background: rgba(7,10,20,0.55)}
.footer-inner{display:flex; justify-content:space-between; gap: 16px; flex-wrap:wrap}
.footer-brand{font-weight:900}
.footer-meta{color: var(--faint); font-size: 13px; margin-top: 6px}
.footer-links{display:flex; gap: 14px; align-items:center; flex-wrap:wrap}
.footer-links a{color: var(--muted); font-weight:700}
.footer-links a:hover{color:white}

@media (max-width: 980px){
  .hero-inner{grid-template-columns: 1fr; }
  h1{font-size: 36px}
  .two-col{grid-template-columns: 1fr}
  .pill-grid{grid-template-columns: 1fr}
  .steps{grid-template-columns: 1fr 1fr}
  .grid3{grid-template-columns: 1fr}
  .form-wrap{grid-template-columns: 1fr}
  .nav{display:none}
}

@media (max-width: 560px){
  h1{font-size: 30px}
  .steps{grid-template-columns: 1fr}
  .brand-product{font-size: 14px}
  .brand-mark{width: 40px; height: 40px}
}


/* v3 visuals */
.brand-mark img{width:100%; height:100%; display:block; border-radius: 12px}
.hero-inner{grid-template-columns: 1.15fr 0.85fr; }
.hero-visual{
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: calc(var(--radius) + 6px);
  padding: 14px;
  box-shadow: var(--shadow);
}
.hero-visual img{width:100%; height:auto; display:block}
.section-visual{
  margin: 14px 0 14px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: calc(var(--radius) + 6px);
  overflow:hidden;
}
.section-visual img{width:100%; height:auto; display:block}
.step-icon{
  width: 44px; height: 44px;
  margin-bottom: 10px;
  opacity: 0.98;
}
.step-icon img{width:100%; height:100%; display:block}
/* subtle watermark for hero */
.hero-bg{
  background-image: url("bg-watermark.svg");
  background-size: cover;
  background-position: center;
}
@media (max-width: 980px){
  .hero-inner{grid-template-columns: 1fr;}
}


/* v3.1 fix: steps layout */
.steps{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  align-items: stretch;
}
.step{
  display:flex;
  flex-direction: column;
  align-items: flex-start;
}
.step-icon{
  width: 40px;
  height: 40px;
  margin-bottom: 8px;
}
.step-num{
  margin-bottom: 6px;
}
@media (max-width: 980px){
  .steps{grid-template-columns: 1fr 1fr;}
}
@media (max-width: 560px){
  .steps{grid-template-columns: 1fr;}
}

/* v1.0 logo + reveal */
.brand-mark{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: transparent;
}
.brand-mark img{
  width: 44px;
  height: 44px;
  object-fit: contain;
  image-rendering: auto;
  filter: none;
  opacity: 1;
}

/* Subtle enterprise reveal animation */
.reveal{
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 650ms ease, transform 650ms ease;
  will-change: opacity, transform;
}
.reveal.in-view{
  opacity: 1;
  transform: translateY(0);
}
/* Stagger within containers */
.hero-card .card.reveal{transition-delay: 80ms;}
.steps .step.reveal:nth-child(1){transition-delay: 60ms;}
.steps .step.reveal:nth-child(2){transition-delay: 120ms;}
.steps .step.reveal:nth-child(3){transition-delay: 180ms;}
.steps .step.reveal:nth-child(4){transition-delay: 240ms;}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none;}
}

/* Micro hover interactions (enterprise subtle) */
.step, .card, .btn{
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.step:hover, .card:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}
.btn:hover{
  transform: translateY(-1px);
}

/* Request Access status + fallback (v1.0.3) */
.form-status{
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.35;
  color: rgba(255,255,255,0.86);
}
.form-status[data-type="success"]{ color: rgba(180,255,210,0.95); }
.form-status[data-type="error"]{ color: rgba(255,200,200,0.95); }
.mailto-fallback{ margin-top: 10px; text-decoration: none; }
