/* institute mini-site: three themes sharing one layout */
*{box-sizing:border-box}body.site{margin:0;font:16px/1.6 "WS","Segoe UI",system-ui,sans-serif}
@font-face{font-family:"WS";src:url(/static/fonts/WorkSans-Regular.ttf);font-weight:400}@font-face{font-family:"WS";src:url(/static/fonts/WorkSans-Bold.ttf);font-weight:700}
.th-aurora{--bg:#f6f4ff;--card:#fff;--ink:#1d1b3a;--hero:linear-gradient(135deg,var(--brand),#14b8a6);--on:#fff}
.th-classic{--bg:#ffffff;--card:#f6f7fb;--ink:#22252e;--hero:linear-gradient(0deg,#eef1f8,#fff);--on:#22252e}
.th-bold{--bg:#12131c;--card:#1c1e2b;--ink:#eef0ff;--hero:linear-gradient(135deg,#12131c,var(--brand));--on:#fff}
body.site{background:var(--bg);color:var(--ink)}a{color:var(--brand)}
.ticker{background:var(--brand);color:#fff;overflow:hidden;white-space:nowrap;font-weight:700;padding:.35rem 0}.ticker span{display:inline-block;padding-left:100%;animation:tk 28s linear infinite}.ticker:hover span{animation-play-state:paused}
@keyframes tk{to{transform:translateX(-100%)}}
.s-hero{background:var(--hero);color:var(--on);padding:2.5rem 1.2rem 3.5rem}.s-in{max-width:1100px;margin:0 auto}.s-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.4rem}
.s-nav .brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.25rem;color:var(--on)}.s-nav img{height:46px;border-radius:10px;background:#fff;padding:3px}
.s-hero h1{font-size:clamp(1.8rem,5vw,3rem);margin:.2rem 0}.s-hero p{max-width:640px;opacity:.92;font-size:1.1rem}
.sb{display:inline-block;background:#fff;color:var(--brand);border-radius:99px;padding:.65rem 1.4rem;font-weight:700;text-decoration:none;margin:.3rem .3rem 0 0;box-shadow:0 4px 14px rgba(0,0,0,.2)}.sb.o{background:transparent;color:var(--on);border:2px solid currentColor;box-shadow:none}
.s-sec{max-width:1100px;margin:0 auto;padding:2rem 1.2rem}.s-sec h2{font-size:1.5rem;margin:0 0 1rem}.s-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}
.s-card{background:var(--card);border-radius:18px;padding:1rem 1.1rem;box-shadow:0 2px 14px rgba(0,0,0,.08)}.s-card img{width:100%;border-radius:12px;margin-bottom:.6rem;max-height:200px;object-fit:cover}.s-card h3{margin:.2rem 0}
.offer{background:linear-gradient(135deg,var(--brand),#ff7a59);color:#fff}.offer a{color:#fff;font-weight:700}.stars{color:#f5a623;letter-spacing:2px}
.s-map iframe{width:100%;height:320px;border:0;border-radius:18px}.s-foot{text-align:center;padding:2rem 1rem;opacity:.7;font-size:.85rem}
