        :root {
            --ela-bg: #f7f8fc;
            --ela-bg-soft: #f1f3f9;
            --ela-surface: #ffffff;
            --ela-surface-soft: #fbfaff;
            --ela-band: #ffffff;
            --ela-text: #171b34;
            --ela-muted: #737996;
            --ela-line: #e6e7f2;
            --ela-primary: #5a55e8;
            --ela-primary-strong: #4236cf;
            --ela-secondary: #b45bec;
            --ela-mint: #dff7ef;
            --ela-sky: #e4f2ff;
            --ela-peach: #ffe9df;
            --ela-yellow: #fff3cf;
            --ela-lavender: #eee8ff;
            --ela-rose: #ffe6ee;
            --ela-radius-sm: 12px;
            --ela-radius-md: 16px;
            --ela-radius-lg: 24px;
            --ela-shadow-soft: 0 8px 24px rgba(36, 39, 84, 0.055);
            --ela-shadow-panel: 0 14px 36px rgba(42, 42, 88, 0.075);
            --ela-page-end: #f7f8fc;
            --ela-header: rgba(255, 255, 255, 0.96);
            --ela-control: #ffffff;
            --mw-container-max: 1280px;
            --mw-page-gutter: 52px;
            --mw-grid-gap: 24px;
            --mw-section-space: 72px;
        }

        html[data-layout-mode="dark"] {
            color-scheme: dark;
            --ela-bg: #111427;
            --ela-bg-soft: #171b31;
            --ela-surface: #1b2038;
            --ela-surface-soft: #202641;
            --ela-band: #171b31;
            --ela-text: #f5f4ff;
            --ela-muted: #aeb4d0;
            --ela-line: rgba(227, 229, 255, 0.13);
            --ela-primary: #8e87ff;
            --ela-primary-strong: #b2adff;
            --ela-secondary: #d986ff;
            --ela-mint: #14392f;
            --ela-sky: #17334f;
            --ela-peach: #432821;
            --ela-yellow: #403314;
            --ela-lavender: #2b2547;
            --ela-rose: #452234;
            --ela-shadow-soft: 0 18px 40px rgba(0, 0, 0, 0.28);
            --ela-shadow-panel: 0 20px 48px rgba(0, 0, 0, 0.34);
            --ela-page-end: #0d1020;
            --ela-header: rgba(17, 20, 39, 0.96);
            --ela-control: #1b2038;
        }

        * {
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            margin: 0;
            background: var(--ela-bg);
            color: var(--ela-text);
            font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            letter-spacing: 0;
        }

        a {
            color: inherit;
            text-decoration: none;
        }

        .mw-page {
            min-height: 100vh;
            overflow-x: clip;
        }

        .mw-header {
            position: sticky;
            top: 0;
            z-index: 50;
            border-bottom: 1px solid rgba(42, 45, 80, 0.09);
            background: var(--ela-header);
            box-shadow: 0 8px 28px rgba(35, 39, 75, 0.05);
            backdrop-filter: blur(14px);
        }

        .mw-nav,
        .mw-section {
            width: min(var(--mw-container-max), calc(100% - (var(--mw-page-gutter) * 2)));
            margin: 0 auto;
        }

        .mw-nav {
            position: relative;
            min-height: 68px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 40px;
            padding: 0;
        }

        .mw-nav-primary {
            min-width: 0;
            display: flex;
            align-items: center;
            gap: 46px;
        }

        .mw-logo {
            display: inline-flex;
            align-items: center;
            min-width: 156px;
        }

        .mw-logo img {
            display: block;
            width: 156px;
            height: auto;
        }

        .mw-links {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            gap: 28px;
            flex: 0 1 auto;
            padding: 0;
            background: transparent;
            color: color-mix(in srgb, var(--ela-text) 76%, var(--ela-muted));
            font-size: 14px;
            font-weight: 460;
        }

        .mw-link {
            position: relative;
            display: inline-flex;
            align-items: center;
            min-height: 68px;
            padding: 0;
            border-radius: 0;
            white-space: nowrap;
            transition: color 160ms ease;
        }

        .mw-link::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 2px;
            background: var(--ela-primary);
            transform: scaleX(0);
            transform-origin: center;
            transition: transform 160ms ease;
        }

        .mw-link:hover,
        .mw-link.is-active {
            color: var(--ela-primary-strong);
        }

        .mw-link:hover::after,
        .mw-link:focus-visible::after,
        .mw-link.is-active::after {
            transform: scaleX(1);
        }

        .mw-nav-actions {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 8px;
            flex: 0 0 auto;
        }

        .mw-preferences {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-right: 2px;
        }

        .mw-preference {
            position: relative;
        }

        .mw-icon-control,
        .mw-preference summary {
            width: 42px;
            height: 42px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0;
            border: 1px solid var(--ela-line);
            border-radius: 50%;
            color: color-mix(in srgb, var(--ela-text) 78%, var(--ela-muted));
            background: var(--ela-control);
            cursor: pointer;
            list-style: none;
            transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
        }

        .mw-icon-control:hover,
        .mw-preference summary:hover {
            border-color: color-mix(in srgb, var(--ela-primary) 34%, var(--ela-line));
            color: var(--ela-primary-strong);
            background: color-mix(in srgb, var(--ela-lavender) 28%, var(--ela-control));
        }

        .mw-icon-control:focus-visible,
        .mw-preference summary:focus-visible {
            outline: 3px solid color-mix(in srgb, var(--ela-primary) 22%, transparent);
            outline-offset: 2px;
        }

        .mw-preference summary::-webkit-details-marker {
            display: none;
        }

        .mw-language-button img {
            width: 22px;
            height: 22px;
            display: block;
            border-radius: 50%;
        }

        .mw-language-menu {
            position: absolute;
            top: calc(100% + 10px);
            right: 0;
            z-index: 60;
            width: 164px;
            display: grid;
            gap: 4px;
            padding: 7px;
            border: 1px solid var(--ela-line);
            border-radius: 10px;
            background: var(--ela-control);
            box-shadow: var(--ela-shadow-panel);
        }

        .mw-language-menu a {
            min-height: 40px;
            display: grid;
            grid-template-columns: 22px minmax(0, 1fr);
            align-items: center;
            gap: 10px;
            padding: 0 10px;
            border-radius: 7px;
            color: color-mix(in srgb, var(--ela-text) 84%, var(--ela-muted));
            font-size: 13.5px;
            font-weight: 500;
        }

        .mw-language-menu a:hover,
        .mw-language-menu a.is-active {
            color: var(--ela-primary-strong);
            background: color-mix(in srgb, var(--ela-lavender) 42%, var(--ela-control));
        }

        .mw-language-menu img {
            width: 22px;
            height: 22px;
            border-radius: 50%;
        }

        .mw-theme-toggle {
            font-size: 19px;
        }

        .mw-theme-dark,
        html[data-layout-mode="dark"] .mw-theme-light {
            display: none;
        }

        html[data-layout-mode="dark"] .mw-theme-dark {
            display: inline-block;
        }

        .mw-nav-login {
            min-height: 42px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0 15px;
            border: 1px solid var(--ela-line);
            border-radius: 14px;
            color: var(--ela-text);
            background: var(--ela-control);
            font-size: 14px;
            font-weight: 520;
        }

        .mw-nav-login:hover {
            color: var(--ela-primary-strong);
        }

        .mw-nav-actions.is-auth .mw-app-entry {
            order: 1;
            margin-right: 6px;
        }

        .mw-nav-actions.is-auth .mw-preferences {
            order: 2;
            margin-right: 0;
        }

        .mw-nav-actions.is-auth .mw-account {
            order: 3;
        }

        .mw-nav-cta,
        .mw-app-entry {
            min-height: 42px;
            border-radius: 8px;
            box-shadow: none;
        }

        .mw-nav-cta {
            background: var(--ela-primary);
        }

        .mw-nav-cta:hover {
            background: var(--ela-primary-strong);
        }

        .mw-app-entry {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 7px;
            min-height: 36px;
            padding: 0 9px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 12%, var(--ela-line));
            border-radius: 8px;
            color: color-mix(in srgb, var(--ela-text) 82%, var(--ela-muted));
            background: color-mix(in srgb, var(--ela-lavender) 20%, var(--ela-control));
            font-size: 13.5px;
            font-weight: 500;
            transition: color 160ms ease, background 160ms ease;
        }

        .mw-app-entry i {
            font-size: 15px;
        }

        .mw-app-entry:hover {
            border-color: color-mix(in srgb, var(--ela-primary) 30%, var(--ela-line));
            color: var(--ela-primary-strong);
            background: color-mix(in srgb, var(--ela-lavender) 38%, var(--ela-control));
        }

        .mw-account {
            position: relative;
        }

        .mw-account summary {
            width: 42px;
            height: 42px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 18%, var(--ela-line));
            border-radius: 50%;
            color: var(--ela-primary-strong);
            background: color-mix(in srgb, var(--ela-lavender) 54%, var(--ela-control));
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            list-style: none;
        }

        .mw-account summary::-webkit-details-marker {
            display: none;
        }

        .mw-account summary:focus-visible {
            outline: 3px solid color-mix(in srgb, var(--ela-primary) 22%, transparent);
            outline-offset: 2px;
        }

        .mw-account summary img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
        }

        .mw-account summary.has-image {
            border-color: transparent;
            background: transparent;
        }

        .mw-account-menu {
            position: absolute;
            top: calc(100% + 12px);
            right: 0;
            width: 220px;
            padding: 8px;
            border: 1px solid var(--ela-line);
            border-radius: 12px;
            background: var(--ela-control);
            box-shadow: 0 18px 44px rgba(42, 42, 88, 0.12);
        }

        .mw-account-name {
            display: block;
            overflow: hidden;
            padding: 10px 12px 12px;
            border-bottom: 1px solid var(--ela-line);
            color: var(--ela-text);
            font-size: 13px;
            font-weight: 560;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .mw-account-menu a,
        .mw-account-menu button {
            width: 100%;
            min-height: 40px;
            display: flex;
            align-items: center;
            gap: 9px;
            padding: 0 12px;
            border: 0;
            border-radius: 8px;
            color: color-mix(in srgb, var(--ela-text) 82%, var(--ela-muted));
            background: transparent;
            font: inherit;
            font-size: 13.5px;
            font-weight: 500;
            text-align: left;
            cursor: pointer;
        }

        .mw-account-menu a i,
        .mw-account-menu button i {
            flex: 0 0 auto;
            color: var(--ela-muted);
            font-size: 16px;
        }

        .mw-account-menu a span,
        .mw-account-menu button span {
            min-width: 0;
        }

        .mw-account-menu a:hover,
        .mw-account-menu button:hover {
            color: var(--ela-primary-strong);
            background: color-mix(in srgb, var(--ela-lavender) 44%, var(--ela-control));
        }

        .mw-account-menu a:hover i,
        .mw-account-menu button:hover i {
            color: var(--ela-primary-strong);
        }

        .mw-account-menu a.mw-account-name {
            min-height: auto;
            display: block;
            padding: 10px 12px 12px;
            border-radius: 0;
            border-bottom: 1px solid var(--ela-line);
            color: var(--ela-text);
        }

        .mw-account-menu a.mw-account-name:hover {
            color: var(--ela-primary-strong);
            background: transparent;
        }

        .mw-account-menu form {
            margin: 0;
        }

        .mw-account-menu .mw-account-app-link {
            display: none;
        }

        .mw-mobile-navigation {
            position: static;
            display: none;
        }

        .mw-mobile-navigation > summary {
            width: 42px;
            height: 42px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid transparent;
            border-radius: 50%;
            color: color-mix(in srgb, var(--ela-text) 82%, var(--ela-muted));
            background: transparent;
            cursor: pointer;
            list-style: none;
        }

        .mw-mobile-navigation > summary::-webkit-details-marker {
            display: none;
        }

        .mw-mobile-navigation > summary i {
            font-size: 20px;
        }

        .mw-mobile-navigation > summary:hover,
        .mw-mobile-navigation[open] > summary {
            color: var(--ela-primary-strong);
            background: color-mix(in srgb, var(--ela-lavender) 44%, transparent);
        }

        .mw-mobile-navigation .mw-mobile-close-icon,
        .mw-mobile-navigation[open] .mw-mobile-menu-icon {
            display: none;
        }

        .mw-mobile-navigation[open] .mw-mobile-close-icon {
            display: inline-block;
        }

        .mw-mobile-menu {
            position: absolute;
            top: calc(100% + 12px);
            left: 0;
            width: min(360px, calc(100vw - (var(--mw-page-gutter) * 2)));
            padding: 10px;
            border: 1px solid var(--ela-line);
            border-radius: 12px;
            background: var(--ela-control);
            box-shadow: var(--ela-shadow-panel);
        }

        .mw-mobile-menu-links {
            display: grid;
        }

        .mw-mobile-menu-links a,
        .mw-mobile-login {
            min-height: 46px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding: 0 12px;
            border-radius: 8px;
            color: color-mix(in srgb, var(--ela-text) 84%, var(--ela-muted));
            font-size: 14px;
            font-weight: 500;
        }

        .mw-mobile-menu-links a:hover,
        .mw-mobile-login:hover {
            color: var(--ela-primary-strong);
            background: color-mix(in srgb, var(--ela-lavender) 34%, var(--ela-control));
        }

        .mw-mobile-menu-links a.is-active {
            color: var(--ela-primary-strong);
            background: color-mix(in srgb, var(--ela-lavender) 42%, var(--ela-control));
        }

        .mw-mobile-menu-links a i {
            color: var(--ela-muted);
            font-size: 17px;
        }

        .mw-mobile-menu-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            margin-top: 8px;
            padding: 10px 4px 2px;
            border-top: 1px solid var(--ela-line);
        }

        .mw-mobile-menu-tools {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-left: auto;
        }

        .mw-mobile-language-link {
            width: 38px;
            height: 38px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--ela-line);
            border-radius: 50%;
            background: var(--ela-control);
        }

        .mw-mobile-language-link.is-active {
            border-color: color-mix(in srgb, var(--ela-primary) 46%, var(--ela-line));
            background: color-mix(in srgb, var(--ela-lavender) 38%, var(--ela-control));
        }

        .mw-mobile-language-link img {
            width: 21px;
            height: 21px;
            border-radius: 50%;
        }

        .mw-mobile-menu-footer .mw-theme-toggle {
            width: 38px;
            height: 38px;
        }

        .mw-nav-label-short {
            display: none;
        }

        .mw-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 46px;
            padding: 0 18px;
            border: 1px solid transparent;
            border-radius: 14px;
            color: #ffffff;
            background: linear-gradient(135deg, var(--ela-primary), var(--ela-secondary));
            box-shadow: 0 12px 28px rgba(90, 85, 232, 0.12);
            font-size: 14px;
            font-weight: 540;
            line-height: 1.2;
            cursor: pointer;
            transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
        }

        .mw-button:hover {
            transform: translateY(-1px);
            background: linear-gradient(135deg, var(--ela-primary-strong), var(--ela-secondary));
        }

        .mw-button.secondary {
            color: var(--ela-primary-strong);
            background: rgba(255, 255, 255, 0.82);
            border-color: color-mix(in srgb, var(--ela-primary) 18%, var(--ela-line));
            box-shadow: none;
        }

        .mw-button.muted {
            color: var(--ela-muted);
            background: rgba(255, 255, 255, 0.7);
            border-color: var(--ela-line);
            box-shadow: none;
        }

        @media (min-width: 641px) {
            .mw-nav-cta {
                min-height: 42px;
            }
        }

        .mw-hero {
            position: relative;
            width: 100%;
            height: clamp(520px, calc(100svh - 84px), 640px);
            min-height: 520px;
            display: flex;
            align-items: stretch;
            margin-top: 0;
            padding: 0;
            background:
                linear-gradient(180deg, rgba(241, 245, 255, 0.96) 0%, rgba(248, 247, 255, 0.88) 80%, rgba(248, 247, 255, 0) 100%);
        }

        .mw-hero-panel {
            position: relative;
            width: 100%;
            height: 100%;
            min-height: 520px;
            margin: 0 auto;
            display: block;
            overflow: hidden;
            border: 0;
            border-radius: 0;
            background:
                linear-gradient(105deg, color-mix(in srgb, var(--ela-lavender) 46%, var(--ela-surface)) 0%, color-mix(in srgb, var(--ela-sky) 30%, var(--ela-surface)) 62%, color-mix(in srgb, var(--ela-peach) 20%, var(--ela-surface)) 100%);
            box-shadow: none;
        }

        .mw-hero-copy {
            position: relative;
            z-index: 2;
            width: min(var(--mw-container-max), calc(100% - (var(--mw-page-gutter) * 2)));
            height: 100%;
            min-height: 520px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 0 0 24px;
        }

        .mw-heading {
            max-width: 590px;
            margin: 0;
            color: var(--ela-text);
            font-size: clamp(40px, 3.35vw, 46px);
            line-height: 1.1;
            font-weight: 460;
            letter-spacing: 0;
        }

        .mw-heading .accent {
            color: var(--ela-primary);
        }

        .mw-copy {
            max-width: 530px;
            margin: 20px 0 0;
            color: color-mix(in srgb, var(--ela-text) 68%, var(--ela-muted));
            font-size: 16px;
            line-height: 1.62;
            font-weight: 420;
        }

        .mw-cta-row {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 12px;
            margin-top: 24px;
        }

        .mw-cta-row .mw-button {
            min-height: 44px;
            border-radius: 8px;
        }

        .mw-trial-note {
            max-width: 520px;
            display: flex;
            align-items: flex-start;
            gap: 8px;
            margin-top: 18px;
            color: color-mix(in srgb, var(--ela-text) 58%, var(--ela-muted));
            font-size: 14px;
            line-height: 1.5;
            font-weight: 430;
        }

        .mw-trial-note span:first-child {
            color: var(--ela-primary);
        }

        .mw-hero-art {
            position: absolute;
            inset: 0;
            z-index: 1;
            overflow: hidden;
        }

        .mw-hero-art::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 2;
            background:
                linear-gradient(90deg, rgba(247, 242, 255, 0.98) 0%, rgba(247, 242, 255, 0.9) 34%, rgba(247, 242, 255, 0.18) 62%, rgba(247, 242, 255, 0) 100%),
                linear-gradient(180deg, rgba(247, 242, 255, 0.02) 0%, rgba(247, 242, 255, 0.28) 100%);
            pointer-events: none;
        }

        .mw-hero-art img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            object-position: center;
        }

        .mw-hero-image-dark {
            display: none !important;
        }

        .mw-visual-note {
            position: absolute;
            right: clamp(18px, 3vw, 34px);
            bottom: clamp(38px, 6vw, 72px);
            z-index: 3;
            max-width: 270px;
            padding: 13px 15px;
            border: 1px solid rgba(255, 255, 255, 0.68);
            border-radius: 18px;
            color: color-mix(in srgb, var(--ela-text) 76%, var(--ela-muted));
            background: rgba(255, 255, 255, 0.7);
            backdrop-filter: blur(12px);
            display: none;
            font-size: 13px;
            line-height: 1.42;
            font-weight: 430;
        }

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

        .mw-route {
            position: relative;
            width: 100%;
            min-height: 132px;
            display: grid;
            grid-template-columns: 84px minmax(0, 1fr) 22px;
            gap: 16px;
            align-items: stretch;
            padding: 14px;
            overflow: hidden;
            border: 1px solid var(--ela-line);
            border-radius: var(--ela-radius-md);
            background: color-mix(in srgb, var(--ela-surface) 90%, var(--ela-bg-soft));
            color: inherit;
            font: inherit;
            text-align: left;
            cursor: pointer;
            appearance: none;
            box-shadow: var(--ela-shadow-soft);
            transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
        }

        .mw-route:nth-child(1) {
            background: color-mix(in srgb, var(--ela-sky) 58%, var(--ela-surface));
        }

        .mw-route:nth-child(2) {
            background: color-mix(in srgb, var(--ela-mint) 56%, var(--ela-surface));
        }

        .mw-route:nth-child(3) {
            background: color-mix(in srgb, var(--ela-lavender) 58%, var(--ela-surface));
        }

        .mw-route:hover,
        .mw-route:focus-visible,
        .mw-route.is-selected {
            border-color: color-mix(in srgb, var(--ela-primary) 34%, var(--ela-line));
            outline: none;
            transform: translateY(-2px);
            box-shadow: var(--ela-shadow-panel);
        }

        .mw-route.is-selected {
            box-shadow: 0 0 0 2px color-mix(in srgb, var(--ela-primary) 42%, transparent), var(--ela-shadow-soft);
        }

        .mw-route.is-selected .mw-route-action {
            color: var(--ela-primary-strong);
        }

        .mw-route-media {
            width: 84px;
            height: 84px;
            min-width: 0;
            align-self: center;
            overflow: hidden;
            border-radius: 50%;
            border: 3px solid color-mix(in srgb, var(--ela-surface) 88%, transparent);
            background: color-mix(in srgb, var(--ela-surface) 70%, transparent);
            box-shadow: 0 8px 24px color-mix(in srgb, var(--ela-text) 7%, transparent);
        }

        .mw-route-media img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            object-position: center top;
            transition: transform 260ms ease;
        }

        .mw-route-copy {
            position: relative;
            min-width: 0;
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 4px 0;
        }

        .mw-route-action {
            align-self: center;
            justify-self: end;
            color: color-mix(in srgb, var(--ela-primary) 82%, var(--ela-muted));
            font-size: 19px;
            transition: transform 160ms ease;
        }

        .mw-route:hover .mw-route-action,
        .mw-route:focus-visible .mw-route-action {
            transform: translateX(3px);
        }

        .mw-route h3,
        .mw-section-head h2,
        .mw-problem h3,
        .mw-method-card h3,
        .mw-faq h3 {
            color: var(--ela-text);
            letter-spacing: 0;
        }

        .mw-route h3 {
            margin: 0 0 6px;
            font-size: 18px;
            line-height: 1.18;
            font-weight: 520;
        }

        .mw-route p {
            margin: 0;
            color: color-mix(in srgb, var(--ela-text) 68%, var(--ela-muted));
            font-size: 14px;
            line-height: 1.42;
            font-weight: 420;
        }

        .mw-route-guidance-wrap {
            display: flex;
            justify-content: center;
            margin-top: 20px;
        }

        .mw-route-guidance {
            color: var(--ela-primary-strong);
            font-size: 14px;
            line-height: 1.4;
            font-weight: 520;
        }

        .mw-route-guidance span,
        .mw-text-link span {
            display: inline-block;
            margin-left: 4px;
            transition: transform 160ms ease;
        }

        .mw-route-guidance:hover span,
        .mw-text-link:hover span {
            transform: translateX(3px);
        }

        .mw-section-block {
            padding: var(--mw-section-space) 0;
        }

        #routes {
            padding-top: clamp(36px, 5vw, 64px);
            padding-bottom: clamp(36px, 5vw, 64px);
        }

        .mw-section-block.soft {
            border-top: 1px solid color-mix(in srgb, var(--ela-primary) 5%, var(--ela-line));
            border-bottom: 1px solid color-mix(in srgb, var(--ela-primary) 5%, var(--ela-line));
            background: var(--ela-band);
        }

        .mw-section-head {
            max-width: calc(58.333% - 10px);
            margin-bottom: 32px;
        }

        .mw-section-head.center {
            margin-inline: auto;
            text-align: center;
        }

        .mw-section-head h2 {
            margin: 0;
            font-size: clamp(28px, 2.5vw, 34px);
            line-height: 1.12;
            font-weight: 490;
        }

        .mw-section-head p {
            margin: 14px 0 0;
            color: var(--ela-muted);
            font-size: 17px;
            line-height: 1.58;
            font-weight: 420;
        }

        .mw-experience-layout {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: clamp(28px, 4vw, 48px);
            align-items: center;
            padding: 18px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 10%, var(--ela-line));
            border-radius: var(--ela-radius-lg);
            background: color-mix(in srgb, var(--ela-sky) 26%, var(--ela-surface));
            box-shadow: var(--ela-shadow-panel);
        }

        .mw-experience-media {
            position: relative;
            min-width: 0;
            aspect-ratio: 16 / 10;
            overflow: hidden;
            border-radius: var(--ela-radius-md);
            background: color-mix(in srgb, var(--ela-surface) 72%, transparent);
            box-shadow: 0 14px 34px color-mix(in srgb, var(--ela-text) 9%, transparent);
        }

        .mw-experience-media img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            border-radius: var(--ela-radius-md);
        }

        .mw-experience-media.is-animated img:first-child {
            animation: mw-experience-frame-one 12s ease-in-out infinite;
        }

        .mw-experience-media.is-animated img:last-child {
            animation: mw-experience-frame-two 12s ease-in-out infinite;
        }

        @keyframes mw-experience-frame-one {
            0%, 46%, 100% {
                opacity: 1;
            }

            49%, 96% {
                opacity: 0;
            }
        }

        @keyframes mw-experience-frame-two {
            0%, 49%, 99%, 100% {
                opacity: 0;
            }

            52%, 96% {
                opacity: 1;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .mw-experience-media.is-animated img {
                animation: none;
            }

            .mw-experience-media.is-animated img:not(:first-child) {
                display: none;
            }
        }

        .mw-experience-list {
            display: grid;
            grid-template-columns: 1fr;
            gap: 4px;
            padding-right: 12px;
        }

        .mw-experience-item {
            display: grid;
            grid-template-columns: 38px minmax(0, 1fr);
            gap: 14px;
            min-width: 0;
            padding: 15px 0;
            border-bottom: 1px solid color-mix(in srgb, var(--ela-primary) 8%, var(--ela-line));
        }

        .mw-experience-item > span {
            display: flex;
            width: 34px;
            height: 34px;
            align-items: center;
            justify-content: center;
            color: var(--ela-primary-strong);
            border: 1px solid color-mix(in srgb, var(--ela-primary) 14%, var(--ela-line));
            border-radius: 50%;
            background: color-mix(in srgb, var(--ela-surface) 74%, transparent);
            font-size: 17px;
            line-height: 1;
            font-weight: 500;
        }

        .mw-experience-item h3,
        .mw-course-chapter h3 {
            margin: 0;
            color: var(--ela-text);
            letter-spacing: 0;
        }

        .mw-experience-item h3 {
            font-size: 17px;
            line-height: 1.3;
            font-weight: 500;
        }

        .mw-experience-item p {
            margin: 6px 0 0;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.52;
            font-weight: 420;
        }

        .mw-course-showcase {
            display: block;
        }

        .mw-course-chapters {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 18px;
        }

        .mw-course-chapter {
            min-width: 0;
            min-height: 222px;
            display: grid;
            grid-template-columns: 36% minmax(0, 1fr);
            gap: 18px;
            overflow: hidden;
            padding: 16px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 9%, var(--ela-line));
            border-radius: var(--ela-radius-md);
            background: var(--ela-surface);
            box-shadow: var(--ela-shadow-soft);
        }

        .mw-course-chapter:nth-child(1) {
            background: color-mix(in srgb, var(--ela-sky) 42%, var(--ela-surface));
        }

        .mw-course-chapter:nth-child(2) {
            background: color-mix(in srgb, var(--ela-mint) 42%, var(--ela-surface));
        }

        .mw-course-chapter:nth-child(3) {
            background: color-mix(in srgb, var(--ela-peach) 40%, var(--ela-surface));
        }

        .mw-course-chapter:nth-child(4) {
            background: color-mix(in srgb, var(--ela-lavender) 46%, var(--ela-surface));
        }

        .mw-course-media {
            overflow: hidden;
            border-radius: var(--ela-radius-md);
            background: color-mix(in srgb, var(--ela-surface) 72%, transparent);
            box-shadow: 0 10px 28px color-mix(in srgb, var(--ela-text) 8%, transparent);
        }

        .mw-course-media img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
        }

        .mw-course-chapter h3 {
            margin: 0;
            font-size: clamp(20px, 1.7vw, 24px);
            line-height: 1.16;
            font-weight: 500;
        }

        .mw-course-copy > p {
            margin: 10px 0 0;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.5;
            font-weight: 420;
        }

        .mw-course-copy {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: center;
            padding: 8px 8px 8px 0;
        }

        .mw-course-copy .mw-text-link {
            min-height: 36px;
            margin-top: 18px;
            padding: 0 12px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 16%, var(--ela-line));
            border-radius: var(--ela-radius-sm);
            background: color-mix(in srgb, var(--ela-surface) 74%, transparent);
        }

        .mw-problem-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 0;
            overflow: hidden;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 8%, var(--ela-line));
            border-radius: 14px;
            background: color-mix(in srgb, var(--ela-surface) 90%, transparent);
        }

        .mw-problem,
        .mw-faq,
        .mw-proof-panel {
            border: 1px solid color-mix(in srgb, var(--ela-primary) 7%, var(--ela-line));
            background: color-mix(in srgb, var(--ela-surface) 88%, transparent);
        }

        .mw-problem {
            grid-column: auto;
            min-height: 0;
            padding: 24px;
            border: 0;
            border-radius: 0;
            background: transparent;
        }

        .mw-problem + .mw-problem {
            border-left: 1px solid var(--ela-line);
        }

        .mw-problem h3 {
            margin: 0 0 10px;
            font-size: 18px;
            line-height: 1.22;
            font-weight: 540;
        }

        .mw-problem p,
        .mw-method-card p,
        .mw-faq p,
        .mw-proof-list li {
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.54;
            font-weight: 420;
        }

        .mw-method-layout {
            display: block;
        }

        .mw-method-layout .mw-section-head {
            max-width: 760px;
            margin: 0 auto 48px;
            text-align: center;
        }

        .mw-faq-panel .mw-section-head {
            max-width: none;
        }

        .mw-method-visual {
            grid-column: span 7;
            position: relative;
            aspect-ratio: 16 / 10;
            min-height: 0;
            align-self: center;
            overflow: hidden;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 10%, var(--ela-line));
            border-radius: 14px;
            background: #f3efff;
        }

        .mw-method-visual::after {
            content: "";
            position: absolute;
            inset: 0;
            background:
                linear-gradient(90deg, rgba(247, 242, 255, 0.74) 0%, rgba(247, 242, 255, 0.18) 58%, rgba(247, 242, 255, 0.04) 100%),
                linear-gradient(180deg, rgba(247, 242, 255, 0.04) 0%, rgba(247, 242, 255, 0.3) 100%);
        }

        .mw-method-visual img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            object-position: 70% center;
        }

        .mw-method-list {
            --mw-method-gap: clamp(24px, 4vw, 64px);
            position: relative;
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: var(--mw-method-gap);
        }

        .mw-method-list::before {
            content: "";
            position: absolute;
            display: none;
        }

        .mw-method-card {
            position: relative;
            padding: 38px 18px 0;
            border: 0;
            background: transparent;
            text-align: center;
        }

        .mw-method-card::before {
            content: "";
            position: absolute;
            top: 0;
            left: 50%;
            z-index: 1;
            width: 19px;
            height: 19px;
            border: 5px solid var(--ela-surface);
            border-radius: 50%;
            background: var(--ela-primary);
            box-shadow: 0 0 0 1px color-mix(in srgb, var(--ela-primary) 32%, var(--ela-line));
            transform: translateX(-50%);
        }

        .mw-method-card:not(:last-child)::after {
            content: "";
            position: absolute;
            top: 14px;
            left: 50%;
            width: calc(100% + var(--mw-method-gap));
            height: 1px;
            background: color-mix(in srgb, var(--ela-primary) 28%, var(--ela-line));
        }

        .mw-number {
            width: 40px;
            height: 40px;
            display: inline-grid;
            place-items: center;
            border-radius: 50%;
            color: var(--ela-primary-strong);
            background: var(--ela-sky);
            font-size: 18px;
            font-weight: 540;
        }

        .mw-method-card h3 {
            margin: 0 0 6px;
            font-size: 18px;
            line-height: 1.2;
            font-weight: 500;
        }

        .mw-method-card p {
            margin: 0;
        }

        .mw-process-panel {
            display: grid;
            grid-template-columns: repeat(12, minmax(0, 1fr));
            gap: var(--mw-grid-gap);
            align-items: center;
        }

        #process > .mw-section-head {
            max-width: 760px;
            margin: 0 auto 42px;
            text-align: center;
        }

        .mw-process-line {
            grid-column: span 7;
            display: grid;
            gap: 0;
        }

        .mw-process-step {
            position: relative;
            display: grid;
            grid-template-columns: 52px minmax(0, 1fr);
            gap: 16px;
            padding-bottom: 30px;
        }

        .mw-process-step:not(:last-child)::after {
            content: "";
            position: absolute;
            left: 19px;
            top: 40px;
            bottom: 0;
            width: 2px;
            background: color-mix(in srgb, var(--ela-primary) 16%, var(--ela-line));
        }

        .mw-process-step h3 {
            margin: 0 0 6px;
            font-size: 20px;
            line-height: 1.2;
            font-weight: 500;
        }

        .mw-process-step p {
            max-width: 610px;
            margin: 0;
            color: var(--ela-muted);
            font-size: 16px;
            line-height: 1.54;
            font-weight: 420;
        }

        .mw-form-preview {
            grid-column: span 5;
            padding: 22px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 9%, var(--ela-line));
            border-radius: 14px;
            background: color-mix(in srgb, var(--ela-surface) 92%, transparent);
            box-shadow: 0 14px 34px rgba(42, 42, 88, 0.07);
        }

        .mw-form-preview .mw-button {
            width: 100%;
            margin-top: 14px;
        }

        .mw-form-line {
            width: 100%;
            height: 44px;
            display: flex;
            align-items: center;
            margin-top: 10px;
            padding: 0 14px;
            border: 1px solid var(--ela-line);
            border-radius: 14px;
            color: color-mix(in srgb, var(--ela-text) 62%, var(--ela-muted));
            background: var(--ela-control);
            font-family: inherit;
            font-size: 13px;
            font-weight: 430;
            text-align: left;
            cursor: pointer;
        }

        .mw-form-toggle {
            width: 100%;
            display: flex;
            align-items: center;
            gap: 10px;
            margin-top: 12px;
            padding: 12px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 14%, var(--ela-line));
            border-radius: 16px;
            color: var(--ela-primary-strong);
            background: color-mix(in srgb, var(--ela-lavender) 58%, var(--ela-surface));
            font-family: inherit;
            font-size: 13px;
            font-weight: 520;
            text-align: left;
            cursor: pointer;
        }

        .mw-form-line:hover,
        .mw-form-line:focus-visible,
        .mw-form-toggle:hover,
        .mw-form-toggle:focus-visible {
            border-color: color-mix(in srgb, var(--ela-primary) 38%, var(--ela-line));
            outline: none;
        }

        .mw-form-toggle-control {
            width: 18px;
            height: 18px;
            flex: 0 0 auto;
            border: 2px solid var(--ela-primary);
            border-radius: 5px;
            background: var(--ela-surface);
        }

        .mw-process-message {
            margin: 14px 2px 0;
            color: var(--ela-muted);
            font-size: 13px;
            line-height: 1.5;
            text-align: center;
        }

        .mw-message-link {
            padding: 0;
            border: 0;
            color: var(--ela-primary-strong);
            background: transparent;
            font: inherit;
            font-weight: 540;
            cursor: pointer;
        }

        .mw-message-link:hover {
            text-decoration: underline;
        }

        .mw-message-modal {
            position: fixed;
            inset: 0;
            z-index: 9998;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 20px;
            background: rgba(17, 19, 36, 0.48);
        }

        .mw-message-modal.is-open {
            display: flex;
        }

        .mw-message-dialog {
            width: min(100%, 480px);
            padding: 24px;
            border: 1px solid var(--ela-line);
            border-radius: 14px;
            color: var(--ela-text);
            background: var(--ela-surface);
            box-shadow: 0 24px 70px rgba(24, 24, 48, 0.22);
        }

        .mw-message-head {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 20px;
        }

        .mw-message-head h2 {
            margin: 0;
            font-size: 22px;
            line-height: 1.3;
            font-weight: 520;
        }

        .mw-message-dialog > p {
            margin: 8px 42px 0 0;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.55;
        }

        .mw-message-close {
            width: 34px;
            height: 34px;
            flex: 0 0 auto;
            display: grid;
            place-items: center;
            padding: 0;
            border: 1px solid var(--ela-line);
            border-radius: 50%;
            color: var(--ela-text);
            background: var(--ela-control);
            font-size: 20px;
            cursor: pointer;
        }

        .mw-message-actions {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
            margin-top: 22px;
        }

        .mw-message-action {
            min-width: 0;
            min-height: 48px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            padding: 0 14px;
            border: 1px solid var(--ela-line);
            border-radius: 10px;
            color: var(--ela-text);
            background: var(--ela-control);
            font-size: 14px;
            font-weight: 500;
            white-space: nowrap;
        }

        .mw-video-modal {
            position: fixed;
            inset: 0;
            z-index: 9999;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 24px;
            background: rgba(9, 11, 25, 0.72);
        }

        .mw-video-modal.is-open {
            display: flex;
        }

        .mw-video-dialog {
            width: min(100%, 900px);
            padding: 18px;
            border: 1px solid var(--ela-line);
            border-radius: 12px;
            color: var(--ela-text);
            background: var(--ela-surface);
            box-shadow: 0 28px 90px rgba(9, 11, 25, 0.38);
        }

        .mw-video-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
            margin-bottom: 14px;
        }

        .mw-video-head h2 {
            margin: 0;
            font-size: 20px;
            line-height: 1.35;
            font-weight: 520;
        }

        .mw-video-frame {
            overflow: hidden;
            border-radius: 8px;
            background: #090b14;
        }

        .mw-video-frame video {
            width: 100%;
            aspect-ratio: 16 / 9;
            display: block;
            background: #090b14;
        }

        .mw-message-action:hover {
            border-color: color-mix(in srgb, var(--ela-primary) 36%, var(--ela-line));
            color: var(--ela-primary-strong);
        }

        .mw-message-action i {
            color: var(--ela-primary);
            font-size: 20px;
        }

        .mw-message-action span {
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .mw-proof-section .mw-section-head {
            max-width: 720px;
        }

        .mw-proof-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 18px;
            align-items: stretch;
        }

        .mw-testimonial {
            min-width: 0;
            display: flex;
            flex-direction: column;
            margin: 0;
            padding: 28px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 10%, var(--ela-line));
            border-radius: 8px;
            background: color-mix(in srgb, var(--ela-surface) 88%, var(--ela-lavender));
            box-shadow: 0 12px 30px color-mix(in srgb, var(--ela-text) 5%, transparent);
        }

        .mw-proof-heading {
            display: grid;
            gap: 12px;
            margin-bottom: 18px;
        }

        .mw-proof-meta {
            display: flex;
            flex-wrap: wrap;
            align-items: baseline;
            gap: 5px;
            color: var(--ela-primary-strong);
            font-size: 12px;
            line-height: 1.2;
            font-weight: 560;
            text-transform: uppercase;
        }

        .mw-proof-meta strong {
            font-weight: 620;
        }

        .mw-proof-heading h3 {
            margin: 0;
            color: var(--ela-text);
            font-size: 21px;
            line-height: 1.3;
            font-weight: 540;
            letter-spacing: 0;
        }

        .mw-proof-story {
            margin: 0;
            color: var(--ela-text);
            font-size: 16px;
            line-height: 1.65;
            font-weight: 420;
        }

        .mw-matching-layout,
        .mw-faq-layout {
            display: grid;
            grid-template-columns: repeat(12, minmax(0, 1fr));
            gap: var(--mw-grid-gap);
            align-items: start;
        }

        .mw-matching-layout > .mw-section-head {
            grid-column: span 5;
            max-width: none;
        }

        .mw-matching-list {
            grid-column: span 7;
            display: grid;
            gap: 0;
            border-top: 1px solid var(--ela-line);
        }

        .mw-matching-item {
            display: grid;
            grid-template-columns: 52px minmax(0, 1fr);
            gap: 18px;
            padding: 20px 0;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-matching-item > span {
            color: var(--ela-primary-strong);
            font-size: 14px;
            line-height: 1.4;
            font-weight: 540;
        }

        .mw-matching-item h3 {
            margin: 0 0 6px;
            font-size: 19px;
            line-height: 1.24;
            font-weight: 540;
        }

        .mw-matching-item p {
            margin: 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.54;
            font-weight: 420;
        }

        .mw-teacher-section .mw-section-head {
            max-width: 680px;
            margin: 0;
        }

        .mw-teacher-intro {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 32px;
            margin-bottom: 32px;
        }

        .mw-teacher-intro .mw-text-link {
            flex: 0 0 auto;
            margin: 0 0 2px;
        }

        .mw-teacher-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 20px;
        }

        .mw-teacher-card {
            min-width: 0;
            border-radius: 8px;
            color: inherit;
            transition: color 160ms ease;
        }

        .mw-teacher-card:focus-visible {
            outline: 3px solid color-mix(in srgb, var(--ela-primary) 24%, transparent);
            outline-offset: 5px;
        }

        .mw-teacher-image {
            position: relative;
            aspect-ratio: 4 / 5;
            overflow: hidden;
            border-radius: 8px;
            background: var(--ela-bg-soft);
        }

        .mw-teacher-image img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            object-position: center top;
            transition: transform 220ms ease;
        }

        .mw-teacher-card:hover .mw-teacher-image img {
            transform: scale(1.025);
        }

        .mw-teacher-copy {
            padding-top: 14px;
        }

        .mw-teacher-copy span {
            color: var(--ela-primary-strong);
            font-size: 12px;
            line-height: 1.3;
            font-weight: 560;
        }

        .mw-teacher-copy h3 {
            margin: 5px 0 0;
            color: var(--ela-text);
            font-size: 18px;
            line-height: 1.25;
            font-weight: 500;
            transition: color 160ms ease;
        }

        .mw-teacher-name-row {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 10px;
        }

        .mw-teacher-action {
            flex: 0 0 auto;
            margin-top: 6px;
            color: var(--ela-primary);
            font-size: 18px;
            transition: transform 160ms ease;
        }

        .mw-teacher-card:hover .mw-teacher-copy h3,
        .mw-teacher-card:focus-visible .mw-teacher-copy h3 {
            color: var(--ela-primary-strong);
        }

        .mw-teacher-card:hover .mw-teacher-action,
        .mw-teacher-card:focus-visible .mw-teacher-action {
            transform: translateX(3px);
        }

        .mw-teacher-copy p {
            margin: 7px 0 0;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.48;
            font-weight: 420;
        }

        .mw-text-link {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            margin-top: 22px;
            color: var(--ela-primary-strong);
            font-size: 15px;
            font-weight: 540;
        }

        .mw-faq-layout {
            display: block;
        }

        .mw-faq-layout > .mw-section-head {
            max-width: 760px;
            margin: 0 auto 38px;
            text-align: center;
        }

        .mw-faq-panel {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 28px;
            width: 100%;
            margin: 0 auto;
        }

        .mw-faq-column {
            border-top: 1px solid var(--ela-line);
        }

        html[data-layout-mode="dark"] .mw-header {
            border-bottom-color: rgba(255, 255, 255, 0.08);
            box-shadow: 0 8px 28px rgba(3, 4, 14, 0.18);
        }

        html[data-layout-mode="dark"] .mw-hero {
            background: linear-gradient(180deg, rgba(28, 30, 52, 0.98) 0%, rgba(22, 23, 42, 0.9) 82%, rgba(22, 23, 42, 0) 100%);
        }

        html[data-layout-mode="dark"] .mw-hero-art::before {
            background:
                linear-gradient(90deg, rgba(28, 30, 52, 0.99) 0%, rgba(28, 30, 52, 0.92) 34%, rgba(28, 30, 52, 0.26) 63%, rgba(28, 30, 52, 0.05) 100%),
                linear-gradient(180deg, rgba(22, 23, 42, 0.04) 0%, rgba(22, 23, 42, 0.42) 100%);
        }

        html[data-layout-mode="dark"] .mw-section-block.soft {
            background: var(--ela-band);
        }

        html[data-layout-mode="dark"] .mw-hero-image-light {
            display: none !important;
        }

        html[data-layout-mode="dark"] .mw-hero-image-dark {
            display: block !important;
        }

        html[data-layout-mode="dark"] .mw-course-media img {
            filter: brightness(0.72) saturate(0.82);
        }

        html[data-layout-mode="dark"] .mw-route-media img {
            filter: brightness(0.82) saturate(0.88);
        }

        html[data-layout-mode="dark"] .mw-nav-login {
            border-color: #41445f;
            color: #f0efff;
            background: #24263d;
        }

        html[data-layout-mode="dark"] .mw-nav-login:hover {
            border-color: #6661a7;
            color: #ffffff;
            background: #30324e;
        }

        html[data-layout-mode="dark"] .mw-button,
        html[data-layout-mode="dark"] .btn-gradient {
            border-color: #817bf2;
            color: #ffffff;
            background: #7069e8;
            box-shadow: none;
        }

        html[data-layout-mode="dark"] .mw-button:hover,
        html[data-layout-mode="dark"] .btn-gradient:hover {
            border-color: #9691ff;
            color: #ffffff;
            background: #817bf2;
        }

        html[data-layout-mode="dark"] .mw-button.secondary,
        html[data-layout-mode="dark"] .btn-border-gradient {
            border-color: #4b4e6c;
            color: #dedcff;
            background: #292b45;
        }

        html[data-layout-mode="dark"] .mw-button.secondary:hover,
        html[data-layout-mode="dark"] .btn-border-gradient:hover {
            border-color: #6d68b0;
            color: #ffffff;
            background: #343653;
        }

        html[data-layout-mode="dark"] .mw-nav-cta,
        html[data-layout-mode="dark"] .mw-nav-cta:hover {
            color: #ffffff;
        }

        html[data-layout-mode="dark"] .mw-app-entry {
            border-color: #42455f;
            color: #ddddec;
            background: #25273e;
        }

        html[data-layout-mode="dark"] .mw-app-entry:hover {
            border-color: #625da0;
            color: #ffffff;
            background: #30324e;
        }

        html[data-layout-mode="dark"] .mw-final {
            border: 1px solid #494c70;
            color: #f7f6ff;
            background: #2b2d4b;
            box-shadow: inset 6px 0 0 #817bf2;
        }

        html[data-layout-mode="dark"] .mw-final p {
            color: #b8bad1;
        }

        html[data-layout-mode="dark"] .mw-final .mw-button {
            border-color: #817bf2;
            color: #ffffff;
            background: #7069e8;
        }

        html[data-layout-mode="dark"] .mw-final .mw-button.secondary {
            border-color: #555873;
            color: #e1dfff;
            background: #343650;
        }

        .mw-faq {
            padding: 0;
            border: 0;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-faq summary {
            min-height: 68px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
            padding: 18px 20px;
            color: var(--ela-text);
            font-size: 18px;
            line-height: 1.35;
            font-weight: 500;
            list-style: none;
            cursor: pointer;
        }

        .mw-faq summary::-webkit-details-marker {
            display: none;
        }

        .mw-faq summary:hover {
            background: color-mix(in srgb, var(--ela-lavender) 16%, transparent);
        }

        .mw-faq summary:focus-visible {
            outline: 2px solid color-mix(in srgb, var(--ela-primary) 30%, transparent);
            outline-offset: -2px;
            background: color-mix(in srgb, var(--ela-lavender) 20%, transparent);
        }

        .mw-faq summary i {
            flex: 0 0 auto;
            color: var(--ela-primary);
            font-size: 21px;
            transition: transform 160ms ease;
        }

        .mw-faq[open] summary i {
            transform: rotate(45deg);
        }

        .mw-faq p {
            max-width: 760px;
            margin: -4px 20px 22px;
            font-size: 16px;
        }

        .mw-final {
            position: relative;
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: center;
            gap: 36px;
            overflow: hidden;
            margin: 10px auto 74px;
            padding: 38px 34px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 22%, var(--ela-line));
            border-radius: 12px;
            color: var(--ela-text);
            background: color-mix(in srgb, var(--ela-lavender) 68%, var(--ela-surface));
            box-shadow: inset 6px 0 0 var(--ela-primary);
        }

        .mw-final h2 {
            margin: 0 0 8px;
            font-size: clamp(28px, 3vw, 36px);
            line-height: 1.12;
            font-weight: 490;
        }

        .mw-final p {
            margin: 0;
            color: var(--ela-muted);
            font-size: 16px;
            line-height: 1.55;
            font-weight: 420;
        }

        .mw-final-actions {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 10px;
        }

        .mw-final .mw-button {
            color: #ffffff;
            background: var(--ela-primary);
            box-shadow: none;
        }

        .mw-final .mw-button.secondary {
            color: var(--ela-primary-strong);
            background: var(--ela-surface);
            border-color: color-mix(in srgb, var(--ela-primary) 18%, var(--ela-line));
        }

        .rbt-btn,
        .btn-gradient,
        .btn-border-gradient {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 44px;
            padding: 0 18px;
            border-radius: 14px;
            font-weight: 540;
            text-decoration: none;
        }

        .btn-gradient {
            color: #ffffff;
            background: linear-gradient(135deg, #735cf0, #4d7de6);
        }

        .btn-border-gradient {
            color: var(--ela-primary-strong);
            border: 1px solid rgba(101, 87, 216, 0.35);
            background: #ffffff;
        }

        @media (max-width: 1060px) {
            .mw-links {
                display: none;
            }

            .mw-nav-actions > .mw-nav-cta {
                display: none;
            }

            .mw-nav-actions.is-auth > .mw-app-entry {
                display: none;
            }

            .mw-account-menu .mw-account-app-link {
                display: flex;
            }

            .mw-mobile-navigation {
                display: block;
            }

            .mw-hero-panel,
            .mw-method-layout,
            .mw-process-panel,
            .mw-matching-layout,
            .mw-faq-layout {
                grid-template-columns: 1fr;
            }

            .mw-method-layout > :first-child,
            .mw-method-list,
            .mw-process-line,
            .mw-form-preview,
            .mw-matching-layout > .mw-section-head,
            .mw-matching-list,
            .mw-faq-layout > .mw-section-head,
            .mw-faq-panel {
                grid-column: 1 / -1;
            }

            .mw-hero-art {
                opacity: 0.72;
            }

            .mw-hero-copy {
                width: min(var(--mw-container-max), calc(100% - (var(--mw-page-gutter) * 2)));
                padding-left: 0;
                padding-right: 0;
            }

            .mw-problem-grid {
                grid-template-columns: 1fr 1fr;
            }

            .mw-problem {
                grid-column: auto;
            }

            .mw-form-preview {
                position: static;
            }
        }

        @media (min-width: 900px) and (max-width: 1060px) {
            .mw-problem-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

            .mw-method-layout,
            .mw-process-panel,
            .mw-matching-layout,
            .mw-faq-layout {
                grid-template-columns: repeat(12, minmax(0, 1fr));
            }

            .mw-method-layout > :first-child,
            .mw-matching-layout > .mw-section-head {
                grid-column: span 5;
            }

            .mw-method-list,
            .mw-matching-list {
                grid-column: span 7;
            }

            .mw-faq-layout > .mw-section-head {
                grid-column: span 4;
            }

            .mw-faq-panel {
                grid-column: span 8;
            }

            .mw-process-line {
                grid-column: span 7;
            }

            .mw-form-preview {
                grid-column: span 5;
            }
        }

        @media (max-width: 899px) {
            .mw-process-panel {
                align-items: start;
            }

            .mw-course-showcase {
                display: block;
            }

            .mw-experience-layout {
                grid-template-columns: 1fr;
                gap: 20px;
                padding: 14px;
                border-radius: 20px;
            }

            .mw-course-chapters {
                grid-template-columns: 1fr;
                gap: 16px;
            }

            .mw-course-chapter {
                grid-template-columns: 40% minmax(0, 1fr);
            }

            .mw-problem-grid {
                grid-template-columns: 1fr;
            }

            .mw-problem + .mw-problem {
                border-top: 1px solid var(--ela-line);
                border-left: 0;
            }

            .mw-method-layout,
            .mw-matching-layout,
            .mw-faq-layout {
                gap: 28px;
            }

            .mw-faq-panel {
                padding-left: 0;
                border-left: 0;
            }

            .mw-proof-grid {
                grid-template-columns: 1fr;
                gap: 22px;
            }

            .mw-teacher-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 24px 14px;
            }

            .mw-teacher-intro {
                align-items: flex-start;
                flex-direction: column;
                gap: 16px;
                margin-bottom: 28px;
            }

            .mw-testimonial {
                min-height: 0;
            }
        }

        @media (max-width: 640px) {
            :root {
                --mw-page-gutter: 12px;
            }

            .mw-nav {
                min-height: 64px;
                gap: 14px;
            }

            .mw-nav-primary {
                gap: 12px;
            }

            .mw-logo img {
                width: 126px;
            }

            .mw-logo {
                min-width: 126px;
            }

            .mw-nav-actions {
                gap: 6px;
            }

            .mw-preferences {
                gap: 4px;
                margin-right: 0;
            }

            .mw-icon-control,
            .mw-preference summary,
            .mw-mobile-navigation > summary {
                width: 38px;
                height: 38px;
            }

            .mw-mobile-navigation > summary i {
                font-size: 22px;
            }

            .mw-nav-actions.is-auth {
                gap: 4px;
            }

            .mw-nav-actions.is-auth .mw-app-entry {
                min-height: 34px;
                margin-right: 2px;
                padding: 0 7px;
                font-size: 12px;
            }

            .mw-nav-actions.is-auth .mw-account summary {
                width: 38px;
                height: 38px;
            }

            .mw-nav {
                gap: 8px;
            }

            .mw-nav-primary {
                gap: 8px;
            }

            .mw-logo,
            .mw-logo img {
                min-width: 112px;
                width: 112px;
            }

            .mw-mobile-navigation > summary {
                width: 38px;
                height: 38px;
            }

            .mw-nav-actions {
                gap: 6px;
            }

            .mw-nav-actions > .mw-preferences {
                display: flex;
            }

            .mw-nav-actions > .mw-preferences .mw-icon-control,
            .mw-nav-actions > .mw-preferences .mw-preference > summary {
                width: 38px;
                height: 38px;
            }

            .mw-nav-login {
                min-height: 38px;
                padding: 0 10px;
                border-radius: 8px;
                font-size: 12.5px;
            }

            .mw-nav-actions .mw-button {
                width: auto;
            }

            .mw-nav-cta {
                min-height: 38px;
                padding: 0 12px;
                border-color: color-mix(in srgb, var(--ela-primary) 22%, var(--ela-line));
                color: var(--ela-primary-strong);
                background: color-mix(in srgb, var(--ela-lavender) 34%, var(--ela-surface));
                box-shadow: none;
                font-size: 12.5px;
                font-weight: 500;
            }

            .mw-nav-cta:hover {
                border-color: color-mix(in srgb, var(--ela-primary) 34%, var(--ela-line));
                color: var(--ela-primary-strong);
                background: color-mix(in srgb, var(--ela-lavender) 52%, var(--ela-surface));
                transform: none;
                box-shadow: none;
            }

            html[data-layout-mode="dark"] .mw-nav-cta,
            html[data-layout-mode="dark"] .mw-nav-cta:hover {
                border-color: #4d506d;
                color: #dedcff;
                background: #292b45;
            }

            .mw-nav-label-full {
                display: none;
            }

            .mw-nav-label-short {
                display: inline;
            }

            .mw-app-entry {
                min-height: 40px;
                padding: 0 12px;
                font-size: 13px;
            }

            .mw-account summary {
                width: 38px;
                height: 38px;
            }

            .mw-hero {
                height: auto;
                min-height: 0;
                padding: 0 0 32px;
            }

            .mw-hero-panel {
                height: auto;
                min-height: 0;
            }

            .mw-hero-art::before {
                background:
                    linear-gradient(180deg, rgba(247, 242, 255, 0.02) 0%, rgba(247, 242, 255, 0.08) 48%, rgba(247, 242, 255, 0.82) 78%, rgba(247, 242, 255, 1) 100%);
            }

            html[data-layout-mode="dark"] .mw-hero-art::before {
                background:
                    linear-gradient(180deg, rgba(28, 30, 52, 0.02) 0%, rgba(28, 30, 52, 0.12) 48%, rgba(28, 30, 52, 0.86) 78%, rgba(28, 30, 52, 1) 100%);
            }

            .mw-hero-art {
                inset: 0 0 auto;
                height: 320px;
                opacity: 1;
            }

            .mw-hero-art img {
                object-position: 68% top;
            }

            .mw-visual-note {
                right: 14px;
                bottom: 14px;
                max-width: 220px;
                display: none;
            }

            .mw-hero-copy {
                height: auto;
                min-height: 0;
                padding: 258px 0 0;
            }

            .mw-heading {
                font-size: 31px;
                line-height: 1.12;
            }

            .mw-copy {
                font-size: 16px;
            }

            .mw-cta-row,
            .mw-final-actions {
                align-items: stretch;
                flex-direction: column;
            }

            .mw-button {
                width: 100%;
            }

            .mw-problem-grid {
                grid-template-columns: 1fr;
            }

            .mw-route-strip {
                grid-template-columns: 1fr;
                gap: 10px;
            }

            #routes {
                padding-top: 28px;
                padding-bottom: 36px;
            }

            .mw-experience-layout {
                gap: 18px;
                padding: 0;
                border: 0;
                border-radius: 0;
                background: transparent;
                box-shadow: none;
            }

            .mw-experience-list {
                grid-template-columns: 1fr;
                gap: 0;
                padding: 0 4px;
            }

            .mw-experience-media {
                padding: 0;
                border-radius: 14px;
                box-shadow: 0 10px 26px color-mix(in srgb, var(--ela-text) 8%, transparent);
            }

            .mw-experience-media img {
                border-radius: 14px;
            }

            .mw-route {
                min-height: 104px;
                grid-template-columns: 62px minmax(0, 1fr) 20px;
                gap: 12px;
                padding: 11px 12px;
                border-radius: var(--ela-radius-md);
            }

            .mw-route-media {
                width: 62px;
                height: 62px;
            }

            .mw-route-copy {
                padding: 6px 0;
            }

            .mw-course-chapter {
                min-height: 0;
                grid-template-columns: 108px minmax(0, 1fr);
                gap: 12px;
                align-items: start;
                padding: 12px;
                border-radius: var(--ela-radius-md);
            }

            .mw-course-media {
                width: 100%;
                aspect-ratio: 1 / 1;
                margin-top: 2px;
                border-radius: 14px;
            }

            .mw-course-copy {
                justify-content: flex-start;
                padding: 2px 4px 2px 0;
            }

            .mw-course-copy .mw-text-link {
                margin-top: 12px;
            }

            .mw-problem-grid {
                gap: 0;
            }

            .mw-problem {
                min-height: 0;
                padding: 18px;
            }

            .mw-experience-item {
                padding: 14px 0;
            }

            .mw-course-chapter h3 {
                font-size: 19px;
                line-height: 1.18;
            }

            .mw-proof-grid {
                grid-template-columns: none;
                grid-auto-flow: column;
                grid-auto-columns: calc(100% - 20px);
                align-items: stretch;
                gap: 12px;
                margin: 0 -4px;
                padding: 0 4px 10px;
                overflow-x: auto;
                overscroll-behavior-inline: contain;
                scroll-snap-type: inline mandatory;
                scrollbar-width: none;
            }

            .mw-proof-grid::-webkit-scrollbar {
                display: none;
            }

            .mw-testimonial {
                padding: 22px;
                scroll-snap-align: start;
            }

            .mw-section-block {
                padding: 48px 0;
            }

            .mw-section-head {
                max-width: none;
            }

            .mw-method-visual {
                aspect-ratio: 16 / 10;
                border-radius: 14px;
            }

            .mw-method-layout {
                display: block;
            }

            .mw-method-layout .mw-section-head {
                margin-bottom: 36px;
            }

            .mw-method-list {
                grid-template-columns: 1fr;
                gap: 28px;
            }

            .mw-method-card {
                padding: 0 0 0 38px;
                text-align: left;
            }

            .mw-method-card::before {
                top: 1px;
                left: 0;
                transform: none;
            }

            .mw-method-card:not(:last-child)::after {
                top: 15px;
                left: 14px;
                width: 1px;
                height: calc(100% + var(--mw-method-gap));
            }

            .mw-process-step {
                grid-template-columns: 44px minmax(0, 1fr);
                gap: 12px;
                padding-bottom: 20px;
            }

            .mw-process-step:not(:last-child)::after {
                left: 19px;
                top: 40px;
            }

            .mw-process-step:last-child {
                padding-bottom: 0;
            }

            #process > .mw-section-head {
                margin-bottom: 24px;
            }

            .mw-form-preview {
                padding: 16px;
                border-radius: 14px;
            }

            .mw-form-line {
                height: 40px;
                margin-top: 8px;
                padding: 0 12px;
                border-radius: 12px;
            }

            .mw-form-toggle {
                margin-top: 10px;
                padding: 10px;
                border-radius: 12px;
            }

            .mw-form-preview .mw-button {
                margin-top: 10px;
            }

            .mw-faq-panel {
                grid-template-columns: 1fr;
                gap: 0;
            }

            .mw-faq-panel .mw-section-head {
                margin-bottom: 8px;
            }

            .mw-faq {
                padding: 0;
                border-radius: 0;
            }

            .mw-faq summary {
                min-height: 64px;
                padding: 16px 20px;
            }

            .mw-number {
                width: 40px;
                height: 40px;
            }

            .mw-final {
                grid-template-columns: 1fr;
                padding: 30px 24px 26px;
                box-shadow: inset 0 5px 0 var(--ela-primary);
            }

            html[data-layout-mode="dark"] .mw-final {
                box-shadow: inset 0 5px 0 #817bf2;
            }
        }

        @media (max-width: 360px) {
            .mw-teacher-grid {
                grid-template-columns: 1fr;
            }

            .mw-nav {
                gap: 8px;
            }

            .mw-nav-primary {
                gap: 8px;
            }

            .mw-logo,
            .mw-logo img {
                width: 96px;
                min-width: 96px;
            }

            .mw-mobile-navigation > summary,
            .mw-nav-actions > .mw-preferences .mw-icon-control,
            .mw-nav-actions > .mw-preferences .mw-preference > summary {
                width: 36px;
                height: 36px;
            }

            .mw-nav-login {
                min-height: 36px;
                padding: 0 8px;
                font-size: 12px;
            }

            .mw-nav-actions.is-auth .mw-app-entry {
                width: 38px;
                height: 38px;
                min-height: 38px;
                margin-right: 0;
                padding: 0;
                border-radius: 50%;
            }

            .mw-nav-actions.is-auth .mw-app-entry span {
                display: none;
            }
        }

        .mw-program-hero {
            padding: 56px 0 48px;
            background: linear-gradient(115deg, color-mix(in srgb, var(--ela-sky) 62%, var(--ela-bg)) 0%, color-mix(in srgb, var(--ela-lavender) 64%, var(--ela-bg)) 100%);
        }

        .mw-program-hero-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.02fr) minmax(420px, 0.98fr);
            gap: clamp(42px, 6vw, 80px);
            align-items: center;
        }

        .mw-breadcrumb {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-bottom: 24px;
            color: var(--ela-muted);
            font-size: 13px;
            font-weight: 460;
        }

        .mw-breadcrumb a:hover {
            color: var(--ela-primary-strong);
        }

        .mw-program-hero-copy h1 {
            max-width: 680px;
            margin: 0;
            font-size: clamp(38px, 4vw, 54px);
            line-height: 1.04;
            font-weight: 460;
        }

        .mw-program-hero-copy > p {
            max-width: 660px;
            margin: 20px 0 0;
            color: color-mix(in srgb, var(--ela-text) 76%, var(--ela-muted));
            font-size: 18px;
            line-height: 1.6;
            font-weight: 410;
        }

        .mw-program-facts {
            display: flex;
            flex-wrap: wrap;
            gap: 10px 18px;
            margin-top: 24px;
        }

        .mw-program-facts span {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            color: color-mix(in srgb, var(--ela-text) 82%, var(--ela-muted));
            font-size: 14px;
            line-height: 1.4;
        }

        .mw-program-facts i {
            color: var(--ela-primary-strong);
            font-size: 17px;
        }

        .mw-program-hero-media {
            position: relative;
            padding: 14px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 10%, var(--ela-line));
            border-radius: var(--ela-radius-lg);
            background: color-mix(in srgb, var(--ela-surface) 74%, transparent);
            box-shadow: var(--ela-shadow-panel);
        }

        .mw-program-hero-media > img {
            width: 100%;
            aspect-ratio: 16 / 11;
            display: block;
            object-fit: cover;
            border-radius: var(--ela-radius-md);
        }

        .mw-program-hero-note {
            position: absolute;
            right: 30px;
            bottom: 30px;
            max-width: 270px;
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 12px 14px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 12%, var(--ela-line));
            border-radius: var(--ela-radius-sm);
            background: color-mix(in srgb, var(--ela-surface) 92%, transparent);
            box-shadow: var(--ela-shadow-soft);
            color: var(--ela-text);
            font-size: 13px;
            line-height: 1.4;
        }

        .mw-program-hero-note i {
            color: var(--ela-primary-strong);
            font-size: 20px;
        }

        .mw-program-local-nav {
            position: sticky;
            top: 69px;
            z-index: 35;
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
            background: color-mix(in srgb, var(--ela-header) 94%, transparent);
            backdrop-filter: blur(14px);
        }

        .mw-program-local-nav .mw-section {
            display: flex;
            gap: 28px;
            overflow-x: auto;
            scrollbar-width: none;
        }

        .mw-program-local-nav a {
            flex: 0 0 auto;
            padding: 15px 0 13px;
            border-bottom: 2px solid transparent;
            color: var(--ela-muted);
            font-size: 13px;
            font-weight: 480;
        }

        .mw-program-local-nav a:hover {
            border-color: var(--ela-primary);
            color: var(--ela-text);
        }

        .mw-program-section[id],
        .mw-program-band[id],
        .mw-ielts-loop-band[id],
        .mw-goal-outcomes-band[id] {
            scroll-margin-top: 118px;
        }

        .mw-program-section {
            width: min(var(--mw-container-max), calc(100% - (var(--mw-page-gutter) * 2)));
            margin-right: auto;
            margin-left: auto;
            padding-top: 80px;
            padding-bottom: 80px;
        }

        .mw-program-fit-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 18px;
            margin-top: 36px;
        }

        .mw-program-fit-item {
            min-height: 218px;
            padding: 24px;
            border: 1px solid var(--ela-line);
            border-radius: var(--ela-radius-md);
            background: var(--ela-surface);
            box-shadow: var(--ela-shadow-soft);
        }

        .mw-program-fit-item:nth-child(1) {
            background: color-mix(in srgb, var(--ela-sky) 44%, var(--ela-surface));
        }

        .mw-program-fit-item:nth-child(2) {
            background: color-mix(in srgb, var(--ela-mint) 44%, var(--ela-surface));
        }

        .mw-program-fit-item:nth-child(3) {
            background: color-mix(in srgb, var(--ela-lavender) 48%, var(--ela-surface));
        }

        .mw-program-fit-item > span,
        .mw-program-lesson-list article > span,
        .mw-program-plan-icon {
            width: 42px;
            height: 42px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 13%, var(--ela-line));
            border-radius: 50%;
            background: color-mix(in srgb, var(--ela-surface) 82%, transparent);
            color: var(--ela-primary-strong);
            font-size: 20px;
        }

        .mw-program-fit-item h3 {
            margin: 22px 0 0;
            font-size: 20px;
            line-height: 1.3;
            font-weight: 480;
        }

        .mw-program-fit-item p {
            margin: 9px 0 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.58;
        }

        .mw-program-band {
            border-top: 1px solid color-mix(in srgb, var(--ela-primary) 8%, var(--ela-line));
            border-bottom: 1px solid color-mix(in srgb, var(--ela-primary) 8%, var(--ela-line));
            background: color-mix(in srgb, var(--ela-bg-soft) 72%, var(--ela-surface));
        }

        .mw-program-section-intro > span,
        .mw-program-proof-label {
            display: block;
            margin-bottom: 10px;
            color: var(--ela-primary-strong);
            font-size: 12px;
            line-height: 1.4;
            font-weight: 600;
            text-transform: uppercase;
        }

        .mw-program-section-intro h2 {
            max-width: 760px;
            margin: 0;
            font-size: clamp(28px, 3vw, 40px);
            line-height: 1.14;
            font-weight: 470;
        }

        .mw-program-path {
            position: relative;
            display: grid;
            grid-template-columns: repeat(5, minmax(0, 1fr));
            gap: 0;
            margin-top: 48px;
        }

        .mw-program-track-list {
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }

        .mw-program-track-intro h2 {
            max-width: none;
        }

        .mw-program-track-intro {
            text-align: center;
        }

        .mw-program-path.mw-program-track-list::before {
            right: 12.5%;
            left: 12.5%;
        }

        .mw-program-track-list .mw-program-path-stage {
            padding-right: 18px;
            padding-left: 18px;
            text-align: center;
        }

        .mw-program-track-list .mw-program-path-number {
            margin-right: auto;
            margin-left: auto;
        }

        .mw-program-track-list + .mw-program-path-note {
            justify-content: center;
        }

        .mw-program-path::before {
            position: absolute;
            top: 22px;
            right: 8%;
            left: 8%;
            height: 1px;
            background: color-mix(in srgb, var(--ela-primary) 34%, var(--ela-line));
            content: "";
        }

        .mw-program-path-stage {
            position: relative;
            z-index: 1;
            padding-right: 24px;
        }

        .mw-program-path-number {
            width: 44px;
            height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 28%, var(--ela-line));
            border-radius: 50%;
            background: var(--ela-surface);
            color: var(--ela-primary-strong);
            box-shadow: 0 7px 20px color-mix(in srgb, var(--ela-primary) 10%, transparent);
            font-size: 12px;
            font-weight: 600;
        }

        .mw-program-path-stage h3 {
            margin: 20px 0 0;
            font-size: 17px;
            line-height: 1.38;
            font-weight: 490;
        }

        .mw-program-path-stage p {
            margin: 8px 0 0;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.54;
        }

        .mw-program-path-note {
            display: flex;
            align-items: center;
            gap: 9px;
            margin: 34px 0 0;
            color: var(--ela-muted);
            font-size: 14px;
        }

        .mw-program-path-note i {
            color: var(--ela-primary-strong);
            font-size: 19px;
        }

        .mw-program-lessons-layout {
            display: grid;
            grid-template-columns: minmax(340px, 0.88fr) minmax(0, 1.12fr);
            gap: clamp(42px, 6vw, 76px);
            align-items: start;
        }

        .mw-program-lessons-layout .mw-program-section-intro h2 {
            font-size: clamp(28px, 2.6vw, 36px);
        }

        .mw-program-lessons-layout > .mw-program-section-intro {
            position: sticky;
            top: 154px;
        }

        .mw-program-lesson-list {
            border-top: 1px solid var(--ela-line);
        }

        .mw-program-lesson-list article {
            display: grid;
            grid-template-columns: 42px minmax(0, 1fr);
            gap: 16px;
            padding: 22px 0;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-program-lesson-list h3 {
            margin: 0;
            font-size: 18px;
            line-height: 1.35;
            font-weight: 480;
        }

        .mw-program-lesson-list p {
            margin: 6px 0 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.55;
        }

        .mw-program-proof-band {
            padding: 72px 0;
            background: linear-gradient(115deg, color-mix(in srgb, var(--ela-lavender) 76%, var(--ela-bg)) 0%, color-mix(in srgb, var(--ela-sky) 54%, var(--ela-bg)) 100%);
        }

        .mw-program-proof-intro {
            width: 100%;
            text-align: center;
        }

        .mw-program-proof-intro h2 {
            margin: 0;
            font-size: clamp(28px, 3vw, 40px);
            line-height: 1.14;
            font-weight: 470;
        }

        .mw-program-proof-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px;
            margin-top: 34px;
        }

        .mw-program-proof-grid article {
            display: flex;
            flex-direction: column;
            padding: 24px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 12%, var(--ela-line));
            border-radius: var(--ela-radius-md);
            background: color-mix(in srgb, var(--ela-surface) 88%, transparent);
            box-shadow: var(--ela-shadow-soft);
        }

        .mw-program-proof-meta {
            display: flex;
            flex-wrap: wrap;
            align-items: baseline;
            gap: 5px;
            color: var(--ela-primary-strong);
            font-size: 12px;
            line-height: 1.2;
            font-weight: 560;
            text-transform: uppercase;
        }

        .mw-program-proof-meta strong {
            font-weight: 620;
        }

        .mw-program-proof-grid h3 {
            margin: 20px 0 0;
            font-size: 20px;
            line-height: 1.34;
            font-weight: 500;
        }

        .mw-program-proof-grid p {
            margin: 12px 0 20px;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.62;
        }

        .mw-program-plan {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(300px, 0.85fr) auto;
            gap: 34px;
            align-items: center;
            padding: 34px;
            border: 1px solid var(--ela-line);
            border-radius: var(--ela-radius-lg);
            background: color-mix(in srgb, var(--ela-yellow) 46%, var(--ela-surface));
            box-shadow: var(--ela-shadow-panel);
        }

        .mw-program-plan h2 {
            margin: 0;
            font-size: clamp(26px, 2.7vw, 36px);
            line-height: 1.16;
            font-weight: 500;
        }

        .mw-program-plan p {
            margin: 10px 0 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.58;
        }

        .mw-program-plan ul {
            display: grid;
            gap: 12px;
            margin: 0;
            padding: 0;
            list-style: none;
        }

        .mw-program-plan li {
            display: flex;
            gap: 9px;
            color: color-mix(in srgb, var(--ela-text) 82%, var(--ela-muted));
            font-size: 14px;
            line-height: 1.45;
        }

        .mw-program-plan li i {
            color: var(--ela-primary-strong);
            font-size: 17px;
        }

        .mw-program-plan-actions {
            display: flex;
            align-items: center;
            flex-direction: column;
            gap: 10px;
        }

        .mw-program-plan-actions .mw-text-link {
            margin-top: 0;
        }

        .mw-program-faq-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0 36px;
            margin-top: 38px;
        }

        .mw-program-faq-grid details {
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-program-faq-grid summary {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            padding: 20px 0;
            cursor: pointer;
            font-size: 16px;
            line-height: 1.4;
            font-weight: 500;
            list-style: none;
        }

        .mw-program-faq-grid summary::-webkit-details-marker {
            display: none;
        }

        .mw-program-faq-grid details[open] summary i {
            transform: rotate(45deg);
        }

        .mw-program-faq-grid summary i {
            flex: 0 0 auto;
            color: var(--ela-primary-strong);
            font-size: 20px;
            transition: transform 160ms ease;
        }

        .mw-program-faq-grid details p {
            margin: -4px 0 20px;
            padding-right: 38px;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.6;
        }

        .mw-program-final {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 34px;
            padding: 36px;
            border-radius: var(--ela-radius-lg);
            background: var(--ela-text);
            color: var(--ela-bg);
        }

        .mw-program-final h2 {
            margin: 0;
            color: inherit;
            font-size: clamp(27px, 3vw, 38px);
            line-height: 1.14;
            font-weight: 500;
        }

        .mw-program-final p {
            max-width: 670px;
            margin: 10px 0 0;
            color: color-mix(in srgb, var(--ela-bg) 72%, transparent);
            font-size: 15px;
            line-height: 1.56;
        }

        .mw-program-final .mw-button {
            flex: 0 0 auto;
            background: var(--ela-bg);
            color: var(--ela-text);
            box-shadow: none;
        }

        @media (max-width: 1060px) {
            .mw-program-hero-grid {
                grid-template-columns: minmax(0, 1fr) minmax(360px, 0.86fr);
                gap: 36px;
            }

            .mw-program-path {
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 30px 16px;
            }

            .mw-program-track-list {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .mw-program-path::before {
                display: none;
            }

            .mw-program-plan {
                grid-template-columns: 1fr 1fr;
            }

            .mw-program-proof-grid {
                grid-template-columns: 1fr;
            }

            .mw-program-plan .mw-button {
                width: max-content;
            }

            .mw-program-plan-actions {
                align-items: flex-start;
            }
        }

        @media (max-width: 1100px) {
            .mw-teacher-directory-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        }

        @media (max-width: 860px) {
            .mw-teacher-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .mw-teacher-profile-hero-grid { grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr); gap: 38px; }
            .mw-teacher-profile-guidance { grid-template-columns: 1fr; gap: 34px; }
            .mw-teacher-related-grid { grid-template-columns: 1fr; }
        }

        @media (max-width: 760px) {
            .mw-program-hero {
                padding: 32px 0 34px;
            }

            .mw-program-hero-grid {
                grid-template-columns: 1fr;
                gap: 30px;
            }

            .mw-program-hero-copy h1 {
                font-size: 36px;
            }

            .mw-program-hero-copy > p {
                font-size: 16px;
            }

            .mw-program-hero-media {
                padding: 10px;
                border-radius: 18px;
            }

            .mw-program-hero-note {
                right: 20px;
                bottom: 20px;
                max-width: calc(100% - 40px);
            }

            .mw-program-local-nav {
                top: 64px;
            }

            .mw-program-local-nav .mw-section {
                gap: 22px;
            }

            .mw-program-section {
                padding-top: 58px;
                padding-bottom: 58px;
            }

            .mw-program-fit-grid,
            .mw-program-faq-grid {
                grid-template-columns: 1fr;
            }

            .mw-program-fit-item {
                min-height: 0;
            }

            .mw-program-path {
                grid-template-columns: 1fr;
                gap: 0;
                margin-top: 34px;
            }

            .mw-program-path-stage {
                display: grid;
                grid-template-columns: 44px minmax(0, 1fr);
                gap: 14px;
                padding: 0 0 24px;
            }

            .mw-program-track-list .mw-program-path-stage {
                padding: 0 0 24px;
                text-align: left;
            }

            .mw-program-track-intro {
                text-align: left;
            }

            .mw-program-track-list .mw-program-path-number {
                margin: 0;
            }

            .mw-program-track-list + .mw-program-path-note {
                justify-content: flex-start;
            }

            .mw-program-path-stage:not(:last-child)::after {
                position: absolute;
                top: 44px;
                bottom: 0;
                left: 21px;
                width: 1px;
                background: color-mix(in srgb, var(--ela-primary) 28%, var(--ela-line));
                content: "";
            }

            .mw-program-path-stage h3 {
                margin-top: 0;
            }

            .mw-program-lessons-layout,
            .mw-program-plan {
                grid-template-columns: 1fr;
                gap: 30px;
            }

            .mw-program-lessons-layout > .mw-program-section-intro {
                position: static;
            }

            .mw-program-proof-band {
                padding: 58px 0;
            }

            .mw-program-proof-grid {
                display: flex;
                gap: 12px;
                margin-right: calc(var(--mw-page-gutter) * -1);
                overflow-x: auto;
                padding-right: var(--mw-page-gutter);
                scroll-snap-type: x mandatory;
                scrollbar-width: none;
            }

            .mw-program-proof-grid article {
                min-width: min(84vw, 340px);
                scroll-snap-align: start;
            }

            .mw-program-plan {
                padding: 24px;
            }

            .mw-program-plan .mw-button {
                width: 100%;
            }

            .mw-program-plan-actions {
                align-items: stretch;
            }

            .mw-program-plan-actions .mw-text-link {
                justify-content: center;
            }

            .mw-program-final {
                align-items: stretch;
                flex-direction: column;
                padding: 28px 24px;
            }

            .mw-program-final .mw-button {
                width: 100%;
            }
        }

        .mw-goal-hero {
            background: linear-gradient(115deg, color-mix(in srgb, var(--ela-lavender) 60%, var(--ela-bg)) 0%, color-mix(in srgb, var(--ela-mint) 48%, var(--ela-bg)) 100%);
        }

        .mw-goal-hero-media > img {
            object-position: center 42%;
        }

        .mw-goal-recognition-layout,
        .mw-goal-support-layout {
            display: grid;
            grid-template-columns: minmax(270px, 0.74fr) minmax(0, 1.26fr);
            gap: clamp(52px, 8vw, 108px);
            align-items: start;
        }

        .mw-goal-statement-list {
            border-top: 1px solid var(--ela-line);
        }

        .mw-goal-statement-list article {
            display: grid;
            grid-template-columns: 40px minmax(0, 1fr);
            gap: 18px;
            align-items: start;
            padding: 26px 0;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-goal-statement-list article > span {
            width: 38px;
            height: 38px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 18%, var(--ela-line));
            border-radius: 50%;
            color: var(--ela-primary-strong);
            font-size: 11px;
            font-weight: 600;
        }

        .mw-goal-statement-list p {
            margin: 2px 0 0;
            font-size: clamp(20px, 2vw, 27px);
            line-height: 1.35;
            font-weight: 440;
        }

        .mw-goal-outcomes-band {
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
            background: linear-gradient(120deg, color-mix(in srgb, var(--ela-sky) 46%, var(--ela-surface)) 0%, color-mix(in srgb, var(--ela-lavender) 44%, var(--ela-surface)) 100%);
        }

        .mw-goal-outcome-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            margin-top: 38px;
            border-top: 1px solid color-mix(in srgb, var(--ela-primary) 12%, var(--ela-line));
            border-left: 1px solid color-mix(in srgb, var(--ela-primary) 12%, var(--ela-line));
        }

        .mw-goal-outcome-grid article {
            display: grid;
            grid-template-columns: 42px minmax(0, 1fr);
            gap: 16px;
            align-items: start;
            min-height: 112px;
            padding: 24px;
            border-right: 1px solid color-mix(in srgb, var(--ela-primary) 12%, var(--ela-line));
            border-bottom: 1px solid color-mix(in srgb, var(--ela-primary) 12%, var(--ela-line));
        }

        .mw-goal-outcome-grid article > span,
        .mw-goal-support-list article > span {
            width: 42px;
            height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: color-mix(in srgb, var(--ela-surface) 78%, transparent);
            color: var(--ela-primary-strong);
            font-size: 19px;
        }

        .mw-goal-outcome-grid p {
            margin: 2px 0 0;
            color: color-mix(in srgb, var(--ela-text) 86%, var(--ela-muted));
            font-size: 17px;
            line-height: 1.52;
            font-weight: 450;
        }

        .mw-goal-level-heading {
            display: grid;
            grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
            gap: clamp(40px, 7vw, 92px);
            align-items: end;
        }

        .mw-goal-level-heading > p {
            margin: 0 0 4px;
            color: var(--ela-muted);
            font-size: 16px;
            line-height: 1.6;
        }

        .mw-goal-level-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 16px;
            margin-top: 40px;
        }

        .mw-work-level-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            max-width: 820px;
        }

        .mw-goal-level-grid article {
            min-height: 210px;
            display: flex;
            flex-direction: column;
            padding: 22px;
            border: 1px solid var(--ela-line);
            border-radius: var(--ela-radius-md);
            background: var(--ela-surface);
            box-shadow: var(--ela-shadow-soft);
        }

        .mw-goal-level-grid article:nth-child(1) {
            background: color-mix(in srgb, var(--ela-sky) 42%, var(--ela-surface));
        }

        .mw-goal-level-grid article:nth-child(2) {
            background: color-mix(in srgb, var(--ela-mint) 42%, var(--ela-surface));
        }

        .mw-goal-level-grid article:nth-child(3) {
            background: color-mix(in srgb, var(--ela-yellow) 40%, var(--ela-surface));
        }

        .mw-goal-level-grid article:nth-child(4) {
            background: color-mix(in srgb, var(--ela-lavender) 46%, var(--ela-surface));
        }

        .mw-goal-level-code {
            width: 44px;
            height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 18%, var(--ela-line));
            border-radius: 50%;
            background: color-mix(in srgb, var(--ela-surface) 76%, transparent);
            color: var(--ela-primary-strong);
            font-size: 12px;
            font-weight: 650;
        }

        .mw-goal-level-grid h3 {
            margin: 20px 0 0;
            font-size: 19px;
            line-height: 1.35;
            font-weight: 490;
        }

        .mw-goal-level-grid p {
            margin: 9px 0 18px;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.55;
        }

        .mw-goal-level-grid a {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            margin-top: auto;
            color: var(--ela-primary-strong);
            font-size: 13px;
            font-weight: 520;
        }

        .mw-goal-support-list {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0 24px;
        }

        .mw-goal-support-list article {
            display: grid;
            grid-template-columns: 42px minmax(0, 1fr);
            gap: 16px;
            align-items: start;
            min-height: 116px;
            padding: 20px 0 18px;
            border-top: 1px solid var(--ela-line);
        }

        .mw-goal-support-list p {
            margin: 0;
            font-size: 18px;
            line-height: 1.5;
            font-weight: 450;
        }

        .mw-goal-proof-band {
            background: linear-gradient(115deg, color-mix(in srgb, var(--ela-mint) 66%, var(--ela-bg)) 0%, color-mix(in srgb, var(--ela-sky) 56%, var(--ela-bg)) 100%);
        }

        .mw-goal-proof-layout {
            max-width: 1040px;
            text-align: center;
        }

        .mw-goal-proof-layout h2 {
            margin: 0;
            font-size: clamp(28px, 3vw, 40px);
            line-height: 1.16;
            font-weight: 480;
        }

        .mw-goal-proof-journey {
            position: relative;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 28px;
            margin-top: 38px;
            text-align: left;
        }

        .mw-goal-proof-journey::before {
            position: absolute;
            top: 21px;
            right: 16.66%;
            left: 16.66%;
            height: 1px;
            background: color-mix(in srgb, var(--ela-primary) 26%, var(--ela-line));
            content: "";
        }

        .mw-goal-proof-journey article {
            position: relative;
            z-index: 1;
        }

        .mw-goal-proof-journey article > span {
            width: 42px;
            height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 24%, var(--ela-line));
            border-radius: 50%;
            background: var(--ela-surface);
            color: var(--ela-primary-strong);
            font-size: 11px;
            font-weight: 620;
        }

        .mw-goal-proof-journey h3 {
            margin: 18px 0 0;
            font-size: 17px;
            line-height: 1.4;
            font-weight: 520;
            text-align: center;
        }

        .mw-goal-proof-journey article p {
            margin: 8px 0 0;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.58;
            text-align: center;
        }

        .mw-goal-proof-meta {
            margin: 20px 0 0;
            color: var(--ela-primary-strong);
            font-size: 12px;
            line-height: 1.4;
            font-weight: 600;
            text-transform: uppercase;
        }

        .mw-goal-consultation {
            background: color-mix(in srgb, var(--ela-peach) 46%, var(--ela-surface));
        }

        .mw-goal-final {
            color: var(--ela-text);
            background: color-mix(in srgb, var(--ela-lavender) 68%, var(--ela-surface));
            box-shadow: inset 6px 0 0 var(--ela-primary);
        }

        .mw-goal-final p {
            color: var(--ela-muted);
        }

        .mw-goal-final .mw-button {
            color: #ffffff;
            background: var(--ela-primary);
        }

        @media (max-width: 1060px) {
            .mw-goal-level-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .mw-goal-level-grid article {
                min-height: 250px;
            }
        }

        @media (max-width: 760px) {
            .mw-goal-recognition-layout,
            .mw-goal-support-layout,
            .mw-goal-level-heading {
                grid-template-columns: 1fr;
                gap: 30px;
            }

            .mw-goal-outcome-grid,
            .mw-goal-level-grid,
            .mw-goal-support-list {
                grid-template-columns: 1fr;
            }

            .mw-goal-support-list {
                gap: 0;
            }

            .mw-goal-outcome-grid article {
                min-height: 0;
            }

            .mw-goal-level-grid article {
                min-height: 0;
            }

            .mw-goal-statement-list p {
                font-size: 20px;
            }

            .mw-goal-proof-layout {
                text-align: left;
            }

            .mw-goal-proof-journey {
                grid-template-columns: 1fr;
                gap: 0;
                margin-top: 30px;
            }

            .mw-goal-proof-journey::before {
                top: 21px;
                right: auto;
                bottom: 21px;
                left: 20px;
                width: 1px;
                height: auto;
            }

            .mw-goal-proof-journey article {
                display: grid;
                grid-template-columns: 42px minmax(0, 1fr);
                gap: 8px 14px;
                padding-bottom: 24px;
            }

            .mw-goal-proof-journey article > span {
                grid-row: 1 / span 2;
                margin: 0;
            }

            .mw-goal-proof-journey h3,
            .mw-goal-proof-journey article p {
                grid-column: 2;
                margin: 0;
                text-align: left;
            }

            .mw-goal-final {
                box-shadow: inset 0 5px 0 var(--ela-primary);
            }
        }

        .mw-path-hero {
            background: linear-gradient(115deg, color-mix(in srgb, var(--ela-sky) 58%, var(--ela-bg)) 0%, color-mix(in srgb, var(--ela-yellow) 40%, var(--ela-bg)) 100%);
        }

        .mw-path-hero-media > img {
            object-position: center;
        }

        .mw-path-outcomes-band {
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
            background: linear-gradient(120deg, color-mix(in srgb, var(--ela-peach) 38%, var(--ela-surface)) 0%, color-mix(in srgb, var(--ela-lavender) 42%, var(--ela-surface)) 100%);
        }

        .mw-path-outcome-grid {
            border-color: color-mix(in srgb, var(--ela-secondary) 12%, var(--ela-line));
        }

        .mw-path-journey-band {
            background: color-mix(in srgb, var(--ela-bg-soft) 64%, var(--ela-surface));
        }

        .mw-path-level-context {
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
            background: color-mix(in srgb, var(--ela-mint) 38%, var(--ela-surface));
        }

        .mw-path-level-context-layout {
            display: grid;
            grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
            gap: clamp(52px, 8vw, 108px);
            align-items: start;
        }

        .mw-path-related-list {
            border-top: 1px solid color-mix(in srgb, var(--ela-primary) 10%, var(--ela-line));
        }

        .mw-path-related-list a {
            display: grid;
            grid-template-columns: 48px minmax(0, 1fr) 24px;
            gap: 16px;
            align-items: center;
            padding: 20px 0;
            border-bottom: 1px solid color-mix(in srgb, var(--ela-primary) 10%, var(--ela-line));
            transition: color 160ms ease, padding-left 160ms ease;
        }

        .mw-path-related-list a:hover {
            padding-left: 6px;
            color: var(--ela-primary-strong);
        }

        .mw-path-related-list a > span {
            width: 42px;
            height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 18%, var(--ela-line));
            border-radius: 50%;
            background: color-mix(in srgb, var(--ela-surface) 78%, transparent);
            color: var(--ela-primary-strong);
            font-size: 11px;
            font-weight: 650;
        }

        .mw-path-related-list strong {
            font-size: 17px;
            line-height: 1.4;
            font-weight: 480;
        }

        .mw-path-related-list i {
            color: var(--ela-primary-strong);
            font-size: 18px;
        }

        .mw-path-proof-band {
            background: linear-gradient(115deg, color-mix(in srgb, var(--ela-yellow) 54%, var(--ela-bg)) 0%, color-mix(in srgb, var(--ela-lavender) 58%, var(--ela-bg)) 100%);
        }

        .mw-path-consultation {
            background: color-mix(in srgb, var(--ela-mint) 46%, var(--ela-surface));
        }

        @media (max-width: 760px) {
            .mw-path-level-context-layout {
                grid-template-columns: 1fr;
                gap: 30px;
            }
        }

        .mw-course-index-hero {
            padding: 70px 0 0;
            background: linear-gradient(120deg, color-mix(in srgb, var(--ela-sky) 54%, var(--ela-bg)) 0%, color-mix(in srgb, var(--ela-lavender) 46%, var(--ela-bg)) 52%, color-mix(in srgb, var(--ela-mint) 42%, var(--ela-bg)) 100%);
        }

        .mw-course-index-intro {
            max-width: 880px;
        }

        .mw-course-index-intro h1 {
            max-width: 760px;
            margin: 22px 0 0;
            font-size: clamp(42px, 5vw, 62px);
            line-height: 1.04;
            font-weight: 460;
        }

        .mw-course-index-intro > p {
            max-width: 780px;
            margin: 22px 0 0;
            color: color-mix(in srgb, var(--ela-text) 76%, var(--ela-muted));
            font-size: 18px;
            line-height: 1.62;
        }

        .mw-course-index-jump {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            margin-top: 56px;
            border-top: 1px solid color-mix(in srgb, var(--ela-primary) 13%, var(--ela-line));
        }

        .mw-course-index-jump a {
            min-width: 0;
            display: grid;
            grid-template-columns: auto minmax(0, 1fr) auto;
            gap: 12px;
            align-items: center;
            padding: 22px 20px;
            border-right: 1px solid color-mix(in srgb, var(--ela-primary) 13%, var(--ela-line));
            color: var(--ela-text);
            transition: background 160ms ease;
        }

        .mw-course-index-jump a:first-child {
            border-left: 1px solid color-mix(in srgb, var(--ela-primary) 13%, var(--ela-line));
        }

        .mw-course-index-jump a:hover {
            background: color-mix(in srgb, var(--ela-surface) 52%, transparent);
        }

        .mw-course-index-jump span {
            color: var(--ela-primary-strong);
            font-size: 11px;
            font-weight: 600;
        }

        .mw-course-index-jump strong {
            min-width: 0;
            font-size: 14px;
            line-height: 1.35;
            font-weight: 490;
        }

        .mw-course-index-jump i {
            color: var(--ela-muted);
            font-size: 17px;
        }

        .mw-course-index-chapter {
            border-bottom: 1px solid color-mix(in srgb, var(--ela-primary) 7%, var(--ela-line));
        }

        .mw-course-index-chapter-kids { background: color-mix(in srgb, var(--ela-sky) 38%, var(--ela-bg)); }
        .mw-course-index-chapter-general { background: color-mix(in srgb, var(--ela-mint) 36%, var(--ela-bg)); }
        .mw-course-index-chapter-work { background: color-mix(in srgb, var(--ela-yellow) 31%, var(--ela-bg)); }
        .mw-course-index-chapter-ielts { background: color-mix(in srgb, var(--ela-lavender) 38%, var(--ela-bg)); }

        .mw-course-index-chapter-layout {
            display: grid;
            grid-template-columns: minmax(360px, 0.92fr) minmax(0, 1.08fr);
            gap: clamp(56px, 8vw, 112px);
            align-items: center;
            padding-top: 82px;
            padding-bottom: 82px;
        }

        .mw-course-index-chapter-layout.is-reversed .mw-course-index-media { order: 2; }
        .mw-course-index-chapter-layout.is-reversed .mw-course-index-copy { order: 1; }

        .mw-course-index-media {
            padding: 13px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 10%, var(--ela-line));
            border-radius: 24px;
            background: color-mix(in srgb, var(--ela-surface) 72%, transparent);
            box-shadow: var(--ela-shadow-panel);
        }

        .mw-course-index-media img {
            width: 100%;
            aspect-ratio: 16 / 11;
            display: block;
            object-fit: cover;
            border-radius: 16px;
        }

        .mw-course-index-copy > span {
            color: var(--ela-primary-strong);
            font-size: 12px;
            line-height: 1.4;
            font-weight: 600;
            text-transform: uppercase;
        }

        .mw-course-index-copy h2 {
            max-width: 650px;
            margin: 12px 0 0;
            font-size: clamp(30px, 3.2vw, 40px);
            line-height: 1.08;
            font-weight: 470;
        }

        .mw-course-index-copy > p {
            max-width: 650px;
            margin: 18px 0 0;
            color: color-mix(in srgb, var(--ela-text) 76%, var(--ela-muted));
            font-size: 17px;
            line-height: 1.6;
        }

        .mw-course-index-copy ul {
            display: grid;
            gap: 11px;
            margin: 25px 0 0;
            padding: 0;
            list-style: none;
        }

        .mw-course-index-copy li {
            display: flex;
            gap: 10px;
            align-items: flex-start;
            color: color-mix(in srgb, var(--ela-text) 84%, var(--ela-muted));
            font-size: 15px;
            line-height: 1.48;
        }

        .mw-course-index-copy li i {
            margin-top: 2px;
            color: var(--ela-primary-strong);
            font-size: 17px;
        }

        .mw-course-index-copy .mw-button { margin-top: 30px; }

        .mw-course-guidance {
            padding: 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            box-shadow: none;
        }

        .mw-course-guidance-factors {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            margin: 38px 0 32px;
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-course-guidance-factors article {
            display: grid;
            grid-template-columns: 42px minmax(0, 1fr);
            gap: 15px;
            padding: 25px 24px;
            border-right: 1px solid var(--ela-line);
        }

        .mw-course-guidance-factors article:first-child { padding-left: 0; }
        .mw-course-guidance-factors article:last-child { padding-right: 0; border-right: 0; }

        .mw-course-guidance-factors article > span {
            width: 42px;
            height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: color-mix(in srgb, var(--ela-primary) 9%, var(--ela-surface));
            color: var(--ela-primary-strong);
            font-size: 19px;
        }

        .mw-course-guidance-factors h3 {
            margin: 1px 0 0;
            font-size: 17px;
            line-height: 1.35;
            font-weight: 490;
        }

        .mw-course-guidance-factors p {
            margin: 7px 0 0;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.55;
        }

        @media (max-width: 980px) {
            .mw-course-index-jump { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .mw-course-index-jump a:nth-child(3) { border-left: 1px solid color-mix(in srgb, var(--ela-primary) 13%, var(--ela-line)); }
            .mw-course-index-jump a:nth-child(n + 3) { border-top: 1px solid color-mix(in srgb, var(--ela-primary) 13%, var(--ela-line)); }
            .mw-course-index-chapter-layout { grid-template-columns: minmax(300px, 0.85fr) minmax(0, 1.15fr); gap: 44px; }
            .mw-course-guidance-factors { grid-template-columns: 1fr; }
            .mw-course-guidance-factors article,
            .mw-course-guidance-factors article:first-child,
            .mw-course-guidance-factors article:last-child { padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--ela-line); }
            .mw-course-guidance-factors article:last-child { border-bottom: 0; }
        }

        @media (max-width: 760px) {
            .mw-course-index-hero { padding-top: 38px; }
            .mw-course-index-intro h1 { font-size: 37px; }
            .mw-course-index-intro > p { font-size: 16px; }
            .mw-course-index-jump { grid-template-columns: 1fr; margin-top: 38px; }
            .mw-course-index-jump a,
            .mw-course-index-jump a:nth-child(3) { padding: 16px 0; border-top: 1px solid color-mix(in srgb, var(--ela-primary) 13%, var(--ela-line)); border-right: 0; border-left: 0; }
            .mw-course-index-jump a:first-child { border-top: 0; }
            .mw-course-index-chapter-layout { grid-template-columns: 1fr; gap: 34px; padding-top: 58px; padding-bottom: 58px; }
            .mw-course-index-chapter-layout.is-reversed .mw-course-index-media,
            .mw-course-index-chapter-layout.is-reversed .mw-course-index-copy { order: initial; }
            .mw-course-index-media { padding: 9px; border-radius: 19px; }
            .mw-course-index-media img { border-radius: 13px; }
            .mw-course-index-copy h2 { font-size: 28px; }
            .mw-course-index-copy > p { font-size: 16px; }
            .mw-course-index-copy .mw-button,
            .mw-course-guidance > .mw-button { width: 100%; }
        }

        .mw-work-hero {
            background: linear-gradient(118deg, color-mix(in srgb, var(--ela-mint) 52%, var(--ela-bg)) 0%, color-mix(in srgb, var(--ela-yellow) 38%, var(--ela-bg)) 100%);
        }

        .mw-work-hero-media > img,
        .mw-ielts-hero-media > img {
            object-position: center;
        }

        .mw-work-outcomes-band {
            background: linear-gradient(120deg, color-mix(in srgb, var(--ela-mint) 42%, var(--ela-surface)) 0%, color-mix(in srgb, var(--ela-sky) 38%, var(--ela-surface)) 100%);
        }

        .mw-work-contexts-band {
            background: color-mix(in srgb, var(--ela-yellow) 28%, var(--ela-surface));
        }

        .mw-goal-support-list article > div h3 {
            margin: 0;
            font-size: 18px;
            line-height: 1.35;
            font-weight: 490;
        }

        .mw-goal-support-list article > div p {
            margin: 6px 0 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.55;
        }

        .mw-work-consultation {
            background: color-mix(in srgb, var(--ela-mint) 42%, var(--ela-surface));
        }

        .mw-ielts-hero {
            background: linear-gradient(118deg, color-mix(in srgb, var(--ela-lavender) 54%, var(--ela-bg)) 0%, color-mix(in srgb, var(--ela-yellow) 38%, var(--ela-bg)) 100%);
        }

        .mw-ielts-fit-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            margin-top: 42px;
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-ielts-fit-grid article {
            padding: 28px 30px;
            border-right: 1px solid var(--ela-line);
        }

        .mw-ielts-fit-grid article:first-child { padding-left: 0; }
        .mw-ielts-fit-grid article:last-child { padding-right: 0; border-right: 0; }

        .mw-ielts-fit-grid article > span {
            width: 44px;
            height: 44px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: color-mix(in srgb, var(--ela-primary) 9%, var(--ela-surface));
            color: var(--ela-primary-strong);
            font-size: 20px;
        }

        .mw-ielts-fit-grid h3 {
            margin: 19px 0 0;
            font-size: 20px;
            line-height: 1.35;
            font-weight: 490;
        }

        .mw-ielts-fit-grid p {
            margin: 8px 0 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.58;
        }

        .mw-ielts-loop-band {
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
            background: linear-gradient(120deg, color-mix(in srgb, var(--ela-lavender) 45%, var(--ela-surface)) 0%, color-mix(in srgb, var(--ela-sky) 34%, var(--ela-surface)) 100%);
        }

        .mw-ielts-loop {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            margin-top: 42px;
            border-top: 1px solid color-mix(in srgb, var(--ela-primary) 13%, var(--ela-line));
            border-left: 1px solid color-mix(in srgb, var(--ela-primary) 13%, var(--ela-line));
        }

        .mw-ielts-loop article {
            min-height: 176px;
            display: grid;
            grid-template-columns: 38px minmax(0, 1fr);
            gap: 15px;
            padding: 24px;
            border-right: 1px solid color-mix(in srgb, var(--ela-primary) 13%, var(--ela-line));
            border-bottom: 1px solid color-mix(in srgb, var(--ela-primary) 13%, var(--ela-line));
        }

        .mw-ielts-loop article > span {
            width: 36px;
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: color-mix(in srgb, var(--ela-surface) 76%, transparent);
            color: var(--ela-primary-strong);
            font-size: 11px;
            font-weight: 600;
        }

        .mw-ielts-loop h3 {
            margin: 3px 0 0;
            font-size: 18px;
            line-height: 1.35;
            font-weight: 490;
        }

        .mw-ielts-loop p {
            margin: 8px 0 0;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.56;
        }

        .mw-ielts-skills-layout {
            display: grid;
            grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
            gap: clamp(52px, 8vw, 108px);
            align-items: start;
        }

        .mw-ielts-skills-layout .mw-program-section-intro p {
            max-width: 480px;
            margin: 18px 0 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.6;
        }

        .mw-ielts-skill-list {
            border-top: 1px solid var(--ela-line);
        }

        .mw-ielts-skill-list article {
            display: grid;
            grid-template-columns: minmax(120px, 0.34fr) minmax(0, 1fr);
            gap: 24px;
            padding: 24px 0;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-ielts-skill-list strong {
            font-size: 18px;
            line-height: 1.4;
            font-weight: 510;
        }

        .mw-ielts-skill-list p {
            margin: 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.58;
        }

        .mw-ielts-practice-band {
            background: color-mix(in srgb, var(--ela-yellow) 26%, var(--ela-surface));
        }

        .mw-ielts-practice-compare {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            margin-top: 40px;
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-ielts-practice-compare article {
            display: grid;
            grid-template-columns: 42px minmax(0, 1fr);
            gap: 18px;
            padding: 30px 34px;
            border-right: 1px solid var(--ela-line);
        }

        .mw-ielts-practice-compare article:first-child { padding-left: 0; }
        .mw-ielts-practice-compare article:last-child { padding-right: 0; border-right: 0; }

        .mw-ielts-practice-compare article > span {
            color: var(--ela-primary-strong);
            font-size: 12px;
            font-weight: 600;
        }

        .mw-ielts-practice-compare h3 {
            margin: 0;
            font-size: 21px;
            line-height: 1.35;
            font-weight: 490;
        }

        .mw-ielts-practice-compare p {
            margin: 9px 0 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.58;
        }

        .mw-ielts-consultation {
            background: color-mix(in srgb, var(--ela-lavender) 46%, var(--ela-surface));
        }

        .mw-visually-hidden {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        .mw-teacher-directory-hero {
            padding: 44px 0 42px;
            border-bottom: 1px solid var(--ela-line);
            background: linear-gradient(122deg, color-mix(in srgb, var(--ela-lavender) 54%, var(--ela-bg)) 0%, color-mix(in srgb, var(--ela-mint) 35%, var(--ela-bg)) 100%);
        }

        .mw-teacher-directory-heading {
            display: block;
            text-align: left;
        }

        .mw-teacher-directory-heading > span,
        .mw-teacher-profile-role,
        .mw-teacher-profile-guidance > div > span {
            display: block;
            color: var(--ela-primary-strong);
            font-size: 12px;
            font-weight: 600;
            text-transform: uppercase;
        }

        .mw-teacher-directory-heading h1 {
            max-width: 880px;
            margin: 0;
            font-size: clamp(38px, 4vw, 50px);
            line-height: 1.08;
            font-weight: 450;
        }

        .mw-teacher-directory-heading p {
            max-width: 620px;
            margin: 14px 0 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.6;
        }

        .mw-teacher-directory-section {
            padding-top: 32px;
            padding-bottom: 84px;
        }

        .mw-teacher-directory-tools {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            margin-bottom: 22px;
        }

        .mw-teacher-directory-tools > p {
            margin: 0;
            color: var(--ela-muted);
            font-size: 14px;
        }

        .mw-teacher-search {
            width: min(100%, 340px);
            height: 44px;
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 0 14px;
            border: 1px solid var(--ela-line);
            border-radius: 8px;
            background: var(--ela-surface);
            color: var(--ela-muted);
        }

        .mw-teacher-search:focus-within {
            border-color: color-mix(in srgb, var(--ela-primary) 56%, var(--ela-line));
            box-shadow: 0 0 0 3px color-mix(in srgb, var(--ela-primary) 10%, transparent);
        }

        .mw-teacher-search input {
            min-width: 0;
            flex: 1;
            border: 0;
            outline: 0;
            background: transparent;
            color: var(--ela-text);
            font: inherit;
            font-size: 14px;
        }

        .mw-teacher-directory-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 22px;
        }

        .mw-teacher-directory-card {
            min-width: 0;
            overflow: hidden;
            border: 1px solid var(--ela-line);
            border-radius: 8px;
            background: var(--ela-surface);
            transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
        }

        .mw-teacher-directory-card:hover {
            border-color: color-mix(in srgb, var(--ela-primary) 28%, var(--ela-line));
            box-shadow: var(--ela-shadow-soft);
            transform: translateY(-2px);
        }

        .mw-teacher-directory-portrait {
            display: block;
            aspect-ratio: 1 / 1;
            padding: 8px;
            overflow: hidden;
            border-bottom: 1px solid var(--ela-line);
            background: color-mix(in srgb, var(--ela-lavender) 24%, var(--ela-surface));
        }

        .mw-teacher-directory-portrait img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            object-position: center top;
            border-radius: 5px;
        }

        .mw-teacher-directory-card-body {
            min-height: 146px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            gap: 16px;
            padding: 16px;
        }

        .mw-teacher-directory-card h2 {
            margin: 0;
            font-size: 19px;
            line-height: 1.35;
            font-weight: 520;
        }

        .mw-teacher-directory-card h2 a {
            color: var(--ela-text);
            text-decoration: none;
        }

        .mw-teacher-directory-card p {
            display: -webkit-box;
            margin: 8px 0 0;
            overflow: hidden;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.5;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
        }

        .mw-teacher-directory-actions {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }

        .mw-teacher-directory-actions > a:first-child,
        .mw-section-head > a {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: var(--ela-primary-strong);
            font-size: 14px;
            font-weight: 560;
            text-decoration: none;
        }

        .mw-icon-action {
            width: 36px;
            height: 36px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 36px;
            border: 1px solid var(--ela-line);
            border-radius: 50%;
            background: var(--ela-surface);
            color: var(--ela-primary-strong);
            text-decoration: none;
        }

        .mw-teacher-search-empty {
            padding: 36px 0;
            color: var(--ela-muted);
            text-align: center;
        }

        .mw-teacher-matching-band,
        .mw-teacher-profile-guidance-band {
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
            background: color-mix(in srgb, var(--ela-mint) 30%, var(--ela-surface));
        }

        .mw-teacher-matching-layout {
            display: grid;
            grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
            gap: clamp(58px, 9vw, 124px);
            padding-top: 76px;
            padding-bottom: 76px;
        }

        .mw-teacher-matching-layout .mw-program-section-intro > p {
            margin: 18px 0 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.6;
        }

        .mw-teacher-matching-list {
            border-top: 1px solid var(--ela-line);
        }

        .mw-teacher-matching-list article {
            display: grid;
            grid-template-columns: 42px minmax(0, 1fr);
            gap: 18px;
            padding: 24px 0;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-teacher-matching-list span {
            color: var(--ela-primary-strong);
            font-size: 12px;
            font-weight: 600;
        }

        .mw-teacher-matching-list p {
            margin: 0;
            font-size: 17px;
            line-height: 1.5;
        }

        .mw-teacher-final {
            border: 1px solid color-mix(in srgb, var(--ela-primary) 14%, var(--ela-line));
            background: color-mix(in srgb, var(--ela-lavender) 48%, var(--ela-surface));
            color: var(--ela-text);
        }

        .mw-teacher-final p {
            color: var(--ela-muted);
        }

        .mw-teacher-final .mw-button {
            background: var(--ela-primary);
            color: #fff;
        }

        .mw-teacher-profile-hero {
            padding: 48px 0 54px;
            border-bottom: 1px solid var(--ela-line);
            background: linear-gradient(120deg, color-mix(in srgb, var(--ela-sky) 34%, var(--ela-bg)) 0%, color-mix(in srgb, var(--ela-lavender) 40%, var(--ela-bg)) 100%);
        }

        .mw-teacher-profile-hero-grid {
            display: grid;
            grid-template-columns: minmax(360px, 0.88fr) minmax(0, 1.12fr);
            gap: clamp(48px, 6vw, 82px);
            align-items: center;
        }

        .mw-teacher-profile-portrait {
            max-width: 500px;
            aspect-ratio: 16 / 11;
            padding: 8px;
            overflow: hidden;
            border: 1px solid var(--ela-line);
            border-radius: 8px;
            background: var(--ela-surface);
            box-shadow: var(--ela-shadow-soft);
        }

        .mw-teacher-profile-portrait img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            object-position: center top;
            border-radius: 5px;
        }

        .mw-teacher-profile-heading h1 {
            margin: 18px 0 0;
            font-size: clamp(42px, 4.5vw, 58px);
            line-height: 1.05;
            font-weight: 450;
        }

        .mw-teacher-profile-heading .mw-button {
            gap: 8px;
        }

        .mw-teacher-profile-heading .mw-cta-row > a.mw-button,
        .mw-teacher-profile-heading .mw-cta-row > form .mw-button {
            min-height: 46px;
            height: 46px;
            padding-top: 0;
            padding-bottom: 0;
            box-sizing: border-box;
        }

        .mw-teacher-profile-heading .mw-cta-row > a.mw-button {
            background-clip: padding-box;
        }

        .mw-teacher-profile-heading .mw-cta-row > form {
            display: flex;
        }

        .mw-teacher-profile-headline {
            max-width: 620px;
            margin: 20px 0 0;
            color: var(--ela-muted);
            font-size: 20px;
            line-height: 1.5;
        }

        .mw-teacher-profile-overview {
            max-width: 1080px;
            margin: 0 auto;
        }

        .mw-teacher-profile-story {
            display: grid;
            grid-template-columns: minmax(240px, 0.6fr) minmax(0, 1.4fr);
            gap: clamp(42px, 7vw, 90px);
            align-items: start;
        }

        .mw-teacher-profile-story h2 {
            margin: 0;
            font-size: clamp(30px, 3vw, 40px);
            line-height: 1.18;
            font-weight: 500;
        }

        .mw-teacher-profile-bio {
            margin-top: 2px;
        }

        .mw-teacher-profile-bio p {
            margin: 0 0 18px;
            color: var(--ela-text);
            font-size: 17px;
            line-height: 1.7;
        }

        .mw-teacher-profile-details {
            display: grid;
            grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
            gap: clamp(42px, 7vw, 84px);
            margin-top: 42px;
            padding-top: 38px;
            border-top: 1px solid var(--ela-line);
        }

        .mw-teacher-profile-detail-group + .mw-teacher-profile-detail-group {
            margin-top: 0;
            padding-top: 0;
            border-top: 0;
        }

        .mw-teacher-profile-detail-group h3 {
            margin: 0;
            font-size: 19px;
            line-height: 1.4;
            font-weight: 540;
        }

        .mw-teacher-profile-field-list,
        .mw-teacher-qualification-list {
            margin-top: 16px;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-teacher-profile-field-list article {
            display: grid;
            grid-template-columns: minmax(120px, 0.7fr) minmax(0, 1.3fr);
            gap: 20px;
            padding: 13px 0;
            border-top: 1px solid var(--ela-line);
        }

        .mw-teacher-profile-field-list span {
            color: var(--ela-muted);
            font-size: 13px;
            line-height: 1.5;
        }

        .mw-teacher-profile-field-list p {
            margin: 0;
            font-size: 14px;
            line-height: 1.5;
        }

        .mw-teacher-qualification-list article {
            display: grid;
            grid-template-columns: 20px minmax(0, 1fr);
            gap: 10px;
            padding: 13px 0;
            border-top: 1px solid var(--ela-line);
        }

        .mw-teacher-qualification-list article > i {
            margin-top: 2px;
            color: var(--ela-primary-strong);
        }

        .mw-teacher-qualification-list article > div:only-child {
            grid-column: 1 / -1;
        }

        .mw-teacher-qualification-list strong {
            font-size: 14px;
            line-height: 1.45;
            font-weight: 540;
        }

        .mw-teacher-qualification-list p {
            margin: 5px 0 0;
            color: var(--ela-muted);
            font-size: 13px;
            line-height: 1.5;
        }

        .mw-teacher-profile-guidance {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(360px, 0.8fr);
            gap: clamp(50px, 8vw, 110px);
            padding-top: 72px;
            padding-bottom: 72px;
        }

        .mw-teacher-profile-guidance h2 {
            max-width: 620px;
            margin: 14px 0 0;
            font-size: clamp(30px, 3.4vw, 46px);
            line-height: 1.15;
            font-weight: 500;
        }

        .mw-teacher-profile-guidance p {
            max-width: 650px;
            margin: 18px 0 0;
            color: var(--ela-muted);
            font-size: 16px;
            line-height: 1.62;
        }

        .mw-teacher-profile-guidance ul {
            margin: 0;
            padding: 0;
            list-style: none;
            border-top: 1px solid var(--ela-line);
        }

        .mw-teacher-profile-guidance li {
            display: grid;
            grid-template-columns: 24px minmax(0, 1fr);
            gap: 10px;
            padding: 18px 0;
            border-bottom: 1px solid var(--ela-line);
            font-size: 15px;
            line-height: 1.52;
        }

        .mw-teacher-profile-guidance li i {
            color: var(--ela-primary-strong);
        }

        .mw-teacher-related-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 22px;
            margin-top: 34px;
        }

        .mw-teacher-related-grid a {
            display: grid;
            grid-template-columns: 62px minmax(0, 1fr) 20px;
            gap: 16px;
            align-items: center;
            padding: 12px;
            border: 1px solid var(--ela-line);
            border-radius: 8px;
            background: var(--ela-surface);
            color: var(--ela-text);
            text-decoration: none;
        }

        .mw-teacher-related-grid img {
            width: 62px;
            height: 76px;
            object-fit: cover;
            object-position: center top;
            border-radius: 5px;
        }

        .mw-teacher-related-grid span {
            font-size: 16px;
            font-weight: 520;
        }

        .mw-teacher-directory-navigation {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            margin-bottom: 18px;
        }

        .mw-teacher-directory-tabs {
            display: flex;
            align-items: center;
            gap: 26px;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-teacher-directory-tabs a {
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            min-height: 46px;
            color: var(--ela-muted);
            font-size: 14px;
            font-weight: 520;
            text-decoration: none;
        }

        .mw-teacher-directory-tabs a::after {
            position: absolute;
            right: 0;
            bottom: -1px;
            left: 0;
            height: 2px;
            background: transparent;
            content: '';
        }

        .mw-teacher-directory-tabs a.is-active {
            color: var(--ela-text);
        }

        .mw-teacher-directory-tabs a.is-active::after {
            background: var(--ela-primary);
        }

        .mw-teacher-directory-tabs a span {
            min-width: 20px;
            height: 20px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0 5px;
            border-radius: 50%;
            background: color-mix(in srgb, var(--ela-primary) 12%, var(--ela-surface));
            color: var(--ela-primary-strong);
            font-size: 11px;
        }

        .mw-teacher-directory-navigation .mw-teacher-directory-tools {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 10px;
            margin: 0;
        }

        .mw-teacher-search-form {
            margin: 0;
        }

        .mw-teacher-filter {
            position: relative;
            min-width: 210px;
            height: 44px;
            display: flex;
            align-items: center;
            border: 1px solid var(--ela-line);
            border-radius: 8px;
            background: var(--ela-surface);
        }

        .mw-teacher-filter select {
            width: 100%;
            height: 100%;
            padding: 0 38px 0 14px;
            border: 0;
            outline: 0;
            appearance: none;
            background: transparent;
            color: var(--ela-text);
            font: inherit;
            font-size: 14px;
        }

        .mw-teacher-filter i {
            position: absolute;
            right: 13px;
            pointer-events: none;
            color: var(--ela-muted);
        }

        .mw-teacher-directory-count {
            margin: 0 0 18px;
            color: var(--ela-muted);
            font-size: 13px;
        }

        .mw-teacher-card-heading {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px;
        }

        .mw-teacher-card-heading > div:first-child {
            min-width: 0;
        }

        .mw-teacher-card-controls {
            display: flex;
            align-items: center;
            gap: 7px;
        }

        .mw-teacher-card-controls form,
        .mw-teacher-profile-heading form {
            margin: 0;
        }

        button.mw-icon-action {
            padding: 0;
            font: inherit;
            cursor: pointer;
        }

        [data-follow-button].is-loading {
            opacity: 0.64;
            pointer-events: none;
        }

        .mw-icon-action.is-active {
            border-color: color-mix(in srgb, var(--ela-primary) 30%, var(--ela-line));
            background: color-mix(in srgb, var(--ela-primary) 12%, var(--ela-surface));
        }

        .mw-teacher-card-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }

        .mw-teacher-card-tags span,
        .mw-teacher-profile-specialties span {
            display: inline-flex;
            align-items: center;
            min-height: 28px;
            padding: 5px 9px;
            border: 1px solid var(--ela-line);
            border-radius: 999px;
            color: var(--ela-muted);
            font-size: 12px;
            line-height: 1.35;
        }

        .mw-teacher-card-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding-top: 13px;
            border-top: 1px solid var(--ela-line);
        }

        .mw-teacher-card-footer span,
        .mw-teacher-card-footer a {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 13px;
        }

        .mw-teacher-card-footer span {
            color: var(--ela-muted);
        }

        .mw-teacher-card-footer a {
            color: var(--ela-primary-strong);
            font-weight: 540;
            text-decoration: none;
        }

        .mw-teacher-directory-empty-state {
            max-width: 560px;
            margin: 56px auto 0;
            text-align: center;
        }

        .mw-teacher-directory-empty-state > i {
            color: var(--ela-primary-strong);
            font-size: 34px;
        }

        .mw-teacher-directory-empty-state h2 {
            margin: 16px 0 0;
            font-size: 26px;
            line-height: 1.25;
            font-weight: 500;
        }

        .mw-teacher-directory-empty-state p {
            margin: 10px auto 22px;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.6;
        }

        .mw-teacher-pagination {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            margin-top: 42px;
        }

        .mw-teacher-pagination a,
        .mw-teacher-pagination span {
            width: 38px;
            height: 38px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--ela-line);
            border-radius: 50%;
            background: var(--ela-surface);
            color: var(--ela-text);
            font-size: 13px;
            text-decoration: none;
        }

        .mw-teacher-pagination a.is-active {
            border-color: var(--ela-primary);
            background: var(--ela-primary);
            color: #fff;
        }

        .mw-teacher-pagination span.is-disabled {
            color: var(--ela-muted);
            opacity: 0.45;
        }

        .mw-teacher-profile-portrait {
            position: relative;
        }

        .mw-teacher-profile-video {
            position: absolute;
            right: 20px;
            bottom: 20px;
            display: inline-flex;
            align-items: center;
            gap: 9px;
            min-height: 40px;
            padding: 8px 13px 8px 9px;
            border-radius: 999px;
            background: rgba(255, 255, 255, 0.94);
            box-shadow: 0 8px 22px rgba(30, 35, 47, 0.18);
            color: #252735;
            font-size: 13px;
            font-weight: 540;
            text-decoration: none;
        }

        .mw-teacher-profile-video i {
            width: 24px;
            height: 24px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: var(--ela-primary);
            color: #fff;
        }

        .mw-teacher-profile-metrics {
            display: flex;
            flex-wrap: wrap;
            gap: 0;
            margin-top: 26px;
        }

        .mw-teacher-profile-metrics span {
            min-width: 112px;
            padding: 0 20px;
            border-left: 1px solid var(--ela-line);
            color: var(--ela-muted);
            font-size: 12px;
            line-height: 1.35;
        }

        .mw-teacher-profile-metrics span:first-child {
            padding-left: 0;
            border-left: 0;
        }

        .mw-teacher-profile-metrics strong {
            display: block;
            margin-bottom: 3px;
            color: var(--ela-text);
            font-size: 19px;
            line-height: 1.2;
            font-weight: 560;
        }

        .mw-teacher-profile-content {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 330px;
            gap: clamp(54px, 8vw, 110px);
            align-items: start;
            padding-top: 68px;
            padding-bottom: 78px;
        }

        .mw-teacher-profile-main {
            min-width: 0;
        }

        .mw-teacher-profile-main .mw-teacher-profile-story {
            display: block;
        }

        .mw-teacher-profile-detail-group {
            margin-top: 46px;
            padding-top: 38px;
            border-top: 1px solid var(--ela-line);
        }

        .mw-teacher-profile-detail-group + .mw-teacher-profile-detail-group {
            margin-top: 46px;
            padding-top: 38px;
            border-top: 1px solid var(--ela-line);
        }

        .mw-teacher-profile-detail-group h2 {
            margin: 0;
            font-size: 25px;
            line-height: 1.3;
            font-weight: 500;
        }

        .mw-teacher-profile-specialties {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 18px;
        }

        .mw-teacher-profile-aside {
            position: sticky;
            top: 92px;
            border-top: 1px solid var(--ela-line);
        }

        .mw-teacher-profile-aside-action {
            display: grid;
            grid-template-columns: 26px minmax(0, 1fr) 18px;
            gap: 12px;
            align-items: center;
            padding: 17px 0;
            border-bottom: 1px solid var(--ela-line);
            color: var(--ela-text);
            text-decoration: none;
        }

        .mw-teacher-profile-aside-action > i:first-child {
            color: var(--ela-primary-strong);
            font-size: 20px;
        }

        .mw-teacher-profile-aside-action > i:last-child {
            color: var(--ela-muted);
        }

        .mw-teacher-profile-aside-action span,
        .mw-teacher-profile-aside-action strong {
            display: block;
        }

        .mw-teacher-profile-aside-action strong {
            font-size: 14px;
            line-height: 1.4;
            font-weight: 540;
        }

        .mw-teacher-profile-aside-action span {
            color: var(--ela-muted);
            font-size: 12px;
            line-height: 1.45;
        }

        .mw-teacher-profile-consult {
            margin-top: 28px;
            padding: 24px;
            border-radius: 8px;
            background: color-mix(in srgb, var(--ela-lavender) 42%, var(--ela-surface));
        }

        .mw-teacher-profile-consult h2 {
            margin: 0;
            font-size: 21px;
            line-height: 1.35;
            font-weight: 500;
        }

        .mw-teacher-profile-consult p {
            margin: 10px 0 18px;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.55;
        }

        .mw-teacher-profile-consult .mw-button {
            width: 100%;
        }

        .mw-teacher-related-section {
            border-top: 1px solid var(--ela-line);
        }

        .mw-pricing-hero {
            padding: 46px 0 44px;
            border-bottom: 1px solid var(--ela-line);
            background: linear-gradient(120deg, color-mix(in srgb, var(--ela-mint) 35%, var(--ela-bg)) 0%, color-mix(in srgb, var(--ela-sky) 42%, var(--ela-bg)) 100%);
        }

        .mw-pricing-hero-layout {
            display: grid;
            grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.72fr);
            gap: clamp(48px, 8vw, 112px);
            align-items: end;
        }

        .mw-pricing-hero-layout > div > span,
        .mw-pricing-section-heading > div > span {
            display: block;
            color: var(--ela-primary-strong);
            font-size: 12px;
            font-weight: 600;
            text-transform: uppercase;
        }

        .mw-pricing-hero h1 {
            max-width: 720px;
            margin: 16px 0 0;
            font-size: clamp(40px, 4.5vw, 58px);
            line-height: 1.06;
            font-weight: 450;
        }

        .mw-pricing-hero p {
            max-width: 520px;
            margin: 0 0 4px;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.65;
        }

        .mw-pricing-section {
            padding-top: 42px;
            padding-bottom: 84px;
        }

        .mw-pricing-section-compact {
            padding-top: 32px;
        }

        .mw-pricing-section-heading {
            display: flex;
            align-items: end;
            justify-content: space-between;
            gap: 36px;
            margin-bottom: 26px;
        }

        .mw-pricing-section-heading h1,
        .mw-pricing-section-heading h2 {
            margin: 12px 0 0;
            font-size: clamp(28px, 3vw, 38px);
            line-height: 1.15;
            font-weight: 480;
        }

        .mw-pricing-section-heading > p {
            max-width: 420px;
            margin: 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.56;
        }

        .mw-pricing-groups {
            display: grid;
            gap: 38px;
        }

        .mw-pricing-group {
            padding: 28px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 10%, var(--ela-line));
            border-radius: 18px;
            background: color-mix(in srgb, var(--ela-surface) 88%, var(--ela-sky));
            box-shadow: var(--ela-shadow-soft);
        }

        .mw-pricing-group[data-pricing-group="access_pass"] {
            background: color-mix(in srgb, var(--ela-mint) 30%, var(--ela-surface));
        }

        .mw-pricing-group[data-pricing-group="ielts"] {
            background: color-mix(in srgb, var(--ela-lavender) 32%, var(--ela-surface));
        }

        .mw-pricing-group-head {
            display: flex;
            align-items: end;
            justify-content: space-between;
            gap: 32px;
            margin-bottom: 20px;
        }

        .mw-pricing-group-head span {
            display: block;
            color: var(--ela-primary-strong);
            font-size: 11px;
            line-height: 1.3;
            font-weight: 680;
            text-transform: uppercase;
        }

        .mw-pricing-group-head h3 {
            margin: 8px 0 0;
            font-size: clamp(24px, 2.5vw, 34px);
            line-height: 1.18;
            font-weight: 520;
            text-transform: capitalize;
        }

        .mw-pricing-group-head p {
            max-width: 520px;
            margin: 0;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.58;
        }

        .mw-pricing-comparison {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px;
        }

        .mw-pricing-comparison article {
            display: flex;
            min-width: 0;
            flex-direction: column;
            padding: 28px;
            border: 1px solid var(--ela-line);
            border-radius: 8px;
            background: var(--ela-surface);
            box-shadow: 0 10px 24px rgba(36, 39, 84, 0.04);
        }

        .mw-pricing-comparison article.is-muted {
            background: color-mix(in srgb, var(--ela-surface) 92%, var(--ela-muted));
        }

        .mw-pricing-comparison article.is-muted .mw-pricing-amount,
        .mw-pricing-comparison article.is-muted dl {
            opacity: 0.68;
        }

        .mw-pricing-plan-heading {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 14px;
        }

        .mw-pricing-plan-heading > span {
            font-size: 23px;
            line-height: 1.3;
            font-weight: 500;
            text-transform: capitalize;
        }

        .mw-pricing-plan-heading small {
            max-width: 125px;
            color: var(--ela-muted);
            font-size: 12px;
            line-height: 1.35;
            text-align: right;
        }

        .mw-pricing-amount {
            margin-top: 28px;
            padding-bottom: 26px;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-pricing-amount strong {
            display: block;
            font-size: clamp(30px, 3vw, 40px);
            line-height: 1.1;
            font-weight: 520;
        }

        .mw-pricing-amount span {
            display: block;
            margin-top: 8px;
            color: var(--ela-muted);
            font-size: 13px;
        }

        .mw-pricing-comparison dl {
            margin: 20px 0 28px;
        }

        .mw-pricing-comparison dl > div {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 18px;
            padding: 9px 0;
        }

        .mw-pricing-comparison dt {
            color: var(--ela-muted);
            font-size: 13px;
            font-weight: 400;
        }

        .mw-pricing-comparison dd {
            margin: 0;
            font-size: 14px;
            font-weight: 520;
            text-align: right;
        }

        .mw-pricing-comparison .mw-button {
            width: 100%;
            margin-top: auto;
        }

        .mw-pricing-tax-note {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 7px;
            margin: 18px 0 0;
            color: var(--ela-muted);
            font-size: 13px;
        }

        .mw-pricing-tax-note i {
            color: var(--ela-primary-strong);
            font-size: 16px;
        }

        .mw-pricing-empty {
            padding: 32px;
            border: 1px solid var(--ela-line);
            border-radius: 8px;
            color: var(--ela-muted);
            text-align: center;
        }

        .mw-access-pass-modal {
            position: fixed;
            inset: 0;
            z-index: 1200;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }

        .mw-access-pass-modal.is-open {
            display: flex;
        }

        .mw-access-pass-modal-backdrop {
            position: absolute;
            inset: 0;
            background: rgba(18, 24, 38, 0.42);
        }

        .mw-access-pass-modal-dialog {
            position: relative;
            width: min(100%, 440px);
            padding: 28px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 10%, var(--ela-line));
            border-radius: 8px;
            background: var(--ela-surface);
            box-shadow: 0 24px 70px rgba(22, 26, 55, 0.18);
        }

        .mw-access-pass-modal-dialog h3 {
            margin: 0 34px 12px 0;
            font-size: 24px;
            line-height: 1.25;
            font-weight: 560;
        }

        .mw-access-pass-modal-dialog p {
            margin: 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.6;
        }

        .mw-access-pass-modal-close {
            position: absolute;
            top: 16px;
            right: 16px;
            width: 34px;
            height: 34px;
            border: 1px solid var(--ela-line);
            border-radius: 50%;
            background: var(--ela-surface-soft);
            color: var(--ela-muted);
            font-size: 22px;
            line-height: 1;
            cursor: pointer;
        }

        .mw-pricing-confirm-section {
            padding-top: 28px;
        }

        .mw-pricing-confirm-layout {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(320px, 0.42fr);
            gap: 24px;
            align-items: start;
        }

        .mw-pricing-confirm-form,
        .mw-pricing-confirm-summary {
            --mw-pricing-confirm-card-padding: clamp(24px, 3vw, 32px);
            padding: var(--mw-pricing-confirm-card-padding);
            border: 1px solid color-mix(in srgb, var(--ela-primary) 10%, var(--ela-line));
            border-radius: 8px;
            background: var(--ela-surface);
            box-shadow: var(--ela-shadow-soft);
        }

        .mw-pricing-confirm-form .mw-pricing-section-heading {
            margin-bottom: 24px;
        }

        .mw-pricing-confirm-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 16px;
        }

        .mw-pricing-confirm-grid label,
        .mw-pricing-confirm-wide {
            min-width: 0;
        }

        .mw-pricing-confirm-wide {
            grid-column: 1 / -1;
        }

        .mw-pricing-confirm-form label > span {
            display: block;
            margin-bottom: 8px;
            color: var(--ela-muted);
            font-size: 13px;
        }

        .mw-pricing-confirm-form input[type="text"],
        .mw-pricing-confirm-form input[type="tel"] {
            width: 100%;
            min-height: 48px;
            padding: 0 14px;
            border: 1px solid var(--ela-line);
            border-radius: 8px;
            background: var(--ela-surface);
            color: var(--ela-text);
            font: inherit;
        }

        .mw-pricing-confirm-field.is-invalid input[type="text"],
        .mw-pricing-confirm-field.is-invalid input[type="tel"] {
            border-color: #d74848;
            box-shadow: 0 0 0 3px color-mix(in srgb, #d74848 14%, transparent);
        }

        .mw-pricing-confirm-field-error {
            display: block;
            min-height: 18px;
            margin-top: 6px;
            color: #9f2626;
            font-size: 12px;
            line-height: 1.4;
        }

        .mw-pricing-confirm-field-error:empty {
            display: none;
        }

        .mw-pricing-confirm-check {
            display: flex;
            align-items: center;
            gap: 10px;
            margin: 22px 0;
            line-height: 1.3;
        }

        .mw-pricing-confirm-check input[type="checkbox"] {
            flex: 0 0 auto;
            width: 18px;
            height: 18px;
            margin: 0;
            border-radius: 5px;
        }

        .mw-pricing-confirm-check label {
            margin: 0;
            color: var(--ela-text);
            font-size: 14px;
            font-weight: 400;
        }

        .mw-pricing-confirm-vat {
            margin-bottom: 26px;
        }

        .mw-pricing-action-row {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-top: 26px;
        }

        .mw-pricing-action-row .mw-button {
            min-width: 180px;
            justify-content: center;
        }

        .mw-pricing-action-row form {
            margin: 0;
        }

        .mw-pricing-confirm-alert {
            display: grid;
            gap: 6px;
            margin-top: 22px;
            margin-bottom: 20px;
            padding: 14px 16px;
            border: 1px solid color-mix(in srgb, #d74848 32%, var(--ela-line));
            border-radius: 8px;
            background: color-mix(in srgb, #d74848 8%, var(--ela-surface));
            color: #9f2626;
            font-size: 14px;
        }

        .mw-pricing-confirm-alert[hidden] {
            display: none !important;
        }

        .mw-pricing-confirm-alert.is-success {
            border-color: color-mix(in srgb, #2d9f63 32%, var(--ela-line));
            background: color-mix(in srgb, #2d9f63 8%, var(--ela-surface));
            color: #1d7144;
        }

        .mw-pricing-confirm-alert.is-notice {
            border-color: color-mix(in srgb, #d69b2d 36%, var(--ela-line));
            background: color-mix(in srgb, #d69b2d 10%, var(--ela-surface));
            color: #8a5a16;
        }

        .mw-pricing-confirm-summary {
            position: sticky;
            top: 96px;
        }

        .mw-pricing-confirm-summary > span {
            display: block;
            color: var(--ela-primary-strong);
            font-size: 11px;
            font-weight: 680;
            text-transform: uppercase;
        }

        .mw-pricing-confirm-summary h2 {
            margin: 10px 0 22px;
            font-size: clamp(25px, 2.5vw, 34px);
            line-height: 1.18;
            font-weight: 520;
        }

        .mw-pricing-confirm-summary dl {
            margin: 0;
        }

        .mw-pricing-confirm-summary dl > div {
            display: flex;
            justify-content: space-between;
            gap: 18px;
            padding: 14px 0;
            border-top: 1px solid var(--ela-line);
        }

        .mw-pricing-confirm-summary dt {
            color: var(--ela-muted);
            font-size: 13px;
            font-weight: 400;
        }

        .mw-pricing-confirm-summary dd {
            margin: 0;
            font-weight: 560;
            text-align: right;
        }

        .mw-pricing-checkout-section {
            padding-top: 28px;
        }

        .mw-pricing-payment-body {
            display: grid;
            grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
            gap: 24px;
            align-items: center;
        }

        .mw-pricing-payment-qr {
            width: 100%;
            max-width: 220px;
            border: 1px solid var(--ela-line);
            border-radius: 8px;
            background: #fff;
        }

        .mw-pricing-payment-details {
            display: grid;
            gap: 12px;
        }

        .mw-pricing-payment-details > div {
            display: flex;
            justify-content: space-between;
            gap: 18px;
            padding: 12px 0;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-pricing-payment-details span {
            color: var(--ela-muted);
            font-size: 13px;
        }

        .mw-pricing-payment-details strong {
            text-align: right;
        }

        .mw-pricing-included-band {
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
            background: color-mix(in srgb, var(--ela-sky) 28%, var(--ela-surface));
        }

        .mw-pricing-included-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            margin-top: 42px;
            border-top: 1px solid var(--ela-line);
            border-left: 1px solid var(--ela-line);
        }

        .mw-pricing-included-grid article {
            display: grid;
            grid-template-columns: 46px minmax(0, 1fr);
            gap: 18px;
            padding: 28px;
            border-right: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-pricing-included-grid article > span {
            width: 42px;
            height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: color-mix(in srgb, var(--ela-primary) 10%, var(--ela-surface));
            color: var(--ela-primary-strong);
            font-size: 20px;
        }

        .mw-pricing-included-grid h3 {
            margin: 0;
            font-size: 18px;
            line-height: 1.4;
            font-weight: 490;
        }

        .mw-pricing-included-grid p {
            margin: 8px 0 0;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.58;
        }

        .mw-pricing-choice-layout {
            display: grid;
            grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
            gap: clamp(58px, 9vw, 124px);
        }

        .mw-pricing-choice-layout .mw-program-section-intro > p {
            margin: 18px 0 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.6;
        }

        .mw-pricing-faq-band {
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
            background: color-mix(in srgb, var(--ela-lavender) 27%, var(--ela-surface));
        }

        .mw-pricing-final {
            border: 1px solid color-mix(in srgb, var(--ela-primary) 12%, var(--ela-line));
            background: color-mix(in srgb, var(--ela-mint) 40%, var(--ela-surface));
            color: var(--ela-text);
        }

        .mw-pricing-final p {
            color: var(--ela-muted);
        }

        .mw-pricing-final .mw-button {
            background: var(--ela-primary);
            color: #fff;
        }

        .mw-about-hero {
            position: relative;
            padding: 0;
            overflow: hidden;
            border-bottom: 1px solid var(--ela-line);
            background: color-mix(in srgb, var(--ela-sky) 34%, var(--ela-bg));
        }

        .mw-about-hero-intro {
            position: relative;
            z-index: 2;
            width: min(45%, 530px);
            padding: 58px 0 62px;
        }

        .mw-about-hero-scene {
            position: relative;
            z-index: 1;
            min-height: 500px;
            display: flex;
            align-items: center;
        }

        .mw-about-hero-art {
            position: absolute;
            z-index: 0;
            inset: 0;
            overflow: hidden;
        }

        .mw-about-hero-art img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
        }

        .mw-about-hero-image-dark { display: none !important; }
        html[data-layout-mode="dark"] .mw-about-hero-image-light { display: none !important; }
        html[data-layout-mode="dark"] .mw-about-hero-image-dark { display: block !important; }

        .mw-about-identity {
            max-width: 570px;
            margin: 24px 0 0;
            color: var(--ela-text);
            font-size: 19px;
            line-height: 1.58;
            font-weight: 500;
        }

        .mw-about-promise {
            max-width: 570px;
            margin: 14px 0 0;
            color: var(--ela-text);
            font-size: 15px;
            line-height: 1.68;
        }

        .mw-about-hero-intro > span,
        .mw-about-belief > span,
        .mw-about-company > span {
            display: block;
            color: var(--ela-primary-strong);
            font-size: 12px;
            font-weight: 600;
            text-transform: uppercase;
        }

        .mw-about-hero h1 {
            max-width: 760px;
            margin: 16px 0 0;
            font-size: clamp(40px, 4.5vw, 58px);
            line-height: 1.06;
            font-weight: 450;
        }

        .mw-about-tagline {
            max-width: 760px;
            margin: 18px 0 0;
            font-size: clamp(28px, 3.2vw, 42px);
            line-height: 1.16;
            font-weight: 470;
        }

        .mw-about-hero .mw-cta-row { margin-top: 30px; }

        .mw-about-belief {
            margin: 0;
            padding: 10px 0 10px 34px;
            border-left: 1px solid var(--ela-line);
        }

        .mw-about-belief > p {
            margin: 22px 0 0;
            color: var(--ela-text);
            font-size: clamp(22px, 2.2vw, 30px);
            line-height: 1.42;
            font-weight: 450;
        }

        .mw-about-belief > footer {
            margin-top: 22px;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.65;
        }

        .mw-about-facts {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            padding-top: 0;
            padding-bottom: 0;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-about-facts article {
            display: grid;
            grid-template-columns: 34px minmax(0, 1fr);
            gap: 13px;
            padding: 28px 24px;
            border-right: 1px solid var(--ela-line);
        }

        .mw-about-facts article:first-child { padding-left: 0; }
        .mw-about-facts article:last-child { padding-right: 0; border-right: 0; }
        .mw-about-facts i { color: var(--ela-primary-strong); font-size: 22px; }
        .mw-about-facts strong { display: block; font-size: 15px; font-weight: 520; }
        .mw-about-facts span { display: block; margin-top: 4px; color: var(--ela-muted); font-size: 12px; line-height: 1.45; }

        .mw-about-principles-band {
            border-bottom: 1px solid var(--ela-line);
            background: var(--ela-surface);
        }

        .mw-about-statement-wrap {
            padding-top: 48px;
            padding-bottom: 48px;
        }

        .mw-about-statement {
            max-width: 860px;
            margin: 0 auto;
            color: var(--ela-text);
            font-size: 20px;
            line-height: 1.6;
            font-weight: 450;
            text-align: center;
        }

        .mw-about-purpose-layout {
            display: grid;
            grid-template-columns: minmax(280px, 0.82fr) minmax(0, 1.18fr);
            gap: clamp(60px, 9vw, 132px);
        }

        .mw-about-purpose-body > p {
            margin: 0;
            font-size: 19px;
            line-height: 1.68;
        }

        .mw-about-purpose-body > div {
            margin-top: 30px;
            border-top: 1px solid var(--ela-line);
        }

        .mw-about-purpose-body article {
            display: grid;
            grid-template-columns: 28px minmax(0, 1fr);
            gap: 12px;
            padding: 17px 0;
            border-bottom: 1px solid var(--ela-line);
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.55;
        }

        .mw-about-purpose-body article i { color: var(--ela-primary-strong); font-size: 18px; }

        .mw-about-identity-band {
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
            background: color-mix(in srgb, var(--ela-lavender) 25%, var(--ela-surface));
        }

        .mw-about-identity-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: clamp(54px, 8vw, 110px);
            padding-top: 76px;
            padding-bottom: 76px;
        }

        .mw-about-identity-list {
            margin-top: 32px;
            border-top: 1px solid var(--ela-line);
        }

        .mw-about-identity-list article {
            display: grid;
            grid-template-columns: 28px minmax(0, 1fr);
            gap: 12px;
            padding: 17px 0;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-about-identity-list i { color: var(--ela-primary-strong); font-size: 19px; }
        .mw-about-identity-list p { margin: 0; color: var(--ela-muted); font-size: 14px; line-height: 1.58; }

        .mw-about-framework-list {
            margin: 32px 0 0;
            padding: 0;
            list-style: none;
            border-top: 1px solid var(--ela-line);
        }

        .mw-about-framework-list li {
            display: grid;
            grid-template-columns: 36px minmax(0, 1fr);
            gap: 14px;
            padding: 17px 0;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-about-framework-list span { color: var(--ela-primary-strong); font-size: 12px; font-weight: 600; }
        .mw-about-framework-list p { margin: 0; color: var(--ela-muted); font-size: 14px; line-height: 1.58; }

        .mw-about-framework-grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            margin: 42px 0 0;
            padding: 0;
            list-style: none;
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-about-framework-grid li {
            min-width: 0;
            padding: 26px;
            border-right: 1px solid var(--ela-line);
        }

        .mw-about-framework-grid li:first-child { padding-left: 0; }
        .mw-about-framework-grid li:last-child { padding-right: 0; border-right: 0; }
        .mw-about-framework-grid span { color: var(--ela-primary-strong); font-size: 12px; font-weight: 600; }
        .mw-about-framework-grid p { margin: 16px 0 0; color: var(--ela-muted); font-size: 14px; line-height: 1.58; }

        .mw-about-values-band {
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
            background: color-mix(in srgb, var(--ela-lavender) 25%, var(--ela-surface));
        }

        .mw-about-values {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            margin-top: 44px;
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-about-values article {
            min-width: 0;
            padding: 27px;
            border-right: 1px solid var(--ela-line);
        }

        .mw-about-values article:first-child { padding-left: 0; }
        .mw-about-values article:last-child { padding-right: 0; border-right: 0; }
        .mw-about-values article > i { color: var(--ela-primary-strong); font-size: 25px; }
        .mw-about-values h3 { margin: 18px 0 0; font-size: 18px; line-height: 1.4; font-weight: 500; }
        .mw-about-values p { margin: 9px 0 0; color: var(--ela-muted); font-size: 13px; line-height: 1.58; }

        .mw-about-proof-band {
            border-bottom: 1px solid var(--ela-line);
            background: color-mix(in srgb, var(--ela-sky) 24%, var(--ela-surface));
        }

        .mw-about-proof-band .mw-section-head > p {
            max-width: 700px;
            margin: 16px auto 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.6;
        }

        .mw-about-proof-layout {
            display: grid;
            grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
            gap: clamp(54px, 8vw, 110px);
            margin-top: 44px;
            align-items: start;
        }

        .mw-about-proof-stories {
            border-top: 1px solid var(--ela-line);
        }

        .mw-about-proof-stories article {
            padding: 24px 0 26px;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-about-proof-stories h3 {
            margin: 13px 0 0;
            font-size: 22px;
            line-height: 1.35;
            font-weight: 500;
        }

        .mw-about-proof-stories article > p {
            margin: 12px 0 0;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.68;
        }

        .mw-about-teacher-proof {
            padding-left: 32px;
            border-left: 1px solid var(--ela-line);
        }

        .mw-about-teacher-proof > div:first-child > span {
            color: var(--ela-primary-strong);
            font-size: 12px;
            font-weight: 600;
            text-transform: uppercase;
        }

        .mw-about-teacher-proof h3 {
            margin: 12px 0 0;
            font-size: 27px;
            line-height: 1.28;
            font-weight: 490;
        }

        .mw-about-teacher-proof p {
            margin: 14px 0 0;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.6;
        }

        .mw-about-teacher-faces {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 10px;
            margin: 26px 0 22px;
        }

        .mw-about-teacher-faces a {
            display: block;
            overflow: hidden;
            aspect-ratio: 4 / 5;
            border: 1px solid var(--ela-line);
            border-radius: 8px;
            background: var(--ela-surface);
        }

        .mw-about-teacher-faces img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
        }

        .mw-about-trust-layout {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(380px, 0.78fr);
            gap: clamp(58px, 9vw, 124px);
            align-items: start;
        }

        .mw-about-commitments {
            margin-top: 34px;
            border-top: 1px solid var(--ela-line);
        }

        .mw-about-commitments article {
            display: grid;
            grid-template-columns: 28px minmax(0, 1fr);
            gap: 12px;
            padding: 18px 0;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-about-commitments i { color: var(--ela-primary-strong); font-size: 19px; }
        .mw-about-commitments p { margin: 0; color: var(--ela-muted); font-size: 14px; line-height: 1.58; }

        .mw-about-commitments-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            margin-top: 42px;
            border-top: 1px solid var(--ela-line);
            border-left: 1px solid var(--ela-line);
        }

        .mw-about-commitments-grid article {
            display: grid;
            grid-template-columns: 28px minmax(0, 1fr);
            gap: 13px;
            min-height: 104px;
            padding: 24px;
            border-right: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-about-commitments-grid i { color: var(--ela-primary-strong); font-size: 19px; }
        .mw-about-commitments-grid p { margin: 0; color: var(--ela-muted); font-size: 14px; line-height: 1.6; }

        .mw-about-details-band {
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
            background: var(--ela-surface);
        }

        .mw-about-details-layout {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: clamp(44px, 6vw, 76px);
            align-items: start;
        }

        .mw-about-support-panel {
            padding: 8px 0 0;
        }

        .mw-about-support-panel .mw-program-section-intro h2,
        .mw-about-company h2 {
            margin: 0;
            font-size: 27px;
            line-height: 1.25;
            font-weight: 490;
        }

        .mw-about-support-panel .mw-program-section-intro > p {
            max-width: none;
            margin: 18px 0 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.68;
        }

        .mw-about-support-list {
            margin-top: 30px;
            display: grid;
            gap: 24px;
        }

        .mw-about-support-list article {
            display: grid;
            grid-template-columns: 36px minmax(0, 1fr);
            gap: 14px;
            align-items: start;
        }

        .mw-about-support-icon {
            display: inline-flex;
            width: 36px;
            height: 36px;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: color-mix(in srgb, var(--ela-lavender) 58%, var(--ela-surface));
            color: var(--ela-primary-strong);
            font-size: 18px;
        }

        .mw-about-support-list h3 { margin: 0; font-size: 16px; line-height: 1.45; font-weight: 520; }
        .mw-about-support-list p { margin: 7px 0 0; color: var(--ela-muted); font-size: 14px; line-height: 1.62; }

        .mw-about-company {
            padding: 30px 34px;
            border: 1px solid var(--ela-line);
            border-radius: 8px;
            background: color-mix(in srgb, var(--ela-mint) 30%, var(--ela-surface));
        }

        .mw-about-company h2 {
            margin: 0;
        }

        .mw-about-company dl { margin: 28px 0 0; }

        .mw-about-company dl > div {
            display: grid;
            grid-template-columns: minmax(116px, 0.28fr) minmax(0, 1fr);
            gap: 18px;
            padding: 12px 0;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-about-company dt { color: var(--ela-muted); font-size: 12px; font-weight: 400; }
        .mw-about-company dd { margin: 0; font-size: 13px; line-height: 1.5; }

        .mw-about-policy-links {
            display: flex;
            flex-wrap: wrap;
            gap: 10px 18px;
            margin-top: 24px;
        }

        .mw-about-policy-links a {
            color: var(--ela-primary-strong);
            font-size: 12px;
            text-decoration: none;
        }

        .mw-about-policy-links a:hover { text-decoration: underline; }

        .mw-about-policies {
            padding-top: 4px;
        }

        .mw-about-policies > span,
        .mw-about-final > div:first-child > span {
            display: block;
            color: var(--ela-primary-strong);
            font-size: 12px;
            font-weight: 600;
            text-transform: uppercase;
        }

        .mw-about-policies h2 {
            margin: 12px 0 0;
            font-size: 28px;
            line-height: 1.28;
            font-weight: 490;
        }

        .mw-about-policies nav {
            margin-top: 28px;
            border-top: 1px solid var(--ela-line);
        }

        .mw-about-policies nav a {
            display: flex;
            justify-content: space-between;
            gap: 16px;
            padding: 15px 0;
            border-bottom: 1px solid var(--ela-line);
            color: var(--ela-text);
            font-size: 14px;
            text-decoration: none;
        }

        .mw-about-policies nav a:hover { color: var(--ela-primary-strong); }
        .mw-about-policies > p { margin: 20px 0 0; color: var(--ela-muted); font-size: 13px; line-height: 1.6; }
        .mw-about-final-band {
            background: color-mix(in srgb, var(--ela-sky) 38%, var(--ela-surface));
        }

        .mw-about-final {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 40px;
            padding-top: 40px;
            padding-bottom: 40px;
            color: var(--ela-text);
        }

        .mw-about-final h2 {
            max-width: 620px;
            margin: 0;
            font-size: 28px;
            line-height: 1.25;
            font-weight: 500;
        }

        .mw-about-final p {
            max-width: 660px;
            margin: 10px 0 0;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.6;
        }

        .mw-about-final .mw-cta-row {
            flex: 0 0 auto;
            align-items: center;
            flex-wrap: nowrap;
        }

        .mw-about-final .mw-button {
            min-height: 44px;
            padding: 0 20px;
            background: var(--ela-primary);
            color: #fff;
        }

        .mw-about-final .mw-text-link { white-space: nowrap; }

        .mw-policy-hero {
            border-bottom: 1px solid var(--ela-line);
            background: color-mix(in srgb, var(--ela-lavender) 18%, var(--ela-surface));
        }

        .mw-policy-hero-inner {
            max-width: 1100px;
            padding-top: 62px;
        }

        .mw-policy-hero-inner > span {
            display: block;
            color: var(--ela-primary-strong);
            font-size: 12px;
            font-weight: 600;
            text-transform: uppercase;
        }

        .mw-policy-hero h1 {
            max-width: 820px;
            margin: 14px 0 0;
            font-size: clamp(38px, 4.6vw, 52px);
            line-height: 1.12;
            font-weight: 480;
        }

        .mw-policy-hero p {
            max-width: 780px;
            margin: 20px 0 0;
            color: var(--ela-muted);
            font-size: 16px;
            line-height: 1.7;
        }

        .mw-policy-tabs {
            display: flex;
            gap: 30px;
            margin-top: 42px;
            overflow-x: auto;
            scrollbar-width: none;
        }

        .mw-policy-tabs::-webkit-scrollbar { display: none; }

        .mw-policy-tabs a {
            position: relative;
            flex: 0 0 auto;
            padding: 0 0 16px;
            color: var(--ela-muted);
            font-size: 14px;
            font-weight: 500;
            text-decoration: none;
            white-space: nowrap;
        }

        .mw-policy-tabs a::after {
            position: absolute;
            right: 0;
            bottom: 0;
            left: 0;
            height: 2px;
            background: transparent;
            content: '';
        }

        .mw-policy-tabs a:hover,
        .mw-policy-tabs a.is-active { color: var(--ela-text); }
        .mw-policy-tabs a.is-active::after { background: var(--ela-primary); }

        .mw-policy-body {
            display: grid;
            grid-template-columns: minmax(0, 760px) minmax(190px, 230px);
            gap: clamp(52px, 8vw, 108px);
            max-width: 1100px;
            justify-content: center;
            padding-top: 64px;
            padding-bottom: 88px;
        }

        .mw-policy-toc {
            position: sticky;
            top: 104px;
            grid-column: 2;
            grid-row: 1;
            align-self: start;
        }

        .mw-policy-article {
            grid-column: 1;
            grid-row: 1;
        }

        .mw-policy-toc > strong {
            display: block;
            margin-bottom: 18px;
            color: var(--ela-text);
            font-size: 13px;
            font-weight: 600;
        }

        .mw-policy-toc nav {
            display: grid;
            border-top: 1px solid var(--ela-line);
        }

        .mw-policy-toc a {
            padding: 11px 0;
            border-bottom: 1px solid var(--ela-line);
            color: var(--ela-muted);
            font-size: 12.5px;
            line-height: 1.45;
            text-decoration: none;
        }

        .mw-policy-toc a:hover { color: var(--ela-primary-strong); }

        .mw-policy-article > section {
            padding: 34px 0 38px;
            border-top: 1px solid var(--ela-line);
            scroll-margin-top: 96px;
        }

        .mw-policy-article > section:first-child { padding-top: 0; border-top: 0; }

        .mw-policy-article h2 {
            margin: 0;
            color: var(--ela-text);
            font-size: 22px;
            line-height: 1.4;
            font-weight: 520;
        }

        .mw-policy-article p,
        .mw-policy-article li {
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.75;
        }

        .mw-policy-article p { margin: 14px 0 0; }

        .mw-policy-article ul {
            display: grid;
            gap: 9px;
            margin: 16px 0 0;
            padding-left: 20px;
        }

        .mw-policy-article li { padding-left: 4px; }

        .mw-contact-hero {
            border-bottom: 1px solid var(--ela-line);
            background: color-mix(in srgb, var(--ela-lavender) 20%, var(--ela-surface));
        }

        .mw-contact-hero-layout {
            display: grid;
            grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
            gap: clamp(56px, 8vw, 108px);
            align-items: center;
            padding-top: 64px;
            padding-bottom: 64px;
        }

        .mw-contact-intro > span {
            display: block;
            color: var(--ela-primary-strong);
            font-size: 12px;
            font-weight: 600;
            text-transform: uppercase;
        }

        .mw-contact-intro h1 {
            margin: 14px 0 0;
            font-size: clamp(40px, 5vw, 56px);
            line-height: 1.12;
            font-weight: 480;
        }

        .mw-contact-intro p {
            max-width: 650px;
            margin: 20px 0 0;
            color: var(--ela-muted);
            font-size: 16px;
            line-height: 1.7;
        }

        .mw-contact-intro .mw-button { margin-top: 30px; }

        .mw-contact-message-panel {
            padding: 30px;
            border: 1px solid var(--ela-line);
            border-radius: 8px;
            background: var(--ela-surface);
        }

        .mw-contact-message-panel h2 {
            margin: 0;
            font-size: 24px;
            line-height: 1.35;
            font-weight: 500;
        }

        .mw-contact-message-actions {
            margin-top: 24px;
            border-top: 1px solid var(--ela-line);
        }

        .mw-contact-message-actions a {
            display: grid;
            grid-template-columns: 34px minmax(0, 1fr) 20px;
            gap: 12px;
            align-items: center;
            min-height: 62px;
            border-bottom: 1px solid var(--ela-line);
            color: var(--ela-text);
            font-size: 14px;
            font-weight: 520;
            text-decoration: none;
        }

        .mw-contact-message-actions a > i:first-child {
            color: var(--ela-primary-strong);
            font-size: 22px;
        }

        .mw-contact-message-actions a > i:last-child { color: var(--ela-muted); font-size: 17px; }
        .mw-contact-message-actions a:hover { color: var(--ela-primary-strong); }

        .mw-contact-details {
            padding-top: 64px;
            padding-bottom: 64px;
        }

        .mw-contact-details > h2 {
            margin: 0 0 30px;
            font-size: 28px;
            line-height: 1.3;
            font-weight: 500;
        }

        .mw-contact-detail-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-contact-detail-grid article {
            display: grid;
            grid-template-columns: 34px minmax(0, 1fr);
            gap: 14px;
            min-height: 130px;
            padding: 26px 28px;
            border-right: 1px solid var(--ela-line);
        }

        .mw-contact-detail-grid article:first-child { padding-left: 0; }
        .mw-contact-detail-grid article:last-child { padding-right: 0; border-right: 0; }
        .mw-contact-detail-grid article > i { color: var(--ela-primary-strong); font-size: 22px; }
        .mw-contact-detail-grid h3 { margin: 0; font-size: 15px; line-height: 1.4; font-weight: 520; }
        .mw-contact-detail-grid a,
        .mw-contact-detail-grid p { display: block; margin: 9px 0 0; color: var(--ela-muted); font-size: 14px; line-height: 1.62; text-decoration: none; }
        .mw-contact-detail-grid a:hover { color: var(--ela-primary-strong); }

        .mw-contact-map-band {
            padding-bottom: 72px;
            background: var(--ela-surface);
        }

        .mw-contact-map {
            overflow: hidden;
            aspect-ratio: 16 / 5;
            min-height: 320px;
            border: 1px solid var(--ela-line);
            border-radius: 8px;
            background: var(--ela-bg-soft);
        }

        .mw-contact-map iframe {
            display: block;
            width: 100%;
            height: 100%;
            border: 0;
        }

        .mw-paths-hero {
            padding: 46px 0 44px;
            border-bottom: 1px solid var(--ela-line);
            background: color-mix(in srgb, var(--ela-mint) 31%, var(--ela-bg));
        }

        .mw-paths-hero-layout {
            display: grid;
            grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.72fr);
            gap: clamp(52px, 9vw, 128px);
            align-items: end;
        }

        .mw-paths-hero-layout > div:first-child > span {
            display: block;
            color: var(--ela-primary-strong);
            font-size: 12px;
            font-weight: 600;
            text-transform: uppercase;
        }

        .mw-paths-hero h1 {
            max-width: 760px;
            margin: 16px 0 0;
            font-size: clamp(40px, 4.5vw, 56px);
            line-height: 1.06;
            font-weight: 450;
        }

        .mw-paths-hero-layout > div:last-child > p {
            margin: 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.65;
        }

        .mw-paths-hero-layout > div:last-child > .mw-button { margin-top: 24px; }

        .mw-paths-jump {
            border-bottom: 1px solid var(--ela-line);
            background: var(--ela-surface);
        }

        .mw-paths-jump .mw-section {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            padding-top: 0;
            padding-bottom: 0;
        }

        .mw-paths-jump a {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            min-height: 66px;
            border-right: 1px solid var(--ela-line);
            color: var(--ela-ink);
            font-size: 13px;
            font-weight: 500;
            text-decoration: none;
        }

        .mw-paths-jump a:first-child { border-left: 1px solid var(--ela-line); }
        .mw-paths-jump a:hover { color: var(--ela-primary-strong); background: color-mix(in srgb, var(--ela-primary) 4%, var(--ela-surface)); }
        .mw-paths-jump i { color: var(--ela-primary-strong); font-size: 19px; }

        .mw-paths-group {
            scroll-margin-top: 86px;
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-paths-group.is-tinted { background: color-mix(in srgb, var(--ela-sky) 24%, var(--ela-surface)); }

        .mw-paths-group-layout {
            display: grid;
            grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
            gap: clamp(58px, 9vw, 126px);
            padding-top: 76px;
            padding-bottom: 76px;
        }

        .mw-paths-group-intro > .mw-paths-group-icon {
            width: 46px;
            height: 46px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 26px;
            border-radius: 50%;
            background: color-mix(in srgb, var(--ela-primary) 10%, var(--ela-surface));
            color: var(--ela-primary-strong);
            font-size: 22px;
        }

        .mw-paths-group-intro > span:not(.mw-paths-group-icon) {
            display: block;
            color: var(--ela-primary-strong);
            font-size: 12px;
            font-weight: 600;
            text-transform: uppercase;
        }

        .mw-paths-group-intro h2 {
            margin: 12px 0 0;
            font-size: clamp(30px, 3.5vw, 43px);
            line-height: 1.16;
            font-weight: 470;
        }

        .mw-paths-group-intro p {
            margin: 20px 0 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.62;
        }

        .mw-paths-group-intro > a {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            margin-top: 24px;
            color: var(--ela-primary-strong);
            font-size: 13px;
            font-weight: 550;
            text-decoration: none;
        }

        .mw-paths-group-intro > a:hover { text-decoration: underline; }

        .mw-paths-track {
            position: relative;
            border-top: 1px solid var(--ela-line);
        }

        .mw-paths-track a {
            position: relative;
            display: grid;
            grid-template-columns: 48px minmax(0, 1fr) 28px;
            gap: 18px;
            align-items: center;
            min-height: 112px;
            padding: 21px 0;
            border-bottom: 1px solid var(--ela-line);
            color: var(--ela-ink);
            text-decoration: none;
        }

        .mw-paths-track a > span {
            position: relative;
            z-index: 1;
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid var(--ela-line);
            border-radius: 50%;
            background: var(--ela-surface);
            color: var(--ela-primary-strong);
            font-size: 11px;
            font-weight: 600;
        }

        .mw-paths-track a:not(:last-child)::after {
            content: '';
            position: absolute;
            left: 19px;
            top: 76px;
            width: 1px;
            height: 72px;
            background: var(--ela-line);
        }

        .mw-paths-track strong { display: block; font-size: 18px; font-weight: 510; }
        .mw-paths-track p { margin: 7px 0 0; color: var(--ela-muted); font-size: 13px; line-height: 1.5; }
        .mw-paths-track a > i { color: var(--ela-muted); font-size: 18px; transition: transform 160ms ease, color 160ms ease; }
        .mw-paths-track a:hover > i { color: var(--ela-primary-strong); transform: translate(2px, -2px); }
        .mw-paths-track a:hover strong { color: var(--ela-primary-strong); }

        .mw-paths-guidance {
            display: grid;
            grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
            gap: clamp(58px, 9vw, 124px);
        }

        .mw-paths-guidance .mw-program-section-intro > p {
            margin: 18px 0 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.6;
        }

        .mw-paths-final { background: color-mix(in srgb, var(--ela-lavender) 34%, var(--ela-surface)); }

        @media (max-width: 1100px) and (min-width: 761px) {
            .mw-teacher-directory-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        }

        @media (max-width: 860px) and (min-width: 761px) {
            .mw-teacher-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .mw-teacher-directory-heading { grid-template-columns: 1fr; gap: 18px; }
            .mw-teacher-directory-heading h1,
            .mw-teacher-directory-heading p { grid-column: 1; grid-row: auto; }
            .mw-teacher-profile-hero-grid { grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr); gap: 38px; }
            .mw-teacher-profile-overview,
            .mw-teacher-profile-guidance,
            .mw-teacher-related-grid,
            .mw-pricing-hero-layout,
            .mw-pricing-choice-layout,
            .mw-about-purpose-layout,
            .mw-about-proof-layout,
            .mw-about-trust-layout,
            .mw-about-legal-layout,
            .mw-about-identity-grid,
            .mw-paths-hero-layout,
            .mw-paths-group-layout,
            .mw-paths-guidance { grid-template-columns: 1fr; }
            .mw-teacher-profile-details { padding-top: 34px; padding-left: 0; border-top: 1px solid var(--ela-line); border-left: 0; }
            .mw-teacher-directory-navigation { align-items: flex-start; flex-direction: column; }
            .mw-teacher-directory-navigation .mw-teacher-directory-tools { width: 100%; justify-content: flex-start; }
            .mw-teacher-profile-content { grid-template-columns: minmax(0, 1fr) 280px; gap: 42px; }
            .mw-pricing-hero-layout { gap: 28px; }
            .mw-pricing-group-head { align-items: flex-start; flex-direction: column; gap: 12px; }
            .mw-pricing-comparison { grid-template-columns: 1fr; }
            .mw-pricing-comparison article,
            .mw-pricing-comparison article:first-child,
            .mw-pricing-comparison article:last-child { padding: 28px; border: 1px solid var(--ela-line); }
            .mw-pricing-confirm-layout { grid-template-columns: 1fr; }
            .mw-pricing-confirm-summary { position: static; }
            .mw-about-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .mw-about-facts article:nth-child(2) { border-right: 0; }
            .mw-about-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .mw-about-values article:nth-child(2) { border-right: 0; }
            .mw-about-framework-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
            .mw-about-framework-grid li:nth-child(2) { border-right: 0; }
            .mw-paths-hero-layout { gap: 28px; }
            .mw-paths-group-layout,
            .mw-paths-guidance { gap: 42px; }
        }

        @media (max-width: 760px) {
            .mw-program-section[id],
            .mw-program-band[id],
            .mw-ielts-loop-band[id],
            .mw-goal-outcomes-band[id] {
                scroll-margin-top: 108px;
            }

            .mw-ielts-fit-grid,
            .mw-ielts-loop,
            .mw-ielts-skills-layout,
            .mw-ielts-practice-compare {
                grid-template-columns: 1fr;
            }

            .mw-ielts-fit-grid article,
            .mw-ielts-fit-grid article:first-child,
            .mw-ielts-fit-grid article:last-child {
                padding: 24px 0;
                border-right: 0;
                border-bottom: 1px solid var(--ela-line);
            }

            .mw-ielts-fit-grid article:last-child { border-bottom: 0; }
            .mw-ielts-loop article { min-height: 0; }
            .mw-ielts-skills-layout { gap: 30px; }
            .mw-ielts-skill-list article { grid-template-columns: 1fr; gap: 7px; }
            .mw-ielts-practice-compare article,
            .mw-ielts-practice-compare article:first-child,
            .mw-ielts-practice-compare article:last-child { padding: 25px 0; border-right: 0; border-bottom: 1px solid var(--ela-line); }
            .mw-ielts-practice-compare article:last-child { border-bottom: 0; }
            .mw-teacher-directory-hero { padding: 38px 0 36px; }
            .mw-teacher-directory-heading { display: block; text-align: left; }
            .mw-teacher-directory-heading h1 { font-size: 36px; }
            .mw-teacher-directory-heading p { margin: 18px 0 0; font-size: 15px; }
            .mw-teacher-directory-section { padding-top: 26px; }
            .mw-teacher-directory-navigation { align-items: stretch; flex-direction: column; gap: 16px; }
            .mw-teacher-directory-navigation .mw-teacher-directory-tools { align-items: stretch; flex-direction: column; gap: 10px; }
            .mw-teacher-directory-tabs { width: 100%; }
            .mw-teacher-search-form { width: 100%; }
            .mw-teacher-search { width: 100%; }
            .mw-teacher-directory-grid { grid-template-columns: 1fr; gap: 34px; }
            .mw-teacher-directory-grid { gap: 14px; }
            .mw-teacher-directory-card {
                display: grid;
                grid-template-columns: 116px minmax(0, 1fr);
                min-height: 150px;
            }
            .mw-teacher-directory-card:hover { transform: none; }
            .mw-teacher-directory-portrait {
                height: 100%;
                min-height: 150px;
                aspect-ratio: auto;
                padding: 6px;
                border-right: 1px solid var(--ela-line);
                border-bottom: 0;
            }
            .mw-teacher-directory-card-body { min-height: 150px; padding: 14px; }
            .mw-teacher-directory-card h2 { font-size: 17px; }
            .mw-teacher-directory-card p { font-size: 13px; -webkit-line-clamp: 2; }
            .mw-teacher-card-tags { display: none; }
            .mw-teacher-card-footer { padding-top: 10px; }
            .mw-teacher-directory-card { position: relative; }
            .mw-teacher-card-heading { display: block; }
            .mw-teacher-card-heading > div:first-child { padding-right: 38px; }
            .mw-teacher-card-controls { display: contents; }
            .mw-teacher-card-controls > a { position: absolute; top: 10px; left: 82px; }
            .mw-teacher-card-controls > form { position: absolute; top: 10px; right: 10px; }
            .mw-teacher-matching-layout,
            .mw-teacher-profile-hero-grid,
            .mw-teacher-profile-overview,
            .mw-teacher-profile-guidance,
            .mw-teacher-related-grid { grid-template-columns: 1fr; }
            .mw-teacher-matching-layout { gap: 34px; padding-top: 58px; padding-bottom: 58px; }
            .mw-teacher-profile-hero { padding: 28px 0 42px; }
            .mw-teacher-profile-hero-grid { gap: 0; }
            .mw-teacher-profile-heading { display: contents; }
            .mw-teacher-profile-heading .mw-breadcrumb {
                order: 1;
                margin-bottom: 20px;
            }
            .mw-teacher-profile-portrait {
                order: 2;
                width: 100%;
                max-width: none;
                margin: 0;
                aspect-ratio: 16 / 11;
            }
            .mw-teacher-profile-heading h1 {
                order: 3;
                margin-top: 26px;
                font-size: 38px;
                overflow-wrap: anywhere;
            }
            .mw-teacher-profile-headline {
                order: 4;
                margin-top: 14px;
                font-size: 17px;
            }
            .mw-teacher-profile-metrics {
                order: 5;
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
                gap: 0;
                width: 100%;
                margin-top: 24px;
            }
            .mw-teacher-profile-metrics:has(> span:nth-child(4)) {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                row-gap: 18px;
            }
            .mw-teacher-profile-metrics span,
            .mw-teacher-profile-metrics span:first-child {
                min-width: 0;
                padding: 0 12px;
                border-left: 1px solid var(--ela-line);
            }
            .mw-teacher-profile-metrics span:first-child,
            .mw-teacher-profile-metrics:not(:has(> span:nth-child(4))) span:nth-child(1),
            .mw-teacher-profile-metrics:has(> span:nth-child(4)) span:nth-child(odd) {
                padding-left: 0;
                border-left: 0;
            }
            .mw-teacher-profile-heading .mw-cta-row {
                order: 6;
                width: 100%;
                margin-top: 26px;
            }
            .mw-teacher-profile-content { grid-template-columns: 1fr; gap: 48px; padding-top: 48px; padding-bottom: 60px; }
            .mw-teacher-profile-aside { position: static; }
            .mw-teacher-profile-video { right: 14px; bottom: 14px; }
            .mw-teacher-profile-story,
            .mw-teacher-profile-details { grid-template-columns: 1fr; }
            .mw-teacher-profile-story { gap: 0; }
            .mw-teacher-profile-bio { margin-top: 20px; }
            .mw-teacher-profile-bio p { font-size: 16px; }
            .mw-teacher-profile-details {
                gap: 34px;
                margin-top: 34px;
                padding-top: 30px;
                padding-left: 0;
                border-top: 1px solid var(--ela-line);
                border-left: 0;
            }
            .mw-teacher-profile-field-list article { grid-template-columns: 1fr; gap: 5px; }
            .mw-teacher-profile-guidance { gap: 34px; padding-top: 56px; padding-bottom: 56px; }
            .mw-teacher-profile-guidance h2 { font-size: 32px; }
            .mw-pricing-hero { padding: 38px 0 36px; }
            .mw-pricing-hero-layout,
            .mw-pricing-choice-layout,
            .mw-pricing-included-grid { grid-template-columns: 1fr; }
            .mw-pricing-hero-layout { gap: 26px; }
            .mw-pricing-hero h1 { font-size: 38px; }
            .mw-pricing-hero p { font-size: 15px; }
            .mw-pricing-section { padding-top: 38px; padding-bottom: 64px; }
            .mw-pricing-section-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
            .mw-pricing-groups { gap: 28px; }
            .mw-pricing-group { padding: 18px; border-radius: 14px; }
            .mw-pricing-group-head { align-items: flex-start; flex-direction: column; gap: 12px; }
            .mw-pricing-group-head p { font-size: 13px; }
            .mw-pricing-comparison { grid-template-columns: 1fr; }
            .mw-pricing-comparison article,
            .mw-pricing-comparison article:first-child,
            .mw-pricing-comparison article:last-child { padding: 24px; border: 1px solid var(--ela-line); }
            .mw-pricing-confirm-layout,
            .mw-pricing-confirm-grid { grid-template-columns: 1fr; }
            .mw-pricing-confirm-form,
            .mw-pricing-confirm-summary { padding: 22px; }
            .mw-pricing-confirm-summary {
                position: static;
                order: -1;
            }
            .mw-pricing-action-row {
                align-items: center;
            }
            .mw-pricing-action-row .mw-button {
                width: auto;
            }
            .mw-pricing-action-row form {
                width: auto;
            }
            .mw-pricing-payment-body { grid-template-columns: 1fr; }
            .mw-pricing-payment-qr { max-width: 210px; }
            .mw-pricing-payment-details > div { align-items: flex-start; flex-direction: column; gap: 4px; }
            .mw-pricing-payment-details strong { text-align: left; }
            .mw-pricing-included-grid article { padding: 24px 20px; }
            .mw-pricing-choice-layout { gap: 32px; }
            .mw-about-hero { padding: 0; }
            .mw-about-hero-scene,
            .mw-about-purpose-layout,
            .mw-about-proof-layout,
            .mw-about-trust-layout,
            .mw-about-legal-layout,
            .mw-about-identity-grid { grid-template-columns: 1fr; }
            .mw-about-hero-scene { min-height: 0; align-items: stretch; }
            .mw-about-hero-intro { width: 100%; padding: 40px 0 36px; }
            .mw-about-hero-art { position: relative; width: 100%; height: 230px; }
            .mw-about-hero-art img { object-position: 76% center; }
            .mw-about-hero h1 { font-size: 38px; }
            .mw-about-tagline { font-size: 30px; }
            .mw-about-identity { font-size: 17px; }
            .mw-about-statement-wrap { padding-top: 38px; padding-bottom: 38px; }
            .mw-about-statement { font-size: 18px; text-align: left; }
            .mw-about-belief { padding: 24px 0 0; border-top: 1px solid var(--ela-line); border-left: 0; }
            .mw-about-facts { grid-template-columns: 1fr; }
            .mw-about-facts article,
            .mw-about-facts article:first-child,
            .mw-about-facts article:last-child { padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--ela-line); }
            .mw-about-facts article:last-child { border-bottom: 0; }
            .mw-about-purpose-layout,
            .mw-about-proof-layout,
            .mw-about-trust-layout { gap: 36px; }
            .mw-about-purpose-body > p { font-size: 17px; }
            .mw-about-values { grid-template-columns: 1fr; }
            .mw-about-values article,
            .mw-about-values article:first-child,
            .mw-about-values article:last-child { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--ela-line); }
            .mw-about-values article:last-child { border-bottom: 0; }
            .mw-about-framework-grid { grid-template-columns: 1fr; }
            .mw-about-framework-grid li,
            .mw-about-framework-grid li:first-child,
            .mw-about-framework-grid li:last-child { padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--ela-line); }
            .mw-about-framework-grid li:last-child { border-bottom: 0; }
            .mw-about-proof-band .mw-program-section { padding-top: 52px; padding-bottom: 52px; }
            .mw-about-proof-layout { gap: 28px; margin-top: 28px; }
            .mw-about-proof-stories article { padding: 20px 0 22px; }
            .mw-about-teacher-proof { padding: 26px 0 0; border-top: 1px solid var(--ela-line); border-left: 0; }
            .mw-about-teacher-faces { margin-top: 20px; margin-bottom: 18px; }
            .mw-about-support-panel { padding: 0; }
            .mw-about-company { padding: 24px 20px; }
            .mw-about-company dl > div { grid-template-columns: 80px minmax(0, 1fr); }
            .mw-about-identity-grid { gap: 48px; padding-top: 58px; padding-bottom: 58px; }
            .mw-about-commitments-grid { grid-template-columns: 1fr; }
            .mw-about-details-layout { grid-template-columns: 1fr; gap: 36px; }
            .mw-about-final {
                align-items: stretch;
                flex-direction: column;
                gap: 24px;
                padding-top: 38px;
                padding-bottom: 38px;
            }
            .mw-about-final h2 { font-size: 26px; }
            .mw-about-final .mw-cta-row {
                align-items: stretch;
                flex-direction: column;
                gap: 14px;
            }
            .mw-about-final .mw-button { width: 100%; }
            .mw-about-final .mw-text-link { justify-content: center; }
            .mw-policy-hero-inner { padding-top: 40px; }
            .mw-policy-hero h1 { font-size: 36px; }
            .mw-policy-hero p { margin-top: 16px; font-size: 15px; }
            .mw-policy-tabs { gap: 24px; margin-top: 34px; }
            .mw-policy-body {
                grid-template-columns: 1fr;
                gap: 38px;
                padding-top: 42px;
                padding-bottom: 64px;
            }
            .mw-policy-toc {
                position: static;
                grid-column: auto;
                grid-row: auto;
                overflow: hidden;
            }
            .mw-policy-article { grid-column: auto; grid-row: auto; }
            .mw-policy-toc > strong { margin-bottom: 14px; }
            .mw-policy-toc nav {
                display: flex;
                gap: 22px;
                overflow-x: auto;
                border-bottom: 1px solid var(--ela-line);
                scrollbar-width: none;
            }
            .mw-policy-toc nav::-webkit-scrollbar { display: none; }
            .mw-policy-toc a {
                flex: 0 0 auto;
                padding: 10px 0 12px;
                border-bottom: 0;
                white-space: nowrap;
            }
            .mw-policy-article > section { padding: 28px 0 32px; scroll-margin-top: 84px; }
            .mw-policy-article h2 { font-size: 20px; }
            .mw-policy-article p,
            .mw-policy-article li { font-size: 14px; line-height: 1.72; }
            .mw-contact-hero-layout {
                grid-template-columns: 1fr;
                gap: 36px;
                padding-top: 40px;
                padding-bottom: 44px;
            }
            .mw-contact-intro h1 { font-size: 38px; }
            .mw-contact-intro p { margin-top: 16px; font-size: 15px; }
            .mw-contact-intro .mw-button { width: 100%; margin-top: 26px; }
            .mw-contact-message-panel { padding: 24px 20px; }
            .mw-contact-details { padding-top: 52px; padding-bottom: 52px; }
            .mw-contact-details > h2 { margin-bottom: 24px; font-size: 26px; }
            .mw-contact-detail-grid { grid-template-columns: 1fr; }
            .mw-contact-detail-grid article,
            .mw-contact-detail-grid article:first-child,
            .mw-contact-detail-grid article:last-child {
                min-height: 0;
                padding: 22px 0;
                border-right: 0;
                border-bottom: 1px solid var(--ela-line);
            }
            .mw-contact-detail-grid article:last-child { border-bottom: 0; }
            .mw-contact-map-band { padding-bottom: 52px; }
            .mw-contact-map { aspect-ratio: 4 / 3; min-height: 0; }
            .mw-paths-hero { padding: 40px 0 42px; }
            .mw-paths-hero-layout,
            .mw-paths-group-layout,
            .mw-paths-guidance { grid-template-columns: 1fr; }
            .mw-paths-hero-layout { gap: 26px; }
            .mw-paths-hero h1 { font-size: 38px; }
            .mw-paths-hero-layout > div:last-child > p { font-size: 15px; }
            .mw-paths-jump .mw-section { grid-template-columns: 1fr; }
            .mw-paths-jump a,
            .mw-paths-jump a:first-child { justify-content: flex-start; min-height: 52px; border: 0; border-bottom: 1px solid var(--ela-line); }
            .mw-paths-jump a:last-child { border-bottom: 0; }
            .mw-paths-group { scroll-margin-top: 108px; }
            .mw-paths-group-layout { gap: 38px; padding-top: 58px; padding-bottom: 58px; }
            .mw-paths-track a { grid-template-columns: 44px minmax(0, 1fr) 22px; gap: 13px; min-height: 118px; }
            .mw-paths-track a:not(:last-child)::after { left: 19px; }
            .mw-paths-guidance { gap: 34px; }
        }

        .mw-course-index-hero {
            padding: 56px 0;
        }

        .mw-course-index-hero-layout {
            display: grid;
            grid-template-columns: minmax(320px, 0.82fr) minmax(540px, 1.18fr);
            gap: clamp(48px, 7vw, 92px);
            align-items: center;
        }

        .mw-course-index-intro {
            max-width: 580px;
        }

        .mw-course-index-intro h1 {
            font-size: clamp(40px, 4.7vw, 58px);
        }

        .mw-course-index-intro > p {
            max-width: 560px;
            font-size: 17px;
        }

        .mw-course-index-jump {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 14px;
            margin-top: 0;
            border-top: 0;
        }

        .mw-course-index-jump a,
        .mw-course-index-jump a:first-child,
        .mw-course-index-jump a:nth-child(3),
        .mw-course-index-jump a:nth-child(n + 3) {
            min-height: 116px;
            grid-template-columns: 76px minmax(0, 1fr) 20px;
            gap: 14px;
            padding: 12px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 10%, var(--ela-line));
            border-radius: var(--ela-radius-md);
            background: color-mix(in srgb, var(--ela-surface) 82%, transparent);
            box-shadow: 0 10px 28px color-mix(in srgb, var(--ela-text) 6%, transparent);
            transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
        }

        .mw-course-index-jump a:nth-child(1) { background: color-mix(in srgb, var(--ela-sky) 48%, var(--ela-surface)); }
        .mw-course-index-jump a:nth-child(2) { background: color-mix(in srgb, var(--ela-mint) 46%, var(--ela-surface)); }
        .mw-course-index-jump a:nth-child(3) { background: color-mix(in srgb, var(--ela-yellow) 38%, var(--ela-surface)); }
        .mw-course-index-jump a:nth-child(4) { background: color-mix(in srgb, var(--ela-lavender) 48%, var(--ela-surface)); }

        .mw-course-index-jump a:hover {
            border-color: color-mix(in srgb, var(--ela-primary) 30%, var(--ela-line));
            background: color-mix(in srgb, var(--ela-surface) 76%, var(--ela-lavender));
            transform: translateY(-2px);
        }

        .mw-course-index-jump-media {
            width: 76px;
            height: 76px;
            display: block;
            overflow: hidden;
            border-radius: 13px;
            background: color-mix(in srgb, var(--ela-surface) 70%, transparent);
        }

        .mw-course-index-jump-media img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
        }

        .mw-course-index-jump-copy {
            min-width: 0;
            display: grid;
            gap: 7px;
            align-content: center;
        }

        .mw-course-index-jump-copy small {
            color: var(--ela-primary-strong);
            font-size: 10px;
            font-weight: 600;
            line-height: 1.3;
            text-transform: uppercase;
            white-space: normal;
        }

        .mw-course-index-jump-copy strong {
            font-size: 14px;
            font-weight: 520;
            line-height: 1.32;
        }

        .mw-course-index-jump > a > i {
            align-self: center;
        }

        .mw-course-index-jump a:focus-visible {
            outline: 3px solid color-mix(in srgb, var(--ela-primary) 24%, transparent);
            outline-offset: 2px;
        }

        .mw-course-index-copy .mw-button {
            gap: 8px;
        }

        .mw-footer {
            margin-top: clamp(20px, 3vw, 36px);
            border-top: 1px solid var(--ela-line);
            background: color-mix(in srgb, var(--ela-surface) 78%, var(--ela-bg-soft));
        }

        .mw-footer-grid {
            display: grid;
            grid-template-columns: minmax(300px, 1.45fr) repeat(3, minmax(150px, 0.65fr));
            gap: clamp(28px, 5vw, 58px);
            padding-top: 40px;
            padding-bottom: 34px;
        }

        .mw-footer-brand .mw-logo {
            min-width: 0;
        }

        .mw-footer-brand .mw-logo img {
            width: 128px;
        }

        .mw-footer-brand p {
            max-width: 430px;
            margin: 10px 0 0;
            color: var(--ela-muted);
            font-size: 14px;
            line-height: 1.62;
        }

        .mw-footer-app-download {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 7px;
            margin-top: 8px;
        }

        .mw-store-link {
            min-height: 34px;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 0 10px;
            border: 1px solid var(--ela-line);
            border-radius: 9px;
            background: var(--ela-control);
            color: var(--ela-text);
            font-size: 12.25px;
            font-weight: 560;
            line-height: 1;
            white-space: nowrap;
        }

        .mw-store-link i {
            color: var(--ela-primary-strong);
            font-size: 15px;
        }

        .mw-store-link:hover {
            border-color: color-mix(in srgb, var(--ela-primary) 36%, var(--ela-line));
            color: var(--ela-primary-strong);
            background: color-mix(in srgb, var(--ela-lavender) 34%, var(--ela-control));
        }

        .mw-footer-group {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 11px;
        }

        .mw-footer-group h2 {
            margin: 2px 0 8px;
            color: var(--ela-text);
            font-size: 13px;
            font-weight: 600;
            line-height: 1.3;
            text-transform: uppercase;
        }

        .mw-footer-group a {
            color: color-mix(in srgb, var(--ela-text) 72%, var(--ela-muted));
            font-size: 13.5px;
            line-height: 1.45;
        }

        .mw-footer-group a:hover {
            color: var(--ela-primary-strong);
        }

        .mw-footer-bottom {
            min-height: 48px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 20px;
            border-top: 1px solid var(--ela-line);
            color: var(--ela-muted);
            font-size: 12.5px;
        }

        @media (max-width: 1060px) {
            .mw-course-index-hero-layout {
                grid-template-columns: 1fr;
                gap: 42px;
            }

            .mw-course-index-intro {
                max-width: 760px;
            }

            .mw-footer-grid {
                grid-template-columns: minmax(280px, 1.2fr) repeat(3, minmax(130px, 0.65fr));
                gap: 32px;
            }
        }

        @media (max-width: 760px) {
            .mw-message-modal {
                align-items: flex-end;
                padding: 0;
            }

            .mw-message-dialog {
                width: 100%;
                padding: 22px 18px calc(22px + env(safe-area-inset-bottom));
                border-right: 0;
                border-bottom: 0;
                border-left: 0;
                border-radius: 16px 16px 0 0;
            }

            .mw-message-actions {
                grid-template-columns: 1fr;
            }

            .mw-video-modal {
                padding: 12px;
            }

            .mw-video-dialog {
                padding: 12px;
            }

            .mw-video-head {
                margin: 2px 2px 12px;
            }

            .mw-video-head h2 {
                font-size: 17px;
            }

            .mw-course-index-hero {
                padding: 28px 0 34px;
            }

            .mw-course-index-hero-layout {
                gap: 28px;
            }

            .mw-course-index-intro h1 {
                font-size: 34px;
            }

            .mw-course-index-intro > p {
                font-size: 16px;
            }

            .mw-course-index-jump {
                grid-template-columns: 1fr;
                gap: 8px;
                margin-top: 0;
            }

            .mw-course-index-jump a,
            .mw-course-index-jump a:first-child,
            .mw-course-index-jump a:nth-child(3),
            .mw-course-index-jump a:nth-child(n + 3) {
                min-height: 88px;
                grid-template-columns: 58px minmax(0, 1fr) 18px;
                gap: 12px;
                padding: 10px;
                border: 1px solid color-mix(in srgb, var(--ela-primary) 10%, var(--ela-line));
            }

            .mw-course-index-jump-media {
                width: 58px;
                height: 58px;
                border-radius: 11px;
            }

            .mw-footer {
                margin-top: 24px;
            }

            .mw-footer-grid {
                grid-template-columns: minmax(0, 0.9fr) minmax(0, 0.9fr) minmax(0, 1.2fr);
                gap: 28px 16px;
                padding-top: 32px;
                padding-bottom: 28px;
            }

            .mw-footer-brand {
                grid-column: 1 / -1;
            }

            .mw-footer-group {
                min-width: 0;
                gap: 9px;
            }

            .mw-footer-group h2 {
                font-size: 11.5px;
            }

            .mw-footer-group a {
                font-size: 12.5px;
            }

            .mw-footer-bottom {
                min-height: 56px;
                align-items: center;
                flex-direction: row;
                justify-content: space-between;
                gap: 12px;
            }

            .mw-footer-bottom span {
                white-space: nowrap;
            }

            .mw-footer-bottom span:last-child {
                text-align: right;
            }
        }

        .mw-program-local-nav a.is-current {
            border-color: var(--ela-primary);
            color: var(--ela-text);
        }

        .mw-program-hero:not(.mw-goal-hero):not(.mw-work-hero):not(.mw-ielts-hero) .mw-program-hero-grid {
            grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
        }

        .mw-program-hero:not(.mw-goal-hero):not(.mw-work-hero):not(.mw-ielts-hero) .mw-program-hero-media {
            border-radius: 28px 28px 68px 28px;
        }

        .mw-program-hero:not(.mw-goal-hero):not(.mw-work-hero):not(.mw-ielts-hero) .mw-program-hero-media > img {
            aspect-ratio: 16 / 10;
            border-radius: 18px 18px 56px 18px;
        }

        .mw-goal-hero {
            min-height: 0;
            padding: 50px 0 54px;
            background: color-mix(in srgb, var(--ela-lavender) 40%, var(--ela-bg));
        }

        .mw-goal-hero .mw-program-hero-grid {
            min-height: 0;
            grid-template-columns: minmax(0, 1fr) minmax(440px, 0.92fr);
            gap: clamp(48px, 6vw, 82px);
            align-items: center;
        }

        .mw-goal-hero .mw-program-hero-copy {
            max-width: 620px;
            padding: 0;
        }

        .mw-goal-hero .mw-program-hero-copy h1 {
            font-size: clamp(42px, 4.4vw, 58px);
        }

        .mw-goal-hero-media {
            position: relative;
            width: auto;
            padding: 10px;
            overflow: hidden;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 10%, var(--ela-line));
            border-radius: 18px;
            background: color-mix(in srgb, var(--ela-surface) 74%, transparent);
            box-shadow: var(--ela-shadow-panel);
        }

        .mw-goal-hero-media::before {
            display: none;
        }

        .mw-goal-hero-media > img {
            width: 100%;
            height: auto;
            aspect-ratio: 4 / 3;
            border-radius: 10px;
            object-fit: cover;
            object-position: center;
        }

        .mw-goal-hero .mw-program-hero-note {
            right: 22px;
            bottom: 22px;
        }

        .mw-work-hero {
            padding: 48px 0 52px;
        }

        .mw-work-hero .mw-program-hero-grid {
            grid-template-columns: minmax(420px, 0.92fr) minmax(0, 1.08fr);
            gap: clamp(52px, 7vw, 92px);
        }

        .mw-work-hero .mw-program-hero-copy {
            order: 2;
        }

        .mw-work-hero .mw-program-hero-media {
            order: 1;
            padding: 0;
            overflow: hidden;
            border: 0;
            border-radius: 24px 6px 24px 6px;
            background: transparent;
            box-shadow: var(--ela-shadow-panel);
        }

        .mw-work-hero .mw-program-hero-media > img {
            aspect-ratio: 5 / 4;
            border-radius: 24px 6px 24px 6px;
        }

        .mw-work-hero .mw-program-hero-note {
            right: 20px;
            bottom: 20px;
        }

        .mw-ielts-hero {
            padding: 50px 0 54px;
        }

        .mw-ielts-hero .mw-program-hero-grid {
            grid-template-columns: minmax(0, 1.1fr) minmax(390px, 0.9fr);
            gap: clamp(54px, 8vw, 106px);
        }

        .mw-ielts-hero .mw-program-facts {
            max-width: 540px;
            display: grid;
            grid-template-columns: 1fr;
            gap: 0;
            border-top: 1px solid color-mix(in srgb, var(--ela-primary) 16%, var(--ela-line));
        }

        .mw-ielts-hero .mw-program-facts span {
            min-height: 42px;
            padding: 10px 0;
            border-bottom: 1px solid color-mix(in srgb, var(--ela-primary) 16%, var(--ela-line));
        }

        .mw-ielts-hero .mw-program-hero-media {
            padding: 10px;
            border-radius: 10px;
            box-shadow: 18px 18px 0 color-mix(in srgb, var(--ela-primary) 8%, transparent);
        }

        .mw-ielts-hero .mw-program-hero-media > img {
            aspect-ratio: 4 / 3;
            border-radius: 5px;
        }

        .mw-ielts-hero .mw-program-hero-note {
            right: 24px;
            bottom: 24px;
            border-radius: 6px;
        }

        @media (max-width: 1060px) and (min-width: 761px) {
            .mw-goal-hero .mw-program-hero-grid {
                grid-template-columns: minmax(0, 1fr) minmax(360px, 0.88fr);
                gap: 38px;
            }

            .mw-goal-hero .mw-program-hero-copy h1 {
                font-size: 46px;
            }

            .mw-work-hero .mw-program-hero-grid {
                grid-template-columns: minmax(340px, 0.88fr) minmax(0, 1.12fr);
                gap: 42px;
            }

            .mw-ielts-hero .mw-program-hero-grid {
                grid-template-columns: minmax(0, 1fr) minmax(350px, 0.82fr);
                gap: 42px;
            }
        }

        @media (max-width: 760px) {
            .mw-program-hero:not(.mw-goal-hero):not(.mw-work-hero):not(.mw-ielts-hero) .mw-program-hero-grid {
                grid-template-columns: 1fr;
            }

            .mw-program-hero:not(.mw-goal-hero):not(.mw-work-hero):not(.mw-ielts-hero) .mw-program-hero-media {
                border-radius: 20px 20px 42px 20px;
            }

            .mw-program-hero:not(.mw-goal-hero):not(.mw-work-hero):not(.mw-ielts-hero) .mw-program-hero-media > img {
                border-radius: 13px 13px 34px 13px;
            }

            .mw-goal-hero {
                min-height: 0;
                padding: 38px 0 44px;
                overflow: visible;
            }

            .mw-goal-hero .mw-program-hero-grid {
                min-height: 0;
                grid-template-columns: 1fr;
            }

            .mw-goal-hero .mw-program-hero-copy {
                max-width: none;
                padding: 0;
            }

            .mw-goal-hero .mw-program-hero-copy h1 {
                font-size: 38px;
            }

            .mw-goal-hero-media {
                position: relative;
                top: auto;
                right: auto;
                bottom: auto;
                width: auto;
                padding: 10px;
                border: 1px solid color-mix(in srgb, var(--ela-primary) 10%, var(--ela-line));
                border-radius: 20px;
                background: color-mix(in srgb, var(--ela-surface) 74%, transparent);
                box-shadow: var(--ela-shadow-panel);
            }

            .mw-goal-hero-media::before {
                display: none;
            }

            .mw-goal-hero-media > img {
                height: auto;
                aspect-ratio: 16 / 11;
                border-radius: 13px;
            }

            .mw-work-hero .mw-program-hero-grid,
            .mw-ielts-hero .mw-program-hero-grid {
                grid-template-columns: 1fr;
                gap: 34px;
            }

            .mw-work-hero .mw-program-hero-copy,
            .mw-work-hero .mw-program-hero-media {
                order: initial;
            }

            .mw-work-hero .mw-program-hero-media,
            .mw-work-hero .mw-program-hero-media > img {
                border-radius: 18px 5px 18px 5px;
            }

            .mw-ielts-hero .mw-program-hero-media {
                border-radius: 8px;
                box-shadow: 10px 10px 0 color-mix(in srgb, var(--ela-primary) 8%, transparent);
            }
        }

        /* Access Pass public pages */
        .mw-access-pass-hero {
            padding: clamp(42px, 5.5vw, 68px) 0 clamp(50px, 6.5vw, 78px);
            border-bottom: 1px solid var(--ela-line);
            background: var(--ela-bg);
        }

        .mw-access-pass-hero-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
            gap: clamp(46px, 7vw, 96px);
            align-items: center;
        }

        .mw-access-pass-hero-copy h1,
        .mw-access-pass-activation-heading h1 {
            margin: 0;
            color: var(--ela-text);
            font-size: clamp(44px, 5vw, 62px);
            font-weight: 520;
            line-height: 1.04;
            letter-spacing: -0.045em;
        }

        .mw-access-pass-hero-copy h1 {
            font-size: clamp(40px, 4.5vw, 56px);
            font-weight: 450;
        }

        .mw-access-pass-activation-heading h1 {
            font-weight: 450;
        }

        .mw-access-pass-hero-copy > p {
            max-width: 620px;
            margin: 24px 0 0;
            color: var(--ela-muted);
            font-size: clamp(17px, 1.7vw, 19px);
            line-height: 1.65;
        }

        .mw-access-pass-hero-copy .mw-cta-row {
            margin-top: 30px;
        }

        .mw-access-pass-hero-copy .mw-button,
        .mw-access-pass-final .mw-button,
        .mw-access-pass-form-panel .mw-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }

        .mw-access-pass-proof-list {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            margin-top: 38px;
            border-top: 1px solid var(--ela-line);
        }

        .mw-access-pass-proof-list > div {
            display: flex;
            gap: 10px;
            align-items: center;
            padding: 20px 16px 0 0;
            color: var(--ela-text);
            font-size: 14px;
            line-height: 1.45;
        }

        .mw-access-pass-proof-list > div + div {
            padding-left: 16px;
            border-left: 1px solid var(--ela-line);
        }

        .mw-access-pass-proof-list i,
        .mw-access-pass-detail-list i,
        .mw-access-pass-activation-support > i {
            color: var(--ela-primary-strong);
            font-size: 20px;
        }

        .mw-access-pass-product {
            position: relative;
            margin: 0;
            overflow: hidden;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 18%, var(--ela-line));
            border-radius: clamp(18px, 2.4vw, 30px);
            background: var(--ela-surface);
            box-shadow: var(--ela-shadow-panel);
            transform: none;
            transition: transform 240ms ease, box-shadow 240ms ease;
            width: 100%;
            max-width: 540px;
            justify-self: end;
        }

        .mw-access-pass-product:hover {
            transform: translateY(-3px);
        }

        .mw-access-pass-product img {
            display: block;
            width: 100%;
            aspect-ratio: 4 / 3;
            object-fit: cover;
        }

        .mw-access-pass-product-dark {
            display: none !important;
        }

        html[data-layout-mode="dark"] .mw-access-pass-product-light {
            display: none;
        }

        html[data-layout-mode="dark"] .mw-access-pass-product-dark {
            display: block !important;
        }

        .mw-access-pass-section-heading h2,
        .mw-access-pass-final h2 {
            margin: 0;
            color: var(--ela-text);
            font-size: clamp(30px, 3.4vw, 44px);
            font-weight: 510;
            line-height: 1.12;
            letter-spacing: -0.03em;
        }

        .mw-access-pass-section-heading > p,
        .mw-access-pass-final p {
            max-width: 620px;
            margin: 14px 0 0;
            color: var(--ela-muted);
            font-size: 16px;
            line-height: 1.65;
        }

        .mw-access-pass-section-heading.compact h2 {
            font-size: clamp(27px, 3vw, 36px);
        }

        .mw-access-pass-step-rail h3,
        .mw-access-pass-detail-list h3,
        .mw-access-pass-activation-steps h2,
        .mw-access-pass-activation-support h2 {
            margin: 0;
            color: var(--ela-text);
            font-size: 17px;
            font-weight: 570;
            line-height: 1.35;
        }

        .mw-access-pass-step-rail p,
        .mw-access-pass-detail-list p,
        .mw-access-pass-activation-steps p,
        .mw-access-pass-activation-support p {
            margin: 7px 0 0;
            color: var(--ela-muted);
            font-size: 15px;
            line-height: 1.58;
        }

        .mw-access-pass-steps-band {
            padding: clamp(52px, 6.5vw, 72px) 0;
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
            background: var(--ela-bg-soft);
        }

        .mw-access-pass-step-rail {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            margin-top: 28px;
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-access-pass-step-rail article {
            position: relative;
            display: grid;
            grid-template-columns: 38px minmax(0, 1fr) 20px;
            gap: 14px;
            align-items: start;
            padding: 22px 28px 22px 0;
        }

        .mw-access-pass-step-rail article + article {
            padding-left: 28px;
            border-left: 1px solid var(--ela-line);
        }

        .mw-access-pass-step-rail article > i {
            align-self: center;
            color: var(--ela-primary-strong);
            font-size: 20px;
        }

        .mw-access-pass-help-band {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0;
            margin-top: clamp(56px, 7vw, 78px);
            margin-bottom: clamp(44px, 6vw, 64px);
            padding-top: 8px;
            border-top: 1px solid var(--ela-line);
            border-bottom: 1px solid var(--ela-line);
        }

        .mw-access-pass-help-column {
            padding: 28px 44px 28px 0;
        }

        .mw-access-pass-help-column + .mw-access-pass-help-column {
            padding-right: 0;
            padding-left: 44px;
            border-left: 1px solid var(--ela-line);
        }

        .mw-access-pass-detail-list {
            margin-top: 22px;
        }

        .mw-access-pass-detail-list article {
            display: grid;
            grid-template-columns: 28px minmax(0, 1fr);
            gap: 14px;
            padding: 13px 0;
            border-top: 1px solid var(--ela-line);
        }

        .mw-access-pass-final {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 32px;
            align-items: center;
            margin-bottom: 76px;
            padding: 34px 36px;
            border: 1px solid color-mix(in srgb, var(--ela-primary) 24%, var(--ela-line));
            border-radius: var(--ela-radius-md);
            background: color-mix(in srgb, var(--ela-lavender) 58%, var(--ela-surface));
            box-shadow: inset 5px 0 0 var(--ela-primary);
        }

        .mw-access-pass-final h2 {
            font-size: clamp(27px, 3vw, 36px);
        }

        .mw-access-pass-activation {
            display: grid;
            grid-template-areas:
                "heading task"
                "steps task";
            grid-template-columns: minmax(0, 0.82fr) minmax(460px, 1.18fr);
            grid-template-rows: auto 1fr;
            column-gap: clamp(52px, 8vw, 108px);
            align-items: start;
            padding-top: clamp(58px, 8vw, 92px);
            padding-bottom: clamp(76px, 10vw, 124px);
        }

        .mw-access-pass-activation-heading {
            grid-area: heading;
        }

        .mw-access-pass-activation-heading h1 {
            max-width: 560px;
            font-size: clamp(42px, 4.5vw, 56px);
        }

        .mw-access-pass-activation-steps {
            position: relative;
            grid-area: steps;
            display: grid;
            gap: 0;
            margin-top: 42px;
        }

        .mw-access-pass-activation-steps::before {
            position: absolute;
            top: 20px;
            bottom: 36px;
            left: 18px;
            width: 1px;
            background: color-mix(in srgb, var(--ela-primary) 38%, var(--ela-line));
            content: "";
        }

        .mw-access-pass-activation-steps article {
            position: relative;
            display: grid;
            grid-template-columns: 38px minmax(0, 1fr);
            gap: 16px;
            padding: 0 0 28px;
        }

        .mw-access-pass-activation-steps .mw-number {
            position: relative;
            z-index: 1;
        }

        .mw-access-pass-activation-task {
            grid-area: task;
            display: grid;
            gap: 18px;
        }

        .mw-access-pass-form-panel {
            padding: clamp(28px, 4vw, 42px);
            border: 1px solid color-mix(in srgb, var(--ela-primary) 14%, var(--ela-line));
            border-radius: var(--ela-radius-md);
            background: var(--ela-surface);
            box-shadow: var(--ela-shadow-panel);
        }

        .mw-access-pass-form-panel > h2 {
            margin: 0 0 28px;
            color: var(--ela-text);
            font-size: clamp(27px, 3vw, 32px);
            font-weight: 520;
            line-height: 1.15;
            letter-spacing: -0.025em;
        }

        .mw-access-pass-form-panel form {
            display: grid;
            gap: 10px;
        }

        .mw-access-pass-field {
            display: grid;
            gap: 10px;
            min-width: 0;
        }

        .mw-access-pass-form-panel label {
            margin-top: 9px;
            color: var(--ela-text);
            font-size: 14px;
            font-weight: 580;
            line-height: 1.4;
        }

        .mw-access-pass-form-panel input {
            width: 100%;
            min-height: 52px;
            padding: 12px 15px;
            border: 1px solid var(--ela-line);
            border-radius: 10px;
            outline: 0;
            background: var(--ela-control);
            color: var(--ela-text);
            font: inherit;
            font-size: 16px;
            transition: border-color 160ms ease, box-shadow 160ms ease;
        }

        .mw-access-pass-form-panel input:focus {
            border-color: var(--ela-primary);
            box-shadow: 0 0 0 3px color-mix(in srgb, var(--ela-primary) 18%, transparent);
        }

        .mw-access-pass-field .public-auth-field-error {
            display: none;
            min-height: 16px;
            margin-top: -2px;
            color: #b33f34;
            font-size: 12px;
            line-height: 16px;
        }

        .mw-access-pass-field .public-auth-field-error-visible {
            display: block;
        }

        .mw-access-pass-field input[aria-invalid="true"] {
            border-color: #c04a3d;
            box-shadow: 0 0 0 3px color-mix(in srgb, #c04a3d 16%, transparent);
        }

        html[data-layout-mode="dark"] .mw-access-pass-field .public-auth-field-error {
            color: #ffb4a8;
        }

        .mw-access-pass-form-panel form > .mw-button {
            width: 100%;
            margin-top: 18px;
        }

        .mw-access-pass-alert {
            padding: 14px 16px;
            border-radius: 10px;
            background: var(--ela-bg-soft);
            color: var(--ela-text);
            font-size: 14px;
            line-height: 1.5;
        }

        .mw-access-pass-alert ul {
            margin: 0;
            padding-left: 18px;
        }

        .mw-access-pass-alert.error {
            background: color-mix(in srgb, #dc3545 13%, var(--ela-surface));
        }

        .mw-access-pass-alert.success {
            background: color-mix(in srgb, #198754 14%, var(--ela-surface));
        }

        .mw-access-pass-form-note {
            margin: 12px 0 0;
            color: var(--ela-muted);
            font-size: 13px;
            text-align: center;
        }

        .mw-access-pass-form-note a {
            color: var(--ela-primary-strong);
            font-weight: 580;
        }

        .mw-access-pass-activation-support {
            display: grid;
            grid-template-columns: 28px minmax(0, 1fr) auto;
            gap: 14px;
            align-items: center;
            padding: 20px 22px;
            border: 1px solid var(--ela-line);
            border-radius: var(--ela-radius-md);
            background: color-mix(in srgb, var(--ela-bg-soft) 70%, var(--ela-surface));
        }

        .mw-access-pass-support-actions {
            display: flex;
            gap: 14px;
            align-items: center;
        }

        .mw-access-pass-support-actions .mw-button {
            min-height: 42px;
            padding: 10px 16px;
            white-space: nowrap;
        }

        @media (max-width: 1060px) {
            .mw-access-pass-hero-grid {
                grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
                gap: 44px;
            }

            .mw-access-pass-hero-copy h1 {
                font-size: 50px;
            }

            .mw-access-pass-activation {
                column-gap: 48px;
            }

            .mw-access-pass-activation-support {
                grid-template-columns: 28px minmax(0, 1fr);
            }

            .mw-access-pass-support-actions {
                grid-column: 2;
            }
        }

        @media (max-width: 900px) {
            .mw-access-pass-hero-grid {
                grid-template-columns: 1fr;
            }

            .mw-access-pass-product {
                max-width: 620px;
                transform: none;
            }

            .mw-access-pass-step-rail {
                grid-template-columns: 1fr;
            }

            .mw-access-pass-step-rail article,
            .mw-access-pass-step-rail article + article {
                padding: 24px 0;
                border-left: 0;
            }

            .mw-access-pass-step-rail article + article {
                border-top: 1px solid var(--ela-line);
            }

            .mw-access-pass-step-rail article > i {
                display: none;
            }

            .mw-access-pass-help-band {
                grid-template-columns: 1fr;
            }

            .mw-access-pass-help-column,
            .mw-access-pass-help-column + .mw-access-pass-help-column {
                padding: 34px 0;
                border-left: 0;
            }

            .mw-access-pass-help-column + .mw-access-pass-help-column {
                border-top: 1px solid var(--ela-line);
            }

            .mw-access-pass-activation {
                grid-template-areas:
                    "heading"
                    "task"
                    "steps";
                grid-template-columns: 1fr;
                grid-template-rows: auto;
                gap: 0;
            }

            .mw-access-pass-activation-task {
                margin-top: 34px;
            }

            .mw-access-pass-activation-steps {
                margin-top: 52px;
            }
        }

        @media (max-width: 640px) {
            .mw-access-pass-hero {
                padding: 40px 0 58px;
            }

            .mw-access-pass-hero-grid {
                gap: 34px;
            }

            .mw-access-pass-hero-copy h1,
            .mw-access-pass-activation-heading h1 {
                font-size: clamp(36px, 11vw, 46px);
                letter-spacing: -0.04em;
            }

            .mw-access-pass-hero-copy h1 {
                font-size: clamp(34px, 9.8vw, 42px);
            }

            .mw-access-pass-proof-list,
            .mw-access-pass-final {
                grid-template-columns: 1fr;
            }

            .mw-access-pass-proof-list > div,
            .mw-access-pass-proof-list > div + div {
                padding: 15px 0;
                border-left: 0;
                border-bottom: 1px solid var(--ela-line);
            }

            .mw-access-pass-product {
                border-radius: 18px;
            }

            .mw-access-pass-help-band {
                margin-top: 64px;
                margin-bottom: 48px;
            }

            .mw-access-pass-final {
                gap: 24px;
                margin-bottom: 48px;
                padding: 28px 24px;
            }

            .mw-access-pass-final .mw-button {
                width: 100%;
            }

            .mw-access-pass-activation {
                padding-top: 42px;
                padding-bottom: 72px;
            }

            .mw-access-pass-form-panel {
                padding: 26px 20px;
            }

            .mw-access-pass-activation-support {
                grid-template-columns: 26px minmax(0, 1fr);
                padding: 18px;
            }

            .mw-access-pass-support-actions {
                grid-column: 1 / -1;
                flex-wrap: wrap;
                padding-left: 40px;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .mw-access-pass-product {
                transition: none;
            }
        }
