/* ===================================================
   LEARN MAKE EASY — style.css
   Font: Inter | Design: Glassmorphism Dark
   =================================================== */

/* ---------- CSS Variables (Dark — Red + White theme) ---------- */
:root {
  --bg:           #0f0f0f;
  --bg2:          #1a1a1a;
  --surface:      rgba(255,255,255,0.05);
  --surface-hover:rgba(255,255,255,0.09);
  --border:       rgba(255,255,255,0.10);
  --border-hover: rgba(239,68,68,0.55);

  --text:         #ffffff;
  --text-muted:   #a0a0a0;

  --primary:      #ef4444;
  --primary2:     #f97316;
  --accent:       #ef4444;

  --grad:         linear-gradient(135deg, #ef4444, #f97316);
  --grad2:        linear-gradient(135deg, #dc2626, #ef4444, #f97316);

  --radius:       18px;
  --radius-sm:    10px;
  --radius-lg:    28px;

  --shadow:       0 8px 32px rgba(0,0,0,0.45);
  --shadow-glow:  0 0 40px rgba(239,68,68,0.25);

  --transition:   all 0.32s cubic-bezier(0.4,0,0.2,1);
  --font:         'Inter', sans-serif;
}

/* ---------- Light Mode ---------- */
[data-theme="light"] {
  --bg:           #f8f8ff;
  --bg2:          #f0f0fa;
  --surface:      rgba(255,255,255,0.85);
  --surface-hover:rgba(255,255,255,0.95);
  --border:       rgba(168,85,247,0.12);
  --border-hover: rgba(168,85,247,0.4);
  --text:         #111122;
  --text-muted:   #55556a;
  --shadow:       0 8px 32px rgba(100,100,200,0.10);
  --shadow-glow:  0 0 40px rgba(168,85,247,0.10);
  --primary:      #dc2626;
  --primary2:     #ea580c;
  --accent:       #dc2626;
  --grad:         linear-gradient(135deg, #dc2626, #ea580c);
  --grad2:        linear-gradient(135deg, #b91c1c, #dc2626, #ea580c);
  --shadow-glow:  0 0 40px rgba(220,38,38,0.15);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  line-height:1.7;
  font-size:15px;
  font-weight:400;
  overflow-x:hidden;
  transition:background 0.4s,color 0.4s;
}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{cursor:pointer;border:none;background:none;font-family:inherit;}

/* ---------- Canvas ---------- */
#particles{
  position:fixed;inset:0;
  pointer-events:none;z-index:0;opacity:0.55;
}

/* ---------- Loader ---------- */
#loader{
  position:fixed;inset:0;
  background:var(--bg);
  display:flex;align-items:center;justify-content:center;
  z-index:9999;
  transition:opacity 0.5s,visibility 0.5s;
}
#loader.hide{opacity:0;visibility:hidden;}

.loader-inner{text-align:center;}

.loader-logo{
  font-family:var(--font);
  font-size:2.6rem;font-weight:800;
  background:var(--grad);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:1.75rem;
  letter-spacing:-0.03em;
}

.loader-bar{
  width:200px;height:3px;
  background:var(--border);border-radius:3px;overflow:hidden;
  margin:0 auto 1rem;
}

.loader-fill{
  height:100%;width:0;
  background:var(--grad);border-radius:3px;
  animation:loadBar 2s ease forwards;
}

.loader-text{color:var(--text-muted);font-size:0.82rem;}
@keyframes loadBar{to{width:100%;}}

/* ---------- Navbar ---------- */
#navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:1rem 0;transition:var(--transition);
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(239,68,68,0.15);
}

#navbar.scrolled{
  background:rgba(255,255,255,0.98);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(239,68,68,0.22);
  padding:0.6rem 0;
}

/* Dark mode = light/white navbar */
[data-theme="dark"] #navbar{
  background:rgba(255,255,255,0.96);
  border-bottom:1px solid rgba(239,68,68,0.15);
}
[data-theme="dark"] #navbar.scrolled{
  background:rgba(255,255,255,0.98);
  border-bottom:1px solid rgba(239,68,68,0.22);
}

/* Light mode = dark navbar */
[data-theme="light"] #navbar{
  background:rgba(15,15,15,0.96);
  border-bottom:1px solid rgba(239,68,68,0.20);
}
[data-theme="light"] #navbar.scrolled{
  background:rgba(10,10,10,0.98);
  border-bottom:1px solid rgba(239,68,68,0.28);
}

.nav-container{
  max-width:1280px;margin:0 auto;padding:0 2rem;
  display:flex;align-items:center;gap:1.5rem;
}

.logo{
  display:flex;align-items:center;gap:0.45rem;
  font-weight:800;font-size:1.2rem;flex-shrink:0;
  letter-spacing:-0.02em;
  color:#111111;
}
.logo-icon{font-size:1.2rem;}
.logo-text{color:#111111;}
.accent{color:var(--primary);}

[data-theme="dark"] .logo{ color:#111111; }
[data-theme="dark"] .logo-text{ color:#111111; }

[data-theme="light"] .logo{ color:#ffffff; }
[data-theme="light"] .logo-text{ color:#ffffff; }

.nav-links{
  display:flex;gap:0.15rem;margin-left:auto;
}

.nav-link{
  padding:0.45rem 0.9rem;border-radius:8px;
  font-size:0.88rem;font-weight:600;
  color:#111111;transition:var(--transition);
}
.nav-link:hover,.nav-link.active{
  color:#ef4444;background:rgba(239,68,68,0.08);
}

/* Dark mode navbar is white — so text is dark */
[data-theme="dark"] .nav-link{
  color:#111111;
}
[data-theme="dark"] .nav-link:hover,
[data-theme="dark"] .nav-link.active{
  color:#ef4444;background:rgba(239,68,68,0.10);
}

/* Light mode navbar is dark — so text is white */
[data-theme="light"] .nav-link{
  color:#ffffff;
}
[data-theme="light"] .nav-link:hover,
[data-theme="light"] .nav-link.active{
  color:#ffffff;background:rgba(255,255,255,0.15);
}

.nav-actions{
  display:flex;align-items:center;gap:0.65rem;margin-left:0.5rem;
}

.theme-toggle{
  width:36px;height:36px;border-radius:50%;
  background:rgba(0,0,0,0.08);border:1px solid rgba(0,0,0,0.15);
  font-size:0.95rem;display:flex;align-items:center;justify-content:center;
  transition:var(--transition);color:#111111;
}
.theme-toggle:hover{background:rgba(239,68,68,0.12);transform:rotate(18deg);}

[data-theme="light"] .theme-toggle{
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.25);
  color:#ffffff;
}
[data-theme="light"] .theme-toggle:hover{
  background:rgba(255,255,255,0.22);
}

.hamburger{
  display:none;flex-direction:column;gap:5px;
  padding:7px;border-radius:8px;background:var(--surface);
  border:1px solid var(--border);margin-left:auto;
}
.hamburger span{
  display:block;width:20px;height:2px;
  background:var(--text);border-radius:2px;transition:var(--transition);
}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------- Buttons ---------- */
.btn-primary{
  display:inline-flex;align-items:center;gap:0.45rem;
  padding:0.6rem 1.35rem;
  background:var(--grad);color:#fff;
  border-radius:999px;font-weight:600;font-size:0.88rem;
  transition:var(--transition);position:relative;overflow:hidden;
  white-space:nowrap;border:none;
}
.btn-primary::before{
  content:'';position:absolute;inset:0;
  background:rgba(255,255,255,0.12);opacity:0;transition:opacity 0.3s;
}
.btn-primary:hover::before{opacity:1;}
.btn-primary:hover{transform:translateY(-2px);}

.glow-btn{
  box-shadow:0 0 18px rgba(239,68,68,0.40),0 4px 16px rgba(0,0,0,0.25);
}
.glow-btn:hover{
  box-shadow:0 0 30px rgba(239,68,68,0.65),0 8px 24px rgba(0,0,0,0.35);
  transform:translateY(-3px);
}

.btn-outline{
  display:inline-flex;align-items:center;gap:0.45rem;
  padding:0.6rem 1.35rem;
  background:transparent;color:var(--text);
  border:1.5px solid var(--border-hover);
  border-radius:999px;font-weight:600;font-size:0.88rem;
  transition:var(--transition);white-space:nowrap;
}
.btn-outline:hover{
  background:rgba(239,68,68,0.08);border-color:var(--primary);
  transform:translateY(-2px);
}

.large{padding:0.78rem 1.85rem;font-size:0.95rem;}
.full{width:100%;justify-content:center;}

/* ---------- Sections ---------- */
.section{padding:4rem 0;position:relative;z-index:1;}

.container{max-width:1280px;margin:0 auto;padding:0 2rem;}

.section-header{text-align:center;margin-bottom:3.5rem;}

.section-tag{
  display:inline-block;
  padding:0.3rem 1rem;
  background:#ffffff;
  border:1.5px solid rgba(239,68,68,0.35);
  border-radius:999px;
  font-size:0.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:0.08em;
  color:#dc2626;margin-bottom:0.85rem;
}
[data-theme="light"] .section-tag{
  background:#ffffff;
  border-color:rgba(220,38,38,0.4);
  color:#dc2626;
}

.section-title{
  font-size:clamp(1.85rem,3.5vw,2.8rem);
  font-weight:800;line-height:1.2;
  margin-bottom:0.85rem;letter-spacing:-0.02em;
}

.section-desc{
  color:var(--text-muted);font-size:0.98rem;
  max-width:540px;margin:0 auto;
}

.gradient-text{
  background:var(--grad);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

/* ---------- Glass ---------- */
.glass{
  background:var(--surface);
  border:1px solid var(--border);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}

/* ---------- Reveal ---------- */
.reveal{
  opacity:0;transform:translateY(26px);
  transition:opacity 0.65s ease,transform 0.65s ease;
  transition-delay:var(--delay,0s);
}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ---------- Hero ---------- */
.hero-section{
  min-height:auto;
  display:flex;align-items:center;justify-content:center;
  padding:6rem 2rem 3rem;
  position:relative;overflow:hidden;
  max-width:1280px;margin:0 auto;
  text-align:center;
}

.hero-bg{
  position:fixed;inset:0;z-index:0;pointer-events:none;
}

.orb{
  position:absolute;border-radius:50%;
  filter:blur(80px);opacity:0.3;
}
.orb-1{
  width:600px;height:600px;
  background:radial-gradient(circle,#ef4444,transparent 70%);
  top:-150px;right:-150px;
  animation:float1 9s ease-in-out infinite;
}
.orb-2{
  width:500px;height:500px;
  background:radial-gradient(circle,#f97316,transparent 70%);
  bottom:-100px;left:-100px;
  animation:float2 11s ease-in-out infinite;
}
.orb-3{
  width:300px;height:300px;
  background:radial-gradient(circle,#dc2626,transparent 70%);
  top:45%;left:45%;
  animation:float3 13s ease-in-out infinite;
}
.grid-overlay{
  position:absolute;inset:0;
  background-image:
    linear-gradient(var(--border) 1px,transparent 1px),
    linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:60px 60px;opacity:0.45;
}

@keyframes float1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-28px,28px) scale(1.04)}}
@keyframes float2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-20px) scale(1.06)}}
@keyframes float3{0%,100%{transform:translate(0,0)}50%{transform:translate(-14px,14px)}}

.hero-content{position:relative;z-index:1;flex:1;min-width:0;max-width:720px;}

.hero-badge{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.35rem 0.9rem;
  background:rgba(168,85,247,0.1);border:1px solid rgba(168,85,247,0.3);
  border-radius:999px;font-size:0.8rem;font-weight:500;
  color:var(--primary);margin-bottom:1.25rem;
}

.badge-dot{
  width:6px;height:6px;background:#10b981;border-radius:50%;
  animation:blink 2s ease-in-out infinite;
}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}

.nowrap{white-space:nowrap;}

.logo-img{
  height:32px;width:auto;object-fit:contain;
  flex-shrink:0;border-radius:4px;
}

.hero-heading{
  font-size:clamp(1.1rem, 2.4vw, 2rem);
  font-weight:800;line-height:1.2;
  margin-bottom:1.25rem;letter-spacing:-0.02em;
  white-space:nowrap;
  overflow:visible;
}

.hero-sub{
  font-size:1.05rem;color:var(--text-muted);
  margin-bottom:2.25rem;max-width:560px;line-height:1.75;
  margin-left:auto;margin-right:auto;
}

.hero-actions{display:flex;gap:0.9rem;flex-wrap:wrap;margin-bottom:1rem;justify-content:center;}

.hero-stats{display:flex;gap:2rem;align-items:center;flex-wrap:wrap;justify-content:center;margin-bottom:0;}

.stat-item{display:flex;flex-direction:column;}

.stat-num{
  font-size:1.75rem;font-weight:800;
  background:var(--grad);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1;
}
.stat-plus{
  font-size:1.4rem;font-weight:800;
  background:var(--grad);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.stat-label{
  font-size:0.74rem;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:0.06em;margin-top:0.2rem;
}
.stat-divider{width:1px;height:36px;background:var(--border);}

/* ---------- Hero Visual ---------- */
.hero-visual{position:relative;z-index:1;flex:0 0 auto;width:min(460px,100%);}

.hero-card-stack{position:relative;height:400px;}

.hero-dashboard{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:300px;
  background:rgba(10,10,22,0.92);
  border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow),var(--shadow-glow);
  backdrop-filter:blur(20px);
}
[data-theme="light"] .hero-dashboard{background:rgba(240,240,252,0.92);}

.dash-header{
  display:flex;align-items:center;gap:0.45rem;
  padding:0.7rem 1rem;
  background:var(--surface);border-bottom:1px solid var(--border);
}
.dash-dot{width:9px;height:9px;border-radius:50%;}
.dash-dot.r{background:#ef4444;} .dash-dot.y{background:#f59e0b;} .dash-dot.g{background:#10b981;}
.dash-title{font-size:0.74rem;color:var(--text-muted);margin-left:0.4rem;font-weight:500;}

.dash-body{padding:1.1rem;}
.dash-label{font-size:0.7rem;color:var(--text-muted);margin-bottom:0.3rem;font-weight:500;}
.dash-bar-wrap{
  background:var(--surface);border-radius:4px;height:9px;
  margin-bottom:0.85rem;overflow:hidden;
}
.dash-bar{
  height:100%;width:var(--w);background:var(--c);border-radius:4px;
  animation:growBar 1.5s ease forwards;
}
@keyframes growBar{from{width:0;}}

.dash-metric{
  display:flex;flex-direction:column;margin-top:0.85rem;
  padding:0.7rem;
  background:rgba(16,185,129,0.08);border:1px solid rgba(16,185,129,0.2);
  border-radius:var(--radius-sm);
}
.metric-val{font-size:1rem;font-weight:700;color:#10b981;}
.metric-label{font-size:0.7rem;color:var(--text-muted);}

.float-card{
  position:absolute;display:flex;align-items:center;gap:0.5rem;
  padding:0.55rem 0.95rem;
  background:rgba(10,10,22,0.88);border:1px solid var(--border);
  border-radius:999px;font-size:0.8rem;font-weight:500;
  backdrop-filter:blur(10px);white-space:nowrap;
  box-shadow:var(--shadow);animation:floatCard 3.5s ease-in-out infinite;
}
[data-theme="light"] .float-card{background:rgba(240,240,252,0.92);}
.fc-icon{font-size:1rem;}
.card-a{top:18px;right:18px;animation-delay:0s;}
.card-b{bottom:90px;right:-8px;animation-delay:1s;}
.card-c{top:50%;left:-8px;transform:translateY(-50%);animation-name:floatCardC;}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes floatCardC{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 8px))}}

/* ---------- Section Button Wrapper ---------- */
.section-btn-wrap{
  text-align:center;
  margin-top:1.5rem;
}

/* ---------- Section Ribbon / Patti ---------- */
.section-ribbon{
  width:100%;
  background:rgba(239,68,68,0.15);
  color:var(--primary);
  text-align:center;
  padding:0.85rem 2rem;
  font-size:0.92rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.12em;
  margin-top:0;
  margin-bottom:2rem;
  border-radius:var(--radius);
  border:1.5px solid rgba(239,68,68,0.30);
}

/* ---------- Feature Cards ---------- */
.features-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.4rem;
}
.feature-card{
  padding:2rem 1.75rem;border-radius:var(--radius);
  transition:var(--transition);position:relative;overflow:hidden;
}
.feature-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--grad);opacity:0;transition:opacity 0.3s;
}
.feature-card:hover{
  border-color:var(--border-hover);transform:translateY(-4px);
  box-shadow:var(--shadow-glow);
}
.feature-card:hover::before{opacity:1;}
.feature-icon{
  width:50px;height:50px;border-radius:13px;
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;margin-bottom:1.15rem;
}
.feature-card h3{font-size:1.05rem;font-weight:700;margin-bottom:0.5rem;}
.feature-card p{color:var(--text-muted);font-size:0.88rem;line-height:1.7;}

/* ---------- Tools / Courses Grid ---------- */
.tools-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.3rem;
}
.tools-cta{text-align:center;margin-top:2.5rem;}

.tool-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);padding:1.75rem;
  transition:var(--transition);position:relative;
  backdrop-filter:blur(12px);
}
.tool-card:hover{
  border-color:var(--border-hover);transform:translateY(-4px);
  box-shadow:0 18px 45px rgba(0,0,0,0.35),0 0 35px rgba(239,68,68,0.12);
}

.tool-icon{
  width:50px;height:50px;border-radius:13px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;margin-bottom:0.9rem;
  background:var(--surface-hover);border:1px solid var(--border);
}

.tool-category{
  display:inline-block;font-size:0.68rem;
  padding:0.18rem 0.58rem;border-radius:999px;
  background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.25);
  color:var(--primary);text-transform:uppercase;letter-spacing:0.06em;
  font-weight:600;margin-bottom:0.65rem;
}
.tool-category.free-badge{
  background:rgba(16,185,129,0.12);border-color:rgba(16,185,129,0.3);color:#10b981;
}
.tool-category.premium-badge{
  background:rgba(245,158,11,0.12);border-color:rgba(245,158,11,0.3);color:#f59e0b;
}

.tool-card h3{font-size:1rem;font-weight:700;margin-bottom:0.4rem;}
.tool-card p{color:var(--text-muted);font-size:0.84rem;margin-bottom:1.2rem;line-height:1.65;}

.course-meta{
  display:flex;gap:0.65rem;flex-wrap:wrap;margin-bottom:1rem;
}
.course-tag{
  font-size:0.7rem;padding:0.18rem 0.55rem;
  border-radius:999px;background:var(--surface-hover);
  border:1px solid var(--border);color:var(--text-muted);font-weight:500;
}

.use-tool-btn{
  display:inline-flex;align-items:center;gap:0.35rem;
  padding:0.45rem 1rem;background:var(--grad);color:#fff;
  border-radius:999px;font-size:0.8rem;font-weight:600;
  transition:var(--transition);cursor:pointer;border:none;font-family:inherit;
}
.use-tool-btn:hover{transform:scale(1.04);box-shadow:0 0 16px rgba(239,68,68,0.45);}

/* ---------- Filter ---------- */
.tools-filter{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:2.25rem;}

.filter-btn{
  padding:0.42rem 1.1rem;border-radius:999px;
  border:1.5px solid var(--border);background:var(--surface);
  color:var(--text-muted);font-size:0.83rem;font-weight:500;
  transition:var(--transition);font-family:inherit;
}
.filter-btn:hover{border-color:var(--border-hover);color:var(--primary);}
.filter-btn.active{
  background:var(--grad);color:#fff;border-color:transparent;
  box-shadow:0 0 14px rgba(239,68,68,0.35);
}

/* ---------- Blog Grid ---------- */
.blog-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1.2rem;
}
.blog-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius);overflow:hidden;
  transition:var(--transition);backdrop-filter:blur(12px);
  text-decoration:none;color:inherit;display:block;
}
.blog-card:hover{
  border-color:var(--border-hover);transform:translateY(-4px);
  box-shadow:var(--shadow-glow);
}
.blog-thumb{
  width:100%;height:110px;
  display:flex;align-items:center;justify-content:center;
  font-size:2.8rem;
  background:var(--surface-hover);
}
.blog-body{padding:1.1rem 1.25rem;}
.blog-meta{
  display:flex;gap:0.5rem;align-items:center;margin-bottom:0.55rem;
  font-size:0.72rem;color:var(--text-muted);
}
.blog-cat{
  padding:0.13rem 0.5rem;border-radius:999px;
  background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.22);
  color:var(--primary);font-weight:600;text-transform:uppercase;letter-spacing:0.05em;
}
.blog-card h3{font-size:0.88rem;font-weight:700;margin-bottom:0.4rem;line-height:1.4;}
.blog-card p{color:var(--text-muted);font-size:0.78rem;margin-bottom:0.85rem;line-height:1.6;}
.blog-read{
  font-size:0.76rem;font-weight:600;color:var(--primary);
  display:inline-flex;align-items:center;gap:0.3rem;transition:var(--transition);
  text-decoration:none;
}
.blog-read:hover{gap:0.6rem;}

/* ---------- Templates Section ---------- */
.templates-section{background:var(--bg2);}
.blog-section{background:var(--bg);}

/* ---------- Testimonials ---------- */
.testimonials-section{background:var(--bg2);}
.testimonials-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem;
}
.testimonial-card{
  padding:2rem;border-radius:var(--radius);transition:var(--transition);
}
.testimonial-card:hover{border-color:var(--border-hover);transform:translateY(-3px);}
.stars{color:#f59e0b;font-size:0.9rem;margin-bottom:0.9rem;letter-spacing:2px;}
.testimonial-card p{
  color:var(--text-muted);font-size:0.9rem;font-style:italic;
  line-height:1.75;margin-bottom:1.4rem;
}
.testimonial-author{display:flex;align-items:center;gap:0.75rem;}
.author-avatar{
  width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:0.77rem;font-weight:700;color:#fff;flex-shrink:0;
}
.testimonial-author strong{display:block;font-size:0.88rem;font-weight:600;}
.testimonial-author span{font-size:0.76rem;color:var(--text-muted);}

/* ---------- Contact ---------- */
.hidden{display:none!important;}
.contact-section{background:var(--bg2);}
.contact-grid{
  display:grid;grid-template-columns:1fr 1.5fr;gap:2rem;align-items:start;
}
.contact-info-card{
  border-radius:var(--radius);padding:2.25rem;height:100%;
}
.contact-info-card h3{font-size:1.3rem;font-weight:700;margin-bottom:0.6rem;}
.contact-info-card>p{color:var(--text-muted);font-size:0.88rem;margin-bottom:1.75rem;}
.contact-detail{
  display:flex;align-items:flex-start;gap:0.75rem;
  margin-bottom:1.1rem;font-size:0.88rem;
}
.contact-icon{font-size:1rem;flex-shrink:0;}

.map-placeholder{
  margin-top:1.75rem;height:140px;
  background:var(--surface-hover);border:1px solid var(--border);
  border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;
}
.map-placeholder::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 50% 50%,rgba(168,85,247,0.08),transparent 70%);
}
.map-inner{
  display:flex;flex-direction:column;align-items:center;gap:0.4rem;
  z-index:1;color:var(--text-muted);font-size:0.82rem;
}
.map-pin{font-size:1.75rem;}

.contact-form{border-radius:var(--radius);padding:2.25rem;}
.form-group{margin-bottom:1.2rem;}
.form-group label{
  display:block;font-size:0.78rem;font-weight:600;
  margin-bottom:0.45rem;color:var(--text-muted);
  text-transform:uppercase;letter-spacing:0.05em;
}
.form-group input,
.form-group textarea,
.form-group select{
  width:100%;padding:0.75rem 0.95rem;
  background:var(--surface-hover);border:1px solid var(--border);
  border-radius:var(--radius-sm);color:var(--text);
  font-family:var(--font);font-size:0.9rem;
  transition:var(--transition);outline:none;resize:none;
  appearance:none;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(168,85,247,0.12);
}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:0.6;}

.form-success{
  margin-top:1rem;padding:0.85rem 1rem;
  background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.3);
  border-radius:var(--radius-sm);color:#10b981;font-size:0.88rem;text-align:center;
}

/* ---------- Footer ---------- */
.footer{
  border-top:1px solid rgba(239,68,68,0.15);
  padding:4.5rem 0 0;position:relative;z-index:1;overflow:hidden;
}

/* Dark mode = light footer */
[data-theme="dark"] .footer{
  background:#f5f5f5;
  border-top:1px solid rgba(239,68,68,0.20);
}
[data-theme="dark"] .footer-brand p,
[data-theme="dark"] .footer-col a,
[data-theme="dark"] .footer-col h4,
[data-theme="dark"] .footer-bottom{
  color:#333333;
}
[data-theme="dark"] .footer-col a:hover{ color:var(--primary); }
[data-theme="dark"] .footer-bottom{
  border-top:1px solid rgba(0,0,0,0.12);
  color:#555555;
}
[data-theme="dark"] .social-btn{
  background:rgba(0,0,0,0.06);
  border:1px solid rgba(0,0,0,0.12);
  color:#333333;
}
[data-theme="dark"] .footer-glow{
  background:radial-gradient(ellipse,rgba(239,68,68,0.08),transparent 70%);
}

/* Light mode = dark footer */
[data-theme="light"] .footer{
  background:#111111;
  border-top:1px solid rgba(239,68,68,0.25);
}
[data-theme="light"] .footer-brand p,
[data-theme="light"] .footer-col a,
[data-theme="light"] .footer-col h4,
[data-theme="light"] .footer-bottom{
  color:#cccccc;
}
[data-theme="light"] .footer-col a:hover{ color:#ef4444; }
[data-theme="light"] .footer-bottom{
  border-top:1px solid rgba(255,255,255,0.10);
  color:#999999;
}
[data-theme="light"] .social-btn{
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.15);
  color:#cccccc;
}
[data-theme="light"] .footer-glow{
  background:radial-gradient(ellipse,rgba(239,68,68,0.12),transparent 70%);
}

/* Logo text in footer */
[data-theme="dark"] .footer .logo,
[data-theme="dark"] .footer .logo-text{ color:#111111; }
[data-theme="dark"] .footer .logo-icon{ color:#111111; }

[data-theme="light"] .footer .logo,
[data-theme="light"] .footer .logo-text{ color:#ffffff; }
[data-theme="light"] .footer .logo-icon{ color:#ffffff; }

.footer-glow{
  position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:600px;height:180px;
  background:radial-gradient(ellipse,rgba(239,68,68,0.10),transparent 70%);
  pointer-events:none;
}
.footer-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
  gap:3rem;margin-bottom:3.5rem;
}
.footer-brand p{
  color:var(--text-muted);font-size:0.86rem;line-height:1.7;
  margin-top:0.85rem;margin-bottom:1.4rem;max-width:280px;
}
.social-links{display:flex;gap:0.45rem;}
.social-btn{
  width:36px;height:36px;border-radius:8px;
  background:var(--surface);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--text-muted);transition:var(--transition);
}
.social-btn:hover{
  background:var(--grad);border-color:transparent;color:#fff;transform:translateY(-2px);
}

.footer-col h4{
  font-size:0.82rem;font-weight:700;margin-bottom:1.1rem;
  text-transform:uppercase;letter-spacing:0.06em;
}
.footer-col ul{display:flex;flex-direction:column;gap:0.65rem;}
.footer-col a{color:var(--text-muted);font-size:0.86rem;transition:var(--transition);}
.footer-col a:hover{color:var(--primary);padding-left:3px;}

.footer-bottom{
  border-top:1px solid var(--border);padding:1.6rem 0;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:0.5rem;font-size:0.8rem;color:var(--text-muted);
}

/* ---------- Scroll Top ---------- */
.scroll-top{
  position:fixed;bottom:2rem;right:2rem;
  width:44px;height:44px;border-radius:50%;
  background:var(--grad);color:#fff;font-size:1rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 18px rgba(239,68,68,0.40);
  transition:var(--transition);z-index:999;
  opacity:0;pointer-events:none;transform:translateY(16px);
}
.scroll-top.visible{opacity:1;pointer-events:all;transform:translateY(0);}
.scroll-top:hover{transform:translateY(-3px);box-shadow:0 0 28px rgba(239,68,68,0.60);}

.scroll-down{
  position:fixed;top:5rem;right:2rem;
  width:44px;height:44px;border-radius:50%;
  background:var(--grad);color:#fff;font-size:1rem;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 18px rgba(239,68,68,0.40);
  transition:var(--transition);z-index:999;
  opacity:1;pointer-events:all;
  animation:bounceDown 2s ease-in-out infinite;
}
.scroll-down.hidden{opacity:0;pointer-events:none;}
.scroll-down:hover{box-shadow:0 0 28px rgba(239,68,68,0.60);}

@keyframes bounceDown{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(6px);}
}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
}

@media(max-width:900px){
  .hero-section{flex-direction:column;text-align:center;padding-top:5rem;gap:3rem;min-height:auto;}
  .hero-heading{white-space:normal;font-size:clamp(1.3rem,5vw,2rem);}
  .hero-sub{margin:0 auto 2rem;}
  .hero-actions{justify-content:center;}
  .hero-stats{justify-content:center;}
  .hero-visual{width:100%;}
  .hero-card-stack{height:360px;}

  .contact-grid{grid-template-columns:1fr;}

  .nav-links{
    position:fixed;top:66px;left:0;right:0;
    background:var(--bg2);border-bottom:1px solid var(--border);
    flex-direction:column;padding:1.25rem 1.5rem;gap:0.2rem;
    transform:translateY(-200%);opacity:0;transition:var(--transition);z-index:999;
  }
  .nav-links.open{transform:translateY(0);opacity:1;}
  .nav-link{padding:0.7rem 1rem;border-radius:8px;}
  .hamburger{display:flex;}
  .nav-actions .btn-primary{display:none;}
}

@media(max-width:640px){
  .footer-grid{grid-template-columns:1fr;gap:2rem;}
  .hero-heading{font-size:1rem;white-space:normal;}
  .cta-box{padding:3rem 1.5rem;}
  .section{padding:4rem 0;}
  .tools-grid{grid-template-columns:1fr;}
  .features-grid{grid-template-columns:1fr;}
  .testimonials-grid{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:1fr;}
}
