body.mmb-public-home-page,
body.mmb-public-teaching-materials-page,
body.mmb-public-pricing-page,
body.mmb-public-teacher-login-page,
body.mmb-public-teacher-training-page {
    margin: 0;
    background: linear-gradient(180deg, #f8f3ff 0%, #efe8f8 100%);
    color: #2c1f47;
    font-family: "Nunito", "Trebuchet MS", "Segoe UI", sans-serif;
}

body.mmb-admin-login-page .wp-block-template-part,
body.mmb-admin-login-page header.wp-block-template-part,
body.mmb-admin-login-page footer.wp-block-template-part,
body.mmb-admin-login-page .wp-site-blocks > header,
body.mmb-admin-login-page .wp-site-blocks > footer {
    display: none !important;
}

body.mmb-admin-login-page .wp-site-blocks,
body.mmb-admin-login-page .wp-site-blocks > main,
body.mmb-admin-login-page .wp-site-blocks > main > * {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.mmb-admin-login-page .wp-site-blocks > *:not(main) {
    display: none !important;
}

body.mmb-admin-login-page .wp-site-blocks > main > * {
    display: none !important;
}

body.mmb-admin-login-page .wp-site-blocks > main > .wp-block-post-content {
    display: block !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.mmb-admin-login-page .wp-site-blocks > main > .wp-block-post-content > * {
    display: none !important;
}

body.mmb-admin-login-page .wp-site-blocks > main > .wp-block-post-content > .mmb-public-page {
    display: block !important;
}

.mmb-public-page {
    min-height: 100vh;
    padding: 20px;
}

.mmb-public-shell {
    max-width: 1240px;
    margin: 0 auto;
}

.mmb-public-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
}

.mmb-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #2a1b4b;
    font-weight: 900;
}

.mmb-brand-icon {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: linear-gradient(135deg, #8f47f1, #c066f0);
}

.mmb-brand-text {
    font-size: 1.34rem;
    line-height: 1;
}

.mmb-public-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.mmb-public-nav a {
    color: #4f426f;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.93rem;
    padding: 9px 13px;
    border-radius: 999px;
}

.mmb-public-nav a.is-active {
    background: #ece2fb;
    color: #703af1;
}

.mmb-public-auth {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mmb-link {
    color: #4f426f;
    text-decoration: none;
    font-weight: 700;
}

.mmb-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 44px;
    border-radius: 999px;
    border: 0;
    padding: 0 22px;
    text-decoration: none;
    background: linear-gradient(90deg, #8f47f1, #c066f0);
    color: #fff;
    font-weight: 800;
    font-size: 0.95rem;
    box-shadow: 0 10px 22px rgba(143, 71, 241, 0.22);
}

.mmb-button-ghost {
    background: transparent;
    color: #7d43ef;
    border: 2px solid #ccb1ef;
    box-shadow: none;
}

.mmb-chip {
    display: inline-flex;
    border-radius: 999px;
    background: #efe4ff;
    color: #7c45ef;
    font-weight: 700;
    padding: 8px 14px;
    font-size: 0.82rem;
}

.mmb-public-hero {
    margin-top: 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 20px;
    align-items: center;
}

.mmb-public-hero h1 {
    font-size: clamp(1.9rem, 3.7vw, 3.25rem);
    line-height: 1.1;
    margin: 16px 0;
    letter-spacing: -0.03em;
    font-weight: 900;
}

.mmb-public-hero p {
    color: #675c84;
    font-size: 1.04rem;
    margin: 0;
    max-width: 620px;
}

.mmb-hero-actions {
    margin-top: 28px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.mmb-meta-row {
    margin-top: 24px;
    display: flex;
    gap: 20px;
    color: #6c5e8b;
    font-weight: 700;
    font-size: 0.84rem;
    flex-wrap: wrap;
}

.mmb-hero-art {
    border: 4px solid #eddffb;
    border-radius: 34px;
    padding: 20px;
    min-height: 390px;
    background: linear-gradient(180deg, #ffd9f2 0%, #ffe8f8 28%, #f6efff 100%);
    position: relative;
    overflow: hidden;
    box-shadow: 0 22px 35px rgba(156, 102, 240, 0.2);
}

.mmb-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(1px);
    opacity: 0.7;
    animation: mmb-float 7s ease-in-out infinite;
}

.mmb-orb-a {
    width: 72px;
    height: 72px;
    left: -18px;
    top: 44px;
    background: radial-gradient(circle, #ffffff, #ff9ed5);
}

.mmb-orb-b {
    width: 94px;
    height: 94px;
    right: -16px;
    bottom: 28px;
    background: radial-gradient(circle, #ffffff, #9c71f4);
    animation-delay: 1.2s;
}

.mmb-hero-tag {
    position: absolute;
    top: 16px;
    right: 16px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #ebddfb;
    padding: 8px 12px;
    font-weight: 700;
    color: #5a4a7a;
}

.mmb-hero-characters {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 92px;
}

.mmb-hero-characters span {
    border-radius: 16px;
    background: #fff;
    min-height: 130px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 58px;
    box-shadow: 0 9px 20px rgba(53, 26, 86, 0.08);
}

.mmb-hero-keyboard {
    margin-top: 14px;
    border-radius: 14px;
    background: linear-gradient(90deg, #ff65ae, #8e50f1);
    color: #fff;
    text-align: center;
    padding: 10px 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.mmb-public-cards {
    margin-top: 24px;
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mmb-home-section-head {
    margin-top: 42px;
    text-align: center;
}

.mmb-home-section-head h2 {
    margin: 0;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-weight: 900;
}

.mmb-home-section-head h2 span {
    color: #8443ef;
}

.mmb-home-section-head p {
    margin: 8px 0 0;
    color: #706286;
    font-size: 1.03rem;
}

.mmb-public-marquee {
    margin-top: 22px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.mmb-public-marquee span {
    background: #fff;
    border: 1px solid #ebddfb;
    border-radius: 999px;
    text-align: center;
    padding: 9px 10px;
    font-size: 0.9rem;
    font-weight: 800;
    color: #644f87;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.mmb-public-marquee span:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 18px rgba(111, 66, 193, 0.15);
}

.mmb-note-field {
    position: relative;
    height: 86px;
    margin: 8px 0 4px;
    pointer-events: none;
    overflow: hidden;
}

.mmb-note-field .mmb-note {
    position: absolute;
    font-size: 1.9rem;
    line-height: 1;
    opacity: 0.75;
    animation: mmb-note-float 6.5s ease-in-out infinite;
}

.mmb-note-field .mmb-note.n1 { left: 0.5%; top: 50px; color: #8b45ef; animation-delay: 0.1s; }
.mmb-note-field .mmb-note.n2 { left: 9%; top: 20px; color: #f25baa; animation-delay: 1.1s; }
.mmb-note-field .mmb-note.n3 { left: 17.5%; top: 54px; color: #f2b61f; animation-delay: 0.5s; }
.mmb-note-field .mmb-note.n4 { left: 32%; top: 34px; color: #6e54ce; animation-delay: 2.2s; }
.mmb-note-field .mmb-note.n5 { left: 43%; top: 18px; color: #34c796; animation-delay: 1.5s; }
.mmb-note-field .mmb-note.n6 { left: 54%; top: 57px; color: #e45cb6; animation-delay: 0.7s; }
.mmb-note-field .mmb-note.n7 { left: 66%; top: 26px; color: #37a9f6; animation-delay: 1.9s; }
.mmb-note-field .mmb-note.n8 { left: 78%; top: 48px; color: #f1b934; animation-delay: 0.9s; }
.mmb-note-field .mmb-note.n9 { left: 88%; top: 23px; color: #b45df2; animation-delay: 2.6s; }
.mmb-note-field .mmb-note.n10 { left: 95%; top: 56px; color: #5b4b86; animation-delay: 1.3s; }

.mmb-mini-piano {
    margin: 22px auto 0;
    max-width: 640px;
    background: #ffffff;
    border: 1px solid #eadcf9;
    border-radius: 20px;
    padding: 14px;
    box-shadow: 0 12px 22px rgba(94, 46, 170, 0.09);
}

.mmb-mini-piano-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.mmb-mini-piano-head strong {
    font-size: 1rem;
}

.mmb-mini-piano-head span {
    font-size: 0.82rem;
    color: #7f7199;
    background: #f3eaff;
    border-radius: 999px;
    padding: 4px 10px;
    font-weight: 700;
}

.mmb-mini-piano-keys {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}

.mmb-mini-key {
    min-height: 88px;
    border: 1px solid #e2d7f3;
    border-bottom-width: 4px;
    border-radius: 10px;
    background: #fff;
    color: #644f87;
    font-weight: 900;
    letter-spacing: 0.03em;
    transition: transform 0.04s ease, box-shadow 0.08s ease;
    cursor: pointer;
}

.mmb-mini-key.is-c { border-bottom-color: #8b45ef; }
.mmb-mini-key.is-d { border-bottom-color: #ff5ba4; }
.mmb-mini-key.is-e { border-bottom-color: #f2b722; }
.mmb-mini-key.is-f { border-bottom-color: #35c793; }
.mmb-mini-key.is-g { border-bottom-color: #37a9f6; }
.mmb-mini-key.is-a { border-bottom-color: #b45df2; }
.mmb-mini-key.is-b { border-bottom-color: #f256b0; }

.mmb-mini-key.is-active,
.mmb-mini-key:active {
    transform: translateY(2px);
    box-shadow: inset 0 8px 12px rgba(95, 57, 160, 0.12);
}

.mmb-public-card {
    background: #fff;
    border: 1px solid #ebddfb;
    border-radius: 22px;
    padding: 22px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mmb-public-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 24px rgba(122, 67, 239, 0.13);
}

.mmb-public-card-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #8f47f1, #cf67f0);
    color: #fff;
    font-size: 1.6rem;
}

.mmb-public-card h3 {
    margin: 14px 0 8px;
    font-size: 1.2rem;
    font-weight: 900;
}

.mmb-public-card p {
    color: #6a5e85;
    font-size: 0.95rem;
    margin: 0 0 10px;
}

.mmb-public-card a {
    color: #7a3ff0;
    text-decoration: none;
    font-weight: 800;
}

.mmb-public-footer {
    margin-top: 48px;
    border-top: 1px solid #e6d9f7;
    padding: 28px 0 18px;
    display: grid;
    gap: 18px;
    grid-template-columns: 1.2fr 1fr 1fr;
}

.mmb-public-login-strip {
    margin-top: 26px;
    border: 1px solid #e9dbf9;
    border-radius: 24px;
    background: linear-gradient(120deg, #fff 0%, #f8f0ff 100%);
    padding: 22px;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.mmb-public-login-strip h3 {
    margin: 0 0 4px;
    font-size: 1.4rem;
}

.mmb-public-login-strip p {
    margin: 0;
    color: #6b6084;
}

.mmb-public-login-strip-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.mmb-home-stats {
    margin-top: 36px;
    border: 1px solid #e4d8f4;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 24px rgba(105, 68, 171, 0.08);
    padding: 22px;
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mmb-home-stats article {
    text-align: center;
}

.mmb-home-stats strong {
    display: block;
    font-size: clamp(1.7rem, 3.3vw, 3rem);
    line-height: 1;
    letter-spacing: -0.02em;
    font-weight: 900;
}

.mmb-home-stats article:nth-child(1) strong { color: #7e43ef; }
.mmb-home-stats article:nth-child(2) strong { color: #ec58a8; }
.mmb-home-stats article:nth-child(3) strong { color: #32c98f; }
.mmb-home-stats article:nth-child(4) strong { color: #f1b625; }

.mmb-home-stats span {
    display: block;
    margin-top: 6px;
    color: #6e6287;
    font-size: 0.95rem;
    font-weight: 700;
}

.mmb-public-copy {
    text-align: center;
    color: #7b7091;
    font-size: 0.88rem;
    margin-top: 8px;
}

.mmb-public-footer h4 {
    font-size: 0.95rem;
    margin: 0 0 8px;
}

.mmb-public-footer p,
.mmb-public-footer a {
    display: block;
    color: #655a80;
    font-size: 0.92rem;
    text-decoration: none;
    margin: 6px 0;
}

.mmb-public-pricing .mmb-pricing-hero {
    margin-top: 24px;
    text-align: center;
}

.mmb-public-pricing .mmb-pricing-hero h1 {
    font-size: clamp(1.75rem, 3vw, 2.45rem);
    margin: 0 0 10px;
    font-weight: 900;
}

.mmb-public-pricing .mmb-pricing-hero p {
    color: #6e6388;
    font-size: 0.98rem;
    margin: 0;
}

.mmb-pricing-grid {
    margin-top: 30px;
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mmb-pricing-card {
    border: 1px solid #eadcf9;
    background: #fff;
    border-radius: 20px;
    padding: 26px;
}

.mmb-pricing-card h3 {
    margin: 0 0 6px;
    font-size: 1.1rem;
}

.mmb-price {
    font-size: 1.65rem;
    font-weight: 900;
    color: #7d45ef;
    margin-bottom: 10px;
}

.mmb-pricing-card-featured {
    background: linear-gradient(180deg, #fff 0%, #f6efff 100%);
    border-color: #cdaef1;
    box-shadow: 0 18px 26px rgba(140, 72, 239, 0.16);
}

.mmb-pricing-actions {
    margin-top: 26px;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.mmb-public-teacher-training .mmb-tt-shell {
    margin-top: 10px;
    border: 1px solid #e4d8f5;
    border-radius: 24px;
    background: linear-gradient(180deg, #f8f3ff 0%, #f2ebfb 100%);
    padding: 22px;
}

.mmb-public-teacher-training .mmb-tt-hero {
    max-width: none;
}

.mmb-public-teacher-training .mmb-tt-hero h1 {
    margin: 14px 0 10px;
    font-size: clamp(1.95rem, 3.9vw, 3.15rem);
    line-height: 1.12;
    letter-spacing: -0.03em;
    font-weight: 900;
    white-space: nowrap;
}

.mmb-public-teacher-training .mmb-tt-hero p {
    margin: 0;
    color: #6c6088;
    font-size: 1.03rem;
    max-width: 950px;
}

.mmb-public-teacher-training .mmb-tt-grid {
    margin-top: 28px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.mmb-public-teacher-training .mmb-tt-grid-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mmb-public-teacher-training .mmb-tt-card {
    background: #fff;
    border: 1px solid #e9def8;
    border-radius: 24px;
    padding: 18px;
    box-shadow: 0 14px 24px rgba(119, 70, 194, 0.12);
}

.mmb-public-teacher-training .mmb-tt-icon {
    width: 74px;
    height: 74px;
    border-radius: 22px;
    background: linear-gradient(135deg, #8e46f1, #c165f0);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
}

.mmb-public-teacher-training .mmb-tt-icon-cyan {
    background: linear-gradient(135deg, #35b6f1, #45d0d8);
}

.mmb-public-teacher-training .mmb-tt-icon-pink {
    background: linear-gradient(135deg, #ec58a8, #bd63ea);
}

.mmb-public-teacher-training .mmb-tt-card h3 {
    margin: 16px 0 4px;
    font-size: 1.16rem;
    line-height: 1.08;
    letter-spacing: -0.01em;
    font-weight: 900;
}

.mmb-public-teacher-training .mmb-tt-card p {
    margin: 0;
    color: #6d6288;
    font-weight: 700;
    font-size: 0.9rem;
}

.mmb-public-teacher-training .mmb-tt-price {
    margin-top: 12px;
    color: #7a41ef;
    font-weight: 900;
    font-size: 1.95rem;
    line-height: 1;
}

.mmb-public-teacher-training .mmb-tt-enroll {
    width: 100%;
    margin-top: 16px;
    padding-left: 0;
    padding-right: 0;
}

.mmb-public-teacher-training .mmb-tt-enroll.is-disabled {
    opacity: 0.72;
    pointer-events: none;
}

.mmb-public-teacher-training .mmb-tt-status {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    border-radius: 999px;
    padding: 0 12px;
    margin-top: 12px;
    font-size: 0.82rem;
    font-weight: 800;
    border: 1px solid #e7dbf9;
    color: #5d4a7c;
    background: #f9f5ff;
}

.mmb-public-teacher-training .mmb-tt-status.is-completed {
    color: #16794d;
    background: #e7f8ef;
    border-color: #bfeacb;
}

.mmb-public-teacher-training .mmb-tt-status.is-progress {
    color: #7a3ff0;
    background: #f2e9ff;
    border-color: #d7bdf8;
}

.mmb-public-teacher-training .mmb-tt-status.is-unlocked {
    color: #1a6bb0;
    background: #e8f4ff;
    border-color: #beddff;
}

.mmb-public-teacher-training .mmb-tt-status.is-locked {
    color: #7e6e99;
    background: #f5f2f9;
    border-color: #e1d9eb;
}

.mmb-public-teacher-training .mmb-tt-note {
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid #f1d8ac;
    background: #fff9eb;
    color: #6e5932;
    font-size: 0.9rem;
    font-weight: 700;
}

.mmb-public-teacher-training .mmb-tt-cta {
    margin-top: 20px;
}

.mmb-public-teacher-training .mmb-tt-cert-row {
    margin-top: 22px;
    border: 1px solid #cba7ee;
    border-radius: 28px;
    background: #f8f2ff;
    padding: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.mmb-public-teacher-training .mmb-tt-cert-left {
    display: flex;
    align-items: center;
    gap: 14px;
}

.mmb-public-teacher-training .mmb-tt-cert-icon {
    width: 92px;
    height: 92px;
    border-radius: 24px;
    background: linear-gradient(135deg, #f7b733, #f6a623);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
}

.mmb-public-teacher-training .mmb-tt-cert-left h4 {
    margin: 0 0 4px;
    font-size: 1.44rem;
    letter-spacing: -0.01em;
    font-weight: 900;
}

.mmb-public-teacher-training .mmb-tt-cert-left p {
    margin: 0;
    color: #6d6288;
    font-size: 0.96rem;
}

.mmb-public-teacher-training .mmb-tt-cert-lock {
    min-height: 74px;
    min-width: 360px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #eb9fd3, #c89ce5);
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
    opacity: 0.95;
}

.mmb-public-teaching-materials .mmb-tm-hero {
    margin-top: 14px;
    max-width: 860px;
}

.mmb-public-teaching-materials .mmb-tm-hero h1 {
    margin: 14px 0 10px;
    font-size: clamp(1.9rem, 3.5vw, 3.05rem);
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-weight: 900;
}

.mmb-public-teaching-materials .mmb-tm-hero p {
    margin: 0;
    color: #6e6288;
    font-size: 1.02rem;
    max-width: 720px;
}

.mmb-public-teaching-materials .mmb-tm-grid {
    margin-top: 26px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.mmb-public-teaching-materials .mmb-tm-card {
    background: #fcfbff;
    border: 1px solid #e7ddf4;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 6px 16px rgba(92, 65, 132, 0.08);
}

.mmb-public-teaching-materials .mmb-tm-icon {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #8f46f1, #bc61f2);
    color: #fff;
    font-size: 1.45rem;
    margin-bottom: 12px;
}

.mmb-public-teaching-materials .mmb-tm-icon-pink {
    background: linear-gradient(145deg, #e758b3, #c768df);
}

.mmb-public-teaching-materials .mmb-tm-icon-cyan {
    background: linear-gradient(145deg, #3bb9e4, #46d3d8);
}

.mmb-public-teaching-materials .mmb-tm-icon-gold {
    background: linear-gradient(145deg, #f0b433, #f6a726);
}

.mmb-public-teaching-materials .mmb-tm-card h3 {
    margin: 0 0 6px;
    font-size: 1.58rem;
    font-weight: 900;
}

.mmb-public-teaching-materials .mmb-tm-card p {
    margin: 0 0 14px;
    color: #6c6087;
    font-size: 0.96rem;
}

.mmb-public-teaching-materials .mmb-tm-like {
    margin-top: 24px;
}

.mmb-public-teaching-materials .mmb-tm-like h2 {
    margin: 0 0 12px;
    font-size: 1.28rem;
    font-weight: 900;
}

.mmb-public-teaching-materials .mmb-tm-like-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mmb-public-teaching-materials .mmb-tm-like-card {
    background: #fff;
    border: 1px solid #eadff8;
    border-radius: 16px;
    padding: 14px;
}

.mmb-public-teaching-materials .mmb-tm-like-card h3 {
    margin: 0 0 6px;
    font-size: 1.02rem;
    font-weight: 900;
}

.mmb-public-teaching-materials .mmb-tm-like-card p {
    margin: 0 0 10px;
    color: #6c6087;
    font-size: 0.88rem;
}

.mmb-public-teaching-materials .mmb-tm-like-card a {
    color: #7c45ef;
    text-decoration: none;
    font-weight: 800;
    font-size: 0.9rem;
}

.mmb-public-teaching-materials .mmb-tm-logged-in-cta {
    margin-top: 18px;
}

.mmb-teacher-login-wrap {
    margin-top: 20px;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 20px;
    align-items: stretch;
}

.mmb-teacher-login-info,
.mmb-teacher-login-card {
    border-radius: 24px;
    border: 1px solid #eadcf9;
    background: #fff;
    padding: 24px;
}

.mmb-teacher-login-info h1 {
    margin: 0 0 10px;
    font-size: clamp(1.9rem, 3vw, 2.6rem);
    font-weight: 900;
}

.mmb-teacher-login-info p {
    margin: 0 0 12px;
    color: #6d6287;
}

.mmb-teacher-login-info ul {
    margin: 0;
    padding-left: 20px;
    color: #5e537a;
    line-height: 1.7;
    font-weight: 700;
}

.mmb-teacher-login-card h2 {
    margin: 0 0 12px;
    font-size: 1.7rem;
    font-weight: 900;
}

.mmb-teacher-login-card form {
    display: grid;
    gap: 10px;
}

.mmb-teacher-login-card label {
    font-weight: 800;
    color: #362750;
}

.mmb-teacher-login-card input[type="text"],
.mmb-teacher-login-card input[type="password"] {
    min-height: 48px;
    border: 2px solid #eadcf9;
    border-radius: 13px;
    padding: 10px 12px;
    font-size: 1rem;
}

.mmb-teacher-login-card .mmb-button {
    margin-top: 8px;
}

.mmb-teacher-login-card .mmb-login-error {
    margin: 0 0 10px;
    border-radius: 10px;
    border: 1px solid #f6b9c3;
    background: #fff1f4;
    color: #b42847;
    padding: 10px 12px;
    font-size: 0.9rem;
    font-weight: 700;
}

.mmb-teacher-login-links {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

@keyframes mmb-float {
    0% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
    100% { transform: translateY(0); }
}

@keyframes mmb-note-float {
    0% { transform: translate3d(0, 0, 0) rotate(0deg); opacity: 0.45; }
    50% { transform: translate3d(0, -16px, 0) rotate(-6deg); opacity: 0.9; }
    100% { transform: translate3d(0, 0, 0) rotate(0deg); opacity: 0.45; }
}

@media (max-width: 992px) {
    .mmb-public-hero {
        grid-template-columns: 1fr;
    }

    .mmb-public-cards,
    .mmb-pricing-grid,
    .mmb-public-footer {
        grid-template-columns: 1fr;
    }

    .mmb-home-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mmb-public-marquee {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mmb-teacher-login-wrap {
        grid-template-columns: 1fr;
    }

    .mmb-note-field {
        height: 66px;
    }

    .mmb-note-field .mmb-note {
        font-size: 1.35rem;
    }

    .mmb-public-teacher-training .mmb-tt-grid {
        grid-template-columns: 1fr;
    }

    .mmb-public-teacher-training .mmb-tt-grid-4 {
        grid-template-columns: 1fr;
    }

    .mmb-public-teaching-materials .mmb-tm-grid {
        grid-template-columns: 1fr;
    }

    .mmb-public-teaching-materials .mmb-tm-like-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mmb-public-teacher-training .mmb-tt-hero h1 {
        white-space: normal;
    }

    .mmb-public-teacher-training .mmb-tt-card h3 {
        font-size: 1.45rem;
    }

    .mmb-public-teacher-training .mmb-tt-price {
        font-size: 2.05rem;
    }

    .mmb-public-teacher-training .mmb-tt-cert-left h4 {
        font-size: 1.45rem;
    }

    .mmb-public-teacher-training .mmb-tt-cert-left p {
        font-size: 1rem;
    }

    .mmb-public-teacher-training .mmb-tt-cert-lock {
        min-width: 100%;
        font-size: 1rem;
        min-height: 56px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mmb-note-field .mmb-note {
        animation: none;
        opacity: 0.75;
    }
}

@media (max-width: 760px) {
    .mmb-public-topbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .mmb-public-auth {
        width: 100%;
    }

    .mmb-hero-actions .mmb-button,
    .mmb-public-auth .mmb-button,
    .mmb-public-login-strip .mmb-button,
    .mmb-public-teacher-training .mmb-tt-cta .mmb-button {
        width: 100%;
    }

    .mmb-public-teaching-materials .mmb-tm-like-grid {
        grid-template-columns: 1fr;
    }

    .mmb-home-stats {
        grid-template-columns: 1fr;
    }
}

/* teacher login redesign v2 */
.mmb-public-teacher-login {
    padding: 0;
    min-height: 100vh;
    background: #ddd9cf;
    font-family: "Literata", Georgia, serif;
}
.mmb-public-teacher-login .mmb-tl2-layout {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
}
.mmb-public-teacher-login .mmb-tl2-left {
    background: #06090d;
    color: #f2ede4;
    padding: 56px 52px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.mmb-public-teacher-login .mmb-tl2-mark {
    color: #fff;
    text-decoration: none;
    font-style: italic;
    font-size: 2.2rem;
}
.mmb-public-teacher-login .mmb-tl2-kicker {
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 0.76rem;
    letter-spacing: 0.42em;
    color: #a67b35;
    margin: 0 0 22px;
}
.mmb-public-teacher-login .mmb-tl2-copy h1 {
    margin: 0 0 16px;
    font-weight: 500;
    font-size: clamp(2.7rem, 4.9vw, 4.9rem);
    line-height: 1.06;
}
.mmb-public-teacher-login .mmb-tl2-copy h1 em,
.mmb-public-teacher-login .mmb-tl2-card h2 em {
    font-style: italic;
}
.mmb-public-teacher-login .mmb-tl2-copy > p {
    margin: 0;
    max-width: 650px;
    font-size: 1.55rem;
    line-height: 1.55;
}
.mmb-public-teacher-login .mmb-tl2-bottom,
.mmb-public-teacher-login .mmb-tl2-bottom-right {
    margin: 0;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 0.76rem;
    letter-spacing: 0.32em;
}
.mmb-public-teacher-login .mmb-tl2-bottom {
    color: #cfc2a4;
}
.mmb-public-teacher-login .mmb-tl2-bottom a {
    color: #b28336;
    text-decoration: underline;
    text-underline-offset: 0.24em;
}
.mmb-public-teacher-login .mmb-tl2-right {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 64px 72px;
}
.mmb-public-teacher-login .mmb-tl2-card {
    width: 100%;
    max-width: 500px;
}
.mmb-public-teacher-login .mmb-tl2-card h2 {
    margin: 0;
    font-weight: 500;
    font-size: clamp(2.4rem, 3.8vw, 4.1rem);
    line-height: 1.1;
    color: #0f192a;
}
.mmb-public-teacher-login .mmb-tl2-sub {
    margin: 10px 0 32px;
    font-size: 1.45rem;
    color: #3b4556;
}
.mmb-public-teacher-login form {
    display: block;
}
.mmb-public-teacher-login label {
    display: block;
    margin: 0 0 10px;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 0.76rem;
    letter-spacing: 0.34em;
    color: #213247;
    font-weight: 700;
}
.mmb-public-teacher-login input[type="text"],
.mmb-public-teacher-login input[type="password"] {
    width: 100%;
    border: 0;
    border-bottom: 1px solid #a6a297;
    border-radius: 0;
    background: transparent;
    padding: 9px 0 13px;
    margin: 0 0 28px;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 1.65rem;
    color: #4a4f79;
}
.mmb-public-teacher-login input:focus {
    outline: none;
    border-bottom-color: #111;
}
.mmb-public-teacher-login .mmb-button {
    width: 100%;
    min-height: 52px;
    border-radius: 0;
    background: #05080c;
    box-shadow: none;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 1rem;
    letter-spacing: 0.28em;
    margin-top: 4px;
}
.mmb-public-teacher-login .mmb-tl2-bottom-right {
    margin-top: 30px;
    color: #7c7465;
}
.mmb-public-teacher-login .mmb-tl2-bottom-right a {
    color: #334055;
    text-decoration: underline;
    text-underline-offset: 0.28em;
}
.mmb-public-teacher-login .mmb-login-error {
    margin: 0 0 16px;
    border-radius: 0;
    border: 1px solid #d18d92;
    background: #f8e6e7;
    color: #7d1a26;
    padding: 10px 12px;
    font-family: "Manrope", "Segoe UI", sans-serif;
    font-size: 0.88rem;
}
@media (max-width: 980px) {
    .mmb-public-teacher-login .mmb-tl2-layout {
        grid-template-columns: 1fr;
    }
    .mmb-public-teacher-login .mmb-tl2-left,
    .mmb-public-teacher-login .mmb-tl2-right {
        padding: 30px 20px;
    }
    .mmb-public-teacher-login .mmb-tl2-copy > p,
    .mmb-public-teacher-login .mmb-tl2-sub,
    .mmb-public-teacher-login input[type="text"],
    .mmb-public-teacher-login input[type="password"] {
        font-size: 1.2rem;
    }
}

/* teacher login right panel fine-tune */
.mmb-public-teacher-login .mmb-tl2-right .mmb-tl2-kicker {
    font-family: "Manrope", "Segoe UI", sans-serif !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.44em !important;
    color: #9f7637 !important;
}

.mmb-public-teacher-login .mmb-tl2-right h2 {
    font-family: "Literata", Georgia, serif !important;
    font-size: clamp(2.2rem, 3vw, 3.5rem) !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
    color: #111a2b !important;
}

.mmb-public-teacher-login .mmb-tl2-right h2 em {
    font-family: "Literata", Georgia, serif !important;
    font-style: italic !important;
    font-weight: 600 !important;
}

.mmb-public-teacher-login .mmb-tl2-right .mmb-tl2-sub {
    font-family: "Literata", Georgia, serif !important;
    font-style: italic !important;
    font-size: 1.1rem !important;
    line-height: 1.45 !important;
    color: #5a5f6e !important;
    margin-top: 12px !important;
    margin-bottom: 28px !important;
}

.mmb-public-teacher-login .mmb-tl2-right label {
    font-family: "Manrope", "Segoe UI", sans-serif !important;
    font-size: 0.69rem !important;
    letter-spacing: 0.4em !important;
    font-weight: 700 !important;
    color: #1f3045 !important;
    margin-bottom: 10px !important;
}

.mmb-public-teacher-login .mmb-tl2-right input[type="text"],
.mmb-public-teacher-login .mmb-tl2-right input[type="password"] {
    font-family: "Manrope", "Segoe UI", sans-serif !important;
    font-size: 1.85rem !important;
    line-height: 1.2 !important;
    font-weight: 500 !important;
    color: #4f547f !important;
    border-bottom: 1px solid #a8a398 !important;
    margin-bottom: 24px !important;
    padding: 9px 0 12px !important;
}

.mmb-public-teacher-login .mmb-tl2-right input::placeholder {
    color: #616795 !important;
    opacity: 1 !important;
}

.mmb-public-teacher-login .mmb-tl2-right .mmb-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 0 20px !important;
    border-radius: 0 !important;
    min-height: 48px !important;
    background: #03060a !important;
    box-shadow: none !important;
    border: 0 !important;
    font-family: "Manrope", "Segoe UI", sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.36em !important;
    text-transform: uppercase !important;
    margin-top: 0 !important;
}

.mmb-public-teacher-login .mmb-tl2-right .mmb-tl2-bottom-right {
    font-family: "Manrope", "Segoe UI", sans-serif !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.34em !important;
    margin-top: 24px !important;
}

/* teacher login final visual system */
.mmb-public-teacher-login {
    background: #dcd8ce !important;
    color: #0f1828;
}
.mmb-public-teacher-login .mmb-tl2-layout {
    grid-template-columns: 53% 47% !important;
}
.mmb-public-teacher-login .mmb-tl2-left {
    background: #05080c !important;
    color: #f2ece1 !important;
    padding: 52px 50px 44px !important;
}
.mmb-public-teacher-login .mmb-tl2-mark {
    font-family: Georgia, "Times New Roman", serif !important;
    font-style: italic !important;
    font-size: 2rem !important;
    color: #f7f2e8 !important;
}
.mmb-public-teacher-login .mmb-tl2-kicker {
    font-family: "Segoe UI", Arial, sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.42em !important;
    text-transform: uppercase !important;
}
.mmb-public-teacher-login .mmb-tl2-left .mmb-tl2-kicker {
    color: #a77a35 !important;
}
.mmb-public-teacher-login .mmb-tl2-copy h1 {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(3rem, 4.8vw, 4.8rem) !important;
    line-height: 1.04 !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 18px !important;
}
.mmb-public-teacher-login .mmb-tl2-copy h1 em {
    font-style: italic !important;
}
.mmb-public-teacher-login .mmb-tl2-copy > p {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 1.12rem !important;
    line-height: 1.65 !important;
    color: #ece4d6 !important;
    max-width: 560px !important;
}
.mmb-public-teacher-login .mmb-tl2-bottom {
    color: #c8bc9f !important;
}
.mmb-public-teacher-login .mmb-tl2-bottom a {
    color: #b9893a !important;
}
.mmb-public-teacher-login .mmb-tl2-right {
    padding: 62px 78px !important;
}
.mmb-public-teacher-login .mmb-tl2-card {
    max-width: 520px !important;
}
.mmb-public-teacher-login .mmb-tl2-right .mmb-tl2-kicker {
    color: #a17733 !important;
}
.mmb-public-teacher-login .mmb-tl2-right h2 {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(2.6rem, 3.6vw, 4rem) !important;
    line-height: 1.08 !important;
    color: #11192a !important;
}
.mmb-public-teacher-login .mmb-tl2-right h2 em {
    font-style: italic !important;
    font-weight: 600 !important;
}
.mmb-public-teacher-login .mmb-tl2-right .mmb-tl2-sub {
    font-family: Georgia, "Times New Roman", serif !important;
    font-style: italic !important;
    font-size: 1.65rem !important;
    color: #50586a !important;
    margin: 10px 0 30px !important;
}
.mmb-public-teacher-login .mmb-tl2-right label {
    color: #23344a !important;
}
.mmb-public-teacher-login .mmb-tl2-right input[type="text"],
.mmb-public-teacher-login .mmb-tl2-right input[type="password"] {
    font-family: "Segoe UI", Arial, sans-serif !important;
    font-size: 1.85rem !important;
    color: #565c86 !important;
    border-bottom: 1px solid #a9a496 !important;
    background: transparent !important;
}
.mmb-public-teacher-login .mmb-tl2-right input::placeholder {
    color: #656c96 !important;
}
.mmb-public-teacher-login .mmb-tl2-right .mmb-button {
    background: #04070b !important;
    color: #f2ede4 !important;
    min-height: 50px !important;
    font-size: 12px !important;
    letter-spacing: 0.32em !important;
}
.mmb-public-teacher-login .mmb-tl2-bottom-right {
    color: #7c7464 !important;
}
.mmb-public-teacher-login .mmb-tl2-bottom-right a {
    color: #2f3d53 !important;
}

/* teacher login pixel match final */
body.mmb-public-teacher-login-page .mmb-public-teacher-login {
  background:#ddd9cf !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-layout{
  min-height:100vh !important;
  grid-template-columns:50.8% 49.2% !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-left{
  padding:64px 50px 54px !important;
  background:#010408 !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-mark{
  font-size:40px !important;
  line-height:1 !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-copy{
  margin-top:40px !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-copy h1{
  font-size:62px !important;
  line-height:1.03 !important;
  margin-bottom:20px !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-copy>p{
  font-size:37px !important;
  line-height:1.55 !important;
  max-width:690px !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-bottom{
  margin-top:20px !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right{
  padding:74px 108px 64px 84px !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-card{
  max-width:560px !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right h2{
  font-size:61px !important;
  line-height:1.02 !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right .mmb-tl2-sub{
  font-size:37px !important;
  line-height:1.4 !important;
  margin:10px 0 34px !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right label{
  font-size:13px !important;
  letter-spacing:.42em !important;
  margin-bottom:12px !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right input[type="text"],
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right input[type="password"]{
  font-size:36px !important;
  line-height:1.2 !important;
  margin-bottom:30px !important;
  padding:8px 0 12px !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right .mmb-button{
  min-height:56px !important;
  font-size:18px !important;
  letter-spacing:.34em !important;
}
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-bottom-right{
  margin-top:36px !important;
}
@media (max-width:980px){
  body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-layout{grid-template-columns:1fr!important}
  body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-left,
  body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right{padding:28px 20px!important}
  body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-copy h1{font-size:42px!important}
  body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-copy>p,
  body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right .mmb-tl2-sub,
  body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right input[type="text"],
  body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right input[type="password"]{font-size:22px!important}
}

/* teacher login clean final system */
body.mmb-public-teacher-login-page .mmb-public-teacher-login,
body.mmb-public-teacher-login-page .mmb-public-teacher-login * {
  box-sizing: border-box;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login {
  background: #ddd9cf !important;
  color: #11192a !important;
  padding: 0 !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-layout {
  min-height: 100vh !important;
  display: grid !important;
  grid-template-columns: 51% 49% !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-left {
  background: #02060b !important;
  color: #f2ede3 !important;
  padding: 56px 50px 44px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-mark {
  font-family: Georgia, "Times New Roman", serif !important;
  font-style: italic !important;
  font-size: 34px !important;
  color: #f7f2e8 !important;
  text-decoration: none !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-kicker {
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.42em !important;
  text-transform: uppercase !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-left .mmb-tl2-kicker {
  color: #a67b36 !important;
  margin-bottom: 22px !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-copy h1 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  font-size: clamp(42px, 4.3vw, 64px) !important;
  line-height: 1.05 !important;
  margin: 0 0 18px !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-copy h1 em {
  font-style: italic !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-copy > p {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(18px, 1.22vw, 24px) !important;
  line-height: 1.62 !important;
  color: #e9e1d3 !important;
  margin: 0 !important;
  max-width: 650px !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-bottom {
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.34em !important;
  color: #c8bc9f !important;
  margin: 0 !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-bottom a {
  color: #b8893a !important;
  text-decoration: underline !important;
  text-underline-offset: 0.26em !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right {
  background: #ddd9cf !important;
  padding: 64px 82px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-card {
  width: 100% !important;
  max-width: 560px !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right .mmb-tl2-kicker {
  color: #9f7636 !important;
  margin-bottom: 18px !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right h2 {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(44px, 3.7vw, 62px) !important;
  line-height: 1.05 !important;
  font-weight: 500 !important;
  color: #0f1828 !important;
  margin: 0 !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right h2 em {
  font-style: italic !important;
  font-weight: 600 !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right .mmb-tl2-sub {
  font-family: Georgia, "Times New Roman", serif !important;
  font-style: italic !important;
  font-size: clamp(18px, 1.3vw, 26px) !important;
  line-height: 1.4 !important;
  color: #4f5869 !important;
  margin: 10px 0 30px !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right label {
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.42em !important;
  color: #25354a !important;
  margin: 0 0 10px !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right input[type="text"],
body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right input[type="password"] {
  width: 100% !important;
  border: 0 !important;
  border-bottom: 1px solid #a8a397 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #585f88 !important;
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(22px, 1.85vw, 34px) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  padding: 8px 0 12px !important;
  margin: 0 0 28px !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right input::placeholder {
  color: #616894 !important;
  opacity: 1 !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right .mmb-button {
  width: 100% !important;
  min-height: 48px !important;
  border-radius: 0 !important;
  border: 0 !important;
  background: #04070b !important;
  color: #f3eee4 !important;
  box-shadow: none !important;
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.34em !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-top: 0 !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-bottom-right {
  margin-top: 32px !important;
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.34em !important;
  color: #7c7364 !important;
}

body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-bottom-right a {
  color: #2f3d53 !important;
  text-decoration: underline !important;
  text-underline-offset: 0.28em !important;
}

@media (max-width: 980px) {
  body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-layout {
    grid-template-columns: 1fr !important;
  }

  body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-left,
  body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-right {
    padding: 28px 20px !important;
  }

  body.mmb-public-teacher-login-page .mmb-public-teacher-login .mmb-tl2-copy h1 {
    font-size: 42px !important;
  }
}

/* teacher module unified theme across public pages */
body.mmb-public-home-page,
body.mmb-public-teaching-materials-page,
body.mmb-public-teacher-training-page,
body.mmb-public-pricing-page,
body.mmb-admin-login-page,
body.mmb-public-teacher-login-page {
    background: #ddd9cf !important;
    color: #121b2b !important;
}

body.mmb-public-home-page .mmb-public-shell,
body.mmb-public-teaching-materials-page .mmb-public-shell,
body.mmb-public-teacher-training-page .mmb-public-shell,
body.mmb-public-pricing-page .mmb-public-shell {
    max-width: 1320px;
}

body.mmb-public-home-page .mmb-public-topbar,
body.mmb-public-teaching-materials-page .mmb-public-topbar,
body.mmb-public-teacher-training-page .mmb-public-topbar,
body.mmb-public-pricing-page .mmb-public-topbar {
    padding: 12px 0 16px;
    border-bottom: 1px solid #cbc3b2;
}

body.mmb-public-home-page .mmb-brand,
body.mmb-public-teaching-materials-page .mmb-brand,
body.mmb-public-teacher-training-page .mmb-brand,
body.mmb-public-pricing-page .mmb-brand {
    color: #121b2b;
}

body.mmb-public-home-page .mmb-brand-icon,
body.mmb-public-teaching-materials-page .mmb-brand-icon,
body.mmb-public-teacher-training-page .mmb-brand-icon,
body.mmb-public-pricing-page .mmb-brand-icon {
    background: #111a2a;
    color: #dfd7c8;
}

body.mmb-public-home-page .mmb-brand-text,
body.mmb-public-teaching-materials-page .mmb-brand-text,
body.mmb-public-teacher-training-page .mmb-brand-text,
body.mmb-public-pricing-page .mmb-brand-text {
    font-size: 1.36rem;
    font-weight: 900;
}

body.mmb-public-home-page .mmb-public-nav a,
body.mmb-public-teaching-materials-page .mmb-public-nav a,
body.mmb-public-teacher-training-page .mmb-public-nav a,
body.mmb-public-pricing-page .mmb-public-nav a {
    color: #2a3447;
    font-weight: 800;
}

body.mmb-public-home-page .mmb-public-nav a.is-active,
body.mmb-public-teaching-materials-page .mmb-public-nav a.is-active,
body.mmb-public-teacher-training-page .mmb-public-nav a.is-active,
body.mmb-public-pricing-page .mmb-public-nav a.is-active {
    background: #111a2a;
    color: #eee6d8;
}

body.mmb-public-home-page .mmb-link,
body.mmb-public-teaching-materials-page .mmb-link,
body.mmb-public-teacher-training-page .mmb-link,
body.mmb-public-pricing-page .mmb-link {
    color: #2a3447;
}

body.mmb-public-home-page .mmb-button,
body.mmb-public-teaching-materials-page .mmb-button,
body.mmb-public-teacher-training-page .mmb-button,
body.mmb-public-pricing-page .mmb-button {
    border-radius: 0;
    background: #111a2a;
    color: #efe8da;
    box-shadow: none;
    font-size: 0.82rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body.mmb-public-home-page .mmb-button-ghost,
body.mmb-public-teaching-materials-page .mmb-button-ghost,
body.mmb-public-teacher-training-page .mmb-button-ghost,
body.mmb-public-pricing-page .mmb-button-ghost {
    background: transparent;
    border: 1px solid #121b2b;
    color: #121b2b;
}

body.mmb-public-home-page .mmb-chip,
body.mmb-public-teaching-materials-page .mmb-chip,
body.mmb-public-teacher-training-page .mmb-chip {
    background: #e4ddcf;
    color: #6f5328;
}

body.mmb-public-home-page h1,
body.mmb-public-teaching-materials-page h1,
body.mmb-public-teacher-training-page h1,
body.mmb-public-pricing-page h1,
body.mmb-public-home-page h2,
body.mmb-public-teaching-materials-page h2,
body.mmb-public-teacher-training-page h2,
body.mmb-public-pricing-page h2,
body.mmb-public-home-page h3,
body.mmb-public-teaching-materials-page h3,
body.mmb-public-teacher-training-page h3,
body.mmb-public-pricing-page h3 {
    font-family: "Literata", Georgia, serif;
    color: #121b2b;
}

body.mmb-public-home-page p,
body.mmb-public-teaching-materials-page p,
body.mmb-public-teacher-training-page p,
body.mmb-public-pricing-page p,
body.mmb-public-home-page span,
body.mmb-public-teaching-materials-page span,
body.mmb-public-teacher-training-page span,
body.mmb-public-pricing-page span,
body.mmb-public-home-page a,
body.mmb-public-teaching-materials-page a,
body.mmb-public-teacher-training-page a,
body.mmb-public-pricing-page a {
    font-family: "Manrope", "Segoe UI", sans-serif;
}

body.mmb-public-home-page .mmb-hero-art,
body.mmb-public-home-page .mmb-mini-piano,
body.mmb-public-home-page .mmb-public-card,
body.mmb-public-home-page .mmb-home-stats,
body.mmb-public-home-page .mmb-public-login-strip,
body.mmb-public-teaching-materials-page .mmb-tm-card,
body.mmb-public-teaching-materials-page .mmb-tm-like-card,
body.mmb-public-teacher-training-page .mmb-tt-shell,
body.mmb-public-teacher-training-page .mmb-tt-card,
body.mmb-public-pricing-page .mmb-pricing-card {
    background: #f6f3eb !important;
    border-color: #cbc3b2 !important;
    box-shadow: none !important;
}

body.mmb-public-home-page .mmb-home-stats,
body.mmb-public-home-page .mmb-public-login-strip,
body.mmb-public-pricing-page .mmb-pricing-card-featured,
body.mmb-public-teacher-training-page .mmb-tt-cert-row {
    background: #ece5d7 !important;
}

body.mmb-public-home-page .mmb-public-footer,
body.mmb-public-teaching-materials-page .mmb-public-footer,
body.mmb-public-teacher-training-page .mmb-public-footer {
    border-top: 1px solid #cbc3b2;
}

body.mmb-public-home-page .mmb-public-footer p,
body.mmb-public-home-page .mmb-public-footer a,
body.mmb-public-teaching-materials-page .mmb-public-footer p,
body.mmb-public-teaching-materials-page .mmb-public-footer a,
body.mmb-public-teacher-training-page .mmb-public-footer p,
body.mmb-public-teacher-training-page .mmb-public-footer a,
body.mmb-public-home-page .mmb-public-copy {
    color: #4e586b;
}

body.mmb-public-home-page .mmb-public-card a,
body.mmb-public-teaching-materials-page .mmb-tm-like-card a,
body.mmb-public-teacher-training-page .mmb-tt-price,
body.mmb-public-pricing-page .mmb-price {
    color: #121b2b !important;
}
