/* ===== Project Shield Landing Page — style.css ===== */

/* --- Reset & Base --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:#0a0a0f;
  color:#e5e7eb;
  line-height:1.7;
  overflow-x:hidden;
}
a{color:#10b981;text-decoration:none;transition:color .2s}
a:hover{color:#34d399}
img{max-width:100%;display:block}
ul{list-style:none}

/* --- Utility --- */
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.text-center{text-align:center}
.text-green{color:#10b981}
.text-red{color:#ef4444}
.text-amber{color:#f59e0b}
.text-muted{color:#9ca3af}
.text-sm{font-size:.875rem}

/* --- Scroll Animation --- */
.fade-in{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}

/* --- Navigation --- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(10,10,15,.85);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:1200px;margin:0 auto;padding:0 24px;height:64px;
}
.nav-logo{
  display:flex;align-items:center;gap:10px;
  font-size:1.125rem;font-weight:700;color:#fff;
}
.nav-logo svg{width:28px;height:28px}
.nav-links{display:flex;align-items:center;gap:24px}
.nav-links a{color:#9ca3af;font-size:.875rem;font-weight:500;transition:color .2s}
.nav-links a:hover{color:#fff}
.nav-cta{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 18px;border-radius:8px;font-size:.875rem;font-weight:600;
  background:#10b981;color:#fff !important;transition:background .2s,transform .1s;
}
.nav-cta:hover{background:#059669;transform:translateY(-1px)}
.nav-lang{
  padding:6px 12px;border-radius:6px;font-size:.8rem;font-weight:500;
  border:1px solid rgba(255,255,255,.15);color:#9ca3af;transition:all .2s;
}
.nav-lang:hover{border-color:#10b981;color:#10b981}

/* Mobile menu */
.nav-toggle{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:8px}
.nav-toggle svg{width:24px;height:24px}

/* --- Hero --- */
.hero{
  padding:140px 0 100px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);
  width:800px;height:800px;
  background:radial-gradient(circle,rgba(16,185,129,.08) 0%,transparent 70%);
  pointer-events:none;
}
.hero h1{
  font-size:clamp(2rem,5vw,3.5rem);
  font-weight:800;line-height:1.15;
  color:#fff;margin-bottom:20px;
  max-width:800px;margin-left:auto;margin-right:auto;
}
.hero .subtitle{
  font-size:clamp(1rem,2.5vw,1.25rem);
  color:#9ca3af;max-width:640px;
  margin:0 auto 40px;line-height:1.6;
}
.hero-cta-group{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}

/* --- Buttons --- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 28px;border-radius:10px;font-size:1rem;font-weight:600;
  cursor:pointer;border:none;transition:all .2s;
}
.btn-primary{background:#10b981;color:#fff}
.btn-primary:hover{background:#059669;transform:translateY(-2px);box-shadow:0 8px 30px rgba(16,185,129,.25)}
.btn-secondary{
  background:transparent;color:#e5e7eb;
  border:1px solid rgba(255,255,255,.15);
}
.btn-secondary:hover{border-color:#10b981;color:#10b981}

/* --- Terminal Block --- */
.terminal{
  background:#111827;border:1px solid rgba(255,255,255,.08);
  border-radius:12px;overflow:hidden;
  max-width:720px;margin:0 auto;text-align:left;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.terminal-header{
  display:flex;align-items:center;gap:8px;
  padding:12px 16px;background:rgba(255,255,255,.03);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.terminal-dot{width:12px;height:12px;border-radius:50%}
.terminal-dot.red{background:#ef4444}
.terminal-dot.yellow{background:#f59e0b}
.terminal-dot.green{background:#10b981}
.terminal-title{margin-left:8px;font-size:.75rem;color:#6b7280;font-family:'SF Mono',SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace}
.terminal-body{
  padding:20px;
  font-family:'SF Mono',SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;
  font-size:.8125rem;line-height:1.8;
  color:#d1d5db;
  overflow-x:auto;
}
.terminal-body .prompt{color:#10b981}
.terminal-body .flag{color:#60a5fa}
.terminal-body .critical{color:#ef4444;font-weight:700}
.terminal-body .warning{color:#f59e0b}
.terminal-body .info{color:#60a5fa}
.terminal-body .pass{color:#10b981;font-weight:700}
.terminal-body .dim{color:#6b7280}
.terminal-body .score-f{color:#ef4444;font-weight:700}
.terminal-body .score-a{color:#10b981;font-weight:700}
.terminal-cursor{
  display:inline-block;width:8px;height:16px;background:#10b981;
  animation:blink 1s step-end infinite;vertical-align:text-bottom;margin-left:2px;
}
@keyframes blink{50%{opacity:0}}

/* --- Section Common --- */
.section{padding:100px 0}
.section-label{
  display:inline-block;
  font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:#10b981;margin-bottom:12px;
}
.section-title{
  font-size:clamp(1.5rem,4vw,2.5rem);
  font-weight:800;color:#fff;margin-bottom:16px;line-height:1.2;
}
.section-desc{
  font-size:1.0625rem;color:#9ca3af;max-width:640px;
  margin-bottom:48px;line-height:1.7;
}
.section-desc.center{margin-left:auto;margin-right:auto}

/* --- Stats Grid --- */
.stats-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;margin-top:40px;
}
.stat-card{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
  border-radius:12px;padding:28px;text-align:center;
  transition:border-color .3s,transform .3s;
}
.stat-card:hover{border-color:rgba(16,185,129,.3);transform:translateY(-4px)}
.stat-number{font-size:2.5rem;font-weight:800;color:#fff;margin-bottom:4px}
.stat-label{font-size:.875rem;color:#9ca3af;line-height:1.5}

/* --- Layer Cards --- */
.layers{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:40px}
.layer-card{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
  border-radius:14px;padding:32px;position:relative;overflow:hidden;
  transition:border-color .3s,transform .3s;
}
.layer-card:hover{border-color:rgba(16,185,129,.3);transform:translateY(-4px)}
.layer-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#10b981,#3b82f6);
}
.layer-number{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:8px;
  background:rgba(16,185,129,.12);color:#10b981;
  font-size:.875rem;font-weight:700;margin-bottom:16px;
}
.layer-card h3{font-size:1.125rem;font-weight:700;color:#fff;margin-bottom:8px}
.layer-card p{font-size:.9375rem;color:#9ca3af;line-height:1.6}

/* --- Lock System --- */
.lock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:40px}
.lock-card{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
  border-radius:12px;padding:24px;text-align:center;
  transition:border-color .3s,transform .3s;
}
.lock-card:hover{transform:translateY(-3px)}
.lock-card.locked{border-color:rgba(239,68,68,.3)}
.lock-card.warning{border-color:rgba(245,158,11,.3)}
.lock-card.pass{border-color:rgba(16,185,129,.3)}
.lock-grade{font-size:2rem;font-weight:800;margin-bottom:4px}
.lock-status{font-size:.875rem;font-weight:600;margin-bottom:4px}
.lock-label{font-size:.8125rem;color:#6b7280}

/* --- Comparison Table --- */
.comparison-wrap{overflow-x:auto;margin-top:40px}
.comparison-table{
  width:100%;border-collapse:collapse;
  font-size:.9375rem;
}
.comparison-table th,.comparison-table td{
  padding:14px 20px;text-align:left;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.comparison-table thead th{
  background:rgba(255,255,255,.03);color:#9ca3af;
  font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;
}
.comparison-table tbody td:first-child{color:#fff;font-weight:600}
.comparison-table .highlight{color:#10b981;font-weight:600}
.comparison-table .muted{color:#6b7280}

/* --- Pricing --- */
.pricing-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:20px;margin-top:48px;
}
.price-card{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
  border-radius:14px;padding:32px;position:relative;
  transition:border-color .3s,transform .3s;
}
.price-card:hover{border-color:rgba(16,185,129,.2);transform:translateY(-4px)}
.price-card.featured{border-color:rgba(16,185,129,.4)}
.price-card.featured::before{
  content:'POPULAR';position:absolute;top:14px;right:14px;
  font-size:.65rem;font-weight:700;letter-spacing:.08em;
  background:#10b981;color:#fff;padding:4px 10px;border-radius:20px;
}
.price-tier{font-size:.875rem;font-weight:600;color:#10b981;margin-bottom:8px}
.price-amount{font-size:2.25rem;font-weight:800;color:#fff;margin-bottom:4px}
.price-amount span{font-size:.9375rem;font-weight:400;color:#6b7280}
.price-desc{font-size:.875rem;color:#6b7280;margin-bottom:24px}
.price-features{margin-bottom:28px}
.price-features li{
  display:flex;align-items:flex-start;gap:8px;
  font-size:.875rem;color:#d1d5db;padding:6px 0;
}
.price-features li::before{content:'✓';color:#10b981;font-weight:700;flex-shrink:0}
.price-btn{
  display:block;width:100%;padding:12px;border-radius:8px;
  text-align:center;font-size:.875rem;font-weight:600;
  border:1px solid rgba(255,255,255,.12);color:#e5e7eb;
  background:transparent;cursor:pointer;transition:all .2s;
}
.price-btn:hover{border-color:#10b981;color:#10b981}
.price-card.featured .price-btn{
  background:#10b981;color:#fff;border-color:#10b981;
}
.price-card.featured .price-btn:hover{background:#059669}

/* --- Evidence / Trust --- */
.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:40px}
.trust-card{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
  border-radius:12px;padding:28px;transition:border-color .3s;
}
.trust-card:hover{border-color:rgba(16,185,129,.2)}
.trust-icon{font-size:1.5rem;margin-bottom:12px}
.trust-card h3{font-size:1rem;font-weight:700;color:#fff;margin-bottom:8px}
.trust-card p{font-size:.875rem;color:#9ca3af;line-height:1.6}

/* --- Final CTA --- */
.final-cta{
  padding:100px 0;text-align:center;
  background:linear-gradient(180deg,transparent,rgba(16,185,129,.04) 50%,transparent);
}
.final-cta h2{
  font-size:clamp(1.5rem,4vw,2.5rem);
  font-weight:800;color:#fff;margin-bottom:16px;
}
.final-cta p{font-size:1.0625rem;color:#9ca3af;margin-bottom:40px;max-width:480px;margin-left:auto;margin-right:auto}

/* Copy command box */
.cmd-box{
  display:inline-flex;align-items:center;gap:12px;
  background:#111827;border:1px solid rgba(255,255,255,.1);
  border-radius:10px;padding:14px 20px;
  font-family:'SF Mono',SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;
  font-size:.9375rem;color:#d1d5db;
  cursor:pointer;transition:border-color .2s;
  margin-bottom:16px;
}
.cmd-box:hover{border-color:#10b981}
.cmd-box .copy-icon{color:#6b7280;flex-shrink:0;transition:color .2s}
.cmd-box:hover .copy-icon{color:#10b981}
.cmd-box.copied{border-color:#10b981}
.cmd-box.copied .copy-icon{color:#10b981}

/* --- Footer --- */
.footer{
  padding:40px 0;
  border-top:1px solid rgba(255,255,255,.06);
  text-align:center;
}
.footer-inner{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:24px;
  font-size:.8125rem;color:#6b7280;
}
.footer a{color:#6b7280}
.footer a:hover{color:#10b981}

/* --- Flow Arrow (between sections) --- */
.flow-label{
  font-size:.8125rem;font-weight:600;color:#6b7280;
  text-align:center;padding:20px 0;letter-spacing:.05em;
}

/* --- Responsive --- */
@media(max-width:768px){
  .nav-links{
    display:none;
    position:absolute;top:64px;left:0;right:0;
    flex-direction:column;padding:20px 24px;gap:16px;
    background:rgba(10,10,15,.98);border-bottom:1px solid rgba(255,255,255,.06);
  }
  .nav-links.open{display:flex}
  .nav-toggle{display:block}
  .hero{padding:110px 0 70px}
  .section{padding:70px 0}
  .stats-grid{grid-template-columns:1fr 1fr}
  .layers{grid-template-columns:1fr}
  .lock-grid{grid-template-columns:1fr 1fr}
  .pricing-grid{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:1fr}
  .comparison-table{font-size:.8125rem}
  .comparison-table th,.comparison-table td{padding:10px 12px}
}
@media(max-width:480px){
  .stats-grid{grid-template-columns:1fr}
  .lock-grid{grid-template-columns:1fr}
  .hero-cta-group{flex-direction:column;align-items:center}
}
