/* Minimal clean styles for ff-io.app (no external fonts) */
:root{--bg:#0b0d12;--fg:#e9eef7;--muted:#a9b4c6;--card:#121621;--accent:#6aa3ff;--border:#202636}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font:16px/1.6 system-ui,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--fg)}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:20px}
header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:rgba(11,13,18,.9);backdrop-filter:saturate(150%) blur(6px);z-index:10}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:28px;height:28px;border-radius:6px}
.nav a{margin-left:16px}
.hero{padding:38px 0}
.hero h2{margin:0 0 10px}
.cta .btn{display:inline-block;background:var(--accent);color:#08101c;padding:10px 16px;border-radius:10px;font-weight:600}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.card{background:var(--card);padding:16px;border:1px solid var(--border);border-radius:12px}
.muted{color:var(--muted)}
.section{margin-top:28px}
footer{margin-top:32px;border-top:1px solid var(--border)}
.small{font-size:13px}
.badge{display:inline-block;padding:2px 8px;border:1px solid var(--border);border-radius:999px;font-size:12px;color:var(--muted)}
ul{padding-left:18px}
.code{font-family:ui-monospace,SFMono-Regular,Consolas,Monaco,monospace;background:#0f1320;border:1px solid var(--border);padding:2px 6px;border-radius:6px}

/* New blocks & footer columns */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-3>div,.grid-3>.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.step{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}
.step .num{width:28px;height:28px;border-radius:999px;background:var(--accent);color:#08101c;display:inline-flex;align-items:center;justify-content:center;font-weight:700;margin-right:8px}
.list{margin:0;padding-left:18px}
.list li{margin:6px 0}

.footer{padding:28px 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}
.footer h4{margin:0 0 10px;font-size:16px}
.footer p,.footer a,.footer li{color:var(--muted)}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin:6px 0}
.footer .legal{border-top:1px solid var(--border);margin-top:18px;padding-top:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

@media (max-width: 900px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px){
  .nav a{margin-left:10px}
  .footer-grid{grid-template-columns:1fr}
}

/* Gallery placeholders */
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.ph{background:linear-gradient(135deg,#162133 0%,#0e1526 100%);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:block}
.ph img{width:100%;height:auto;display:block}
.ph .caption{padding:10px 12px;color:var(--muted);border-top:1px solid var(--border)}
.ratio{position:relative;width:100%;padding-top:56%}
.ratio>.fill{position:absolute;inset:0}
