:root {
    --color-background: #ffffff;
    --color-text: #111111;
    --font-family-base: "Segoe UI", Arial, Helvetica, sans-serif;
    --font-size-base: 1rem;
    --line-height-base: 1.5;
    --container-max-width: 1200px;
    --container-padding: clamp(18px, 3vw, 32px);
    --color-navy: #102a43;
    --color-brand-blue: #1769aa;
    --color-brand-gold: #f4c542;
    --color-brand-gold-hover: #e8b72d;
    --color-header-border: #e8edf2;
    --color-surface: #ffffff;
    --color-surface-muted: #f4f7fb;
    --color-border: #dfe7f0;
    --color-cobalt: #0d5db8;
    --color-text-muted: #586b80;
    --color-navy-deep: #061b36;
    --shadow-card: 0 16px 40px rgba(16, 42, 67, 0.1);
    --shadow-soft: 0 10px 30px rgba(16, 42, 67, 0.08);
    --radius-card: 10px;
    --section-padding: clamp(64px, 7vw, 96px);
}

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

html {
    font-size: 100%;
    scroll-behavior: smooth;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
}

body {
    min-height: 100vh;
    overflow-x: hidden;
    background-color: var(--color-background);
    color: var(--color-text);
    font-family: var(--font-family-base);
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
}

img,
picture,
svg,
canvas {
    display: block;
    max-width: 100%;
}

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

button,
a {
    -webkit-tap-highlight-color: transparent;
}

button {
    cursor: pointer;
}

a {
    color: inherit;
}

input,
select,
textarea {
    min-width: 0;
}

::selection {
    color: var(--color-navy-deep);
    background: var(--color-brand-gold);
}

.container {
    width: 100%;
    max-width: var(--container-max-width);
    margin-inline: auto;
    padding-inline: var(--container-padding);
}

.section-divider {
    width: min(860px, 82%);
    height: 1px;
    margin: 0 auto;
    background: linear-gradient(90deg, transparent, rgba(30, 87, 180, 0.14), rgba(214, 170, 60, 0.2), rgba(30, 87, 180, 0.14), transparent);
}

[hidden] {
    display: none !important;
}

.skip-link {
    position: fixed;
    z-index: 2000;
    top: 0;
    left: 50%;
    padding: 10px 14px;
    color: var(--color-navy-deep);
    background: var(--color-brand-gold);
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 800;
    text-decoration: none;
    transform: translate(-50%, -150%);
    transition: transform 160ms ease;
}

.skip-link:focus,
.skip-link:focus-visible {
    transform: translate(-50%, 8px);
}

/* Header */
.site-header {
    position: relative;
    z-index: 1000;
    width: 100%;
    background-color: #ffffff;
    border-bottom: 1px solid var(--color-header-border);
    box-shadow: 0 2px 10px rgba(16, 42, 67, 0.04);
}

.site-header__inner {
    display: flex;
    align-items: center;
    min-height: 74px;
}

.site-header__brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    margin-right: 0;
    overflow: visible;
}

.site-header__logo {
    display: block;
    width: 255px;
    height: auto;
    max-width: 100%;
    object-fit: contain;
}

.site-header__navigation {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-left: auto;
}

.site-header__nav {
    display: block;
}

.site-header__nav-list {
    display: flex;
    align-items: center;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-header__nav-link {
    color: var(--color-navy);
    font-size: 0.90625rem;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    transition: color 180ms ease;
}

.site-header__nav-link:hover {
    color: var(--color-brand-blue);
}

.site-header__cta {
    flex: 0 0 auto;
    padding: 12px 24px;
    color: var(--color-navy);
    background-color: var(--color-brand-gold);
    border-radius: 5px;
    box-shadow: 0 2px 6px rgba(16, 42, 67, 0.1);
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.site-header__cta:hover {
    background-color: var(--color-brand-gold-hover);
    box-shadow: 0 4px 10px rgba(16, 42, 67, 0.14);
    transform: translateY(-1px);
}

.site-header__menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    margin-left: auto;
    padding: 0;
    color: var(--color-navy);
    background: transparent;
    border: 0;
    cursor: pointer;
}

.site-header__menu-icon {
    position: relative;
    display: block;
    width: 24px;
    height: 18px;
    margin: auto;
}

.site-header__menu-icon span {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background-color: currentColor;
    border-radius: 2px;
    transition: transform 180ms ease, opacity 180ms ease, top 180ms ease;
}

.site-header__menu-icon span:nth-child(1) {
    top: 0;
}

.site-header__menu-icon span:nth-child(2) {
    top: 8px;
}

.site-header__menu-icon span:nth-child(3) {
    top: 16px;
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-icon span:nth-child(1) {
    top: 8px;
    transform: rotate(45deg);
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-icon span:nth-child(2) {
    opacity: 0;
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-icon span:nth-child(3) {
    top: 8px;
    transform: rotate(-45deg);
}

.site-header a:focus-visible,
.site-header button:focus-visible {
    outline: 3px solid var(--color-brand-gold);
    outline-offset: 3px;
}

@media (max-width: 1100px) and (min-width: 1024px) {
    .site-header__navigation {
        gap: 20px;
    }

    .site-header__nav-list {
        gap: 18px;
    }
}

@media (max-width: 1023px) {
    .site-header__inner {
        min-height: 68px;
    }

    .site-header__brand {
        margin-right: 47px;
    }

    .site-header__logo {
        width: 185px;
        transform: scale(1.25);
    }

    .site-header__menu-toggle {
        display: block;
    }

    .site-header__navigation {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        display: flex;
        visibility: hidden;
        flex-direction: column;
        align-items: stretch;
        gap: 18px;
        margin-left: 0;
        padding: 14px var(--container-padding) 20px;
        background-color: #ffffff;
        border-top: 1px solid var(--color-header-border);
        border-bottom: 1px solid var(--color-header-border);
        box-shadow: 0 10px 20px rgba(16, 42, 67, 0.1);
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px);
        transition: visibility 180ms ease, opacity 180ms ease, transform 180ms ease;
    }

    .site-header__navigation.is-open {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
    }

    .site-header__nav-list {
        display: block;
    }

    .site-header__nav-link {
        display: block;
        padding: 11px 0;
        border-bottom: 1px solid var(--color-header-border);
        font-size: 0.9375rem;
    }

    .site-header__cta {
        display: block;
        align-self: stretch;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .site-header__brand {
        padding-left: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header__nav-link,
    .site-header__cta,
    .site-header__navigation,
    .site-header__menu-icon span {
        transition: none;
    }
}

/* Final polish overrides */
.site-header {
    border-bottom-color: rgba(20, 87, 199, 0.1);
    box-shadow: 0 3px 14px rgba(7, 31, 79, 0.045);
}

.site-header__inner { min-height: 72px; }
.site-header__navigation { gap: 30px; }
.site-header__nav-list { gap: 22px; }
.site-header__cta { min-height: 44px; padding: 12px 22px; border-radius: 7px; box-shadow: 0 6px 14px rgba(7, 31, 79, 0.1); }

.button { min-height: 48px; padding: 13px 22px; border-radius: 7px; font-size: 0.82rem; letter-spacing: 0.025em; }
.section-heading { max-width: 740px; }
.section-heading h2 { font-size: clamp(2rem, 3.1vw, 2.55rem); line-height: 1.18; }
.section-heading p { max-width: 720px; margin-inline: auto; font-size: clamp(0.94rem, 1.2vw, 1rem); line-height: 1.68; }

.hero {
    background-image: radial-gradient(circle at 84% 16%, rgba(30, 102, 229, 0.4), transparent 27%), radial-gradient(circle at 73% 86%, rgba(20, 87, 199, 0.28), transparent 35%), linear-gradient(118deg, #071f4f 0%, #0a3373 56%, #1457c7 100%);
}
.hero__container { min-height: 620px; padding-block: 66px; }
.hero__eyebrow { color: #ffffff; font-size: 0.75rem; letter-spacing: 0.15em; }
.hero__title { font-size: clamp(2.35rem, 3.8vw, 3.35rem); line-height: 1.1; }
.hero__description { max-width: 610px; font-size: 1rem; line-height: 1.72; }
.hero__support-list { gap: 13px; }
.lead-form { padding: 28px; border: 1px solid rgba(20, 87, 199, 0.14); border-top: 3px solid var(--color-brand-gold); border-radius: 12px; box-shadow: 0 22px 46px rgba(3, 18, 41, 0.22); }
.lead-form__field { margin-top: 13px; }
.lead-form__field label { color: var(--color-navy); font-size: 0.76rem; font-weight: 750; }
.lead-form__field input { height: 44px; border-color: rgba(20, 87, 199, 0.18); border-radius: 6px; }
.lead-form__submit { min-height: 48px; margin-top: 12px; }

.trust-strip__grid { column-gap: 10px; }
.trust-strip__item svg { width: 36px; height: 36px; }
.trust-strip__item p { font-size: clamp(0.95rem, 1.12vw, 1.02rem); }

.franchise-glance__card, .partner-card, .course-card, .journey-card, .comparison-card { border-radius: 12px; box-shadow: var(--shadow-card); }
.franchise-glance__card { min-height: 244px; padding: 28px; }
.franchise-glance__icon { width: 44px; height: 44px; padding: 8px; background: rgba(244, 197, 66, 0.08); border: 1px solid rgba(244, 197, 66, 0.2); border-radius: 10px; }
.partner-card { min-height: 224px; padding: 28px; }
.partner-card__icon, .course-card__icon { width: 44px; height: 44px; padding: 8px; background: #eaf3ff; border: 1px solid rgba(20, 87, 199, 0.13); border-radius: 10px; }
.partner-card p, .course-card p, .journey-card p { font-size: 0.875rem; }
.partner-card:hover { background: #f5f9ff; }

.franchise-package { padding-block: var(--section-padding); }
.franchise-package .section-heading { margin-bottom: clamp(38px, 4vw, 52px); }
.franchise-package__benefits, .franchise-cta-card { min-height: 468px; }
.franchise-package__benefits { padding: clamp(30px, 3vw, 38px); box-shadow: var(--shadow-card); }
.franchise-cta-card { box-shadow: 0 18px 40px rgba(7, 31, 79, 0.2); }

.course-card { min-height: 220px; padding: 30px 22px; }
.course-card p { min-height: 2.8em; }
.credibility-stat { min-height: 132px; padding-block: 22px; }
.credibility-stat strong { font-size: clamp(2rem, 3vw, 2.65rem); }

.journey__grid::before { background: linear-gradient(90deg, rgba(20, 87, 199, 0.55), var(--color-brand-gold), rgba(20, 87, 199, 0.55)); }
.journey-card { min-height: 230px; padding: 88px 25px 28px; }
.journey-card__number { width: 66px; height: 66px; background: var(--color-brand-gold); }

.comparison-table-wrap { box-shadow: 0 14px 32px rgba(7, 31, 79, 0.09); }
.comparison-table th, .comparison-table td { border-bottom-color: rgba(20, 87, 199, 0.16); }

.faq-section__grid { grid-template-columns: minmax(0, 2.15fr) minmax(270px, 1fr); gap: 28px; }
.faq__item { border-color: rgba(20, 87, 199, 0.12); border-radius: 10px; box-shadow: 0 8px 20px rgba(3, 18, 41, 0.1); }
.faq__question { min-height: 76px; padding: 20px; font-size: 0.9rem; }
.faq__question[aria-expanded="true"] { color: var(--color-brand-blue); background: #f5f9ff; }
.faq__answer { padding: 0 20px 20px; font-size: 0.86rem; }
.expert-card { padding: 34px 30px; box-shadow: 0 18px 40px rgba(3, 18, 41, 0.28); }

.final-cta__inner { padding-block: clamp(78px, 7vw, 94px); }
.final-cta__content { max-width: 780px; }
.final-cta__content h2 { font-size: clamp(2.1rem, 3.8vw, 3.1rem); }

@media (max-width: 1199px) {
    .hero__container { min-height: 600px; gap: clamp(28px, 4vw, 48px); }
    .franchise-package__benefits, .franchise-cta-card { min-height: 0; }
}

@media (max-width: 767px) {
    :root { --section-padding: 56px; }
    .site-header__inner { min-height: 68px; }
    .site-header__brand { margin-right: 29px; }
    .site-header__logo { width: 145px; transform: scale(1.2); }
    .hero__container { min-height: auto; padding-block: 54px; }
    .hero__title { font-size: clamp(2.1rem, 9vw, 2.8rem); }
    .lead-form { padding: 24px 20px; }
    .section-heading h2 { font-size: clamp(1.75rem, 7.5vw, 2.15rem); }
    .franchise-glance__card, .partner-card, .course-card, .journey-card { min-height: 0; padding: 25px 22px; }
    .course-card p { min-height: 0; }
    .faq__question { min-height: 72px; padding: 18px; }
    .expert-card { padding: 30px 24px; }
    .final-cta__inner { padding-block: 68px; }
}

@media (max-width: 520px) {
    .button, .hero__button, .final-cta__button { min-height: 46px; }
    .section-divider { width: min(860px, 84%); }
}

@media (prefers-reduced-motion: reduce) {
    .button, .franchise-glance__card, .partner-card, .course-card, .journey-card, .franchise-cta-card { transition: none; }
}

/* Kept visually and programmatically out of the enquiry flow; PHP rejects any filled value. */
.lead-form__honeypot {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Phase 10A franchise enquiry form */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.lead-form { width: min(100%, 420px); padding: 28px; background: #fff; border: 1px solid rgba(20, 87, 199, .13); border-top: 4px solid var(--color-brand-gold); border-radius: 12px; box-shadow: 0 22px 52px rgba(3, 18, 41, .24); }
.lead-form__heading { margin-bottom: 18px; text-align: center; }
.lead-form__heading h2 { color: var(--color-navy-deep); font-size: 1.32rem; font-weight: 800; line-height: 1.2; }
.lead-form__heading p { margin-top: 6px; color: var(--color-text-muted); font-size: .82rem; line-height: 1.45; }
.lead-form__progress { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 18px; padding: 0; list-style: none; }
.lead-form__progress li { position: relative; display: flex; align-items: center; gap: 7px; color: #7890ad; font-size: .7rem; font-weight: 750; line-height: 1.2; }
.lead-form__progress li + li::before { position: absolute; top: 14px; right: calc(100% - 2px); width: 18px; height: 2px; background: #dbe8f6; content: ""; }
.lead-form__progress li span { position: relative; z-index: 1; display: grid; width: 28px; height: 28px; place-items: center; color: #6d87a5; background: #eaf3fc; border-radius: 50%; font-size: .75rem; }
.lead-form__progress li.is-active, .lead-form__progress li.is-complete { color: var(--color-brand-blue); }
.lead-form__progress li.is-active span, .lead-form__progress li.is-complete span { color: #fff; background: var(--color-brand-blue); }
.lead-form__progress li.is-complete + li::before { background: var(--color-brand-blue); }
.lead-form__field { margin-top: 13px; }
.lead-form__field label, .lead-form__association legend { display: block; margin-bottom: 6px; color: var(--color-navy); font-size: .76rem; font-weight: 750; line-height: 1.4; }
.lead-form__field input, .lead-form__field select { width: 100%; min-height: 44px; padding: 10px 11px; color: var(--color-navy-deep); background: #fbfdff; border: 1px solid #cbd9e8; border-radius: 6px; outline: 0; font-size: .86rem; }
.lead-form__field select { cursor: pointer; }
.lead-form__field input:focus, .lead-form__field select:focus { border-color: var(--color-brand-blue); box-shadow: 0 0 0 3px rgba(20, 87, 199, .12); }
.lead-form__field [aria-invalid="true"] { border-color: #bd2c2c; }
.lead-form__error { display: block; min-height: 15px; margin-top: 4px; color: #b42318; font-size: .68rem; line-height: 1.3; }
.lead-form__association { margin: 17px 0 0; padding: 0; border: 0; }
.lead-form__radio-group { display: flex; gap: 10px; }
.lead-form__radio-group label { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 8px 13px; color: var(--color-navy); background: #f7faff; border: 1px solid rgba(20, 87, 199, .14); border-radius: 6px; font-size: .84rem; font-weight: 700; cursor: pointer; }
.lead-form__radio-group input { width: 16px; height: 16px; accent-color: var(--color-brand-blue); }
.lead-form__conditional { overflow: hidden; margin-top: 10px; transition: opacity 180ms ease, transform 180ms ease; }
.lead-form__conditional[hidden] { display: none; }
.lead-form__info { display: flex; align-items: flex-start; gap: 8px; margin-top: 14px; padding: 11px 12px; color: var(--color-brand-blue); background: #eaf3ff; border: 1px solid rgba(20, 87, 199, .14); border-radius: 7px; font-size: .8rem; font-weight: 700; line-height: 1.45; }
.lead-form__info svg { flex: 0 0 auto; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; }
.lead-form__continue, .lead-form__submit { width: 100%; margin-top: 14px; }
.lead-form__actions { display: grid; grid-template-columns: .72fr 1.28fr; gap: 10px; margin-top: 16px; }
.lead-form__back { color: var(--color-navy); background: #f5f8fc; border-color: rgba(20, 87, 199, .18); }
.lead-form__consent { margin-top: 13px; color: #718296; font-size: .66rem; line-height: 1.45; text-align: center; }
.lead-form__consent p + p { margin-top: 5px; }
.lead-form__status { min-height: 0; margin: 0 0 8px; color: #b42318; font-size: .72rem; line-height: 1.4; text-align: center; }
.lead-form__status:empty { display: none; }
.lead-form__submit:disabled { cursor: wait; opacity: .78; }
.lead-form--success { width: min(100%, 490px); }
.lead-success { position: relative; overflow: hidden; text-align: center; }
.lead-success::before, .lead-success::after { position: absolute; width: 68px; height: 68px; border: 10px solid rgba(20, 87, 199, .08); border-radius: 50%; content: ""; pointer-events: none; }
.lead-success::before { top: -34px; left: -30px; }.lead-success::after { right: -34px; bottom: 88px; border-color: rgba(242, 185, 43, .18); }
.lead-success__check { display: grid; width: 54px; height: 54px; margin: 0 auto 12px; place-items: center; color: #fff; background: #1a9a62; border-radius: 50%; box-shadow: 0 8px 18px rgba(26, 154, 98, .2); font-size: 1.7rem; font-weight: 800; }
.lead-success h2 { color: var(--color-navy-deep); font-size: 1.55rem; line-height: 1.2; }.lead-success > p { margin-top: 5px; color: var(--color-text-muted); font-size: .84rem; line-height: 1.45; }
.lead-success__ribbon { margin: 20px -28px 0; padding: 9px 14px; color: var(--color-navy-deep); background: var(--color-brand-gold); font-size: .76rem; font-weight: 800; letter-spacing: .07em; }
.lead-success__coupon { display: grid; grid-template-columns: 1fr 1fr; margin-top: 16px; overflow: hidden; text-align: left; background: #fff; border: 1px dashed rgba(20, 87, 199, .34); border-radius: 10px; }
.lead-success__coupon > div { display: grid; gap: 5px; padding: 18px; }.lead-success__coupon > div + div { background: #f4f8ff; border-left: 1px dashed rgba(20, 87, 199, .28); }
.lead-success__label { color: var(--color-text-muted); font-size: .66rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.lead-success__coupon strong { color: var(--color-navy-deep); font-size: 1.35rem; line-height: 1; }.lead-success__coupon span:last-child { color: var(--color-brand-blue); font-size: .73rem; font-weight: 750; }
.lead-success__regular { color: #78879a !important; font-size: .78rem !important; font-weight: 700; text-decoration: line-through; }.lead-success__coupon .lead-success__price { font-size: 1.7rem; }.lead-success__discount { color: #c62828 !important; }
.lead-success__valid { display: inline-block; margin-top: 13px; padding: 9px 12px; color: var(--color-brand-blue); background: #eaf3ff; border-radius: 6px; font-size: .8rem; }.lead-success__copy { width: 100%; margin-top: 13px; }.lead-success__note { margin-top: 13px; padding: 11px; color: #4e6683; background: #f3f8ff; border-radius: 7px; font-size: .72rem; line-height: 1.5; }
@media (max-width: 767px) { .lead-form { width: 100%; padding: 24px 20px; }.lead-success__ribbon { margin-inline: -20px; }.lead-success__coupon { grid-template-columns: 1fr; text-align: center; }.lead-success__coupon > div + div { border-top: 1px dashed rgba(20, 87, 199, .28); border-left: 0; }.lead-form__actions { grid-template-columns: 1fr; }.lead-form__back { order: 2; } }
@media (prefers-reduced-motion: reduce) { .lead-form__conditional { transition: none; } }

/* Full-page visual polish */
:root {
    --color-background: #f7f9fc;
    --color-text: #08254f;
    --color-navy: #08254f;
    --color-navy-deep: #071f4f;
    --color-brand-blue: #1457c7;
    --color-cobalt: #1e66e5;
    --color-brand-gold: #f2b92b;
    --color-brand-gold-hover: #dfa716;
    --color-surface-muted: #eef5ff;
    --color-text-muted: #5d6f89;
    --color-border: rgba(20, 87, 199, 0.12);
    --container-max-width: 1220px;
    --container-padding: clamp(18px, 2.5vw, 30px);
    --section-padding: clamp(64px, 6.8vw, 92px);
    --radius-card: 12px;
    --shadow-card: 0 8px 24px rgba(7, 31, 79, 0.07);
    --shadow-soft: 0 10px 28px rgba(7, 31, 79, 0.07);
}

body {
    color: var(--color-text);
}

.site-header {
    border-bottom-color: rgba(20, 87, 199, 0.1);
    box-shadow: 0 3px 14px rgba(7, 31, 79, 0.045);
}

.site-header__inner {
    min-height: 72px;
}

.site-header__navigation {
    gap: 30px;
}

.site-header__nav-list {
    gap: 22px;
}

.site-header__cta {
    min-height: 44px;
    padding: 12px 22px;
    border-radius: 7px;
    box-shadow: 0 6px 14px rgba(7, 31, 79, 0.1);
}

.button {
    min-height: 48px;
    padding: 13px 22px;
    border-radius: 7px;
    font-size: 0.82rem;
    letter-spacing: 0.025em;
}

.section-heading {
    max-width: 740px;
}

.section-heading h2 {
    font-size: clamp(2rem, 3.1vw, 2.55rem);
    line-height: 1.18;
}

.section-heading p {
    max-width: 720px;
    margin-inline: auto;
    font-size: clamp(0.94rem, 1.2vw, 1rem);
    line-height: 1.68;
}

.hero {
    background-image:
        radial-gradient(circle at 84% 16%, rgba(30, 102, 229, 0.4), transparent 27%),
        radial-gradient(circle at 73% 86%, rgba(20, 87, 199, 0.28), transparent 35%),
        linear-gradient(118deg, #071f4f 0%, #0a3373 56%, #1457c7 100%);
}

.hero__container {
    min-height: 620px;
    padding-block: 66px;
}

.hero__eyebrow {
    color: #ffffff;
    font-size: 0.75rem;
    letter-spacing: 0.15em;
}

.hero__title {
    font-size: clamp(2.35rem, 3.8vw, 3.35rem);
    line-height: 1.1;
}

.hero__description {
    max-width: 610px;
    font-size: 1rem;
    line-height: 1.72;
}

.hero__support-list {
    gap: 13px;
}

.lead-form {
    padding: 28px;
    border: 1px solid rgba(20, 87, 199, 0.14);
    border-top: 3px solid var(--color-brand-gold);
    border-radius: 12px;
    box-shadow: 0 22px 46px rgba(3, 18, 41, 0.22);
}

.lead-form__field {
    margin-top: 13px;
}

.lead-form__field label {
    color: var(--color-navy);
    font-size: 0.76rem;
    font-weight: 750;
}

.lead-form__field input {
    height: 44px;
    border-color: rgba(20, 87, 199, 0.18);
    border-radius: 6px;
}

.lead-form__submit {
    min-height: 48px;
    margin-top: 12px;
}

.trust-strip__grid {
    column-gap: 10px;
}

.trust-strip__item svg {
    width: 36px;
    height: 36px;
}

.trust-strip__item p {
    font-size: clamp(0.95rem, 1.12vw, 1.02rem);
}

.franchise-glance__card,
.partner-card,
.course-card,
.journey-card,
.comparison-card {
    border-radius: 12px;
    box-shadow: var(--shadow-card);
}

.franchise-glance__card {
    min-height: 244px;
    padding: 28px;
}

.franchise-glance__icon {
    width: 44px;
    height: 44px;
    padding: 8px;
    background: rgba(244, 197, 66, 0.08);
    border: 1px solid rgba(244, 197, 66, 0.2);
    border-radius: 10px;
}

.partner-card {
    min-height: 224px;
    padding: 28px;
}

.partner-card__icon {
    width: 44px;
    height: 44px;
    padding: 8px;
    background: #eaf3ff;
    border: 1px solid rgba(20, 87, 199, 0.13);
    border-radius: 10px;
}

.partner-card p,
.course-card p,
.journey-card p {
    font-size: 0.875rem;
}

.partner-card:hover {
    background: #f5f9ff;
}

.franchise-package {
    padding-block: var(--section-padding);
}

.franchise-package .section-heading {
    margin-bottom: clamp(38px, 4vw, 52px);
}

.franchise-package__benefits,
.franchise-cta-card {
    min-height: 468px;
}

.franchise-package__benefits {
    padding: clamp(30px, 3vw, 38px);
    box-shadow: var(--shadow-card);
}

.franchise-cta-card {
    box-shadow: 0 18px 40px rgba(7, 31, 79, 0.2);
}

.course-card {
    min-height: 220px;
    padding: 30px 22px;
}

.course-card__icon {
    width: 44px;
    height: 44px;
    padding: 8px;
    background: #eaf3ff;
    border: 1px solid rgba(20, 87, 199, 0.12);
    border-radius: 10px;
}

.course-card p {
    min-height: 2.8em;
}

.credibility-stat {
    min-height: 132px;
    padding-block: 22px;
}

.credibility-stat strong {
    font-size: clamp(2rem, 3vw, 2.65rem);
}

.journey__grid::before {
    background: linear-gradient(90deg, rgba(20, 87, 199, 0.55), var(--color-brand-gold), rgba(20, 87, 199, 0.55));
}

.journey-card {
    min-height: 230px;
    padding: 88px 25px 28px;
}

.journey-card__number {
    width: 66px;
    height: 66px;
    background: var(--color-brand-gold);
}

.comparison-table-wrap {
    box-shadow: 0 14px 32px rgba(7, 31, 79, 0.09);
}

.comparison-table th,
.comparison-table td {
    border-bottom-color: rgba(20, 87, 199, 0.16);
}

.faq-section__grid {
    grid-template-columns: minmax(0, 2.15fr) minmax(270px, 1fr);
    gap: 28px;
}

.faq__item {
    border-color: rgba(20, 87, 199, 0.12);
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(3, 18, 41, 0.1);
}

.faq__question {
    min-height: 76px;
    padding: 20px;
    font-size: 0.9rem;
}

.faq__question[aria-expanded="true"] {
    color: var(--color-brand-blue);
    background: #f5f9ff;
}

.faq__answer {
    padding: 0 20px 20px;
    font-size: 0.86rem;
}

.expert-card {
    padding: 34px 30px;
    box-shadow: 0 18px 40px rgba(3, 18, 41, 0.28);
}

.final-cta__inner {
    padding-block: clamp(78px, 7vw, 94px);
}

.final-cta__content {
    max-width: 780px;
}

.final-cta__content h2 {
    font-size: clamp(2.1rem, 3.8vw, 3.1rem);
}

@media (max-width: 1199px) {
    .hero__container {
        min-height: 600px;
        gap: clamp(28px, 4vw, 48px);
    }

    .franchise-package__benefits,
    .franchise-cta-card {
        min-height: 0;
    }
}

@media (max-width: 767px) {
    :root {
        --section-padding: 56px;
    }

    .site-header__inner {
        min-height: 68px;
    }

    .hero__container {
        min-height: auto;
        padding-block: 54px;
    }

    .hero__title {
        font-size: clamp(2.1rem, 9vw, 2.8rem);
    }

    .lead-form {
        padding: 24px 20px;
    }

    .section-heading h2 {
        font-size: clamp(1.75rem, 7.5vw, 2.15rem);
    }

    .franchise-glance__card,
    .partner-card,
    .course-card,
    .journey-card {
        min-height: 0;
        padding: 25px 22px;
    }

    .course-card p {
        min-height: 0;
    }

    .faq__question {
        min-height: 72px;
        padding: 18px;
    }

    .expert-card {
        padding: 30px 24px;
    }

    .final-cta__inner {
        padding-block: 68px;
    }
}

@media (max-width: 520px) {
    .button,
    .hero__button,
    .final-cta__button {
        min-height: 46px;
    }

    .section-divider {
        width: min(860px, 84%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .button,
    .franchise-glance__card,
    .partner-card,
    .course-card,
    .journey-card,
    .franchise-cta-card {
        transition: none;
    }
}

/* Complete page system */
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 22px;
    border: 1px solid transparent;
    border-radius: 5px;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.035em;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.button:hover {
    transform: translateY(-2px);
}

.button:focus-visible,
.faq__question:focus-visible,
.lead-form input:focus-visible {
    outline: 3px solid var(--color-brand-gold);
    outline-offset: 3px;
}

.button--gold {
    color: var(--color-navy-deep);
    background: var(--color-brand-gold);
    border-color: var(--color-brand-gold);
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.14);
}

.button--gold:hover {
    background: var(--color-brand-gold-hover);
    border-color: var(--color-brand-gold-hover);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.button--blue {
    color: #ffffff;
    background: var(--color-brand-blue);
    border-color: var(--color-brand-blue);
    box-shadow: 0 8px 20px rgba(23, 105, 170, 0.2);
}

.button--blue:hover {
    background: #0d5792;
    border-color: #0d5792;
}

.button--outline {
    color: #ffffff;
    background: rgba(4, 24, 52, 0.36);
    border-color: rgba(255, 255, 255, 0.72);
}

.button--outline:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: #ffffff;
}

.section-heading {
    max-width: 780px;
    margin: 0 auto clamp(34px, 4vw, 48px);
    text-align: center;
}

.section-heading h2 {
    color: var(--color-navy-deep);
    font-size: clamp(1.85rem, 3.2vw, 2.65rem);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.16;
}

.section-heading h2::after {
    display: block;
    width: 54px;
    height: 3px;
    margin: 16px auto 0;
    background: var(--color-brand-gold);
    border-radius: 2px;
    content: "";
}

.section-heading p {
    margin-top: 16px;
    color: var(--color-text-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.section-heading--light h2,
.section-heading--light p {
    color: #ffffff;
}

.section-heading--light p {
    color: rgba(255, 255, 255, 0.74);
}

/* Hero: two-column copy and enquiry form */
.hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #ffffff;
    background-color: var(--color-navy-deep);
    background-image:
        radial-gradient(circle at 86% 18%, rgba(37, 126, 220, 0.38) 0%, transparent 28%),
        radial-gradient(circle at 78% 88%, rgba(13, 93, 184, 0.24) 0%, transparent 32%),
        linear-gradient(118deg, #04152f 0%, #082f68 58%, #0d5db8 100%);
}

.hero::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    background-image:
        linear-gradient(rgba(172, 215, 255, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(172, 215, 255, 0.06) 1px, transparent 1px);
    background-position: center;
    background-size: 38px 38px;
    content: "";
    opacity: 0.32;
    pointer-events: none;
}

.hero::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    background:
        radial-gradient(circle at 88% 15%, rgba(244, 197, 66, 0.14) 0%, transparent 18%),
        radial-gradient(circle at 68% 52%, rgba(100, 174, 255, 0.16) 0%, transparent 42%);
    content: "";
    pointer-events: none;
}

.hero__container {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(360px, 2fr);
    align-items: center;
    gap: clamp(36px, 6vw, 80px);
    min-height: 630px;
    padding-block: 60px;
}

.hero__content {
    max-width: 620px;
    padding: 0;
}

.hero__eyebrow {
    display: inline-flex;
    margin-bottom: 18px;
    padding: 7px 11px;
    color: #ffffff;
    background: rgba(3, 20, 45, 0.48);
    border: 1px solid rgba(244, 197, 66, 0.4);
    border-left: 3px solid var(--color-brand-gold);
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.hero__title {
    color: #ffffff;
    font-size: clamp(2.25rem, 3.55vw, 3.15rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.08;
}

.hero__title span {
    display: block;
}

.hero__title-accent {
    color: var(--color-brand-gold);
}

.hero__description {
    max-width: 580px;
    margin-top: 18px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.94rem;
    line-height: 1.7;
}

.hero__description--secondary {
    margin-top: 8px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.86rem;
}

.hero__support-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 17px;
    margin: 23px 0 0;
    padding: 0;
    list-style: none;
}

.hero__support-list li {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, 0.94);
    font-size: 0.8rem;
    font-weight: 700;
}

.hero__support-list svg,
.benefit-list svg {
    flex: 0 0 auto;
    width: 19px;
    height: 19px;
    color: var(--color-brand-gold);
    fill: rgba(244, 197, 66, 0.12);
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
}

.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 28px;
}

.hero__button {
    min-height: 45px;
    padding-inline: 17px;
    font-size: 0.72rem;
}

.lead-form {
    width: min(100%, 390px);
    justify-self: end;
    padding: 30px 28px 24px;
    color: var(--color-navy-deep);
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-top: 4px solid var(--color-brand-gold);
    border-radius: 10px;
    box-shadow: 0 22px 52px rgba(0, 0, 0, 0.25);
}

.lead-form__heading {
    margin-bottom: 18px;
    text-align: center;
}

.lead-form__eyebrow {
    color: var(--color-brand-blue);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.11em;
}

.lead-form__heading h2 {
    margin-top: 2px;
    color: var(--color-navy-deep);
    font-size: 1.18rem;
    font-weight: 800;
    line-height: 1.25;
}

.lead-form__heading > p:last-child {
    margin-top: 6px;
    color: var(--color-text-muted);
    font-size: 0.75rem;
    line-height: 1.45;
}

.lead-form__field {
    margin-top: 11px;
}

.lead-form__field label {
    display: block;
    margin-bottom: 4px;
    color: #29445e;
    font-size: 0.73rem;
    font-weight: 700;
}

.lead-form__field input {
    width: 100%;
    height: 42px;
    padding: 8px 11px;
    color: var(--color-navy-deep);
    background: #fbfdff;
    border: 1px solid #ccd8e4;
    border-radius: 5px;
    outline: none;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.lead-form__field input:focus {
    border-color: var(--color-brand-blue);
    box-shadow: 0 0 0 3px rgba(23, 105, 170, 0.12);
}

.lead-form__field input[aria-invalid="true"] {
    border-color: #bd2c2c;
}

.lead-form__error {
    display: block;
    min-height: 12px;
    margin-top: 2px;
    color: #b42318;
    font-size: 0.64rem;
    line-height: 1.25;
}

.lead-form__submit {
    width: 100%;
    margin-top: 8px;
}

.lead-form__privacy,
.lead-form__status {
    color: #718296;
    font-size: 0.65rem;
    line-height: 1.4;
    text-align: center;
}

.lead-form__privacy {
    margin-top: 9px;
}

.lead-form__status {
    min-height: 14px;
    margin-top: 3px;
}

.lead-form__status[data-state="error"] {
    color: #b42318;
}

.lead-form__status[data-state="success"] {
    color: #147a3e;
}

/* Trust strip */
.trust-strip {
    position: relative;
    z-index: 2;
    overflow: hidden;
    padding-block: clamp(28px, 2.4vw, 34px);
    background:
        radial-gradient(circle at -4% 20%, rgba(255, 153, 51, 0.085) 0%, transparent 27%),
        radial-gradient(circle at 104% 80%, rgba(19, 136, 8, 0.075) 0%, transparent 27%),
        linear-gradient(180deg, #ffffff 0%, #f6f9fd 100%);
    border-top: 1px solid rgba(23, 105, 170, 0.08);
    border-bottom: 1px solid rgba(16, 42, 67, 0.1);
    box-shadow: 0 9px 26px rgba(16, 42, 67, 0.075);
}

.trust-strip::before {
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50%;
    width: 240px;
    aspect-ratio: 1;
    background: repeating-conic-gradient(from 0deg, rgba(26, 95, 170, 0.07) 0deg 1deg, transparent 1deg 15deg);
    border: 1px solid rgba(26, 95, 170, 0.08);
    border-radius: 50%;
    content: "";
    opacity: 0.38;
    pointer-events: none;
    transform: translate(-50%, -50%);
    -webkit-mask-image: radial-gradient(circle, transparent 0 24%, #000000 24.5% 25.2%, transparent 25.7% 47%, #000000 47.5% 48.2%, transparent 48.7%);
    mask-image: radial-gradient(circle, transparent 0 24%, #000000 24.5% 25.2%, transparent 25.7% 47%, #000000 47.5% 48.2%, transparent 48.7%);
}

.trust-strip__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.trust-strip__item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    min-height: 64px;
    min-width: 0;
    padding: 4px clamp(8px, 1.2vw, 16px);
}

.trust-strip__item:not(:last-child)::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 38px;
    background: linear-gradient(180deg, transparent, rgba(23, 105, 170, 0.2), transparent);
    content: "";
    transform: translateY(-50%);
}

.trust-strip__item svg {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    color: var(--color-brand-blue);
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
    transition: color 220ms ease, transform 220ms ease;
}

.trust-strip__item p {
    width: 100%;
    max-width: 188px;
    color: var(--color-navy);
    font-size: clamp(0.94rem, 1.12vw, 1rem);
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.34;
    text-wrap: balance;
}

.trust-strip__item p::after {
    display: block;
    width: 18px;
    height: 2px;
    margin-top: 7px;
    background: var(--color-brand-gold);
    border-radius: 2px;
    content: "";
    opacity: 0.58;
    transition: opacity 220ms ease, width 220ms ease;
}

@media (hover: hover) and (pointer: fine) {
    .trust-strip__item:hover svg {
        color: var(--color-cobalt);
        transform: translateY(-2px);
    }

    .trust-strip__item:hover p::after {
        width: 25px;
        opacity: 0.9;
    }
}

/* Franchise at a glance */
.franchise-glance {
    position: relative;
    overflow: hidden;
    padding-block: var(--section-padding);
    background:
        radial-gradient(circle at 88% 14%, rgba(62, 142, 238, 0.28), transparent 30%),
        radial-gradient(circle at 8% 86%, rgba(244, 197, 66, 0.08), transparent 25%),
        linear-gradient(128deg, #061b36 0%, #082d64 52%, #0c4c98 100%);
}

.franchise-glance::before {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
    background-size: 28px 28px;
    content: "";
    opacity: 0.45;
    pointer-events: none;
}

.franchise-glance > .container {
    position: relative;
}

.franchise-glance .section-heading {
    margin-bottom: clamp(36px, 4vw, 48px);
}

.franchise-glance__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    color: var(--color-brand-gold);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.3;
}

.franchise-glance__eyebrow::before {
    width: 20px;
    height: 2px;
    background: rgba(255, 255, 255, 0.72);
    border-radius: 2px;
    content: "";
}

.franchise-glance__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2vw, 24px);
}

.franchise-glance__card {
    min-width: 0;
    min-height: 252px;
    padding: 27px 25px;
    color: #ffffff;
    background: linear-gradient(155deg, #0d427f 0%, #092d5d 100%);
    border: 1px solid rgba(165, 205, 255, 0.18);
    border-top: 3px solid var(--color-brand-gold);
    border-radius: 10px;
    box-shadow: 0 16px 34px rgba(2, 14, 34, 0.22);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.franchise-glance__icon {
    width: 42px;
    height: 42px;
    color: var(--color-brand-gold);
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.franchise-glance__card h3 {
    margin-top: 18px;
    color: #ffffff;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.35;
}

.franchise-glance__card p {
    margin-top: 9px;
    color: rgba(232, 243, 255, 0.78);
    font-size: 0.84rem;
    line-height: 1.62;
}

@media (hover: hover) and (pointer: fine) {
    .franchise-glance__card:hover {
        border-color: rgba(244, 197, 66, 0.68);
        box-shadow: 0 22px 42px rgba(2, 14, 34, 0.3);
        transform: translateY(-3px);
    }
}

/* Partner benefits */
.partner {
    position: relative;
    overflow: hidden;
    padding-block: var(--section-padding);
    background:
        radial-gradient(circle at 88% 16%, rgba(23, 105, 170, 0.12), transparent 30%),
        radial-gradient(circle at 8% 86%, rgba(244, 197, 66, 0.07), transparent 25%),
        linear-gradient(145deg, #f7fbff 0%, #ffffff 52%, #edf6fd 100%);
}

.partner::before {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(90deg, rgba(23, 105, 170, 0.025) 1px, transparent 1px), linear-gradient(rgba(23, 105, 170, 0.025) 1px, transparent 1px);
    background-size: 30px 30px;
    content: "";
    pointer-events: none;
}

.partner > .container {
    position: relative;
}

.partner .section-heading {
    margin-bottom: clamp(36px, 4vw, 48px);
}

.partner__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    color: var(--color-brand-blue);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.3;
}

.partner__eyebrow::before {
    width: 20px;
    height: 2px;
    background: var(--color-brand-gold);
    border-radius: 2px;
    content: "";
}

.partner__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2vw, 24px);
}

.partner-card {
    position: relative;
    min-width: 0;
    min-height: 218px;
    padding: 28px 26px;
    color: var(--color-navy);
    background: linear-gradient(155deg, #ffffff 0%, #f4f9fe 100%);
    border: 1px solid rgba(23, 105, 170, 0.2);
    border-top: 3px solid var(--color-brand-gold);
    border-radius: 12px;
    box-shadow: 0 14px 30px rgba(16, 42, 67, 0.09);
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.partner-card__icon {
    width: 36px;
    height: 36px;
    color: var(--color-brand-blue);
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.partner-card h3 {
    margin-top: 18px;
    color: var(--color-navy-deep);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.3;
}

.partner-card p {
    margin-top: 9px;
    color: var(--color-text-muted);
    font-size: 0.84rem;
    line-height: 1.65;
}

@media (hover: hover) and (pointer: fine) {
    .partner-card:hover {
        border-color: rgba(23, 105, 170, 0.55);
        box-shadow: 0 20px 40px rgba(16, 42, 67, 0.14);
        transform: translateY(-3px);
    }
}

/* Franchise package */
.franchise-package {
    position: relative;
    padding-block: clamp(88px, 8.5vw, 118px);
    background:
        radial-gradient(circle at 92% 8%, rgba(23, 105, 170, 0.09), transparent 30%),
        radial-gradient(circle at 8% 92%, rgba(244, 197, 66, 0.06), transparent 26%),
        linear-gradient(145deg, #ffffff 0%, #f7faff 50%, #edf5fc 100%);
}

.franchise-package > .container {
    position: relative;
}

.franchise-package .section-heading {
    margin-bottom: clamp(48px, 5vw, 64px);
}

.franchise-package .franchise-package__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 13px;
    color: var(--color-brand-blue);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    line-height: 1.3;
}

.franchise-package__eyebrow::before {
    width: 22px;
    height: 2px;
    background: var(--color-brand-gold);
    border-radius: 2px;
    content: "";
}

.franchise-package .section-heading h2 {
    font-size: clamp(2.05rem, 3.5vw, 2.9rem);
}

.franchise-package__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
    align-items: stretch;
    gap: clamp(28px, 2.5vw, 32px);
}

.franchise-package__grid > .franchise-package__benefits,
.franchise-package__grid > .franchise-cta-card {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
    max-width: 100%;
}

.franchise-package__benefits {
    display: flex;
    min-height: 480px;
    flex-direction: column;
    align-items: stretch;
    padding: clamp(32px, 3vw, 38px);
    background: linear-gradient(160deg, #ffffff 0%, #f5f9fd 52%, #eaf3fb 100%);
    border: 1px solid rgba(23, 105, 170, 0.17);
    border-radius: 12px;
    box-shadow: 0 20px 44px rgba(16, 42, 67, 0.12);
}

.franchise-package__panel-label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    color: var(--color-brand-blue);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.35;
}

.franchise-package__panel-label::before {
    flex: 0 0 auto;
    width: 4px;
    height: 20px;
    background: var(--color-brand-gold);
    border-radius: 3px;
    content: "";
}

.franchise-package .benefit-list {
    display: grid;
    flex: 1 1 auto;
    grid-template-rows: repeat(6, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.franchise-package .benefit-list li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-block: 14px;
    color: var(--color-navy);
    border-bottom: 1px solid rgba(23, 105, 170, 0.1);
    font-size: 0.94rem;
    font-weight: 700;
    line-height: 1.5;
}

.franchise-package .benefit-list li:first-child {
    padding-top: 14px;
}

.franchise-package .benefit-list li:last-child {
    padding-bottom: 14px;
    border-bottom: 0;
}

.franchise-package .benefit-list svg {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    margin-top: 0;
    padding: 5px;
    color: var(--color-brand-blue);
    background: rgba(23, 105, 170, 0.1);
    border: 1px solid rgba(23, 105, 170, 0.12);
    border-radius: 50%;
    fill: none;
}

.franchise-cta-card {
    position: relative;
    display: grid;
    overflow: hidden;
    grid-column: auto;
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    gap: 28px;
    min-height: 480px;
    padding: clamp(32px, 3vw, 38px);
    color: #ffffff;
    background:
        radial-gradient(circle at 88% 13%, rgba(89, 164, 255, 0.24), transparent 30%),
        radial-gradient(circle at 15% 90%, rgba(244, 197, 66, 0.08), transparent 30%),
        linear-gradient(145deg, #04152f 0%, #083b7a 58%, #0d5daf 100%);
    border: 1px solid rgba(244, 197, 66, 0.78);
    border-radius: 12px;
    box-shadow: 0 26px 56px rgba(6, 27, 54, 0.28);
    transition: box-shadow 220ms ease, transform 220ms ease;
}

.franchise-cta-card h3 {
    max-width: 33rem;
    font-size: clamp(1.55rem, 2.3vw, 2rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.16;
}

.franchise-cta-card h3 span {
    color: var(--color-brand-gold);
}

.franchise-cta-card__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 17px;
    min-width: 0;
    width: 100%;
}

.franchise-cta-card p {
    margin-top: 18px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.88rem;
    line-height: 1.7;
}

.franchise-cta-card__button {
    width: 100%;
    margin-top: 0;
    min-height: 54px;
    padding: 15px 24px;
    border-radius: 6px;
    font-size: 0.84rem;
}

.franchise-cta-card__secondary-link {
    align-self: center;
    margin-top: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.76rem;
    font-weight: 700;
    text-decoration-color: rgba(244, 197, 66, 0.7);
    text-underline-offset: 4px;
}

.franchise-cta-card__secondary-link:hover {
    color: var(--color-brand-gold);
}

.franchise-cta-card .button:focus-visible,
.franchise-cta-card__secondary-link:focus-visible {
    outline-color: #ffffff;
    box-shadow: 0 0 0 5px rgba(244, 197, 66, 0.38);
}

@media (hover: hover) and (pointer: fine) {
    .franchise-cta-card:hover {
        box-shadow: 0 30px 62px rgba(6, 27, 54, 0.32);
        transform: translateY(-4px);
    }
}

/* Courses */
.courses-section {
    padding-block: var(--section-padding);
    background:
        radial-gradient(circle at 92% 8%, rgba(23, 105, 170, 0.06), transparent 28%),
        linear-gradient(180deg, #f9fbfe 0%, #f4f8fc 100%);
}

.courses-section__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    color: var(--color-brand-blue);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.3;
}

.courses-section__eyebrow::before {
    width: 20px;
    height: 2px;
    background: var(--color-brand-gold);
    border-radius: 2px;
    content: "";
}

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

.course-card {
    display: flex;
    min-height: 210px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px 20px;
    background: #ffffff;
    border: 1px solid rgba(23, 105, 170, 0.15);
    border-bottom: 3px solid var(--color-brand-blue);
    border-radius: 10px;
    box-shadow: 0 10px 26px rgba(16, 42, 67, 0.07);
    text-align: center;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.course-card:hover {
    border-color: rgba(23, 105, 170, 0.34);
    border-bottom-color: var(--color-brand-gold);
    box-shadow: 0 16px 34px rgba(16, 42, 67, 0.12);
    transform: translateY(-4px);
}

.course-card__icon {
    width: 48px;
    height: 48px;
    color: var(--color-brand-blue);
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.course-card h3 {
    margin-top: 17px;
    color: var(--color-navy-deep);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.35;
}

.course-card p {
    margin-top: 8px;
    color: var(--color-text-muted);
    font-size: 0.78rem;
    line-height: 1.55;
}

.courses-section__action {
    margin-top: 34px;
    text-align: center;
}

/* Credibility */
.credibility-strip {
    color: #ffffff;
    background:
        radial-gradient(circle at 82% 12%, rgba(72, 152, 245, 0.22), transparent 30%),
        linear-gradient(110deg, #061b36 0%, #0a3778 55%, #0d5db8 100%);
}

.credibility-strip__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.credibility-stat {
    display: flex;
    min-height: 138px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    border-right: 1px solid rgba(244, 197, 66, 0.28);
    text-align: center;
}

.credibility-stat:last-child {
    border-right: 0;
}

.credibility-stat strong {
    color: var(--color-brand-gold);
    font-size: clamp(1.9rem, 3vw, 2.5rem);
    font-weight: 800;
    line-height: 1;
}

.credibility-stat span {
    margin-top: 9px;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.35;
}

/* Journey */
.journey {
    padding-block: var(--section-padding);
    background:
        radial-gradient(circle at 92% 10%, rgba(23, 105, 170, 0.06), transparent 28%),
        linear-gradient(180deg, #ffffff 0%, #f6faff 100%);
}

.journey__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    color: var(--color-brand-blue);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.3;
}

.journey__eyebrow::before {
    width: 20px;
    height: 2px;
    background: var(--color-brand-gold);
    border-radius: 2px;
    content: "";
}

.journey__grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.journey__grid::before {
    position: absolute;
    top: 31px;
    right: 11%;
    left: 11%;
    height: 2px;
    background: linear-gradient(90deg, var(--color-brand-blue), var(--color-brand-gold), var(--color-brand-blue));
    content: "";
}

.journey-card {
    position: relative;
    z-index: 1;
    min-height: 236px;
    padding: 88px 24px 28px;
    background: #ffffff;
    border: 1px solid rgba(23, 105, 170, 0.15);
    border-radius: 10px;
    box-shadow: 0 10px 26px rgba(16, 42, 67, 0.07);
    text-align: center;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.journey-card:hover {
    border-color: rgba(23, 105, 170, 0.35);
    box-shadow: 0 16px 34px rgba(16, 42, 67, 0.12);
    transform: translateY(-3px);
}

.journey-card__number {
    position: absolute;
    top: 0;
    left: 50%;
    display: grid;
    width: 64px;
    height: 64px;
    place-items: center;
    color: var(--color-navy-deep);
    background: var(--color-brand-gold);
    border: 6px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 6px 18px rgba(16, 42, 67, 0.13);
    font-size: 1.1rem;
    font-weight: 800;
    transform: translateX(-50%);
}

.journey-card h3 {
    color: var(--color-navy-deep);
    font-size: 1.04rem;
    font-weight: 800;
    line-height: 1.35;
}

.journey-card p {
    margin-top: 8px;
    color: var(--color-text-muted);
    font-size: 0.82rem;
    line-height: 1.55;
}

.journey__action {
    margin-top: 36px;
    text-align: center;
}

/* Franchise comparison */
.comparison-section {
    position: relative;
    overflow: hidden;
    padding-block: var(--section-padding);
    background:
        radial-gradient(circle at 92% 14%, rgba(23, 105, 170, 0.12), transparent 28%),
        radial-gradient(circle at 7% 82%, rgba(244, 197, 66, 0.08), transparent 23%),
        linear-gradient(145deg, #ffffff 0%, #f4f9fe 50%, #ffffff 100%);
    border-top: 1px solid rgba(23, 105, 170, 0.1);
}

.comparison-section::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 6%, rgba(23, 105, 170, 0.36) 33%, var(--color-brand-gold) 50%, rgba(23, 105, 170, 0.36) 67%, transparent 94%);
    content: "";
}

.comparison-section .container {
    position: relative;
}

.comparison-section .section-heading {
    margin-bottom: clamp(30px, 3vw, 40px);
}

.comparison-section__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    color: var(--color-brand-blue);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.3;
}

.comparison-section__eyebrow::before {
    width: 20px;
    height: 2px;
    background: var(--color-brand-gold);
    border-radius: 2px;
    content: "";
}

.comparison-table-wrap {
    width: min(1180px, calc(100vw - 48px));
    margin-left: 50%;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(23, 105, 170, 0.16);
    border-radius: 14px;
    box-shadow: 0 20px 46px rgba(16, 42, 67, 0.11);
    transform: translateX(-50%);
}

.comparison-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.comparison-table__criterion-column {
    width: 32%;
}

.comparison-table__option-column {
    width: 22%;
}

.comparison-table th,
.comparison-table td {
    padding: 20px 22px;
    border-right: 1px solid rgba(23, 105, 170, 0.14);
    border-bottom: 1px solid rgba(23, 105, 170, 0.18);
    font-size: 0.875rem;
    line-height: 1.52;
    text-align: left;
    vertical-align: middle;
}

.comparison-table tr > :last-child {
    border-right: 0;
}

.comparison-table tbody tr:last-child > * {
    border-bottom: 0;
}

.comparison-table thead th {
    color: var(--color-navy-deep);
    background: #eaf3fb;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.015em;
}

.comparison-table__nationiq-header {
    position: relative;
    color: #ffffff !important;
    background: linear-gradient(135deg, #0d5db8 0%, #083b7a 100%) !important;
    box-shadow: inset 0 3px 0 var(--color-brand-gold), inset 1px 0 0 rgba(255, 255, 255, 0.2), inset -1px 0 0 rgba(255, 255, 255, 0.16);
}

.comparison-table tbody th {
    color: var(--color-navy-deep);
    background: rgba(245, 249, 253, 0.86);
    font-size: 0.94rem;
    font-weight: 750;
}

.comparison-table tbody td {
    color: #4e6378;
    background: rgba(255, 255, 255, 0.88);
}

.comparison-table__nationiq-cell {
    color: var(--color-navy-deep) !important;
    background: #e8f4ff !important;
    box-shadow: inset 1px 0 0 rgba(23, 105, 170, 0.28), inset -1px 0 0 rgba(23, 105, 170, 0.28), 0 2px 10px rgba(23, 105, 170, 0.06);
    font-weight: 750;
}

.comparison-table__nationiq-cell span,
.comparison-card__option--nationiq span {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
}

.comparison-table__nationiq-cell svg,
.comparison-card__option--nationiq svg {
    flex: 0 0 auto;
    width: 19px;
    height: 19px;
    margin-top: 1px;
    padding: 3px;
    color: #ffffff;
    background: var(--color-brand-blue);
    border-radius: 50%;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.1;
}

@media (hover: hover) and (pointer: fine) {
    .comparison-table tbody tr {
        transition: background-color 180ms ease;
    }

    .comparison-table tbody tr:hover > th,
    .comparison-table tbody tr:hover > td:not(.comparison-table__nationiq-cell) {
        background: #f2f8fd;
    }

    .comparison-table tbody tr:hover .comparison-table__nationiq-cell {
        background: #dcedff !important;
    }
}

.comparison-cards {
    display: none;
}

.comparison-section__supporting-copy {
    max-width: 850px;
    margin: clamp(26px, 3vw, 34px) auto 0;
    color: var(--color-text-muted);
    font-size: 0.96rem;
    line-height: 1.7;
    text-align: center;
}

.comparison-section__action {
    margin-top: 28px;
    text-align: center;
}

@media (max-width: 1099px) {
    .comparison-table-wrap {
        display: none;
    }

    .comparison-cards {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .comparison-card {
        min-width: 0;
        padding: 24px;
        background: rgba(255, 255, 255, 0.92);
        border: 1px solid rgba(23, 105, 170, 0.16);
        border-radius: 12px;
        box-shadow: 0 12px 28px rgba(16, 42, 67, 0.08);
    }

    .comparison-card h3 {
        margin-bottom: 18px;
        color: var(--color-navy-deep);
        font-size: 1.04rem;
        font-weight: 800;
        line-height: 1.35;
    }

    .comparison-card__option {
        padding: 13px 0;
        color: var(--color-text-muted);
        border-top: 1px solid rgba(23, 105, 170, 0.11);
        font-size: 0.9rem;
        line-height: 1.45;
    }

    .comparison-card__option p {
        margin-bottom: 5px;
        color: #667b91;
        font-size: 0.7rem;
        font-weight: 800;
        letter-spacing: 0.07em;
        line-height: 1.3;
        text-transform: uppercase;
    }

    .comparison-card__option:not(.comparison-card__option--nationiq) > span {
        display: block;
    }

    .comparison-card__option--nationiq {
        margin: 0 -8px;
        padding: 13px 12px;
        color: var(--color-navy-deep);
        background: #eef7ff;
        border: 1px solid rgba(23, 105, 170, 0.24);
        border-left: 3px solid var(--color-brand-blue);
        border-radius: 7px;
        font-weight: 750;
    }

    .comparison-card__option--nationiq p {
        color: var(--color-brand-blue);
    }
}

/* FAQ */
.faq-section {
    padding-block: var(--section-padding);
    background:
        radial-gradient(circle at 100% 10%, rgba(23, 105, 170, 0.34), transparent 30%),
        radial-gradient(circle at 8% 88%, rgba(244, 197, 66, 0.06), transparent 25%),
        var(--color-navy-deep);
}

.faq-section__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    color: var(--color-brand-gold);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.3;
}

.faq-section__eyebrow::before {
    width: 20px;
    height: 2px;
    background: rgba(255, 255, 255, 0.72);
    border-radius: 2px;
    content: "";
}

.faq-section__grid {
    display: grid;
    grid-template-columns: minmax(0, 2.1fr) minmax(250px, 0.9fr);
    align-items: stretch;
    gap: 24px;
}

.faq {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 14px;
}

.faq__item {
    overflow: hidden;
    align-self: start;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 8px;
}

.faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    min-height: 72px;
    padding: 19px 18px;
    color: var(--color-navy-deep);
    background: #ffffff;
    border: 0;
    font-size: 0.87rem;
    font-weight: 800;
    line-height: 1.4;
    text-align: left;
}

.faq__question:hover {
    color: var(--color-brand-blue);
}

.faq__toggle {
    position: relative;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
}

.faq__toggle::before,
.faq__toggle::after {
    position: absolute;
    top: 9px;
    left: 3px;
    width: 14px;
    height: 2px;
    background: var(--color-brand-blue);
    border-radius: 2px;
    content: "";
    transition: transform 180ms ease;
}

.faq__toggle::after {
    transform: rotate(90deg);
}

.faq__question[aria-expanded="true"] .faq__toggle::after {
    transform: rotate(0deg);
}

.faq__answer {
    padding: 0 18px 18px;
    color: var(--color-text-muted);
    font-size: 0.8rem;
    line-height: 1.6;
}

.faq__answer a {
    color: var(--color-brand-blue);
    font-weight: 800;
    text-decoration-color: rgba(23, 105, 170, 0.55);
    text-underline-offset: 3px;
}

.faq__answer a:focus-visible {
    outline: 3px solid var(--color-brand-gold);
    outline-offset: 3px;
}

.expert-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
    padding: 34px 28px;
    background:
        radial-gradient(circle at 86% 14%, rgba(75, 157, 255, 0.22), transparent 32%),
        linear-gradient(145deg, #062754 0%, #083b7a 58%, #0d5daf 100%);
    border: 1px solid rgba(244, 197, 66, 0.68);
    border-radius: 10px;
    box-shadow: 0 18px 38px rgba(3, 18, 41, 0.22);
}

.expert-card__content {
    padding: 0;
}

.expert-card__content::before {
    display: block;
    width: 28px;
    height: 3px;
    margin-bottom: 16px;
    background: var(--color-brand-gold);
    border-radius: 2px;
    content: "";
}

.expert-card__content h3 {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.4;
}

.expert-card__content p {
    margin-top: 9px;
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.8rem;
    line-height: 1.6;
}

.expert-card__button {
    width: 100%;
    margin-top: 20px;
}

/* Final franchise CTA */
.final-cta {
    position: relative;
    overflow: hidden;
    color: #ffffff;
    background:
        radial-gradient(circle at 78% 18%, rgba(75, 157, 255, 0.3), transparent 30%),
        radial-gradient(circle at 18% 85%, rgba(244, 197, 66, 0.08), transparent 28%),
        linear-gradient(115deg, #04152f 0%, #083b7a 55%, #0d5db8 100%);
}

.final-cta::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--color-brand-blue) 22%, var(--color-brand-gold) 50%, var(--color-brand-blue) 78%, transparent 100%);
    content: "";
    opacity: 0.9;
}

.final-cta__inner {
    position: relative;
    display: grid;
    place-items: center;
    padding-block: clamp(82px, 8vw, 106px);
}

.final-cta__content {
    position: relative;
    z-index: 1;
    max-width: 860px;
    text-align: center;
}

.final-cta__eyebrow {
    margin: 0 0 14px;
    color: var(--color-brand-gold);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    line-height: 1.3;
}

.final-cta__content h2 {
    color: #ffffff;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.13;
}

.final-cta__description {
    max-width: 760px;
    margin: 20px auto 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.96rem;
    line-height: 1.7;
}

.final-cta__description--secondary {
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.84rem;
}

.final-cta__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 30px;
}

.final-cta__button {
    min-height: 48px;
    padding-inline: 20px;
    border-radius: 6px;
}

.final-cta__button--secondary {
    color: #ffffff;
    background: rgba(3, 18, 41, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.72);
}

.final-cta__button--secondary:hover {
    color: var(--color-navy-deep);
    background: #ffffff;
    border-color: #ffffff;
}

/* Footer */
.site-footer {
    padding-block: 26px;
    background: #031225;
}

.site-footer__content {
    display: grid;
    gap: 7px;
    text-align: center;
}

.site-footer__copyright {
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4;
}

.site-footer__credit {
    color: rgba(211, 228, 245, 0.72);
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.4;
}

.site-footer__credit span {
    color: var(--color-brand-gold);
    font-weight: 600;
}

.site-footer__credit a {
    color: inherit;
    text-decoration: none;
}

.site-footer__credit a:focus-visible {
    outline: 2px solid var(--color-brand-gold);
    outline-offset: 3px;
    border-radius: 2px;
}

@media (min-width: 1200px) {
    .hero__content {
        grid-column: 1;
        grid-row: 1;
    }

    .lead-form {
        grid-column: 2;
        grid-row: 1;
    }
}

/* Responsive page layout */
@media (max-width: 1199px) {
    .hero__container {
        grid-template-columns: minmax(0, 58fr) minmax(330px, 42fr);
        gap: clamp(24px, 4vw, 44px);
        min-height: 610px;
    }

    .hero__content {
        max-width: 560px;
    }

    .lead-form {
        width: min(100%, 370px);
    }

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

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

    .franchise-package__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .franchise-cta-card {
        grid-column: 1 / -1;
        min-height: 0;
    }

    .journey__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 17px;
    }

    .journey__grid::before {
        display: none;
    }

    .faq-section__grid {
        grid-template-columns: minmax(0, 1fr);
    }

}

@media (min-width: 768px) and (max-width: 1199px) {
    .trust-strip__grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        row-gap: 30px;
    }

    .trust-strip__item {
        grid-column: span 2;
        flex-direction: column;
        gap: 10px;
        min-height: 82px;
        padding-inline: 20px;
        text-align: center;
    }

    .trust-strip__item:nth-child(n + 4) {
        grid-column: span 3;
    }

    .trust-strip__item:not(:last-child)::after {
        display: none;
    }

    .trust-strip__item:nth-child(1)::after,
    .trust-strip__item:nth-child(2)::after,
    .trust-strip__item:nth-child(4)::after {
        display: block;
    }

    .trust-strip__item p::after {
        margin-inline: auto;
    }

    .franchise-cta-card {
        width: 100%;
        min-height: 0;
        justify-self: stretch;
    }
}

@media (max-width: 767px) {
    :root {
        --section-padding: 58px;
    }

    .hero {
        background-image:
            radial-gradient(circle at 84% 8%, rgba(37, 126, 220, 0.32) 0%, transparent 32%),
            linear-gradient(145deg, #04152f 0%, #0a4e9b 100%);
    }

    .hero::before {
        background-size: 30px 30px;
        opacity: 0.2;
    }

    .hero::after {
        opacity: 0.68;
    }

    .hero__container {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
        min-height: auto;
        padding-block: 50px;
    }

    .hero__content,
    .lead-form {
        width: 100%;
        max-width: 620px;
        margin-inline: auto;
    }

    .lead-form {
        justify-self: stretch;
    }

    .hero__title {
        font-size: clamp(2.08rem, 9vw, 2.8rem);
    }

    .trust-strip__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        row-gap: 24px;
    }

    .trust-strip__item {
        grid-column: span 2;
        flex-direction: column;
        gap: 10px;
        min-height: 88px;
        padding: 4px 8px;
        text-align: center;
    }

    .trust-strip__item:not(:last-child)::after {
        display: none;
    }

    .trust-strip__item:nth-child(1)::after,
    .trust-strip__item:nth-child(3)::after {
        display: block;
    }

    .trust-strip__item:last-child {
        grid-column: 2 / span 2;
    }

    .trust-strip__item p {
        font-size: clamp(0.86rem, 3.7vw, 0.94rem);
    }

    .trust-strip__item p::after {
        margin-inline: auto;
    }

    .franchise-package__grid,
    .course-grid,
    .journey__grid,
    .faq {
        grid-template-columns: minmax(0, 1fr);
    }

    .franchise-package {
        padding-block: 72px;
    }

    .franchise-package .section-heading {
        margin-bottom: 42px;
    }

    .franchise-package__grid {
        gap: 26px;
    }

    .franchise-package__benefits {
        min-height: 0;
        padding: 30px 24px;
    }

    .franchise-package .benefit-list {
        grid-template-rows: none;
    }

    .franchise-cta-card {
        width: 100%;
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
        min-height: 0;
        padding: 32px 28px;
    }

    .franchise-cta-card__actions {
        align-items: stretch;
    }

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

    .credibility-stat {
        min-height: 112px;
        border-top: 1px solid rgba(244, 197, 66, 0.22);
        border-right: 1px solid rgba(244, 197, 66, 0.22);
    }

    .credibility-stat:nth-child(-n + 2) {
        border-top: 0;
    }

    .credibility-stat:nth-child(even) {
        border-right: 0;
    }

    .journey__grid {
        gap: 16px;
    }

    .journey__grid::before {
        display: block;
        top: 28px;
        bottom: 28px;
        left: 31px;
        width: 2px;
        height: auto;
    }

    .journey-card {
        min-height: 126px;
        padding: 27px 22px 25px 88px;
        text-align: left;
    }

    .journey-card__number {
        top: 22px;
        left: 0;
        width: 64px;
        height: 64px;
        transform: none;
    }

    .final-cta__inner {
        padding-block: 72px;
    }

}

@media (max-width: 520px) {
    .hero__actions {
        flex-direction: column;
    }

    .hero__button,
    .courses-section__action .button,
    .final-cta__button {
        width: 100%;
    }

    .hero__support-list {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .lead-form {
        padding-inline: 18px;
    }

    .franchise-package__benefits {
        padding: 28px 20px;
    }

}

@media (min-width: 521px) and (max-width: 767px) {
    .course-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 639px) {
    .comparison-cards {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .comparison-card {
        padding: 22px 20px;
    }

    .partner__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .partner-card {
        min-height: 0;
        padding: 26px 22px;
    }

    .franchise-glance__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .franchise-glance__card {
        min-height: 0;
        padding: 25px 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .skip-link,
    .button,
    .trust-strip__item svg,
    .trust-strip__item p::after,
    .partner-card,
    .franchise-cta-card,
    .course-card,
    .franchise-glance__card,
    .faq__toggle::before,
    .faq__toggle::after {
        transition: none;
    }
}

/* Final cascade layer for the full-page polish */
.site-header .site-header__navigation { gap: clamp(16px, 2.1vw, 30px); }
.site-header .site-header__nav-list { gap: clamp(12px, 1.55vw, 22px); }

#home,
#franchise,
#benefits,
#support,
#courses,
#process,
#franchise-comparison,
#faq,
#franchise-enquiry { scroll-margin-top: 88px; }

/* Franchise enquiry: compact two-step track that keeps the connector clear of labels. */
.lead-form__progress {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

.lead-form__progress li {
    position: relative;
    display: grid;
    min-width: 0;
    grid-template-rows: 28px auto;
    justify-items: center;
    gap: 7px;
    color: #7890ad;
    font-size: .7rem;
    font-weight: 750;
    line-height: 1.25;
    text-align: center;
}

.lead-form__progress li + li::before {
    position: absolute;
    z-index: 0;
    top: 13px;
    left: calc(-50% + 14px);
    width: calc(100% - 28px);
    height: 2px;
    background: #dbe8f6;
    content: "";
}

.lead-form__progress li span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    color: #6d87a5;
    background: #eaf3fc;
    border-radius: 50%;
    font-size: .75rem;
}

.lead-form__progress li strong {
    display: block;
    max-width: 11rem;
}

.lead-form__progress li.is-active,
.lead-form__progress li.is-complete { color: var(--color-brand-blue); }
.lead-form__progress li.is-active span,
.lead-form__progress li.is-complete span { color: #fff; background: var(--color-brand-blue); }
.lead-form__progress li.is-complete + li::before { background: var(--color-brand-blue); }

.required-mark {
    display: inline;
    color: #c62828;
    font-size: .9em;
    font-weight: 800;
    line-height: 1;
}

.lead-form--success {
    padding-bottom: 24px;
}

.franchise-form__input-wrap {
    position: relative;
}

.franchise-form__field-icon {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 12px;
    width: 17px;
    height: 17px;
    color: #6d87a5;
    pointer-events: none;
    transform: translateY(-50%);
}

.franchise-form__field-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.franchise-form__input-wrap > input,
.franchise-form__input-wrap > select {
    padding-left: 40px;
}

@media (max-width: 390px) {
    .lead-form__progress li { font-size: .66rem; }
    .lead-form__progress li strong { max-width: 8.5rem; }
}

.site-header { border-bottom-color: rgba(20, 87, 199, 0.1); box-shadow: 0 3px 14px rgba(7, 31, 79, 0.045); }
.site-header__inner { min-height: 72px; }
.site-header__navigation { gap: 30px; }
.site-header__nav-list { gap: 22px; }
.site-header__cta { min-height: 44px; padding: 12px 22px; border-radius: 7px; box-shadow: 0 6px 14px rgba(7, 31, 79, 0.1); }
.button { min-height: 48px; padding: 13px 22px; border-radius: 7px; font-size: 0.82rem; letter-spacing: 0.025em; }
.section-heading { max-width: 740px; }
.section-heading h2 { font-size: clamp(2rem, 3.1vw, 2.55rem); line-height: 1.18; }
.section-heading p { max-width: 720px; margin-inline: auto; font-size: clamp(0.94rem, 1.2vw, 1rem); line-height: 1.68; }
.hero { background-image: radial-gradient(circle at 84% 16%, rgba(30, 102, 229, 0.4), transparent 27%), radial-gradient(circle at 73% 86%, rgba(20, 87, 199, 0.28), transparent 35%), linear-gradient(118deg, #071f4f 0%, #0a3373 56%, #1457c7 100%); }
.hero__container { min-height: 620px; padding-block: 66px; }
.hero__eyebrow { color: #ffffff; font-size: 0.75rem; letter-spacing: 0.15em; }
.hero__title { font-size: clamp(2.35rem, 3.8vw, 3.35rem); line-height: 1.1; }
.hero__description { max-width: 610px; font-size: 1rem; line-height: 1.72; }
.hero__support-list { gap: 13px; }
.lead-form { padding: 28px; border: 1px solid rgba(20, 87, 199, 0.14); border-top: 3px solid var(--color-brand-gold); border-radius: 12px; box-shadow: 0 22px 46px rgba(3, 18, 41, 0.22); }
.lead-form__field { margin-top: 13px; }
.lead-form__field label { color: var(--color-navy); font-size: 0.76rem; font-weight: 750; }
.lead-form__field input { height: 44px; border-color: rgba(20, 87, 199, 0.18); border-radius: 6px; }
.lead-form__submit { min-height: 48px; margin-top: 12px; }
.trust-strip__grid { column-gap: 10px; }
.trust-strip__item svg { width: 36px; height: 36px; }
.trust-strip__item p { font-size: clamp(0.95rem, 1.12vw, 1.02rem); }
.franchise-glance__card, .partner-card, .course-card, .journey-card, .comparison-card { border-radius: 12px; box-shadow: var(--shadow-card); }
.franchise-glance__card { min-height: 244px; padding: 28px; }
.franchise-glance__icon { width: 44px; height: 44px; padding: 8px; background: rgba(244, 197, 66, 0.08); border: 1px solid rgba(244, 197, 66, 0.2); border-radius: 10px; }
.partner-card { min-height: 224px; padding: 28px; }
.partner-card__icon, .course-card__icon { width: 44px; height: 44px; padding: 8px; background: #eaf3ff; border: 1px solid rgba(20, 87, 199, 0.13); border-radius: 10px; }
.partner-card p, .course-card p, .journey-card p { font-size: 0.875rem; }
.partner-card:hover { background: #f5f9ff; }
.franchise-package { padding-block: var(--section-padding); }
.franchise-package .section-heading { margin-bottom: clamp(38px, 4vw, 52px); }
.franchise-package__benefits, .franchise-cta-card { min-height: 468px; }
.franchise-package__benefits { padding: clamp(30px, 3vw, 38px); box-shadow: var(--shadow-card); }
.franchise-cta-card { box-shadow: 0 18px 40px rgba(7, 31, 79, 0.2); }
.course-card { min-height: 220px; padding: 30px 22px; }
.course-card p { min-height: 2.8em; }
.credibility-stat { min-height: 132px; padding-block: 22px; }
.credibility-stat strong { font-size: clamp(2rem, 3vw, 2.65rem); }
.journey__grid::before { background: linear-gradient(90deg, rgba(20, 87, 199, 0.55), var(--color-brand-gold), rgba(20, 87, 199, 0.55)); }
.journey-card { min-height: 230px; padding: 88px 25px 28px; }
.journey-card__number { width: 66px; height: 66px; background: var(--color-brand-gold); }
.comparison-table-wrap { box-shadow: 0 14px 32px rgba(7, 31, 79, 0.09); }
.comparison-table th, .comparison-table td { border-bottom-color: rgba(20, 87, 199, 0.16); }
.faq-section__grid { grid-template-columns: minmax(0, 2.15fr) minmax(270px, 1fr); gap: 28px; }
.faq__item { border-color: rgba(20, 87, 199, 0.12); border-radius: 10px; box-shadow: 0 8px 20px rgba(3, 18, 41, 0.1); }
.faq__question { min-height: 76px; padding: 20px; font-size: 0.9rem; }
.faq__question[aria-expanded="true"] { color: var(--color-brand-blue); background: #f5f9ff; }
.faq__answer { padding: 0 20px 20px; font-size: 0.86rem; }
.expert-card { padding: 34px 30px; box-shadow: 0 18px 40px rgba(3, 18, 41, 0.28); }
.final-cta__inner { padding-block: clamp(78px, 7vw, 94px); }
.final-cta__content { max-width: 780px; }
.final-cta__content h2 { font-size: clamp(2.1rem, 3.8vw, 3.1rem); }

@media (max-width: 1199px) {
    .hero__container { min-height: 600px; gap: clamp(28px, 4vw, 48px); }
    .franchise-package__benefits, .franchise-cta-card { min-height: 0; }
}
@media (max-width: 767px) {
    :root { --section-padding: 56px; }
    .site-header__inner { min-height: 68px; }
    .hero__container { min-height: auto; padding-block: 54px; }
    .hero__title { font-size: clamp(2.1rem, 9vw, 2.8rem); }
    .lead-form { padding: 24px 20px; }
    .section-heading h2 { font-size: clamp(1.75rem, 7.5vw, 2.15rem); }
    .franchise-glance__card, .partner-card, .course-card, .journey-card { min-height: 0; padding: 25px 22px; }
    .course-card p { min-height: 0; }
    .journey__grid { gap: 16px; }
    .journey__grid::before {
        display: block;
        top: 28px;
        right: auto;
        bottom: 28px;
        left: 31px;
        width: 2px;
        height: auto;
    }
    .journey-card { min-height: 126px; padding: 27px 22px 25px 88px; text-align: left; }
    .journey-card__number {
        top: 22px;
        left: 0;
        width: 64px;
        height: 64px;
        transform: none;
    }
    .faq-section__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
    .faq-section__grid > *, .faq, .faq__item, .expert-card {
        width: 100%;
        min-width: 0;
    }
    .faq { grid-template-columns: minmax(0, 1fr); }
    .expert-card { min-height: 0; }
    .faq__question { min-height: 72px; padding: 18px; }
    .expert-card { padding: 30px 24px; }
    .final-cta__inner { padding-block: 68px; }
}
@media (max-width: 520px) {
    .button, .hero__button, .final-cta__button { min-height: 46px; }
    .section-divider { width: min(860px, 84%); }
}
@media (prefers-reduced-motion: reduce) {
    .button, .franchise-glance__card, .partner-card, .course-card, .journey-card, .franchise-cta-card { transition: none; }
}
