:root{
  --paper:#faf9f7;
  --ink:#111827;
  --subink:#374151;
  --accent-blue:#2b6cb0;
  --accent-red:#d7263d;
  --soft:#f3f4f6;
  --line:#e5e7eb;
  --good:#16a34a;
  --warn:#f59e0b;
  --bad:#ef4444;
}
html,body{scroll-behavior:smooth}
.navlink{
  color:#4b5563;
  padding:6px 0;
  position:relative;
}
.navlink::after{
  content:'';
  position:absolute;
  left:0; bottom:-6px;
  width:0%; height:2px; background:var(--accent-blue);
  transition:width .25s ease;
}
.navlink:hover{color:var(--ink)}
.navlink:hover::after{width:100%}
.btn{
  font-weight:600;
  padding:.6rem 1rem;
  border-radius:.5rem;
  transition:all .2s ease;
  border:1px solid transparent;
}
.btn-primary{
  background:linear-gradient(90deg, #3b82f6, var(--accent-blue));
  color:#fff;
  box-shadow:0 8px 24px rgba(43,108,176,.18);
}
.btn-primary:hover{transform:translateY(-1px); box-shadow:0 12px 30px rgba(43,108,176,.25)}
.btn-outline{
  background:#fff; color:var(--ink); border-color:#d1d5db;
}
.btn-outline:hover{background:#f9fafb}
.btn-subtle{
  background:#fff; border:1px solid #e5e7eb; color:var(--ink);
}
.btn-subtle:hover{background:#f9fafb}
.badge{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:44px; height:28px; padding:0 .5rem; border-radius:999px;
  font-weight:700; color:#fff; font-size:.85rem;
}
.badge-good{background:#22c55e}
.badge-warn{background:#f59e0b}
.badge-bad{background:#ef4444}
.pill{
  background:#fff; border:1px solid #e5e7eb; padding:.35rem .6rem;
  border-radius:999px; font-size:.8rem;
}
.ticker-item{display:flex; align-items:center; gap:.6rem}
.ticker-item p{color:#374151}
.stat-card, .step-card, .price-card, .audience-card, .pillar, .mini-card{
  background:#fff; border:1px solid #e5e7eb; border-radius: .75rem;
  padding:1rem; box-shadow:0 10px 24px rgba(17,24,39,.06);
}
.stat-card h4{font-weight:800}
.step-card{position:relative; padding-top:2.2rem}
.step-num{
  position:absolute; top:-12px; left:16px; width:36px; height:36px;
  border-radius:.5rem;
  display:grid; place-items:center; color:#fff; font-weight:900;
  background:linear-gradient(135deg,#60a5fa,var(--accent-blue));
  box-shadow:0 10px 24px rgba(43,108,176,.24);
}
.price-card h4 {
  font-weight: 800;
  margin-bottom: 0.5rem;
  font-size: 1.15rem;
  color: #111827; 
  line-height: 1.3;
}
.price {
  font-size: 1.85rem;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 0.4rem;
  color: #1e293b;
}
.price .unit {
  font-size: 0.85rem;
  font-weight: 600;
  color: #6b7280;
  margin-left: 0.25rem;
  vertical-align: middle;
}
.price::after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  background: #e5e7eb;
  margin-top: 0.6rem;
  border-radius: 999px;
}
.list{margin:.6rem 0 1rem 1rem; list-style:disc; color:#4b5563}
.audience-card h4{font-weight:800; margin-bottom:.25rem}
.glass-panel{
  background:rgba(255,255,255,.85);
  border:1px solid #e5e7eb; border-radius:.9rem; padding:1rem 1rem 1.2rem;
  box-shadow:0 12px 28px rgba(17,24,39,.08);
}
.engine-pulse{
  position:absolute; inset:8%; border-radius:50%; border:1px solid rgba(43,108,176,.35);
  animation: pulse 6s ease-out infinite;
}
.engine-pulse.delay-1{ inset:18%; animation-delay:1s }
.engine-pulse.delay-2{ inset:28%; animation-delay:2s }
.engine-dots{
  position:absolute; inset:0; background:
    radial-gradient(2px 2px at 18% 30%, rgba(43,108,176,.6), transparent),
    radial-gradient(2px 2px at 72% 20%, rgba(43,108,176,.5), transparent),
    radial-gradient(2px 2px at 60% 78%, rgba(43,108,176,.4), transparent),
    radial-gradient(2px 2px at 30% 70%, rgba(43,108,176,.45), transparent);
  mix-blend-mode:multiply;
  filter: blur(.2px);
  animation: orbit 24s linear infinite;
}
@keyframes pulse{0%{transform:scale(.95);opacity:.85}70%{transform:scale(1.05);opacity:.2}100%{transform:scale(1.07);opacity:0}}
@keyframes orbit{to{transform:rotate(360deg)}}
.timeline-line{
  position:absolute; left:18px; top:0; bottom:0; width:2px;
  background:linear-gradient(180deg,#93c5fd,#60a5fa);
}
.timeline-item{
  position:relative; display:flex; gap:.9rem; margin-left:44px; padding:1rem 0;
  border-bottom:1px dashed #e5e7eb;
}
.timeline-item:last-child{border-bottom:none}
.timeline-item .dot{
  position:absolute; left:-34px; top:1.4rem; width:12px; height:12px; border-radius:50%;
  background:linear-gradient(180deg,#93c5fd,#60a5fa);
  box-shadow:0 0 0 6px rgba(147,197,253,.25);
}
.timeline-item .time{display:inline-block; color:#6b7280; font-size:.9rem; margin-bottom:.1rem}
.timeline-item .title{font-weight:800}
.timeline-item .desc{color:#374151}
.foothead{font-weight:800; margin-bottom:.5rem}
.footlink{color:#4b5563}
.footlink:hover{color:#111827}
.shadow-card{box-shadow:0 10px 30px rgba(17,24,39,.08)}
.rounded-xl img{display:block}
.reveal{opacity:0; transform:translateY(16px); transition:all .6s ease}
.reveal.visible{opacity:1; transform:translateY(0)}
.header-shadow{box-shadow: 0 10px 24px rgba(17,24,39,.06)!important}