:root{--pink:#ff1493;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--wash:#f9fafb}*{box-sizing:border-box;letter-spacing:0}body{margin:0;background:white;color:var(--ink);font-family:Poppins,Arial,sans-serif;font-size:16px;line-height:1.5}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--pink);outline-offset:3px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:#000}h1{font-size:40px;line-height:1.1;font-weight:900}h2{font-size:30px;font-weight:800;line-height:1.2}h3{font-size:20px;font-weight:800}small{font-size:12px;color:#9ca3af}.wrap{max-width:1280px;padding-left:32px;padding-right:32px;margin-inline:auto}.site-header{position:sticky;top:0;background:#fffc;backdrop-filter:blur(12px);z-index:50;border-bottom:1px solid #f3f4f6;box-shadow:0 1px 2px #0001}.header-inner{max-width:1280px;margin:auto;height:80px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand strong{font-size:20px;font-weight:900;line-height:1.1;display:block;color:#000}.brand-kicker{font-size:14px;font-weight:700;color:#6b7280;display:block}.logo-space{width:48px;height:48px}.desktop-nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:700}.desktop-nav a:hover{color:var(--pink)}.team-link{color:#9ca3af;font-size:12px;display:flex;align-items:center;gap:8px}.team-link svg{width:16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:10px 16px;border-radius:6px;font-weight:700;font-size:14px;border:1px solid transparent;transition:background .15s}.button svg{width:18px;height:18px}.pink{background:var(--pink);color:#fff}.dark{background:#000;color:#fff}.outline{background:#fff;border-color:var(--line);color:var(--ink)}.pink:hover{background:#000;color:#fff!important}.dark:hover{background:var(--pink)}.icon-button{border:0;background:transparent;display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;padding:8px;border-radius:6px}.icon-button svg{width:20px;height:20px}.mobile-menu-button{display:none}.mobile-nav{padding:16px 24px;background:#fff;border-top:1px solid var(--line)}.mobile-nav a{display:block;padding:12px}.site-footer{border-top:1px solid #f3f4f6;padding:64px 0;background:#fff}.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px}.site-footer h2{font-size:24px;line-height:1.3}.site-footer h2 span{color:var(--pink)}.site-footer h3{font-size:18px;margin-bottom:24px}.site-footer p{font-size:14px;color:#4b5563;line-height:1.65;margin-bottom:14px}.footer-grid>div>a{display:block;margin:12px 0}.underlined{border-bottom:2px solid var(--pink);width:max-content;font-size:14px;font-weight:700}.underlined svg{display:inline;width:16px;height:16px}.social-links{display:flex;gap:16px}.social-links a{width:40px;height:40px;background:#000;color:#fff;border-radius:8px;display:grid;place-items:center}.social-links svg{width:20px;height:20px}.site-footer hr{border:0;border-top:1px solid #f3f4f6;margin:24px 0}.site-footer .hours{font-size:12px;line-height:1.3}.footer-bottom{border-top:1px solid #f3f4f6;padding-top:32px;margin-top:32px;display:flex;gap:24px;justify-content:space-between;font-size:12px;color:#9ca3af;font-weight:700}.footer-bottom a+a{margin-left:24px}.login-page{min-height:900px;position:relative;background:var(--wash);display:grid;place-items:center;padding:64px 24px}.back-link{position:absolute;top:32px;left:32px;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;min-height:40px;padding:8px 16px}.back-link svg{width:16px;height:16px}.back-link.inline{position:static;margin:24px 0}.login-panel{width:100%;max-width:448px;border:1px solid #f3f4f6;border-radius:12px;background:#fff;padding:40px;box-shadow:0 20px 25px -5px #0002,0 8px 10px -6px #0002;text-align:center}.login-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--pink);color:#fff;margin:0 auto 16px}.login-icon svg{width:24px;height:24px}.login-panel h1{font-size:30px;line-height:36px;margin:0 0 8px}.login-panel>p{font-size:14px;color:#4b5563;margin-bottom:32px}.login-panel input{height:56px;font-size:18px;font-weight:500;background:var(--wash);margin-bottom:16px}.login-panel .button{width:100%;height:56px;margin-top:8px;box-shadow:0 8px 12px #0001}.login-links{display:grid;gap:16px;margin-top:24px;font-size:12px}.login-links a{color:var(--pink)}label{display:block;font-size:14px;font-weight:500;margin-bottom:16px}input:not([type=checkbox]):not([type=hidden]),textarea,select{display:block;width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:var(--ink);min-width:0}label input,textarea{margin-top:6px}input::placeholder,textarea::placeholder{color:#9ca3af}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px}.check input{flex:0 0 18px;width:18px;height:18px;accent-color:var(--pink)}.check span{padding-top:5px}.form-error{color:#b91c1c;font-size:14px;text-align:left}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero{height:calc(100vh - 96px);min-height:550px;max-height:1000px;position:relative;overflow:hidden;background:#222;color:#fff}.hero-slide{height:100%;position:relative}.hero-slide>img{position:absolute;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:#0006}.hero-content{height:100%;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero h1{font-size:72px;color:white;max-width:800px;margin:0 0 24px;text-transform:uppercase;font-weight:900}.hero p{font-size:24px}.hero .button{height:56px;padding-inline:40px}.hero-dots{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:8px}.hero-dots button{width:16px;height:6px;border:0;border-radius:4px;background:#fff5;padding:0}.hero-dots button[aria-pressed=true]{background:var(--pink);width:48px}.brand-band{text-align:center;padding-block:64px}.brand-band h2{font-size:30px}.brand-band>div{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:48px}.brand-band img{width:120px;max-height:75px;object-fit:contain}.home-section{padding-top:64px;padding-bottom:64px;scroll-margin-top:96px}.section-heading{text-align:center;margin:24px 0 48px}.section-heading>span{color:var(--pink);font-size:14px;font-weight:700}.section-heading h1,.section-heading h2{font-size:48px;margin:12px 0 16px;font-weight:900}.section-heading p{color:#6b7280}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.course-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.card-image{aspect-ratio:4/3;background:#f3f4f6;position:relative}.card-image img{width:100%;height:100%;object-fit:cover}.places{position:absolute;right:12px;top:12px;background:#fff;padding:6px 10px;font-size:11px;font-weight:700;border-radius:4px}.card-content{padding:24px}.card-content h3{text-transform:uppercase;font-size:22px}.card-content p{font-size:14px;color:#6b7280}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.card-actions .button{flex:1}.course-description{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.catalog-page{padding-top:24px;padding-bottom:80px}.catalog-page>.course-grid{margin-bottom:64px}.course-detail{padding-bottom:80px}.course-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:48px}.course-detail h1{font-size:40px;margin:24px 0}.course-cover{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px;margin-bottom:32px}.description{color:#4b5563;line-height:1.75}.course-detail h2{font-size:24px;margin-top:32px}.course-enrollment{align-self:start;position:sticky;top:110px;border:1px solid var(--line);border-radius:8px;padding:24px}.info-buttons{display:grid;gap:20px}.mobile-call{display:none}.lessons-list{padding-left:24px;columns:2;color:#4b5563}.lessons-list li{padding:6px}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;text-align:center}.team-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;margin-bottom:24px}.team-grid h3{font-size:18px}.contact-details{text-align:center}.dashboard{padding-top:48px;padding-bottom:80px;min-height:75vh}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.dashboard-heading h1{font-size:30px}.dashboard-heading>div{display:flex;align-items:center;gap:16px}.dashboard-nav{display:flex;flex-wrap:wrap;gap:20px;border-block:1px solid var(--line);padding:24px 0;margin:24px 0 48px}.dashboard-nav a,.dashboard-nav button{background:transparent;border:0;font-size:14px;font-weight:700;padding:12px}.dashboard-nav button[aria-pressed=true]{color:var(--pink)}.dashboard h2{font-size:24px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th,td{padding:20px 16px;border-bottom:1px solid var(--line)}th{font-weight:600;color:#6b7280;background:var(--wash)}td small{display:block}dialog{border:1px solid var(--line);border-radius:8px;padding:32px;max-width:calc(100vw - 32px);width:520px;max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 20px 60px #0003}dialog::backdrop{background:#000b}dialog h2{font-size:20px;margin:0 32px 20px 0}.dialog-close{position:absolute;right:8px;top:8px}.side-dialog{margin:0 0 0 auto;min-height:100dvh;width:680px;max-height:100dvh;border-radius:0;padding:32px 24px}.side-dialog>p{color:#6b7280}.toast{position:fixed;bottom:24px;right:24px;z-index:200;max-width:min(420px,calc(100vw - 48px));padding:24px;color:#fff;background:var(--pink);border-radius:6px;box-shadow:0 8px 20px #0002}.error-page{min-height:60vh;padding-block:100px;text-align:center}[hidden]{display:none!important}
@media(max-width:1100px){.desktop-nav{gap:16px;font-size:12px}.brand strong{font-size:17px}.logo-space{width:32px}.course-detail-grid{grid-template-columns:minmax(0,1fr) 320px;gap:24px}.footer-grid{gap:24px}.hero h1{font-size:56px}}@media(max-width:767px){.wrap,.header-inner{padding-inline:24px}.header-inner{height:72px;gap:12px}.brand strong{font-size:16px}.brand-kicker{font-size:12px}.logo-space{width:32px;height:40px}.desktop-nav{display:none}.mobile-menu-button{display:flex}.mobile-nav:not([hidden]){display:block}.footer-grid{grid-template-columns:1fr 1fr;gap:40px 24px}.footer-bottom{flex-direction:column}.login-page{min-height:calc(100dvh - 72px);padding:100px 24px 48px}.back-link{left:8px;top:16px}.login-panel{padding:32px 24px}.login-panel h1{font-size:26px}.hero{height:calc(100dvh - 88px);min-height:480px}.hero h1{font-size:40px;line-height:1.1}.hero p{font-size:18px}.hero .button{padding-inline:24px}.section-heading h1,.section-heading h2{font-size:32px}.course-grid{grid-template-columns:1fr;gap:24px}.home-section{padding-block:40px}.course-detail-grid{display:flex;flex-direction:column}.course-detail-grid>article{order:1}.course-enrollment{position:static;width:100%;border:0;padding:16px 0;order:0}.mobile-call{display:flex;text-align:center}.course-detail h1{font-size:30px}.team-grid{grid-template-columns:1fr 1fr;gap:24px}.dashboard-heading{align-items:flex-start}.dashboard-heading>div{font-size:12px}.dashboard-nav{gap:4px;padding:12px 0}.dashboard-nav a,.dashboard-nav button{padding:10px}.side-dialog{width:100%;max-width:100vw}dialog{padding:28px 20px}.brand-band>div{gap:24px}.brand-band img{width:88px}}@media(max-width:400px){.footer-grid{grid-template-columns:1fr}.brand strong{font-size:15px}.logo-space{width:24px}.wrap{padding-inline:20px}}
@media(min-width:768px) and (max-width:1023px) {
  .site-footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  main .course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  main .team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.recovery-page { min-height:100vh; padding:48px 16px; }
.recovery-panel { padding:32px; border-radius:16px; }
.recovery-panel h1 { font-size:24px; line-height:32px; text-transform:uppercase; }
.recovery-panel label { display:inline; text-align:left; margin:0; font-size:14px; font-weight:500; line-height:14px; }
.recovery-panel input { display:block; height:44px; font-size:14px; font-weight:400; line-height:20px; padding:8px 12px; margin:8px 0 24px; }
.recovery-panel form { text-align:left; }
.recovery-panel #reset-form { margin-top:32px; }
.recovery-panel .button { height:48px; margin-top:0; padding:8px 16px; line-height:20px; box-shadow:none; }
.recovery-panel button[type=submit] { text-transform:uppercase; }
.recovery-panel button:disabled { opacity:.5; }
.recovery-panel .recovery-invalid { margin-top:32px; }
.recovery-invalid .form-error { font-size:16px; font-weight:500; line-height:24px; margin:0 0 16px; }
.recovery-invalid .button { width:100%; height:40px; font-weight:500; }
.recovery-symbol { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; margin:0 auto 16px; }
.recovery-symbol svg { width:24px; height:24px; }
.recovery-symbol.success { background:#dcfce7; color:#16a34a; }
.recovery-symbol.failure { background:#fee2e2; color:#dc2626; }
.recovery-panel h3 { font-size:18px; font-weight:700; }
.recovery-panel p { font-size:14px; line-height:20px; color:#6b7280; }
.recovery-panel .form-error { color:#dc2626; }
.instructor-contact-button { border:2px solid var(--pink); color:var(--pink); padding:12px 24px; text-align:left; }
.instructor-contact-button:hover { background:#fff0f8; }
dialog.instructor-dialog { width:500px; padding:24px; }
.instructor-dialog h2 { font-size:18px; font-weight:600; line-height:18px; margin:0 0 6px; }
.instructor-dialog>p { color:#6b7280; font-size:14px; margin:0; line-height:20px; }
.instructor-dialog form { padding-block:8px; margin-top:16px; }
.instructor-dialog label { font-size:14px; line-height:24px; margin-bottom:16px; }
.instructor-dialog input:not([type=checkbox]):not([type=hidden]) { height:40px; margin-top:8px; padding:8px 12px; font-size:14px; font-weight:400; line-height:20px; border-color:#e5e7eb; }
.instructor-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.instructor-dialog textarea { height:96px; resize:none; padding:8px 12px; font-size:14px; margin-top:8px; font-weight:400; line-height:20px; border-color:#e5e7eb; }
.instructor-dialog h2 { color:var(--ink); }
.instructor-dialog .required-mark { color:#ef4444; }
.instructor-dialog .check { color:#4b5563; font-size:12px; font-weight:500; margin:0 0 16px; padding-block:8px; line-height:19.5px; gap:12px; }
.instructor-dialog .check a { color:var(--pink); text-decoration:underline; }
.instructor-dialog .check span { padding-top:0; }
.instructor-dialog .check input { width:16px; height:16px; flex-basis:16px; margin:4px 0 0; }
.instructor-dialog input:focus-visible,.instructor-dialog textarea:focus-visible { outline:2px solid #6366f1; outline-offset:0; }
.instructor-dialog .dialog-close { width:32px; height:32px; }
.instructor-dialog .dialog-close svg { width:16px; height:16px; }
.instructor-actions { display:flex; justify-content:flex-end; gap:8px; padding-top:16px; }
.instructor-actions .button { font-weight:500; height:40px; line-height:20px; }
.instructor-actions button[type=submit] { border:0; }
.instructor-actions .button svg { width:16px; height:16px; }
.instructor-actions button:disabled { opacity:.5; }
.toast.course-info-toast { right:18px; bottom:18px; z-index:100000; display:flex; align-items:center; gap:12px; width:min(360px,calc(100vw - 32px)); max-width:none; border:1px solid #ffffff38; border-radius:8px; background:#ff0f6f; box-shadow:0 18px 46px #ff0f6f52; color:#fff; font-size:14px; font-weight:800; line-height:1.35; padding:14px 14px 14px 16px; }
.course-info-toast .course-toast-check { display:grid; place-items:center; flex:0 0 26px; width:26px; height:26px; border-radius:50%; background:#ffffff38; }
.course-toast-check svg { width:16px; height:16px; stroke-width:3; }
.course-info-toast>button { display:grid; place-items:center; appearance:none; flex:0 0 28px; width:28px; height:28px; padding:0; border:1px solid #ffffff42; border-radius:50%; background:transparent; color:#fff; }
.course-info-toast>button svg { width:16px; height:16px; }
@media(max-width:767px) { .toast.course-info-toast { right:14px; bottom:max(14px,env(safe-area-inset-bottom)); left:14px; width:auto; } }
dialog.request-dialog { width:520px; max-width:calc(100vw - 48px); max-height:calc(100dvh - 48px); padding:20px; color:#111827; box-shadow:0 24px 70px #0004; overscroll-behavior:contain; }
.request-dialog::backdrop { background:rgba(17,24,39,.62); }
.request-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:14px; }
.request-dialog-head h2 { margin:0; font-size:22px; font-weight:950; line-height:1.12; color:#111827; text-transform:uppercase; }
.request-dialog-head .dialog-close { position:static; flex:0 0 40px; border:1px solid #e5e7eb; border-radius:8px; padding:8px; }
.request-dialog form { display:grid; gap:9px; }
.request-dialog form>label { display:grid; gap:4px; color:#111827; font-size:13px; font-weight:850; margin:0; }
.request-dialog input:not([type=checkbox]):not([type=hidden]),.request-dialog textarea { border-radius:8px; font-size:15px; font-weight:400; line-height:1.3; padding:9px 11px; margin:0; }
.request-dialog textarea { min-height:64px; resize:vertical; }
.request-dialog input:focus-visible,.request-dialog textarea:focus-visible { border-color:#ff1493; outline:3px solid #ff149329; outline-offset:0; }
.request-dialog form>label.check { grid-template-columns:18px minmax(0,1fr); gap:8px; color:#4b5563; font-size:12px; line-height:1.35; font-weight:400; }
.request-dialog .check input { margin:1px 0 0; width:18px; height:18px; }.request-dialog .check span { padding:0; }
.request-dialog .button { min-height:44px; padding:11px 14px; border:0; border-radius:8px; background:#111827; line-height:1.2; font-weight:900; text-transform:uppercase; }
.request-dialog .button:hover { background:#ff1493; }
.request-dialog form>.button { margin-top:18px; }
.request-dialog-head .dialog-close:hover,.request-dialog-head .dialog-close:focus { color:#ff1493; border-color:#ff1493; }
@media(max-width:767px) { .site-header .header-inner { height:80px; } }
@media(max-width:767px) { dialog.request-dialog { width:calc(100vw - 28px); max-width:none; max-height:calc(100svh - 36px); padding:16px; margin:18px auto auto; }.request-dialog-head h2 { font-size:19px; } }
@media(max-width:639px) {
 dialog.instructor-dialog { border-radius:0; max-width:100vw; }
 .instructor-dialog h2,.instructor-dialog>p { text-align:center; }
 .instructor-actions { flex-direction:column-reverse; gap:0; }
 .instructor-actions .button { width:100%; }
}
