
:root { --text:#111827; --muted:#4b5563; --brand:#2563eb; --brand-2:#1d4ed8; --border:#e5e7eb; --bg:#ffffff; }
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1120px;margin:0 auto;padding:0 16px}

/* Header */
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border)}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:.5rem}
.brand img{height:44px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:16px}
.nav a{color:#374151;font-size:.95rem}
.nav a:hover{color:var(--text);text-decoration:none}

/* Full-width banner image */
.hero-image img{width:100%;height:auto;display:block}

/* Hero text block */
.hero{background:#ffffff;padding:32px 0;text-align:left}
.hero h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 10px 0;line-height:1.1}
.hero .tagline{color:var(--muted);max-width:65ch;margin:0}

/* Sections */
.section{padding:48px 0}
.section h2,.section h1{margin:0 0 12px 0}
.alt{background:#f9fafb}

/* Contact */
.contact{display:grid;gap:8px;max-width:640px}
.contact p{margin:0}

/* Board */
.board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{border:1px solid var(--border);border-radius:16px;padding:16px;background:#fff}
.photo{width:100%;aspect-ratio:4/3;background:#eef2ff;border-radius:12px;margin-bottom:12px;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:.9rem}
.card h3{margin:6px 0 4px 0;font-size:1.05rem}
.card p{margin:0;color:#6b7280}

/* Footer */
.site-footer{border-top:1px solid var(--border);margin-top:24px}
.site-footer .wrap{text-align:center;padding:24px 0;color:#6b7280;font-size:.9rem}

@media(max-width:720px){ .nav{flex-wrap:wrap;gap:12px} }
