@font-face {
    font-family: 'BankGothicMedium';
    src: url('../fonts/BankGothicMedium.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PT Serif';
    src: url('../fonts/PTSerif-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PT Serif';
    src: url('../fonts/PTSerif-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PT Serif';
    src: url('../fonts/PTSerif-Italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'PT Serif Caption';
    src: url('../fonts/PTSerifCaption-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root {
    --ka-purple: #2A003D;
    --ka-purple-dark: #2A003D;
    --ka-purple-secondary: #590C60;

    --ka-gold: #FFD700;
    --ka-orange: #D76D1D;
    --ka-orange-dark: #D76D1D;

    --ka-yellow: #FFE91C;
    --ka-amber: #FFA024;

    --ka-purple-soft: #2A003DC9;
    --ka-purple-tint: #590C6038;

    --ka-white: #ffffff;
    --ka-light: #f5f6fa;
    --ka-text: #15121a;
    --ka-muted: #6c6572;
    --ka-border: #e8e3ef;

    --ka-gradient-purple: linear-gradient(135deg, #2A003D 0%, #590C60 100%);
    --ka-gradient-gold: linear-gradient(135deg, #FFD700 0%, #D76D1D 100%);
    --ka-gradient-yellow: linear-gradient(135deg, #FFE91C 0%, #FFA024 100%);

    --ka-shadow: 0 18px 45px rgba(31, 0, 52, 0.14);
    --ka-radius: 18px;
    --ka-container: 1180px;

    --ka-font-heading: 'BankGothicMedium', Arial, sans-serif;
    --ka-font-body: 'PT Serif', Georgia, serif;
    --ka-font-caption: 'PT Serif Caption', Georgia, serif;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    color: var(--ka-text);
    background: var(--ka-white);
    font-family: var(--ka-font-body);
}

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

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

h1,
h2,
h3,
h4,
h5,
h6,
.ka-logo,
.ka-menu a,
.ka-btn,
.ka-footer-logo,
.ka-footer h3,
.ka-stat-item strong,
.ka-structure-card strong,
.ka-module-item h3,
.ka-score-card h3,
.ka-audience-item,
.ka-benefit-card h3,
.ka-university-body h3,
.ka-exam-card h3,
.ka-testimonial-content h3,
.ka-faq-item summary {
    font-family: var(--ka-font-heading);
}

.ka-section-label,
.ka-stat-item span,
.ka-structure-card span,
.ka-university-body span,
.ka-exam-card span,
.ka-testimonial-content span {
    font-family: var(--ka-font-caption);
}

p,
li,
input,
textarea,
select,
button {
    font-family: inherit;
}

/* --------------------------------------------------------------------------
   Kornerston approved color and typography refinements
   -------------------------------------------------------------------------- */

.ka-course-hero h1,
.ka-study-hero h1,
.ka-home-hero h1,
.ka-about-hero h1,
.ka-archive-hero h1,
.ka-section-heading-row h2,
.ka-mission-card h2,
.ka-contact-card h2,
.ka-contact-info-card h2,
.ka-score-card h3,
.ka-benefit-card h3,
.ka-university-body h3,
.ka-exam-card h3,
.ka-testimonial-content h3,
.ka-archive-card h2,
.ka-home-card-body h3 {
    letter-spacing: -2.5px;
}

.ka-btn,
.ka-menu a,
.ka-logo,
.ka-footer-logo,
.ka-footer h3,
.ka-card-link,
.ka-audience-item,
.ka-stat-item strong,
.ka-faq-item summary {
    letter-spacing: -1px;
}

.ka-label-orange {
    background: var(--ka-gradient-gold);
    color: var(--ka-purple-dark);
}

.ka-course-stats,
.ka-score-card,
.ka-purple-section,
.ka-study-why,
.ka-final-cta {
    background: var(--ka-gradient-purple);
}

.ka-btn-primary,
.ka-inquiry {
    background: var(--ka-gradient-gold);
    color: var(--ka-purple-dark);
}

.ka-btn-purple,
.ka-menu-toggle,
.ka-logo-mark {
    background: var(--ka-gradient-purple);
    color: var(--ka-white);
}

.ka-btn-primary:hover {
    background: var(--ka-gradient-yellow);
    color: var(--ka-purple-dark);
}

.ka-btn-purple:hover {
    background: var(--ka-purple-soft);
}

.ka-container {
    width: min(var(--ka-container), calc(100% - 40px));
    margin: 0 auto;
}
