/* ===== Mesero Landing Page — Premium Design System ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  /* ---- Themeable surfaces/text (LIGHT = default) ---- */
  --bg:#ffffff;--bg-card:#ffffff;--bg-card-hover:#f6f7fb;
  --border:rgba(15,23,42,.10);--border-hover:rgba(15,23,42,.18);
  --text:#0f172a;--text-muted:#475569;--text-dim:#64748b;
  --heading:#0f172a;                 /* was hardcoded #fff (text on page bg) */
  --nav-signin:#475569;              /* was #cbd5e1 */
  --nav-bg:rgba(255,255,255,.8);     /* fixed nav translucent over page */
  --nav-bg-mobile:rgba(255,255,255,.96);
  --panel-translucent:rgba(15,23,42,.03); /* proof-bar over page (was rgba(12,12,20,.6)) */
  --mockup-bar:#eef1f7;              /* fake-browser chrome (was #111119) */
  --mockup-img-from:#f6f7fb;--mockup-img-to:#e9ecf5; /* mockup placeholder (was #0f0f1a→#1a1a2e) */
  --mockup-hairline:rgba(15,23,42,.04); /* hero-mockup inner ring (was rgba(255,255,255,.03)) */
  --shadow-strong:rgba(15,23,42,.14);   /* big hero shadow (was rgba(0,0,0,.5)) */
  --shadow-card:rgba(15,23,42,.10);     /* card hover shadow (was rgba(0,0,0,.3)) */
  --accent-text:#5563f0;             /* pale-indigo accent text, contrast on white */
  --toggle-knob:#0f172a;             /* toggle knob on the pale unselected track (was #fff) */
  /* ---- Brand / accent fills (theme-invariant) ---- */
  --accent:#6366f1;--accent-hover:#4f46e5;--accent-light:#818cf8;
  --red:#ef4444;--green:#22c55e;--orange:#f59e0b;--blue:#3b82f6;--purple:#8b5cf6;
  --max-w:1200px;
  --font:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
}
/* ===== DARK overrides (theme.js sets html[data-theme="dark"]) — original look ===== */
html[data-theme="dark"]{
  --bg:#050508;--bg-card:#0c0c14;--bg-card-hover:#10101c;
  --border:#1a1a2e;--border-hover:#2a2a44;
  --text:#e4e4e7;--text-muted:#71717a;--text-dim:#52525b;
  --heading:#fff;
  --nav-signin:#cbd5e1;
  --nav-bg:rgba(5,5,8,.8);
  --nav-bg-mobile:rgba(5,5,8,.96);
  --panel-translucent:rgba(12,12,20,.6);
  --mockup-bar:#111119;
  --mockup-img-from:#0f0f1a;--mockup-img-to:#1a1a2e;
  --mockup-hairline:rgba(255,255,255,.03);
  --shadow-strong:rgba(0,0,0,.5);
  --shadow-card:rgba(0,0,0,.3);
  --accent-text:var(--accent-light);
  --toggle-knob:#fff;
}
html{scroll-behavior:smooth;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
body{overflow-x:hidden}
a{color:var(--accent-text);text-decoration:none}
a:hover{color:var(--accent)}
img{max-width:100%;height:auto;display:block}

/* ===== Utility ===== */
.container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}
.section{padding:6rem 0}
.section-sm{padding:4rem 0}
.text-center{text-align:center}
.text-muted{color:var(--text-muted)}
.text-dim{color:var(--text-dim)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ===== Typography ===== */
.headline{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.08;letter-spacing:-.03em;color:var(--heading)}
.headline span{background:linear-gradient(135deg,var(--accent),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.subheadline{font-size:clamp(1.125rem,2vw,1.375rem);color:var(--text-muted);line-height:1.6;max-width:640px;margin:1.5rem auto 0}
.section-title{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:700;letter-spacing:-.02em;color:var(--heading);margin-bottom:.5rem}
.section-subtitle{font-size:1.0625rem;color:var(--text-muted);max-width:560px;margin:0 auto 3rem;line-height:1.6}
.badge-label{display:inline-flex;align-items:center;gap:.5rem;background:rgba(99,102,241,.12);border:1px solid rgba(99,102,241,.2);padding:.5rem 1.25rem;border-radius:999px;font-size:.8125rem;font-weight:600;color:var(--accent-hover);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.5rem}

/* ===== Nav ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}
.nav-logo{display:flex;align-items:center;gap:.625rem;font-weight:800;font-size:1.25rem;color:var(--heading);text-decoration:none}
.nav-logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--red),#dc2626);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:900;color:#fff}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none}
.nav-links a{color:var(--text-muted);font-size:.875rem;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--heading)}
.nav-signin{color:var(--nav-signin)!important;font-weight:600;font-size:.8125rem;transition:color .2s}
.nav-signin:hover{color:var(--heading)!important}
.nav-cta{padding:.5rem 1.25rem;background:var(--accent);color:#fff!important;border-radius:8px;font-weight:600;font-size:.8125rem;transition:background .2s}
.nav-cta:hover{background:var(--accent-hover)}
.nav-lang{display:flex;align-items:center;gap:.5rem;margin-left:.5rem}
.nav-lang a{color:var(--text-dim);font-size:.75rem;font-weight:600;padding:.25rem .5rem;border:1px solid var(--border);border-radius:6px;transition:all .2s}
.nav-lang a:hover,.nav-lang a.active{color:var(--heading);border-color:var(--accent);background:rgba(99,102,241,.15)}
.nav-mobile-toggle{display:none;background:none;border:none;color:var(--heading);cursor:pointer;padding:.5rem}
.nav-mobile-toggle svg{width:24px;height:24px}

/* ===== Hero ===== */
.hero{padding:10rem 0 6rem;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.12) 0%,transparent 70%);pointer-events:none}
.hero::after{content:'';position:absolute;bottom:-100px;left:-200px;width:500px;height:500px;background:radial-gradient(circle,rgba(139,92,246,.08) 0%,transparent 70%);pointer-events:none}
.hero-content{position:relative;z-index:1;text-align:center;max-width:800px;margin:0 auto}
.hero-cta-group{display:flex;gap:1rem;justify-content:center;margin-top:2.5rem;flex-wrap:wrap}
.hero-visual{margin-top:4rem;position:relative;z-index:1}
.hero-mockup{max-width:960px;margin:0 auto;border-radius:16px;border:1px solid var(--border);background:var(--bg-card);overflow:hidden;box-shadow:0 40px 80px var(--shadow-strong),0 0 0 1px var(--mockup-hairline)}
.hero-mockup-bar{height:36px;background:var(--mockup-bar);display:flex;align-items:center;padding:0 14px;gap:6px}
.hero-mockup-dot{width:10px;height:10px;border-radius:50%}
.hero-mockup-dot:nth-child(1){background:#ef4444}
.hero-mockup-dot:nth-child(2){background:#f59e0b}
.hero-mockup-dot:nth-child(3){background:#22c55e}
.hero-mockup-img{width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,var(--mockup-img-from) 0%,var(--mockup-img-to) 100%);display:flex;align-items:center;justify-content:center}
.hero-mockup-placeholder{color:var(--text-dim);font-size:1rem;font-weight:500}

/* ===== Social Proof Bar ===== */
.proof-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--panel-translucent)}
.proof-inner{display:flex;align-items:center;justify-content:center;gap:3rem;padding:1.5rem 0;flex-wrap:wrap}
.proof-item{display:flex;align-items:center;gap:.625rem;color:var(--text-muted);font-size:.875rem;font-weight:500}
.proof-num{font-size:1.375rem;font-weight:800;color:var(--heading)}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;border-radius:10px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s;border:none;text-decoration:none}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 8px 24px rgba(99,102,241,.3)}
.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn-outline:hover{border-color:var(--border-hover);background:var(--bg-card)}
.btn-lg{padding:1rem 2rem;font-size:1rem;border-radius:12px}
.btn-icon{width:20px;height:20px}

/* ===== Features Grid ===== */
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:2rem;transition:all .3s}
.feature-card:hover{border-color:var(--border-hover);background:var(--bg-card-hover);transform:translateY(-4px);box-shadow:0 20px 40px var(--shadow-card)}
.feature-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;font-size:1.5rem}
.feature-icon.blue{background:rgba(59,130,246,.12);color:var(--blue)}
.feature-icon.green{background:rgba(34,197,94,.12);color:var(--green)}
.feature-icon.purple{background:rgba(139,92,246,.12);color:var(--purple)}
.feature-icon.orange{background:rgba(245,158,11,.12);color:var(--orange)}
.feature-icon.red{background:rgba(239,68,68,.12);color:var(--red)}
.feature-icon.accent{background:rgba(99,102,241,.12);color:var(--accent-hover)}
.feature-card h3{font-size:1.125rem;font-weight:700;color:var(--heading);margin-bottom:.5rem}
.feature-card p{font-size:.875rem;color:var(--text-muted);line-height:1.6}

/* ===== How It Works ===== */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;counter-reset:step}
.step{text-align:center;position:relative;counter-increment:step}
.step::before{content:counter(step);width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--purple));display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:800;color:#fff;margin:0 auto 1.25rem}
.step h3{font-size:1.125rem;font-weight:700;color:var(--heading);margin-bottom:.5rem}
.step p{font-size:.875rem;color:var(--text-muted);line-height:1.6;max-width:280px;margin:0 auto}

/* ===== Pricing ===== */
.pricing-toggle{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:3rem}
.pricing-toggle span{font-size:.875rem;color:var(--text-muted);font-weight:500}
.pricing-toggle span.active{color:var(--heading)}
.pricing-toggle .toggle{width:52px;height:28px;background:var(--border);border-radius:28px;position:relative;cursor:pointer;transition:background .3s}
.pricing-toggle .toggle.annual{background:var(--accent)}
.pricing-toggle .toggle::after{content:'';width:22px;height:22px;background:var(--toggle-knob);border-radius:50%;position:absolute;top:3px;left:3px;transition:transform .3s}
.pricing-toggle .toggle.annual::after{transform:translateX(24px)}
.pricing-save{background:rgba(34,197,94,.12);color:#15803d;font-size:.6875rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;text-transform:uppercase}

.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:start}
.pricing-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:2.5rem 2rem;position:relative;transition:all .3s}
.pricing-card:hover{border-color:var(--border-hover);transform:translateY(-4px)}
.pricing-card.featured{border-color:var(--accent);background:linear-gradient(180deg,rgba(99,102,241,.06) 0%,var(--bg-card) 100%)}
.pricing-card.featured::before{content:'';position:absolute;inset:-1px;border-radius:20px;background:linear-gradient(180deg,var(--accent),transparent 60%);z-index:-1;opacity:.3}
.pricing-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-size:.6875rem;font-weight:700;padding:.375rem 1rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.pricing-name{font-size:1.125rem;font-weight:700;color:var(--heading);margin-bottom:.25rem}
.pricing-desc{font-size:.8125rem;color:var(--text-muted);margin-bottom:1.5rem}
.pricing-amount{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.25rem}
.pricing-amount .currency{font-size:1.5rem;font-weight:700;color:var(--heading)}
.pricing-amount .number{font-size:3rem;font-weight:800;color:var(--heading);line-height:1}
.pricing-amount .period{font-size:.875rem;color:var(--text-muted);margin-left:.25rem}
.pricing-annual{font-size:.75rem;color:var(--text-dim);margin-bottom:1.5rem;min-height:1rem}
.pricing-divider{height:1px;background:var(--border);margin:1.5rem 0}
.pricing-features{list-style:none;margin-bottom:2rem}
.pricing-features li{display:flex;align-items:flex-start;gap:.625rem;font-size:.8125rem;color:var(--text-muted);padding:.375rem 0;line-height:1.4}
.pricing-features li::before{content:'';flex-shrink:0;width:18px;height:18px;border-radius:50%;background:rgba(34,197,94,.12);display:flex;align-items:center;justify-content:center;margin-top:1px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}
.pricing-features li.no::before{background:rgba(113,113,122,.12);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2352525b' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}
.pricing-features li.no{color:var(--text-dim)}

/* ===== CTA Section ===== */
.cta-section{background:linear-gradient(135deg,rgba(99,102,241,.08) 0%,rgba(139,92,246,.06) 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cta-content{max-width:600px;margin:0 auto;text-align:center}

/* ===== Footer ===== */
.footer{border-top:1px solid var(--border);padding:4rem 0 2rem;background:var(--bg)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-brand p{color:var(--text-muted);font-size:.875rem;line-height:1.6;margin-top:.75rem;max-width:280px}
.footer-col h4{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:1rem}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:.5rem}
.footer-col a{color:var(--text-muted);font-size:.875rem;transition:color .2s}
.footer-col a:hover{color:var(--heading)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:2rem;font-size:.8125rem;color:var(--text-dim)}
.footer-bottom a{color:var(--text-dim)}
.footer-bottom a:hover{color:var(--text-muted)}
.footer-legal{display:flex;gap:1.5rem}

/* ===== Responsive ===== */
@media(max-width:1024px){
  .features-grid,.pricing-grid{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr;gap:3rem}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav-links{display:none}
  .nav-mobile-toggle{display:block}
  .nav-links.open{display:flex;flex-direction:column;position:fixed;top:64px;left:0;right:0;background:var(--nav-bg-mobile);backdrop-filter:blur(20px);padding:1.5rem;gap:1rem;border-bottom:1px solid var(--border)}
  .hero{padding:8rem 0 4rem}
  .features-grid,.pricing-grid{grid-template-columns:1fr}
  .section{padding:4rem 0}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:1rem;text-align:center}
  .proof-inner{flex-direction:column;gap:1rem}
}
