/* Moved modern.css from prototypes on 2025-11-20 */
/* (Production copy) */
:root { --color-bg:#f9fafb; --color-surface:#ffffff; --color-border:#e2e8f0; --color-text:#1f2937; --color-text-light:#6b7280; --color-accent:#0d6efd; --color-accent-rgb:13,110,253; --color-accent-alt:#059669; --color-danger:#dc2626; --color-warning:#d97706; --radius-sm:4px; --radius-md:8px; --radius-lg:18px; --shadow-sm:0 1px 2px rgba(0,0,0,.08); --shadow-md:0 4px 12px rgba(0,0,0,.10); --shadow-lg:0 10px 25px rgba(0,0,0,.15); --font-sans:'Inter','Lato',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,'Fira Sans','Droid Sans','Helvetica Neue',Arial,sans-serif; --max-width:1200px; --transition:160ms ease; --navbar-height:58px; }
@media (prefers-color-scheme: dark){ :root { --color-bg:#0f172a; --color-surface:#1e293b; --color-border:#334155; --color-text:#f1f5f9; --color-text-light:#94a3b8; --color-accent:#3b82f6; --color-accent-alt:#10b981; --shadow-sm:0 1px 2px rgba(0,0,0,.5); --shadow-md:0 4px 12px rgba(0,0,0,.4); --shadow-lg:0 10px 25px rgba(0,0,0,.5); } }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:var(--font-sans); background:var(--color-bg); color:var(--color-text); line-height:1.5; -webkit-font-smoothing:antialiased; padding-top:var(--navbar-height); }
img { max-width:100%; height:auto; display:block; }
a { color:var(--color-accent); text-decoration:none; }
a:hover,a:focus { text-decoration:underline; }
.container { width:100%; max-width:var(--max-width); margin:0 auto; padding:0 1rem; }
.grid { display:grid; gap:1.25rem; }
.col-2 { grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.col-3 { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
h1,h2,h3,h4 { line-height:1.15; font-weight:600; margin:0 0 .6em; }
p { margin:0 0 1em; }
.lead { font-size:clamp(1.05rem,2.4vw,1.25rem); font-weight:400; color:var(--color-text-light); }
.small { font-size:.825rem; }
.card { background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-md); padding:1.1rem 1.1rem 1.05rem; box-shadow:var(--shadow-sm); position:relative; transition:var(--transition); }
.card:hover { box-shadow:var(--shadow-md); }
.card-link { display:block; font-weight:600; margin-top:.35rem; }
.hero { position:relative; min-height:60vh; display:flex; align-items:center; }
.hero.full { min-height:100vh; }
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(0,0,0,.35),rgba(0,0,0,.25)); opacity:1; }
.hero-content { position:relative; z-index:2; max-width:720px; padding:4rem 1.25rem 4.5rem; }
.hero-title { font-size:clamp(2.2rem,6.2vw,3.8rem); font-weight:700; letter-spacing:-1px; margin-bottom:.5rem; }
.hero-sub { font-size:clamp(1.05rem,2.8vw,1.35rem); font-weight:400; }
.hero-panel { background:rgba(0,0,0,.20); backdrop-filter:blur(2px); border-radius:var(--radius-md); padding:1.75rem 1.5rem 1.6rem; box-shadow:0 4px 14px rgba(0,0,0,.35); color:#fff; }
@media (prefers-color-scheme: dark){ .hero-panel { background:rgba(0,0,0,.35); } }
.hero-panel .hero-title,.hero-panel .hero-sub { margin-top:0; color:#fff; text-shadow:0 2px 6px rgba(0,0,0,.55); }
.hero-panel .quick-links a { background:rgba(0,0,0,.55); color:#fff; border:1px solid rgba(255,255,255,.25); }
.hero-panel .quick-links a:hover { background:rgba(0,0,0,.7); color:#fff; border-color:rgba(255,255,255,.4); }
.hero-panel .quick-links { display:grid; grid-template-columns:repeat(2,1fr); grid-auto-rows:1fr; gap:.75rem; }
.hero-panel .quick-links a { flex:unset; }
.hero-panel .quick-links a:nth-child(3){ grid-column:1 / -1; }
@media (min-width:680px){ .hero-panel .quick-links { display:flex; flex-wrap:wrap; } .hero-panel .quick-links a { flex:1 1 140px; } .hero-panel .quick-links a:nth-child(3){ grid-column:unset; } }
.hero.no-image .hero-panel { background:rgba(0,0,0,.55); }
.navbar { position:fixed; top:0; left:0; right:0; z-index:100; backdrop-filter:saturate(180%) blur(10px); background:rgba(255,255,255,.85); border-bottom:1px solid var(--color-border); display:flex; align-items:center; justify-content:space-between; padding:.6rem 1rem; }
@media (prefers-color-scheme: dark){ .navbar { background:rgba(30,41,59,.8); } }
.nav-brand { font-weight:700; font-size:1.05rem; letter-spacing:.5px; }
.nav-links { display:flex; gap:.5rem; }
.nav-links a { padding:.55rem .9rem; border-radius:var(--radius-sm); font-size:.9rem; font-weight:500; }
.nav-links a:hover { background:var(--color-border); text-decoration:none; }
.mobile-toggle { display:none; cursor:pointer; font-size:1.6rem; background:none; border:0; padding:.4rem .6rem; color:#1f2937; }
@media (prefers-color-scheme: dark){ .mobile-toggle { color:#fff; } }
@media (max-width:760px){ .nav-links { position:fixed; top:0; right:0; height:100vh; width:280px; background:var(--color-surface); flex-direction:column; padding:4.5rem 1.25rem 3rem; box-shadow:-2px 0 12px rgba(0,0,0,.15); transform:translateX(100%); transition:transform var(--transition); overflow-y:auto; } .nav-links.show { transform:translateX(0); } body.nav-open { overflow:hidden; } .mobile-toggle { display:block; position:relative; z-index:60; } .nav-links a { font-size:.95rem; padding:.75rem .85rem; } }
.button { display:inline-flex; align-items:center; gap:.5rem; border:1px solid var(--color-border); background:var(--color-surface); padding:.55rem .95rem; font-size:.9rem; font-weight:500; border-radius:var(--radius-sm); cursor:pointer; line-height:1.2; transition:var(--transition); }
.button:hover { background:var(--color-accent); border-color:var(--color-accent); color:#fff; text-decoration:none; }
.button-accent { background:var(--color-accent); border-color:var(--color-accent); color:#fff; }
.button-accent:hover { filter:brightness(1.1); }
.section { padding:3.5rem 0; }
.section.alt { background:var(--color-surface); }
.section-header { margin-bottom:1.75rem; }
.banner { background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-accent-alt) 100%); color:#fff; padding:.85rem 1rem; font-size:.9rem; text-align:center; }
.banner a { color:#fff; text-decoration:underline; }
.footer { padding:3rem 0 2.5rem; font-size:.85rem; color:var(--color-text-light); }
.footer-inner { display:grid; gap:2rem; }
@media (min-width:800px){ .footer-inner { grid-template-columns:repeat(3,1fr); } }
.footer a { color:var(--color-text-light); }
.footer a:hover { color:var(--color-text); }
.mt { margin-top:1rem; } .mt2 { margin-top:2rem; } .mb { margin-bottom:1rem; } .mb2 { margin-bottom:2rem; }
.fade-in { animation:fade .8s ease; }
@keyframes fade { from { opacity:0; transform:translateY(8px);} to { opacity:1; transform:translateY(0);} }
.cards { display:grid; gap:1.25rem; }
@media (min-width:620px){ .cards { grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); } }
.board-photo { width:100%; height:180px; object-fit:cover; object-position:center top; border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); }
@media (max-width:560px){ .board-photo { height:200px; object-position:center 15%; } }
:focus-visible { outline:3px solid rgba(var(--color-accent-rgb),.65); outline-offset:2px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.quick-links { display:flex; flex-wrap:wrap; gap:.75rem; }
.quick-links a { flex:1 1 140px; background:var(--color-surface); border:1px solid var(--color-border); padding:.8rem 1rem; border-radius:var(--radius-sm); font-size:.85rem; font-weight:600; text-align:center; color:var(--color-text); box-shadow:var(--shadow-sm); transition:var(--transition); }
.quick-links a:hover { background:var(--color-accent); color:#fff; border-color:var(--color-accent); text-decoration:none; }
.badge { display:inline-block; background:var(--color-accent-alt); color:#fff; padding:.25rem .55rem; border-radius:var(--radius-sm); font-size:.65rem; letter-spacing:.5px; font-weight:600; }
.card-event { border-left:4px solid var(--color-accent-alt); position:relative; }
.card-event h3 { display:flex; align-items:center; gap:.45rem; }
.card-event h3 .event-icon { font-size:1.05rem; line-height:1; color:var(--color-accent-alt); }
@media (prefers-color-scheme: dark){ .card-event { border-left-color:var(--color-accent); background:linear-gradient(135deg,rgba(var(--color-accent-rgb),0.14) 0%,rgba(0,0,0,0.35) 55%); box-shadow:0 0 0 1px rgba(var(--color-accent-rgb),0.35),0 6px 16px -2px rgba(0,0,0,.55); } .card-event h3 .event-icon { color:var(--color-accent); filter:drop-shadow(0 1px 2px rgba(0,0,0,.6)); } }
@media (prefers-color-scheme: dark){ .hero-bg { filter:brightness(.85); } }
.hover-rise { transition:transform .25s ease, box-shadow .25s ease; }
.hover-rise:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.slideshow { position:relative; width:100%; aspect-ratio:4/3; overflow:hidden; border-radius:var(--radius-sm); box-shadow:var(--shadow-sm); }
.slideshow .slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1s ease; }
.slideshow .slide.active { opacity:1; }
.embed { position:relative; width:100%; padding-top:56%; }
.embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
