
:root {
  --bg: #ffffff;
  --surface: #f8fafc;
  --panel: #ffffff;
  --text: #0f172a;
  --muted: #475569;
  --border: #e2e8f0;
  --brand: #60a7d8;
  --accent: #fba947;
  --radius: 16px;
  --shadow: 0 10px 30px rgba(2,6,23,0.06);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--surface);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
.container{width:min(1100px,92%);margin:0 auto}
header{background:#ffffffcc;backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;font-weight:700}
.brand img.logo{width:44px;height:44px;object-fit:contain}
.brand small{display:block;color:var(--muted);font-weight:500;font-size:12px;margin-top:-4px}
.navlinks{display:flex;align-items:center;gap:16px}
.navlinks a{padding:8px 12px;border-radius:10px}
.navlinks a.active,.navlinks a:hover{background:#eef2ff;text-decoration:none}
.cta{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--accent),var(--brand));color:#fff;padding:10px 14px;border-radius:12px;border:0;box-shadow:var(--shadow)}
.btn{display:inline-block;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid var(--border);color:var(--text)}
.btn:hover{background:#f1f5f9}
.hero{background:radial-gradient(1000px 500px at 0% -10%,#fba94722,transparent),radial-gradient(800px 600px at 100% -20%,#60a7d822,transparent)}
.hero .wrap{display:grid;gap:18px;padding:70px 0 50px}
.hero h1{font-size:clamp(28px,5vw,46px);line-height:1.05;margin:0}
.hero p.lead{color:var(--muted);font-size:clamp(16px,2vw,20px);max-width:65ch}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:4px}
.kpi{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}
.kpi b{font-size:22px}
.kpi small{color:var(--muted);display:block}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.card h3{margin-top:0}
.badge{font-size:12px;background:#fff7ed;color:#9a3412;padding:4px 8px;border-radius:999px;border:1px solid #fed7aa;display:inline-block}
footer{margin-top:48px;border-top:1px solid var(--border);background:#fff}
.footer{display:grid;gap:12px;padding:22px 0 28px}
.footer .cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.footer small,.muted{color:var(--muted)}
.notice{padding:12px 14px;border:1px solid var(--border);background:#f8fafc;border-radius:12px}
form label{display:block;margin:12px 0 6px}
input,textarea,select{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--text)}
textarea{min-height:140px}
input:focus,textarea:focus{outline:2px solid #60a7d855;outline-offset:2px}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.help{font-size:12px;color:var(--muted)}
.project-figure{display:block;text-align:center}
.project-img{width:100%;height:auto;max-width:760px;margin:8px auto;border-radius:12px;border:1px solid var(--border);box-shadow:var(--shadow)}
.project-caption{font-size:12px;color:var(--muted);margin-top:6px}
@media (max-width:900px){.grid-3,.grid-2,.footer .cols,.kpis{grid-template-columns:1fr}.navlinks{display:none}.nav .menu-btn{display:inline-flex}}
.menu-btn{display:none;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:#fff}
.mobile-nav{display:none;padding:10px 0 16px;border-bottom:1px solid var(--border);background:#fff}
.mobile-nav a{display:block;padding:10px 0}
.separator{height:1px;background:var(--border);margin:18px 0}

/* v3.1 image safety */
img { max-width: 100%; height: auto; }
.project-img { max-width: 600px; max-height: 70vh; width: 100%; height: auto; }
.project-figure { display: block; text-align: center; }
.project-caption { font-size: 12px; color: var(--muted); margin-top: 6px; }

/* v3.2 - stricter project image sizing + cards */
.project-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
@media (max-width: 900px) { .project-grid { grid-template-columns: 1fr; } }
.project-card img { max-width: 100%; max-height: 180px; width: auto; height: auto; object-fit: contain; display:block; margin: 0 auto 8px; }
.project-card .actions { margin-top: 8px; }
.project-img { max-width: 360px !important; max-height: 240px !important; }
