/* Trusted schools */
.trusted-schools {
    position: relative;
    overflow: hidden;
    background: radial-gradient(ellipse at center, #fff8f0 0, #fff 70%);
    color: #101820;
    font-family: 'Muli', sans-serif;
}

.trusted-schools .container {
    position: relative;
    z-index: 1;
}

.trusted-schools__eyebrow {
    gap: 20px;
    color: #e87916;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 2px;
}

.trusted-schools__eyebrow::before,
.trusted-schools__eyebrow::after {
    content: '';
    width: 32px;
    height: 2px;
    background: #edbd89;
}

.trusted-schools__title {
    color: #101820;
    font-size: clamp(28px, 3.2vw, 46px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -1.2px;
}

.trusted-schools__accent {
    color: #f58216;
}

.trusted-schools__description,
.trusted-schools__invitation {
    color: #5c6675;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;
}

.trusted-schools__description {
    max-width: 790px;
}

.trusted-schools__card {
    min-height: 124px;
    padding: 24px 16px;
    background: #fff;
    border: 1px solid #f1ece6;
    border-radius: 20px;
    box-shadow: 0 10px 28px rgba(194, 133, 64, .06);
}

.trusted-schools__logo {
    display: block;
    width: 100%;
    max-width: 200px;
    height: 80px;
    object-fit: contain;
}

.trusted-schools__name {
    color: var(--school-color);
    font-size: 23px;
    font-weight: 900;
    line-height: 1.15;
}

.trusted-schools__subtitle {
    display: block;
    margin-top: 5px;
    color: #364152;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
}

.trusted-schools__divider {
    gap: 18px;
    color: #ed902e;
}

.trusted-schools__divider::before,
.trusted-schools__divider::after {
    content: '';
    width: 78px;
    height: 2px;
    background: #edbd89;
}

.trusted-schools__count {
    color: #101820;
    font-size: clamp(24px, 2.4vw, 32px);
    font-weight: 900;
    line-height: 1.25;
}

.trusted-schools__count strong {
    font-size: clamp(40px, 4vw, 56px);
}

.trusted-schools .trusted-schools__button {
    padding: 17px 28px;
    border: 2px solid #ff850d;
    border-radius: 16px;
    background: #ff850d;
    box-shadow: 0 8px 22px rgba(255, 133, 13, .16);
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    white-space: normal;
}

.trusted-schools .trusted-schools__button:hover {
    border-color: #df6a00;
    background: #df6a00;
    color: #fff;
}

.trusted-schools .trusted-schools__button:focus-visible {
    outline: 3px solid #101820;
    outline-offset: 4px;
}

.trusted-schools__cube {
    position: absolute;
    width: 210px;
    height: 210px;
    color: #f4a65c;
    opacity: .12;
    pointer-events: none;
}

.trusted-schools__cube--top {
    top: 15px;
    left: -65px;
    transform: rotate(-10deg);
}

.trusted-schools__cube--bottom {
    bottom: -55px;
    right: -60px;
    transform: rotate(8deg);
}

.trusted-schools__spark {
    position: absolute;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: linear-gradient(135deg, #ffd28a, #ff850d);
    box-shadow: 0 14px 28px rgba(245, 130, 22, .2);
    transform: rotate(35deg);
    pointer-events: none;
}

.trusted-schools__spark--top {
    top: 85px;
    right: 3%;
}

.trusted-schools__spark--bottom {
    bottom: 135px;
    left: 4%;
}

@media (max-width: 575.98px) {
    .trusted-schools__eyebrow {
        gap: 12px;
        font-size: 11px;
    }

    .trusted-schools__title {
        letter-spacing: -.5px;
    }

    .trusted-schools__description,
    .trusted-schools__invitation {
        font-size: 16px;
    }

    .trusted-schools__card {
        min-height: 105px;
    }

    .trusted-schools__cube {
        width: 140px;
        height: 140px;
    }

    .trusted-schools__spark {
        display: none;
    }

    .trusted-schools .trusted-schools__button {
        width: 100%;
        padding: 15px;
        font-size: 16px;
    }
}

/* Our impact */
.our-impact {
    background: radial-gradient(ellipse at center, #fffaf5 0%, #fff 72%);
    color: #17212b;
    font-family: 'Muli', sans-serif;
}

.our-impact .container {
    position: relative;
    z-index: 1;
}

.our-impact__eyebrow {
    color: #b85b0b;
    font-size: 14px;
    letter-spacing: 2px;
}

.our-impact__eyebrow::before,
.our-impact__eyebrow::after {
    content: '';
    width: 32px;
    height: 2px;
    margin: 0 16px;
    background: #edc7a2;
}

.our-impact__title {
    color: #171b20;
    font-size: clamp(28px, 3.4vw, 46px);
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -1px;
}

.our-impact__accent {
    color: #f58216;
}

.our-impact__description {
    color: #626c79;
    font-size: clamp(16px, 1.6vw, 20px);
    line-height: 1.6;
    max-width: 820px;
}

.our-impact__panel {
    background: #fff5ec;
    border: 1px solid #f9ece0;
    border-radius: 40px;
}

.our-impact__stat {
    min-width: 0;
}

.our-impact__icon {
    width: 78px;
    height: 78px;
    color: #f58216;
    font-size: 48px;
    background: #fffaf5;
    border: 1px solid #f5dfcb;
    border-radius: 24px;
}

.our-impact__number {
    color: #984e07;
    font-size: clamp(42px, 5vw, 68px);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -2px;
}

.our-impact__label {
    color: #17212b;
    font-size: 17px;
    line-height: 1.5;
}

.our-impact__decoration {
    position: absolute;
    pointer-events: none;
    color: #f58216;
    opacity: .09;
    font-size: 150px;
    transform: rotate(-15deg);
}

.our-impact__decoration--left {
    top: 0;
    left: -40px;
}

.our-impact__decoration--right {
    right: -40px;
    bottom: 0;
    transform: rotate(15deg);
}

@media (min-width: 992px) {
    .our-impact__stat+.our-impact__stat {
        border-left: 1px solid #eedfd2;
    }
}

@media (min-width: 576px) and (max-width: 991px) {
    .our-impact__stat:nth-child(even) {
        border-left: 1px solid #eedfd2;
    }

    .our-impact__stat:nth-child(n+3) {
        border-top: 1px solid #eedfd2;
    }
}

@media (max-width: 575px) {
    .our-impact__panel {
        border-radius: 24px;
    }

    .our-impact__stat+.our-impact__stat {
        border-top: 1px solid #eedfd2;
    }

    .our-impact__icon {
        width: 64px;
        height: 64px;
        font-size: 38px;
        border-radius: 18px;
    }

    .our-impact__title {
        letter-spacing: -.5px;
    }
}

/* Shared footer: desktop columns collapse to two columns, then a single column. */
.kreaa-footer {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-top: 64px;
    background: radial-gradient(ellipse at top left, #fff0e2 0, transparent 28%), radial-gradient(ellipse at bottom right, #fff0e2 0, transparent 30%), #fffcf8;
    color: #626e88;
}

.kreaa-footer__container {
    width: min(1440px, 92%);
    margin: 0 auto;
}

.kreaa-footer__grid {
    display: grid;
    grid-template-columns: 1.25fr 1fr 1fr 1.2fr;
    padding-bottom: 50px;
}

.kreaa-footer__brand {
    padding-right: 36px;
}

.kreaa-footer__logo {
    display: inline-block;
    margin-bottom: 16px;
}

.kreaa-footer__logo img {
    width: 280px;
    max-width: 100%;
    height: auto;
}

.kreaa-footer p {
    margin: 0;
    color: #626e88;
    font-size: 17px;
    line-height: 1.65;
}

.kreaa-footer__column {
    min-width: 0;
    padding: 0 32px;
    border-left: 1px solid #e4e3e3;
}

.kreaa-footer__column:last-child {
    padding-right: 0;
}

.kreaa-footer h2 {
    margin: 0 0 10px;
    color: #101a3e;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 800;
}

.kreaa-footer h2::after {
    content: "";
    display: block;
    width: 46px;
    height: 6px;
    margin-top: 10px;
    border-radius: 4px;
    background: #ff8300;
}

.kreaa-footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.kreaa-footer a {
    color: #45516b;
    text-decoration: none;
    transition: color .2s ease, transform .2s ease;
}

.kreaa-footer__column li>a {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 44px;
    padding: 6px 0;
    font-size: 17px;
    line-height: 1.5;
}

.kreaa-footer nav.kreaa-footer__column li>a::before {
    content: "\203A";
    color: #ff8300;
    font-size: 30px;
    line-height: 1;
}

.kreaa-footer a:hover {
    color: #c45b06;
}

.kreaa-footer a:focus-visible,
.kreaa-footer button:focus-visible {
    outline: 3px solid #d96b11;
    outline-offset: 5px;
    border-radius: 4px;
}

.kreaa-footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 22px;
}

.kreaa-footer__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #e1e2e7;
    border-radius: 10px;
    background: #fffdfa;
    font-size: 19px;
}

.kreaa-footer__social a:hover {
    transform: translateY(-3px);
}

.kreaa-footer .kreaa-footer__instagram {
    color: #d62976;
}

.kreaa-footer .kreaa-footer__facebook {
    color: #1877f2;
}

.kreaa-footer .kreaa-footer__linkedin {
    color: #0077b5;
}

.kreaa-footer__contact li+li {
    margin-top: 12px;
}

.kreaa-footer__contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 45px;
    height: 45px;
    border-radius: 10%;
    background: #fff1e5;
    color: #ff8300;
    font-size: 18px;
}

.kreaa-footer__contact strong {
    display: block;
    color: #101a3e;
    font-size: 17px;
    overflow-wrap: anywhere;
}

.kreaa-footer__contact small {
    display: block;
    font-size: 14px;
    color: #626e88;
}

.kreaa-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 0;
    border-top: 1px solid #e4e3e3;
}

.kreaa-footer__bottom nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 0;
}

.kreaa-footer__bottom p,
.kreaa-footer__bottom a {
    font-size: 14px;
}

.kreaa-footer__bottom a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 20px;
    border-left: 1px solid #a5adbc;
}

.kreaa-footer__bottom a:last-child {
    padding-right: 0;
}

.kreaa-footer__cube {
    position: absolute;
    z-index: -1;
    width: 45px;
    height: 45px;
    border-radius: 10px;
    background: linear-gradient(135deg, #ffbb72, #ff7900 60%, #ed6300);
    box-shadow: inset -12px -8px 0 #e9660033, inset 6px 6px 0 #ffffff33;
    transform: rotate(25deg);
    pointer-events: none;
}

.kreaa-footer__cube--left {
    bottom: 100px;
    left: -14px;
}

.kreaa-footer__cube--right {
    top: 18px;
    right: 18px;
}

.kreaa-footer #movetop {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: #e66e0b;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 4px 14px #ad4e0033;
}

.kreaa-footer #movetop .fa {
    color: #fff;
    font-size: 24px;
}

@media (max-width: 1199px) {
    .kreaa-footer__column {
        padding: 0 20px;
    }

    .kreaa-footer h2 {
        font-size: 21px;
    }

    .kreaa-footer__column li>a,
    .kreaa-footer__contact strong,
    .kreaa-footer p {
        font-size: 15px;
    }

    .kreaa-footer__contact-icon {
        width: 44px;
        height: 44px;
        font-size: 22px;
    }

    .kreaa-footer__column li>a {
        gap: 12px;
    }
}

@media (max-width: 991px) {
    .kreaa-footer {
        padding-top: 44px;
    }

    .kreaa-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 36px 0;
        padding-bottom: 40px;
    }

    .kreaa-footer__column {
        padding: 0 28px;
    }

    .kreaa-footer__grid> :nth-child(odd) {
        border-left: 0;
        padding-left: 0;
        padding-right: 28px;
    }

    .kreaa-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .kreaa-footer__bottom a:first-child {
        padding-left: 0;
        border-left: 0;
    }
}

@media (max-width: 575px) {
    .kreaa-footer__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .kreaa-footer__grid>.kreaa-footer__column,
    .kreaa-footer__brand {
        padding: 0;
        border-left: 0;
    }

    .kreaa-footer__column {
        border-top: 1px solid #e4e3e3;
        padding-top: 24px !important;
    }

    .kreaa-footer__logo img {
        width: 240px;
    }

    .kreaa-footer h2 {
        margin-bottom: 16px;
    }

    .kreaa-footer__bottom a {
        padding: 0 12px;
        font-size: 12px;
    }

    .kreaa-footer__cube--right {
        width: 30px;
        height: 30px;
        right: 10px;
        top: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .kreaa-footer a {
        transition: none;
    }

    .kreaa-footer__social a:hover {
        transform: none;
    }
}

/* Start your cubing journey */
.cubing-journey {
    background: radial-gradient(ellipse at bottom left, #321b0b 0, #101010 45%, #101010 80%, #27180e 100%);
    font-family: 'Muli', sans-serif;
    color: #fff;
}

.cubing-journey::before,
.cubing-journey::after {
    content: '';
    position: absolute;
    width: 150px;
    height: 150px;
    border: 2px solid #ff7900;
    border-radius: 20px;
    transform: rotate(30deg);
    opacity: .3;
    pointer-events: none;
}

.cubing-journey::before {
    top: -50px;
    left: -105px;
}

.cubing-journey::after {
    bottom: 0;
    right: -110px;
}

.cubing-journey .container {
    z-index: 1;
}

.cubing-journey .cubing-journey__eyebrow,
.cubing-journey .cubing-journey__label {
    color: #ff850d;
    font-size: 13px;
    letter-spacing: 2px;
    line-height: 1.5;
}

.cubing-journey__eyebrow {
    gap: 12px;
}

.cubing-journey__eyebrow::before,
.cubing-journey__eyebrow::after {
    content: '';
    width: 40px;
    height: 1px;
    background: #ff850d;
    flex-shrink: 0;
}

.cubing-journey .cubing-journey__title {
    color: #fff;
    font-size: clamp(30px, 3.5vw, 46px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -1px;
}

.cubing-journey__title span {
    color: #ff7900;
}

.cubing-journey .cubing-journey__intro {
    max-width: 780px;
    color: #c6cbd2;
    font-size: 17px;
    line-height: 1.6;
}

.cubing-journey__card {
    isolation: isolate;
    min-height: 370px;
    border: 1px solid #555;
    border-radius: 18px;
    background: #171717;
}

.cubing-journey__card::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: url('../images/journey-scenes.png');
    background-size: 200% 200%;
    background-repeat: no-repeat;
}

.cubing-journey__card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(12, 12, 12, .97), rgba(12, 12, 12, .87) 38%, rgba(12, 12, 12, .2) 78%);
}

.cubing-journey__card--trial,
.cubing-journey__card--trainer {
    border-color: #ac570d;
}

.cubing-journey__card--trial::before {
    background-position: left top;
}

.cubing-journey__card--schools::before {
    background-position: right top;
}

.cubing-journey__card--trainer::before {
    background-position: left bottom;
}

.cubing-journey__card--courses::before {
    background-position: right bottom;
}

.cubing-journey__content {
    width: 67%;
}

.cubing-journey .cubing-journey__heading {
    color: #fff;
    font-size: clamp(25px, 2.3vw, 30px);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -.7px;
}

.cubing-journey .cubing-journey__description {
    color: #c6cbd2;
    font-size: 15px;
    line-height: 1.45;
}

.cubing-journey__features {
    color: #c6cbd2;
    font-size: 13px;
    line-height: 1.5;
}

.cubing-journey__features i {
    width: 20px;
    flex-shrink: 0;
    color: #ff7900;
    font-size: 20px;
    text-align: center;
}

.cubing-journey .cubing-journey__button {
    padding: 12px 18px;
    border: 2px solid #ff7900;
    border-radius: 12px;
    background: #ff7900;
    color: #fff;
    font-size: 14px;
    white-space: normal;
    min-height: 48px;
}

.cubing-journey__card--schools .cubing-journey__button {
    background: #101010;
    color: #ff850d;
}

.cubing-journey .cubing-journey__button:hover {
    background: #d95f00;
    border-color: #d95f00;
    color: #fff;
}

.cubing-journey .cubing-journey__button:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 4px;
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .cubing-journey__content {
        width: 60%;
    }
}

@media (max-width: 575.98px) {
    .cubing-journey__content {
        width: 100%;
    }

    .cubing-journey__card {
        min-height: 0;
    }

    .cubing-journey__card::after {
        background: rgba(12, 12, 12, .86);
    }

    .cubing-journey .cubing-journey__eyebrow {
        font-size: 10px;
        letter-spacing: 1px;
    }

    .cubing-journey__eyebrow::before,
    .cubing-journey__eyebrow::after {
        width: 18px;
    }

    .cubing-journey .cubing-journey__button {
        width: 100%;
    }
}

/* Meet your coach */
.meet-coach {
    isolation: isolate;
    padding: 48px 0;
    background: #10110f;
    color: #fff;
    font-family: 'Muli', sans-serif;
}

.meet-coach .container {
    position: relative;
    z-index: 1;
}

.meet-coach__visual {
    width: 100%;
    max-width: 560px;
    min-height: 570px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.meet-coach__shape {
    position: absolute;
    inset: 30px 30px 20px;
    background: linear-gradient(135deg, #ffa346, #ff841a);
    border-radius: 42% 58% 35% 65% / 35% 48% 52% 65%;
    transform: rotate(-12deg);
    box-shadow: 0 20px 70px rgba(255, 132, 26, .15);
}

.meet-coach__photo {
    position: relative;
    width: 88%;
    height: 480px;
    object-fit: contain;
    border-radius: 5px;
}

.meet-coach__badge {
    position: absolute;
    z-index: 2;
    padding: 16px 18px;
    border: 1px solid #b47e49;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(35, 33, 29, .97), rgba(40, 29, 16, .96));
    box-shadow: 0 12px 30px rgba(0, 0, 0, .25);
}

.meet-coach__badge--students {
    top: 62px;
    left: 0;
}

.meet-coach__badge--countries {
    right: 0;
    bottom: 110px;
}

.meet-coach__badge i {
    color: #ff961f;
    font-size: 38px;
}

.meet-coach__badge strong {
    color: #ff891b;
    font-size: 40px;
    font-weight: 900;
    line-height: 1.1;
}

.meet-coach__badge span {
    color: #f4f1eb;
    font-size: 13px;
    line-height: 1.6;
}

.meet-coach .meet-coach__eyebrow {
    gap: 12px;
    color: #ff922a;
    font-size: 13px;
    letter-spacing: 2px;
}

.meet-coach__eyebrow::before,
.meet-coach__eyebrow::after {
    content: '';
    width: 32px;
    height: 1px;
    flex-shrink: 0;
    background: #a85b1b;
}

.meet-coach .meet-coach__title {
    color: #fff;
    font-size: clamp(30px, 3.1vw, 46px);
    font-weight: 900;
    line-height: 1.22;
    letter-spacing: -1px;
}

.meet-coach__title span {
    color: #ff881b;
}

.meet-coach .meet-coach__greeting {
    color: #fff;
    font-size: 25px;
    font-weight: 800;
    line-height: 1.4;
}

.meet-coach .meet-coach__intro,
.meet-coach__features {
    color: #bbc1ca;
    font-size: 17px;
    line-height: 1.65;
}

.meet-coach__features li {
    position: relative;
    padding-left: 26px;
    margin-bottom: 10px;
}

.meet-coach__features li::before {
    content: '';
    position: absolute;
    left: 3px;
    top: .65em;
    width: 10px;
    height: 10px;
    background: #ff8617;
    border-radius: 50%;
}

.meet-coach .meet-coach__button {
    min-height: 58px;
    padding: 14px 30px;
    border: 1px solid #ff8617;
    border-radius: 12px;
    color: #fff;
    background: #ff8617;
    font-size: 18px;
    white-space: normal;
    transition: background-color .2s ease;
}

.meet-coach .meet-coach__button:hover {
    background: #c75a00;
    border-color: #c75a00;
    color: #fff;
}

.meet-coach__button:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 5px;
}

.meet-coach__outline {
    position: absolute;
    color: #fff;
    opacity: .06;
    font-size: 160px;
    pointer-events: none;
}

.meet-coach__outline--left {
    left: -65px;
    top: 30%;
    transform: rotate(-15deg);
}

.meet-coach__outline--right {
    right: 20px;
    top: -45px;
    transform: rotate(15deg);
}

.meet-coach__cube {
    position: absolute;
    color: #ffac27;
    font-size: 54px;
    transform: rotate(18deg);
    pointer-events: none;
    filter: drop-shadow(0 10px 20px rgba(255, 132, 26, .22));
}

.meet-coach__cube--top {
    top: 0;
    right: 35px;
}

.meet-coach__cube--bottom {
    bottom: 45px;
    right: 45px;
}

@media (min-width: 1200px) {
    .meet-coach .container {
        max-width: 1440px;
        padding-left: 40px;
        padding-right: 40px;
    }

    .meet-coach__content {
        padding-left: 20px;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .meet-coach__visual {
        min-height: 520px;
    }

    .meet-coach__photo {
        height: 400px;
    }

    .meet-coach__badge {
        padding: 12px;
    }

    .meet-coach__badge i {
        font-size: 30px;
    }

    .meet-coach__badge strong {
        font-size: 34px;
    }
}

@media (max-width: 991.98px) {
    .meet-coach {
        padding: 36px 0;
    }

    .meet-coach__visual {
        min-height: 520px;
    }

    .meet-coach__photo {
        height: 420px;
    }

    .meet-coach__content {
        max-width: 650px;
        margin: 0 auto;
    }
}

@media (max-width: 575.98px) {
    .meet-coach {
        padding: 24px 0;
    }

    .meet-coach__visual {
        min-height: 390px;
        max-width: 390px;
    }

    .meet-coach__shape {
        inset: 25px 16px;
    }

    .meet-coach__photo {
        height: 310px;
    }

    .meet-coach__badge {
        padding: 10px 12px;
        border-radius: 12px;
    }

    .meet-coach__badge--students {
        top: 28px;
    }

    .meet-coach__badge--countries {
        bottom: 26px;
    }

    .meet-coach__badge i {
        font-size: 26px;
    }

    .meet-coach__badge strong {
        font-size: 30px;
    }

    .meet-coach__badge span {
        font-size: 11px;
    }

    .meet-coach__cube--top {
        right: 16px;
        font-size: 36px;
    }

    .meet-coach .meet-coach__eyebrow {
        font-size: 11px;
        letter-spacing: 1.5px;
        gap: 10px;
    }

    .meet-coach .meet-coach__title {
        letter-spacing: -.5px;
    }

    .meet-coach .meet-coach__greeting {
        font-size: 23px;
    }

    .meet-coach .meet-coach__intro,
    .meet-coach__features {
        font-size: 16px;
    }

    .meet-coach .meet-coach__button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .meet-coach .meet-coach__button {
        transition: none;
    }
}

/* Responsive home header */
.kreaa-contact-bar {
    position: sticky;
    top: 0;
    z-index: 1001;
    height: 47px;
}

.kreaa-contact-bar .top-hd {
    height: 47px;
}

.kreaa-contact-bar .social-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 31px;
}

.kreaa-contact-bar .top_li {
    margin: 0;
    white-space: nowrap;
}

.kreaa-header {
    position: sticky;
    top: 0px;
    z-index: 1000;
    background: #fff;
    border-radius: 0 0 14px 14px;
    box-shadow:
        0 1px 3px 0 rgba(0, 0, 0, 0.1),
        0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.kreaa-header nav.navbar {
    position: static;
    padding: 18px 24px;
    border-radius: inherit;
}

.kreaa-header .navbar>.container-fluid {
    gap: 20px;
    padding: 0;
}

.kreaa-header .navbar-brand {
    flex-shrink: 0;
    margin: 0;
}

.kreaa-header__logo {
    display: block;
    width: 200px;
    max-width: 100%;
    height: auto;
}

.kreaa-header .navbar-collapse {
    gap: 20px;
    min-width: 0;
}

.kreaa-header nav ul {
    padding: 0;
    list-style: none;
}

.kreaa-header__links {
    flex: 1;
    justify-content: center;
    gap: 10px !important;
}

.kreaa-header .navbar-light .navbar-nav .nav-link {
    position: relative;
    margin: 0;
    padding: 16px 10px;
    color: #182330;
    font-size: 15px !important;
    font-weight: 500;
    text-transform: none;
    white-space: nowrap;
    transition: color .2s ease;
}

.kreaa-header .navbar-light .navbar-nav .active>.nav-link,
.kreaa-header .navbar-light .navbar-nav .nav-link:hover,
.kreaa-header .navbar-light .navbar-nav .nav-link:focus {
    color: #ff6509;
    background: transparent;
}

.kreaa-header nav.fill ul li a::after {
    content: none;
    animation: none;
}

.kreaa-header nav.fill .navbar-nav .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 10px;
    right: 10px;
    width: auto;
    height: 3px;
    background: #ff6509;
    opacity: 0;
    z-index: auto;
    transition: opacity .2s ease;
}

.kreaa-header nav.fill .navbar-nav .active>.nav-link::after,
.kreaa-header nav.fill .navbar-nav .nav-link:hover::after {
    opacity: 1;
    animation: none;
}

.kreaa-header__actions {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-shrink: 0;
}

.kreaa-header__whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 18px;
    border-radius: 40px;
    background: #00ad65;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    transition: background-color 0.2s ease;
}

.kreaa-header__whatsapp i {
    font-size: 24px;
    line-height: 1;
}

.kreaa-header__whatsapp:hover {
    background: #008f53;
    color: #fff;
}

.kreaa-header .kreaa-header__account {
    padding-left: 18px;
    border-left: 1px solid #ddd;
}

.kreaa-header .kreaa-header__login {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    padding: 12px 18px;
    max-width: 240px;
    white-space: normal;
    overflow-wrap: anywhere;
    border: 1px solid #ff6509;
    border-radius: 12px;
    color: #ff6509;
    background: #fff;
    font-size: 15px;
    font-weight: 800;
    text-transform: none;
}

.kreaa-header .kreaa-header__login:hover {
    background: #fff5ed;
    color: #df5000;
}

.kreaa-header .dropdown-menu {
    left: auto;
    right: 0;
    min-width: 170px;
    padding: 8px 0;
}

.kreaa-header .dropdown-item {
    margin: 0;
    text-transform: none;
}

.kreaa-header a:focus-visible,
.kreaa-header button:focus-visible {
    outline: 3px solid #ff6509;
    outline-offset: 3px;
}

@media (min-width: 992px) and (max-width: 1399.98px) {
    .kreaa-header nav.navbar {
        padding: 0px 16px;
        border-radius: 0px !important;
    }

    .kreaa-header__logo {
        width: 155px;
    }

    .kreaa-header .navbar>.container-fluid,
    .kreaa-header .navbar-collapse {
        gap: 12px;
    }

    .kreaa-header__links {
        flex-wrap: wrap;
        gap: 0;
    }

    .kreaa-header .navbar-light .navbar-nav .nav-link {
        padding: 18px 14px;
        font-size: 13px;
    }

    .kreaa-header__actions {
        gap: 10px;
    }

    .kreaa-header__whatsapp {
        padding: 10px 14px;
        font-size: 14px;
    }

    .kreaa-header .kreaa-header__account {
        padding-left: 10px;
    }

    .kreaa-header .kreaa-header__login {
        padding: 8px 12px;
        font-size: 13px;
        max-width: 160px;
    }
}

@media (max-width: 991.98px) {
    .kreaa-header nav.navbar {
        padding: 12px 20px;
    }

    .kreaa-header__logo {
        width: 175px;
    }

    .kreaa-header .navbar-toggler {
        padding: 8px;
        border: 1px solid #ff6509;
        border-radius: 8px;
    }

    .kreaa-header .navbar-collapse {
        max-height: calc(100vh - 130px);
        overflow-y: auto;
    }

    .kreaa-header__links {
        gap: 0;
        padding-top: 12px;
    }

    .kreaa-header .navbar-light .navbar-nav .nav-link {
        padding: 12px 10px;
        font-size: 16px;
    }

    .kreaa-header__actions {
        flex-wrap: wrap;
        gap: 12px;
        padding: 16px 0 8px;
        border-top: 1px solid #eee;
    }

    .kreaa-header .kreaa-header__account {
        padding-left: 0;
        border: 0;
    }

    .kreaa-header .dropdown-menu {
        position: static;
        margin-top: 8px;
    }
}

@media (max-width: 575.98px) {
    .kreaa-contact-bar .social-top {
        gap: 6px;
    }

    .kreaa-contact-bar .top_li,
    .kreaa-contact-bar .top_li a {
        font-size: 11px;
    }

    .kreaa-header nav.navbar {
        padding: 12px 14px;
    }

    .kreaa-header__logo {
        width: 150px;
    }

    .kreaa-header__whatsapp {
        font-size: 14px;
        padding: 10px 14px;
    }

    .kreaa-header .kreaa-header__login {
        padding: 10px 12px;
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .kreaa-header nav ul li a,
    .kreaa-header nav ul li a::after {
        transition: none;
    }
}

/* School program landing page */
.school-page {
    --school-orange: #ff8617;
    --school-ink: #262626;
    --school-copy: #464747;
    color: var(--school-ink);
    background: linear-gradient(180deg, #fff 40%, #fffaf4 100%);
    font-family: 'Muli', sans-serif;
    padding-bottom: 48px;
}

.school-page h1,
.school-page h2,
.school-page h3 {
    color: var(--school-ink);
    font-weight: 900;
    letter-spacing: -1px;
    line-height: 1.2;
    margin: 0 0 24px;
}

.school-page .container {
    max-width: 1240px;
}

.school-page .school-description--hero {
    max-width: 510px;
    margin-bottom: 25px;
}

.school-page h1 {
    font-size: clamp(32px, 3.5vw, 49px);
    font-weight: 800;
    line-height: 1.13;
    letter-spacing: -1.5px;
    margin-bottom: 19px;
}

.school-page h2 {
    font-size: clamp(28px, 3.2vw, 46px);
}

.school-page h3 {
    font-size: 18px;
    letter-spacing: -.3px;
    line-height: 1.35;
}

.school-page h1 span,
.school-page h2 span {
    color: var(--school-orange);
}

.school-page p {
    color: var(--school-copy);
    font-size: 17px;
    line-height: 1.6;
    margin: 0 0 24px;
}

.cta-text {
    color: #e87916 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    line-height: 1.5 !important;
    text-transform: uppercase;
    margin-bottom: 20px !important;
}

.school-page .school-eyebrow {
    display: flex;
    align-items: center;
    text-align: center;
    gap: 12px;
    color: #e87916;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.5;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.school-hero {
    position: relative;
    isolation: isolate;
    padding: 10px 0 42px;
    background: linear-gradient(110deg, #fff 38%, #fff8ef 100%);
    overflow: hidden;
}

.school-hero>.container {
    position: relative;
    z-index: 1;
}

.school-hero__copy {
    padding-top: 12px;
    padding-bottom: 12px;
    padding-right: 150px;
}

.school-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 36px;
}

.school-page .school-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 17px;
    min-height: 52px;
    background: linear-gradient(110deg, #ff8a22, #ffa000);
    color: #fff;
    border: 2px solid #ff991d;
    border-radius: 12px;
    padding: 14px 21px;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
    white-space: normal;
}

.school-page .school-btn:hover {
    background: #dc4d00;
    border-color: #dc4d00;
    color: #fff;
}

.school-page .school-btn--outline {
    color: #c66b13;
    border-color: #efa448;
    background: #fff;
}

.school-page a:focus-visible,
.school-page button:focus-visible,
.school-page summary:focus-visible {
    outline: 3px solid #086bdf;
    outline-offset: 4px;
}

.school-trust {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 9px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.school-trust li {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    line-height: 1.3;
}

.school-trust i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #fff;
    background: #ff8c15;
    font-size: 15px;
    flex-shrink: 0;
}

.school-hero__visual {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.school-hero__visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #fffaf2f2 0%, #fffaf2d9 20%, #fffaf233 69%);
}

.school-photo {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1686 / 933;
    object-fit: cover;
    border-radius: 65px 35px 65px 35px;
    background: #ffecd5;
}

.school-photo--hero {
    height: 100%;
    aspect-ratio: 2170 / 725;
    min-height: 0;
    max-height: none;
    object-fit: cover;
    object-position: center;
    border-radius: 0;
    background: transparent;
}

.school-enquiry {
    background: #fff;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 10px 30px #ad63151a;
    scroll-margin-top: 110px;
}

.school-page .school-enquiry h2 {
    font-size: 22px;
    letter-spacing: -.4px;
    margin-bottom: 12px;
}

.school-page .school-enquiry p {
    font-size: 14px;
    margin-bottom: 20px;
}

.school-field {
    margin-bottom: 12px;
}

.school-field label {
    display: block;
    color: #3d3e40;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 3px;
}

.school-field .form-control {
    background: #f9fafc;
    border: 1px solid #e4e9ef;
    border-radius: 6px;
    height: 42px;
    padding: 10px 12px;
    font-size: 13px;
    color: var(--school-ink);
}

.school-field .form-control:focus {
    border-color: var(--school-orange);
    box-shadow: 0 0 0 3px #ff610820;
}

.school-enquiry .school-btn {
    font-size: 14px;
    padding: 12px 10px;
    margin-top: 6px;
}

.school-section {
    padding-top: 48px;
    padding-bottom: 48px;
}

.school-section__image {
    padding-top: 10px;
    padding-bottom: 10px;
}

.school-checks {
    list-style: none;
    padding: 0;
    margin: 12px 0 0;
}

.school-checks li {
    position: relative;
    padding-left: 27px;
    color: var(--school-copy);
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 10px;
}

.school-checks li::before {
    content: '\f00c';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 1px;
    width: 19px;
    height: 19px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--school-orange);
    font-size: 10px;
}

.school-checks--columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
}

.school-benefits-visual {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 14px;
    background: linear-gradient(135deg, #fff, #fff0df);
    border-radius: 100px 60px;
}

.school-benefits-visual .school-photo {
    width: 100%;
    object-position: center 35%;
}

.school-benefit-pills {
    display: none;
}

.school-section-heading {
    text-align: center;
    margin-bottom: 32px;
}

.school-section-heading .school-eyebrow {
    justify-content: center;
}

.school-section-heading h2 {
    margin-bottom: 16px;
}

.school-feature {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    height: 100%;
    padding: 24px;
    background: #fff;
    border: 1px solid #f1ece6;
    border-radius: 18px;
    box-shadow: 0 5px 24px #ba88400d;
}

.school-feature h3 {
    margin-bottom: 7px;
}

.school-feature p,
.school-step p {
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

.school-icon {
    width: 40px;
    height: 40px;
    border-radius: 6%;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    color: #e66e0b;
    font-size: 20px;
    box-shadow: 0 4px 12px #071a3010;
}

.school-icon--orange {
    background: #ff650830;
}

.school-icon--pink {
    background: #ff650830;
}

.school-icon--blue {
    background: #ff650830;
}

.school-icon--green {
    background: #ff650830;
}

.school-icon--purple {
    background: #a42ff2;
}

.school-icon--yellow {
    background: #ffb000;
}

.school-steps {
    list-style: none;
    padding: 0;
    margin-bottom: 0;
}

.school-steps>li {
    margin-bottom: 15px;
}

.school-step {
    position: relative;
    height: 100%;
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 5px 24px #ba88400d;
}

.school-step__number {
    position: absolute;
    top: -10px;
    left: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 800;
    font-size: 14px;
}

.school-step__icon {
    display: block;
    text-align: center;
    color: #006bff;
    font-size: 35px;
    margin-bottom: 12px;
}

.school-steps>li:nth-child(2) .school-step__icon {
    color: var(--school-orange);
}

.school-steps>li:nth-child(4) .school-step__icon {
    color: #a42ff2;
}

.school-step h3 {
    font-size: 17px;
    margin-bottom: 12px;
}

.school-faq h2 {
    margin-bottom: 24px;
}

.school-faq__item {
    background: #fff;
    border-radius: 9px;
    margin-bottom: 10px;
    box-shadow:
        0 4px 6px -1px rgba(0, 0, 0, 0.1),
        0 2px 4px -2px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.school-faq__item summary,
.school-faq__item .school-faq__question {
    display: flex;
    align-items: center;
    gap: 12px;
    list-style: none;
    padding: 16px;
    font-size: 17px;
    font-weight: 500 !important;
    line-height: 1.5;
    color: #272626;
    cursor: pointer;
}

.school-faq__item summary::-webkit-details-marker {
    display: none;
}

.school-faq__item summary::before,
.school-faq__item .school-faq__question::before {
    content: '+';
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    background: var(--school-orange);
    border-radius: 50%;
    font-size: 24px;
    line-height: 1;
    font-weight: 800;
    color: #fff;
}

.school-faq__item summary i,
.school-faq__item .school-faq__question i {
    margin-left: auto;
    font-size: 10px;
    transition: transform 300ms ease;
}

.school-faq__item[open] summary::before,
.school-faq__item .school-faq__question[aria-expanded="true"]::before {
    content: '−';
}

.school-faq__item[open] summary i,
.school-faq__item .school-faq__question[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.school-faq__item p {
    margin: 0;
    padding: 0 20px 20px 48px;
    font-size: 15px;
}

/* Bootstrap FAQ markup uses the same presentation as the school FAQ. */
.school-faq__item .school-faq__question {
    text-transform: none;
    font-weight: 600;
    text-decoration: none;
}

.school-faq__item .school-faq__answer {
    padding: 0 20px 20px 58px;
    color: var(--school-copy);
    font-size: 15px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.school-faq__item .school-faq__answer p {
    padding: 0;
    margin-bottom: 12px;
    font-size: inherit;
}

.school-faq__item .school-faq__answer p:last-child {
    margin-bottom: 0;
}

@media (max-width: 575.98px) {
    .school-faq__item .school-faq__answer {
        padding-left: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .school-faq__item summary i,
    .school-faq__item .school-faq__question i {
        transition: none;
    }
}

.school-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 25px;
    padding: 40px;
    margin-top: 0;
    border-radius: 18px;
    text-align: center;
    background: radial-gradient(circle at 65% 50%, #12334a, #031525 65%);
}

.school-cta>div {
    max-width: 620px;
}

.school-cta h2 {
    color: #fff;
    font-size: clamp(28px, 3.1vw, 42px);
}

.school-cta h2 span {
    display: block;
}

.school-cta p {
    color: #c6cbd2;
    font-size: 17px;
    margin-bottom: 0;
}

.school-cta .school-eyebrow {
    color: #ff8c15;
    margin-bottom: 10px;
}

.school-cta__cube {
    color: #ff7b13;
    font-size: 80px;
    transform: rotate(-15deg);
}

.school-cta .school-btn {
    flex-shrink: 0;
}

@media (max-width: 1199.98px) {
    .school-trust {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .school-enquiry {
        padding: 16px;
    }

    .school-feature {
        padding: 16px;
        gap: 12px;
    }

    .school-icon {
        width: 46px;
        height: 46px;
        font-size: 22px;
    }

    .school-cta__cube {
        font-size: 58px;
    }
}

@media (max-width: 991.98px) {
    .school-hero {
        padding: 40px 0 30px;
    }

    .school-hero__copy {
        margin-bottom: 30px;
        padding-right: 15px;
    }

    .school-hero__copy h1 {
        max-width: 600px;
    }

    .school-trust {
        grid-template-columns: repeat(4, 1fr);
    }


    .school-section>[class*='col-lg-']+[class*='col-lg-'] {
        margin-top: 28px;
    }

    .school-section__image .school-photo {
        height: auto;
    }

    .school-cta {
        flex-wrap: wrap;
    }

    .school-cta>div {
        flex: 1 1 70%;
    }
}

@media (max-width: 575.98px) {
    .school-hero {
        padding: 30px 0 24px;
    }

    .school-page h1 {
        font-size: 34px;
        letter-spacing: -1px;
    }

    .school-page p {
        font-size: 15px;
    }

    .school-actions {
        flex-direction: column;
        gap: 10px;
        margin-bottom: 28px;
    }

    .school-actions .school-btn {
        width: 100%;
        padding: 12px 15px;
    }

    .school-trust {
        grid-template-columns: repeat(2, 1fr);
    }

    .school-trust li {
        font-size: 12px;
    }

    .school-hero__visual {
        position: relative;
        margin-bottom: 18px;
    }

    .school-hero__visual::after {
        display: none;
    }

    .school-photo--hero {
        height: auto;
        object-fit: contain;
    }


    .school-enquiry {
        padding: 22px;
    }

    .school-field label {
        font-size: 12px;
    }

    .school-field .form-control {
        height: 42px;
        font-size: 14px;
    }

    .school-section {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .school-section__image .school-photo,
    .school-section .school-photo {
        height: auto;
        border-radius: 40px 20px;
    }

    .school-benefits-visual {
        flex-direction: column;
        padding: 12px;
        border-radius: 40px 20px;
        gap: 12px;
    }

    .school-benefits-visual .school-photo {
        width: 100%;
    }

    .school-checks--columns {
        grid-template-columns: 1fr;
    }

    .school-section-heading h2,
    .school-faq h2 {
        font-size: 28px;
    }

    .school-steps>li {
        margin-bottom: 24px;
    }

    .school-feature {
        padding: 20px;
    }

    .school-cta {
        padding: 24px;
        gap: 20px;
    }

    .school-cta h2 {
        font-size: 28px;
    }

    .school-cta__cube {
        display: none;
    }

    .school-cta .school-btn {
        width: 100%;
    }
}

/* Give the school enquiry form room alongside the home-style hero. */
.school-hero__enquiry {
    padding-top: 12px;
    padding-bottom: 12px;
}

.school-page h1,
.school-page h2,
.school-page h3 {
    text-transform: none;
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .school-hero__enquiry {
        margin-top: 24px;
    }

    .school-enquiry form {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 20px;
    }

    .school-enquiry form>button {
        align-self: end;
        margin-bottom: 14px;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .school-hero__visual {
        align-self: center;
    }
}

/* Trainer page: shared school typography, buttons, icons and CTA. */
.trainer-page {
    --school-orange: #ff5d08;
    --school-ink: #061725;
    --school-copy: #416185;
    padding-bottom: 0;
}

.trainer-hero {
    padding: 48px 0 24px;
    background: linear-gradient(115deg, #fff 35%, #fff5e9 100%);
}

.trainer-hero__copy {
    padding-top: 20px;
    padding-bottom: 20px;
}

.trainer-page h1 {
    font-size: clamp(34px, 4.1vw, 56px);
    max-width: 540px;
}

.trainer-page .school-eyebrow {
    gap: 8px;
    color: var(--school-orange);
    margin-bottom: 12px;
    font-size: 14px;
    letter-spacing: 0;
    text-align: left;
}

.trainer-page h2 {
    margin-bottom: 14px;
}

.trainer-page .school-btn {
    background: #ff5d08;
    border-color: #ff5d08;
    border-radius: 10px;
    padding: 14px 25px;
}

.trainer-page .school-btn--outline {
    background: transparent;
    color: #e64e00;
}

.trainer-page .school-btn:hover {
    background: #dc4d00;
    border-color: #dc4d00;
    color: #fff;
}

.trainer-page .school-actions {
    gap: 16px;
    margin-bottom: 0;
}

.trainer-photo {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 24px;
}

.trainer-impact {
    padding: 56px 0 40px;
}

.trainer-benefit {
    padding: 20px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(188, 133, 66, .08);
    border: 1px solid #fff4e9;
}

.trainer-benefit .school-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
    font-size: 22px;
}

.trainer-page .trainer-benefit h3,
.trainer-page .trainer-step h3 {
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -.4px;
    margin-bottom: 6px;
}

.trainer-page .trainer-benefit p,
.trainer-page .trainer-step p {
    font-size: 15px;
    line-height: 1.45;
    margin-bottom: 0;
}

.trainer-journey {
    background: linear-gradient(135deg, #fff7ee, #fffaf5);
    border-radius: 40px 40px 0 0;
    padding: 42px 0 48px;
    scroll-margin-top: 100px;
}

.trainer-steps {
    list-style: none;
    padding: 12px 0 0;
    margin-bottom: 10px;
}

.trainer-step {
    position: relative;
    padding: 24px 24px 22px;
    background: #fff;
    border-radius: 18px;
}

.trainer-step__number {
    position: absolute;
    left: -5px;
    top: -4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    color: #fff;
    font-weight: 800;
    border: 3px solid #fff7ee;
}

.trainer-step__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin: 0 auto 16px;
    border-radius: 50%;
    font-size: 28px;
}

.trainer-step__icon--orange {
    color: #ff5d08;
    background: #fff5ed;
}

.trainer-step__icon--blue {
    color: #0866ff;
    background: #eff5ff;
}

.trainer-step__icon--purple {
    color: #a323f7;
    background: #faf0ff;
}

.trainer-step__icon--green {
    color: #00bc50;
    background: #eefaf1;
}

@media (min-width: 992px) {
    .trainer-steps>li:not(:last-child) .trainer-step::after {
        content: '';
        position: absolute;
        right: -21px;
        top: 48%;
        width: 15px;
        height: 15px;
        border-top: 4px solid #ff5d08;
        border-right: 4px solid #ff5d08;
        transform: rotate(45deg);
        z-index: 1;
    }
}

@media (max-width: 991.98px) {
    .trainer-hero {
        padding-top: 24px;
    }

    .trainer-hero__copy {
        padding-bottom: 30px;
    }

    .trainer-photo {
        max-width: 680px;
        margin: 0 auto;
    }

    .trainer-impact {
        padding: 36px 0 24px;
    }
}

@media (max-width: 575.98px) {
    .trainer-page .school-actions {
        flex-direction: column;
        gap: 12px;
    }

    .trainer-page .school-actions .school-btn {
        width: 100%;
    }

    .trainer-page .school-eyebrow {
        font-size: 12px;
    }

    .trainer-journey {
        padding: 32px 0;
        border-radius: 24px 24px 0 0;
    }

    .trainer-steps {
        padding-top: 8px;
    }

    .trainer-step {
        padding: 24px;
    }

    .trainer-benefit {
        padding: 20px;
    }
}

/* Contact page: shared school typography, palette, cards and form controls. */
.contact-page {
    padding-bottom: 0;
}

.contact-hero {
    background: linear-gradient(110deg, #fff 38%, #fff8ef 100%);
}

.contact-page .contact-details,
.contact-page .contact-enquiry,
.contact-page .contact-map {
    border: 1px solid #f1ece6;
    border-radius: 18px;
    box-shadow: 0 10px 30px #ad63151a;
}

.contact-page .contact-heading {
    font-size: clamp(26px, 2.5vw, 28px);
    margin-bottom: 18px;
}

.contact-page .contact-detail {
    height: auto;
    padding: 15px;
    align-items: center;
    box-shadow: none;
}

.contact-detail>div {
    min-width: 0;
}

.contact-page .contact-detail h3 {
    margin-bottom: 5px;
    font-weight: 600;
}

.contact-detail a {
    color: var(--school-copy);
    overflow-wrap: anywhere;
}

.contact-detail a:hover {
    color: #c66b13;
}

.contact-social {
    gap: 12px;
}

.contact-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid #ffe2bf;
    border-radius: 12px;
    background: #fff8ef;
    color: #c66b13;
    font-size: 20px;
}

.contact-social a:hover {
    color: #fff;
    background: #c66b13;
    border-color: #c66b13;
}

.contact-enquiry .contact-enquiry-form {
    display: block;
}

.contact-enquiry .school-field {
    margin-bottom: 20px;
}

.contact-enquiry .school-field .contact-message {
    height: 160px;
    min-height: 120px;
    resize: vertical;
}

.contact-page .contact-submit {
    min-width: 160px;
    padding: 12px 24px;
}

.contact-map {
    overflow: hidden;
}

.contact-map-frame {
    display: block;
    width: 100%;
    height: 240px;
    border: 0;
}

@media (max-width: 575.98px) {
    .contact-page .contact-detail {
        padding: 14px;
        gap: 12px;
    }

    .contact-page .contact-submit {
        width: 100%;
    }

    .contact-map-frame {
        height: 280px;
    }
}

/* About page: shared school components with reference layout. */
.about-page {
    padding-bottom: 0;
}

.about-page .about-banner {
    padding-top: 48px;
}

.about-page .school-title span {
    display: block;
}

.about-page .school-eyebrow {
    color: #e87916;
    margin-bottom: 10px;
    gap: 8px;
}


.about-page .school-btn--outline {
    color: #c66b13;
    border: 2px solid #efa448;
    background: #fff;
    border-radius: 12px;
}

.about-page .school-btn--outline:hover {
    color: #fff;
    background: var(--school-orange);
    border-color: var(--school-orange);
}

.about-section-spacing {
    padding: 56px 0;
}

.about-hero,
.about-impact {
    background: linear-gradient(110deg, #fff 38%, #fff8ef 100%);
}

.about-stats {
    padding: 28px 0;
    background: #fff8ef;
}

.about-page .about-stats__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 960px;
    margin: 0 auto;
}

.about-page .about-stats__list li {
    justify-content: center;
    gap: 18px;
    font-size: 16px;
    color: var(--school-copy);
    padding: 20px;
    border: 1px solid #ffe2bf;
    border-radius: 16px;
    background: #fff;
}

.about-page .about-stats__list i {
    width: 48px;
    height: 48px;
    background: transparent;
    color: var(--school-orange);
    font-size: 38px;
}

.about-page .about-stats__list h3,
.about-page .about-stats__list strong {
    display: block;
    margin: 0 0 2px;
    font-size: 30px;
    line-height: 1.15;
    font-weight: 800;
    color: var(--school-ink);
}

.about-stats__list span {
    display: block;
}

.about-mission__visual {
    position: relative;
    padding-right: 46px;
}

.about-page .about-hero__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 64px 36px 64px 36px;
}

.about-mission__skills {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    display: grid;
    gap: 14px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.about-mission__skills li {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 185px;
    padding: 12px 18px;
    border-radius: 40px;
    background: #fff;
    box-shadow: 0 8px 28px #ad631515;
    font-size: 13px;
    font-weight: 700;
}

.about-mission__skills i {
    font-size: 28px;
    width: 30px;
    text-align: center;
    color: var(--school-orange);
}

.about-mission__skills li:nth-child(2) i {
    color: #13bc54;
}

.about-mission__skills li:nth-child(3) i {
    color: #ffba00;
}

.about-mission__skills li:nth-child(4) i {
    color: #086bdf;
}

.about-page .about-story {
    padding: 56px 0;
}

.about-story__visual {
    padding: 0;
    border: 0;
    background: #fff8ef;
    border-radius: 28px 60px 28px 60px;
    overflow: hidden;
}

.about-page .about-story__image {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: inherit;
}

.about-story__card {
    padding: 28px;
    border: 1px solid #f1ece6;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px #ad63151a;
}

.about-page .about-story__card p {
    font-size: 15px;
    line-height: 1.7;
    font-weight: 400;
    margin-bottom: 18px;
    color: var(--school-copy);
}

.about-page .about-story__card p:last-child {
    margin-bottom: 0;
}

.about-story__initial {
    color: var(--school-orange);
    font-weight: 700;
}

.about-page .about-impact__image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 18px;
}

.about-impact__video {
    overflow: hidden;
    border-radius: 18px;
    background: var(--school-ink);
    box-shadow: 0 10px 30px #ad63151a;
}

.about-impact__play {
    position: absolute;
    inset: 0;
    background: rgba(6, 23, 37, .18);
}

.about-impact__play-icon {
    width: 76px;
    height: 76px;
    border: 4px solid #fff;
    border-radius: 50%;
    background: var(--school-orange);
    color: #fff;
    font-size: 24px;
    box-shadow: 0 0 0 12px rgba(255, 255, 255, .22);
}

.about-impact__play:hover .about-impact__play-icon {
    background: #dc4d00;
}

.about-page .about-impact__play:focus-visible {
    outline-offset: -6px;
}

#about-story-title {
    scroll-margin-top: 110px;
}

@media (max-width: 991.98px) {

    .about-section-spacing,
    .about-page .about-story {
        padding: 40px 0;
    }

    .about-mission__visual {
        max-width: 620px;
        margin: 12px auto 0;
    }
}

@media (max-width: 575.98px) {
    .about-page .about-banner {
        padding-top: 24px;
    }

    .about-story__card {
        padding: 20px;
    }

    .about-page .about-stats__list {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .about-page .about-stats__list li {
        justify-content: flex-start;
        max-width: 240px;
        width: 100%;
        margin: auto;
    }

    .about-mission__visual {
        padding-right: 0;
    }

    .about-mission__skills {
        position: static;
        transform: none;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        margin-top: 16px;
    }

    .about-mission__skills li {
        min-width: 0;
        padding: 12px;
        gap: 8px;
        font-size: 11px;
    }

    .about-mission__skills i {
        font-size: 22px;
        width: 24px;
    }

    .about-page .about-hero__image {
        border-radius: 32px;
    }
}

/* Legal policies: school-page palette and card styling. */
.legal-page {
    color: #262626;
    background: linear-gradient(180deg, #fff 40%, #fffaf4 100%);
    font-family: 'Muli', sans-serif;
}

.legal-page .container {
    max-width: 1240px;
}

.legal-hero {
    padding: 48px 0 36px;
    background: linear-gradient(110deg, #fff 38%, #fff8ef 100%);
    border-bottom: 1px solid #f5e8db;
}

.legal-page .legal-eyebrow {
    margin: 0 0 12px;
    color: #e87916;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.legal-page .legal-title {
    margin: 0;
    color: #262626;
    font-size: clamp(32px, 3.5vw, 49px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -1.5px;
}

.legal-title span {
    color: #ff8617;
}

.legal-section {
    padding: 40px 0 64px;
}

.legal-nav,
.legal-card {
    background: #fff;
    border: 1px solid #f5e8db;
    border-radius: 18px;
    box-shadow: 0 10px 30px #ad63151a;
}

.legal-nav {
    padding: 12px;
    gap: 8px;
}

.legal-page .legal-nav .nav-link {
    padding: 15px 16px;
    border-radius: 12px;
    color: #464747;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    transition: background-color .2s, color .2s;
}

.legal-page .legal-nav .nav-link:hover {
    background: #fff3e6;
    color: #984e07;
}

.legal-page .legal-nav .nav-link.active {
    background: #ff8617;
    color: #fff;
    box-shadow: 0 6px 16px rgba(255, 134, 23, .18);
}

.legal-page a:focus-visible {
    outline: 3px solid #984e07;
    outline-offset: 3px;
}

.legal-card {
    padding: 32px;
    overflow-wrap: anywhere;
}

.legal-page .legal-card-title {
    margin: 0 0 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f5e8db;
    color: #262626;
    font-size: clamp(24px, 2.4vw, 32px);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -.5px;
}

.legal-card p,
.legal-card li {
    color: #464747;
    font-size: 16px;
    line-height: 1.8;
}

.legal-card p {
    margin: 0 0 18px;
}

.legal-card ul,
.legal-card ol {
    padding-left: 24px;
    margin-bottom: 18px;
}

.legal-card li+li {
    margin-top: 8px;
}

.legal-card a {
    color: #984e07;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.legal-card a:hover {
    color: #b85500;
}

@media (max-width: 575.98px) {
    .legal-hero {
        padding: 32px 0 28px;
    }

    .legal-section {
        padding: 24px 0 40px;
    }

    .legal-card {
        padding: 22px 18px;
    }
}