:root{--bg:#fbfaf7;--ink:#16161d;--mut:#6b6b76;--line:#e8e5de;--acc:#e5484d;--acc2:#1f6feb;--card:#fff}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink)}
a{color:inherit}.wrap{max-width:960px;margin:0 auto;padding:0 20px}
.top{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}.nav{display:flex;justify-content:space-between;align-items:center;height:60px;gap:16px}
.logo{font-weight:800;text-decoration:none;letter-spacing:-.02em;font-size:18px}.logo span{color:var(--acc)}
nav{display:flex;gap:18px;font-size:14px;flex-wrap:wrap}nav a{text-decoration:none;color:var(--mut)}nav a:hover{color:var(--ink)}nav .pill{color:#fff;background:var(--ink);padding:6px 12px;border-radius:99px}
.hero{padding:56px 0 28px}.hero.sm{padding:40px 0 16px}.hero h1{font-size:clamp(32px,5vw,52px);line-height:1.05;letter-spacing:-.03em;margin:0 0 12px}.hero p{color:var(--mut);margin:0}
.cta{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.btn{display:inline-block;background:var(--acc);color:#fff;text-decoration:none;padding:11px 18px;border-radius:10px;font-weight:600;border:0;cursor:pointer;font-size:15px}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.controls{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 6px;position:sticky;top:60px;background:var(--bg);padding:10px 0;z-index:4}
.controls input[type=text],#q{flex:1 1 220px}input,select,textarea{font:inherit;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.chk{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--mut)}
.muted{color:var(--mut);font-size:14px}.list{display:flex;flex-direction:column;gap:10px;margin:10px 0 40px}
.card{display:flex;gap:16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;transition:.15s}.card:hover{border-color:#cfcabe;box-shadow:0 4px 18px rgba(0,0,0,.05)}
.date{width:64px;text-align:center;flex-shrink:0;border-right:1px solid var(--line);padding-right:14px}.date b{display:block;font-size:15px}.date small{color:var(--mut)}
.body{flex:1;min-width:0}.body h3{margin:0;font-size:17px;letter-spacing:-.01em}.body h3 a{text-decoration:none}.body h3 a:hover{text-decoration:underline}
.meta,.fee{margin:2px 0 0;font-size:13px;color:var(--mut)}.t{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding:2px 7px;border-radius:6px;background:#eef2ff;color:#3b5bdb;margin-right:4px}.t.fellowship{background:#ecfdf3;color:#067647}.t.lab{background:#fff4e5;color:#b54708}
.b{font-size:12px;font-weight:700;padding:4px 9px;border-radius:99px;background:#f1efe9;color:var(--mut);white-space:nowrap}.b.hot{background:#fde8e8;color:#c92a2a}.b.soon{background:#fff4e5;color:#b54708}.b.free{background:#e7f8ee;color:#067647}.b.tba{background:#f3f3f6}
.news{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:18px;padding:28px;margin-bottom:30px}.news h2{margin:0}.news p{margin:4px 0 0;color:#bbb}.nl{display:flex;gap:8px;flex-wrap:wrap}.nl input{min-width:240px}.ok{color:#8ce99a!important;width:100%}
.foot{color:var(--mut);font-size:13px;padding-bottom:40px}
.detail h1{font-size:32px;letter-spacing:-.02em;line-height:1.15}.detail table{width:100%;border-collapse:collapse;margin:20px 0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.detail th,.detail td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}.detail th{width:190px;color:var(--mut);font-weight:600;font-size:14px}.crumb{margin-top:24px;font-size:14px;color:var(--mut)}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.tier{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.tier.hl{border:2px solid var(--acc)}.price{font-size:24px;font-weight:800;margin:0}
.contact{display:flex;flex-direction:column;gap:10px;max-width:520px;margin:30px 0 40px}
@media(max-width:640px){nav a:not(.pill){display:none}.date{width:52px}.right{display:none}}
[hidden]{display:none!important}
