body.wm-page {
    --wm-ink: #030d2b;
    --wm-navy: #051745;
    --wm-navy2: #0b2566;
    --wm-orange: #f15f22;
    --wm-sky: #5ad1ff;
    --wm-mist: #b9c6e8;
    background: var(--wm-ink);
    color: #dbe3f7;
    font-family: 'Bricolage Grotesque', system-ui, sans-serif;
}

body.wm-page .wm-home-hero {
    position: relative;
    display: flex;
    min-height: min(760px, 92vh);
    align-items: center;
    overflow: hidden;
    padding: 88px 24px 110px;
    color: #dbe3f7;
    background: radial-gradient(ellipse at 75% 30%, #0b2566, #051745 48%, #030d2b 82%);
}

.wm-home-floor {
    position: absolute;
    left: -40%;
    right: -40%;
    bottom: -34%;
    height: 75%;
    transform: perspective(520px) rotateX(64deg);
    background-image:
        linear-gradient(rgba(90,209,255,.2) 1px, transparent 1px),
        linear-gradient(90deg, rgba(90,209,255,.2) 1px, transparent 1px);
    background-size: 64px 64px;
    animation: wm-home-floor-drift 3.2s linear infinite;
    -webkit-mask-image: linear-gradient(transparent, #000 65%);
    mask-image: linear-gradient(transparent, #000 65%);
}

@keyframes wm-home-floor-drift {
    to { background-position: 0 64px; }
}

.wm-home-hero-inner,
.wm-home-cube-wrap {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: clamp(32px, 6vw, 82px);
    width: min(1140px, 100%);
    margin: 0 auto;
}

.wm-home-copy h1,
.wm-home-cube-copy h2 {
    margin: 0 0 22px;
    color: #fff;
    font-family: 'Bricolage Grotesque', system-ui, sans-serif;
    font-size: clamp(42px, 6vw, 76px);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1.03;
}

.wm-home-copy {
    position: relative;
    z-index: 2;
}

.wm-home-copy .wm-home-lead,
.wm-home-cube-copy p:not(.wm-home-eyebrow) {
    max-width: 62ch;
    color: #cfd9f5;
    font-size: clamp(17px, 2vw, 20px);
    line-height: 1.7;
}

.wm-home-eyebrow {
    margin: 0 0 16px;
    color: #5ad1ff;
    font: 700 12px/1.5 'JetBrains Mono', ui-monospace, monospace;
    letter-spacing: .12em;
}

.wm-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 30px;
}

.wm-home-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 13px 25px;
    border: 1px solid #f15f22;
    border-radius: 10px;
    color: #fff;
    background: #f15f22;
    box-shadow: 0 5px 0 #a93d0c, 0 16px 30px rgba(241,95,34,.24);
    font-weight: 800;
    text-decoration: none;
    transition: transform .15s, box-shadow .15s, background-color .15s;
}

.wm-home-button:hover,
.wm-home-button:focus-visible {
    transform: translateY(2px);
    color: #fff;
    background: #d95018;
    box-shadow: 0 3px 0 #a93d0c, 0 10px 20px rgba(241,95,34,.25);
    text-decoration: none;
}

.wm-home-button-ghost {
    border-color: rgba(255,255,255,.35);
    background: transparent;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

.wm-home-button-ghost:hover,
.wm-home-button-ghost:focus-visible {
    border-color: #5ad1ff;
    background: rgba(90,209,255,.12);
    box-shadow: inset 0 0 0 1px #5ad1ff;
}

.wm-home-hero-art {
    position: relative;
    z-index: 1;
    display: grid;
    justify-items: center;
}

.wm-home-stage {
    position: relative;
    width: min(290px, 68vw);
    aspect-ratio: 1;
    transform: perspective(1400px) rotateX(58deg) rotateZ(-38deg);
    transform-style: preserve-3d;
    transition: transform .35s ease;
}

.wm-home-hero-art:hover .wm-home-stage {
    transform: perspective(1400px) rotateX(56deg) rotateZ(-32deg);
}

.wm-home-pane {
    position: absolute;
    inset: 0;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 14px;
    font: 500 12px/1.7 'JetBrains Mono', ui-monospace, monospace;
    transition: transform .6s cubic-bezier(.2,.8,.2,1);
}

.wm-home-pane b {
    display: block;
    margin-bottom: 8px;
    color: #fff;
    font: 800 18px 'Bricolage Grotesque', system-ui, sans-serif;
}

.wm-home-pane code {
    color: inherit;
    background: transparent;
}

.wm-home-pane-data {
    color: #9fb5ee;
    background: rgba(14,38,100,.94);
    box-shadow: 60px 60px 80px rgba(0,0,0,.4);
}

.wm-home-pane-logic {
    color: #bfeaff;
    background: rgba(90,209,255,.17);
    transform: translateZ(90px);
}

.wm-home-pane-interface {
    color: #ffd9c9;
    background: rgba(241,95,34,.25);
    transform: translateZ(180px);
}

.wm-home-hero-art:hover .wm-home-pane-logic {
    transform: translateZ(115px);
}

.wm-home-hero-art:hover .wm-home-pane-interface {
    transform: translateZ(225px);
}

.wm-home-art-caption {
    margin: 36px 0 0;
    color: #5ad1ff;
    font: 500 12px/1.5 'JetBrains Mono', ui-monospace, monospace;
    text-align: center;
}

.wm-home-cube-section {
    position: relative;
    overflow: hidden;
    padding: 90px 24px;
    background: linear-gradient(180deg, #030d2b, #051745 50%, #030d2b);
}

.wm-home-cube-scene {
    display: grid;
    min-height: 300px;
    place-items: center;
    perspective: 900px;
}

.wm-home-cube {
    position: relative;
    width: 150px;
    height: 150px;
    transform-style: preserve-3d;
    animation: wm-home-cube-spin 16s linear infinite;
}

.wm-home-cube-scene:hover .wm-home-cube {
    animation-play-state: paused;
}

.wm-home-cube > div {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 6px;
    border: 1px solid rgba(90,209,255,.6);
    color: #fff;
    background: rgba(11,37,102,.82);
    box-shadow: inset 0 0 30px rgba(90,209,255,.18);
    font: 700 clamp(14px, 2.2vw, 22px)/1.2 'JetBrains Mono', ui-monospace, monospace;
    text-align: center;
    overflow-wrap: anywhere;
}

.wm-home-cube > div:nth-child(1) { transform: translateZ(75px); }
.wm-home-cube > div:nth-child(2) { transform: rotateY(90deg) translateZ(75px); }
.wm-home-cube > div:nth-child(3) { transform: rotateY(180deg) translateZ(75px); }
.wm-home-cube > div:nth-child(4) { transform: rotateY(-90deg) translateZ(75px); }
.wm-home-cube > div:nth-child(5) { transform: rotateX(90deg) translateZ(75px); }
.wm-home-cube > div:nth-child(6) { transform: rotateX(-90deg) translateZ(75px); }

@keyframes wm-home-cube-spin {
    from { transform: rotateX(-22deg) rotateY(0); }
    to { transform: rotateX(-22deg) rotateY(360deg); }
}

.wm-home-cube-copy h2 {
    font-size: clamp(32px, 4vw, 48px);
}

.wm-home-text-link {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    margin-top: 10px;
    color: #5ad1ff;
    font-weight: 700;
}

.wm-home-text-link:hover {
    color: #f15f22;
}

.wm-page h1,
.wm-page h2,
.wm-page h3,
.wm-page h4,
.wm-page h5 {
    color: #fff;
    font-family: 'Bricolage Grotesque', system-ui, sans-serif;
}

.wm-page p,
.wm-page li {
    color: var(--wm-mist);
}

.wm-page a {
    color: var(--wm-sky);
}

.wm-page a:hover {
    color: var(--wm-orange);
}

.wm-page .all-title-box,
.wm-page .hero {
    position: relative;
    overflow: hidden;
    min-height: 0;
    padding: 88px 0;
    color: #fff;
    text-align: center;
    background:
        radial-gradient(ellipse at 75% 15%, rgba(11, 37, 102, .95), transparent 55%),
        linear-gradient(135deg, var(--wm-navy), var(--wm-ink));
    border-bottom: 1px solid rgba(90, 209, 255, .22);
}

.wm-page .all-title-box h1,
.wm-page .hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(36px, 5vw, 62px);
    font-weight: 800;
}

.wm-page .m_1 {
    display: block;
    margin-top: 14px;
    color: var(--wm-mist);
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 400;
    line-height: 1.5;
}

.wm-page .section,
.wm-page #overviews,
.wm-page .hmv-box {
    background: var(--wm-ink);
    color: #dbe3f7;
}

.wm-page .section-title h3,
.wm-page .message-box h2,
.wm-page .section-header {
    color: #fff;
}

.wm-page .section-title p,
.wm-page .message-box p,
.wm-page .lead {
    color: var(--wm-mist);
}

.wm-page .message-box,
.wm-page .inner-hmv,
.wm-page .roadmap-card,
.wm-page .login-box-card,
.wm-page .contact_form,
.wm-page .curriculum-list,
.wm-page .footer-note,
.wm-page .specialization-card,
.wm-page .service-card,
.wm-page .testimonial-card {
    color: #dbe3f7;
    background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    box-shadow: 0 24px 54px rgba(0,0,0,.24);
}

.wm-page .message-box,
.wm-page .inner-hmv,
.wm-page .roadmap-card,
.wm-page .login-box-card,
.wm-page .contact_form,
.wm-page .curriculum-list,
.wm-page .footer-note,
.wm-page .specialization-card {
    padding: 28px;
}

.wm-page .inner-hmv,
.wm-page .roadmap-card,
.wm-page .service-card {
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.wm-page .inner-hmv:hover,
.wm-page .roadmap-card:hover,
.wm-page .service-card:hover {
    transform: translateY(-4px);
    border-color: rgba(90, 209, 255, .55);
    box-shadow: 0 30px 60px rgba(0,0,0,.34);
}

.wm-page .first-section {
    background-color: var(--wm-navy);
    background-blend-mode: overlay;
}

.wm-page .first-section .big-tagline h2 {
    color: #fff;
    font-family: 'Bricolage Grotesque', system-ui, sans-serif;
    font-size: clamp(36px, 5vw, 64px);
    font-weight: 800;
}

.wm-page .first-section .big-tagline p {
    color: #e0e8fa;
}

.wm-page .service-card {
    overflow: hidden;
}

.wm-page .service-card .card-body-content {
    color: #dbe3f7;
    background: transparent;
}

.wm-page .service-card h4,
.wm-page .specialization-card h4 {
    color: #fff;
}

.wm-page .service-card .card-body-content p {
    color: var(--wm-mist);
}

.wm-page .roadmap-card h4,
.wm-page .certification-banner h3 {
    color: #fff;
}

.wm-page .roadmap-card p,
.wm-page .certification-banner p {
    color: var(--wm-mist);
}

.wm-page .certification-banner,
.wm-page .pricing-table-highlighted,
.wm-page .pricing-table-features,
.wm-page .pricing-table-sign-up {
    color: #dbe3f7;
    background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.025));
    border-color: rgba(255,255,255,.14);
}

.wm-page .pricing-table-header {
    color: #fff;
    background: linear-gradient(135deg, var(--wm-navy2), var(--wm-navy));
}

.wm-page .pricing-table-header h2,
.wm-page .pricing-table-header h3 {
    color: #fff;
}

.wm-page .pricing-table-sign-up p {
    color: var(--wm-mist) !important;
}

.wm-page .popup-card {
    color: #dbe3f7;
    background: linear-gradient(145deg, var(--wm-navy2), var(--wm-ink));
    border: 1px solid rgba(255,255,255,.18);
}

.wm-page .popup-card h3,
.wm-page .popup-card p {
    color: #fff;
}

.wm-page .curriculum-list ul,
.wm-page .specialization-card ul {
    margin-bottom: 0;
}

.wm-page .curriculum-list li,
.wm-page .specialization-card li {
    border-color: rgba(255,255,255,.12);
}

.wm-page .section-header {
    margin-top: 42px;
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 700;
}

.wm-page .icon-box-hmv {
    color: var(--wm-sky);
    border-color: var(--wm-sky);
}

.wm-page .tr-pa {
    color: rgba(90, 209, 255, .12);
}

.wm-page .contact_form .form-control,
.wm-page .form-control {
    min-height: 48px;
    color: #fff;
    background-color: rgba(3, 13, 43, .72);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 9px;
}

.wm-page .form-control::placeholder {
    color: #aab9dc;
    opacity: 1;
}

.wm-page .form-control:focus {
    color: #fff;
    background-color: rgba(3, 13, 43, .9);
    border-color: var(--wm-sky);
    box-shadow: 0 0 0 3px rgba(90, 209, 255, .18);
}

.wm-page .form-control option {
    color: #fff;
    background: var(--wm-navy);
}

.wm-page .hover-btn-new.orange,
.wm-page .btn.btn-light.grd1,
.wm-page .btn-select-service,
.wm-page .popup-btn {
    color: #fff;
    background: var(--wm-orange);
    border: 0;
    border-radius: 9px;
    box-shadow: 0 5px 0 #a93d0c, 0 14px 28px rgba(241,95,34,.22);
}

.wm-page .hover-btn-new.orange:hover,
.wm-page .btn.btn-light.grd1:hover,
.wm-page .btn-select-service:hover,
.wm-page .popup-btn:hover {
    color: #fff;
    background: #d95018;
}

.wm-page .testimonials-section {
    color: #dbe3f7;
    background: linear-gradient(180deg, var(--wm-ink), var(--wm-navy) 55%, var(--wm-ink));
}

.wm-page .testimonials-section .section-heading h2,
.wm-page .testimonial-meta h4 {
    color: #fff;
}

.wm-page .testimonials-section .section-subtitle,
.wm-page .testimonial-text {
    color: var(--wm-mist);
}

.wm-page .testimonial-card {
    border-color: rgba(255,255,255,.14);
}

.wm-page .testimonial-nav {
    color: #fff;
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.25);
}

.wm-page .testimonial-nav:hover,
.wm-page .testimonial-nav:focus-visible {
    color: #fff;
    background: var(--wm-orange);
    border-color: var(--wm-orange);
}

.wm-page .testimonial-quote-mark,
.wm-page .student-cohort {
    color: var(--wm-sky);
}

.wm-page .testimonial-avatar-wrap {
    background: var(--wm-navy2);
    border-color: var(--wm-orange);
}

.wm-page .testimonial-avatar-fallback {
    color: #fff;
}

@media (max-width: 767px) {
    body.wm-page .wm-home-hero {
        min-height: 0;
        padding: 68px 20px 88px;
    }

    .wm-home-hero-inner,
    .wm-home-cube-wrap {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .wm-home-stage {
        width: min(230px, 62vw);
    }

    .wm-home-pane {
        padding: 14px;
        font-size: 10px;
    }

    .wm-home-cube-section {
        padding: 64px 20px;
    }

    .wm-page .all-title-box,
    .wm-page .hero {
        padding: 64px 0;
    }

    .wm-page .message-box,
    .wm-page .inner-hmv,
    .wm-page .roadmap-card,
    .wm-page .login-box-card,
    .wm-page .contact_form,
    .wm-page .curriculum-list,
    .wm-page .footer-note,
    .wm-page .specialization-card {
        padding: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .wm-page .inner-hmv,
    .wm-page .roadmap-card,
    .wm-page .service-card {
        transition: none;
    }

    .wm-home-floor,
    .wm-home-cube {
        animation: none;
    }

    .wm-home-stage,
    .wm-home-pane,
    .wm-home-button {
        transition: none;
    }
}
