/* ═══ AI MAKER FABLAB — Design System v2 (Sober/Dashboard) ═══ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
    --bg: #ffffff;
    --bg-2: #f8f9fb;
    --bg-3: #f1f3f7;
    --ink: #1a1d23;
    --ink-2: #4b5162;
    --ink-3: #8b92a5;
    --ink-4: #b4bac8;
    --border: #e5e7ec;
    --border-lt: #eef0f4;
    --accent: #6366f1;
    --accent-lt: #818cf8;
    --accent-bg: rgba(99,102,241,0.06);
    --accent-bd: rgba(99,102,241,0.2);
    --green: #10b981;
    --green-bg: rgba(16,185,129,0.06);
    --amber: #f59e0b;
    --amber-bg: rgba(245,158,11,0.06);
    --violet: #8b5cf6;
    --violet-bg: rgba(139,92,246,0.06);
    --r-sm: 8px;
    --r-md: 12px;
    --r-lg: 16px;
    --sh-xs: 0 1px 2px rgba(0,0,0,0.04);
    --sh-sm: 0 1px 4px rgba(0,0,0,0.06);
    --sh-md: 0 4px 16px rgba(0,0,0,0.06);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;font-size:15px}

/* ═══ HEADER ═══ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);height:56px;display:flex;align-items:center;padding:0 32px;justify-content:space-between}
.header-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.logo-mark{width:30px;height:30px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.6rem}
.logo-text{font-weight:700;font-size:.92rem;color:var(--ink)}
.header-center{display:flex;align-items:center;gap:20px}
.header-nav{display:flex;gap:2px;list-style:none}
.header-nav a{font-size:.8rem;font-weight:500;color:var(--ink-2);text-decoration:none;padding:6px 14px;border-radius:6px;transition:all .15s}
.header-nav a:hover{color:var(--ink);background:var(--bg-2)}
.header-nav a.active{color:var(--accent);background:var(--accent-bg)}
.lang-switch{display:flex;gap:1px;background:var(--bg-3);border-radius:6px;padding:2px}
.lang-btn{font-family:'Inter',sans-serif;font-size:.68rem;font-weight:600;padding:4px 10px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--ink-3);transition:all .15s}
.lang-btn.active{background:#fff;color:var(--ink);box-shadow:var(--sh-xs)}
.header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}
.header-cta{font-size:.8rem;font-weight:600;padding:7px 18px;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;text-decoration:none;transition:all .15s}
.header-cta:hover{background:var(--accent-lt)}
.mobile-toggle{display:none;background:none;border:none;color:var(--ink);font-size:1.2rem;cursor:pointer}

/* ═══ FOOTER ═══ */
.site-footer{border-top:1px solid var(--border);padding:48px 32px 28px;max-width:1200px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:32px}
.footer-brand-name{font-weight:700;font-size:.88rem;color:var(--ink);margin-bottom:8px;display:flex;align-items:center;gap:8px}
.footer-brand-name .fm{width:22px;height:22px;background:var(--accent);border-radius:5px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.5rem;font-weight:700}
.footer-brand-desc{font-size:.82rem;color:var(--ink-2);line-height:1.6;margin-bottom:10px;max-width:300px}
.footer-badge{font-size:.72rem;color:var(--ink-3)}
.footer-col-title{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:7px}
.footer-links a{font-size:.82rem;color:var(--ink-2);text-decoration:none;transition:color .15s}
.footer-links a:hover{color:var(--accent)}
.footer-contact-line{font-size:.8rem;color:var(--ink-2);margin-bottom:4px}
.footer-contact-line a{color:var(--ink-2);text-decoration:none}
.footer-contact-line a:hover{color:var(--accent)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid var(--border-lt)}
.footer-copy{font-size:.7rem;color:var(--ink-3)}
.footer-tags{display:flex;gap:6px}
.footer-tag{font-family:'JetBrains Mono',monospace;font-size:.56rem;font-weight:600;padding:2px 7px;border-radius:4px}
.ft-rust{background:var(--accent-bg);color:var(--accent)}
.ft-sql{background:var(--green-bg);color:var(--green)}
.ft-dokku{background:var(--amber-bg);color:var(--amber)}

/* ═══ SHARED ═══ */
.container{max-width:1200px;margin:0 auto;padding:0 32px}
.section-pad{padding:72px 0}
.section-pad-sm{padding:48px 0}
.section-eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;text-align:center}
.section-title{font-size:1.7rem;font-weight:800;line-height:1.2;text-align:center;margin-bottom:8px;letter-spacing:-.02em}
.section-title .hl{background:linear-gradient(135deg,var(--accent),var(--violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.section-sub{font-size:.92rem;color:var(--ink-2);text-align:center;max-width:540px;margin:0 auto;line-height:1.7}
.section-sub strong{color:var(--ink);font-weight:600}
.badge-inline{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:600;padding:4px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:100px;margin-bottom:16px;color:var(--ink-2)}
.badge-inline .dot{width:6px;height:6px;background:var(--green);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:22px 20px;transition:all .15s}
.card:hover{border-color:var(--accent-bd);box-shadow:var(--sh-sm)}
.card-icon{font-size:1.3rem;margin-bottom:10px;display:block}
.card-title{font-weight:700;font-size:.88rem;margin-bottom:5px}
.card-desc{font-size:.8rem;color:var(--ink-2);line-height:1.6}
.btn{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.84rem;padding:10px 22px;border-radius:8px;border:none;cursor:pointer;text-decoration:none;transition:all .15s}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-lt)}
.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--border)}
.btn-outline:hover{border-color:var(--accent-bd);color:var(--accent)}
.divider{height:1px;background:var(--border-lt);max-width:1200px;margin:0 auto}

/* Currency */
.price-eur,.price-cop,.price-usd{display:none !important}
body.currency-eur .price-eur{display:inline !important}
body.currency-cop .price-cop{display:inline !important}
body.currency-usd .price-usd{display:inline !important}
.alt-eur,.alt-cop,.alt-usd{display:none !important}
body.currency-eur .alt-eur{display:block !important}
body.currency-cop .alt-cop{display:block !important}
body.currency-usd .alt-usd{display:block !important}

/* i18n */
[data-lang]{display:none !important}
body.lang-fr [data-lang="fr"]{display:inline !important}
body.lang-es [data-lang="es"]{display:inline !important}
body.lang-en [data-lang="en"]{display:inline !important}

/* Responsive */
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:24px}}
@media(max-width:768px){.site-header{padding:0 16px}.header-center{display:none}.mobile-toggle{display:block}.container{padding:0 16px}.section-pad{padding:48px 0}.footer-grid{grid-template-columns:1fr;gap:20px}.footer-bottom{flex-direction:column;gap:10px;text-align:center}.footer-tags{justify-content:center}.site-footer{padding:28px 16px 20px}}
