/* Global styles for Ethan Hoareau CV */
:root{
  --bg:#0f1724;
  --card:#0b1220;
  --muted:#9aa4b2;
  --accent:#6ee7b7;
  --accent-2:#60a5fa;
  --glass: rgba(255,255,255,0.04);
  --card-radius:16px;
  color-scheme: dark;
  font-family: 'Inter', system-ui, sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:linear-gradient(180deg,#071021 0%, #081426 60%);color:#e6eef8;line-height:1.5}
.container{max-width:1100px;margin:32px auto;padding:28px;display:grid;grid-template-columns:320px 1fr;gap:28px}
.card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border-radius:var(--card-radius);padding:22px;box-shadow:0 6px 30px rgba(2,6,23,0.6)}
.photo{width:100%;height:220px;border-radius:12px;background:#111;object-fit:cover;margin-bottom:16px}
h1{font-size:22px;font-weight:700;margin-bottom:6px}
.role{color:var(--muted);font-size:13px;margin-bottom:10px}
.contact{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.contact a{color:var(--accent);text-decoration:none;font-weight:600}
.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:var(--glass);border-radius:999px;font-size:13px;color:var(--muted)}
.section{margin-top:18px}
.section h3{font-size:13px;color:var(--muted);margin-bottom:8px;text-transform:uppercase}
.skill,.chips{display:flex;flex-wrap:wrap;gap:8px}
.tag,.chip{padding:6px 10px;border-radius:8px;font-size:13px;background:rgba(255,255,255,0.05);color:var(--muted)}
.summary{display:flex;justify-content:space-between;gap:18px;margin-bottom:12px}
.btn{border-radius:10px;padding:10px 14px;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#04202b;font-weight:700;border:none;cursor:pointer}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--accent)}
.job{padding:14px;border-radius:12px;background:rgba(255,255,255,0.02);margin-bottom:12px}
.job h4{font-size:15px;margin-bottom:5px}
.job .meta{font-size:13px;color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
@media (max-width:880px){.container{grid-template-columns:1fr;padding:18px}.photo{height:160px}.two-col{grid-template-columns:1fr}}
