/* ==========================================================================
   Heerise Custom CSS
   Design System: Inter font, #017AFF primary blue
   Overrides hugo-universal-theme defaults
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. GLOBAL: Font & Colors
   -------------------------------------------------------------------------- */

body,
h1, h2, h3, h4, h5, h6,
.navbar,
.btn,
input, select, textarea,
p, a, li, span, label {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

body {
    color: #000000;
    font-size: 16px;
    line-height: 1.6;
}

a {
    color: #017AFF;
}

a:hover,
a:focus {
    color: #005bbf;
}

/* --------------------------------------------------------------------------
   2. TYPOGRAPHY SCALE (from design system: 10px - 72px)
   -------------------------------------------------------------------------- */

h1 { font-size: 56px; font-weight: 700; line-height: 1.1; margin-bottom: 20px; }
h2 { font-size: 36px; font-weight: 700; line-height: 1.2; margin-bottom: 16px; }
h3 { font-size: 24px; font-weight: 600; line-height: 1.3; margin-bottom: 12px; }
h4 { font-size: 20px; font-weight: 600; line-height: 1.4; margin-bottom: 10px; }
h5 { font-size: 18px; font-weight: 500; line-height: 1.4; }
h6 { font-size: 16px; font-weight: 500; line-height: 1.5; }

/* --------------------------------------------------------------------------
   3. BUTTONS
   -------------------------------------------------------------------------- */

.btn-template-main {
    background-color: #017AFF;
    border-color: #017AFF;
    color: #FFFFFF;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    padding: 10px 24px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

.btn-template-main:hover,
.btn-template-main:focus {
    background-color: #005bbf;
    border-color: #005bbf;
    color: #FFFFFF;
}

.btn-cta-primary {
    background-color: #017AFF;
    border: 2px solid #017AFF;
    color: #FFFFFF;
    border-radius: 6px;
    font-weight: 600;
    font-size: 16px;
    padding: 14px 40px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: background-color 0.2s ease, transform 0.1s ease;
    display: inline-block;
}

.btn-cta-primary:hover,
.btn-cta-primary:focus {
    background-color: #005bbf;
    border-color: #005bbf;
    color: #FFFFFF;
    text-decoration: none;
}

.btn-template-transparent-black {
    border-color: #017AFF;
    color: #017AFF;
}

.btn-template-transparent-black:hover {
    background-color: #017AFF;
    color: #FFFFFF;
}

/* --------------------------------------------------------------------------
   4. NAVBAR — Figma: Frame 10, height 72px, padding 16px 16px 0px
   -------------------------------------------------------------------------- */

.navbar.navbar-default {
    background-color: #FFFFFF;
    border-bottom: none;
    box-shadow: none;
    min-height: 72px;
    max-height: 72px;
    padding: 0;
    margin: 0;
}

.navbar.navbar-default .container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 16px 40px 0;
}

/* Nav items: Figma 12px, weight 600, color #2C2C2C */
.navbar.navbar-default .navbar-nav > li > a {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 15px;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    color: #2C2C2C;
    padding: 17px 20px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
    border: none;
    border-radius: 0;
    background-color: transparent;
}

/* Hover: text color only — no blue bar / background */
#navbar.navbar.navbar-default .navbar-nav > li:not(.active) > a:hover,
#navbar.navbar.navbar-default .navbar-nav > li:not(.active) > a:focus,
.navbar.navbar-default .navbar-nav > li:not(.active) > a:hover,
.navbar.navbar-default .navbar-nav > li:not(.active) > a:focus {
    color: #017AFF !important;
    background-color: transparent !important;
    border: none !important;
    text-decoration: none;
    box-shadow: none;
}

/* Active/selected state: solid blue bar with SQUARE corners */
.navbar.navbar-default .navbar-nav > li.active > a,
.navbar.navbar-default .navbar-nav > li.active > a:hover,
.navbar.navbar-default .navbar-nav > li.active > a:focus {
    color: #FFFFFF;
    background-color: rgba(1, 122, 255, 0.8);
    border: none;
    border-radius: 0;
    text-decoration: none;
}

.navbar.navbar-default .navbar-brand h4 {
    color: #000000;
    font-weight: 700;
    font-size: 22px;
    margin: 0;
}

/* Nav logo — aligned with content area left edge */
.navbar.navbar-default .navbar-header .navbar-brand {
    padding: 0 !important;
    height: auto !important;
    margin: -6px 0 0 -40px !important;
    float: left;
}

.navbar.navbar-default .navbar-header .navbar-brand img {
    width: 56px;
    height: 56px;
    max-height: none !important;
    object-fit: contain;
}

/* Hide top bar completely */
#top {
    display: none !important;
}

/* Mobile hamburger menu — solid white background when expanded */
@media (max-width: 767px) {
    .navbar-collapse.in,
    .navbar-collapse.collapsing {
        background-color: #FFFFFF !important;
        padding: 16px;
        margin-top: 8px;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }
}

/* --------------------------------------------------------------------------
   5. HERO HOME SECTION
   -------------------------------------------------------------------------- */

.hero-home {
    background: linear-gradient(98.78deg, #000306 -5.07%, #06020d 108.39%);
    width: 100%;
    height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.hero-home::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.15);
    z-index: 1;
    pointer-events: none;
}

/* ========== VANTA.JS WAVES - container (remove with hero_home.html block to disable) ========== */
.hero-vanta {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
}
/* ========== VANTA.JS WAVES - container END ========== */

.hero-topographic {
    position: absolute;
    width: 1328px;
    height: 963px;
    left: calc(50% - 640px - 24px);
    top: -243px;
    background: url('/img/topographic-bg.png') no-repeat;
    background-size: 100% 100%;
    mix-blend-mode: screen;
    opacity: 0.6;
    pointer-events: none;
    z-index: 2;
}

.hero-home-inner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    width: 100%;
    max-width: 1122px;
    text-align: center;
    padding: 0 24px;
    box-sizing: border-box;
}

.hero-home .hero-heading {
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 900;
    font-size: 64px;
    line-height: 77px;
    text-align: center;
    color: #FFFFFF;
    margin-bottom: 36px;
    max-width: 1122px;
    margin-left: auto;
    margin-right: auto;
}

.hero-home .hero-line {
    display: block;
}

.hero-home .hero-tagline {
    font-family: 'Inter', sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 24px;
    line-height: 29px;
    text-align: center;
    color: #FFFFFF;
    max-width: 912px;
    margin: 0 auto;
}

/* Responsive hero — keep proportions, scale text only on small screens */
@media (max-width: 991px) {
    .hero-home .hero-heading {
        font-size: 48px;
        line-height: 58px;
    }
    .hero-home .hero-tagline {
        font-size: 20px;
        line-height: 26px;
    }
}

@media (max-width: 767px) {
    .hero-home {
        height: 360px;
        padding: 0 15px;
    }
    .hero-home .hero-heading {
        font-size: 36px;
        line-height: 44px;
        margin-bottom: 24px;
    }
    .hero-home .hero-tagline {
        font-size: 16px;
        line-height: 22px;
    }
}

/* --------------------------------------------------------------------------
   6. FEATURED EVENT SECTION — Figma: Frame 27, 1280×400, bg #FFFFFF
   -------------------------------------------------------------------------- */

.featured-event {
    background-color: #FFFFFF;
    width: 100%;
    min-height: 520px;
    padding: 0 0 60px;
    position: relative;
}

.fe-wrapper {
    max-width: 1280px;
    margin: 0 auto;
    position: relative;
    min-height: 520px;
    padding: 0;
}

/* Top label — Figma: left 54px, top 26px */
.fe-top-label {
    position: absolute;
    left: 54px;
    top: 26px;
}

.fe-label-text {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 19px;
    color: #000000;
}

/* Content row: image left + info right */
.fe-content-row {
    display: flex;
    position: absolute;
    left: 54px;
    top: 60px;
    right: 54px;
    gap: 65px;
}

/* Left image — Figma: 454×303 */
.fe-image-col {
    flex-shrink: 0;
    width: 454px;
}

.fe-image-wrapper {
    position: relative;
    width: 454px;
    height: 303px;
}

.fe-image {
    width: 454px;
    height: 303px;
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

/* Featured badge on image — Figma: #F07850 */
.fe-featured-badge {
    position: absolute;
    left: 29px;
    top: 0;
    background: #F07850;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 4px 5px;
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 8px;
    line-height: 10px;
    color: #FFFFFF;
}

.fe-badge-icon {
    width: 8px;
    height: 8px;
    font-size: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Right info column — Figma: width 659px */
.fe-info-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.fe-info-top {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Title row — title + cohort badge inline */
.fe-title-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.fe-title-block {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fe-title {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 29px;
    color: #000000;
    margin: 0;
}

.fe-title-bar {
    width: 60px;
    height: 1px;
    background: #017AFF;
}

/* Cohort badge — Figma: rgba(1,122,255,0.1) bg, #017AFF text, 10px */
.fe-cohort-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    background: rgba(1, 122, 255, 0.1);
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 10px;
    line-height: 12px;
    color: #017AFF;
    white-space: nowrap;
}

/* Featured event countdown */
.fe-countdown {
    font-family: 'Inter', monospace;
    font-weight: 600;
    font-size: 18px;
    color: #017AFF;
}
.fe-countdown [data-countdown-days],
.fe-countdown [data-countdown-hours],
.fe-countdown [data-countdown-minutes],
.fe-countdown [data-countdown-seconds] {
    display: inline-block;
    min-width: 1.8em;
    text-align: center;
}
.fe-countdown.is-expired { color: #666; }

/* Description text — Figma: 16px, weight 200, letter-spacing 0.25px */
.fe-desc {
    font-family: 'Inter', sans-serif;
    font-weight: 200;
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 0.25px;
    color: #000000;
    margin: 0;
}

/* Stats row — Figma: gap 65px */
.fe-stats-row {
    display: flex;
    align-items: center;
    gap: 65px;
}

.fe-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.fe-stat-number {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 24px;
    text-align: center;
    color: #017AFF;
}

.fe-stat-label {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 15px;
    text-align: center;
    color: #2C2C2C;
}

/* Countdown in featured event — tight spacing after stats */
.fe-info-col .fe-countdown {
    margin-top: 0;
    margin-bottom: 0;
}

/* CTA button — Figma: #017AFF, border-radius 8px, padding 12px 20px */
.fe-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: #017AFF;
    border-radius: 8px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 17px;
    text-align: center;
    color: #FFFFFF;
    text-decoration: none;
    transition: background-color 0.2s ease;
    width: fit-content;
}

.fe-cta-btn:hover {
    background: #005bbf;
    color: #FFFFFF;
    text-decoration: none;
}

.fe-cta-arrow {
    font-size: 12px;
}

/* Responsive featured event */
@media (max-width: 991px) {
    .featured-event {
        height: auto;
        padding: 30px 0;
    }
    .fe-content-row {
        position: static;
        flex-direction: column;
        padding: 20px 30px;
        gap: 30px;
    }
    .fe-top-label {
        position: static;
        padding: 20px 30px 0;
    }
    .fe-image-col,
    .fe-image-wrapper,
    .fe-image {
        width: 100%;
        height: auto;
    }
}

@media (max-width: 767px) {
    .fe-stats-row {
        flex-wrap: wrap;
        gap: 20px;
    }
    .fe-stat {
        width: calc(50% - 10px);
    }
}

/* --------------------------------------------------------------------------
   7. FOOTER — Figma Frame 21: 1280×430, bg #001021
   -------------------------------------------------------------------------- */

#footer {
    background: #001021;
    color: #FFFFFF;
    padding: 0;
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 430px;
}
#footer .container {
    max-width: none;
    width: 100%;
    padding: 0;
}
.footer-bg-decoration {
    position: absolute;
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
    right: 0;
    pointer-events: none;
    z-index: 0;
    object-fit: cover;
}
/* Frame 277: left 38px, top 104px, width 1204px, gap 58px */
.footer-inner-wrap {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding: 27px 38px 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 58px;
}
/* Frame 275: row, 1204px, space-between, gap 414px */
.footer-content-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    max-width: 1204px;
    gap: 40px;
}
/* Frame 276: logo + tagline, flex row, gap 58px */
.footer-left {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 58px;
    flex: none;
}
/* Picture2: 86×86 */
.footer-logo {
    flex-shrink: 0;
    width: 86px;
    height: 86px;
}
.footer-logo img {
    width: 86px;
    height: 86px;
    object-fit: contain;
}
/* Design Your Future With Confidence.: 20px, weight 500, line-height 24px */
.footer-tagline {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 24px;
    color: #FFFFFF;
    margin: 0;
    max-width: 158px;
}
.footer-col-links,
.footer-col-social {
    flex-shrink: 0;
}
/* Company / Follow us: 16px bold header, 14px links */
.footer-col-links h4,
.footer-col-social h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 19px;
    color: #FFFFFF;
    text-transform: none;
    letter-spacing: 0;
    margin: 0 0 16px 0;
}
.footer-col-links ul,
.footer-col-social ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.footer-col-links a,
.footer-col-social a {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #FFFFFF;
    text-decoration: none;
}
.footer-col-links a:hover,
.footer-col-social a:hover {
    color: #80BCFF;
    text-decoration: none;
}
/* Line 6: 0.5px solid #FFFFFF */
.footer-divider-line {
    width: 100%;
    max-width: 1204px;
    align-self: stretch;
    height: 0;
    border: none;
    border-top: 0.5px solid rgba(255, 255, 255, 0.5);
}
.footer-copyright {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 10px;
    line-height: 12px;
    text-align: center;
    color: #FFFFFF;
    margin: 0;
    align-self: stretch;
}

/* Remove any old #copyright div styling */
#copyright {
    display: none;
}

/* Responsive footer */
@media (max-width: 767px) {
    .newsletter-wrapper {
        flex-direction: column;
        align-items: flex-start;
    }
    .newsletter-form {
        width: 100%;
        max-width: none;
    }

    /* ==== MOBILE FOOTER v2 (grid: brand on top, Company + Follow us side-by-side) ==== */
    /* !important used to defeat any stale cached CSS / theme override on any page  */
    #footer {
        min-height: 0 !important;
    }
    .footer-inner-wrap {
        padding: 32px 20px 20px !important;
        gap: 32px !important;
    }
    .footer-content-row {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        grid-template-areas:
            "brand brand"
            "links social" !important;
        row-gap: 28px !important;
        column-gap: 24px !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 0 !important;
        flex-direction: unset !important;
        justify-content: unset !important;
    }
    .footer-left {
        grid-area: brand !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 20px !important;
        flex-wrap: wrap !important;
    }
    .footer-col-links {
        grid-area: links !important;
        min-width: 0 !important;
    }
    .footer-col-social {
        grid-area: social !important;
        min-width: 0 !important;
    }
    .footer-col-links h4,
    .footer-col-social h4 {
        margin-bottom: 12px !important;
    }
    .footer-col-links ul,
    .footer-col-social ul {
        gap: 10px !important;
    }
}

@media (max-width: 380px) {
    .footer-content-row {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "brand"
            "links"
            "social" !important;
    }
}

/* --------------------------------------------------------------------------
   8. ABOUT PAGE — Figma: Frame 268, 1280×1277.54
   -------------------------------------------------------------------------- */

/* Who Are We? — Figma: Frame 266, 1280×520, padding 48px, bg #FFFFFF */
.about-whoarewe {
    background: #FFFFFF;
    width: 100%;
    min-height: 520px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 48px;
}

.about-whoarewe-inner {
    max-width: 1184px;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
}

.about-text-col {
    width: 545px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
}

/* "Who Are We?" — Figma: 64px, weight 900, letter-spacing 2px, #017AFF */
.about-title {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-size: 64px;
    line-height: 77px;
    letter-spacing: 2px;
    color: #017AFF;
    margin: 0;
}

/* Body text — Figma: 20px, weight 300, #3C3C3C */
.about-body {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 20px;
    line-height: 24px;
    color: #3C3C3C;
    width: 468px;
    margin: 0;
    text-align: justify;
}

/* Image — Figma: 606×414, border-radius 8px */
.about-image-col {
    flex-shrink: 0;
}

.about-image {
    width: 606px;
    height: 414px;
    object-fit: cover;
    border-radius: 8px;
}

/* MISSION — Figma: Frame 258, 1280×237.54, bg #017AFF, padding 48px 80px, gap 48px */
.about-mission {
    background: #017AFF;
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0;
}

.about-mission-inner {
    max-width: 1280px;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 48px 80px 32px;
    gap: 48px;
}

/* Divider between Mission and Vision — flush inside blue area */
.about-divider {
    width: 100%;
    background: #017AFF;
    padding: 0;
    margin: 0;
    height: 0;
    border: none;
    display: flex;
    justify-content: center;
}
.about-divider::after {
    content: '';
    display: block;
    width: 100%;
    max-width: 1120px;
    height: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.6);
}

/* VISION — Figma: Frame 259, 1280×360, pure #017AFF background */
.about-vision {
    background: #017AFF;
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0;
}

.about-vision-inner {
    max-width: 1280px;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 32px 80px 48px;
    gap: 91px;
}

/* Shared icon wrapper for MISSION / VISION — Figma: Frame 270, 146×141.54 */
.about-mv-icon-wrapper {
    flex-shrink: 0;
    width: 146px;
    height: 142px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    isolation: isolate;
    padding: 48px 6px;
}

/* Looper decorations — positioned behind the label */
.about-looper {
    position: absolute;
    pointer-events: none;
    z-index: 0;
}

/* Looper-1 — Figma: 179.97×174.46, left -16.98, top -16.46 */
.about-looper-1 {
    width: 180px;
    height: 174px;
    left: -17px;
    top: -16px;
}

/* Looper-3 — Figma: 184.42×188.91, left -19.21, top -19.68, opacity 0.5 */
.about-looper-3 {
    width: 184px;
    height: 189px;
    left: -19px;
    top: -20px;
    opacity: 0.5;
}

/* "MISSION" / "VISION" label — Figma: 24px, weight 900, letter-spacing 2px, white */
.about-mv-label {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-size: 24px;
    line-height: 29px;
    text-align: center;
    letter-spacing: 2px;
    color: #FFFFFF;
    position: relative;
    z-index: 1;
}

/* Mission text — Figma: width 877px, 20px, weight 400, white */
.about-mission-text {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 24px;
    color: #FFFFFF;
    max-width: 877px;
    margin: 0;
}

/* Vision text — Figma: width 934px, 20px, weight 400, white */
.about-vision-text {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 24px;
    color: #FFFFFF;
    max-width: 934px;
    margin: 0;
}

.about-body strong {
    font-weight: 700;
}

.about-vision-text strong {
    font-weight: 700;
}

.about-vision-list {
    list-style: disc;
    padding-left: 24px;
    margin: 16px 0 0 0;
}

.about-vision-list li {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 24px;
    color: #FFFFFF;
    margin-bottom: 16px;
}

.about-vision-list li strong {
    font-weight: 700;
}

/* Responsive about */
@media (max-width: 991px) {
    .about-whoarewe-inner {
        flex-direction: column;
        align-items: center;
    }
    .about-text-col {
        width: 100%;
        align-items: center;
        text-align: center;
    }
    .about-body {
        width: 100%;
    }
    .about-title {
        font-size: 48px;
        line-height: 58px;
    }
    .about-image {
        width: 100%;
        height: auto;
    }
    .about-mission-inner,
    .about-vision-inner {
        flex-direction: column;
        padding: 36px 30px;
        gap: 24px;
        text-align: center;
    }
}

@media (max-width: 767px) {
    .about-whoarewe {
        padding: 30px 20px;
    }
    .about-title {
        font-size: 36px;
        line-height: 44px;
    }
    .about-body {
        font-size: 16px;
        line-height: 22px;
    }
}

/* --------------------------------------------------------------------------
   9. CONTACT PAGE — Figma: 1280×983
   -------------------------------------------------------------------------- */

/* Hero banner — Figma: Frame 13, 1280×190, gradient + looper-1 */
.contact-hero {
    width: 100%;
    height: 190px;
    background: linear-gradient(91.16deg, #017AFF 0.99%, #1F0199 130.31%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    padding: 61px 50px;
}

.contact-looper {
    position: absolute;
    width: 350px;
    height: 340px;
    left: calc(50% - 640px + 930px);
    top: -74px;
    opacity: 0.4;
    pointer-events: none;
    z-index: 0;
}

.contact-hero-content {
    max-width: 1177px;
    width: 100%;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Title — Figma: 40px, weight 700, white */
.contact-hero-title {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 48px;
    color: #FFFFFF;
    margin: 0;
}

/* Subtitle — Figma: 16px, weight 300, letter-spacing 0.25px, white */
.contact-hero-subtitle {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 0.25px;
    color: #FFFFFF;
    margin: 0;
}

/* Form section — Figma: Frame 111, 1280×645, centered */
.contact-form-section {
    width: 100%;
    min-height: 645px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    background: #FFFFFF;
}

/* Form card — Figma: Frame 110, 669×592, border, shadow, border-radius 8px */
.contact-form-card {
    width: 669px;
    background: #FFFFFF;
    border: 1px solid #DADADA;
    box-shadow: 0px 4px 4.8px rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* Form rows spacing — gap between First Name/Email, Email/How did you hear, etc. */
.contact-form-card #contact-form {
    display: flex;
    flex-direction: column;
    gap: 56px;
}

/* Two-column row — Figma: gap 16px */
.cf-row {
    display: flex;
    gap: 16px;
    width: 100%;
}

/* Field — Figma: 300px wide in rows, gap 8px between label and input */
.cf-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 300px;
}

.cf-field-full {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

/* Label — Figma: 14px, weight 400, color #364153 */
.cf-label {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: #364153;
    margin: 0;
}

/* Input — Figma: 40px height, border #E5E5E5, border-radius 4px, padding 10px */
.cf-input,
.cf-select {
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    padding: 10px;
    background: #FFFFFF;
    border: 1px solid #E5E5E5;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #000000;
    outline: none;
    transition: border-color 0.2s ease;
}

.cf-input::placeholder {
    color: #9CAEB5;
}

.cf-input:focus,
.cf-select:focus {
    border-color: #017AFF;
    box-shadow: 0 0 0 2px rgba(1, 122, 255, 0.1);
}

.cf-select {
    appearance: auto;
    -webkit-appearance: auto;
    color: #9CAEB5;
}

.cf-select:valid {
    color: #000000;
}

/* Textarea — Figma: 116px height */
.cf-textarea {
    box-sizing: border-box;
    width: 100%;
    height: 116px;
    padding: 10px;
    background: #FFFFFF;
    border: 1px solid #E5E5E5;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #000000;
    outline: none;
    resize: vertical;
    transition: border-color 0.2s ease;
}

.cf-textarea::placeholder {
    color: #9CAEB5;
}

.cf-textarea:focus {
    border-color: #017AFF;
    box-shadow: 0 0 0 2px rgba(1, 122, 255, 0.1);
}

/* Checkbox row — Figma: gap 16px */
.cf-checkbox-row {
    display: flex;
    gap: 16px;
    align-items: center;
}

.cf-checkbox-label {
    display: flex;
    align-items: center;
    cursor: pointer;
    gap: 0;
    height: 48px;
    margin: 0;
    font-weight: 400;
}

.cf-checkbox-label input[type="checkbox"] {
    display: none;
}

/* Custom checkbox box — Figma: 18×18, border 2px #20616D, border-radius 2px */
.cf-checkbox-box {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid #20616D;
    border-radius: 2px;
    margin-right: 10px;
    flex-shrink: 0;
    position: relative;
}

.cf-checkbox-label input[type="checkbox"]:checked + .cf-checkbox-box {
    background: #017AFF;
    border-color: #017AFF;
}

.cf-checkbox-label input[type="checkbox"]:checked + .cf-checkbox-box::after {
    content: '✓';
    color: #FFFFFF;
    font-size: 12px;
    position: absolute;
    top: 0;
    left: 2px;
}

/* Checkbox text — Figma: 14px, weight 400, #364153 */
.cf-checkbox-text {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: #364153;
}

/* Submit button — Figma: full width 621px, 40px height, #017AFF, border-radius 4px */
.cf-submit {
    width: 100%;
    height: 40px;
    background: #017AFF;
    border: none;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    text-transform: uppercase;
    color: #FFFFFF;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.cf-submit:hover {
    background: #005bbf;
}

/* Contact form feedback messages */
.contact-feedback {
    padding: 14px 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
}

.contact-feedback-success {
    background-color: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #a5d6a7;
}

.contact-feedback-error {
    background-color: #fce4ec;
    color: #c62828;
    border: 1px solid #ef9a9a;
}

/* Responsive contact */
@media (max-width: 767px) {
    .contact-hero {
        height: auto;
        padding: 30px 20px;
    }
    .contact-hero-title {
        font-size: 28px;
        line-height: 34px;
    }
    .contact-form-card {
        width: 100%;
    }
    .cf-row {
        flex-direction: column;
    }
    .cf-field {
        width: 100%;
    }
    .cf-checkbox-row {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* --------------------------------------------------------------------------
   10. CAREER LAB PAGE
   -------------------------------------------------------------------------- */

/* Hero — two columns */
/* ---- Hero Section (Frame 27, 1280×400) ---- */
.cl-hero {
    width: 100%;
    background: #FFFFFF;
    display: flex;
    justify-content: center;
    padding: 60px 50px 5px;
}

.cl-featured-event .cl-hero-shell {
    max-width: 1180px;
    width: 100%;
}

.cl-featured-event-header {
    margin-bottom: 24px;
}

.cl-featured-event-title {
    margin: 0;
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    color: #111111;
}

.cl-featured-event-line {
    width: 90px;
    height: 3px;
    margin-top: 10px;
    border-radius: 999px;
    background: #017AFF;
}

.cl-hero-inner {
    display: flex;
    gap: 65px;
    max-width: 1180px;
    width: 100%;
    align-items: flex-start;
    animation: clHeroSlideUp 0.7s ease-out forwards;
}

@keyframes clHeroSlideUp {
    from {
        opacity: 0;
        transform: translateY(48px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.cl-hero-image {
    position: relative;
    width: 455px;
    height: 304px;
    border-radius: 4px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.cl-featured-event-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 6px;
    background: #ff7a45;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 6px 14px rgba(255, 122, 69, 0.25);
}

.cl-featured-event-badge::before {
    content: "♦";
    font-size: 10px;
    line-height: 1;
}

.cl-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cl-hero-content {
    width: 658px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
}

.cl-title {
    font-family: 'Inter', sans-serif;
    font-size: 24px;
    font-weight: 600;
    color: #000000;
    line-height: 29px;
    margin: 0 0 4px 0;
}

.cl-title-underline {
    position: relative;
    display: inline-block;
}

.cl-title-underline::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 60px;
    height: 1px;
    background-color: #017AFF;
}

.cl-tag {
    display: inline-block;
    background-color: #D5F3F8;
    color: #017AFF;
    padding: 2px 8px;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 600;
    line-height: 12px;
    margin-bottom: 12px;
}

/* Inline "Coming Soon" style — sits next to the title on the compact
   featured-event card (no separate image column, no stats, no countdown). */
.cl-tag--inline {
    margin: 0 0 0 12px;
    vertical-align: middle;
    font-size: 12px;
    line-height: 14px;
    padding: 4px 12px;
    border-radius: 999px;
}

/* ---------- Featured Event — compact (Coming Soon) variant ---------- */
/* Keeps the original two-column layout with the hero image, but drops the
   stats/countdown and inlines the "Coming Soon" pill next to the title. */
.cl-featured-event--compact .cl-hero-content {
    gap: 22px;
}

.cl-featured-event--compact .cl-title {
    display: block;
    font-size: 22px;
    line-height: 28px;
    margin-bottom: 14px;
}

.cl-featured-event--compact .cl-desc {
    font-size: 15px;
    line-height: 22px;
    font-weight: 400;
    color: #4b5563;
}

.cl-featured-event--compact .cl-desc p {
    margin: 0 0 12px 0;
}

.cl-featured-event--compact .cl-desc p:last-child {
    margin-bottom: 0;
}

.cl-featured-event--compact .cl-hero-bottom {
    margin-top: 8px;
}

.cl-featured-event--compact .cl-cta-buttons {
    display: flex;
    gap: 12px;
}

.cl-featured-event--compact .cl-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: #4f46e5;
    color: #ffffff;
    border-radius: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s ease, transform 0.1s ease;
}

.cl-featured-event--compact .cl-btn-primary:hover,
.cl-featured-event--compact .cl-btn-primary:focus {
    background: #4338ca;
    text-decoration: none;
    color: #ffffff;
}

.cl-featured-event--compact .cl-btn-primary:active {
    transform: translateY(1px);
}

@media (max-width: 640px) {
    .cl-featured-event--compact .cl-title {
        font-size: 20px;
        line-height: 26px;
    }
    .cl-tag--inline {
        margin-left: 8px;
    }
}

.cl-desc {
    color: #000000;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 200;
    line-height: 19px;
    letter-spacing: 0.25px;
}

.cl-desc p {
    margin: 0 0 8px 0;
}
.cl-desc p:last-child {
    margin-bottom: 0;
}

/* Stats (gap: 65px per Figma) */
.cl-stats {
    display: flex;
    gap: 65px;
    margin-bottom: 18px;
}

.cl-stat {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.cl-stat-number {
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 600;
    color: #017AFF;
    line-height: 24px;
    text-align: center;
}

.cl-stat-label {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: #2C2C2C;
    line-height: 15px;
    text-align: center;
}

.cl-countdown {
    background: #f2f2f2;
    border-radius: 8px;
    padding: 18px 22px;
    margin: 8px 0 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.cl-countdown-label {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #2c2c2c;
    line-height: 1.2;
    white-space: nowrap;
    flex: 0 0 auto;
}

.cl-countdown-track {
    display: flex;
    align-items: center;
    gap: 14px;
}

.cl-countdown-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.cl-countdown-value {
    width: 60px;
    height: 60px;
    border-radius: 6px;
    background: #2f3135;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', sans-serif;
    font-size: 26px;
    font-weight: 600;
    line-height: 1;
}

.cl-countdown-sep {
    color: #2f3135;
    font-size: 32px;
    font-weight: 600;
    line-height: 1;
    margin-top: -12px;
}

.cl-countdown-unit-label {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.4px;
    line-height: 1;
    color: #2f3135;
}

.cl-countdown.is-expired .cl-countdown-label {
    color: #b42318;
}

/* CTA Buttons (210×41 primary, 155×41 secondary) */
.cl-cta-buttons {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.cl-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #017AFF;
    color: #FFFFFF;
    border: none;
    padding: 12px 20px;
    border-radius: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.2s;
    white-space: nowrap;
}

.cl-btn-primary:hover {
    background-color: #005bbf;
    color: #FFFFFF;
    text-decoration: none;
}

.cl-btn-secondary {
    display: inline-flex;
    align-items: center;
    background-color: #FFFFFF;
    color: #017AFF;
    border: 1px solid #017AFF;
    padding: 12px 20px;
    border-radius: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    transition: background-color 0.2s;
    white-space: nowrap;
}

.cl-btn-secondary:hover {
    background-color: #eff6ff;
    color: #017AFF;
    text-decoration: none;
}

/* ---- Syllabus preview modal ---- */
body.cl-modal-open {
    overflow: hidden;
}

.cl-syllabus-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
}

.cl-syllabus-modal.is-open {
    display: block;
}

.cl-syllabus-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 24, 39, 0.55);
}

.cl-syllabus-dialog {
    position: relative;
    width: min(860px, calc(100% - 32px));
    margin: 108px auto 24px;
    height: 700px;
    background: #FFFFFF;
    border-radius: 4px;
    padding: 62px 52px 36px;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.3);
    box-sizing: border-box;
    overflow: hidden;
}

.cl-syllabus-step {
    width: 100%;
}

.cl-syllabus-step[hidden] {
    display: none !important;
}

.cl-syllabus-step-form {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cl-syllabus-title {
    margin: 0;
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 30px;
    line-height: 1.12;
    font-weight: 600;
    color: #2C2C2C;
    letter-spacing: 0;
}

.cl-syllabus-form,
.cl-syllabus-step-pdf {
    max-width: 610px;
    margin-left: auto;
    margin-right: auto;
}

.cl-syllabus-form {
    margin-top: 24px;
    border: 1px solid #D8E9FF;
    border-radius: 4px;
    padding: 44px 42px 48px;
}

.cl-syllabus-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 16px;
}

.cl-syllabus-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.cl-syllabus-field-full {
    grid-column: 1 / -1;
}

.cl-syllabus-field label {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #334155;
    line-height: 1.2;
}

.cl-syllabus-field input {
    height: 42px;
    width: 100%;
    border: 1px solid #E2E8F0;
    border-radius: 4px;
    padding: 0 12px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #111827;
    background: #FFFFFF;
}

.cl-syllabus-field input::placeholder {
    color: #9CA3AF;
}

.cl-syllabus-field input:focus {
    outline: none;
    border-color: #017AFF;
    box-shadow: 0 0 0 3px rgba(1, 122, 255, 0.12);
}

.cl-syllabus-error {
    min-height: 20px;
    margin: 10px 0 0;
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #c62828;
}

.cl-syllabus-preview-btn {
    display: block;
    min-width: 152px;
    margin: 26px auto 0;
    padding: 10px 18px;
    border: 1px solid #0B6AE6;
    border-radius: 2px;
    background: #017AFF;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    cursor: pointer;
}

.cl-syllabus-preview-btn:hover {
    background: #005fc7;
}

.cl-syllabus-step-pdf {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.cl-syllabus-step-pdf .cl-syllabus-title {
    margin-bottom: 28px;
}

.cl-syllabus-pdf-wrap {
    width: 100%;
    height: 470px;
    border: 1px solid #D1D5DB;
    background: #FFFFFF;
}

.cl-syllabus-pdf-wrap iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.cl-syllabus-close-btn {
    display: block;
    margin: 16px auto 0;
    border: none;
    background: transparent;
    padding: 0;
    color: #017AFF;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    cursor: pointer;
}

/* ---- Tab Navigation (blue bar, white text, #017aff) ---- */
.cl-tabs-nav {
    background: #017AFF;
    position: sticky;
    top: 72px;
    z-index: 90;
    height: 48px;
    display: flex;
    align-items: center;
}

.cl-tabs-inner {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
    padding: 0 50px;
}

.cl-tabs {
    display: flex;
    gap: 25px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.cl-tab {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    padding: 12px 16px;
    position: relative;
    transition: color 0.2s, opacity 0.2s;
    line-height: 24px;
}

.cl-tab:hover {
    color: #FFFFFF;
}

.cl-tab.active {
    color: #FFFFFF;
    font-weight: 700;
}

.cl-tab.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #FFFFFF;
    border-radius: 0;
}

/* Tab Content */
.cl-tab-content {
    display: none;
}

.cl-tab-content.active {
    display: block;
}

.cl-section-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 10px 50px;
}

/* ---- Section Header (badge + title) ---- */
.cl-section-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}

.cl-section-tag {
    display: inline-block;
    background-color: rgba(1, 122, 255, 0.1);
    color: #017AFF;
    padding: 2px 12px;
    border-radius: 4px;
    font-family: 'Arial', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    text-align: center;
    white-space: nowrap;
}

.cl-section-title {
    font-family: 'Inter', sans-serif;
    font-size: 24px;
    font-weight: 300;
    color: #2C2C2C;
    line-height: 40px;
    margin: 0;
}

/* ---- Cards Grid (Outcomes) ---- */
.cl-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 42px;
    max-width: 1180px;
}

.cl-card {
    background-color: #FFFFFF;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 36px;
    transition: box-shadow 0.2s, border-color 0.2s;
}

.cl-card:hover {
    box-shadow: none;
    transform: none;
}

/* Per-card color borders — Outcome cards */
.cl-card-yellow { border-color: #FEF3C6; }
.cl-card-blue   { border-color: #DBEAFE; }
.cl-card-green  { border-color: #D0FAE5; }
.cl-card-purple { border-color: #F3E8FF; }
.cl-card-ai     { border-color: #E6FFE6; background: #FFFFFF; }

/* Card Icons — 64×64, border-radius 14px */
.cl-card-icon {
    width: 64px;
    height: 64px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 17px;
    background-color: #f3f4f6;
}

.cl-card-icon svg {
    width: 32px;
    height: 32px;
}

/* Outcome icon color variants */
.cl-icon-yellow    { background-color: #FEF3C6; }
.cl-icon-blue      { background-color: #DBEAFE; }
.cl-icon-blue-dark { background-color: #DBEAFE; }
.cl-icon-green     { background-color: #D0FAE5; }
.cl-icon-purple    { background-color: #F3E8FF; }
.cl-icon-ai        { background-color: #E6FFE6; }

/* Project icon — 48×48, blue bg, white SVG */
.cl-icon-project {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background-color: #017AFF;
}
.cl-icon-project svg {
    width: 24px;
    height: 24px;
}

.cl-card-title {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #0A0A0A;
    line-height: 28px;
    margin-bottom: 10px;
}

/* Project tab card titles are bold */
.cl-project-title {
    font-weight: 700;
}

.cl-card-desc {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #717182;
    line-height: 17px;
}

/* ---- Project cards — blue tinted ---- */
.cl-project-card {
    background-color: rgba(1, 122, 255, 0.1);
    border: 1px solid #DBEAFE;
}

/* Row gap between card rows (54px per Figma) */
.cl-cards-grid {
    row-gap: 54px;
    column-gap: 42px;
}

/* ---- Instructors (bg: rgba(164,241,255,0.1)) ---- */
.cl-instructors-section {
    background-color: rgba(164, 241, 255, 0.1);
    width: 100%;
    padding: 10px 0;
}

.cl-instructors-wrapper {
    max-width: 1280px;
    margin: 0 auto;
    padding: 10px 50px;
}

.cl-instructors-section .cl-section-inner {
    padding: 0;
}

.cl-instructors-grid {
    display: flex;
    gap: 84px;
    justify-content: space-between;
    align-items: flex-start;
    padding: 8px 0 2px;
    max-width: 1180px;
    margin: 0 auto;
}

.cl-instructor-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 16px;
    flex: 0 1 548px;
    max-width: 548px;
    text-align: center;
    padding: 0;
    border: none;
    background: transparent;
}

.cl-instructor-card:hover {
    box-shadow: none;
}

.cl-instructor-avatar-wrap {
    width: 128px;
    height: 128px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, #DBEAFE 0%, #EFF6FF 100%);
    flex-shrink: 0;
}

.cl-instructor-avatar {
    width: 128px;
    height: 128px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    display: block;
    border: none;
    margin: 0;
}

.cl-instructor-name {
    font-family: 'Arial', sans-serif;
    font-size: 24px;
    font-weight: 400;
    color: #0A0A0A;
    line-height: 32px;
    margin: 0;
    text-align: center;
    width: 100%;
}

.cl-instructor-desc {
    font-family: 'Arial', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #4A5565;
    line-height: 24px;
    text-align: left;
    margin: 0;
}

.cl-instructor-link {
    font-family: 'Arial', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #017AFF;
    text-decoration: none;
}

.cl-instructor-link:hover {
    color: #005bbf;
    text-decoration: underline;
}

/* ---- Pricing Section ---- */
.cl-pricing-section {
    padding: 10px 0;
}

.cl-pricing-container {
    max-width: 1260px;
    margin: 0 auto;
    background-color: rgba(164, 241, 255, 0.15);
    padding: 24px 40px;
    border-radius: 0;
}

.cl-pricing-header {
    justify-content: center;
}

.cl-pricing-announcement {
    font-family: 'Arial', sans-serif;
    text-align: left;
    font-size: 20px;
    font-weight: 400;
    line-height: 28px;
    color: #4A5565;
    margin-bottom: 24px;
    max-width: 1180px;
}

.cl-pricing-offers {
    display: flex;
    gap: 15px;
    justify-content: flex-start;
    margin-bottom: 24px;
    flex-wrap: wrap;
    max-width: 1180px;
}

.cl-offer-box {
    padding: 12px 24px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 13px;
    font-family: 'Arial', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    border: 2px solid;
}

.cl-offer-yellow {
    background-color: #FFFBEB;
    color: #7B3306;
    border-color: #FEE685;
}

.cl-offer-green {
    background-color: #F0FDF4;
    color: #0D542B;
    border-color: #B9F8CF;
}

.cl-pricing-grid {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    margin-top: 0;
    max-width: 1181px;
}

/* Basic / Elite — 361×712 */
.cl-pricing-card {
    background-color: #FFFFFF;
    border: 1px solid #D6D6D6;
    border-radius: 8px;
    padding: 24px;
    position: relative;
    width: 361px;
    flex-shrink: 0;
    text-align: center;
}

.cl-pricing-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

/* Premium Recommended — 409×760, border 6px solid #017AFF */
.cl-pricing-recommended {
    border: 6px solid #017AFF;
    border-radius: 8px;
    padding: 48px;
    width: 409px;
    box-shadow: none;
}

.cl-recommended-badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #017AFF;
    color: #FFFFFF;
    padding: 2px 13px;
    border-radius: 4px;
    font-family: 'Arial', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    text-align: center;
    white-space: nowrap;
}

/* Elite — border color #20616D */
.cl-pricing-elite {
    border-color: #20616D;
}

.cl-pricing-tier {
    font-family: 'Inter', sans-serif;
    font-size: 24px;
    font-weight: 400;
    color: #0A0A0A;
    line-height: 32px;
    margin-bottom: 0;
    text-align: center;
}

.cl-pricing-label {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #717182;
    line-height: 28px;
    margin-bottom: 24px;
    text-align: center;
}

.cl-pricing-price {
    margin-bottom: 24px;
    padding-bottom: 0;
    border-bottom: none;
    text-align: center;
}

.cl-price-original {
    font-family: 'Inter', sans-serif;
    font-size: 24px;
    font-weight: 400;
    color: #99A1AF;
    text-decoration: line-through;
    line-height: 32px;
    margin-bottom: 0;
    text-align: center;
}

.cl-price-amount {
    font-family: 'Inter', sans-serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 48px;
    margin-bottom: 0;
    text-align: center;
}

.cl-price-dark {
    color: #101828;
}

.cl-price-blue {
    color: #017AFF;
}

.cl-price-note {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #4A5565;
    line-height: 20px;
    text-align: center;
}

.cl-price-note-blue {
    color: #017AFF;
    font-weight: 700;
    opacity: 0.8;
}

.cl-pricing-features {
    list-style: none;
    padding: 0;
    margin: 56px 0 0 0;
    text-align: left;
}

.cl-pf-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 24px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #364153;
    line-height: 24px;
}

.cl-pf-check {
    color: #00A63E;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 2px;
}

.cl-pf-cross {
    color: #99A1AF;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 2px;
}

.cl-pf-no {
    color: #99A1AF;
}

.cl-pricing-btn {
    width: 100%;
    padding: 10px;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.2s;
    line-height: 20px;
    border: none;
    margin-top: 56px;
}

.cl-pricing-btn-primary {
    background-color: #017AFF;
    color: #FFFFFF;
}

.cl-pricing-btn-primary:hover {
    background-color: #005bbf;
}

.cl-pricing-btn-secondary {
    background-color: #FFFFFF;
    color: #0A0A0A;
    border: 1px solid #000000;
}

.cl-pricing-btn-secondary:hover {
    background-color: #f9fafb;
    border-color: #017AFF;
    color: #017AFF;
}

/* ---- Bootcamp application modal ---- */
.cl-bootcamp-modal {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: none;
}

.cl-bootcamp-modal.is-open {
    display: block;
}

.cl-bootcamp-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 24, 39, 0.55);
}

.cl-bootcamp-dialog {
    position: relative;
    width: min(980px, calc(100% - 32px));
    margin: 72px auto 24px;
    max-height: calc(100vh - 96px);
    background: #FFFFFF;
    border-radius: 6px;
    padding: 74px 56px 50px;
    box-shadow: 0 16px 48px rgba(15, 23, 42, 0.24);
    box-sizing: border-box;
    overflow: auto;
}

.cl-bootcamp-header {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    margin-bottom: 34px;
    padding-bottom: 24px;
    border-bottom: 1px solid #E5E7EB;
}

.cl-bootcamp-header img {
    width: 88px;
    height: auto;
}

.cl-bootcamp-title-group h2 {
    margin: 0 0 8px;
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    line-height: 1.18;
    font-weight: 700;
    color: #2C2C2C;
    text-transform: uppercase;
}

.cl-bootcamp-title-group p {
    margin: 0;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 400;
    color: #595959;
}

.cl-bootcamp-form {
    width: 100%;
    max-width: none;
    background: #FFFFFF;
    border-color: #BFD7FF;
    padding: 38px 34px 36px;
}

.cl-bootcamp-progress {
    width: 100%;
    max-width: 501px;
    margin: 0 auto 28px;
}

.cl-bootcamp-progress .ob-seg {
    min-width: 0;
}

.cl-bootcamp-progress .ob-seg.is-active {
    background: #017AFF;
}

.cl-bootcamp-step[hidden] {
    display: none !important;
}

.cl-bootcamp-question {
    text-align: left;
    font-size: 20px;
    line-height: 1.45;
    max-width: 100%;
    margin: 4px 0 18px;
}

.cl-bootcamp-question span {
    color: #017AFF;
}

.cl-bootcamp-topics {
    gap: 12px;
}

.cl-bootcamp-question-education {
    margin-bottom: 14px;
}

.cl-bootcamp-major-wrap {
    border-top: 1px solid #E5E7EB;
    padding-top: 14px;
}

.cl-bootcamp-major-wrap input {
    width: 100%;
    height: 42px;
    border: 1px solid #E2E8F0;
    border-radius: 4px;
    padding: 0 12px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #111827;
    background: #FFFFFF;
}

.cl-bootcamp-major-wrap input::placeholder {
    color: #9CA3AF;
}

.cl-bootcamp-major-wrap input:focus {
    outline: none;
    border-color: #017AFF;
    box-shadow: 0 0 0 3px rgba(1, 122, 255, 0.12);
}

.cl-bootcamp-work-exp {
    gap: 12px;
}

.cl-bootcamp-scroll-area {
    max-height: 360px;
    overflow-y: auto;
    padding-right: 8px;
}

.cl-bootcamp-select-group {
    margin-bottom: 12px;
}

.cl-bootcamp-select-group label {
    display: block;
    margin-bottom: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #475569;
}

.cl-bootcamp-select-group select {
    width: 100%;
    height: 40px;
    border: 1px solid #D1D5DB;
    border-radius: 4px;
    padding: 0 12px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #2C2C2C;
    background: #FFFFFF;
}

.cl-bootcamp-select-group select:focus {
    outline: none;
    border-color: #017AFF;
    box-shadow: 0 0 0 3px rgba(1, 122, 255, 0.12);
}

.cl-bootcamp-hours {
    gap: 12px;
}

.cl-bootcamp-learning-style {
    gap: 12px;
}

.cl-bootcamp-why-wrap textarea {
    width: 100%;
    min-height: 116px;
    border: 1px solid #E2E8F0;
    border-radius: 4px;
    padding: 10px 12px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #111827;
    background: #FFFFFF;
    resize: vertical;
}

.cl-bootcamp-why-wrap textarea::placeholder {
    color: #9CA3AF;
}

.cl-bootcamp-why-wrap textarea:focus {
    outline: none;
    border-color: #017AFF;
    box-shadow: 0 0 0 3px rgba(1, 122, 255, 0.12);
}

.cl-bootcamp-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
}

.cl-bootcamp-actions .cl-syllabus-close-btn {
    margin: 0;
}

.cl-bootcamp-actions .cl-syllabus-preview-btn {
    margin: 0;
    min-width: 152px;
}

/* ---- Back to Top (Frame 114, 1280×72) ---- */
.cl-back-to-top {
    width: 100%;
    padding: 24px;
}

.cl-back-to-top-inner {
    max-width: 1232px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end;
}

.cl-back-to-top-link {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #017AFF;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 20px;
}

.cl-back-to-top-link:hover {
    color: #005bbf;
    text-decoration: none;
}

/* ---- Career Lab Responsive ---- */
@media (max-width: 1024px) {
    .cl-featured-event .cl-hero-shell {
        max-width: 658px;
    }
    .cl-hero-inner {
        flex-direction: column;
        align-items: center;
        gap: 32px;
    }
    .cl-hero-image {
        width: 100%;
        max-width: 455px;
        height: auto;
        aspect-ratio: 455 / 304;
    }
    .cl-hero-content {
        width: 100%;
        max-width: 658px;
    }
    .cl-stats {
        flex-wrap: wrap;
        gap: 24px;
    }
    .cl-countdown {
        flex-direction: column;
        gap: 14px;
    }
    .cl-countdown-label {
        font-size: 14px;
        text-align: center;
    }
    .cl-countdown-value {
        width: 56px;
        height: 56px;
        font-size: 24px;
    }
    .cl-countdown-unit-label {
        font-size: 11px;
    }
    .cl-countdown-sep {
        font-size: 28px;
        margin-top: -10px;
    }
    .cl-pricing-grid {
        flex-direction: column;
        align-items: center;
    }
    .cl-pricing-card,
    .cl-pricing-recommended {
        width: 100%;
        max-width: 400px;
    }
}

@media (max-width: 768px) {
    .cl-hero { padding: 30px 20px; }
    .cl-featured-event-header { margin-bottom: 20px; }
    .cl-featured-event-title {
        font-size: 16px;
    }
    .cl-featured-event-line {
        width: 72px;
    }
    .cl-section-inner { padding: 10px 20px; }
    /* Tab bar: switch to a horizontally scrollable single row so every tab
       stays visible + tappable without wrapping below the bar. */
    .cl-tabs-nav {
        height: 48px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .cl-tabs-nav::-webkit-scrollbar { display: none; }
    .cl-tabs-inner {
        padding: 0 16px;
        width: max-content;
        min-width: 100%;
    }
    .cl-tabs {
        gap: 8px;
        flex-wrap: nowrap;
        white-space: nowrap;
    }
    .cl-tab {
        padding: 12px 10px;
        font-size: 13px;
        flex-shrink: 0;
    }
    .cl-section-title {
        font-size: 20px;
        line-height: 28px;
    }
    .cl-section-header {
        flex-direction: column;
        align-items: flex-start;
    }
    .cl-cards-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .cl-instructors-grid {
        flex-direction: column;
        align-items: center;
        gap: 32px;
    }
    .cl-cta-buttons {
        flex-direction: column;
    }
    .cl-countdown {
        padding: 16px 12px;
        gap: 14px;
    }
    .cl-countdown-track {
        gap: 8px;
    }
    .cl-countdown-label {
        font-size: 13px;
    }
    .cl-countdown-value {
        width: 44px;
        height: 44px;
        font-size: 20px;
    }
    .cl-countdown-unit-label {
        font-size: 10px;
    }
    .cl-countdown-sep {
        font-size: 20px;
        margin-top: -8px;
    }
    .cl-btn-primary,
    .cl-btn-secondary {
        width: 100%;
        justify-content: center;
    }
    .cl-syllabus-dialog {
        padding: 36px 20px 28px;
        margin-top: 56px;
        height: auto;
    }
    .cl-syllabus-title {
        font-size: 30px;
    }
    .cl-syllabus-form {
        margin-top: 30px;
        padding: 26px 20px 30px;
    }
    .cl-syllabus-grid {
        grid-template-columns: 1fr;
    }
    .cl-syllabus-pdf-wrap {
        height: 420px;
    }
    .cl-bootcamp-dialog {
        margin-top: 12px;
        max-height: calc(100vh - 24px);
        padding: 24px 20px;
    }
    .cl-bootcamp-header {
        align-items: flex-start;
        gap: 12px;
        margin-bottom: 18px;
        padding-bottom: 16px;
    }
    .cl-bootcamp-header img {
        width: 52px;
    }
    .cl-bootcamp-title-group h2 {
        font-size: 18px;
    }
    .cl-bootcamp-title-group p {
        font-size: 14px;
    }
    .cl-bootcamp-progress {
        margin-bottom: 20px;
    }
    .cl-bootcamp-question {
        font-size: 16px;
        line-height: 1.4;
        margin-bottom: 14px;
    }
    .cl-bootcamp-actions {
        margin-top: 14px;
    }
    .cl-instructors-section {
        padding: 10px 0;
    }
    .cl-instructors-wrapper {
        padding: 10px 20px;
    }
    .cl-pricing-container {
        padding: 24px 20px;
    }
}

/* --------------------------------------------------------------------------
   11. BREADCRUMBS (inner pages: About, Contact, Career Lab, ACC)
   -------------------------------------------------------------------------- */

#breadcrumb {
    background-color: #f8f9fa;
    background-image: none;
    padding: 40px 0;
    min-height: auto;
}

#breadcrumb h1 {
    color: #000000;
    font-size: 36px;
    font-weight: 700;
    text-shadow: none;
}

/* --------------------------------------------------------------------------
   12. PLACEHOLDER PAGES (ACC)
   -------------------------------------------------------------------------- */

#content .container h2 {
    margin-top: 20px;
}

/* --------------------------------------------------------------------------
   13. FORM CONTROLS (from design system PDF Page 3)
   -------------------------------------------------------------------------- */

.form-control:focus {
    border-color: #017AFF;
    box-shadow: 0 0 0 3px rgba(1, 122, 255, 0.1);
}

/* --------------------------------------------------------------------------
   14. AI CAREER CO-PILOT (ACC) PAGE
   -------------------------------------------------------------------------- */

/* ---- ACC Hero (Frame 165, 1280×450, padding 56px, gap 105px) ---- */
.acc-hero {
    width: 100%;
    background: #FFFFFF;
}
.acc-hero-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 56px;
    gap: 105px;
}
.acc-hero-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    max-width: 486px;
    flex-shrink: 0;
}
.acc-hero-title {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-size: 32px;
    line-height: 48px;
    color: rgba(0, 0, 0, 0.8);
    margin: 0;
}
.acc-gradient-text {
    background: linear-gradient(90deg, #017AFF, #610199);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.acc-hero-subtitle {
    font-family: 'Inter', sans-serif;
    font-weight: 200;
    font-size: 16px;
    line-height: 19px;
    color: rgba(0, 0, 0, 0.8);
    margin: 0;
    max-width: 460px;
}
.acc-hero-buttons {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
}
.acc-hero-buttons-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}
.acc-btn-primary {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 10px;
    gap: 10px;
    background: #017AFF;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    text-transform: uppercase;
    color: #FFFFFF;
    text-decoration: none;
    white-space: nowrap;
}
.acc-btn-primary:hover {
    background: #005bbf;
    color: #FFFFFF;
    text-decoration: none;
}
.acc-btn-primary svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}
.acc-btn-secondary {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 10px;
    gap: 10px;
    background: #FFFFFF;
    border: 1px solid #017AFF;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    text-transform: uppercase;
    color: #017AFF;
    text-decoration: none;
    white-space: nowrap;
}
.acc-btn-secondary:hover {
    background: rgba(1, 122, 255, 0.05);
    color: #017AFF;
    text-decoration: none;
}
.acc-btn-kickoff {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 10px;
    gap: 10px;
    background: #1a1a1a;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    text-transform: uppercase;
    color: #FFFFFF;
    text-decoration: none;
    white-space: nowrap;
}
.acc-btn-kickoff:hover {
    background: #333333;
    color: #FFFFFF;
    text-decoration: none;
}
.acc-btn-kickoff svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}
.acc-hero-image {
    position: relative;
    width: 490px;
    height: 338px;
    flex-shrink: 0;
}
.acc-image-bg-tilt {
    position: absolute;
    width: 477px;
    height: 318px;
    left: 0;
    top: 0;
    background: linear-gradient(112.46deg, #017AFF -3.6%, #80BCFF 103.67%);
    border-radius: 4px;
    transform: rotate(2.45deg);
}
.acc-hero-image img {
    position: relative;
    width: 477px;
    height: 318px;
    border-radius: 4px;
    object-fit: cover;
    z-index: 1;
}

/* ---- ACC Journey (Frame 180, bg rgba(1,122,255,0.05), padding 56px) ---- */
.acc-journey {
    width: 100%;
    background: rgba(1, 122, 255, 0.05);
}
.acc-journey-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 56px;
    display: flex;
    flex-direction: column;
    gap: 61px;
}
.acc-section-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 19px;
}
.acc-section-title {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 29px;
    text-align: center;
    color: rgba(0, 0, 0, 0.8);
    margin: 0;
}
.acc-section-subtitle {
    font-family: 'Inter', sans-serif;
    font-weight: 200;
    font-size: 16px;
    line-height: 19px;
    text-align: center;
    color: rgba(0, 0, 0, 0.8);
    margin: 0;
}
.acc-steps-wrapper {
    width: 100%;
    position: relative;
}
/* Single continuous dashed connector behind the four icons */
.acc-steps-wrapper::before {
    content: "";
    position: absolute;
    top: 24px;
    left: 12.5%;
    right: 12.5%;
    height: 0;
    border-top: 2px dashed rgba(0, 0, 0, 0.25);
    z-index: 0;
    pointer-events: none;
}
.acc-steps {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
    max-width: 1180px;
    margin: 0 auto;
}
.acc-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    flex: 1 1 0;
    min-width: 0;
}
.acc-step-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}
.acc-step-number {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 29px;
    text-align: center;
    color: rgba(0, 0, 0, 0.8);
}
.acc-step-name {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 19px;
    text-align: center;
    color: rgba(0, 0, 0, 0.8);
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.acc-step-desc {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    text-align: center;
    color: rgba(0, 0, 0, 0.6);
    margin: 0;
    width: 100%;
    padding: 0 8px;
    box-sizing: border-box;
}
.acc-step-line {
    display: none;
}

/* ---- ACC Stories (Frame 181, bg white, padding 56px) ---- */
.acc-stories {
    width: 100%;
    background: #FFFFFF;
}
.acc-stories-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 56px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.acc-stories-scroll {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 24px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    padding-bottom: 8px;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.acc-stories-scroll::-webkit-scrollbar {
    display: none;
}
.acc-story-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 24px;
    gap: 48px;
    width: 440px;
    min-width: 440px;
    height: 268px;
    background: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    flex-shrink: 0;
}
.acc-story-top {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 17px;
    width: 100%;
}
.acc-story-avatar {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: linear-gradient(130.2deg, #017AFF 0.23%, #018F99 93.13%);
    flex-shrink: 0;
}
.acc-story-info {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.acc-story-name {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 19px;
    color: rgba(0, 0, 0, 0.8);
}
.acc-story-role {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: rgba(0, 0, 0, 0.6);
}
.acc-story-company {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 17px;
    color: #017AFF;
}
.acc-story-quote {
    font-family: 'Inter', sans-serif;
    font-style: italic;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: rgba(0, 0, 0, 0.6);
    margin: 0;
    width: 100%;
}
.acc-scrollbar-wrap {
    width: 757px;
    margin: 16px auto 0;
    padding: 0 4px;
}
.acc-scrollbar-track {
    position: relative;
    width: 100%;
    height: 8px;
    background: #E5E5E5;
    border-radius: 24px;
}
.acc-scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 8px;
    background: #CBCBCB;
    border-radius: 24px;
    width: 40%;
    transition: left 0.15s ease;
    cursor: grab;
}
.acc-scrollbar-thumb:active {
    cursor: grabbing;
}

/* ---- ACC CTA (Frame 191, gradient bg, padding 80px) ---- */
.acc-cta {
    width: 100%;
    background: linear-gradient(95.68deg, #017AFF 0.3%, #610199 130.82%);
}
.acc-cta-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 80px 247px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px;
}
.acc-cta-title {
    font-family: 'Inter', sans-serif;
    font-weight: 900;
    font-size: 32px;
    line-height: 48px;
    text-align: center;
    color: #FFFFFF;
    margin: 0;
}
.acc-cta-subtitle {
    font-family: 'Inter', sans-serif;
    font-weight: 200;
    font-size: 16px;
    line-height: 19px;
    text-align: center;
    color: #FFFFFF;
    margin: 0;
}
.acc-cta-btn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 10px;
    gap: 10px;
    background: #FFFFFF;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    text-transform: uppercase;
    color: #017AFF;
    text-decoration: none;
}
.acc-cta-btn:hover {
    background: #f0f0f0;
    color: #017AFF;
    text-decoration: none;
}
.acc-cta-btn svg {
    width: 24px;
    height: 24px;
}

/* ---- ACC Footer (Frame 21, 1280×430, bg #001021) ---- */
/* ACC page no longer needs custom footer hiding — uses unified footer */
body.acc-page-deprecated {
    display: none !important;
}
.acc-footer {
    width: 100%;
    background: #001021;
    position: relative;
    overflow: hidden;
}
.acc-footer-decoration {
    position: absolute;
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
    right: 0;
    pointer-events: none;
    opacity: 1;
    z-index: 0;
    object-fit: cover;
}
.acc-footer-inner {
    position: relative;
    z-index: 1;
    max-width: 1280px;
    margin: 0 auto;
    padding: 27px 38px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 58px;
}
.acc-footer-logo {
    width: 86px;
    height: 86px;
    align-self: flex-start;
}
.acc-footer-logo img {
    width: 86px;
    height: 86px;
    object-fit: contain;
}
.acc-footer-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    max-width: 1204px;
}
.acc-footer-tagline {
    max-width: 329px;
}
.acc-footer-tagline p {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 24px;
    color: #FFFFFF;
    margin: 0;
}
.acc-footer-links h4,
.acc-footer-social h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 19px;
    color: #FFFFFF;
    margin: 0 0 16px 0;
}
.acc-footer-links ul,
.acc-footer-social ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.acc-footer-links a,
.acc-footer-social a {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #FFFFFF;
    text-decoration: none;
}
.acc-footer-links a:hover,
.acc-footer-social a:hover {
    color: #80BCFF;
    text-decoration: none;
}
.acc-footer-divider {
    width: 100%;
    max-width: 1204px;
    height: 0;
    border-top: 0.5px solid #FFFFFF;
}
.acc-footer-copyright {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 10px;
    line-height: 12px;
    text-align: center;
    color: #FFFFFF;
    margin: 0;
    width: 100%;
    max-width: 1204px;
}

/* ---- ACC Responsive ---- */
@media (max-width: 1024px) {
    .acc-hero-inner {
        flex-direction: column;
        align-items: center;
        gap: 40px;
        padding: 40px 20px;
    }
    .acc-hero-text {
        max-width: 100%;
        align-items: center;
        text-align: center;
    }
    .acc-hero-title {
        text-align: center;
    }
    .acc-hero-subtitle {
        text-align: center;
        max-width: 100%;
    }
    .acc-hero-buttons {
        justify-content: center;
    }
    .acc-hero-buttons-col {
        align-items: center;
    }
    .acc-hero-image {
        width: 100%;
        max-width: 490px;
        height: auto;
        aspect-ratio: 490 / 338;
    }
    .acc-image-bg-tilt {
        width: 97%;
        height: 94%;
    }
    .acc-hero-image img {
        width: 97%;
        height: 94%;
    }
    .acc-steps-wrapper::before {
        display: none;
    }
    .acc-steps {
        flex-direction: column;
        align-items: center;
        gap: 32px;
    }
    .acc-step {
        max-width: 100%;
    }
    .acc-step-line {
        display: block;
        width: 0;
        height: 40px;
        border-top: none;
        border-left: 4px dashed rgba(0, 0, 0, 0.4);
        margin-top: 0;
        align-self: center;
    }
    .acc-journey-inner {
        padding: 40px 20px;
    }
    .acc-stories-inner {
        padding: 40px 20px;
    }
    .acc-stories-grid {
        overflow-x: auto;
    }
    .acc-cta-inner {
        padding: 60px 20px;
    }
    .acc-scrollbar-wrap {
        width: 100%;
        max-width: 757px;
    }
    .acc-footer-row {
        flex-direction: column;
        gap: 32px;
    }
    .acc-footer-inner {
        padding: 27px 20px 20px;
        gap: 32px;
    }
}

@media (max-width: 640px) {
    .acc-hero-title {
        font-size: 24px;
        line-height: 36px;
    }
    .acc-hero-buttons {
        flex-direction: column;
        width: 100%;
    }
    .acc-hero-buttons-col {
        width: 100%;
        align-items: stretch;
    }
    .acc-btn-primary,
    .acc-btn-secondary {
        width: 100%;
        justify-content: center;
    }
    .acc-story-card {
        min-width: 300px;
        width: 300px;
        height: auto;
    }
    .acc-cta-title {
        font-size: 24px;
        line-height: 36px;
    }
}

/* --------------------------------------------------------------------------
   15. MISC OVERRIDES
   -------------------------------------------------------------------------- */

/* Override theme bar sections background */
.bar.background-white {
    padding: 40px 0;
}

/* Ensure no double scrollbar */
html {
    overflow-x: hidden;
}

/* Smooth scroll */
html {
    scroll-behavior: smooth;
}

/* Fix navbar affixed spacing */
body {
    padding-top: 0;
}

/* ================================================================
   ONBOARDING / CAREER ASSESSMENT
   ================================================================ */

/* Hide default footer on onboarding page */
body.ob-page #footer,
body.ob-page > .footer,
body.ob-page footer.footer,
body.ob-page #copyright {
    display: none !important;
}

/* ── Wrapper ── */
.ob-wrapper {
    min-height: calc(100vh - 120px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #FFFFFF;
    padding: 40px 24px 60px;
    position: relative;
}

/* ── Progress bar ── */
.ob-progress {
    position: fixed;
    top: 80px;
    left: 0;
    right: 0;
    z-index: 100;
    padding: 0 24px;
    display: none;
    align-items: center;
    gap: 16px;
    background: #fff;
    border-bottom: 1px solid #E8E8E8;
    height: 48px;
}
.ob-progress.ob-progress-visible {
    display: flex;
}
.ob-progress-bar {
    flex: 1;
    height: 6px;
    background: #E8E8E8;
    border-radius: 3px;
    overflow: hidden;
}
.ob-progress-fill {
    height: 100%;
    background: #017AFF;
    border-radius: 3px;
    transition: width 0.4s ease;
    width: 0;
}
.ob-progress-label {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #666;
    min-width: 50px;
    text-align: right;
}

/* ── Steps ── */
.ob-step {
    display: none;
    width: 100%;
    max-width: 780px;
    margin: 0 auto;
    animation: obFadeIn 0.35s ease;
}
.ob-step.ob-active {
    display: flex;
    flex-direction: column;
    align-items: center;
}
@keyframes obFadeIn {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Step 0: Start ── */
.ob-start {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    max-width: 520px;
}
.ob-start-visual {
    width: 200px;
    height: 200px;
    position: relative;
}
.ob-start-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 16px;
}
.ob-start-title {
    font-family: 'Inter', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #000;
    line-height: 1.25;
}
.ob-start-subtitle {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #666;
    margin-top: -8px;
}
.ob-start-steps {
    text-align: left;
    width: 100%;
    background: #F8FAFC;
    border-radius: 12px;
    padding: 24px 28px;
}
.ob-start-label {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #000;
    margin-bottom: 12px;
}
.ob-start-steps ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ob-start-steps li {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: #333;
    display: flex;
    align-items: center;
    gap: 10px;
}
.ob-check-icon {
    color: #017AFF;
    font-weight: 700;
    font-size: 16px;
}

/* ── Primary button ── */
.ob-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #017AFF;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    padding: 14px 40px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s;
    letter-spacing: 0.5px;
}
.ob-btn-primary:hover {
    background: #005FCC;
    transform: translateY(-1px);
}
.ob-btn-primary:active {
    transform: translateY(0);
}
.ob-btn-start {
    margin-top: 8px;
    padding: 16px 48px;
    font-size: 18px;
    border-radius: 10px;
}

/* ── Question layout ── */
.ob-question {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding-top: 32px;
}
/* 7-segment progress bar — Figma: 8px height, gap 8px */
.ob-progress-segments {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    width: 100%;
    max-width: 501px;
    height: 8px;
}
.ob-progress-segments .ob-seg {
    flex: 1;
    height: 8px;
    background: #EEEEEE;
    border-radius: 4px;
    min-width: 0;
}
.ob-progress-1 .ob-progress-segments .ob-seg:nth-child(-n+1),
.ob-progress-2 .ob-progress-segments .ob-seg:nth-child(-n+2),
.ob-progress-3 .ob-progress-segments .ob-seg:nth-child(-n+3),
.ob-progress-4 .ob-progress-segments .ob-seg:nth-child(-n+4),
.ob-progress-5 .ob-progress-segments .ob-seg:nth-child(-n+5),
.ob-progress-6 .ob-progress-segments .ob-seg:nth-child(-n+6),
.ob-progress-7 .ob-progress-segments .ob-seg:nth-child(-n+7) {
    background: #017AFF;
}
.ob-q-title {
    font-family: 'Inter', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #000;
    text-align: center;
    line-height: 1.35;
    max-width: 640px;
}

/* ── Option list (single select) ── */
.ob-options-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ob-option {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #333;
    background: #FFFFFF;
    border: 1.5px solid #D9D9D9;
    border-radius: 10px;
    padding: 14px 20px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
    user-select: none;
}
.ob-option:hover {
    border-color: #017AFF;
    background: rgba(1, 122, 255, 0.04);
}
.ob-option.ob-selected {
    border-color: #017AFF;
    background: rgba(1, 122, 255, 0.08);
    color: #017AFF;
    font-weight: 500;
}
.ob-option.ob-selected::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #1B1B1B;
    border-radius: 50%;
    margin-right: 12px;
    flex-shrink: 0;
}
.ob-options-list .ob-option {
    display: flex;
    align-items: center;
}

/* ── Chip grid (multi select) ── */
.ob-options-grid {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}
.ob-chip {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #333;
    background: #FFFFFF;
    border: 1.5px solid #D9D9D9;
    border-radius: 24px;
    padding: 10px 20px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s, color 0.2s;
    user-select: none;
    white-space: nowrap;
}
.ob-chip:hover {
    border-color: #017AFF;
    background: rgba(1, 122, 255, 0.04);
}
.ob-chip.ob-selected {
    border-color: #017AFF;
    background: #017AFF;
    color: #FFFFFF;
    font-weight: 500;
}

/* ── Other input ── */
.ob-other-input {
    width: 100%;
    margin-top: -16px;
    animation: obFadeIn 0.25s ease;
}
.ob-text-input {
    width: 100%;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    padding: 12px 16px;
    border: 1.5px solid #D9D9D9;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.2s;
    background: #FAFAFA;
}
.ob-text-input:focus {
    border-color: #017AFF;
    background: #FFFFFF;
}

/* ── Textarea ── */
.ob-textarea-wrap {
    width: 100%;
}
.ob-textarea {
    width: 100%;
    min-height: 140px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    padding: 14px 16px;
    border: 1.5px solid #D9D9D9;
    border-radius: 10px;
    outline: none;
    resize: vertical;
    transition: border-color 0.2s;
    background: #FAFAFA;
}
.ob-textarea:focus {
    border-color: #017AFF;
    background: #FFFFFF;
}
.ob-word-count {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #999;
    text-align: right;
    margin-top: 6px;
}

/* ── Navigation buttons ── */
.ob-nav {
    display: flex;
    justify-content: space-between;
    width: 100%;
    gap: 16px;
    padding-top: 8px;
}
.ob-btn-back {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #666;
    background: transparent;
    border: 1.5px solid #D9D9D9;
    border-radius: 8px;
    padding: 12px 32px;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
    letter-spacing: 0.5px;
}
.ob-btn-back:hover {
    border-color: #999;
    color: #333;
}
.ob-btn-next,
.ob-btn-complete {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #FFFFFF;
    background: #017AFF;
    border: none;
    border-radius: 8px;
    padding: 12px 32px;
    cursor: pointer;
    transition: background 0.2s, opacity 0.2s;
    letter-spacing: 0.5px;
}
.ob-btn-next:hover:not(:disabled),
.ob-btn-complete:hover:not(:disabled) {
    background: #005FCC;
}
.ob-btn-next:disabled,
.ob-btn-complete:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.ob-btn-complete {
    background: linear-gradient(135deg, #017AFF 0%, #5A0199 100%);
    padding: 12px 36px;
}
.ob-btn-complete:hover:not(:disabled) {
    background: linear-gradient(135deg, #005FCC 0%, #47017A 100%);
}

/* ── Analyzing step ── */
.ob-analyzing {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 32px;
    min-height: 400px;
}
.ob-spinner-wrap {
    position: relative;
    width: 160px;
    height: 160px;
}
.ob-spinner-svg {
    width: 100%;
    height: 100%;
    animation: obRotate 2s linear infinite;
}
@keyframes obRotate {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}
.ob-spinner-track {
    fill: none;
    stroke: #E8E8E8;
    stroke-width: 8;
}
.ob-spinner-arc {
    fill: none;
    stroke: url(#obGrad);
    stroke-width: 8;
    stroke-linecap: round;
    stroke-dasharray: 180 327;
}
.ob-spinner-pct {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Inter', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #017AFF;
}
.ob-analyzing-text {
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 500;
    color: #666;
    letter-spacing: 2px;
    animation: obPulse 1.5s ease-in-out infinite;
}
@keyframes obPulse {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.4; }
}

/* ── Analysis Complete ── */
.ob-result {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    max-width: 520px;
}
.ob-result-badge {
    margin-bottom: 8px;
}
.ob-result-circle {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: linear-gradient(135deg, #017AFF 0%, #5A0199 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    position: relative;
}
.ob-result-pct {
    font-family: 'Inter', sans-serif;
    font-size: 40px;
    font-weight: 800;
    line-height: 1;
}
.ob-result-match {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    opacity: 0.9;
}
.ob-result-title {
    font-family: 'Inter', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #000;
}
.ob-result-stats {
    display: flex;
    gap: 32px;
    justify-content: center;
}
.ob-result-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.ob-stat-label {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #999;
}
.ob-stat-value {
    font-family: 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #017AFF;
}
.ob-result-unlock {
    background: #F8FAFC;
    border-radius: 12px;
    padding: 24px 28px;
    text-align: left;
    width: 100%;
}
.ob-result-unlock h3 {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #000;
    margin-bottom: 8px;
}
.ob-result-unlock > p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #666;
    margin-bottom: 12px;
}
.ob-result-unlock ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ob-result-unlock li {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: #333;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* ── Create Account ── */
.ob-account {
    width: 100%;
    max-width: 480px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.ob-account-title {
    font-family: 'Inter', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #000;
}
.ob-account-subtitle {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #666;
    margin-top: -8px;
}
.ob-account-form {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 16px;
    text-align: left;
}
.ob-form-row {
    display: flex;
    gap: 16px;
}
.ob-form-row .ob-form-group {
    flex: 1;
}
.ob-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.ob-form-group label {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #333;
}
.ob-form-group input {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    padding: 12px 14px;
    border: 1.5px solid #D9D9D9;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.2s;
    background: #FAFAFA;
}
.ob-form-group input:focus {
    border-color: #017AFF;
    background: #FFFFFF;
}
.ob-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #666;
    cursor: pointer;
}
.ob-checkbox-label input[type="checkbox"] {
    margin-top: 2px;
    width: 18px;
    height: 18px;
    accent-color: #017AFF;
}
.ob-checkbox-label a {
    color: #017AFF;
    text-decoration: underline;
}
.ob-btn-register {
    width: 100%;
    padding: 14px 0;
    font-size: 16px;
    margin-top: 4px;
}
.ob-account-signin {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #999;
}
.ob-account-signin a {
    color: #017AFF;
    font-weight: 600;
    text-decoration: none;
}
.ob-account-signin a:hover {
    text-decoration: underline;
}

/* ── Minimal footer ── */
.ob-footer {
    text-align: center;
    padding: 20px 24px;
    border-top: 1px solid #E8E8E8;
}
.ob-footer p {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #999;
    margin: 0;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .ob-start-title { font-size: 24px; }
    .ob-q-title { font-size: 22px; }
    .ob-options-grid { gap: 8px; }
    .ob-chip { font-size: 13px; padding: 8px 14px; }
    .ob-form-row { flex-direction: column; gap: 16px; }
    .ob-result-stats { flex-direction: column; gap: 16px; }
    .ob-nav { flex-direction: column-reverse; gap: 10px; }
    .ob-btn-back, .ob-btn-next, .ob-btn-complete { width: 100%; text-align: center; }
}

/* ==========================================================================
   Career Lab — Courses / Workshop landing pages
   Simplified hero layout per Figma spec: image (left) + content (right)
   ========================================================================== */
/* Sticky footer — ensures #footer always sits at the viewport bottom on short pages
   (e.g. Career Lab Courses / Workshop) while content grows to fill remaining space. */
html, body {
    height: auto;
}
body {
    min-height: 100vh;
    margin: 0;
}
#all {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
#content {
    flex: 1 0 auto;
}
#footer {
    flex: 0 0 auto;
}

.clp-hero {
    width: 100%;
    background: #FFFFFF;
    padding: 60px 0;
}
.clp-hero-inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 53px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 69px;
}
.clp-hero-image {
    flex: 0 0 auto;
    width: 451px;
    height: 301px;
    border-radius: 4px;
    overflow: hidden;
    background: transparent;
    box-shadow: none;
}
.clp-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.clp-hero-content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    max-width: 658px;
}
.clp-title-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    width: 100%;
}
.clp-title-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}
.clp-title {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 29px;
    color: #000000;
    margin: 0;
    white-space: nowrap;
}
.clp-title-underline {
    width: 60px;
    height: 1px;
    background: #017AFF;
}
.clp-tag {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 2px 8px;
    background: #D5F3F8;
    border-radius: 4px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 10px;
    line-height: 12px;
    color: #017AFF;
    text-align: center;
    white-space: nowrap;
}
.clp-desc {
    width: 100%;
    font-family: 'Inter', sans-serif;
    font-weight: 200;
    font-size: 16px;
    line-height: 19px;
    letter-spacing: 0.25px;
    color: #000000;
}
.clp-desc p {
    margin: 0 0 12px 0;
}
.clp-desc p:last-child {
    margin-bottom: 0;
}
.clp-btn-secondary {
    box-sizing: border-box;
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 12px 20px;
    gap: 8px;
    min-width: 215px;
    height: 42px;
    background: #FFFFFF;
    border: 1px solid #017AFF;
    border-radius: 8px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 17px;
    text-align: center;
    color: #017AFF;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}
.clp-btn-secondary:hover,
.clp-btn-secondary:focus {
    background: rgba(1, 122, 255, 0.05);
    color: #017AFF;
    text-decoration: none;
}
.clp-btn-secondary svg {
    flex-shrink: 0;
}

/* Workshop: text-first hero layout — image sits to the right of text */
.clp-hero--text-first .clp-hero-inner {
    align-items: center;
}

/* Speaker / host block (Workshop page) */
.clp-speaker {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 4px 0;
}

/* ---------- Featured Event — new webinar-style description + speaker card ----------
   Mirrors the "Heerise - Home - Without Countdown" Figma frame. */
.cl-desc-heading {
    margin: 0 0 12px 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 19px !important;
    letter-spacing: 0.25px !important;
    color: #000000 !important;
}
.cl-desc-intro {
    margin: 0 0 4px 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 200 !important;
    line-height: 19px !important;
    letter-spacing: 0.25px !important;
    color: #000000 !important;
}
.cl-desc-list {
    margin: 0 0 4px 0;
    padding-left: 22px;
    list-style: disc;
}
.cl-desc-list li {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 200;
    line-height: 19px;
    letter-spacing: 0.25px;
    color: #000000;
    margin: 4px 0;
}

/* Speaker card (Figma Frame 333) — bordered box, 16px padding, 8px radius. */
.cl-featured-event-speaker-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 21px;
    margin-top: 8px;
    padding: 16px;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    background: #FFFFFF;
}
.cl-featured-event-speaker-avatar {
    flex: 0 0 auto;
    width: 66px;
    height: 66px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(1, 122, 255, 0.5);
    background: #F4F6F8;
}
.cl-featured-event-speaker-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.cl-featured-event-speaker-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.cl-featured-event-speaker-name {
    margin: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 19px !important;
    letter-spacing: 0.25px !important;
    color: #000000 !important;
}
.cl-featured-event-speaker-title {
    margin: 0 !important;
    font-family: 'Inter', sans-serif !important;
    font-style: italic !important;
    font-size: 14px !important;
    font-weight: 200 !important;
    line-height: 17px !important;
    letter-spacing: 0.25px !important;
    color: #000000 !important;
}

/* REGISTER NOW button (Figma Frame 41) — filled Heerise-blue pill. */
.cl-featured-event--compact .cl-btn-primary {
    background: #017AFF !important;
    border-radius: 8px !important;
    padding: 12px 20px !important;
    min-width: 165px;
    justify-content: center;
}
.cl-featured-event--compact .cl-btn-primary:hover,
.cl-featured-event--compact .cl-btn-primary:focus {
    background: #0160d6 !important;
}

/* Text-left / image-right variant (Figma Frame 335): the text column comes
   first in the HTML, the image sits on the right with the Career Lab photo
   filling the frame. */
.cl-featured-event--text-left .cl-hero-inner {
    flex-direction: row-reverse;
}
.cl-featured-event--text-left .cl-hero-image {
    width: 455px;
    height: 398px; /* matches Figma Frame 335 image column height */
    background: #000000;
}
.cl-featured-event--text-left .cl-hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 35%; /* keep the table + "career LAB" pillar in frame */
    display: block;
}
@media (max-width: 992px) {
    .cl-featured-event--text-left .cl-hero-inner {
        flex-direction: column;
    }
    .cl-featured-event--text-left .cl-hero-image {
        width: 100%;
        max-width: 560px;
        height: auto;
        aspect-ratio: 4 / 3;
    }
}
.clp-speaker-avatar {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    overflow: hidden;
    background: #F4F6F8;
    border: 2px solid #017AFF;
    box-shadow: 0 2px 8px rgba(0, 16, 33, 0.08);
}
.clp-speaker-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.clp-speaker-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.clp-speaker-info p {
    margin: 0;
    font-family: 'Inter', sans-serif;
    color: #2C2C2C;
}
.clp-speaker-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #017AFF !important;
}
.clp-speaker-name {
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 18px !important;
    color: #001021 !important;
}
.clp-speaker-title {
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 15px !important;
    color: #4A5565 !important;
}

/* Tablet + Mobile */
@media (max-width: 992px) {
    .clp-hero-inner {
        flex-direction: column;
        align-items: center;
        gap: 32px;
        padding: 0 24px;
    }
    .clp-hero--text-first .clp-hero-inner {
        flex-direction: column-reverse;
    }
    .clp-hero-image {
        width: 100%;
        max-width: 560px;
        height: auto;
        aspect-ratio: 451 / 301;
    }
    .clp-hero-content {
        max-width: 100%;
        align-items: flex-start;
    }
    .clp-title {
        white-space: normal;
    }
}
@media (max-width: 480px) {
    .clp-hero {
        padding: 32px 0;
    }
    .clp-title-row {
        flex-wrap: wrap;
    }
    .clp-btn-secondary {
        width: 100%;
    }
    .clp-speaker-avatar {
        width: 60px;
        height: 60px;
    }
    .clp-speaker-title {
        font-size: 11px !important;
        line-height: 14px !important;
    }
}

/* ==========================================================================
   Menu bar — Career Lab dropdown styling (matches Figma spec for Frame 329)
   ========================================================================== */
/* Make the parent nav item always a dropdown toggle (no navigation) */
.navbar-default .navbar-nav > li.dropdown > .dropdown-toggle[href="#"] {
    cursor: pointer;
}
/* Dropdown panel — 127px wide, square, with 1px border */
.navbar .navbar-nav > li.dropdown > ul.dropdown-menu,
.navbar-default .navbar-nav > li.dropdown > .dropdown-menu {
    min-width: 127px;
    padding: 0;
    margin: 0;
    border: 1px solid rgba(0, 0, 0, 0.05);
    border-radius: 0;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    background: #FFFFFF;
}
/* Reset the theme default li padding & border so items sit flush */
.navbar .navbar-nav > li.dropdown > ul.dropdown-menu > li,
.navbar-default .navbar-nav > li.dropdown > .dropdown-menu > li {
    padding: 0;
    margin: 0;
    border: 0;
    border-bottom: 0;
    list-style-type: none;
}
/* Use a single hairline between adjacent items only */
.navbar .navbar-nav > li.dropdown > ul.dropdown-menu > li + li,
.navbar-default .navbar-nav > li.dropdown > .dropdown-menu > li + li {
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}
.navbar .navbar-nav > li.dropdown > ul.dropdown-menu > li > a,
.navbar-default .navbar-nav > li.dropdown > .dropdown-menu > li > a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 10px;
    margin: 0;
    height: 48px;
    line-height: 1;
    background: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 12px;
    text-align: center;
    color: #3E3E3E;
    text-transform: uppercase;
    letter-spacing: 0;
    white-space: nowrap;
    transition: background 0.15s ease, color 0.15s ease;
}
.navbar .navbar-nav > li.dropdown > ul.dropdown-menu > li > a:hover,
.navbar .navbar-nav > li.dropdown > ul.dropdown-menu > li > a:focus,
.navbar .navbar-nav > li.dropdown > ul.dropdown-menu > li.active > a,
.navbar-default .navbar-nav > li.dropdown > .dropdown-menu > li > a:hover,
.navbar-default .navbar-nav > li.dropdown > .dropdown-menu > li > a:focus,
.navbar-default .navbar-nav > li.dropdown > .dropdown-menu > li.active > a {
    background: rgba(52, 149, 255, 0.1);
    color: #3E3E3E;
    text-decoration: none;
    left: 0;
}
