@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');:root{--ink:#122033;--muted:#64748b;--line:#e5e7eb;--paper:#f7f9fc;--card:#fff;--brand:#155eef;--brand2:#0b4bc1;--mint:#e8f8f2;--gold:#fff7df}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper)}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit}a{text-decoration:none;color:inherit}.wrap{max-width:1180px;margin:0 auto;padding:0 24px}.topbar{position:sticky;top:0;z-index:20;background:rgba(247,249,252,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(229,231,235,.85)}.nav{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:19px}.logo{width:34px;height:34px;border-radius:11px;background:#155eef;color:#fff;display:grid;place-items:center;box-shadow:0 8px 22px rgba(21,94,239,.25)}.navlinks{display:flex;gap:10px;align-items:center}.navlinks button{border:0;background:transparent;color:#475467;padding:9px 12px;border-radius:10px;cursor:pointer}.pill{border:1px solid var(--line)!important;background:#fff!important}.hero{padding:74px 0 34px}.heroGrid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:stretch}.hero h1{font-family:'Plus Jakarta Sans';font-size:clamp(40px,5vw,66px);line-height:1.03;letter-spacing:-.04em;margin:16px 0 18px}.hero p{font-size:19px;line-height:1.55;color:#526173;max-width:650px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;color:#155eef;background:#eaf1ff;border:1px solid #d7e3ff;padding:7px 11px;border-radius:999px}.heroCard{background:linear-gradient(140deg,#0d2f65,#155eef);color:#fff;border-radius:28px;padding:28px;box-shadow:0 22px 60px rgba(18,32,51,.18);min-height:290px}.heroCard .mini{display:inline-block;background:rgba(255,255,255,.14);padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700}.heroCard h3{font-family:'Plus Jakarta Sans';font-size:30px;line-height:1.15;margin:18px 0 10px}.heroCard p{color:rgba(255,255,255,.8);font-size:15px}.statrow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px}.stat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:13px}.stat strong{display:block;font-size:22px}.stat span{font-size:11px;color:rgba(255,255,255,.75)}.section{padding:28px 0 70px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 24px}.control{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-width:150px;outline:none}.search{flex:1;min-width:230px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 7px 24px rgba(18,32,51,.04)}.teacherTop{display:flex;justify-content:space-between;gap:12px}.avatar{width:48px;height:48px;border-radius:15px;background:#e9f0ff;display:grid;place-items:center;color:#155eef;font-weight:800}.headline{font-size:17px;font-weight:700;margin-top:18px}.meta{color:var(--muted);font-size:13px;margin-top:8px;line-height:1.45}.tagrow{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.tag{font-size:11px;background:#f1f5f9;color:#475467;border-radius:999px;padding:6px 9px}.cardFoot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #eef1f5}.price{font-weight:800}.price small{font-weight:500;color:var(--muted)}.btn{border:0;border-radius:12px;padding:11px 15px;background:var(--brand);color:#fff;font-weight:700;cursor:pointer}.btn:hover{background:var(--brand2)}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.empty{padding:40px;text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--line);border-radius:20px}.modal{position:fixed;inset:0;background:rgba(9,20,38,.52);display:grid;place-items:center;padding:18px;z-index:40}.modalBox{width:min(680px,100%);background:#fff;border-radius:24px;padding:24px;max-height:90vh;overflow:auto}.modalHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.close{border:0;background:#f2f4f7;width:36px;height:36px;border-radius:10px;cursor:pointer}.slots{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}.slot{padding:12px;border:1px solid var(--line);background:#fff;border-radius:12px;text-align:left;cursor:pointer}.slot.active{border-color:#155eef;box-shadow:0 0 0 3px #eaf1ff}.slot strong{display:block}.slot span{font-size:12px;color:var(--muted)}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 12px;outline:none}.field textarea{min-height:84px;resize:vertical}.full{grid-column:1/-1}.notice{padding:11px 13px;background:var(--gold);border:1px solid #f2d88c;border-radius:12px;font-size:13px;color:#6b4e00;margin:14px 0}.success{padding:16px;background:var(--mint);border:1px solid #bde9d7;border-radius:14px}.booking{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.booking+.booking{margin-top:10px}.status{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#117455}.footer{padding:28px 0 50px;color:#7b8796;font-size:13px}.hide{display:none!important}@media(max-width:900px){.heroGrid,.cards{grid-template-columns:1fr 1fr}.heroGrid .heroCopy{grid-column:1/-1}.cards .card:last-child{grid-column:1/-1}}@media(max-width:650px){.hero{padding-top:48px}.heroGrid,.cards,.formgrid{grid-template-columns:1fr}.hero h1{font-size:42px}.slots{grid-template-columns:1fr}.wrap{padding:0 16px}}