/* SIMFORGE — shared tokens + common components */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=DM+Sans:ital,wght@0,400;0,500;0,600;1,400&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --bg-deep:#060A12;
  --bg:#0A0F1A;
  --surface:#111827;
  --surface-2:#1A2234;
  --surface-3:#1F2A3F;
  --border:#1E2A40;
  --border-light:#2A3A55;
  --text:#E2E8F4;
  --text-secondary:#8896B0;
  --text-dim:#5A6A85;
  --accent:#F97316;
  --accent-bright:#FB923C;
  --accent-glow:rgba(249,115,22,0.14);
  --accent-glow-strong:rgba(249,115,22,0.28);
  --blue:#2E7DFF;
  --blue-glow:rgba(46,125,255,0.15);
  --cyan:#06B6D4;
  --cyan-dim:rgba(6,182,212,0.12);
  --green:#34D399;
  --amber:#F59E0B;
  --amber-dim:rgba(245,158,11,0.12);
  --red:#EF4444;
  --red-dim:rgba(239,68,68,0.10);
  --max:1300px;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--bg-deep);color:var(--text);line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* Scroll reveal */
.scroll-reveal{opacity:0;transform:translateY(24px);transition:all 0.65s cubic-bezier(0.22,1,0.36,1)}
.scroll-reveal.visible{opacity:1;transform:translateY(0)}

/* Nav */
nav.sf-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 48px;height:72px;display:flex;align-items:center;justify-content:space-between;background:rgba(6,10,18,0.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(30,42,64,0.55)}
.nav-logo{font-family:'Outfit',sans-serif;font-weight:800;font-size:18px;letter-spacing:2.5px;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:12px}
.nav-logo .logo-mark{width:30px;height:30px;position:relative;display:flex;align-items:center;justify-content:center;background:#0E1624;border:1px solid var(--border-light);border-radius:7px;overflow:hidden}
.nav-logo .logo-mark svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:1.4}
.nav-links{display:flex;align-items:center;gap:4px;list-style:none}
.nav-links > li{position:relative}
.nav-links > li > a{font-size:13.5px;font-weight:500;color:var(--text-secondary);text-decoration:none;padding:10px 14px;border-radius:6px;transition:color 0.2s;display:inline-flex;align-items:center;gap:6px}
.nav-links > li > a:hover,.nav-links > li > a.active{color:var(--text)}
.nav-links > li > a .chev{opacity:0.6;transition:transform 0.25s}
.nav-links > li:hover > a .chev{transform:rotate(180deg)}

.nav-drop{position:absolute;top:calc(100% + 6px);left:-10px;min-width:280px;background:var(--surface);border:1px solid var(--border-light);border-radius:10px;padding:10px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:all 0.2s;box-shadow:0 20px 48px rgba(0,0,0,0.45)}
.nav-links > li:hover .nav-drop{opacity:1;visibility:visible;transform:translateY(0)}
.nav-drop a{display:block;padding:10px 14px;border-radius:6px;color:var(--text-secondary);text-decoration:none;font-size:13px;transition:all 0.2s;line-height:1.4}
.nav-drop a strong{display:block;color:var(--text);font-weight:600;font-size:13.5px;margin-bottom:2px;font-family:'Outfit',sans-serif}
.nav-drop a:hover{background:var(--surface-2);color:var(--text)}
.nav-drop a:hover strong{color:var(--accent-bright)}

.nav-cta{font-size:13px;font-weight:600;padding:10px 22px;background:var(--accent);color:#fff;border:none;border-radius:7px;cursor:pointer;text-decoration:none;transition:all 0.25s;display:inline-flex;align-items:center;gap:8px}
.nav-cta:hover{background:var(--accent-bright);box-shadow:0 6px 24px var(--accent-glow-strong);transform:translateY(-1px)}
.nav-menu-btn{display:none;background:none;border:none;color:var(--text);cursor:pointer}

/* Buttons */
.btn-primary{display:inline-flex;align-items:center;gap:8px;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;padding:14px 28px;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;text-decoration:none;transition:all 0.3s}
.btn-primary:hover{background:var(--accent-bright);box-shadow:0 4px 32px var(--accent-glow-strong);transform:translateY(-1px)}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;padding:13px 22px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-light);border-radius:8px;cursor:pointer;text-decoration:none;transition:all 0.3s}
.btn-secondary:hover{color:var(--text);border-color:var(--text-secondary)}

/* Text */
h1{font-family:'Outfit',sans-serif;font-weight:700;line-height:1.1;letter-spacing:-1px;color:#fff}
h2{font-family:'Outfit',sans-serif;font-weight:700;color:#fff;line-height:1.2;letter-spacing:-0.3px}
h3,h4{font-family:'Outfit',sans-serif;color:#fff}
p{font-size:15px;color:var(--text-secondary);line-height:1.8}
p strong{color:var(--text)}

.section-tag{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:12px}
.section-tag::before{content:'';width:32px;height:1px;background:var(--accent)}

/* Footer */
footer.sf-footer{padding:72px 48px 32px;border-top:1px solid var(--border);background:var(--bg-deep);position:relative}
.sf-footer::before{content:'';position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:200px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.footer-top{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:64px;padding-bottom:48px;border-bottom:1px solid var(--border)}
.footer-brand h4{font-family:'Outfit',sans-serif;font-weight:800;font-size:18px;letter-spacing:2.5px;color:var(--text);margin-bottom:12px;display:flex;align-items:center;gap:12px}
.footer-brand .logo-mark{width:28px;height:28px;background:#0E1624;border:1px solid var(--border-light);border-radius:6px;display:flex;align-items:center;justify-content:center}
.footer-brand .logo-mark svg{width:18px;height:18px;stroke:var(--accent);fill:none;stroke-width:1.4}
.footer-brand p{font-size:13.5px;color:var(--text-secondary);max-width:320px;margin-bottom:20px;line-height:1.7}
.footer-contact{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--text-dim);line-height:2}
.footer-contact a{color:var(--text-secondary);text-decoration:none}
.footer-contact a:hover{color:var(--accent-bright)}
.footer-col h5{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:16px;font-weight:500}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:10px}
.footer-col a{font-size:13.5px;color:var(--text-secondary);text-decoration:none;transition:color 0.2s}
.footer-col a:hover{color:var(--accent-bright)}
.footer-bottom{max-width:var(--max);margin:0 auto;padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-dim);font-family:'JetBrains Mono',monospace}
.footer-bottom .meta{display:flex;gap:24px}

@media(max-width:1024px){
  .footer-top{grid-template-columns:1fr 1fr;gap:40px}
  nav.sf-nav{padding:0 24px}
  .nav-links{display:none}
  .nav-menu-btn{display:block}
}
@media(max-width:640px){
  .footer-top{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:12px;align-items:flex-start}
  footer.sf-footer{padding:48px 24px 24px}
}

/* Tweaks panel */
.tweaks-panel{position:fixed;bottom:24px;right:24px;background:var(--surface);border:1px solid var(--border-light);border-radius:12px;padding:16px;z-index:200;min-width:240px;display:none;box-shadow:0 20px 60px rgba(0,0,0,0.5);font-family:'DM Sans',sans-serif}
.tweaks-panel.visible{display:block}
.tweaks-panel h5{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:12px;font-weight:500}
.tw-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:12.5px;color:var(--text-secondary);gap:12px}
.tw-row:last-child{margin-bottom:0}
.tw-swatches{display:flex;gap:6px}
.tw-swatch{width:20px;height:20px;border-radius:5px;border:1px solid var(--border-light);cursor:pointer;transition:transform 0.15s}
.tw-swatch:hover{transform:scale(1.15)}
.tw-swatch.active{outline:2px solid #fff;outline-offset:1px}
.tw-seg{display:inline-flex;background:var(--bg);border:1px solid var(--border);border-radius:6px;overflow:hidden}
.tw-seg button{background:transparent;border:none;color:var(--text-dim);padding:4px 10px;font-size:11px;cursor:pointer;font-family:'JetBrains Mono',monospace}
.tw-seg button.active{background:var(--accent);color:#fff}
