:root{
  --primary:#4f46e5;
  --primary-dark:#3730a3;
  --primary-light:#818cf8;
  --accent:#ec4899;
  --bg:#f6f6fc;
  --card-bg:#ffffff;
  --text:#1a1730;
  --muted:#68667f;
  --border:#e7e6f2;
  --shadow:0 4px 18px rgba(35,25,80,0.06);
  --shadow-hover:0 20px 40px rgba(79,70,229,0.18);
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;}
.container{max-width:1040px;margin:0 auto;padding:0 24px;}

/* Header */
.site-header{background:rgba(255,255,255,0.8);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;flex-wrap:wrap;gap:12px;}
.logo{font-weight:800;font-size:1.25rem;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:10px;letter-spacing:-0.3px;}
.logo-badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:10px;font-size:1.05rem;box-shadow:0 4px 10px rgba(79,70,229,0.3);}
.main-nav{display:flex;gap:24px;flex-wrap:wrap;}
.main-nav a{color:var(--muted);text-decoration:none;font-size:0.9rem;font-weight:600;transition:color .15s;position:relative;}
.main-nav a:hover{color:var(--primary);}

/* Hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#4338ca 0%,#6d28d9 45%,#a21caf 100%);color:#fff;padding:80px 0 110px;text-align:center;isolation:isolate;}
.hero-blob{position:absolute;border-radius:50%;filter:blur(50px);opacity:0.5;z-index:-1;}
.blob-1{width:340px;height:340px;background:#818cf8;top:-120px;left:-100px;}
.blob-2{width:280px;height:280px;background:#f472b6;bottom:-100px;right:-60px;}
.blob-3{width:220px;height:220px;background:#22d3ee;top:40%;right:15%;opacity:0.35;}
.hero-inner{position:relative;z-index:1;}
.hero-eyebrow{display:inline-block;background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.28);border-radius:999px;padding:7px 18px;font-size:0.82rem;font-weight:600;margin-bottom:22px;letter-spacing:0.2px;}
.hero h1{font-size:3rem;margin:0 0 16px;font-weight:800;letter-spacing:-1px;line-height:1.15;}
.hero .subtitle{color:rgba(255,255,255,0.92);font-size:1.15rem;margin:0 auto 36px;max-width:560px;}
.hero-stats{display:flex;justify-content:center;gap:44px;flex-wrap:wrap;}
.stat{display:flex;flex-direction:column;align-items:center;}
.stat strong{font-size:1.7rem;font-weight:800;}
.stat span{font-size:0.8rem;color:rgba(255,255,255,0.75);text-transform:uppercase;letter-spacing:0.5px;margin-top:2px;}

main.container{margin-top:-56px;position:relative;z-index:2;}

/* Ad slots */
.ad-slot{background:#eceefa;border:1.5px dashed #c9cce8;border-radius:12px;text-align:center;color:#9497b8;padding:16px;margin:24px 0;font-size:0.78rem;font-weight:700;letter-spacing:0.6px;text-transform:uppercase;}

/* Section title */
.section-title{text-align:center;font-size:0.85rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;margin:44px 0 24px;}

/* Holiday countdown grid */
.holiday-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin:20px 0 8px;}
.holiday-card{position:relative;overflow:hidden;border-radius:18px;padding:24px 20px;text-align:center;color:#fff;box-shadow:var(--shadow);transition:transform .2s ease, box-shadow .2s ease;}
.holiday-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);}
.holiday-christmas{background:linear-gradient(135deg,#166534,#15803d 55%,#b91c1c);}
.holiday-newyear{background:linear-gradient(135deg,#1e293b,#3730a3 55%,#c026d3);}
.holiday-halloween{background:linear-gradient(135deg,#7c2d12,#c2410c 55%,#1e1b2e);}
.holiday-icon{display:block;font-size:2.2rem;margin-bottom:10px;}
.holiday-card h3{margin:0 0 8px;font-size:1.05rem;font-weight:700;}
.holiday-days{margin:0 0 4px;font-size:1.5rem;font-weight:800;letter-spacing:-0.3px;}
.holiday-sub{font-size:0.78rem;color:rgba(255,255,255,0.8);text-transform:uppercase;letter-spacing:0.5px;font-weight:600;}

/* Tool grid */
.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;margin:20px 0 44px;}
.tool-card{display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--border);border-radius:18px;padding:28px;text-decoration:none;color:var(--text);box-shadow:var(--shadow);transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;position:relative;overflow:hidden;}
.tool-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(79,70,229,0.05),rgba(236,72,153,0.05));opacity:0;transition:opacity .2s;}
.tool-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-hover);border-color:var(--primary-light);}
.tool-card:hover::before{opacity:1;}
.tool-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;font-size:1.7rem;margin-bottom:18px;position:relative;z-index:1;}
.icon-blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe);}
.icon-purple{background:linear-gradient(135deg,#ede9fe,#ddd6fe);}
.icon-orange{background:linear-gradient(135deg,#ffedd5,#fed7aa);}
.icon-green{background:linear-gradient(135deg,#dcfce7,#bbf7d0);}
.icon-pink{background:linear-gradient(135deg,#fce7f3,#fbcfe8);}
.icon-teal{background:linear-gradient(135deg,#ccfbf1,#99f6e4);}
.tool-card h3{margin:0 0 8px;font-size:1.2rem;font-weight:700;position:relative;z-index:1;}
.tool-card p{margin:0 0 20px;color:var(--muted);font-size:0.93rem;flex-grow:1;position:relative;z-index:1;}
.tool-arrow{display:inline-flex;align-items:center;gap:6px;font-size:0.87rem;font-weight:700;color:var(--primary);position:relative;z-index:1;}
.tool-arrow svg{transition:transform .2s;}
.tool-card:hover .tool-arrow{color:var(--primary-dark);}
.tool-card:hover .tool-arrow svg{transform:translateX(4px);}

@keyframes fadeInUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.fade-in{animation:fadeInUp .5s ease both;}
.tool-grid .fade-in:nth-child(1){animation-delay:.03s;}
.tool-grid .fade-in:nth-child(2){animation-delay:.08s;}
.tool-grid .fade-in:nth-child(3){animation-delay:.13s;}
.tool-grid .fade-in:nth-child(4){animation-delay:.18s;}
.tool-grid .fade-in:nth-child(5){animation-delay:.23s;}
.tool-grid .fade-in:nth-child(6){animation-delay:.28s;}

/* About */
.about{margin:44px 0;padding:30px;background:var(--card-bg);border-radius:18px;border:1px solid var(--border);box-shadow:var(--shadow);}
.about h2{margin-top:0;font-size:1.35rem;font-weight:800;}
.about p{color:var(--muted);margin-bottom:0;}

/* Footer */
.site-footer{margin-top:54px;padding:30px 0;border-top:1px solid var(--border);color:var(--muted);font-size:0.85rem;text-align:center;}

/* Tool pages */
.tool-page{background:var(--bg);}
.tool-page main{padding-top:36px;}
.tool-box{background:var(--card-bg);border:1px solid var(--border);border-radius:20px;padding:34px;margin:20px 0;box-shadow:var(--shadow);}
.tool-box h1{margin-top:0;font-size:1.8rem;font-weight:800;letter-spacing:-0.5px;}
.tool-box > p{color:var(--muted);}
.form-row{display:flex;flex-wrap:wrap;gap:16px;margin:26px 0;align-items:end;}
.field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:150px;}
.field label{font-size:0.8rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.4px;}
input,select{padding:12px 14px;border:1.5px solid var(--border);border-radius:11px;font-size:1rem;font-family:inherit;background:#fafbff;transition:border-color .15s, box-shadow .15s;}
input:focus,select:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px rgba(129,140,248,0.2);}
button.calc-btn{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border:none;padding:14px 30px;border-radius:11px;font-size:1rem;font-weight:700;cursor:pointer;align-self:flex-start;box-shadow:0 6px 16px rgba(79,70,229,0.3);transition:transform .12s, box-shadow .12s;}
button.calc-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(79,70,229,0.36);}
.result-box{margin-top:24px;padding:22px;background:linear-gradient(135deg,#eef0ff,#fbeaf5);border:1.5px solid #d3d3f7;border-radius:14px;font-size:1.25rem;font-weight:700;color:var(--primary-dark);min-height:24px;}
.explain{margin-top:32px;color:var(--muted);font-size:0.92rem;}
.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;color:var(--primary);text-decoration:none;font-size:0.9rem;font-weight:700;}
.back-link:hover{color:var(--primary-dark);}

@media (max-width:640px){
  .hero h1{font-size:2.1rem;}
  .hero{padding:56px 0 90px;}
  .hero-stats{gap:28px;}
}
