/* Chesta Landing Styles */
:root{
  --bg: #080b1a;
  --bg-soft: #0f1430;
  --surface: #12183b;
  --text: #e8ecf8;
  --muted: #adbbf7;
  --accent: #6aa7ff;
  --accent-2: #7c5cff;
  --card: #0d1230;
  --card-border: rgba(255,255,255,0.08);
  --success: #2dd4bf;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  background: radial-gradient(1200px 600px at 10% -10%, rgba(124,92,255,.12), transparent 60%), radial-gradient(1000px 800px at 90% 10%, rgba(106,167,255,.12), transparent 60%), var(--bg);
  color: var(--text);
  line-height: 1.6;
  overflow-x: hidden;
  scrollbar-gutter: stable both-edges;
}
img{max-width:100%;display:block}
.container{max-width:1320px;margin:0 auto;padding:0 24px}
/* Alignment consistency across sections */
.site-header > .container,
.hero > .container,
.features-section > .container,
.templates-section > .container,
.cta-section > .container,
.site-footer > .container { max-width: 1320px; margin-inline: auto; padding-inline: 24px; }

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:linear-gradient(to bottom, rgba(8,11,26,.9), rgba(8,11,26,.6) 60%, transparent);backdrop-filter:saturate(140%) blur(6px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0}
.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none}
.brand-logo{filter:drop-shadow(0 4px 10px rgba(108,131,255,.3))}
.brand-name{font-weight:800;letter-spacing:.5px;font-size:20px;text-transform:lowercase}
.site-nav{display:flex;gap:10px}
.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);cursor:pointer}
.nav-toggle .bar{display:block;width:20px;height:2px;background:#e8ecf8;border-radius:2px}
.nav-toggle .bar + .bar{margin-top:4px}
.nav-link{color:var(--text);text-decoration:none;padding:10px 14px;border-radius:10px;opacity:.86;border:1px solid transparent}
.nav-link:hover{opacity:1;border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.03)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:14px;text-decoration:none;border:1px solid transparent;transition:.25s ease;white-space:nowrap}
.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#0a0e21;box-shadow:0 10px 22px rgba(122,100,255,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(122,100,255,.5)}
.btn-outline{border-color:rgba(255,255,255,.16);color:var(--text)}
.btn-outline:hover{background:rgba(255,255,255,.06)}
.btn-ghost{background:rgba(255,255,255,.06);color:var(--text)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn-glow{background:linear-gradient(135deg, var(--accent), var(--success));color:#04122b;box-shadow:0 12px 28px rgba(45,212,191,.28)}
.btn-glow:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(45,212,191,.4)}

/* Hero */
.hero{position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-1}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%}
.gradient-overlay{position:absolute;inset:0;background:
  radial-gradient(1200px 400px at 30% 0%, rgba(124,92,255,.25), transparent 60%),
  radial-gradient(800px 600px at 80% 20%, rgba(106,167,255,.22), transparent 60%);
  background-size:160% 160%, 140% 140%;
  animation: gradientShift 26s ease-in-out infinite alternate;
}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:80px 0 40px}
.hero-title{font-size:52px;line-height:1.05;margin:0 0 16px;letter-spacing:-.5px}
.hero-subtitle{margin:0 0 24px;color:var(--muted);font-size:18px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.hero-badges{list-style:none;padding:0;margin:0;display:flex;gap:12px;flex-wrap:wrap}
.hero-badges li{font-size:14px;color:var(--muted);padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.03)}
.hero-preview{display:flex;align-items:center;justify-content:center}
.device-frame{width:100%;max-width:440px;aspect-ratio:10/7;border-radius:22px;padding:10px;background:linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow)}
.device-screen{width:100%;height:100%;border-radius:16px;background:linear-gradient(145deg, #151b3d, #0b102a);position:relative;overflow:hidden}
.shimmer::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg at 50% 50%, rgba(124,92,255,.08), rgba(106,167,255,.08), transparent 30%, transparent 70%, rgba(106,167,255,.08));animation:rotate 16s linear infinite}
@keyframes rotate{to{transform:rotate(360deg)}}
@keyframes gradientShift{0%{background-position:0% 0%, 100% 0%}100%{background-position:100% 40%, 0% 60%}}
@keyframes float {
  0%, 100% { transform: translateY(0px) translateX(0px); }
  25% { transform: translateY(-5px) translateX(5px); }
  50% { transform: translateY(-10px) translateX(0px); }
  75% { transform: translateY(-5px) translateX(-5px); }
}

/* Floating objects in hero */
.floater{position:absolute;border-radius:14px;box-shadow:0 8px 20px rgba(0,0,0,.25);mix-blend-mode:screen;will-change:transform}
.floater.is-pill{border-radius:999px}
.floating-image { animation: float 6s ease-in-out infinite; }

/* Features */
.features-section{padding:70px 0;position:relative}
.features-section::before{content:"";position:absolute;inset:auto 0 -10% 0;height:260px;pointer-events:none;background:radial-gradient(600px 180px at 20% 0%, rgba(124,92,255,.16), transparent 60%),radial-gradient(600px 180px at 80% 0%, rgba(106,167,255,.14), transparent 60%);filter:blur(20px);opacity:.8}
.features-section h2{margin:0 0 10px;font-size:32px}
.section-intro{margin:0 0 24px;color:var(--muted)}
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.feature{background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));border:1px solid var(--card-border);border-radius:16px;padding:18px;min-height:160px;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.feature-icon{font-size:22px;margin-bottom:8px}
.feature h3{margin:0 0 8px}
.feature p{margin:0;color:#c0ccff}

/* Templates */
.templates-section{padding:30px 0 60px;position:relative}
.templates-section::before{content:"";position:absolute;inset:-8% 0 auto 0;height:220px;pointer-events:none;background:radial-gradient(500px 160px at 10% 100%, rgba(45,212,191,.14), transparent 60%),radial-gradient(640px 200px at 90% 80%, rgba(124,92,255,.14), transparent 60%);filter:blur(18px);opacity:.8}
.templates-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.9}
.templates-section > .container{position:relative;z-index:1}
.templates-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.templates-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(520px, 1fr));gap:24px}
.card{background:linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.02));border:1px solid var(--card-border);border-radius:18px;overflow:hidden;box-shadow:0 12px 24px rgba(0,0,0,.3);display:flex;flex-direction:column}
.card-media{aspect-ratio:16/9;background:#0f1430;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.card-media img{width:100%;height:100%;object-fit:contain;transition:transform .5s ease;padding:6px}
.card:hover .card-media img{transform:scale(1.03)}
.card:hover{border-color:rgba(124,92,255,.45);box-shadow:0 14px 30px rgba(0,0,0,.35),0 0 0 1px rgba(124,92,255,.18),0 10px 40px rgba(106,167,255,.22)}
.card-body{padding:18px}
.card-title{margin:0 0 6px;font-size:20px}
.card-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.card-desc{color:#c7d3ff;margin:8px 0 10px}
.card-more{color:#a9b7ff;font-size:14px;display:grid;gap:4px}
.card-actions{display:flex;gap:10px;padding:14px 16px 18px}
.card .toggle{margin-left:auto}
.toggle{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.04);color:var(--text);cursor:pointer}
.toggle input{appearance:none;width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:linear-gradient(145deg, #1b2148,#0b1130);position:relative}
.toggle input:checked::after{content:"";position:absolute;inset:4px;border-radius:50%;background:linear-gradient(135deg, var(--accent), var(--accent-2))}

/* CTA */
.cta-section{padding:50px 0}
.cta-inner{background:linear-gradient(135deg, rgba(124,92,255,.16), rgba(106,167,255,.12));border:1px solid var(--card-border);border-radius:20px;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 16px 34px rgba(0,0,0,.3)}
.cta-content h2{margin:0 0 6px}
.cta-content p{margin:0;color:var(--muted)}

/* Footer */
.site-footer{padding:28px 0;border-top:1px solid rgba(255,255,255,.08);background:radial-gradient(800px 200px at 50% -20%, rgba(124,92,255,.18), transparent 60%), transparent}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:8px}
.footer-brand{display:flex;align-items:center;gap:10px;opacity:.9}
.footer-copy{margin:0;color:var(--muted)}
.footer-legal{opacity:.7}

/* Lock scroll when mobile nav open */
body.nav-open{overflow:hidden}

/* Responsive */
@media (max-width:1100px){
  .features-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr;gap:24px;padding:60px 0 20px}
  .hero-title{font-size:42px}
  .templates-grid{grid-template-columns:1fr}
  .features-grid{grid-template-columns:1fr 1fr}
  .nav-toggle{display:flex}
  #primary-nav{position:fixed;left:0;right:0;top:64px;background:var(--bg);border:1px solid var(--card-border);border-radius:0;padding:16px 24px;display:none;flex-direction:column;gap:8px;box-shadow:0 12px 24px rgba(0,0,0,.35)}
  #primary-nav.open{display:flex}
  .site-nav .nav-link{padding:10px 12px;border-radius:10px}
}
@media (max-width:600px){
  .hero-title{font-size:34px}
  .features-grid{grid-template-columns:1fr}
  .header-inner{gap:10px}
}
@media (max-width:980px){
  .floating-image { display: none; }
}
