/* Samuel Novak — site CSS (light). Replace assets/styles.css with this. */

/* Tokens */
:root{
  --bg:#fff; --fg:#0b1116; --muted:#5a6a7a;
  --card:#f6f8fa; --border:#e4e9ee; --link:#0b6dd8; --accent:#127a56;
  --maxw:960px; --r:14px; --p:16px;
}

/* header layout: text left, avatar right */
.header-flex{display:flex;align-items:center;gap:16px;justify-content:space-between;flex-wrap:wrap}
.header-text{flex:1 1 420px}
.header-photo{flex:0 0 auto}

/* Base */
*{box-sizing:border-box}
html,body{margin:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial}
img{display:block;max-width:100%;height:auto}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}

/* Layout */
.site{max-width:var(--maxw);margin:0 auto;padding:var(--p)}
.grid{max-width:var(--maxw);margin:0 auto;padding:0 var(--p) calc(var(--p)*2);display:grid;gap:var(--p)}
section{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:var(--p)}

/* Type */
h1{font-size:clamp(28px,4vw,40px);line-height:1.2;margin:12px 0 6px}
h2{font-size:20px;margin:8px 0}
h3{font-size:16px;color:var(--muted);margin:10px 0 6px}
.lead{font-size:18px;color:var(--muted);margin:4px 0}
.meta{color:var(--muted);margin:0 0 12px}

/* Nav */
.nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 0}
.nav a{padding:6px 10px;border-radius:8px}
.nav strong,.nav a[aria-current="page"]{background:#eef3f7;border:1px solid var(--border);border-radius:8px}

/* Lists */
ul.tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
ul.tags li{background:#e9eef2;color:#10212a;padding:6px 10px;border-radius:999px;border:1px solid var(--border)}
ul.bullets{margin:0;padding-left:18px}

/* Media sizing (consistent) */
.avatar{width:160px;height:160px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}
.logos{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:6px 0 2px}
.logos img{height:40px;width:auto;object-fit:contain;background:#fff;border-radius:8px;padding:6px;border:1px solid var(--border)}
@media (max-width:520px){.logos img{height:34px}}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px;border:1px solid var(--border)}
.badge{height:24px;vertical-align:middle;margin-right:6px}

/* Buttons (optional) */
.btn{display:inline-block;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--fg)}
.btn.primary{background:var(--accent);color:#fff;border-color:transparent}
.btn:hover{text-decoration:none;filter:brightness(.98)}

/* Focus */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}

/* Utilities */
.center{text-align:center}
.hidden{display:none !important}

/* Footer */
footer{color:var(--muted);padding:var(--p)}

/* Print */
@media print{
  body{background:#fff;color:#000}
  a{color:#000;text-decoration:underline}
  .nav,.gallery{display:none}
  section{background:#fff;border:1px solid #ddd}
}
