:root {
    --navy: #0b1736;
    --navy-dark: #071127;
    --navy-light: #132653;

    --blue: #2563eb;
    --blue-dark: #1d4ed8;

    --gold: #f4b942;
    --gold-dark: #d99b20;

    --white: #ffffff;
    --text: #18233b;
    --muted: #64748b;
    --border: #e5eaf2;
    --light: #f6f8fc;

    --container: 1180px;

    --shadow-small: 0 8px 25px rgba(11, 23, 54, 0.08);
    --shadow-medium: 0 18px 45px rgba(11, 23, 54, 0.14);

    --radius-small: 8px;
    --radius-medium: 14px;
    --radius-large: 22px;
}


*,
*::before,
*::after {
    box-sizing: border-box;
}


html {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
}


body {
    margin: 0;
    padding: 0;

    background: var(--white);
    color: var(--text);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;

    font-size: 16px;
    line-height: 1.6;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}


img {
    display: block;
    max-width: 100%;
    height: auto;
}


button,
input,
textarea,
select {
    font: inherit;
}


button {
    border: 0;
}


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


ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}


h1,
h2,
h3,
h4,
p {
    margin-top: 0;
}


.container {
    width: min(
        calc(100% - 40px),
        var(--container)
    );

    margin-inline: auto;
}


/* =========================================================
   2. HEADER
========================================================= */

.site-header {
    position: relative;
    z-index: 100;

    width: 100%;

    background: var(--white);
    border-bottom: 1px solid rgba(11, 23, 54, 0.07);
}


.header-inner {
    min-height: 82px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
}


/* =========================================================
   LOGO
========================================================= */

.site-logo {
    display: inline-flex;
    align-items: center;

    flex: 0 0 auto;

    gap: 10px;
}


.logo-mark {
    width: 44px;
    height: 44px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: var(--navy);
    color: var(--white);

    font-size: 16px;
    font-weight: 800;
    letter-spacing: -0.3px;
}


.logo-text {
    display: flex;
    flex-direction: column;

    line-height: 1.05;
}


.logo-text strong {
    color: var(--navy);

    font-size: 27px;
    font-weight: 800;
    letter-spacing: 0.5px;
}


.logo-text span {
    margin-top: 4px;

    color: var(--muted);

    font-size: 16px;
    font-weight: 600;

    letter-spacing: 0.4px;
}

.logo-mark-f {
    width: 44px;
    height: 44px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #fff;
    color: var(--navy);

    font-size: 16px;
    font-weight: 800;
    letter-spacing: -0.3px;
}


.logo-text-f {
    display: flex;
    flex-direction: column;

    line-height: 1.05;
}
.logo-text-f span {
    margin-top: 4px;

    color: #fff;

    font-size: 16px;
    font-weight: 600;

    letter-spacing: 0.4px;
}
.pt-2{
    padding-top:2em;
}
.pt-3{
    padding-top:3em;
}
.pb-2{
    padding-bottom:2em;
}
.pb-3{
    padding-bottom:3em;
}
/* =========================================================
   NAVIGATION
========================================================= */

.site-nav {
    margin-left: auto;
}


.nav-list {
    display: flex;
    align-items: center;
    gap: 30px;
}


.nav-list > li {
    position: relative;
}


.nav-list > li > a {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 5px;

    padding: 30px 0;

    color: #34415a;

    font-size: 16px;
    font-weight: 600;

    transition:
        color 160ms ease;
}


.nav-list > li > a:hover,
.nav-list > li > a:focus-visible,
.nav-list > li > a[aria-current="page"] {
    color: var(--blue);
}


.nav-arrow {
    position: relative;
    top: -1px;

    font-size: 16px;
    line-height: 1;
}


/* =========================================================
   DROPDOWN
========================================================= */

.dropdown-menu {
    position: absolute;

    top: calc(100% - 8px);
    left: -18px;

    width: 215px;

    padding: 10px;

    background: var(--white);

    border: 1px solid var(--border);
    border-radius: 12px;

    box-shadow: var(--shadow-medium);

    opacity: 0;
    visibility: hidden;
    transform: translateY(7px);

    transition:
        opacity 160ms ease,
        visibility 160ms ease,
        transform 160ms ease;
}


.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}


.dropdown-menu li a {
    display: block;

    padding: 10px 12px;

    border-radius: 7px;

    color: #3a465d;

    font-size: 16px;
    font-weight: 600;

    transition:
        background-color 150ms ease,
        color 150ms ease;
}


.dropdown-menu li a:hover,
.dropdown-menu li a:focus-visible {
    background: var(--light);
    color: var(--blue);
}


/* =========================================================
   HEADER ACTIONS
========================================================= */

.header-actions {
    display: flex;
    align-items: center;
    gap: 16px;

    flex: 0 0 auto;
}


.header-phone {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    color: var(--navy);

    font-size: 13px;
    font-weight: 700;

    white-space: nowrap;
}


.phone-icon {
    display: inline-flex;

    font-size: 16px;
}


.header-phone:hover {
    color: var(--blue);
}


/* =========================================================
   BUTTONS
========================================================= */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 48px;

    padding: 0 22px;

    border-radius: 8px;

    font-size: 16px;
    font-weight: 700;

    line-height: 1;

    cursor: pointer;

    transition:
        background-color 160ms ease,
        border-color 160ms ease,
        color 160ms ease,
        transform 160ms ease,
        box-shadow 160ms ease;
}


.btn:hover {
    transform: translateY(-1px);
}


.btn:focus-visible,
.nav-list a:focus-visible,
.site-logo:focus-visible,
.header-phone:focus-visible,
.mobile-menu-toggle:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.25);
    outline-offset: 3px;
}


.btn-header {
    min-height: 43px;

    padding-inline: 19px;

    background: var(--navy);
    color: var(--white);
}


.btn-header:hover {
    background: var(--blue);
}


/* =========================================================
   MOBILE MENU BUTTON
========================================================= */

.mobile-menu-toggle {
    display: none;

    width: 44px;
    height: 44px;

    padding: 10px;

    background: transparent;

    border-radius: 8px;

    cursor: pointer;
}


.mobile-menu-toggle span {
    display: block;

    width: 23px;
    height: 2px;

    margin: 5px auto;

    background: var(--navy);

    border-radius: 2px;

    transition:
        transform 160ms ease,
        opacity 160ms ease;
}


/* =========================================================
   HERO
========================================================= */

.hero {
    position: relative;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            var(--navy-dark) 0%,
            var(--navy) 55%,
            #102451 100%
        );

    color: var(--white);
}


.hero::before {
    content: "";

    position: absolute;

    width: 520px;
    height: 520px;

    right: -190px;
    top: -230px;

    border: 1px solid rgba(255, 255, 255, 0.06);

    border-radius: 50%;

    pointer-events: none;
}


.hero::after {
    content: "";

    position: absolute;

    width: 360px;
    height: 360px;

    left: -210px;
    bottom: -250px;

    border: 1px solid rgba(255, 255, 255, 0.05);

    border-radius: 50%;

    pointer-events: none;
}


.hero-inner {
    position: relative;
    z-index: 1;

    min-height: 610px;

    display: grid;

    grid-template-columns:
        minmax(0, 1.03fr)
        minmax(400px, 0.97fr);

    align-items: center;

    gap: 65px;

    padding-top: 65px;
    padding-bottom: 65px;
}


/* =========================================================
   HERO CONTENT
========================================================= */

.hero-content {
    max-width: 650px;
}


.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    margin-bottom: 22px;
    padding: 8px 13px;

    background: rgba(255, 255, 255, 0.07);

    border: 1px solid rgba(255, 255, 255, 0.1);

    border-radius: 999px;

    color: #dce6ff;

    font-size: 14px;
    font-weight: 700;

    letter-spacing: 0.2px;
}


.eyebrow-dot {
    width: 7px;
    height: 7px;

    display: inline-block;

    background: var(--gold);

    border-radius: 50%;
}


.hero h1 {
    max-width: 680px;

    margin: 0 0 21px;

    color: var(--white);

    font-size: clamp(
        42px,
        5vw,
        64px
    );

    line-height: 1.04;

    letter-spacing: -2.4px;

    font-weight: 800;
}


.hero h1 span {
    display: block;

    margin-top: 5px;

    color: #9eb7ed;

    font-weight: 700;
}


.hero-text {
    max-width: 600px;

    margin-bottom: 30px;

    color: #c7d2e8;

    font-size: 17px;

    line-height: 1.75;
}


.hero-actions {
    display: flex;
    align-items: center;
    gap: 12px;

    flex-wrap: wrap;

    margin-bottom: 30px;
}


.btn-primary {
    gap: 12px;

    background: var(--gold);
    color: #171b26;

    box-shadow:
        0 10px 25px rgba(244, 185, 66, 0.18);
}


.btn-primary:hover {
    background: #ffca5c;

    box-shadow:
        0 13px 28px rgba(244, 185, 66, 0.25);
}


.btn-primary span {
    font-size: 18px;
}


.btn-secondary {
    background: transparent;

    border: 1px solid rgba(255, 255, 255, 0.24);

    color: var(--white);
}


.btn-secondary:hover {
    background: rgba(255, 255, 255, 0.08);

    border-color: rgba(255, 255, 255, 0.4);
}


/* =========================================================
   HERO TRUST
========================================================= */

.hero-trust {
    display: flex;
    align-items: center;

    flex-wrap: wrap;

    gap: 22px;
}


.trust-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: #d2dcf0;

    font-size: 14px;
    font-weight: 600;
}


.trust-icon {
    width: 18px;
    height: 18px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(244, 185, 66, 0.15);

    color: var(--gold);

    font-size: 11px;
    font-weight: 800;
}


/* =========================================================
   HERO VISUAL
========================================================= */

.hero-visual {
    position: relative;

    min-height: 440px;

    display: flex;
    align-items: center;
    justify-content: center;
}


.hero-card-main {
    position: relative;
    z-index: 2;

    width: min(100%, 445px);

    padding: 28px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.12),
            rgba(255, 255, 255, 0.055)
        );

    border: 1px solid rgba(255, 255, 255, 0.14);

    border-radius: var(--radius-large);

    box-shadow:
        0 30px 70px rgba(0, 0, 0, 0.25);

    backdrop-filter: blur(8px);
}


.hero-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 35px;
}


.card-label {
    color: #9eb7ed;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.3px;
}


.card-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    color: #d9e4fa;

    font-size: 11px;
    font-weight: 600;
}


.card-status span {
    width: 7px;
    height: 7px;

    background: #57d58b;

    border-radius: 50%;
}


.hero-card-title {
    margin-bottom: 30px;

    color: var(--white);

    font-size: 26px;
    font-weight: 750;

    letter-spacing: -0.7px;
}


.progress-row {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    margin-bottom: 10px;

    color: #9eacc5;

    font-size: 11px;
}


.progress-row strong {
    color: var(--gold);

    font-weight: 700;
}


.progress-bar {
    height: 7px;

    overflow: hidden;

    margin-bottom: 30px;

    background: rgba(255, 255, 255, 0.1);

    border-radius: 99px;
}


.progress-bar span {
    display: block;

    width: 72%;
    height: 100%;

    background: var(--gold);

    border-radius: inherit;
}


.assignment-details {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 12px;
}


.assignment-details > div {
    padding: 15px;

    background: rgba(255, 255, 255, 0.055);

    border: 1px solid rgba(255, 255, 255, 0.07);

    border-radius: 10px;
}


.assignment-details small {
    display: block;

    margin-bottom: 4px;

    color: #8797b4;

    font-size: 10px;
}


.assignment-details strong {
    color: #eaf0fb;

    font-size: 14px;
    font-weight: 700;
}


/* =========================================================
   FLOATING CARDS
========================================================= */

.floating-card {
    position: absolute;
    z-index: 3;

    display: flex;
    align-items: center;
    gap: 10px;

    padding: 12px 15px;

    background: var(--white);

    border-radius: 11px;

    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.2);
}


.floating-card strong {
    display: block;

    color: var(--navy);

    font-size: 11px;
    font-weight: 800;

    line-height: 1.25;
}


.floating-card small {
    display: block;

    margin-top: 2px;

    color: var(--muted);

    font-size: 9px;

    line-height: 1.25;
}


.floating-icon {
    width: 32px;
    height: 32px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 32px;

    background: #edf3ff;

    border-radius: 8px;

    color: var(--blue);

    font-size: 14px;
    font-weight: 800;
}


.floating-card-one {
    left: 0;
    bottom: 65px;
}


.floating-card-two {
    right: 0;
    top: 70px;
}


.floating-card-two .floating-icon {
    background: #fff6dd;

    color: #a87408;
}


/* =========================================================
   LEVEL STRIP
========================================================= */

.level-strip {
    position: relative;
    z-index: 5;

    background: var(--white);

    border-bottom: 1px solid var(--border);

    box-shadow:
        0 6px 22px rgba(11, 23, 54, 0.04);
}


.level-strip-inner {
    min-height: 88px;

    display: flex;
    align-items: center;

    gap: 12px;
}


.level-intro {
    display: flex;
    flex-direction: column;

    min-width: 190px;

    margin-right: auto;

    line-height: 1.25;
}


.level-intro span {
    color: var(--muted);

    font-size: 11px;
    font-weight: 600;
}


.level-intro strong {
    color: var(--navy);

    font-size: 15px;
    font-weight: 800;
}


.level-link {
    min-width: 88px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;

    min-height: 45px;

    border: 1px solid var(--border);

    border-radius: 8px;

    background: var(--white);

    color: var(--muted);

    font-size: 11px;
    font-weight: 600;

    transition:
        border-color 160ms ease,
        background-color 160ms ease,
        color 160ms ease;
}


.level-link strong {
    color: var(--navy);

    font-size: 16px;
}


.level-link:hover {
    border-color: #c9d7f3;

    background: #f7faff;

    color: var(--blue);
}


.level-all {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin-left: 12px;

    color: var(--blue);

    font-size: 14px;
    font-weight: 700;
}


.level-all:hover {
    color: var(--blue-dark);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1080px) {

    .container {
        width: min(
            calc(100% - 32px),
            var(--container)
        );
    }


    .nav-list {
        gap: 19px;
    }


    .header-phone {
        display: none;
    }


    .hero-inner {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(350px, 0.85fr);

        gap: 40px;
    }


    .hero h1 {
        font-size: 50px;
    }


    .hero-card-main {
        width: min(100%, 400px);
    }


    .floating-card-one {
        left: -5px;
    }


    .floating-card-two {
        right: -5px;
    }


    .level-intro {
        min-width: 160px;
    }

}


/* =========================================================
   MOBILE NAVIGATION / TABLET
========================================================= */

@media (max-width: 900px) {

    .header-inner {
        min-height: 72px;
    }


    .site-nav {
        position: absolute;

        top: 100%;
        left: 0;
        right: 0;

        display: none;

        padding: 12px 16px 18px;

        background: var(--white);

        border-bottom: 1px solid var(--border);

        box-shadow:
            0 15px 30px rgba(11, 23, 54, 0.08);
    }


    .site-nav.is-open {
        display: block;
    }


    .nav-list {
        display: block;
    }


    .nav-list > li {
        border-bottom: 1px solid #eef1f6;
    }


    .nav-list > li:last-child {
        border-bottom: 0;
    }


    .nav-list > li > a {
        width: 100%;

        min-height: 48px;

        padding: 12px 4px;

        justify-content: space-between;
    }


    .dropdown-menu {
        position: static;

        display: none;

        width: 100%;

        padding: 0 0 8px;

        border: 0;

        border-radius: 0;

        box-shadow: none;

        opacity: 1;
        visibility: visible;

        transform: none;
    }


    .nav-dropdown:hover .dropdown-menu {
        display: none;
    }


    .nav-dropdown.is-open .dropdown-menu {
        display: block;
    }


    .dropdown-menu li a {
        padding: 9px 15px;

        background: #f7f9fc;
    }


    .header-actions {
        margin-left: auto;
    }


    .btn-header {
        display: none;
    }


    .mobile-menu-toggle {
        display: block;
    }


    .hero-inner {
        min-height: auto;

        grid-template-columns: 1fr;

        padding-top: 65px;
        padding-bottom: 70px;
    }


    .hero-content {
        max-width: 720px;
    }


    .hero-visual {
        min-height: 410px;

        margin-top: 5px;
    }


    .level-strip-inner {
        min-height: auto;

        padding-top: 18px;
        padding-bottom: 18px;

        flex-wrap: wrap;
    }


    .level-intro {
        width: 100%;

        min-width: 0;

        margin-right: 0;
        margin-bottom: 5px;
    }


    .level-link {
        flex: 1;
    }


    .level-all {
        width: 100%;

        justify-content: center;

        margin: 4px 0 0;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .container {
        width: min(
            calc(100% - 28px),
            var(--container)
        );
    }


    .header-inner {
        min-height: 68px;

        gap: 10px;
    }


    .logo-mark {
        width: 40px;
        height: 40px;

        border-radius: 9px;

        font-size: 14px;
    }


    .logo-text strong {
        font-size: 17px;
    }


    .logo-text span {
        font-size: 10px;
    }


    .hero-inner {
        padding-top: 48px;
        padding-bottom: 55px;
    }


    .hero-eyebrow {
        margin-bottom: 18px;

        font-size: 10px;
    }


    .hero h1 {
        margin-bottom: 18px;

        font-size: clamp(
            36px,
            11vw,
            47px
        );

        letter-spacing: -1.7px;
    }


    .hero-text {
        margin-bottom: 25px;

        font-size: 15px;

        line-height: 1.7;
    }


    .hero-actions {
        display: grid;

        grid-template-columns: 1fr;

        gap: 10px;

        margin-bottom: 25px;
    }


    .btn {
        width: 100%;

        min-height: 50px;
    }


    .hero-trust {
        display: grid;

        grid-template-columns: 1fr 1fr;

        gap: 10px;
    }


    .trust-item {
        font-size: 11px;
    }


    .hero-visual {
        min-height: 340px;
    }


    .hero-card-main {
        width: calc(100% - 20px);

        padding: 21px;

        border-radius: 17px;
    }


    .hero-card-top {
        margin-bottom: 25px;
    }


    .hero-card-title {
        margin-bottom: 23px;

        font-size: 21px;
    }


    .assignment-details {
        grid-template-columns: 1fr;
    }


    .floating-card {
        padding: 9px 11px;
    }


    .floating-card strong {
        font-size: 9px;
    }


    .floating-card small {
        font-size: 8px;
    }


    .floating-icon {
        width: 28px;
        height: 28px;

        flex-basis: 28px;
    }


    .floating-card-one {
        left: -2px;
        bottom: 10px;
    }


    .floating-card-two {
        right: -2px;
        top: 20px;
    }


    .level-strip-inner {
        gap: 8px;
    }


    .level-link {
        min-width: 0;

        min-height: 43px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 390px) {

    .hero h1 {
        font-size: 34px;
    }


    .hero-trust {
        grid-template-columns: 1fr;
    }


    .hero-visual {
        min-height: 315px;
    }


    .floating-card-one {
        left: -5px;
    }


    .floating-card-two {
        right: -5px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }


    *,
    *::before,
    *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

}

/* =========================================================
   CMI INTRO / BRIEF CHECK SECTION
========================================================= */

.cmi-intro-section {
    padding: 90px 0 95px;

    background: var(--white);
}


/* =========================================================
   INTRO TOP
========================================================= */

.cmi-intro-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(300px, 0.75fr);

    gap: 70px;

    align-items: center;

    margin-bottom: 55px;
}


.cmi-intro-content {
    max-width: 730px;
}


.content-eyebrow {
    display: inline-block;

    margin-bottom: 13px;

    color: var(--blue);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 1px;
}


.cmi-intro-content h2 {
    max-width: 720px;

    margin: 0 0 20px;

    color: var(--navy);

    font-size: clamp(32px, 4vw, 46px);

    line-height: 1.12;

    letter-spacing: -1.6px;

    font-weight: 800;
}


.cmi-intro-content p {
    max-width: 720px;

    margin: 0 0 14px;

    color: var(--muted);

    font-size: 15px;

    line-height: 1.8;
}


.cmi-intro-content .cmi-intro-lead {
    color: #43516a;

    font-size: 16px;

    line-height: 1.8;
}


/* =========================================================
   BRIEF CHECK CARD
========================================================= */

.brief-check-card {
    position: relative;

    overflow: hidden;

    padding: 30px;

    background:
        linear-gradient(
            145deg,
            var(--navy) 0%,
            #142a59 100%
        );

    border-radius: 18px;

    box-shadow:
        0 20px 45px rgba(11, 23, 54, 0.14);
}


.brief-check-card::after {
    content: "";

    position: absolute;

    width: 170px;
    height: 170px;

    right: -85px;
    bottom: -85px;

    border: 1px solid rgba(255, 255, 255, 0.08);

    border-radius: 50%;
}


.brief-check-icon {
    width: 45px;
    height: 45px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 4px;

    margin-bottom: 21px;
    padding: 10px;

    background: rgba(244, 185, 66, 0.12);

    border: 1px solid rgba(244, 185, 66, 0.2);

    border-radius: 10px;
}


.brief-check-icon span {
    display: block;

    width: 100%;
    height: 3px;

    background: var(--gold);

    border-radius: 2px;
}


.brief-check-icon span:nth-child(2) {
    width: 72%;
}


.brief-check-icon span:nth-child(3) {
    width: 50%;
}


.brief-check-label {
    display: block;

    margin-bottom: 10px;

    color: #f4c85f;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 0.9px;
}


.brief-check-card h3 {
    position: relative;
    z-index: 1;

    margin: 0 0 12px;

    color: var(--white);

    font-size: 22px;

    line-height: 1.3;

    letter-spacing: -0.5px;

    font-weight: 800;
}


.brief-check-card p {
    position: relative;
    z-index: 1;

    margin: 0 0 22px;

    color: #bcc9e0;

    font-size: 13px;

    line-height: 1.7;
}


.brief-check-link {
    position: relative;
    z-index: 1;

    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: var(--gold);

    font-size: 13px;
    font-weight: 800;
}


.brief-check-link span {
    font-size: 17px;

    transition: transform 150ms ease;
}


.brief-check-link:hover span {
    transform: translateX(3px);
}


/* =========================================================
   SUPPORT FEATURES
========================================================= */

.support-features {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}


.support-feature {
    position: relative;

    min-height: 150px;

    padding: 27px 25px;

    border-right: 1px solid var(--border);
}


.support-feature:last-child {
    border-right: 0;
}


.support-feature-number {
    margin-bottom: 18px;

    color: #b7c4d9;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 0.8px;
}


.support-feature h3 {
    margin: 0 0 10px;

    color: var(--navy);

    font-size: 16px;

    line-height: 1.35;

    font-weight: 800;
}


.support-feature p {
    margin: 0;

    color: var(--muted);

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   CTA BAR
========================================================= */

.brief-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    margin-top: 22px;
    padding: 21px 25px;

    background: #0e657b;

    border-radius: 8px;
}


.brief-cta-content {
    display: flex;
    flex-direction: column;

    gap: 2px;
}


.brief-cta-content strong {
    color: var(--white);

    font-size: 16px;
    font-weight: 800;
}


.brief-cta-content span {
    color: rgba(255, 255, 255, 0.78);

    font-size: 14px;
}


.brief-cta-actions {
    display: flex;
    align-items: center;
    gap: 9px;

    flex: 0 0 auto;
}


.brief-cta-actions a {
    color: var(--white);

    font-size: 14px;
    font-weight: 800;
}


.brief-cta-actions a:hover {
    color: #f4c85f;
}


.brief-cta-actions > span {
    color: rgba(255, 255, 255, 0.4);

    font-size: 11px;
}


/* =========================================================
   RESPONSIBLE USE
========================================================= */

.responsible-use {
    margin-top: 18px;
    padding: 17px 19px;

    background: #fff9ec;

    border: 1px solid #e8c77e;

    border-radius: 4px;
}


.responsible-use-title {
    margin-bottom: 4px;

    color: #384152;

    font-size: 14px;
    font-weight: 800;
}


.responsible-use p {
    max-width: 1000px;

    margin: 0;

    color: #4f5662;

    font-size: 14px;

    line-height: 1.65;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 950px) {

    .cmi-intro-grid {
        grid-template-columns: 1fr;

        gap: 35px;
    }


    .cmi-intro-content {
        max-width: 750px;
    }


    .brief-check-card {
        max-width: 650px;
    }


    .support-features {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .support-feature:nth-child(2) {
        border-right: 0;
    }


    .support-feature:nth-child(-n + 2) {
        border-bottom: 1px solid var(--border);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .cmi-intro-section {
        padding: 65px 0 70px;
    }


    .cmi-intro-grid {
        gap: 30px;

        margin-bottom: 40px;
    }


    .cmi-intro-content h2 {
        font-size: 32px;

        letter-spacing: -1px;
    }


    .cmi-intro-content p,
    .cmi-intro-content .cmi-intro-lead {
        font-size: 16px;

        line-height: 1.75;
    }


    .brief-check-card {
        padding: 25px;
    }


    .brief-check-card h3 {
        font-size: 20px;
    }


    .support-features {
        grid-template-columns: 1fr;
    }


    .support-feature {
        min-height: 0;

        padding: 22px 20px;

        border-right: 0;

        border-bottom: 1px solid var(--border);
    }


    .support-feature:last-child {
        border-bottom: 0;
    }


    .brief-cta {
        flex-direction: column;

        align-items: flex-start;

        gap: 15px;

        padding: 20px;
    }


    .brief-cta-actions {
        width: 100%;

        justify-content: flex-start;

        flex-wrap: wrap;
    }


    .responsible-use {
        padding: 15px;
    }

}

/* =========================================================
   CMI BRIEF CONTENT SECTION
========================================================= */

.cmi-brief-content {
    padding: 85px 0 90px;

    background: #f7f9fc;

    border-top: 1px solid #edf1f6;
}


.cmi-brief-content-inner {
    max-width: 1060px;

    margin: 0 auto;

    padding: 0 10px;
}


/* =========================================================
   HEADING
========================================================= */

.cmi-content-heading {
    margin-bottom: 27px;
}


.cmi-content-heading .content-eyebrow {
    display: inline-block;

    margin-bottom: 10px;

    color: var(--blue);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1px;
}


.cmi-content-heading h2 {
    position: relative;

    margin: 0;

    padding-left: 16px;

    color: var(--navy);

    font-size: clamp(28px, 3vw, 36px);

    line-height: 1.2;

    letter-spacing: -1px;

    font-weight: 800;
}


/* Small vertical accent */

.cmi-content-heading h2::before {
    content: "";

    position: absolute;

    left: 0;
    top: 5px;

    width: 4px;
    height: calc(100% - 10px);

    background: var(--blue);

    border-radius: 4px;
}


/* =========================================================
   CONTENT
========================================================= */

.cmi-content-copy {
    max-width: 1010px;
}


.cmi-content-copy p {
    margin: 0 0 17px;

    color: #38465d;

    font-size: 15px;

    line-height: 1.78;
}


.cmi-content-copy p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   META
========================================================= */

.cmi-content-meta {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-top: 40px;

    color: #7c8799;

    font-size: 14px;

    line-height: 1.5;

    text-align: center;
}


.cmi-content-meta span:first-child {
    font-weight: 600;
}


.cmi-content-divider {
    color: #aeb7c5;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .cmi-brief-content {
        padding: 70px 0 75px;
    }


    .cmi-brief-content-inner {
        padding: 0;
    }


    .cmi-content-copy p {
        font-size: 16px;

        line-height: 1.75;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .cmi-brief-content {
        padding: 60px 0 65px;
    }


    .cmi-content-heading {
        margin-bottom: 23px;
    }


    .cmi-content-heading h2 {
        padding-left: 13px;

        font-size: 28px;

        letter-spacing: -0.7px;
    }


    .cmi-content-heading h2::before {
        width: 3px;
    }


    .cmi-content-copy p {
        margin-bottom: 15px;

        font-size: 16px;

        line-height: 1.72;
    }


    .cmi-content-meta {
        flex-wrap: wrap;

        margin-top: 30px;

        font-size: 11px;
    }

}
/* =========================================================
   WHY CMI ASSIGNMENTS GET REFERRED
========================================================= */

.referral-section {
    padding: 100px 0;

    background: var(--white);
}


/* =========================================================
   MAIN LAYOUT
========================================================= */

.referral-layout {
    display: grid;

    grid-template-columns:
        minmax(280px, 0.72fr)
        minmax(0, 1.28fr);

    gap: 70px;

    align-items: start;
}


/* =========================================================
   INTRO
========================================================= */

.referral-intro {
    position: sticky;

    top: 30px;

    max-width: 430px;
}


.referral-intro h2 {
    margin: 0 0 20px;

    color: var(--navy);

    font-size: clamp(32px, 3.5vw, 44px);

    line-height: 1.12;

    letter-spacing: -1.5px;

    font-weight: 800;
}


.referral-lead {
    color: #35445d !important;

    font-size: 16px !important;

    line-height: 1.75 !important;
}


.referral-intro p {
    margin: 0 0 16px;

    color: var(--muted);

    font-size: 16px;

    line-height: 1.75;
}


/* =========================================================
   REASONS CONTAINER
========================================================= */

.referral-reasons {
    overflow: hidden;

    background: #f7f9fc;

    border: 1px solid #e4eaf3;

    border-radius: 16px;
}


/* =========================================================
   REASONS HEADER
========================================================= */

.referral-reasons-header {
    display: flex;
    flex-direction: column;

    gap: 5px;

    padding: 22px 25px;

    background: #f0f4fa;

    border-bottom: 1px solid #dfe6f0;
}


.referral-reasons-header span {
    color: var(--blue);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1px;
}


.referral-reasons-header strong {
    color: var(--navy);

    font-size: 18px;

    line-height: 1.3;

    font-weight: 800;
}


/* =========================================================
   REFERRAL LIST
========================================================= */

.referral-list {
    margin: 0;

    padding: 0;

    list-style: none;
}


.referral-list li {
    display: grid;

    grid-template-columns: 38px 1fr;

    gap: 15px;

    padding: 17px 23px;

    border-bottom: 1px solid #e1e7ef;
}


.referral-list li:last-child {
    border-bottom: 0;
}


.referral-check {
    width: 30px;
    height: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 1px;

    background: #e8f1ff;

    border-radius: 7px;

    color: var(--blue);

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 0.3px;
}


.referral-list p {
    margin: 0;

    color: #3f4d62;

    font-size: 13px;

    line-height: 1.65;
}


/* =========================================================
   HOVER
========================================================= */

.referral-list li {
    transition:
        background-color 150ms ease;
}


.referral-list li:hover {
    background: var(--white);
}


.referral-list li:hover .referral-check {
    background: #dceaff;
}


/* =========================================================
   RESUBMISSION BOX
========================================================= */

.resubmission-box {
    display: grid;

    grid-template-columns:
        48px 1fr auto;

    gap: 20px;

    align-items: center;

    margin-top: 22px;

    padding: 24px 27px;

    background:
        linear-gradient(
            135deg,
            #0b1736 0%,
            #123263 100%
        );

    border-radius: 13px;

    box-shadow:
        0 15px 35px rgba(11, 23, 54, 0.12);
}


.resubmission-icon {
    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(244, 185, 66, 0.12);

    border: 1px solid rgba(244, 185, 66, 0.2);

    border-radius: 10px;

    color: var(--gold);

    font-size: 21px;
    font-weight: 700;
}


.resubmission-content > span {
    display: block;

    margin-bottom: 6px;

    color: #f4c85f;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 0.9px;
}


.resubmission-content p {
    max-width: 780px;

    margin: 0;

    color: #c1cde0;

    font-size: 13px;

    line-height: 1.7;
}


.resubmission-box > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding: 11px 15px;

    background: rgba(255, 255, 255, 0.08);

    border: 1px solid rgba(255, 255, 255, 0.12);

    border-radius: 7px;

    color: var(--white);

    font-size: 14px;
    font-weight: 800;

    white-space: nowrap;

    transition:
        background-color 150ms ease,
        border-color 150ms ease;
}


.resubmission-box > a span {
    color: var(--gold);

    font-size: 16px;
}


.resubmission-box > a:hover {
    background: rgba(255, 255, 255, 0.13);

    border-color: rgba(255, 255, 255, 0.2);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 950px) {

    .referral-section {
        padding: 80px 0;
    }


    .referral-layout {
        grid-template-columns: 1fr;

        gap: 40px;
    }


    .referral-intro {
        position: static;

        max-width: 700px;
    }


    .referral-reasons {
        max-width: 750px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .referral-section {
        padding: 65px 0;
    }


    .referral-layout {
        gap: 30px;
    }


    .referral-intro h2 {
        font-size: 31px;

        letter-spacing: -1px;
    }


    .referral-lead {
        font-size: 14px !important;
    }


    .referral-intro p {
        font-size: 13px;
    }


    .referral-reasons-header {
        padding: 19px 18px;
    }


    .referral-reasons-header strong {
        font-size: 17px;
    }


    .referral-list li {
        grid-template-columns: 31px 1fr;

        gap: 11px;

        padding: 15px 16px;
    }


    .referral-check {
        width: 27px;
        height: 27px;

        font-size: 8px;
    }


    .referral-list p {
        font-size: 14px;

        line-height: 1.65;
    }


    .resubmission-box {
        grid-template-columns: 1fr;

        gap: 14px;

        padding: 22px 20px;
    }


    .resubmission-icon {
        width: 40px;
        height: 40px;
    }


    .resubmission-content p {
        font-size: 14px;
    }


    .resubmission-box > a {
        width: fit-content;
    }

}
/* =========================================================
   SERVICES SECTION
========================================================= */

.services-section {
      padding: 70px 10px 0px 0px;

    background: var(--white);
}


.services-layout {
    display: grid;

    grid-template-columns:
        minmax(280px, 0.72fr)
        minmax(0, 1.28fr);

    gap: 75px;

    align-items: start;
}


/* =========================================================
   SERVICES INTRO
========================================================= */

.services-intro {
    position: sticky;

    top: 30px;
}


.services-intro h2 {
    margin: 0 0 18px;

    color: var(--navy);

    font-size: clamp(31px, 3.3vw, 43px);

    line-height: 1.13;

    letter-spacing: -1.5px;

    font-weight: 800;
}


.services-intro p {
    max-width: 410px;

    margin: 0 0 25px;

    color: var(--muted);

    font-size: 15px;

    line-height: 1.75;
}


.services-main-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: var(--blue);

    font-size: 13px;
    font-weight: 800;
}


.services-main-link span {
    font-size: 17px;

    transition: transform 150ms ease;
}


.services-main-link:hover span {
    transform: translateX(3px);
}


/* =========================================================
   SERVICES GRID
========================================================= */

.services-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 16px;
}


.service-card {
    position: relative;

    min-height: 285px;

    padding: 27px;

    background: #f8faff;

    border: 1px solid #e5eaf3;

    border-radius: 15px;

    transition:
        transform 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease;
}


.service-card:hover {
    transform: translateY(-3px);

    background: var(--white);

    border-color: #d5def0;

    box-shadow:
        0 15px 35px rgba(11, 23, 54, 0.07);
}


/* =========================================================
   SERVICE NUMBER
========================================================= */

.service-number {
    position: absolute;

    top: 22px;
    right: 23px;

    color: #dce4f2;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 0.5px;
}


/* =========================================================
   CSS-ONLY SERVICE ICON
========================================================= */

.service-icon {
    width: 43px;
    height: 43px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 4px;

    margin-bottom: 22px;
    padding: 10px;

    background: #eaf1ff;

    border-radius: 10px;
}


.service-icon span {
    display: block;

    width: 100%;
    height: 3px;

    background: var(--blue);

    border-radius: 2px;
}


.service-icon span:nth-child(2) {
    width: 72%;
}


.service-icon span:nth-child(3) {
    width: 52%;
}


/* =========================================================
   SERVICE CONTENT
========================================================= */

.service-card h3 {
    margin: 0 0 11px;

    color: var(--navy);

    font-size: 18px;

    line-height: 1.3;

    letter-spacing: -0.3px;

    font-weight: 800;
}


.service-card p {
    margin: 0;

    color: var(--muted);

    font-size: 13px;

    line-height: 1.7;
}


.service-card > a {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin-top: 19px;

    color: var(--navy);

    font-size: 14px;
    font-weight: 800;
}


.service-card > a span {
    color: var(--blue);

    font-size: 16px;

    transition: transform 150ms ease;
}


.service-card > a:hover {
    color: var(--blue);
}


.service-card > a:hover span {
    transform: translateX(3px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

    .services-layout {
        grid-template-columns: 1fr;

        gap: 45px;
    }


    .services-intro {
        position: static;

        max-width: 700px;
    }


    .services-intro p {
        max-width: 620px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .services-section {
        padding: 70px 0;
    }


    .services-layout {
        gap: 35px;
    }


    .services-intro h2 {
        font-size: 32px;

        letter-spacing: -1px;
    }


    .services-intro p {
        font-size: 16px;
    }


    .services-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }


    .service-card {
        min-height: 0;

        padding: 24px;
    }


    .service-card h3 {
        font-size: 18px;
    }


    .service-card p {
        font-size: 13px;
    }

}
/* =========================================================
   CMI ASSESSMENT STRUCTURE SECTION
========================================================= */

.cmi-assessment-section {
    padding: 100px 0 105px;

    background: #f7f9fc;

    border-top: 1px solid #e9eef5;
}


/* =========================================================
   INTRO
========================================================= */

.assessment-intro {
    max-width: 1000px;

    margin: 0 auto 55px;
}


.assessment-intro p {
    margin: 0 0 17px;

    color: #3d4b61;

    font-size: 15px;

    line-height: 1.8;
}


.assessment-intro p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   ASSESSMENT BLOCK
========================================================= */

.assessment-block {
    max-width: 1000px;

    margin: 0 auto 65px;

    padding: 38px;

    background: var(--white);

    border: 1px solid #e2e8f1;

    border-radius: 16px;

    box-shadow:
        0 8px 30px rgba(11, 23, 54, 0.035);
}


.assessment-block-heading {
    display: grid;

    grid-template-columns: 42px 1fr;

    gap: 17px;

    align-items: start;

    margin-bottom: 24px;
}


.assessment-block-number {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #e9f1ff;

    border-radius: 8px;

    color: var(--blue);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 0.5px;
}


.assessment-block h2 {
    margin: 0;

    color: var(--navy);

    font-size: clamp(25px, 3vw, 34px);

    line-height: 1.18;

    letter-spacing: -0.9px;

    font-weight: 800;
}


.assessment-block-content {
    padding-left: 59px;
}


.assessment-block-content p {
    margin: 0 0 15px;

    color: #3d4b61;

    font-size: 16px;

    line-height: 1.78;
}


.assessment-block-content p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   COMMAND VERBS
========================================================= */

.command-verbs-block {
    max-width: 1000px;

    margin: 0 auto;
}


.command-verbs-heading {
    display: grid;

    grid-template-columns: 42px 1fr;

    gap: 17px;

    align-items: start;

    margin-bottom: 28px;
}


.command-verbs-heading h2 {
    max-width: 750px;

    margin: 0 0 12px;

    color: var(--navy);

    font-size: clamp(27px, 3vw, 36px);

    line-height: 1.15;

    letter-spacing: -1px;

    font-weight: 800;
}


.command-verbs-heading p {
    max-width: 800px;

    margin: 0;

    color: var(--muted);

    font-size: 16px;

    line-height: 1.75;
}


/* =========================================================
   COMMAND TABLE
========================================================= */

.command-table-wrapper {
    overflow: hidden;

    border: 1px solid #cbd7e5;

    border-radius: 8px;

    background: var(--white);
}


.command-table {
    width: 100%;

    border-collapse: collapse;

    table-layout: fixed;
}


.command-table th,
.command-table td {
    padding: 13px 15px;

    border-right: 1px solid #cbd7e5;
    border-bottom: 1px solid #cbd7e5;

    vertical-align: top;

    text-align: left;
}


.command-table tr:last-child th,
.command-table tr:last-child td {
    border-bottom: 0;
}


.command-table th:last-child,
.command-table td:last-child {
    border-right: 0;
}


.command-table thead th {
    background: #123f4b;

    color: var(--white);

    font-size: 11px;

    line-height: 1.35;

    font-weight: 800;
}


.command-table thead th:nth-child(1) {
    width: 20%;
}


.command-table thead th:nth-child(2) {
    width: 43%;
}


.command-table thead th:nth-child(3) {
    width: 37%;
}


.command-table tbody th {
    background: #f1f6f8;

    color: #155e73;

    font-size: 13px;

    line-height: 1.45;

    font-weight: 800;
}


.command-table tbody td {
    color: #3e4b5d;

    font-size: 14px;

    line-height: 1.55;
}


.command-table tbody tr:hover th,
.command-table tbody tr:hover td {
    background-color: #f8fbfc;
}


/* =========================================================
   SELF CHECK
========================================================= */

.assessment-self-check {
    display: grid;

    grid-template-columns: 40px 1fr;

    gap: 15px;

    align-items: start;

    margin-top: 17px;

    padding: 18px 20px;

    background: #fff9eb;

    border: 1px solid #e8c879;

    border-radius: 7px;
}


.self-check-icon {
    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f4c85f;

    border-radius: 50%;

    color: #4b3a10;

    font-size: 17px;
    font-weight: 800;
}


.assessment-self-check strong {
    display: block;

    margin-bottom: 6px;

    color: #374151;

    font-size: 13px;

    font-weight: 800;
}


.assessment-self-check p {
    margin: 0 0 4px;

    color: #555e6c;

    font-size: 14px;

    line-height: 1.6;
}


.assessment-self-check p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   SOURCE / BOTTOM NOTE
========================================================= */

.assessment-source-note {
    max-width: 1000px;

    margin: 22px auto 0;

    color: #7c8797;

    font-size: 11px;

    line-height: 1.6;

    text-align: center;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 800px) {

    .cmi-assessment-section {
        padding: 80px 0;
    }


    .assessment-block {
        padding: 28px;

        margin-bottom: 50px;
    }


    .assessment-block-content {
        padding-left: 0;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .cmi-assessment-section {
        padding: 65px 0 70px;
    }


    .assessment-intro {
        margin-bottom: 38px;
    }


    .assessment-intro p {
        font-size: 16px;

        line-height: 1.75;
    }


    .assessment-block {
        padding: 22px 18px;

        border-radius: 12px;
    }


    .assessment-block-heading,
    .command-verbs-heading {
        grid-template-columns: 34px 1fr;

        gap: 11px;
    }


    .assessment-block-number {
        width: 31px;
        height: 31px;

        font-size: 9px;
    }


    .assessment-block h2,
    .command-verbs-heading h2 {
        font-size: 25px;

        letter-spacing: -0.6px;
    }


    .assessment-block-content p {
        font-size: 13px;

        line-height: 1.72;
    }


    .command-verbs-heading {
        margin-bottom: 20px;
    }


    .command-verbs-heading p {
        font-size: 13px;
    }


    /*
     * Mobile table becomes a stacked set of rows.
     * Each row remains readable without horizontal scrolling.
     */

    .command-table-wrapper {
        overflow: visible;

        border: 0;

        background: transparent;
    }


    .command-table,
    .command-table tbody,
    .command-table tr,
    .command-table th,
    .command-table td {
        display: block;

        width: 100%;
    }


    .command-table thead {
        display: none;
    }


    .command-table tr {
        margin-bottom: 12px;

        overflow: hidden;

        background: var(--white);

        border: 1px solid #dce4ee;

        border-radius: 9px;
    }


    .command-table tbody th {
        padding: 12px 14px;

        background: #123f4b;

        border: 0;

        color: var(--white);

        font-size: 13px;
    }


    .command-table tbody td {
        position: relative;

        padding: 12px 14px 12px 112px;

        border: 0;

        border-bottom: 1px solid #edf0f4;

        font-size: 14px;
    }


    .command-table tbody td:last-child {
        border-bottom: 0;
    }


    .command-table tbody td:nth-child(2)::before {
        content: "Must do";

        position: absolute;

        left: 14px;
        top: 12px;

        color: var(--blue);

        font-size: 9px;
        font-weight: 800;

        letter-spacing: 0.5px;

        text-transform: uppercase;
    }


    .command-table tbody td:nth-child(3)::before {
        content: "Weakness";

        position: absolute;

        left: 14px;
        top: 12px;

        color: #8a6a17;

        font-size: 9px;
        font-weight: 800;

        letter-spacing: 0.5px;

        text-transform: uppercase;
    }


    .assessment-self-check {
        grid-template-columns: 34px 1fr;

        gap: 11px;

        padding: 15px;
    }


    .self-check-icon {
        width: 30px;
        height: 30px;

        font-size: 15px;
    }


    .assessment-self-check p {
        font-size: 11px;
    }


    .assessment-source-note {
        font-size: 10px;
    }

}

/* =========================================================
   WORKPLACE EVIDENCE SECTION
========================================================= */

.workplace-evidence-section {
    padding: 100px 0 105px;

    background: var(--white);

    border-top: 1px solid #e8edf4;
}


/* =========================================================
   TOP LAYOUT
========================================================= */

.workplace-evidence-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 0.88fr)
        minmax(0, 1.12fr);

    gap: 65px;

    align-items: start;

    max-width: 1050px;

    margin: 0 auto 45px;
}


/* =========================================================
   INTRO
========================================================= */

.workplace-evidence-intro {
    max-width: 470px;
}


.workplace-evidence-intro h2 {
    margin: 0 0 20px;

    color: var(--navy);

    font-size: clamp(30px, 3.3vw, 42px);

    line-height: 1.13;

    letter-spacing: -1.4px;

    font-weight: 800;
}


.workplace-evidence-intro p {
    margin: 0 0 16px;

    color: var(--muted);

    font-size: 16px;

    line-height: 1.78;
}


.workplace-evidence-intro .evidence-lead {
    color: #39485f;

    font-size: 15px;
}


/* =========================================================
   EVIDENCE EXAMPLES
========================================================= */

.evidence-examples {
    overflow: hidden;

    background: #f7f9fc;

    border: 1px solid #e1e8f1;

    border-radius: 15px;
}


.evidence-examples-header {
    display: flex;
    flex-direction: column;

    gap: 5px;

    padding: 21px 23px;

    background: #f0f4f9;

    border-bottom: 1px solid #dfe6ef;
}


.evidence-examples-header span {
    color: var(--blue);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1px;
}


.evidence-examples-header strong {
    color: var(--navy);

    font-size: 17px;

    font-weight: 800;
}


/* =========================================================
   EVIDENCE LIST
========================================================= */

.evidence-list {
    margin: 0;

    padding: 0;

    list-style: none;
}


.evidence-list li {
    display: grid;

    grid-template-columns: 31px 1fr;

    gap: 13px;

    align-items: start;

    padding: 13px 20px;

    border-bottom: 1px solid #e3e9f1;
}


.evidence-list li:last-child {
    border-bottom: 0;
}


.evidence-list li > span {
    width: 27px;
    height: 27px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 1px;

    background: #e8f1ff;

    border-radius: 7px;

    color: var(--blue);

    font-size: 8px;
    font-weight: 800;
}


.evidence-list p {
    margin: 0;

    color: #405067;

    font-size: 14px;

    line-height: 1.65;
}


/* =========================================================
   COMPARISON
========================================================= */

.evidence-comparison {
    display: grid;

    grid-template-columns: 1fr 1fr;

    max-width: 1050px;

    margin: 0 auto;

    overflow: hidden;

    border: 1px solid #cbd8e4;

    border-radius: 8px;
}


.evidence-column {
    min-width: 0;
}


.evidence-column + .evidence-column {
    border-left: 1px solid #cbd8e4;
}


.evidence-column-heading {
    padding: 10px 15px;

    color: var(--white);

    font-size: 11px;

    font-weight: 800;

    line-height: 1.3;
}


.vague-column .evidence-column-heading {
    background: #64717e;
}


.stronger-column .evidence-column-heading {
    background: #126075;
}


.evidence-example {
    min-height: 85px;

    padding: 15px;

    background: #f9fbfd;

    color: #3d4b5e;

    font-size: 14px;

    line-height: 1.6;
}


/* =========================================================
   NOTICE
========================================================= */

.evidence-notice {
    display: grid;

    grid-template-columns: 38px 1fr;

    gap: 14px;

    align-items: start;

    max-width: 1050px;

    margin: 16px auto 0;

    padding: 17px 19px;

    background: #fff9eb;

    border: 1px solid #e6c879;

    border-radius: 7px;
}


.evidence-notice-icon {
    width: 31px;
    height: 31px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f4c85f;

    border-radius: 50%;

    color: #4a3b12;

    font-size: 16px;
    font-weight: 800;
}


.evidence-notice p {
    margin: 0;

    color: #535d6b;

    font-size: 14px;

    line-height: 1.65;
}


/* =========================================================
   REFERENCE
========================================================= */

.evidence-reference {
    max-width: 1050px;

    margin: 19px auto 0;

    color: #7e8998;

    font-size: 10px;

    line-height: 1.6;

    text-align: right;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .workplace-evidence-section {
        padding: 80px 0;
    }


    .workplace-evidence-layout {
        grid-template-columns: 1fr;

        gap: 35px;
    }


    .workplace-evidence-intro {
        max-width: 720px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .workplace-evidence-section {
        padding: 65px 0 70px;
    }


    .workplace-evidence-layout {
        gap: 28px;

        margin-bottom: 30px;
    }


    .workplace-evidence-intro h2 {
        font-size: 30px;

        letter-spacing: -1px;
    }


    .workplace-evidence-intro p,
    .workplace-evidence-intro .evidence-lead {
        font-size: 13px;

        line-height: 1.72;
    }


    .evidence-examples-header {
        padding: 19px 17px;
    }


    .evidence-list li {
        grid-template-columns: 28px 1fr;

        gap: 10px;

        padding: 13px 15px;
    }


    .evidence-list li > span {
        width: 25px;
        height: 25px;
    }


    .evidence-list p {
        font-size: 11.5px;
    }


    .evidence-comparison {
        grid-template-columns: 1fr;
    }


    .evidence-column + .evidence-column {
        border-left: 0;

        border-top: 1px solid #cbd8e4;
    }


    .evidence-example {
        min-height: auto;

        font-size: 11.5px;
    }


    .evidence-notice {
        grid-template-columns: 32px 1fr;

        gap: 10px;

        padding: 14px;
    }


    .evidence-notice-icon {
        width: 28px;
        height: 28px;
    }


    .evidence-notice p {
        font-size: 11px;
    }


    .evidence-reference {
        font-size: 9px;

        text-align: left;
    }

}
/* =========================================================
   CMI QUALIFICATION LEVELS SECTION
========================================================= */

.cmi-levels-section {
    padding: 100px 0 105px;

    background: #f7f9fc;

    border-top: 1px solid #e8edf4;
}


.cmi-levels-inner {
    max-width: 1080px;

    margin: 0 auto;
}


/* =========================================================
   EYEBROW
========================================================= */

.cmi-levels-eyebrow {
    display: inline-block;

    margin-bottom: 10px;

    color: var(--blue);

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1px;
}


/* =========================================================
   HEADING
========================================================= */

.cmi-levels-inner h2 {
    margin: 0 0 15px;

    color: var(--navy);

    font-size: clamp(29px, 3.2vw, 40px);

    line-height: 1.15;

    letter-spacing: -1.2px;

    font-weight: 800;
}


.cmi-levels-intro {
    max-width: 950px;

    margin: 0 0 30px;

    color: #3d4b60;

    font-size: 16px;

    line-height: 1.75;
}


/* =========================================================
   TABLE CONTAINER
========================================================= */

.cmi-levels-table-wrap {
    overflow: hidden;

    background: var(--white);

    border: 1px solid #cbd7e3;

    border-radius: 10px;

    box-shadow:
        0 10px 30px rgba(11, 23, 54, 0.045);
}


/* =========================================================
   TABLE
========================================================= */

.cmi-levels-table {
    width: 100%;

    border-collapse: collapse;

    table-layout: fixed;
}


/* =========================================================
   TABLE HEADER
========================================================= */

.cmi-levels-table thead th {
    padding: 12px 15px;

    background: #0f6174;

    color: var(--white);

    border-right: 1px solid rgba(255, 255, 255, 0.18);

    font-size: 11px;

    line-height: 1.4;

    font-weight: 800;

    text-align: left;
}


.cmi-levels-table thead th:first-child {
    width: 48%;
}


.cmi-levels-table thead th:last-child {
    width: 52%;

    border-right: 0;
}


/* =========================================================
   TABLE CELLS
========================================================= */

.cmi-levels-table tbody td {
    padding: 13px 15px;

    color: #3d4b5c;

    border-right: 1px solid #cbd7e3;

    border-bottom: 1px solid #cbd7e3;

    font-size: 14px;

    line-height: 1.55;

    vertical-align: top;
}


.cmi-levels-table tbody tr:last-child td {
    border-bottom: 0;
}


.cmi-levels-table tbody td:last-child {
    border-right: 0;
}


/* =========================================================
   LEFT COLUMN
========================================================= */

.cmi-levels-table tbody td:first-child {
    background: #eef5f8;
}


.cmi-levels-table tbody td:first-child strong {
    display: block;

    margin-bottom: 3px;

    color: #173f4b;

    font-size: 14px;

    line-height: 1.45;

    font-weight: 800;
}


.cmi-levels-table tbody td:first-child span {
    display: block;

    color: #566677;

    font-size: 11px;

    line-height: 1.4;
}


/* =========================================================
   RIGHT COLUMN
========================================================= */

.cmi-levels-table tbody td:last-child {
    background: #ffffff;

    color: #3f4c5d;
}


/* =========================================================
   HOVER
========================================================= */

.cmi-levels-table tbody tr {
    transition: background-color 150ms ease;
}


.cmi-levels-table tbody tr:hover td:first-child {
    background: #e7f1f5;
}


.cmi-levels-table tbody tr:hover td:last-child {
    background: #fbfdff;
}


/* =========================================================
   BOTTOM NOTE
========================================================= */

.cmi-levels-note {
    margin-top: 14px;

    color: #737f8e;

    font-size: 14px;

    line-height: 1.65;
}


.cmi-levels-note a {
    color: var(--blue);

    text-decoration: underline;

    text-underline-offset: 2px;
}


.cmi-levels-note a:hover {
    color: var(--navy);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 800px) {

    .cmi-levels-section {
        padding: 80px 0;
    }


    .cmi-levels-intro {
        font-size: 13px;
    }


    .cmi-levels-table-wrap {
        overflow-x: auto;
    }


    .cmi-levels-table {
        min-width: 700px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .cmi-levels-section {
        padding: 65px 0 70px;
    }


    .cmi-levels-inner h2 {
        font-size: 29px;

        letter-spacing: -0.8px;
    }


    .cmi-levels-intro {
        margin-bottom: 22px;

        font-size: 13px;

        line-height: 1.7;
    }


    /*
     * Keep the table structure intact on mobile.
     * Horizontal scrolling is intentional so that none
     * of the original content becomes cramped or unreadable.
     */

    .cmi-levels-table {
        min-width: 680px;
    }


    .cmi-levels-table thead th {
        padding: 11px 13px;

        font-size: 10px;
    }


    .cmi-levels-table tbody td {
        padding: 12px 13px;

        font-size: 11px;

        line-height: 1.55;
    }


    .cmi-levels-table tbody td:first-child strong {
        font-size: 11px;
    }


    .cmi-levels-table tbody td:first-child span {
        font-size: 10px;
    }


    .cmi-levels-note {
        font-size: 9.5px;

        line-height: 1.6;
    }

}
/* =========================================
   UOL-CMI ACCORDION
   Unique prefix: uol-cmi-
========================================= */

.uol-cmi-content {
    padding: 80px 20px;
    background: #f7faff;
}

.uol-cmi-wrap {
    width: 100%;
    max-width: 1050px;
    margin: 0 auto;
}


/* Heading */

.uol-cmi-heading {
    max-width: 850px;
    margin: 0 auto 35px;
    text-align: center;
}

.uol-cmi-heading > span {
    display: inline-block;
    margin-bottom: 12px;
    padding: 7px 14px;
    border-radius: 50px;
    background: rgba(31, 94, 184, .08);
    color: #1f5eb8;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
}

.uol-cmi-heading h2 {
    margin: 0 0 14px;
    color: #172b4d;
    font-size: 34px;
    line-height: 1.25;
    font-weight: 750;
}

.uol-cmi-heading p {
    margin: 0;
    color: #65748a;
    font-size: 16px;
    line-height: 1.7;
}


/* Accordion */

.uol-cmi-accordion {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.uol-cmi-item {
    overflow: hidden;
    border: 1px solid #e2e9f2;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 5px 20px rgba(23, 55, 90, .045);
    transition: .25s ease;
}

.uol-cmi-item:hover {
    border-color: #cbd8e8;
}

.uol-cmi-item.active {
    border-color: rgba(31, 94, 184, .28);
    box-shadow: 0 12px 32px rgba(23, 55, 90, .08);
}


/* Trigger */

.uol-cmi-trigger {
    width: 100%;
    min-height: 76px;
    padding: 18px 22px;
    border: 0;
    outline: 0;
    background: #fff;
    color: #172b4d;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
}

.uol-cmi-trigger-left {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 15px;
}

.uol-cmi-trigger-left strong {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #eef5ff;
    color: #1f5eb8;
    font-size: 11px;
    font-weight: 800;
}

.uol-cmi-trigger-left > span {
    font-size: 16px;
    line-height: 1.45;
    font-weight: 700;
}


/* Plus */

.uol-cmi-plus {
    width: 32px;
    height: 32px;
    min-width: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f1f5fa;
    color: #1f5eb8;
    font-size: 21px;
    font-weight: 400;
    line-height: 1;
    transition: .3s ease;
}

.uol-cmi-item.active .uol-cmi-plus {
    background: #1f5eb8;
    color: #fff;
    transform: rotate(45deg);
}


/* Panel */

.uol-cmi-panel {
    display: none;
    padding: 0 25px 28px;
}

.uol-cmi-item.active .uol-cmi-panel {
    display: block;
}

.uol-cmi-panel h3 {
    margin: 0 0 18px;
    color: #172b4d;
    font-size: 24px;
    line-height: 1.35;
}

.uol-cmi-panel h4 {
    margin: 25px 0 14px;
    color: #172b4d;
    font-size: 17px;
}

.uol-cmi-panel p {
    margin: 0 0 14px;
    color: #5d6b7e;
    font-size: 15px;
    line-height: 1.8;
}

.uol-cmi-panel p:last-of-type {
    margin-bottom: 0;
}


/* List */

.uol-cmi-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 9px;
}

.uol-cmi-list li {
    position: relative;
    padding: 12px 14px 12px 35px;
    border: 1px solid #e7edf5;
    border-radius: 8px;
    background: #fafcff;
    color: #46566b;
    font-size: 14px;
    line-height: 1.55;
}

.uol-cmi-list li::before {
    content: "✓";
    position: absolute;
    left: 13px;
    top: 12px;
    color: #1f5eb8;
    font-weight: 700;
}


/* Official link */

.uol-cmi-official {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    padding: 11px 17px;
    border-radius: 7px;
    background: #1f5eb8;
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    transition: .2s ease;
}

.uol-cmi-official:hover {
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(31, 94, 184, .2);
}


/* Mobile */

@media (max-width: 767px) {

    .uol-cmi-content {
        padding: 55px 15px;
    }

    .uol-cmi-heading {
        margin-bottom: 25px;
    }

    .uol-cmi-heading h2 {
        font-size: 27px;
    }

    .uol-cmi-heading p {
        font-size: 14px;
    }

    .uol-cmi-trigger {
        min-height: 68px;
        padding: 15px;
    }

    .uol-cmi-trigger-left {
        gap: 10px;
    }

    .uol-cmi-trigger-left strong {
        width: 32px;
        height: 32px;
        min-width: 32px;
    }

    .uol-cmi-trigger-left > span {
        font-size: 14px;
    }

    .uol-cmi-plus {
        width: 28px;
        height: 28px;
        min-width: 28px;
    }

    .uol-cmi-panel {
        padding: 0 16px 22px;
    }

    .uol-cmi-panel h3 {
        font-size: 21px;
    }

    .uol-cmi-panel p {
        font-size: 14px;
        line-height: 1.7;
    }

    .uol-cmi-list {
        grid-template-columns: 1fr;
    }
}

/* =========================================
   CMI RESUBMISSION SECTION
   Unique classes: cmi-resubmission-
========================================= */

.cmi-resubmission-section{
    padding:90px 20px;
    background:#ffffff;
    font-family:Arial, Helvetica, sans-serif;
}

.cmi-resubmission-wrap{
    max-width:1120px;
    margin:0 auto;
}


/* =========================
   MAIN HEADING
========================= */

.cmi-resubmission-heading{
    max-width:900px;
    margin:0 auto 50px;
    text-align:center;
}

.cmi-resubmission-kicker{
    display:inline-block;
    margin-bottom:13px;
    color:#1f5eb8;
    font-size:12px;
    font-weight:800;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.cmi-resubmission-heading h2,
.cmi-resubmission-example-heading h2{
    margin:0 0 18px;
    color:#172b4d;
    font-size:40px;
    line-height:1.15;
    font-weight:800;
    letter-spacing:-.6px;
}

.cmi-resubmission-heading > p{
    margin:0;
    color:#5d6b7e;
    font-size:17px;
    line-height:1.8;
}

.cmi-resubmission-heading strong{
    color:#172b4d;
}


/* =========================
   PROCESS TITLE
========================= */

.cmi-resubmission-process-title{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:22px;
}

.cmi-resubmission-process-title span{
    width:5px;
    height:25px;
    border-radius:5px;
    background:#1f5eb8;
}

.cmi-resubmission-process-title h3{
    margin:0;
    color:#172b4d;
    font-size:21px;
    line-height:1.4;
}


/* =========================
   PROCESS STEPS
========================= */

.cmi-resubmission-process{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:35px;
}

.cmi-resubmission-step{
    display:flex;
    align-items:flex-start;
    gap:17px;
    min-height:105px;
    padding:21px;
    border:1px solid #e2eaf4;
    border-radius:15px;
    background:#fbfdff;
    transition:all .25s ease;
}

.cmi-resubmission-step:hover{
    border-color:#c8dbf3;
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(31,94,184,.07);
}

.cmi-resubmission-step-number{
    flex:0 0 43px;
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#eaf2ff;
    color:#1f5eb8;
    font-size:12px;
    font-weight:800;
}

.cmi-resubmission-step-content{
    flex:1;
}

.cmi-resubmission-step-content p{
    margin:0;
    color:#4f6074;
    font-size:15px;
    line-height:1.7;
}


/* =========================
   FEEDBACK CALLOUT
========================= */

.cmi-resubmission-feedback{
    display:flex;
    align-items:flex-start;
    gap:20px;
    margin:0 0 80px;
    padding:28px 30px;
    border:1px solid #cfe0f5;
    border-radius:18px;
    background:#f3f8ff;
}

.cmi-resubmission-feedback-icon{
    flex:0 0 46px;
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:#1f5eb8;
}

.cmi-resubmission-feedback-icon svg{
    width:23px;
    height:23px;
    fill:#fff;
}

.cmi-resubmission-feedback h3{
    margin:0 0 7px;
    color:#172b4d;
    font-size:20px;
}

.cmi-resubmission-feedback p{
    margin:0;
    color:#526276;
    font-size:15px;
    line-height:1.75;
}


/* =========================
   EXAMPLE AREA
========================= */

.cmi-resubmission-example{
    padding:55px;
    border-radius:25px;
    background:#f7faff;
    border:1px solid #e3ebf5;
}

.cmi-resubmission-example-heading{
    max-width:820px;
    margin-bottom:35px;
}

.cmi-resubmission-example-heading h2{
    font-size:32px;
}

.cmi-resubmission-example-heading p{
    margin:0;
    color:#5d6b7e;
    font-size:15.5px;
    line-height:1.8;
}


/* =========================
   EXAMPLE CARDS
========================= */

.cmi-resubmission-example-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
}

.cmi-resubmission-example-card{
    padding:25px;
    border:1px solid #e0e8f2;
    border-radius:16px;
    background:#fff;
    box-shadow:0 5px 18px rgba(23,43,77,.035);
}

.cmi-resubmission-example-card p{
    margin:0;
    color:#526276;
    font-size:15px;
    line-height:1.75;
}

.cmi-resubmission-card-label{
    margin-bottom:13px;
    color:#1f5eb8;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.2px;
    text-transform:uppercase;
}

.cmi-resubmission-quote-card{
    background:#172b4d;
    border-color:#172b4d;
}

.cmi-resubmission-quote-card .cmi-resubmission-card-label{
    color:#91bcf5;
}

.cmi-resubmission-quote{
    color:#fff;
    font-size:21px;
    line-height:1.5;
    font-weight:700;
    font-style:italic;
}

.cmi-resubmission-wide{
    grid-column:1 / -1;
}

.cmi-resubmission-final-card{
    background:#fff;
}


/* =========================
   CLOSING
========================= */

.cmi-resubmission-closing{
    display:flex;
    align-items:flex-start;
    gap:15px;
    margin-top:32px;
    padding:0 5px;
}

.cmi-resubmission-closing-line{
    flex:0 0 4px;
    min-height:45px;
    border-radius:5px;
    background:#1f5eb8;
}

.cmi-resubmission-closing p{
    margin:0;
    color:#172b4d;
    font-size:15px;
    line-height:1.75;
    font-weight:600;
}


/* =========================
   MOBILE
========================= */

@media(max-width:768px){

    .cmi-resubmission-section{
        padding:60px 15px;
    }

    .cmi-resubmission-heading{
        margin-bottom:35px;
    }

    .cmi-resubmission-heading h2{
        font-size:30px;
    }

    .cmi-resubmission-heading > p{
        font-size:15px;
    }

    .cmi-resubmission-process{
        grid-template-columns:1fr;
    }

    .cmi-resubmission-step{
        min-height:auto;
        padding:18px;
    }

    .cmi-resubmission-feedback{
        margin-bottom:55px;
        padding:21px;
    }

    .cmi-resubmission-example{
        padding:28px 18px;
        border-radius:19px;
    }

    .cmi-resubmission-example-heading h2{
        font-size:26px;
    }

    .cmi-resubmission-example-grid{
        grid-template-columns:1fr;
    }

    .cmi-resubmission-wide{
        grid-column:auto;
    }

    .cmi-resubmission-quote{
        font-size:18px;
    }
}

/* =========================================
   CMI EDITORIAL CONTENT SECTION
   Unique prefix: cmi-editorial-
========================================= */

.cmi-editorial-section{
    padding:95px 20px;
    background:#ffffff;
    font-family:Arial, Helvetica, sans-serif;
    color:#4f6074;
}

.cmi-editorial-wrap{
    max-width:1120px;
    margin:0 auto;
}

.cmi-editorial-kicker{
    display:inline-block;
    margin-bottom:12px;
    color:#1f5eb8;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.cmi-editorial-section h2{
    margin:0 0 17px;
    color:#172b4d;
    font-size:36px;
    line-height:1.18;
    font-weight:800;
    letter-spacing:-.5px;
}

.cmi-editorial-section p{
    font-size:15.5px;
    line-height:1.8;
}


/* =========================================
   EDITING
========================================= */

.cmi-editorial-intro{
    max-width:900px;
    margin-bottom:35px;
}

.cmi-editorial-intro > p{
    margin:0;
}

.cmi-editorial-intro strong{
    color:#172b4d;
}

.cmi-editorial-subheading{
    display:flex;
    align-items:center;
    gap:13px;
    margin-bottom:20px;
}

.cmi-editorial-marker{
    width:5px;
    height:24px;
    border-radius:5px;
    background:#1f5eb8;
}

.cmi-editorial-subheading h3{
    margin:0;
    color:#172b4d;
    font-size:20px;
}

.cmi-editorial-check-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px;
}

.cmi-editorial-check-card{
    display:flex;
    align-items:flex-start;
    gap:15px;
    padding:20px;
    border:1px solid #e1e9f3;
    border-radius:14px;
    background:#fbfdff;
    transition:.25s ease;
}

.cmi-editorial-check-card:hover{
    transform:translateY(-2px);
    border-color:#c8daf1;
    box-shadow:0 10px 25px rgba(31,94,184,.07);
}

.cmi-editorial-check{
    flex:0 0 34px;
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    background:#eaf2ff;
    color:#1f5eb8;
    font-size:11px;
    font-weight:800;
}

.cmi-editorial-check-card p{
    margin:3px 0 0;
}

.cmi-editorial-language-note{
    display:flex;
    gap:17px;
    align-items:center;
    margin-top:20px;
    padding:23px;
    border-radius:15px;
    background:#f3f8ff;
    border:1px solid #d8e6f7;
}

.cmi-editorial-note-icon{
    flex:0 0 43px;
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    background:#1f5eb8;
}

.cmi-editorial-note-icon svg{
    width:21px;
    height:21px;
    fill:#fff;
}

.cmi-editorial-language-note p{
    margin:0;
}


/* =========================================
   EXAMPLE
========================================= */

.cmi-editorial-example{
    margin-top:90px;
    padding:55px;
    border-radius:25px;
    background:#f7faff;
    border:1px solid #e2eaf4;
}

.cmi-editorial-example-heading{
    max-width:880px;
    margin-bottom:35px;
}

.cmi-editorial-example-heading p{
    margin:0;
}

.cmi-editorial-example-heading strong{
    color:#172b4d;
}

.cmi-editorial-example-body{
    padding:28px;
    border-radius:17px;
    background:#fff;
    border:1px solid #e0e8f2;
}

.cmi-editorial-example-label{
    margin-bottom:20px;
    color:#172b4d;
    font-size:18px;
    font-weight:800;
}

.cmi-editorial-example-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.cmi-editorial-example-list > div{
    display:flex;
    gap:13px;
    padding:16px;
    border-radius:11px;
    background:#f8fbff;
}

.cmi-editorial-example-list span{
    flex:0 0 30px;
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    background:#e9f2ff;
    color:#1f5eb8;
    font-size:10px;
    font-weight:800;
}

.cmi-editorial-example-list p{
    margin:2px 0 0;
}

.cmi-editorial-example-footer{
    margin-top:22px;
    padding-top:22px;
    border-top:1px solid #e5ebf3;
}

.cmi-editorial-example-footer p{
    margin:0;
    color:#172b4d;
    font-weight:600;
}


/* =========================================
   MATCHED TO BRIEF
========================================= */

.cmi-editorial-match{
    display:grid;
    grid-template-columns:75px 1fr;
    gap:28px;
    align-items:start;
    margin-top:90px;
    padding:45px;
    border-radius:22px;
    background:#172b4d;
}

.cmi-editorial-match-number{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:15px;
    background:#1f5eb8;
    color:#fff;
    font-size:13px;
    font-weight:800;
}

.cmi-editorial-match .cmi-editorial-kicker{
    color:#8bbcff;
}

.cmi-editorial-match h2{
    color:#fff;
}

.cmi-editorial-match p{
    margin:0 0 16px;
    color:#cbd7e7;
}

.cmi-editorial-match p:last-child{
    margin-bottom:0;
}


/* =========================================
   RESPONSIBILITY
========================================= */

.cmi-editorial-responsibility{
    margin-top:90px;
    padding:38px;
    border:1px solid #e1e9f3;
    border-radius:21px;
    background:#fff;
    box-shadow:0 10px 35px rgba(23,43,77,.055);
}

.cmi-editorial-responsibility-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding-bottom:27px;
    border-bottom:1px solid #e7edf4;
}

.cmi-editorial-responsibility-top h2{
    margin-bottom:0;
}

.cmi-editorial-company-badge{
    padding:11px 15px;
    border-radius:9px;
    background:#edf4ff;
    color:#1f5eb8;
    font-size:11px;
    font-weight:800;
    letter-spacing:.8px;
}

.cmi-editorial-company-content{
    padding-top:27px;
}

.cmi-editorial-company-content > p{
    margin:0 0 25px;
}

.cmi-editorial-company-content a{
    color:#1f5eb8;
    font-weight:700;
    text-decoration:none;
}

.cmi-editorial-company-content a:hover{
    text-decoration:underline;
}

.cmi-editorial-placeholder{
    display:flex;
    align-items:flex-start;
    gap:17px;
    padding:22px;
    border:1px dashed #cbd8e8;
    border-radius:14px;
    background:#fafcff;
}

.cmi-editorial-placeholder-icon{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#fff4e5;
}

.cmi-editorial-placeholder-icon svg{
    width:21px;
    height:21px;
    fill:#b76a00;
}

.cmi-editorial-placeholder strong{
    display:block;
    margin-bottom:8px;
    color:#172b4d;
    font-size:12px;
    letter-spacing:.4px;
}

.cmi-editorial-placeholder p{
    margin:0 0 10px;
}

.cmi-editorial-placeholder p:last-child{
    margin-bottom:0;
}


/* =========================================
   HOW IT WORKS
========================================= */

.cmi-editorial-work{
    margin-top:90px;
}

.cmi-editorial-work-heading{
    margin-bottom:30px;
}

.cmi-editorial-work-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:12px;
}

.cmi-editorial-work-card{
    position:relative;
    padding:25px 20px;
    border:1px solid #e1e9f3;
    border-radius:15px;
    background:#fbfdff;
}

.cmi-editorial-work-card > span{
    display:flex;
    width:35px;
    height:35px;
    align-items:center;
    justify-content:center;
    margin-bottom:20px;
    border-radius:9px;
    background:#1f5eb8;
    color:#fff;
    font-size:11px;
    font-weight:800;
}

.cmi-editorial-work-card h3{
    margin:0 0 10px;
    color:#172b4d;
    font-size:16px;
    line-height:1.4;
}

.cmi-editorial-work-card p{
    margin:0;
    font-size:14px;
    line-height:1.7;
}


/* =========================================
   FEES
========================================= */

.cmi-editorial-fees{
    margin-top:90px;
    padding:55px;
    border-radius:24px;
    background:#f7faff;
    border:1px solid #e2eaf4;
}

.cmi-editorial-fees-heading{
    max-width:850px;
    margin-bottom:35px;
}

.cmi-editorial-fees-heading p{
    margin:0;
}

.cmi-editorial-fees-content{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:35px;
}

.cmi-editorial-fees-list > strong{
    display:block;
    margin-bottom:17px;
    color:#172b4d;
    font-size:18px;
}

.cmi-editorial-fee-item{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:13px 0;
    border-bottom:1px solid #e2e9f1;
}

.cmi-editorial-fee-item span{
    flex:0 0 27px;
    width:27px;
    height:27px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:7px;
    background:#eaf2ff;
    color:#1f5eb8;
    font-size:9px;
    font-weight:800;
}

.cmi-editorial-fee-item p{
    margin:2px 0 0;
}

.cmi-editorial-fees-side > p{
    margin:0 0 20px;
}

.cmi-editorial-quote-box{
    padding:28px;
    border-radius:17px;
    background:#172b4d;
}

.cmi-editorial-quote-box .cmi-editorial-kicker{
    color:#8bbcff;
}

.cmi-editorial-quote-box h3{
    margin:0 0 9px;
    color:#fff;
    font-size:23px;
}

.cmi-editorial-quote-box p{
    margin:0 0 22px;
    color:#cbd7e7;
    font-size:14px;
}

.cmi-editorial-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

.cmi-editorial-btn{
    display:inline-flex;
    min-height:44px;
    align-items:center;
    justify-content:center;
    padding:0 15px;
    border-radius:8px;
    font-size:12px;
    font-weight:700;
    text-decoration:none;
}

.cmi-editorial-btn-primary{
    background:#1f5eb8;
    color:#fff;
}

.cmi-editorial-btn-secondary{
    background:#fff;
    color:#172b4d;
}


/* =========================================
   INCLUDES
========================================= */

.cmi-editorial-includes{
    margin-top:90px;
}

.cmi-editorial-includes-heading{
    margin-bottom:30px;
}

.cmi-editorial-includes-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px;
}

.cmi-editorial-include{
    display:flex;
    align-items:flex-start;
    gap:15px;
    padding:20px;
    border:1px solid #e1e9f3;
    border-radius:14px;
    background:#fff;
}

.cmi-editorial-include span{
    flex:0 0 34px;
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    background:#eaf2ff;
    color:#1f5eb8;
    font-size:10px;
    font-weight:800;
}

.cmi-editorial-include p{
    margin:3px 0 0;
}

.cmi-editorial-disclaimer{
    display:flex;
    gap:17px;
    margin-top:25px;
    padding:25px;
    border-radius:15px;
    background:#f3f6f9;
    border:1px solid #e0e6ed;
}

.cmi-editorial-disclaimer-icon{
    flex:0 0 43px;
    width:43px;
    height:43px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    background:#172b4d;
}

.cmi-editorial-disclaimer-icon svg{
    width:21px;
    height:21px;
    fill:#fff;
}

.cmi-editorial-disclaimer strong{
    display:block;
    margin-bottom:5px;
    color:#172b4d;
}

.cmi-editorial-disclaimer p{
    margin:0;
}


/* =========================================
   RESPONSIVE
========================================= */

@media(max-width:900px){

    .cmi-editorial-work-grid{
        grid-template-columns:1fr 1fr;
    }

    .cmi-editorial-fees-content{
        grid-template-columns:1fr;
    }

}

@media(max-width:700px){

    .cmi-editorial-section{
        padding:60px 15px;
    }

    .cmi-editorial-section h2{
        font-size:29px;
    }

    .cmi-editorial-check-grid,
    .cmi-editorial-example-list,
    .cmi-editorial-includes-grid{
        grid-template-columns:1fr;
    }

    .cmi-editorial-example,
    .cmi-editorial-fees{
        padding:28px 18px;
        border-radius:19px;
    }

    .cmi-editorial-match{
        grid-template-columns:1fr;
        padding:28px 20px;
        border-radius:19px;
    }

    .cmi-editorial-match-number{
        width:48px;
        height:48px;
    }

    .cmi-editorial-responsibility{
        padding:25px 18px;
    }

    .cmi-editorial-responsibility-top{
        align-items:flex-start;
        flex-direction:column;
    }

    .cmi-editorial-work-grid{
        grid-template-columns:1fr;
    }

    .cmi-editorial-placeholder,
    .cmi-editorial-disclaimer,
    .cmi-editorial-language-note{
        align-items:flex-start;
    }

    .cmi-editorial-buttons{
        flex-direction:column;
    }

    .cmi-editorial-btn{
        width:100%;
    }

}
/* ===== CMI BRIEF REVIEW SECTION ===== */

.cmi-brief-review-wrap {
    position: relative;
    padding: 80px 20px 35px;
    background: #f7faff;
    overflow: hidden;
}

.cmi-brief-review-wrap *,
.cmi-brief-review-wrap *::before,
.cmi-brief-review-wrap *::after {
    box-sizing: border-box;
}

.cmi-brief-review-wrap::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(31, 94, 184, 0.055);
    top: -210px;
    right: -140px;
}

.cmi-brief-review-wrap::after {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: rgba(31, 94, 184, 0.04);
    bottom: -150px;
    left: -100px;
}

.cmi-brief-review-container {
    position: relative;
    z-index: 2;
    max-width: 1180px;
    margin: 0 auto;
}


/* ===== MAIN CTA ===== */

.cmi-brief-review-card {
    position: relative;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 55px;
    padding: 58px;
    border-radius: 26px;
    background: #ffffff;
    border: 1px solid #e4ebf5;
    box-shadow: 0 22px 65px rgba(23, 43, 77, 0.10);
    overflow: hidden;
}

.cmi-brief-review-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 7px;
    height: 100%;
    background: #1f5eb8;
}

.cmi-brief-review-content {
    position: relative;
}

.cmi-brief-review-label {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    color: #1f5eb8;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.cmi-brief-review-label svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
}

.cmi-brief-review-title {
    margin: 0 0 19px;
    color: #172b4d;
    font-size: clamp(32px, 4vw, 46px);
    line-height: 1.12;
    font-weight: 750;
    letter-spacing: -1px;
}

.cmi-brief-review-text {
    max-width: 720px;
    margin: 0;
    color: #5d6b7e;
    font-size: 17px;
    line-height: 1.75;
}


/* ===== START WITH BRIEF CARD ===== */

.cmi-brief-start-box {
    position: relative;
    align-self: center;
    padding: 30px;
    border-radius: 20px;
    background: linear-gradient(145deg, #172b4d, #1f5eb8);
    color: #ffffff;
    box-shadow: 0 18px 40px rgba(31, 94, 184, 0.20);
    overflow: hidden;
}

.cmi-brief-start-box::after {
    content: "";
    position: absolute;
    width: 160px;
    height: 160px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    right: -70px;
    top: -65px;
}

.cmi-brief-start-icon {
    position: relative;
    z-index: 2;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 21px;
    border-radius: 14px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(255,255,255,.16);
}

.cmi-brief-start-icon svg {
    width: 24px;
    height: 24px;
}

.cmi-brief-start-title {
    position: relative;
    z-index: 2;
    margin: 0 0 12px;
    color: #ffffff;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
}

.cmi-brief-start-text {
    position: relative;
    z-index: 2;
    margin: 0;
    color: rgba(255,255,255,.84);
    font-size: 15px;
    line-height: 1.7;
}


/* ===== BUTTONS ===== */

.cmi-brief-review-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 31px;
}

.cmi-brief-review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 50px;
    padding: 0 23px;
    border-radius: 11px;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 700;
    transition: all .25s ease;
}

.cmi-brief-review-btn svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

.cmi-brief-review-btn-primary {
    color: #ffffff !important;
    background: #1f5eb8;
    box-shadow: 0 9px 22px rgba(31,94,184,.20);
}

.cmi-brief-review-btn-primary:hover {
    color: #ffffff !important;
    background: #174d9b;
    transform: translateY(-2px);
    box-shadow: 0 13px 27px rgba(31,94,184,.25);
}

.cmi-brief-review-btn-whatsapp {
    color: #172b4d !important;
    background: #ffffff;
    border: 1px solid #dbe4ef;
}

.cmi-brief-review-btn-whatsapp:hover {
    color: #1f5eb8 !important;
    border-color: #1f5eb8;
    transform: translateY(-2px);
}


/* ===== INTEGRITY NOTICE ===== */

.cmi-brief-integrity {
    margin-top: 28px;
    padding: 37px 42px;
    border-radius: 21px;
    background: #ffffff;
    border: 1px solid #e2e9f2;
    box-shadow: 0 12px 38px rgba(23,43,77,.055);
}

.cmi-brief-integrity-head {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 22px;
}

.cmi-brief-integrity-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #edf4ff;
    color: #1f5eb8;
}

.cmi-brief-integrity-icon svg {
    width: 23px;
    height: 23px;
}

.cmi-brief-integrity-title {
    margin: 0;
    color: #172b4d;
    font-size: 25px;
    line-height: 1.3;
    font-weight: 720;
}

.cmi-brief-integrity-body {
    color: #5d6b7e;
    font-size: 15px;
    line-height: 1.82;
}

.cmi-brief-integrity-body p {
    margin: 0 0 17px;
}

.cmi-brief-integrity-body p:last-child {
    margin-bottom: 0;
}

.cmi-brief-integrity-body a {
    color: #1f5eb8;
    font-weight: 650;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.cmi-brief-integrity-body a:hover {
    color: #174d9b;
}


/* ===== REVIEWED LINE ===== */

.cmi-brief-reviewed {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 25px;
    padding: 19px 23px;
    border-radius: 13px;
    background: #f7faff;
    border: 1px solid #e4ebf5;
    color: #5d6b7e;
    font-size: 14px;
    line-height: 1.65;
}

.cmi-brief-reviewed svg {
    width: 21px;
    height: 21px;
    min-width: 21px;
    color: #1f5eb8;
}


/* ===== MOBILE ===== */

@media (max-width: 900px) {

    .cmi-brief-review-card {
        grid-template-columns: 1fr;
        gap: 35px;
        padding: 42px 35px;
    }

    .cmi-brief-start-box {
        max-width: 100%;
    }

}

@media (max-width: 600px) {

    .cmi-brief-review-wrap {
        padding: 55px 15px 25px;
    }

    .cmi-brief-review-card {
        padding: 34px 25px;
        border-radius: 20px;
    }

    .cmi-brief-review-title {
        font-size: 31px;
        letter-spacing: -.5px;
    }

    .cmi-brief-review-text {
        font-size: 15px;
        line-height: 1.7;
    }

    .cmi-brief-review-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .cmi-brief-review-btn {
        width: 100%;
    }

    .cmi-brief-start-box {
        padding: 26px;
    }

    .cmi-brief-integrity {
        padding: 28px 23px;
        border-radius: 18px;
    }

    .cmi-brief-integrity-head {
        gap: 13px;
    }

    .cmi-brief-integrity-title {
        font-size: 21px;
    }

    .cmi-brief-integrity-body {
        font-size: 14px;
        line-height: 1.75;
    }

    .cmi-brief-reviewed {
        align-items: flex-start;
        padding: 17px;
        font-size: 13px;
    }

}
 



/* =========================================
   CMI ASSIGNMENTS FOOTER
========================================= */

.cmi-footer {
    position: relative;
    background: #111815;
    color: #fff;
    overflow: hidden;
}


/* subtle background effect */

.cmi-footer::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -180px;
    top: -220px;
    border-radius: 50%;
    background: rgba(111, 154, 124, 0.08);
    pointer-events: none;
}

.cmi-footer::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    left: -150px;
    bottom: -180px;
    border-radius: 50%;
    background: rgba(111, 154, 124, 0.05);
    pointer-events: none;
}


/* Main Footer */

.cmi-footer-main {
    position: relative;
    z-index: 1;
    padding: 75px 0 55px;
}


/* Brand */

.cmi-footer-brand {
    max-width: 370px;
}

.cmi-footer-logo {
    display: inline-block;
    color: #ffffff;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    letter-spacing: -0.7px;
    margin-bottom: 22px;
}

.cmi-footer-logo span {
    color: #86b596;
    font-weight: 600;
}

.cmi-footer-logo:hover {
    color: #ffffff;
}

.cmi-footer-text {
    margin: 0;
    color: #aeb8b2;
    font-size: 16px;
    line-height: 1.85;
}


/* Social Icons */

.cmi-footer-socials {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 25px;
}

.cmi-footer-socials a {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 9px;

    color: #c9d2cc;
    text-decoration: none;

    transition: all 0.25s ease;
}

.cmi-footer-socials svg {
    width: 16px;
    height: 16px;

    fill: currentColor;
    stroke: none;
}

.cmi-footer-socials a:hover {
    background: #86b596;
    border-color: #86b596;
    color: #111815;
    transform: translateY(-3px);
}
.cmi-contact-icon svg {
    width: 14px;
    height: 14px;
    display: block;
    fill: currentColor;
}

/* Footer Columns */

.cmi-footer-column h3 {
    position: relative;

    margin: 0 0 22px;

    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
}

.cmi-footer-column h3::after {
    content: "";

    display: block;

    width: 28px;
    height: 2px;

    margin-top: 9px;

    background: #86b596;
    border-radius: 5px;
}


.cmi-footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.cmi-footer-column ul li {
    margin-bottom: 11px;
}

.cmi-footer-column ul li a {
    display: inline-block;

    color: #aeb8b2;
    font-size: 13.5px;
    line-height: 1.5;

    text-decoration: none;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.cmi-footer-column ul li a:hover {
    color: #86b596;
    transform: translateX(3px);
}


/* Contact */

.cmi-footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.cmi-contact-icon {
    flex: 0 0 28px;

    width: 28px;
    height: 28px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 7px;

    background: rgba(134, 181, 150, 0.10);
    color: #86b596;

    font-size: 11px;
}

.cmi-footer-contact li > a,
.cmi-footer-contact li > span:last-child {
    padding-top: 4px;
}


/* Bottom */

.cmi-footer-bottom {
    position: relative;
    z-index: 2;

    border-top: 1px solid rgba(255,255,255,0.08);
}

.cmi-footer-bottom-inner {
    min-height: 68px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.cmi-footer-bottom p {
    margin: 0;

    color: #8f9b94;
    font-size: 12.5px;
}

.cmi-footer-note {
    color: #7f8b84 !important;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .cmi-footer-main {
        padding: 60px 0 40px;
    }

    .cmi-footer-brand {
        max-width: 500px;
    }

}


@media (max-width: 767px) {

    .cmi-footer-main {
        padding: 50px 0 30px;
    }

    .cmi-footer-brand {
        max-width: 100%;
        margin-bottom: 15px;
    }

    .cmi-footer-column {
        margin-top: 15px;
    }

    .cmi-footer-bottom-inner {
        min-height: auto;

        padding: 18px 0;

        flex-direction: column;
        align-items: flex-start;

        gap: 6px;
    }

}


@media (max-width: 575px) {

    .cmi-footer-logo {
        font-size: 25px;
    }

    .cmi-footer-text {
        font-size: 13.5px;
    }

    .cmi-footer-column h3 {
        margin-bottom: 17px;
    }

}
.cmi-footer .row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -12px;
    margin-right: -12px;
}

.cmi-footer .row > [class*="col-"] {
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
}


/* Desktop */

.cmi-footer .col-lg-4 {
    width: 33.333333%;
}

.cmi-footer .col-lg-2 {
    width: 16.666667%;
}


/* Tablet */

@media (max-width: 991px) {

    .cmi-footer .col-md-6 {
        width: 50%;
    }

}


/* Mobile */

@media (max-width: 767px) {

    .cmi-footer .col-md-6,
    .cmi-footer .col-lg-4,
    .cmi-footer .col-lg-2 {
        width: 100%;
    }

}


/* IMPORTANT */

.cmi-footer .col-lg-4,
.cmi-footer .col-lg-2,
.cmi-footer .col-md-6 {
    position: relative;
    min-height: 1px;
    box-sizing: border-box;
}
.inner-page-hero {
    position: relative;
    width: 100%;
    padding: 55px 0 58px;

    background: linear-gradient(
        135deg,
        var(--navy-dark) 0%,
        var(--navy) 55%,
        #102451 100%
    );

    overflow: hidden;
}


/* Subtle background decoration */
.inner-page-hero::before {
    content: "";
    position: absolute;

    width: 420px;
    height: 420px;

    top: -280px;
    right: -100px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.035);

    pointer-events: none;
}

.inner-page-hero::after {
    content: "";
    position: absolute;

    width: 300px;
    height: 300px;

    bottom: -220px;
    left: -100px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.025);

    pointer-events: none;
}


/* Content */
.inner-page-hero-content {
    position: relative;
    z-index: 2;

    text-align: center;
}


/* Heading */
.inner-page-hero h1 {
    margin: 0 0 12px;

    color: #fff;

    font-size: clamp(32px, 4vw, 46px);
    font-weight: 700;
    line-height: 1.2;

    letter-spacing: -0.5px;
}


/* Breadcrumb */
.inner-page-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    font-size: 16px;
    line-height: 1.5;
}


.inner-page-breadcrumb a {
    color: rgba(255, 255, 255, 0.68);
    text-decoration: none;

    transition: color 0.2s ease;
}


.inner-page-breadcrumb a:hover {
    color: #fff;
}


.inner-page-breadcrumb span {
    color: rgba(255, 255, 255, 0.38);
}


.inner-page-breadcrumb span:last-child {
    color: #fff;
    font-weight: 600;
}


/* Mobile */
@media (max-width: 767px) {

    .inner-page-hero {
        padding: 42px 0 45px;
    }

    .inner-page-hero h1 {
        font-size: 30px;
        margin-bottom: 10px;
    }

    .inner-page-breadcrumb {
        font-size: 13px;
    }

}