:root {
    --ak-berkeley-blue: #002676;
    --ak-berkeley-blue-light: #3f7fe8;
    --ak-deep-purple: #6c4ed6;
    --ak-navy: #0f2748;
    --ak-soft-sky: #e8f2ff;
    --ak-soft-violet: #f2edff;
    --ak-soft-mint: #edf9f5;
    --ak-berkeley-gold: #fdb515;
    --ak-berkeley-gold-soft: #ffe08a;
    --ak-white: #ffffff;
    --ak-text: #17263c;
    --ak-muted: #4e617b;
    --ak-border: #d5e2f2;
    --ak-shadow-sm: 0 2px 8px rgba(15, 39, 72, 0.08);
    --ak-shadow-md: 0 12px 28px rgba(15, 39, 72, 0.14);
    --ak-nav-height: 76px;
    --ak-courses-top-gap: 32px;
    --ak-brand-text-gradient: linear-gradient(
        90deg,
        var(--ak-berkeley-blue) 0%,
        var(--ak-berkeley-blue) 34%,
        var(--ak-berkeley-blue-light) 100%
    );
}

* {
    box-sizing: border-box;
}

.scroll-reveal {
    opacity: 0;
    transform: translateY(20px);
    transition:
        opacity 560ms ease var(--reveal-delay, 0ms),
        transform 560ms ease var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}

.scroll-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.chatkit-entry-body {
    margin: 0;
    width: 100%;
    max-width: 100%;
    min-height: 100vh;
    display: block !important;
    justify-content: initial !important;
    align-items: initial !important;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: var(--ak-text);
    background: var(--ak-white);
}

.chatkit-landing-page {
    min-height: 100vh;
    width: 100%;
}

.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #ffffff;
    backdrop-filter: blur(14px);
    border-bottom: 2px solid rgba(253, 181, 21, 0.34);
}

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.logo-text {
    display: inline-block;
    font-size: 1.62rem;
    font-weight: 900;
    letter-spacing: 0;
    background: var(--ak-brand-text-gradient);
    color: transparent;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.logo-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}

.nav-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.logo-mark-image {
    width: 32px;
    height: 32px;
    object-fit: contain;
    flex: 0 0 32px;
    display: block;
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: nowrap;
    justify-content: flex-end;
}

.nav-login-menu {
    position: relative;
    display: inline-flex;
    padding-bottom: 8px;
    margin-bottom: -8px;
}

.nav-login-summary {
    min-width: 140px;
    white-space: nowrap;
    appearance: none;
    border: 0;
    cursor: pointer;
}

.nav-login-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 180px;
    background: #ffffff;
    border: 1px solid #d7e3f2;
    border-radius: 12px;
    box-shadow: 0 12px 24px rgba(15, 39, 72, 0.16);
    padding: 6px;
    display: none;
    z-index: 1100;
}

.nav-login-menu:hover .nav-login-dropdown {
    display: block;
}

.nav-login-menu:focus-within .nav-login-dropdown {
    display: block;
}

.nav-login-option {
    display: block;
    padding: 10px 12px;
    border-radius: 9px;
    text-decoration: none;
    color: #143a70;
    font-size: 0.95rem;
    font-weight: 600;
    white-space: nowrap;
}

.nav-login-option:hover {
    background: #f3f8ff;
}

.btn {
    box-sizing: border-box;
    border: 2px solid transparent;
    border-radius: 12px;
    padding: 10px 14px;
    text-decoration: none;
    font-size: 0.94rem;
    font-weight: 600;
    line-height: 1;
    height: 38px;
    min-height: 38px;
    max-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease, border-color 120ms ease;
}

.btn-primary {
    color: #fff;
    background: var(--ak-berkeley-blue);
    border-color: var(--ak-berkeley-blue);
    background-image: none;
    box-shadow: none;
}

.btn-primary:hover {
    transform: translateY(-1px);
    background: #001f5b;
}

.btn-secondary {
    color: #1f4677;
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(253, 181, 21, 0.52);
    background-image: none;
    box-shadow: none;
}

.btn-secondary:hover {
    background: #f3f8ff;
}

.chatkit-main-landing {
    width: 100%;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: transparent;
}

.chatkit-main-landing::before,
.chatkit-main-landing::after,
.chatkit-courses-page::before,
.chatkit-courses-page::after {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.chatkit-main-landing::before,
.chatkit-courses-page::before {
    content: "";
    background:
        radial-gradient(44rem 28rem at 8% 10%, rgba(0, 38, 118, 0.34), transparent 62%),
        radial-gradient(40rem 24rem at 30% 16%, rgba(63, 127, 232, 0.31), transparent 64%),
        radial-gradient(46rem 28rem at 60% 12%, rgba(63, 127, 232, 0.26), transparent 64%),
        radial-gradient(40rem 24rem at 88% 16%, rgba(0, 38, 118, 0.3), transparent 62%),
        radial-gradient(36rem 22rem at 18% 46%, rgba(63, 127, 232, 0.24), transparent 64%),
        radial-gradient(34rem 20rem at 50% 52%, rgba(0, 38, 118, 0.22), transparent 66%),
        radial-gradient(34rem 20rem at 78% 50%, rgba(63, 127, 232, 0.23), transparent 66%),
        radial-gradient(30rem 18rem at 28% 78%, rgba(63, 127, 232, 0.2), transparent 68%),
        radial-gradient(34rem 20rem at 58% 84%, rgba(0, 38, 118, 0.2), transparent 66%),
        radial-gradient(30rem 18rem at 88% 78%, rgba(63, 127, 232, 0.2), transparent 68%),
        radial-gradient(28rem 18rem at 74% 30%, rgba(57, 198, 224, 0.11), transparent 68%),
        radial-gradient(24rem 16rem at 42% 70%, rgba(57, 198, 224, 0.1), transparent 70%),
        radial-gradient(26rem 16rem at 56% 20%, rgba(92, 88, 214, 0.09), transparent 68%),
        radial-gradient(24rem 14rem at 82% 64%, rgba(92, 88, 214, 0.07), transparent 70%),
        radial-gradient(36rem 22rem at 12% 94%, rgba(0, 38, 118, 0.16), transparent 72%),
        radial-gradient(30rem 18rem at 88% 92%, rgba(63, 127, 232, 0.14), transparent 72%),
        linear-gradient(160deg, #f1f7ff 0%, #e9f2ff 45%, #f3f8ff 100%);
    opacity: 1;
}

.chatkit-main-landing::after,
.chatkit-courses-page::after {
    content: none;
    background: none;
    opacity: 0;
}

.chatkit-hero,
.chatkit-momentum {
    position: relative;
    z-index: 1;
}

.chatkit-hero {
    position: relative;
    overflow: hidden;
    padding-top: 132px;
    padding-bottom: 152px;
    min-height: calc(100vh + 64px);
}

.chatkit-network-bg {
    display: none;
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: 0.76;
}

.chatkit-constellation-bg {
    position: absolute;
    inset: -3% -4%;
}

.chatkit-constellation-glow {
    position: absolute;
    border-radius: 999px;
    filter: blur(18px);
    opacity: 0.7;
}

.chatkit-constellation-glow.glow-a {
    top: 9%;
    left: 10%;
    width: 240px;
    height: 240px;
    background: radial-gradient(circle, rgba(67, 128, 212, 0.34), rgba(67, 128, 212, 0));
}

.chatkit-constellation-glow.glow-b {
    top: 8%;
    right: 8%;
    width: 220px;
    height: 220px;
    background: radial-gradient(circle, rgba(253, 181, 21, 0.24), rgba(253, 181, 21, 0));
}

.chatkit-constellation-glow.glow-c {
    bottom: 8%;
    right: 20%;
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, rgba(67, 128, 212, 0.26), rgba(67, 128, 212, 0));
}

.chatkit-context-link {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, rgba(120, 171, 236, 0.06), rgba(120, 171, 236, 0.68), rgba(253, 181, 21, 0.44));
    transform-origin: left center;
    opacity: 0.9;
}

.chatkit-context-link.link-1 {
    left: 22%;
    top: 23%;
    width: 420px;
    transform: rotate(9deg);
}

.chatkit-context-link.link-2 {
    left: 45%;
    top: 26%;
    width: 360px;
    transform: rotate(-12deg);
}

.chatkit-context-link.link-3 {
    left: 19%;
    top: 49%;
    width: 430px;
    transform: rotate(-7deg);
}

.chatkit-context-link.link-4 {
    left: 45%;
    top: 50%;
    width: 360px;
    transform: rotate(6deg);
}

.chatkit-hero-inner {
    max-width: 1180px;
    margin: 0 auto;
    text-align: center;
    padding: 74px 24px 30px;
    position: relative;
    z-index: 1;
    isolation: isolate;
}

.chatkit-hero-inner::before {
    content: none;
    position: absolute;
    top: 24px;
    left: 120px;
    width: 220px;
    height: 220px;
    border-radius: 999px;
    background: none;
    filter: blur(6px);
    z-index: -1;
}

.chatkit-hero-inner::after {
    content: none;
    position: absolute;
    top: 108px;
    right: 110px;
    width: 250px;
    height: 250px;
    border-radius: 999px;
    background: none;
    filter: blur(7px);
    z-index: -1;
}

.chatkit-entry-title {
    display: inline-block;
    margin: 0 0 12px;
    font-size: clamp(3.8rem, 8.6vw, 6.8rem);
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: 0.015em;
    background: var(--ak-brand-text-gradient);
    color: transparent;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.chatkit-entry-subtitle {
    margin: 0 auto 16px;
    max-width: 760px;
    font-size: clamp(1.2rem, 2.35vw, 1.62rem);
    line-height: 1.55;
    color: var(--ak-berkeley-blue);
    font-weight: 500;
}

.chatkit-award-wrap {
    margin-top: 18px;
    margin-bottom: 26px;
}

.chatkit-award-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    border-radius: 999px;
    padding: 9px 16px;
    color: #133f72;
    border: 2px solid rgba(253, 181, 21, 0.68);
    background: linear-gradient(130deg, rgba(255, 255, 255, 0.92), rgba(244, 248, 255, 0.94));
    box-shadow: 0 8px 20px rgba(24, 62, 112, 0.14);
}

.chatkit-award-link:hover {
    transform: translateY(-1px);
    background: linear-gradient(130deg, rgba(255, 255, 255, 0.98), rgba(246, 250, 255, 0.98));
}

.chatkit-award-icon {
    color: #b67f00;
}

.chatkit-award-text {
    font-weight: 600;
    font-size: 1.02rem;
}

.chatkit-hero-description {
    margin: 0 auto;
    max-width: 860px;
    color: #2f4f76;
    font-size: clamp(1.1rem, 1.78vw, 1.3rem);
    line-height: 1.68;
    font-weight: 500;
}

.chatkit-hero-proofline {
    margin: 24px auto 0;
    max-width: 820px;
    font-size: clamp(1.05rem, 1.55vw, 1.18rem);
    color: #173760;
    font-weight: 700;
    letter-spacing: 0.004em;
    line-height: 1.45;
    position: relative;
    padding-top: 14px;
}

.chatkit-proofline-count {
    display: inline-block;
    text-align: center;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    font-size: 1.7em;
    font-weight: 900;
    color: #0f2f58;
    line-height: 1;
    vertical-align: baseline;
}

.chatkit-hero-proofline::before {
    content: "";
    display: block;
    width: 165px;
    height: 3px;
    margin: 0 auto 22px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(253, 181, 21, 0.2), rgba(253, 181, 21, 0.88), rgba(253, 181, 21, 0.2));
}

.chatkit-hero-description + .chatkit-hero-visual {
    margin-top: 44px;
}

.chatkit-hero-actions {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.chatkit-hero-visual {
    margin: 156px auto 0;
    max-width: 930px;
    min-height: 520px;
    position: relative;
    pointer-events: none;
}

.chatkit-visual-back-tab {
    position: absolute;
    width: 300px;
    height: 190px;
    border-radius: 16px;
    z-index: 1;
    border: 1px solid rgba(255, 255, 255, 0.8);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 12px 28px rgba(15, 39, 72, 0.14);
}

.chatkit-visual-back-tab.tab-left {
    left: -22px;
    bottom: 32px;
    transform: rotate(-3deg);
}

.chatkit-visual-back-tab.tab-right {
    right: -22px;
    top: 38px;
    transform: rotate(3deg);
}

.chatkit-visual-main {
    position: relative;
    z-index: 2;
    border-radius: 20px;
    border: 2px solid rgba(253, 181, 21, 0.36);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 22px 42px rgba(15, 39, 72, 0.2);
    overflow: hidden;
}

.chatkit-visual-bar {
    height: 38px;
    border-bottom: 1px solid #d8e3f2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    background: linear-gradient(180deg, #ffffff, #f6f9ff);
}

.chatkit-visual-dots {
    display: inline-flex;
    gap: 6px;
}

.chatkit-visual-dots span {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    display: inline-block;
}

.chatkit-visual-dots span:nth-child(1) { background: #fb7185; }
.chatkit-visual-dots span:nth-child(2) { background: #facc15; }
.chatkit-visual-dots span:nth-child(3) { background: #4ade80; }

.chatkit-visual-title {
    font-size: 0;
}

.chatkit-visual-layout {
    padding: 12px;
    min-height: 430px;
    display: grid;
    grid-template-columns: 1.18fr 0.82fr;
    gap: 10px;
}

.chatkit-visual-video {
    border-radius: 0;
    border: 0;
    background: transparent;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.chatkit-visual-video-top {
    display: flex;
    gap: 6px;
}

.chatkit-visual-video-top span {
    height: 7px;
    border-radius: 999px;
    background: #d6e3f3;
}

.chatkit-visual-video-top span:nth-child(1) { width: 40px; }
.chatkit-visual-video-top span:nth-child(2) { width: 66px; background: #c8dcf5; }
.chatkit-visual-video-top span:nth-child(3) { width: 52px; background: rgba(253, 181, 21, 0.45); }

.chatkit-visual-course-bar {
    height: 26px;
    border: 1px solid #d8e3f2;
    border-radius: 8px;
    background: #ffffff;
    display: flex;
    align-items: center;
    padding: 0 10px;
    margin-top: -1px;
}

.chatkit-visual-course-label {
    color: #1f4677;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.chatkit-visual-video-screen {
    flex: 1;
    min-height: 350px;
    border-radius: 9px;
    border: 1px solid #d8e3f2;
    background: #f4f8ff;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.chatkit-visual-video-screen::before {
    content: none;
}

.chatkit-visual-video-screen::after {
    content: none;
}

.chatkit-slide {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 480px;
    height: 270px;
    transform: translate(-50%, -50%) scale(var(--chatkit-slide-scale, 1));
    transform-origin: center center;
    border-radius: 9px;
    display: none;
    overflow: hidden;
}

.chatkit-main-landing.is-mode-chat .chatkit-slide-chat,
.chatkit-main-landing.is-mode-quiz .chatkit-slide-quiz,
.chatkit-main-landing.is-mode-notes .chatkit-slide-notes {
    display: block;
}

.chatkit-equation-card {
    position: absolute;
    inset: 0;
    border-radius: 10px;
    background: linear-gradient(145deg, #0f3f84, #2c6bc2);
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #f2f7ff;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    z-index: 2;
}

.chatkit-equation-title {
    font-size: 0.76rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    opacity: 0.85;
}

.chatkit-equation-main {
    font-size: clamp(1rem, 1.55vw, 1.32rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
}

.chatkit-equation-main math {
    color: #ffffff;
}

.chatkit-equation-sub {
    font-size: 0.78rem;
    line-height: 1.4;
    opacity: 0.92;
}

.chatkit-equation-bullets {
    margin: 4px 0 0;
    padding-left: 18px;
    color: #eff6ff;
    font-size: 0.72rem;
    line-height: 1.35;
}

.chatkit-equation-bullets li + li {
    margin-top: 4px;
}

.chatkit-equation-legend {
    margin-top: 4px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.12);
    padding: 7px 8px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.chatkit-equation-legend div {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.chatkit-equation-legend strong {
    font-size: 0.66rem;
    letter-spacing: 0.02em;
}

.chatkit-equation-legend span {
    font-size: 0.62rem;
    line-height: 1.35;
    opacity: 0.94;
}

.eq-bullet-item {
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 460ms ease-out, transform 460ms ease-out;
}

.eq-bullet-item.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.chatkit-bio-card,
.chatkit-econ-card {
    position: absolute;
    inset: 0;
    border-radius: 10px;
    border: 1px solid #d2e0f4;
    padding: 12px;
}

.chatkit-bio-card {
    background: linear-gradient(160deg, #f5fbf7 0%, #edf8f2 100%);
    border-color: #cfe7d9;
}

.chatkit-econ-card {
    background: #cfdfff;
    border-color: #a7c2ef;
}

.chatkit-bio-title,
.chatkit-econ-title {
    font-size: 0.78rem;
    font-weight: 700;
    margin-bottom: 4px;
}

.chatkit-bio-title {
    color: #1f5b3a;
}

.chatkit-econ-title {
    color: #1d3f7a;
}

.chatkit-bio-subtitle,
.chatkit-econ-subtitle {
    font-size: 0.67rem;
    margin-bottom: 8px;
    line-height: 1.35;
}

.chatkit-bio-subtitle {
    color: #4f7b63;
}

.chatkit-econ-subtitle {
    color: #4d6992;
}

.chatkit-econ-image {
    display: block;
    width: 100%;
    height: 116px;
    object-fit: contain;
    object-position: center;
    border: 0;
    border-radius: 8px;
    background: #ffffff;
}

.chatkit-bio-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.7rem;
    color: #23486f;
}

.chatkit-bio-table th,
.chatkit-bio-table td {
    border: 1px solid #dbe7f8;
    padding: 4px 6px;
    text-align: left;
}

.chatkit-bio-table th {
    background: #eaf6ee;
    color: #1f5b3a;
}

.chatkit-bio-table td {
    background: #ffffff;
}

.chatkit-bio-bars {
    margin-top: 8px;
    height: 56px;
    display: flex;
    align-items: flex-end;
    gap: 8px;
    position: relative;
    padding-bottom: 12px;
}

.bio-bar {
    flex: 1;
    border-radius: 6px 6px 3px 3px;
    background: linear-gradient(180deg, #4a84d8, #1d5dbb);
    transform-origin: bottom center;
}

.bio-bar.b1 { height: 18%; }
.bio-bar.b2 { height: 20%; }
.bio-bar.b3 { height: 100%; }

.chatkit-main-landing.is-mode-quiz .bio-bar {
    animation: chatkit-bio-bar-rise 780ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.chatkit-main-landing.is-mode-quiz .bio-bar.b1 { animation-delay: 60ms; }
.chatkit-main-landing.is-mode-quiz .bio-bar.b2 { animation-delay: 150ms; }
.chatkit-main-landing.is-mode-quiz .bio-bar.b3 { animation-delay: 240ms; }

@keyframes chatkit-bio-bar-rise {
    0% {
        transform: scaleY(0.08);
        filter: saturate(0.85);
    }
    72% {
        transform: scaleY(1.08);
    }
    100% {
        transform: scaleY(1);
        filter: saturate(1);
    }
}

.bio-label {
    position: absolute;
    bottom: 0;
    font-size: 0.6rem;
    color: #5b7698;
}

.bio-label.l1 { left: 7%; }
.bio-label.l2 { left: 36%; }
.bio-label.l3 { left: 71%; }

.chatkit-bio-bottom-row {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 10px;
    margin-top: 6px;
}

.chatkit-bio-callout {
    border: 1px solid #cfe7d9;
    background: #f0f9f3;
    border-radius: 8px;
    padding: 7px 8px;
}

.chatkit-bio-callout strong {
    color: #1f5b3a;
    font-size: 0.66rem;
}

.chatkit-bio-callout p {
    margin: 3px 0 0;
    color: #3f6a52;
    font-size: 0.64rem;
    line-height: 1.35;
}

.chatkit-econ-chart {
    position: relative;
    margin-top: 2px;
    height: 116px;
    border: 1px solid #dbe7f8;
    border-radius: 8px;
    background: linear-gradient(180deg, #fbfdff, #f5f9ff);
}

.chatkit-econ-chart .axis {
    position: absolute;
    background: #95adcb;
}

.chatkit-econ-chart .axis-x {
    left: 20px;
    right: 12px;
    bottom: 16px;
    height: 1px;
}

.chatkit-econ-chart .axis-y {
    left: 20px;
    top: 10px;
    bottom: 16px;
    width: 1px;
}

.chatkit-econ-chart .line {
    position: absolute;
    height: 2px;
    transform-origin: left center;
}

.chatkit-econ-chart .line.supply {
    left: 28px;
    bottom: 42px;
    width: 122px;
    background: #1d5dbb;
    transform: rotate(-33deg);
}

.chatkit-econ-chart .line.demand-old {
    left: 28px;
    bottom: 84px;
    width: 122px;
    background: #c98c38;
    transform: rotate(25deg);
}

.chatkit-econ-chart .line.demand {
    left: 40px;
    bottom: 94px;
    width: 122px;
    background: #d1811d;
    transform: rotate(25deg);
}

.chatkit-econ-chart .point.eq0,
.chatkit-econ-chart .point.eq1 {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    border: 1px solid #ffffff;
    box-shadow: 0 0 0 1px rgba(19, 63, 114, 0.1);
}

.chatkit-econ-chart .point.eq0 {
    left: 80px;
    bottom: 69px;
    background: #3f77bf;
}

.chatkit-econ-chart .point.eq1 {
    left: 100px;
    bottom: 78px;
    background: #123f73;
}

.econ-label {
    position: absolute;
    font-size: 0.6rem;
    color: #577498;
}

.econ-label.p-label { left: 2px; top: 6px; }
.econ-label.q-label { right: 4px; bottom: 0; }
.econ-label.s-label { left: 140px; bottom: 26px; color: #1d5dbb; }
.econ-label.d0-label { left: 144px; top: 50px; color: #c98c38; }
.econ-label.d1-label { left: 152px; top: 40px; color: #d1811d; }

.chatkit-econ-bottom-row {
    margin-top: 8px;
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 10px;
}

.chatkit-econ-mini-table {
    border: 1px solid #d3dcf8;
    border-radius: 8px;
    background: #ffffff;
    padding: 6px 8px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px 10px;
}

.chatkit-econ-mini-table div span {
    display: block;
    font-size: 0.58rem;
    color: #5c7899;
}

.chatkit-econ-mini-table div strong {
    font-size: 0.68rem;
    color: #173f73;
}

.chatkit-econ-caption {
    font-size: 0.63rem;
    color: #395f88;
    line-height: 1.35;
}

.chatkit-visual-video-timeline {
    position: relative;
    height: 9px;
    border-radius: 999px;
    background: #dce6f4;
    overflow: hidden;
}

.chatkit-visual-video-timeline::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--chatkit-progress, 0%);
    border-radius: 999px;
    background: var(--ak-berkeley-blue);
    transition: width var(--chatkit-progress-dur, 900ms) linear;
}

.chatkit-visual-video-controls {
    height: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.chatkit-visual-video-controls .play {
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid #2d4d78;
}

.chatkit-visual-video-controls .bar {
    height: 6px;
    border-radius: 999px;
    background: #d4e2f3;
    width: 60px;
}

.chatkit-visual-video-controls .bar.short {
    width: 36px;
    background: #bfd6ee;
}

.chatkit-visual-video-controls .dot {
    margin-left: auto;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--ak-berkeley-gold);
}

.chatkit-visual-chat {
    border-radius: 9px;
    border: 1px solid #d8e3f2;
    background: #fff;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

.chatkit-chat-tabs {
    display: flex;
    gap: 6px;
}

.chatkit-tab {
    border: 1px solid #d8e3f2;
    background: #f6f9ff;
    color: #49658a;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 4px 9px;
    line-height: 1;
}

.chatkit-chat-panel {
    display: none;
    min-height: 188px;
}

.chatkit-main-landing.is-mode-chat .chatkit-tab-chat,
.chatkit-main-landing.is-mode-quiz .chatkit-tab-quiz,
.chatkit-main-landing.is-mode-notes .chatkit-tab-notes {
    background: #0f3f84;
    border-color: #0f3f84;
    color: #fff;
}

.chatkit-main-landing.is-mode-chat .chatkit-panel-chat,
.chatkit-main-landing.is-mode-quiz .chatkit-panel-quiz,
.chatkit-main-landing.is-mode-notes .chatkit-panel-notes {
    display: flex;
    flex-direction: column;
    gap: 9px;
    flex: 1;
}

.chatkit-bubble {
    border-radius: 10px;
}

.chatkit-bubble.bot {
    width: auto;
    max-width: 100%;
    min-height: 48px;
    background: #9fc5f5;
    color: #153d73;
    padding: 10px 12px;
    font-size: 0.78rem;
    line-height: 1.3;
}

.chatkit-bubble.user {
    width: auto;
    max-width: 100%;
    min-height: 30px;
    margin-left: auto;
    background: #588bd7;
    color: #fff;
    padding: 8px 10px;
    font-size: 0.74rem;
    line-height: 1.25;
}

.chatkit-bubble.bot.small {
    width: auto;
    max-width: 100%;
    min-height: 122px;
    background: #9fc5f5;
    color: #153d73;
    padding: 10px 12px;
    font-size: 0.74rem;
    line-height: 1.34;
}

.chatkit-bayes-math {
    margin: 4px 0;
    font-size: 0.69rem;
    color: #133760;
}

.chatkit-bayes-math math {
    color: #133760;
}

.chatkit-chat-input {
    margin-top: auto;
    height: 34px;
    border-radius: 999px;
    border: 2px solid rgba(253, 181, 21, 0.46);
    background: #f8fbff;
    color: #58739a;
    font-size: 0.72rem;
    display: flex;
    align-items: center;
    padding: 0 12px;
    gap: 0;
    white-space: nowrap;
    overflow: hidden;
}

.chatkit-chat-user {
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 260ms ease, transform 260ms ease;
}

.chatkit-chat-answer {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 320ms ease, transform 320ms ease;
}

.chatkit-main-landing.is-chat-seq-user .chatkit-chat-user {
    opacity: 1;
    transform: translateY(0);
}

.chatkit-main-landing.is-chat-seq-answer .chatkit-chat-answer {
    opacity: 1;
    transform: translateY(0);
}

.chatkit-chat-user-text {
    white-space: nowrap;
}

.chatkit-chat-input-text {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    vertical-align: top;
}

.chatkit-chat-caret {
    margin-left: 2px;
    opacity: 0;
}

.chatkit-main-landing.is-chat-seq-typing .chatkit-chat-caret {
    opacity: 1;
    animation: chatkit-caret-blink 900ms steps(1, end) infinite;
}

.chatkit-panel-chat .chatkit-chat-input {
    margin-top: auto;
}

.chatkit-quiz-question {
    color: #173760;
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.35;
}

.chatkit-quiz-options {
    display: grid;
    gap: 6px;
}

.chatkit-quiz-option {
    border: 1px solid #d8e3f2;
    border-radius: 8px;
    padding: 7px 8px;
    font-size: 0.72rem;
    color: #244a78;
    background: #f8fbff;
}

.chatkit-main-landing.is-quiz-picked-wrong .chatkit-quiz-option[data-option="a"] {
    border-color: #da4b4b;
    background: #fff1f1;
    color: #8d2a2a;
}

.chatkit-main-landing.is-quiz-picked-wrong .chatkit-quiz-option[data-option="c"] {
    border-color: #2f9b4d;
    background: #eefcf1;
    color: #1f6f36;
}

.chatkit-quiz-explanation {
    margin-top: 2px;
    display: none;
    font-size: 0.68rem;
    line-height: 1.35;
    color: #244a78;
    background: #f1f7ff;
    border: 1px solid #d9e6f8;
    border-radius: 8px;
    padding: 7px 8px;
}

.chatkit-main-landing.is-quiz-picked-wrong .chatkit-quiz-explanation {
    display: block;
}

.chatkit-notes-pad-title {
    color: #173760;
    font-size: 0.76rem;
    font-weight: 700;
}

.chatkit-notes-list {
    margin: 0;
    padding: 2px 0 0 18px;
    flex: 1;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #244a78;
    font-size: 0.71rem;
    line-height: 1.55;
}

.chatkit-notes-list li {
    opacity: 0;
    transform: translateY(3px);
    transition: opacity 420ms ease-out, transform 420ms ease-out;
}

.chatkit-notes-list li.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.chatkit-notes-graph-item {
    list-style: none;
    margin: 2px 0 2px -16px;
    display: none;
    opacity: 0;
    transform: translateY(3px);
    transition: opacity 420ms ease-out, transform 420ms ease-out;
}

.chatkit-notes-inline-graph {
    width: 100%;
    height: 86px;
    object-fit: contain;
    border: 0;
    border-radius: 7px;
    background: #fff;
    padding: 0;
    opacity: 1;
    transform: translateY(0);
}

.chatkit-notes-graph-item.is-visible {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

@keyframes chatkit-caret-blink {
    0%, 49% { opacity: 1; }
    50%, 100% { opacity: 0; }
}

.chatkit-visual-callout {
    position: absolute;
    z-index: 3;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #d8e3f2;
    box-shadow: 0 10px 20px rgba(15, 39, 72, 0.14);
    padding: 11px 13px;
    min-width: 198px;
    text-align: left;
}

.chatkit-visual-callout strong {
    display: block;
    font-size: 0.86rem;
    color: #173760;
    margin-bottom: 3px;
}

.chatkit-visual-callout span {
    display: block;
    font-size: 0.78rem;
    color: #5a6f8b;
}

.chatkit-visual-callout.c3 {
    left: 40px;
    top: 92px;
}

.chatkit-visual-callout.c2 {
    right: 30px;
    top: 264px;
}

.chatkit-visual-callout.c1 {
    left: 190px;
    bottom: 100px;
}

.chatkit-pipeline-showcase {
    margin-top: -132px;
    padding: 0 24px 24px;
    position: relative;
    z-index: 1;
}

.chatkit-pipeline-wrap {
    max-width: 930px;
    margin: 0 auto;
    border-radius: 18px;
    border: 2px solid rgba(253, 181, 21, 0.5);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: var(--ak-shadow-sm);
    padding: 16px 16px 14px;
}

.chatkit-pipeline-title {
    margin: 0 0 12px;
    text-align: center;
    color: #173760;
    font-size: clamp(1.22rem, 2.2vw, 1.56rem);
    line-height: 1.3;
    font-weight: 700;
}

.chatkit-pipeline-image {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
    border: 1px solid #d8e3f2;
    background: #fff;
}

.chatkit-momentum {
    margin-top: -10px;
    padding: 0 24px 94px;
}

.chatkit-momentum-grid {
    max-width: 980px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.chatkit-momentum-card {
    border-radius: 18px;
    border: 2px solid rgba(253, 181, 21, 0.52);
    background: rgba(255, 255, 255, 0.9);
    box-shadow: var(--ak-shadow-sm);
    padding: 20px 20px 18px;
    text-align: left;
}

.chatkit-momentum-card h2 {
    margin: 0;
    color: #173760;
    font-size: 1.02rem;
    line-height: 1.35;
    font-weight: 700;
}

.chatkit-momentum-list {
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
    color: #244a78;
    font-size: 0.92rem;
    line-height: 1.5;
}

.chatkit-momentum-list li::before {
    content: "•";
    margin-right: 8px;
    color: #4f6f95;
}

.chatkit-momentum-list li + li {
    margin-top: 4px;
}

.chatkit-momentum-support {
    margin: 12px 0 0;
    color: #244a78;
    font-size: 0.94rem;
    line-height: 1.55;
}

.chatkit-momentum-link {
    display: inline-flex;
    align-items: center;
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: 10px;
    border: 2px solid rgba(253, 181, 21, 0.6);
    background: rgba(255, 255, 255, 0.92);
    color: var(--ak-berkeley-blue);
    font-weight: 700;
    text-decoration: none;
    font-size: 0.9rem;
    line-height: 1;
}

.chatkit-momentum-links {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.chatkit-momentum-link:hover {
    background: #f6fbff;
}

/* ChatKit Alternate Login */
.chatkit-alt-auth-wrap {
    min-height: 100vh;
    padding: 118px 24px 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.chatkit-alt-auth-card {
    width: 100%;
    max-width: 470px;
    border-radius: 18px;
    border: 2px solid rgba(253, 181, 21, 0.48);
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 18px 36px rgba(15, 39, 72, 0.14);
    padding: 24px 22px 20px;
}

.chatkit-alt-auth-title {
    margin: 0;
    font-size: 1.42rem;
    line-height: 1.2;
    color: #173760;
    font-weight: 800;
}

.chatkit-alt-auth-subtitle {
    margin: 8px 0 14px;
    color: #4f6787;
    font-size: 0.94rem;
    line-height: 1.5;
}

.chatkit-alt-auth-error {
    margin-bottom: 12px;
    border-radius: 10px;
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #991b1b;
    font-size: 0.9rem;
    line-height: 1.4;
    font-weight: 600;
    padding: 10px 12px;
}

.chatkit-alt-auth-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.chatkit-alt-auth-label {
    font-size: 0.86rem;
    font-weight: 700;
    color: #1f4677;
}

.chatkit-alt-auth-input {
    width: 100%;
    height: 44px;
    border-radius: 10px;
    border: 1px solid #d5e2f2;
    background: #fff;
    color: #17263c;
    font-family: inherit;
    font-size: 0.96rem;
    padding: 0 12px;
    outline: none;
}

.chatkit-alt-auth-input:focus {
    border-color: rgba(63, 127, 232, 0.7);
    box-shadow: 0 0 0 3px rgba(63, 127, 232, 0.14);
}

.chatkit-alt-auth-actions {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* Keep auth actions compact regardless of global nav button rules */
.chatkit-alt-auth-actions .btn {
    min-height: 40px;
    padding: 9px 14px;
}

.chatkit-alt-auth-actions .btn-primary {
    background: var(--ak-berkeley-blue);
    color: #fff;
    border-color: transparent;
}

/* Courses Page */
.chatkit-courses-page {
    min-height: 100vh;
    width: 100%;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: transparent;
}

.chatkit-courses-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: calc(var(--ak-nav-height) + var(--ak-courses-top-gap)) 24px 60px;
    position: relative;
    z-index: 1;
}

.chatkit-courses-header {
    margin-bottom: 26px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.chatkit-courses-header h1 {
    margin: 0;
    font-size: clamp(1.85rem, 4.6vw, 2.42rem);
    line-height: 1.1;
    letter-spacing: -0.01em;
    font-weight: 900;
    background: var(--ak-brand-text-gradient);
    color: transparent;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.chatkit-consent-pill {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 3px 10px;
    border-radius: 999px;
    border: 1px solid transparent;
    background: var(--ak-berkeley-blue);
    color: #fff;
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

.chatkit-consent-pill:hover {
    background: #001f5b;
}

.chatkit-courses-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.chatkit-course-group {
    margin-bottom: 20px;
    padding: 14px;
    border: 0;
    border-radius: 14px;
    background: rgba(107, 123, 147, 0.2);
    box-shadow: none;
}

.chatkit-course-group h2 {
    margin: 0 0 12px;
    font-size: 0.96rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ak-berkeley-blue);
    font-weight: 800;
}

.chatkit-course-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}

.chatkit-course-item {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 15px;
    border-radius: 16px;
    border: 2px solid rgba(253, 181, 21, 0.52);
    background: rgba(255, 255, 255, 0.78);
    transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease;
}

.chatkit-course-item:hover {
    transform: translateY(-2px);
    border-color: rgba(253, 181, 21, 0.52);
    box-shadow: 0 14px 24px rgba(15, 39, 72, 0.14);
}

.chatkit-course-emoji {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    background: rgba(0, 38, 118, 0.12);
}

.chatkit-course-name {
    font-weight: 700;
    margin-bottom: 4px;
}

.chatkit-course-meta {
    font-size: 0.8rem;
    color: #3c5d84;
    margin-bottom: 8px;
    font-weight: 600;
}

.chatkit-course-desc {
    font-size: 0.89rem;
    color: var(--ak-muted);
}

/* ChatKit Courses: Consent + Logout polish */
.chatkit-courses-page [data-logout-open] {
    background: var(--ak-berkeley-blue);
    color: #fff;
    border: 1px solid transparent;
    box-shadow: none;
}

.chatkit-courses-page [data-logout-open]:hover {
    background: #001f5b;
    border-color: transparent;
}

.chatkit-courses-page #consent-popup,
.chatkit-courses-page ~ #consent-popup {
    background: rgba(9, 20, 38, 0.48);
    backdrop-filter: blur(8px);
    z-index: 2100;
}

.chatkit-courses-page #consent-popup .consent-content,
.chatkit-courses-page ~ #consent-popup .consent-content {
    background: rgba(255, 255, 255, 0.94);
    border: 2px solid rgba(253, 181, 21, 0.52);
    border-radius: 16px;
    box-shadow: 0 22px 40px rgba(15, 39, 72, 0.22);
    padding: 24px 22px;
    max-width: 640px;
}

.chatkit-courses-page #consent-popup .consent-content h2,
.chatkit-courses-page ~ #consent-popup .consent-content h2 {
    margin: 0 0 14px;
    font-size: 1.24rem;
    line-height: 1.25;
    font-weight: 800;
    color: #173760;
}

.chatkit-courses-page #consent-popup .consent-content p,
.chatkit-courses-page #consent-popup .consent-content .radio-label,
.chatkit-courses-page ~ #consent-popup .consent-content p,
.chatkit-courses-page ~ #consent-popup .consent-content .radio-label {
    color: #24466f;
}

.chatkit-courses-page #consent-popup .consent-content a,
.chatkit-courses-page ~ #consent-popup .consent-content a {
    color: var(--ak-berkeley-blue);
    font-weight: 700;
    text-decoration: underline;
}

.chatkit-courses-page #consent-popup .consent-option,
.chatkit-courses-page ~ #consent-popup .consent-option {
    border: 1px solid rgba(213, 226, 242, 0.9);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.78);
}

.chatkit-courses-page #consent-popup .consent-option:hover,
.chatkit-courses-page ~ #consent-popup .consent-option:hover {
    background: rgba(239, 247, 255, 0.9);
    border-color: rgba(63, 127, 232, 0.42);
}

.chatkit-courses-page #consent-popup .consent-save .btn,
.chatkit-courses-page ~ #consent-popup .consent-save .btn {
    min-height: 40px;
    padding: 9px 16px;
    border-radius: 10px;
}

.chatkit-courses-page #consent-popup .consent-save .btn-primary,
.chatkit-courses-page ~ #consent-popup .consent-save .btn-primary {
    background: var(--ak-berkeley-blue);
    border: 1px solid transparent;
    color: #fff;
}

.chatkit-courses-page #consent-popup .consent-save .btn-primary:hover,
.chatkit-courses-page ~ #consent-popup .consent-save .btn-primary:hover {
    background: #001f5b;
}

.chatkit-courses-page #logoutModal,
.chatkit-courses-page ~ #logoutModal {
    background: rgba(9, 20, 38, 0.48);
    backdrop-filter: blur(8px);
    z-index: 2200;
}

.chatkit-courses-page #logoutModal .modal-content,
.chatkit-courses-page ~ #logoutModal .modal-content {
    width: min(92vw, 460px);
    border-radius: 16px;
    border: 2px solid rgba(253, 181, 21, 0.52);
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 22px 40px rgba(15, 39, 72, 0.22);
    padding: 22px 20px;
}

.chatkit-courses-page #logoutModal .modal-content p,
.chatkit-courses-page ~ #logoutModal .modal-content p {
    margin-bottom: 12px;
    color: #173760;
    font-weight: 600;
}

.chatkit-courses-page #logoutModal .modal-content button,
.chatkit-courses-page ~ #logoutModal .modal-content button {
    min-height: 40px;
    border-radius: 10px;
    padding: 9px 14px;
    font-weight: 700;
}

.chatkit-courses-page #logoutModal .modal-content button:first-of-type,
.chatkit-courses-page ~ #logoutModal .modal-content button:first-of-type {
    background: var(--ak-berkeley-blue);
    color: #fff;
    border-color: transparent;
}

.chatkit-courses-page #logoutModal .modal-content button:last-of-type,
.chatkit-courses-page ~ #logoutModal .modal-content button:last-of-type {
    background: rgba(255, 255, 255, 0.9);
    color: var(--ak-berkeley-blue);
    border: 2px solid rgba(253, 181, 21, 0.58);
}

/* Intro hero layout refresh based on latest mockup */

.chatkit-main-landing .chatkit-hero {
    padding-top: 126px;
    padding-bottom: 84px;
    min-height: 100vh;
}

.chatkit-main-landing .chatkit-hero-inner {
    max-width: 1860px;
    padding: 26px 56px 0;
    display: grid;
    grid-template-columns: minmax(0, 0.98fr) minmax(0, 1.35fr);
    align-items: center;
    gap: 42px;
    text-align: left;
}

.chatkit-main-landing .chatkit-hero-copy {
    max-width: 720px;
    margin: 0;
    text-align: left;
}

.chatkit-main-landing .chatkit-entry-title {
    display: block;
    margin: 0 0 14px;
    font-size: clamp(2.2rem, 4vw, 3.9rem);
    letter-spacing: 0;
    line-height: 1.04;
    text-align: left;
    overflow: visible;
    padding-right: 0.08em;
}

.chatkit-main-landing .chatkit-entry-subtitle {
    margin: 0 0 28px;
    max-width: 640px;
    font-size: clamp(1.08rem, 1.45vw, 1.42rem);
    line-height: 1.24;
    font-weight: 500;
    color: #143a70;
}

.chatkit-main-landing .chatkit-award-wrap {
    margin: 0 0 28px;
}

.chatkit-main-landing .chatkit-award-link {
    min-height: 54px;
    padding: 0 24px;
    border-radius: 999px;
    border: 2px solid rgba(253, 181, 21, 0.92);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 10px 20px rgba(24, 62, 112, 0.12);
    font-size: 1.08rem;
}

.chatkit-main-landing .chatkit-hero-description {
    margin: 0;
    max-width: 640px;
    font-size: clamp(0.98rem, 1.08vw, 1.14rem);
    line-height: 1.5;
    font-weight: 500;
    color: #0e3261;
}

.chatkit-main-landing .chatkit-hero-actions {
    justify-content: flex-start;
    margin-top: 30px;
    gap: 16px;
}

.chatkit-main-landing .chatkit-hero-cta {
    min-height: 52px;
    height: 52px;
    padding: 0 28px;
    border-radius: 14px;
    font-weight: 700;
    font-size: 1.05rem;
}

.chatkit-main-landing .chatkit-hero-proofline {
    margin: 28px 0 0;
    padding-top: 0;
    font-size: clamp(1.02rem, 1.35vw, 1.35rem);
    font-weight: 500;
    line-height: 1.2;
    max-width: 860px;
    color: #183a63;
}

.chatkit-main-landing .chatkit-hero-proofline::before {
    display: none;
}

.chatkit-main-landing .chatkit-proofline-count {
    font-size: 1.72em;
    font-weight: 900;
    color: #0b2f60;
}

.chatkit-main-landing .chatkit-hero-preview {
    position: relative;
}

.chatkit-main-landing .chatkit-hero-preview::after {
    content: none;
}

.chatkit-main-landing .chatkit-hero-visual {
    margin: 0;
    max-width: 100%;
    min-height: auto;
}

.chatkit-main-landing .chatkit-visual-back-tab,
.chatkit-main-landing .chatkit-visual-callout {
    display: none;
}

.chatkit-main-landing .chatkit-visual-main {
    border: 2px solid rgba(227, 233, 244, 1);
    border-radius: 16px;
    box-shadow: none;
    overflow: hidden;
}

.chatkit-main-landing .chatkit-visual-bar {
    height: 40px;
    padding: 0 18px;
}

.chatkit-main-landing .chatkit-visual-layout {
    min-height: 0;
    padding: 14px;
}

.chatkit-main-landing .chatkit-visual-video-screen {
    min-height: 300px;
}

@media (max-width: 992px) {
    .nav-container {
        padding: 0 12px;
        height: 76px;
        min-height: 76px;
        max-height: 76px;
        align-items: center;
        flex-wrap: nowrap;
        gap: 8px;
    }

    .nav-actions {
        flex: 1 1 auto;
        min-width: 0;
        justify-content: flex-end;
        flex-wrap: wrap;
        align-content: center;
        row-gap: 4px;
        column-gap: 6px;
    }

    .nav-actions .btn {
        flex: 0 1 auto;
        min-width: 0;
        font-size: 0.82rem;
        height: 33px;
        min-height: 33px;
        max-height: 33px;
        padding: 7px 9px;
    }

    .chatkit-main-landing::before,
    .chatkit-courses-page::before {
        opacity: 0.82;
    }

    .chatkit-hero {
        padding-top: 86px;
        padding-bottom: 48px;
        min-height: auto;
    }

    .chatkit-network-bg {
        opacity: 0.38;
    }

    .chatkit-hero-visual {
        min-height: 420px;
        margin-top: 42px;
    }

    .chatkit-visual-back-tab {
        display: none;
    }

    .chatkit-visual-layout {
        grid-template-columns: 1fr;
    }

    .chatkit-visual-video-screen {
        min-height: 280px;
    }

    .chatkit-visual-callout {
        position: absolute;
        margin: 0;
        width: auto;
        min-width: 168px;
        padding: 8px 10px;
    }

    .chatkit-visual-callout strong {
        font-size: 0.78rem;
        margin-bottom: 2px;
    }

    .chatkit-visual-callout span {
        font-size: 0.72rem;
    }

    .chatkit-visual-callout.c3 {
        left: 40px;
        top: 92px;
    }

    .chatkit-visual-callout.c2 {
        right: 40px;
        top: 260px;
    }

    .chatkit-visual-callout.c1 {
        left: 40px;
        bottom: 84px;
    }

    .chatkit-momentum-grid {
        grid-template-columns: 1fr;
    }

    .chatkit-pipeline-showcase {
        margin-top: 0;
        padding-top: 8px;
    }

    .chatkit-momentum {
        margin-top: 0;
        padding-top: 8px;
    }

}

@media (max-width: 768px) {
    .nav-logo {
        display: none;
    }

    .nav-actions {
        width: 100%;
        justify-content: center;
    }

    .nav-actions .btn {
        font-size: 0.78rem;
        height: 32px;
        min-height: 32px;
        max-height: 32px;
        padding: 6px 8px;
    }

    .chatkit-main-landing::before,
    .chatkit-courses-page::before {
        opacity: 0.7;
    }

    .chatkit-courses-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .chatkit-courses-actions {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, max-content));
        gap: 8px;
        justify-content: flex-start;
    }

    .chatkit-courses-actions .btn {
        width: 100%;
    }

    .chatkit-courses-page #consent-popup .consent-content,
    .chatkit-courses-page ~ #consent-popup .consent-content {
        padding: 18px 16px;
        border-radius: 14px;
    }

    .chatkit-courses-page #consent-popup .consent-content h2,
    .chatkit-courses-page ~ #consent-popup .consent-content h2 {
        font-size: 1.06rem;
    }

    .chatkit-courses-page #logoutModal .modal-content,
    .chatkit-courses-page ~ #logoutModal .modal-content {
        padding: 18px 14px;
    }

    .chatkit-alt-auth-wrap {
        padding: 98px 14px 28px;
        align-items: flex-start;
    }

    .chatkit-alt-auth-card {
        max-width: 100%;
        padding: 18px 16px 16px;
    }

    .chatkit-alt-auth-title {
        font-size: 1.22rem;
    }

    .chatkit-alt-auth-subtitle {
        font-size: 0.89rem;
        margin-top: 6px;
    }

    .chatkit-alt-auth-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .chatkit-alt-auth-actions .btn {
        width: 100%;
    }

    .chatkit-hero {
        padding-top: 82px;
    }

    .chatkit-hero-inner {
        padding: 42px 18px 18px;
    }

    .chatkit-hero-visual {
        min-height: 390px;
    }

    .chatkit-pipeline-wrap {
        padding: 12px 12px 10px;
    }

    .chatkit-pipeline-title {
        font-size: 0.95rem;
        margin-bottom: 10px;
    }

    .chatkit-visual-video-screen {
        min-height: 240px;
    }

    .chatkit-visual-callout {
        min-width: 146px;
        padding: 7px 9px;
    }

    .chatkit-visual-callout strong {
        font-size: 0.73rem;
    }

    .chatkit-visual-callout span {
        font-size: 0.68rem;
    }

    .chatkit-visual-callout.c3 {
        left: 40px;
        top: 92px;
    }

    .chatkit-visual-callout.c2 {
        right: 40px;
        top: 260px;
    }

    .chatkit-visual-callout.c1 {
        left: 40px;
        bottom: 84px;
    }

}

@media (max-width: 576px) {
    .nav-container {
        padding: 0 8px;
    }

    .nav-actions .btn {
        font-size: 0.75rem;
        height: 30px;
        min-height: 30px;
        max-height: 30px;
        padding: 5px 7px;
    }

    .chatkit-main-landing::before,
    .chatkit-courses-page::before {
        opacity: 0.64;
    }
}

@media (max-width: 450px) {
    .chatkit-courses-actions {
        grid-template-columns: 1fr;
    }

    .chatkit-alt-auth-actions {
        grid-template-columns: 1fr;
    }

    .chatkit-hero {
        padding-top: 88px;
    }
}

/* Final landing fidelity overrides */
.chatkit-landing-page .nav-logo {
    display: flex;
    align-items: center;
}

.chatkit-landing-page .logo-mark {
    display: inline-flex;
    margin-right: 10px;
    color: #f2b234;
    font-size: 2rem;
    line-height: 1;
}

.chatkit-main-landing .chatkit-hero {
    min-height: auto;
    padding-bottom: 28px;
}

.chatkit-main-landing .chatkit-hero-inner {
    grid-template-columns: minmax(0, 0.98fr) minmax(0, 1.08fr);
}

.chatkit-main-landing .chatkit-hero-copy {
    max-width: 640px;
}

.chatkit-main-landing .chatkit-entry-title {
    font-size: clamp(2.35rem, 4.1vw, 4.3rem);
    line-height: 1.08;
}

.chatkit-main-landing .chatkit-entry-subtitle {
    font-size: clamp(1.42rem, 1.9vw, 2.05rem);
}

.chatkit-main-landing .chatkit-entry-title span {
    display: inline-block;
    white-space: nowrap;
}

/* Landing navbar: keep default sizes until one compact breakpoint */
.chatkit-landing-page .navbar {
    height: 76px;
}

.chatkit-landing-page .nav-container {
    max-width: 1860px;
    height: 76px;
    min-height: 76px;
    max-height: 76px;
    padding: 0 56px;
    flex-wrap: nowrap;
}

.chatkit-landing-page .nav-logo {
    flex: 0 0 auto;
}

.chatkit-landing-page .logo-mark-image {
    width: 40px;
    height: 40px;
    object-fit: contain;
    margin-right: 10px;
    border-radius: 8px;
}

.chatkit-landing-page .logo-text {
    font-size: 3rem;
    line-height: 1;
    white-space: nowrap;
}

.chatkit-landing-page .nav-actions {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: 10px;
}

.chatkit-landing-page .nav-login-menu {
    flex: 0 0 auto;
}

.chatkit-landing-page .nav-login-summary,
.chatkit-landing-page .nav-contact-btn {
    height: 44px;
    min-height: 44px;
    max-height: 44px;
    width: auto;
    min-width: 0;
    padding: 0 24px;
    font-size: 1.02rem;
    white-space: nowrap;
}

@media (max-width: 1320px) {
    .chatkit-landing-page .nav-container {
        height: 76px;
        min-height: 76px;
        max-height: 76px;
        padding: 0 20px;
    }

    .chatkit-landing-page .logo-mark-image {
        width: 34px;
        height: 34px;
        margin-right: 8px;
    }

    .chatkit-landing-page .logo-text {
        font-size: 2.35rem;
    }

    .chatkit-landing-page .nav-actions {
        gap: 8px;
    }

    .chatkit-landing-page .nav-login-summary,
    .chatkit-landing-page .nav-contact-btn {
        height: 40px;
        min-height: 40px;
        max-height: 40px;
        padding: 0 18px;
        font-size: 0.94rem;
    }
}

@media (max-width: 768px) {
    .chatkit-landing-page .nav-logo {
        display: flex;
    }

    .chatkit-landing-page .nav-actions {
        width: auto;
        justify-content: flex-end;
        gap: 6px;
    }

    .chatkit-landing-page .logo-mark-image {
        width: 30px;
        height: 30px;
        margin-right: 7px;
    }

    .chatkit-landing-page .logo-text {
        font-size: 1.9rem;
    }

    .chatkit-landing-page .nav-actions .btn,
    .chatkit-landing-page .nav-login-summary,
    .chatkit-landing-page .nav-contact-btn {
        height: 36px;
        min-height: 36px;
        max-height: 36px;
        padding: 0 12px;
        font-size: 0.84rem;
        border-radius: 11px;
    }
}

@media (max-width: 576px) {
    .chatkit-landing-page .nav-container {
        padding: 0 20px;
        gap: 6px;
    }

    .chatkit-landing-page .logo-mark-image {
        width: 26px;
        height: 26px;
        margin-right: 6px;
    }

    .chatkit-landing-page .logo-text {
        font-size: 1.55rem;
    }

    .chatkit-landing-page .nav-actions {
        gap: 6px;
    }

    .chatkit-landing-page .nav-actions .btn {
        height: 33px;
        min-height: 33px;
        max-height: 33px;
        padding: 0 9px;
        font-size: 0.78rem;
        border-radius: 10px;
    }

    .chatkit-landing-page .nav-login-summary,
    .chatkit-landing-page .nav-contact-btn {
        height: 33px;
        min-height: 33px;
        max-height: 33px;
        padding: 0 9px;
        font-size: 0.78rem;
    }

}

.chatkit-main-landing .chatkit-hero-description {
    font-size: clamp(1.02rem, 1.12vw, 1.18rem);
}

.chatkit-main-landing .chatkit-hero-proofline {
    margin-top: 20px;
    font-size: clamp(1.2rem, 1.4vw, 1.5rem);
}

.chatkit-main-landing .chatkit-proofline-count {
    font-size: 1.3em;
    margin: 0 0.02em;
}

.chatkit-main-landing .chatkit-visual-main {
    border-radius: 16px;
}

.chatkit-main-landing .chatkit-hero-preview {
    width: 100%;
    text-align: left;
}

.chatkit-main-landing .chatkit-hero-visual {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    text-align: left;
    min-height: auto;
}

.chatkit-main-landing .chatkit-visual-main {
    width: 100%;
}

.chatkit-main-landing .chatkit-visual-layout {
    grid-template-columns: minmax(0, 1fr) minmax(200px, 0.74fr);
    align-items: stretch;
    padding: 8px;
}

.chatkit-main-landing .chatkit-visual-video-top {
    display: none;
}

.chatkit-main-landing .chatkit-visual-video,
.chatkit-main-landing .chatkit-visual-chat {
    min-width: 0;
}

.chatkit-main-landing .chatkit-visual-video-screen {
    min-height: clamp(220px, 24vw, 320px);
}

.chatkit-momentum {
    margin-top: 12px;
    padding: 0 56px 40px;
}

.chatkit-bottom-cards {
    margin-top: 16px;
    max-width: 1540px;
}

.chatkit-bottom-cards .chatkit-momentum-card {
    border: 1px solid #dce6f5;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 10px 24px rgba(15, 39, 72, 0.08);
    padding: 22px 22px 20px;
}

.chatkit-bottom-cards .chatkit-momentum-card h2 {
    font-size: 1.12rem;
    color: #133a6b;
    margin: 0;
}

.chatkit-bottom-cards .chatkit-momentum-list {
    margin-top: 12px;
    color: #284f7d;
    font-size: 0.96rem;
    line-height: 1.48;
}

.chatkit-bottom-cards .chatkit-momentum-support {
    margin-top: 12px;
    color: #284f7d;
    font-size: 0.96rem;
    line-height: 1.5;
}

.chatkit-bottom-cards .chatkit-momentum-links {
    margin-top: 12px;
}

.chatkit-bottom-cards .chatkit-momentum-link {
    border: 1px solid rgba(253, 181, 21, 0.7);
    border-radius: 10px;
    background: #ffffff;
    color: #123a70;
    font-size: 0.88rem;
    padding: 9px 12px;
}

.chatkit-bottom-cards .chatkit-momentum-link:hover {
    background: #f5f9ff;
}

.chatkit-feature-strip {
    max-width: 1540px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid #dce6f5;
    border-radius: 24px;
    padding: 14px 8px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
}

.chatkit-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 0 8px;
    border-right: 1px solid #dde6f2;
}

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

.chatkit-feature-item strong {
    display: block;
    color: #173760;
    font-size: 0.92rem;
    line-height: 1.25;
}

.chatkit-feature-item p {
    margin: 6px 0 0;
    color: #486489;
    font-size: 0.82rem;
    line-height: 1.35;
}

.chatkit-feature-item .feature-icon {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #edf3ff;
    color: #1f4fb0;
    flex: 0 0 auto;
}

.chatkit-feature-item .feature-icon.is-gold {
    background: #fff6e5;
    color: #d28a00;
}

.chatkit-feature-item .feature-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.chatkit-feature-item .feature-icon.is-blue svg path:first-child,
.chatkit-feature-item .feature-icon.is-blue svg circle:first-child {
    stroke: currentColor;
}

@media (max-width: 992px) {
    .chatkit-feature-strip {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .chatkit-bottom-cards {
        grid-template-columns: 1fr;
    }

    .chatkit-feature-item {
        border-right: 0;
        border-bottom: 1px solid #dde6f2;
        padding-bottom: 10px;
    }

    .chatkit-main-landing .chatkit-hero-inner {
        grid-template-columns: 1fr;
        gap: 24px;
        text-align: center;
        padding: 20px 20px 0;
    }

    .chatkit-main-landing .chatkit-hero-copy {
        max-width: 760px;
        margin: 0 auto;
        text-align: center;
    }

    .chatkit-main-landing .chatkit-entry-title {
        text-align: center;
        font-size: clamp(2.9rem, 7.2vw, 4.2rem);
        line-height: 1.08;
    }

    .chatkit-main-landing .chatkit-entry-title span {
        white-space: normal;
        display: inline;
    }

    .chatkit-main-landing .chatkit-entry-subtitle,
    .chatkit-main-landing .chatkit-hero-description,
    .chatkit-main-landing .chatkit-hero-proofline {
        margin-left: auto;
        margin-right: auto;
    }

    .chatkit-main-landing .chatkit-hero-actions {
        justify-content: center;
    }

    .chatkit-main-landing .chatkit-hero-visual {
        max-width: 920px;
        margin: 0 auto;
        min-height: auto;
    }

    .chatkit-main-landing .chatkit-visual-layout {
        grid-template-columns: minmax(0, 1fr) minmax(180px, 0.70fr);
    }

    .chatkit-main-landing .chatkit-visual-video-screen {
        min-height: clamp(200px, 28vw, 280px);
    }
}

@media (max-width: 768px) {
    .chatkit-feature-strip {
        grid-template-columns: 1fr;
    }

    .chatkit-feature-item {
        border-right: 0;
    }

    .chatkit-bottom-cards .chatkit-momentum-card {
        padding: 18px 16px 16px;
    }

    .chatkit-main-landing .chatkit-visual-layout {
        grid-template-columns: minmax(0, 1fr) minmax(165px, 0.64fr);
    }

    .chatkit-main-landing .chatkit-visual-video-screen {
        min-height: clamp(190px, 30vw, 250px);
    }
}

@media (max-width: 576px) {
    .chatkit-main-landing .chatkit-visual-layout {
        grid-template-columns: 1fr;
    }

    .chatkit-main-landing .chatkit-visual-video-screen {
        min-height: 230px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .scroll-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

}

@media (max-width: 450px) {
    .chatkit-landing-page .nav-container {
        padding: 0 8px;
        gap: 4px;
    }

    .chatkit-landing-page .nav-logo {
        flex: 1 1 auto;
        min-width: 0;
        overflow: visible;
    }

    .chatkit-landing-page .logo-mark-image {
        width: 20px;
        height: 20px;
        margin-right: 4px;
        flex-shrink: 0;
    }

    .chatkit-landing-page .logo-text {
        font-size: 1rem;
        flex-shrink: 1;
        min-width: 0;
    }

    .chatkit-landing-page .nav-actions {
        flex: 0 0 auto;
        gap: 4px;
    }

    .chatkit-landing-page .nav-actions .btn,
    .chatkit-landing-page .nav-login-summary,
    .chatkit-landing-page .nav-contact-btn {
        height: 28px;
        min-height: 28px;
        max-height: 28px;
        padding: 0 6px;
        font-size: 0.7rem;
        border-radius: 8px;
    }

}
