/*
 * Kritimyantra frontend SaaS design layer
 * Keeps existing Blade/routes/business logic intact while normalizing the
 * public-facing UI into the same light, restrained system used on project detail.
 */

:root {
    --km-bg: #ffffff;
    --km-bg-soft: #f8fafc;
    --km-bg-warm: #fffdfb;
    --km-surface: #ffffff;
    --km-ink: #172033;
    --km-copy: #475467;
    --km-muted: #667085;
    --km-faint: #98a2b3;
    --km-line: #e5eaf0;
    --km-line-soft: #edf1f5;
    --km-orange: #f97316;
    --km-orange-dark: #c2410c;
    --km-orange-soft: #fff7ed;
    --km-radius: 14px;
    --km-radius-sm: 10px;
    --km-shadow: 0 6px 20px rgba(15, 23, 42, .045);
    --km-shadow-hover: 0 10px 26px rgba(15, 23, 42, .07);
}

html { scroll-behavior: smooth; }

body.km-saas-ui {
    margin: 0;
    color: var(--km-ink);
    background: var(--km-bg);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.km-page-content {
    min-height: 55vh;
    background: #fff;
    --km-h2-color: var(--km-ink);
}

/* Dark surfaces always use high-contrast heading colors.
 * Keep this independent of the generic heading rules below so page-level
 * dark panels cannot inherit the normal ink color through stylesheet order. */
.km-page-content .km-on-dark {
    --km-h2-color: var(--km-line);
}

.km-page-content .km-on-dark h1,
.km-page-content .km-on-dark h2,
.km-page-content .km-on-dark h3,
.km-page-content .km-on-dark h4,
.km-page-content .km-on-dark h5,
.km-page-content .km-on-dark h6,
.km-page-content .km-dark-heading {
    color: #f8fafc !important;
}

/* Typography: intentionally calmer than the previous marketing treatment. */
.km-page-content h1 {
    margin-top: 0;
    color: var(--km-ink) !important;
    font-size: clamp(2rem, 4vw, 3rem) !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    letter-spacing: -.035em !important;
}

.km-page-content h2 {
    color: var(--km-h2-color) !important;
    font-size: clamp(1.45rem, 2.5vw, 2rem) !important;
    font-weight: 600 !important;
    line-height: 1.22 !important;
    letter-spacing: -.025em !important;
}

.km-page-content h3 {
    color: var(--km-ink) !important;
    font-size: clamp(1.05rem, 1.7vw, 1.3rem) !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: -.015em !important;
}

.km-page-content h4,
.km-page-content h5,
.km-page-content h6 {
    color: var(--km-ink) !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

.km-page-content p,
.km-page-content li {
    font-weight: 400;
}

.km-page-content strong,
.km-page-content b {
    font-weight: 600 !important;
}

.km-page-content .font-black,
.km-page-content .font-extrabold,
.km-page-content .font-bold {
    font-weight: 600 !important;
}

.km-page-content .font-semibold { font-weight: 600 !important; }

.km-page-content .text-8xl,
.km-page-content .text-7xl,
.km-page-content .text-6xl,
.km-page-content .text-5xl {
    font-size: clamp(2rem, 4vw, 3rem) !important;
    line-height: 1.1 !important;
}

.km-page-content .text-4xl {
    font-size: clamp(1.8rem, 3vw, 2.35rem) !important;
    line-height: 1.15 !important;
}

.km-page-content .text-3xl {
    font-size: clamp(1.55rem, 2.5vw, 1.9rem) !important;
    line-height: 1.2 !important;
}

/* Utility normalization for old Tailwind-heavy screens. */
.km-page-content .shadow-2xl,
.km-page-content .shadow-xl,
.km-page-content .shadow-lg,
.km-page-content .shadow-md,
.km-page-content .shadow {
    box-shadow: var(--km-shadow) !important;
}

.km-page-content .hover\:shadow-2xl:hover,
.km-page-content .hover\:shadow-xl:hover,
.km-page-content .hover\:shadow-lg:hover,
.km-page-content .hover\:shadow-md:hover {
    box-shadow: var(--km-shadow-hover) !important;
}

.km-page-content .rounded-3xl { border-radius: 16px !important; }
.km-page-content .rounded-2xl { border-radius: 14px !important; }
.km-page-content .rounded-xl { border-radius: 12px !important; }

.km-page-content button,
.km-page-content [role="button"],
.km-page-content input[type="submit"],
.km-page-content input[type="button"] {
    font-weight: 600 !important;
}

.km-page-content input:not([type="checkbox"]):not([type="radio"]),
.km-page-content select,
.km-page-content textarea {
    border-radius: 10px !important;
    border-color: var(--km-line) !important;
    box-shadow: none !important;
}

.km-page-content input:focus,
.km-page-content select:focus,
.km-page-content textarea:focus {
    border-color: #fb923c !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, .08) !important;
}

/* Shared shells */
.ky-home-shell,
.ky-blog-container,
.ky-shell,
.ky-contact-shell,
.ky-topic-container,
.ky-topics-container,
.kyc-shell,
.kycd-shell,
.kyl-shell,
.kyp-shell,
.kyp-category-shell,
.kyp-detail-shell {
    width: min(1160px, calc(100% - 40px)) !important;
}

/* Hero areas: remove oversized marketing decoration and keep content first. */
.ky-blog-hero,
.ky-topics-hero,
.ky-topic-hero,
.ky-about-hero,
.ky-contact-hero,
.kyc-hero,
.kycd-hero,
.kyl-hero,
.kyp-catalog-hero,
.kyp-category-hero,
.kyp-detail-hero {
    background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%) !important;
    border-color: var(--km-line-soft) !important;
}

.ky-blog-hero::after,
.ky-topics-hero::after,
.ky-topic-hero::after,
.ky-about-hero::after,
.ky-contact-hero::after,
.kyc-hero::after,
.kycd-hero::after,
.kyl-hero::after,
.kyp-catalog-hero::after,
.kyp-category-hero::after,
.kyp-detail-hero::after,
.ky-path-card::after {
    display: none !important;
}

.ky-blog-hero-inner,
.ky-topics-hero-inner,
.ky-topic-hero-inner,
.kyc-hero__grid,
.kyl-hero__grid,
.kyp-catalog-hero__inner,
.kyp-category-hero__content,
.kyp-detail-hero__grid {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
}

.ky-blog-title,
.ky-topics-title,
.ky-topic-title,
.ky-section-title,
.kycd-title,
.kyp-detail-title {
    font-size: clamp(2rem, 4vw, 3rem) !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    letter-spacing: -.035em !important;
}

.ky-section-kicker,
.ky-eyebrow,
.ky-contact-eyebrow,
.kyc-eyebrow,
.kyl-eyebrow,
.kyp-overline,
.kyp-section__kicker,
.kyp-detail-eyebrow,
.ky-topic-kicker,
.ky-topics-eyebrow {
    font-weight: 600 !important;
    letter-spacing: .08em !important;
}

/* Home */
.ky-home .ky-section { padding: 68px 0 !important; }
.ky-home .ky-section--soft { background: var(--km-bg-soft) !important; }
.ky-home .ky-section--warm { background: var(--km-bg-warm) !important; }
.ky-home .ky-section--dark {
    background: var(--km-bg-soft) !important;
    color: var(--km-line) !important;
}
.ky-home .ky-section-title--light { color: var(--km-line) !important; }
.ky-home .ky-section-intro--light { color: var(--km-muted) !important; }
.ky-section-head { margin-bottom: 28px !important; }
.ky-section-intro { font-size: 15px !important; line-height: 1.7 !important; }

/* Major cards across catalogue/editorial pages. */
.ky-path-card,
.ky-course-card,
.ky-project-card,
.ky-benefit-card,
.ky-form-card,
.ky-hero-note,
.ky-featured,
.ky-blog-card,
.ky-topic-card,
.kyc-card,
.kyc-learning-card,
.kyc-method-card,
.kycd-instructor-card,
.kycd-related-card,
.kyl-card,
.kyl-summary,
.kyl-player-card,
.kyp-card,
.kyp-description-card,
.kyp-side-card,
.kyp-support-card,
.kyp-access-card {
    border-color: var(--km-line) !important;
    border-radius: var(--km-radius) !important;
    box-shadow: var(--km-shadow) !important;
}

.ky-path-card:hover,
.ky-course-card:hover,
.ky-project-card:hover,
.ky-blog-card:hover,
.ky-topic-card:hover,
.kyc-card:hover,
.kycd-related-card:hover,
.kyl-card:hover,
.kyp-card:hover {
    transform: translateY(-2px) !important;
    border-color: #fed7aa !important;
    box-shadow: var(--km-shadow-hover) !important;
}

.ky-path-card { min-height: 245px !important; padding: 24px !important; }
.ky-path-card h3 { font-size: 19px !important; font-weight: 600 !important; }
.ky-path-card__label,
.ky-course-card__badge,
.kyc-card__badge,
.kyl-card__type,
.kyp-card__eyebrow { font-weight: 600 !important; }

/* Blog / topic discovery */
.ky-blog-lead,
.ky-topic-lead,
.ky-topics-lead { font-size: 16px !important; line-height: 1.7 !important; }
.ky-hero-note { padding: 20px !important; background: #fffaf6 !important; }
.ky-search-dock {
    border-radius: var(--km-radius) !important;
    box-shadow: var(--km-shadow) !important;
    backdrop-filter: none !important;
}
.ky-search-dock::before { height: 2px !important; background: #f97316 !important; }
.ky-featured { margin-bottom: 52px !important; }
.ky-featured-title { font-weight: 600 !important; }

/* Courses / Library */
.kyc-hero,
.kyl-hero { overflow: hidden; }
.kyc-learning-card,
.kyl-summary { background: #fff !important; }
.kyc-learning-card__status,
.kyl-card__type,
.kyl-card__deal { box-shadow: none !important; }
.kyc-card__price,
.kyl-card__price,
.kyp-card__price-badge,
.kyp-access-card__price { font-weight: 600 !important; }

/* Course detail */
.kycd-hero { padding-top: 36px !important; padding-bottom: 112px !important; }
.kycd-lead { font-size: 15px !important; line-height: 1.7 !important; }
.kycd-section { padding-top: 28px !important; padding-bottom: 28px !important; }
.kycd-section-head { margin-bottom: 18px !important; }
.kycd-sidebar { border-radius: var(--km-radius) !important; }
.kycd-outcome p,
.kycd-curriculum-summary { font-weight: 500 !important; }

/* Lesson workspace */
.kyl-page { background: #f8fafc !important; }
.kyl-topbar,
.kyl-sidebar,
.kyl-player-card { border-color: var(--km-line) !important; box-shadow: none !important; }
.kyl-lesson-title { font-weight: 600 !important; letter-spacing: -.02em !important; }
.kyl-module__title-wrap { font-weight: 600 !important; }

/* Project listings/detail */
.kyp-library,
.kyp-category-library { background: #fff !important; }
.kyp-catalog-stat,
.kyp-category-count { box-shadow: none !important; }
.kyp-detail-title { max-width: 900px !important; }
.kyp-preview-section { padding-top: 54px !important; padding-bottom: 54px !important; }

/* About / contact */
.ky-about,
.ky-contact { background: #fff !important; }
.ky-hero-note,
.ky-contact-card,
.ky-form-card { box-shadow: none !important; }
.ky-contact-card { border-color: var(--km-line) !important; border-radius: var(--km-radius) !important; }

/* Customer dashboard: remove the old colourful "app dashboard" look. */
.km-page-content .from-orange-50.via-white.to-amber-50,
.km-page-content .from-gray-50.to-white {
    background-image: none !important;
    background-color: #fff !important;
}

.km-page-content .from-orange-500.to-amber-500,
.km-page-content .from-orange-500.to-amber-600,
.km-page-content .from-orange-400.to-amber-500 {
    background-image: none !important;
    background-color: var(--km-orange) !important;
}

.km-page-content .from-green-100.to-emerald-100,
.km-page-content .from-blue-100.to-cyan-100,
.km-page-content .from-orange-100.to-amber-100,
.km-page-content .from-emerald-100.to-green-100 {
    background-image: none !important;
}

.km-page-content .blur-3xl { display: none !important; }
.km-page-content .hover\:-translate-y-1:hover { transform: translateY(-2px) !important; }
.km-page-content .group-hover\:scale-105 { transition-duration: .25s !important; }

/* Legal / FAQ pages often use Tailwind only. Keep them editorial and quiet. */
.km-page-content article,
.km-page-content .prose {
    color: var(--km-copy);
}
.km-page-content .prose h1,
.km-page-content .prose h2,
.km-page-content .prose h3 { color: var(--km-ink) !important; }

/* Flash messages */
.km-flash-wrap {
    position: fixed;
    top: 82px;
    left: 50%;
    z-index: 80;
    width: min(420px, calc(100% - 32px));
    transform: translateX(-50%);
    pointer-events: none;
}
.km-flash {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 13px 14px;
    border: 1px solid var(--km-line);
    border-radius: 12px;
    background: rgba(255,255,255,.98);
    box-shadow: var(--km-shadow-hover);
    pointer-events: auto;
}
.km-flash + .km-flash { margin-top: 10px; }
.km-flash__icon {
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 8px;
    font-size: 12px;
}
.km-flash--success .km-flash__icon { color: #047857; background: #ecfdf5; }
.km-flash--error .km-flash__icon { color: #b42318; background: #fef3f2; }
.km-flash__copy { min-width: 0; flex: 1; }
.km-flash__copy strong { display: block; font-size: 13px; font-weight: 600; color: var(--km-ink); }
.km-flash__copy p { margin: 2px 0 0; color: var(--km-muted); font-size: 12px; line-height: 1.5; }
.km-flash__close { border: 0; background: transparent; color: #98a2b3; cursor: pointer; padding: 3px; }

/* Header */
.km-site-header {
    position: sticky;
    top: 0;
    z-index: 60;
    border-bottom: 1px solid rgba(229,234,240,.94);
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
}
.km-site-header__shell {
    width: min(1160px, calc(100% - 40px));
    min-height: 64px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.km-site-logo { display: inline-flex; align-items: center; color: #172033; text-decoration: none; }
.km-site-logo > span { display: inline-flex; align-items: center; font-size: 20px; font-weight: 600; }
.km-brand-lockup { display: inline-flex; align-items: center; gap: 9px; }
.km-brand-lockup__mark { width: 36px; height: 36px; display: block; border-radius: 10px; object-fit: cover; box-shadow: 0 1px 3px rgba(15,23,42,.08); }
.km-brand-lockup__name { color: #172033; font-size: 18px; font-weight: 650; letter-spacing: -.025em; line-height: 1; }
.km-site-nav { display: flex; align-items: center; gap: 5px; }
.km-nav-link {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 11px;
    border-radius: 9px;
    color: #475467;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: color .18s ease, background .18s ease;
}
.km-nav-link:hover { color: #172033; background: #f8fafc; }
.km-nav-link.is-active { color: #c2410c; background: #fff7ed; font-weight: 600; }
.km-account-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 38px;
    padding: 4px 8px;
    border-radius: 10px;
    color: #344054;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
}
.km-account-link:hover { background: #f8fafc; color: #172033; }
.km-account-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #e5eaf0;
}
.km-account-fallback {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #9a3412;
    background: #fff7ed;
    font-size: 12px;
    font-weight: 600;
}
.km-menu-button {
    display: none;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid var(--km-line);
    border-radius: 10px;
    color: #475467;
    background: #fff;
    cursor: pointer;
}
.km-mobile-menu { display: none; border-top: 1px solid var(--km-line-soft); background: #fff; }
.km-mobile-menu.hidden { display: none !important; }
.km-mobile-menu__inner { width: min(1160px, calc(100% - 32px)); margin: 0 auto; padding: 10px 0 14px; }
.km-mobile-menu .km-nav-link { display: flex; width: 100%; margin: 2px 0; padding: 8px 10px; }
.km-mobile-menu__account { margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--km-line-soft); }

/* Footer overrides (footer ships its own local CSS, so use !important). */
.ky-footer { background: #f8fafc !important; border-color: var(--km-line) !important; }
.ky-footer__accent { display: none !important; }
.ky-footer__shell { width: min(1160px, calc(100% - 40px)) !important; padding-top: 56px !important; }
.ky-footer__logo-mark { box-shadow: none !important; border-radius: 10px !important; font-weight: 600 !important; }
.ky-footer__logo-copy strong { font-weight: 600 !important; }
.ky-footer__logo-copy small,
.ky-footer__column h3,
.ky-footer__cta-kicker { font-weight: 600 !important; letter-spacing: .07em !important; }
.ky-footer__cta {
    margin-top: 44px !important;
    padding: 21px 22px !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    background: #fff !important;
}
.ky-footer__cta h2 { font-size: 20px !important; font-weight: 600 !important; letter-spacing: -.02em !important; }
.ky-footer__cta-button { border-radius: 10px !important; box-shadow: none !important; font-weight: 600 !important; }
.ky-footer__socials a { box-shadow: none !important; border-radius: 9px !important; }

/* Guest/auth pages */
body.km-guest-ui { background: #f8fafc; color: var(--km-ink); }
.km-guest-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 40px 20px;
}
.km-guest-inner { width: min(440px, 100%); }
.km-guest-brand { display: flex; justify-content: center; margin-bottom: 24px; color: #172033; }
.km-guest-card {
    padding: 26px;
    border: 1px solid var(--km-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: var(--km-shadow);
}
.km-guest-card h1,
.km-guest-card h2 { font-weight: 600 !important; letter-spacing: -.025em !important; }
.km-guest-card input:not([type="checkbox"]):not([type="radio"]),
.km-guest-card select,
.km-guest-card textarea { border-radius: 10px !important; box-shadow: none !important; }
.km-guest-card .font-semibold,
.km-guest-card .font-bold { font-weight: 600 !important; }
.km-guest-card .shadow-sm,
.km-guest-card .shadow-md,
.km-guest-card .shadow-lg { box-shadow: none !important; }

@media (max-width: 900px) {
    .km-site-nav { display: none; }
    .km-menu-button { display: grid; }
    .km-mobile-menu:not(.hidden) { display: block; }

    .ky-blog-hero-inner,
    .ky-topics-hero-inner,
    .ky-topic-hero-inner,
    .kyc-hero__grid,
    .kyl-hero__grid,
    .kyp-catalog-hero__inner,
    .kyp-category-hero__content,
    .kyp-detail-hero__grid {
        padding-top: 42px !important;
        padding-bottom: 42px !important;
    }
}

@media (max-width: 640px) {
    .km-site-header__shell { width: min(100% - 28px, 1160px); min-height: 58px; }
    .ky-home .ky-section { padding: 52px 0 !important; }
    .ky-home-shell,
    .ky-blog-container,
    .ky-shell,
    .ky-contact-shell,
    .ky-topic-container,
    .ky-topics-container,
    .kyc-shell,
    .kycd-shell,
    .kyl-shell,
    .kyp-shell,
    .kyp-category-shell,
    .kyp-detail-shell,
    .ky-footer__shell { width: min(100% - 28px, 1160px) !important; }
    .ky-footer__cta { align-items: flex-start !important; padding: 18px !important; }
}

.km-google-signin {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 36px;
    padding: 0 11px;
    border: 1px solid var(--km-line);
    border-radius: 9px;
    color: #344054;
    background: #fff;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: border-color .18s ease, background .18s ease, color .18s ease;
}
.km-google-signin:hover { border-color: #d0d5dd; background: #f8fafc; color: #172033; }

/* Tailwind-only FAQ and simple content pages */
.km-page-content > section[class*="from-orange-50"] {
    background-image: none !important;
    background-color: #fff !important;
}
.km-page-content > section.py-20 { padding-top: 64px !important; padding-bottom: 72px !important; }
.km-page-content > section .border-orange-100 { border-color: var(--km-line) !important; }
.km-page-content > section .text-orange-600 { color: var(--km-orange-dark) !important; }

/* Keep content pages compact and editorial. */
.km-page-content .max-w-4xl > section.bg-white,
.km-page-content .max-w-5xl > section.bg-white {
    border: 1px solid var(--km-line) !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}

.km-buy-button {
    width: 100%;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    border: 1px solid #ea580c;
    border-radius: 10px;
    color: #fff;
    background: #f97316;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
    cursor: pointer;
    box-shadow: none;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.km-buy-button:hover { background: #ea580c; border-color: #c2410c; transform: translateY(-1px); }
.km-buy-button:focus-visible { outline: 3px solid rgba(249,115,22,.18); outline-offset: 2px; }
.km-buy-button svg { width: 16px; height: 16px; margin: 0; }

/* Home benefit section stays light like the rest of the product UI. */
.ky-benefit-card {
    background: #fff !important;
    border-color: var(--km-line) !important;
}
.ky-benefit-card h3 { color: var(--km-ink) !important; }
.ky-benefit-card p { color: var(--km-muted) !important; }
.ky-benefit-card__icon { background: var(--km-orange-soft) !important; border-color: #ffedd5 !important; }

.ky-cta {
    padding: 34px 36px !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}
.ky-cta::before { display: none !important; }
.ky-cta h2 { font-size: clamp(1.65rem, 3vw, 2.1rem) !important; font-weight: 600 !important; }
.ky-cta-btn { min-height: 44px !important; border-radius: 10px !important; font-weight: 600 !important; }

/* Shared project cards render an @once style block after the global stylesheet. */
.kyp-card { border-radius: 14px !important; box-shadow: var(--km-shadow) !important; }
.kyp-card:hover { transform: translateY(-2px) !important; box-shadow: var(--km-shadow-hover) !important; }
.kyp-card__category,
.kyp-card__price-badge,
.kyp-card__tags span,
.kyp-card__meta,
.kyp-card__link { font-weight: 600 !important; }
.kyp-card__body { padding: 19px 19px 16px !important; }
.kyp-card__footer { padding: 13px 19px 15px !important; }

/* ========================================================================== 
   Catalogue + Journal polish — September 2026
   Cleaner product-marketplace and editorial treatment for the public UI.
   ========================================================================== */

/* Header v2 */
.km-site-header--v2 {
    border-bottom: 1px solid rgba(229, 234, 240, .9);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 1px 0 rgba(15, 23, 42, .015);
    backdrop-filter: blur(16px) saturate(150%);
    -webkit-backdrop-filter: blur(16px) saturate(150%);
}

.km-site-header--v2 .km-site-header__shell {
    width: min(1200px, calc(100% - 40px));
    min-height: 68px;
    gap: 30px;
}

.km-site-header--v2 .km-site-logo > span {
    font-size: 19px;
    font-weight: 600;
}

.km-site-header--v2 .km-site-nav {
    align-self: stretch;
    gap: 30px;
    margin-left: auto;
}

.km-site-header--v2 .km-nav-link {
    position: relative;
    min-height: 68px;
    padding: 0;
    border-radius: 0;
    color: #667085;
    background: transparent;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -.01em;
}

.km-site-header--v2 .km-nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    border-radius: 2px 2px 0 0;
    background: #f97316;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .18s ease;
}

.km-site-header--v2 .km-nav-link:hover {
    color: #172033;
    background: transparent;
}

.km-site-header--v2 .km-nav-link:hover::after,
.km-site-header--v2 .km-nav-link.is-active::after {
    transform: scaleX(1);
}

.km-site-header--v2 .km-nav-link.is-active {
    color: #172033;
    background: transparent;
    font-weight: 600;
}

.km-site-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 6px;
}

.km-site-header--v2 .km-account-link {
    min-height: 40px;
    gap: 8px;
    padding: 4px 8px 4px 5px;
    border: 1px solid #e5eaf0;
    border-radius: 10px;
    color: #344054;
    background: #fff;
    font-size: 12px;
    font-weight: 500;
    transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.km-site-header--v2 .km-account-link:hover {
    border-color: #d7dde5;
    background: #fafbfc;
}

.km-account-name {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.km-account-arrow {
    color: #a6afbb;
    font-size: 8px;
}

.km-site-header--v2 .km-account-avatar,
.km-site-header--v2 .km-account-fallback {
    width: 29px;
    height: 29px;
    flex: 0 0 29px;
}

.km-site-header--v2 .km-google-signin {
    min-height: 40px !important;
    padding: 0 13px !important;
    border: 1px solid #e2e7ed !important;
    border-radius: 10px !important;
    color: #344054 !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    transition: border-color .18s ease, background .18s ease !important;
}

.km-site-header--v2 .km-google-signin:hover {
    border-color: #d2d9e2 !important;
    background: #fafbfc !important;
}

.km-site-header--v2 .km-menu-button {
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid #e3e8ee;
    border-radius: 10px;
    background: #fff;
}

.km-menu-button__line {
    display: block;
    width: 16px;
    height: 1.5px;
    margin: 2.5px auto;
    border-radius: 2px;
    background: #344054;
}

.km-site-header--v2 .km-mobile-menu {
    border-top: 1px solid #edf1f5;
    background: rgba(255,255,255,.98);
}

.km-mobile-menu__nav { display: grid; gap: 2px; }

.km-mobile-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 46px;
    padding: 0 4px;
    border-bottom: 1px solid #f0f2f5;
    color: #475467;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
}

.km-mobile-nav-link i {
    color: #b1bac6;
    font-size: 10px;
}

.km-mobile-nav-link.is-active { color: #c2410c; }
.km-account-link--mobile { width: 100%; justify-content: flex-start; }
.km-account-link--mobile .km-account-arrow { margin-left: auto; }

/* Unified Courses / Projects catalogue v2 */
.kyl-page { background: #fff !important; }

.kyl-hero {
    padding: 58px 0 46px !important;
    border-bottom: 1px solid #edf1f5 !important;
    background: #fff !important;
}

.kyl-hero::before { display: none !important; }

.kyl-hero__content { max-width: 820px; }

.kyl-eyebrow {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #c2410c !important;
    background: transparent !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase;
}

.kyl-hero h1 {
    max-width: 780px !important;
    margin: 13px 0 0 !important;
    color: #172033 !important;
    font-size: clamp(36px, 4.4vw, 52px) !important;
    font-weight: 550 !important;
    line-height: 1.06 !important;
    letter-spacing: -.048em !important;
}

.kyl-hero h1 span { color: #f97316 !important; }

.kyl-hero__lead {
    max-width: 690px !important;
    margin: 16px 0 0 !important;
    color: #667085 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

.kyl-hero__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-top: 20px;
    color: #8a95a5;
    font-size: 11px;
}

.kyl-hero__meta strong {
    color: #475467;
    font-weight: 600;
}

.kyl-hero__meta-dot {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #cbd2da;
}

.kyl-library { padding: 34px 0 82px !important; }

.kyl-tabs {
    width: 100% !important;
    display: flex !important;
    gap: 24px !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #e9edf2 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.kyl-tab {
    position: relative;
    min-height: 43px !important;
    gap: 7px !important;
    padding: 0 0 13px !important;
    border-radius: 0 !important;
    color: #7a8699 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

.kyl-tab::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: #f97316;
    transform: scaleX(0);
    transform-origin: left;
}

.kyl-tab span {
    min-width: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    color: #a1aab6 !important;
    background: transparent !important;
    font-size: 10px !important;
}

.kyl-tab:hover,
.kyl-tab.is-active { color: #172033 !important; }
.kyl-tab.is-active { background: transparent !important; box-shadow: none !important; font-weight: 600 !important; }
.kyl-tab.is-active::after { transform: scaleX(1); }
.kyl-tab.is-active span { color: #c2410c !important; }

.kyl-toolbar {
    gap: 24px !important;
    margin-bottom: 18px !important;
}

.kyl-toolbar h2 {
    font-size: 24px !important;
    font-weight: 600 !important;
    letter-spacing: -.03em !important;
}

.kyl-toolbar p {
    max-width: 590px !important;
    margin-top: 5px !important;
    color: #7a8699 !important;
    font-size: 12.5px !important;
}

.kyl-toolbar__count {
    color: #98a2b3 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
}

.kyl-filter {
    grid-template-columns: minmax(300px, 1.7fr) minmax(170px, .7fr) minmax(170px, .7fr) auto !important;
    gap: 8px !important;
    margin-bottom: 28px !important;
    padding: 8px !important;
    border: 1px solid #e6eaf0 !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .035) !important;
}

.kyl-field input,
.kyl-field select {
    height: 42px !important;
    border-color: #edf0f3 !important;
    border-radius: 9px !important;
    color: #475467 !important;
    background: #fafbfc !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

.kyl-field input:focus,
.kyl-field select:focus {
    border-color: #fdba74 !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(249, 115, 22, .07) !important;
}

.kyl-filter__button {
    min-width: 88px !important;
    height: 42px !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    font-size: 11px !important;
}

.kyl-filter__button:hover { transform: none !important; box-shadow: none !important; }

.kyl-active-filter { margin: -14px 0 26px !important; }
.kyl-active-filter span,
.kyl-active-filter a {
    min-height: 26px !important;
    padding: 5px 8px !important;
    border-radius: 7px !important;
    font-size: 9.5px !important;
    font-weight: 500 !important;
}

.kyl-section + .kyl-section { margin-top: 48px !important; }

.kyl-section__head { margin-bottom: 17px !important; }
.kyl-section__head h3 { font-size: 19px !important; font-weight: 600 !important; }
.kyl-section__head p { font-size: 11.5px !important; }
.kyl-section__link { font-size: 10.5px !important; }

.kyl-grid { gap: 20px !important; }

.kyl-card {
    border-color: #e6eaf0 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}

.kyl-card:hover {
    transform: translateY(-2px) !important;
    border-color: #d2d9e2 !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .065) !important;
}

.kyl-card__media { aspect-ratio: 16 / 9 !important; }
.kyl-card__media img { transition-duration: .35s !important; }
.kyl-card:hover .kyl-card__media img { transform: scale(1.025) !important; }

.kyl-card__media-top {
    top: 11px !important;
    left: 11px !important;
    right: 11px !important;
}

.kyl-card__type,
.kyl-card__deal {
    min-height: 25px !important;
    padding: 5px 8px !important;
    border: 1px solid rgba(229, 234, 240, .95) !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    font-size: 8.5px !important;
    letter-spacing: .05em !important;
    backdrop-filter: blur(8px) !important;
}

.kyl-card__type { color: #475467 !important; background: rgba(255,255,255,.94) !important; }
.kyl-card__deal { color: #047857 !important; background: rgba(240,253,244,.95) !important; }

.kyl-card__body { padding: 18px !important; }
.kyl-card__meta-top { margin-bottom: 8px !important; }
.kyl-card__category { font-size: 9px !important; letter-spacing: .06em !important; }
.kyl-card__rating { font-size: 9.5px !important; font-weight: 500 !important; }

.kyl-card h4 {
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.38 !important;
}

.kyl-card__excerpt {
    min-height: 0 !important;
    margin-top: 8px !important;
    color: #667085 !important;
    font-size: 12.5px !important;
    line-height: 1.62 !important;
}

.kyl-card__tags { margin-top: 12px !important; }
.kyl-card__tags span {
    padding: 4px 7px !important;
    border: 0 !important;
    border-radius: 6px !important;
    color: #667085 !important;
    background: #f6f8fa !important;
    font-size: 9px !important;
    font-weight: 500 !important;
}

.kyl-card__facts {
    gap: 8px 12px !important;
    margin-top: 13px !important;
    padding-top: 12px !important;
    color: #8792a2 !important;
    font-size: 9.5px !important;
    font-weight: 500 !important;
}

.kyl-card__footer {
    align-items: center !important;
    margin-top: 15px !important;
    padding-top: 15px !important;
    border-top: 1px solid #f0f2f5;
}

.kyl-card__price-label { display: none !important; }
.kyl-card__price { font-size: 18px !important; font-weight: 600 !important; }
.kyl-card__old-price { font-size: 9.5px !important; font-weight: 500 !important; }

.kyl-card__link {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #344054 !important;
    background: transparent !important;
    font-size: 10.5px !important;
}

.kyl-card__link:hover { color: #c2410c !important; background: transparent !important; }

/* Blog / journal v2 */
.ky-blog-page {
    --ink: #172033 !important;
    --muted: #667085 !important;
    --line: #e6eaf0 !important;
    --soft-line: #f0f2f5 !important;
    --paper: #fff !important;
    background: #fff !important;
}

.ky-blog-hero {
    border-bottom: 1px solid #edf1f5 !important;
    background: #fff !important;
}

.ky-blog-hero::after { display: none !important; }

.ky-blog-hero-inner {
    display: block !important;
    padding-top: 58px !important;
    padding-bottom: 44px !important;
}

.ky-blog-hero-copy { max-width: 800px; }

.ky-blog-page .ky-eyebrow {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    color: #c2410c !important;
    background: transparent !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase;
}

.ky-blog-page .ky-eyebrow-dot { display: none !important; }

.ky-blog-title {
    max-width: 760px !important;
    margin-top: 13px !important;
    color: #172033 !important;
    font-size: clamp(36px, 4.4vw, 52px) !important;
    font-weight: 550 !important;
    line-height: 1.06 !important;
    letter-spacing: -.048em !important;
}

.ky-blog-title span { color: #f97316 !important; }

.ky-blog-lead {
    max-width: 680px !important;
    margin-top: 16px !important;
    color: #667085 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
}

.ky-blog-hero-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-top: 20px;
    color: #8a95a5;
    font-size: 11px;
}

.ky-blog-hero-meta strong { color: #475467; font-weight: 600; }
.ky-blog-meta-dot { width: 3px; height: 3px; border-radius: 50%; background: #cbd2da; }
.ky-blog-hero-meta a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 4px;
    color: #344054;
    font-weight: 600;
    text-decoration: none;
}
.ky-blog-hero-meta a:hover { color: #c2410c; }
.ky-blog-hero-meta a i { font-size: 9px; }

.ky-controls-wrap {
    padding: 26px 0 0 !important;
    background: #fff !important;
}

.ky-search-dock {
    border: 1px solid #e6eaf0 !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(15,23,42,.035) !important;
}

.ky-search-dock::before { display: none !important; }

.ky-search-primary { padding: 8px !important; }
.ky-search-field { min-height: 42px !important; }
.ky-search-input { font-size: 12px !important; }
.ky-search-btn {
    min-height: 42px !important;
    padding-inline: 16px !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    font-size: 11px !important;
}

.ky-filter-rail {
    min-height: 45px !important;
    padding: 6px 9px !important;
    border-top-color: #f0f2f5 !important;
    background: #fafbfc !important;
}

.ky-filter-caption,
.ky-filter-control,
.ky-filter-summary,
.ky-clear-filters { font-size: 10.5px !important; }

.ky-section { padding-top: 44px !important; padding-bottom: 72px !important; }

.ky-featured {
    grid-template-columns: minmax(0, 1.06fr) minmax(340px, .94fr) !important;
    min-height: 350px !important;
    margin-bottom: 54px !important;
    overflow: hidden !important;
    border: 1px solid #e6eaf0 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.ky-featured:hover { transform: none !important; border-color: #d7dde5 !important; box-shadow: 0 16px 38px rgba(15,23,42,.055) !important; }
.ky-featured-media { min-height: 350px !important; }
.ky-featured-copy { padding: 34px 36px !important; }
.ky-featured-label { margin-bottom: 13px !important; font-size: 9.5px !important; letter-spacing: .1em !important; }
.ky-featured-label::before { width: 16px !important; }
.ky-featured-title { font-size: clamp(26px, 2.8vw, 36px) !important; font-weight: 600 !important; line-height: 1.13 !important; }
.ky-featured-excerpt { margin-top: 14px !important; color: #667085 !important; font-size: 13px !important; line-height: 1.7 !important; }
.ky-featured-meta { margin-top: 18px !important; color: #8792a2 !important; font-size: 10.5px !important; }
.ky-featured-author { margin-top: 22px !important; padding-top: 18px !important; }
.ky-featured-read { color: #344054 !important; font-size: 10.5px !important; }
.ky-featured-read:hover { color: #c2410c !important; }

.ky-article-grid { gap: 26px 22px !important; }

@media (max-width: 900px) {
    .km-site-header--v2 .km-site-header__shell { min-height: 62px; }
    .km-site-header--v2 .km-site-nav { display: none; }
    .km-site-header--v2 .km-menu-button { display: grid; align-content: center; }
    .km-site-header--v2 .km-google-signin { display: none !important; }
    .km-site-header--v2 .km-account-link:not(.km-account-link--mobile) { display: none; }

    .kyl-filter { grid-template-columns: 1fr 1fr !important; }
    .kyl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

    .ky-featured { grid-template-columns: 1fr !important; }
    .ky-featured-media { min-height: 300px !important; }
}

@media (max-width: 640px) {
    .km-site-header--v2 .km-site-header__shell { width: min(100% - 28px, 1200px); min-height: 58px; }
    .km-site-header--v2 .km-site-logo > span { font-size: 18px; }

    .kyl-hero { padding: 42px 0 34px !important; }
    .kyl-hero h1 { font-size: 34px !important; }
    .kyl-hero__lead { font-size: 14px !important; }
    .kyl-hero__meta { gap: 7px; font-size: 10px; }
    .kyl-library { padding: 26px 0 60px !important; }
    .kyl-tabs { gap: 18px !important; overflow-x: auto; }
    .kyl-tab { flex: 0 0 auto; }
    .kyl-toolbar { grid-template-columns: 1fr !important; gap: 5px !important; }
    .kyl-filter { grid-template-columns: 1fr !important; }
    .kyl-grid { grid-template-columns: 1fr !important; }

    .ky-blog-hero-inner { padding-top: 42px !important; padding-bottom: 34px !important; }
    .ky-blog-title { font-size: 34px !important; }
    .ky-blog-lead { font-size: 14px !important; }
    .ky-blog-hero-meta { gap: 7px; font-size: 10px; }
    .ky-search-primary { display: grid !important; grid-template-columns: 1fr !important; }
    .ky-search-btn { width: 100% !important; }
    .ky-filter-rail { gap: 6px !important; overflow-x: auto !important; }
    .ky-featured { margin-bottom: 42px !important; border-radius: 14px !important; }
    .ky-featured-media { min-height: 230px !important; }
    .ky-featured-copy { padding: 24px 20px !important; }
    .ky-featured-title { font-size: 27px !important; }
    .ky-article-grid { grid-template-columns: 1fr !important; gap: 34px !important; }
}

/* Product cards used outside the unified library, including Home. */
.kyp-card {
    border-color: #e6eaf0 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
}
.kyp-card:hover {
    transform: translateY(-2px) !important;
    border-color: #d2d9e2 !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.065) !important;
}
.kyp-card__body { padding: 18px !important; }
.kyp-card__footer { padding: 0 !important; border-top: 0 !important; background: transparent !important; }
.kyp-card__tags span { border: 0 !important; }

/* Journal list / topics finishing touches. */
.ky-list-head { margin-bottom: 20px !important; }
.ky-list-head h2 {
    color: #172033 !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    letter-spacing: -.03em !important;
}
.ky-list-head p { margin-top: 5px !important; color: #7a8699 !important; font-size: 12px !important; }
.ky-list-count { color: #98a2b3 !important; font-size: 10.5px !important; font-weight: 500 !important; }

.ky-topics {
    border-top: 1px solid #edf1f5 !important;
    background: #fafbfc !important;
}
.ky-topics-inner { padding-top: 42px !important; padding-bottom: 48px !important; }
.ky-topics h2 { color: #172033 !important; font-size: 20px !important; font-weight: 600 !important; letter-spacing: -.025em !important; }
.ky-topics p { color: #7a8699 !important; font-size: 12px !important; }
.ky-topic-cloud a {
    border-color: #e6eaf0 !important;
    border-radius: 8px !important;
    color: #667085 !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
}
.ky-topic-cloud a:hover { color: #c2410c !important; border-color: #fed7aa !important; background: #fffaf6 !important; }

/* Course detail: bring it into the same calmer product language. */
.kycd-hero {
    padding-top: 34px !important;
    padding-bottom: 118px !important;
    background: #fff !important;
}
.kycd-hero::before { display: none !important; }
.kycd-hero__content { max-width: 780px !important; margin-top: 40px !important; }
.kycd-eyebrows { gap: 10px !important; }
.kycd-eyebrows span {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #7a8699 !important;
    background: transparent !important;
    font-size: 9.5px !important;
    font-weight: 500 !important;
    letter-spacing: .04em !important;
}
.kycd-eyebrows span:first-child { color: #c2410c !important; background: transparent !important; }
.kycd-title {
    margin-top: 13px !important;
    font-size: clamp(36px, 4.5vw, 52px) !important;
    font-weight: 550 !important;
    line-height: 1.07 !important;
    letter-spacing: -.045em !important;
}
.kycd-lead {
    max-width: 700px !important;
    margin-top: 16px !important;
    color: #667085 !important;
    font-size: 14.5px !important;
    line-height: 1.7 !important;
}
.kycd-facts {
    gap: 10px 20px !important;
    margin-top: 22px !important;
    padding-top: 18px !important;
}
.kycd-fact { color: #7a8699 !important; font-size: 10px !important; font-weight: 500 !important; }
.kycd-fact i {
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #a5afbc !important;
    background: transparent !important;
}
.kycd-main { gap: 46px !important; padding-top: 48px !important; }
.kycd-section { padding-bottom: 34px !important; margin-bottom: 34px !important; }
.kycd-section-head { margin-bottom: 18px !important; }
.kycd-section-head h2,
.kycd-section > h2 { font-size: 22px !important; font-weight: 600 !important; letter-spacing: -.03em !important; }
.kycd-section-head p { color: #8a95a5 !important; font-size: 10.5px !important; }
.kycd-outcomes {
    gap: 0 !important;
    padding: 0 !important;
    border-radius: 14px !important;
    background: #fff !important;
    overflow: hidden;
}
.kycd-outcome {
    min-height: 64px !important;
    padding: 14px 16px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f5 !important;
    border-radius: 0 !important;
}
.kycd-outcome:nth-last-child(-n+2) { border-bottom: 0 !important; }
.kycd-outcome__check {
    width: 22px !important;
    height: 22px !important;
    flex-basis: 22px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #fff7ed !important;
}
.kycd-outcome p { color: #596579 !important; font-size: 11.5px !important; font-weight: 500 !important; }
.kycd-modules { border-radius: 14px !important; }
.kycd-module__toggle { padding: 15px 16px !important; }
.kycd-module__number {
    width: 30px !important;
    height: 30px !important;
    border-color: #e7ebef !important;
    border-radius: 8px !important;
    color: #667085 !important;
    background: #f8fafc !important;
}
.ky-course-purchase {
    border-color: #e4e9ef !important;
    border-radius: 15px !important;
    box-shadow: 0 16px 38px rgba(15,23,42,.065) !important;
}
.ky-course-purchase__media-label {
    border-radius: 7px !important;
    box-shadow: none !important;
    font-size: 9px !important;
}
.ky-course-purchase__body { padding: 20px !important; }
.ky-course-purchase__price-row strong { font-size: 25px !important; font-weight: 600 !important; }
.ky-course-purchase__discount { border-radius: 6px !important; box-shadow: none !important; }
.ky-course-purchase__includes li { font-size: 10px !important; font-weight: 500 !important; }
.ky-course-purchase__action form button,
.ky-course-purchase__action [id^="buyNowButton-course-"],
.ky-course-purchase__login,
.ky-course-purchase__dashboard {
    min-height: 43px !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    font-size: 11px !important;
}
.ky-course-purchase__trust { gap: 7px !important; }
.ky-course-purchase__trust span { font-size: 9px !important; font-weight: 500 !important; }

@media (max-width: 640px) {
    .kycd-hero { padding-top: 24px !important; padding-bottom: 54px !important; }
    .kycd-hero__content { margin-top: 30px !important; }
    .kycd-title { font-size: 34px !important; }
    .kycd-main { padding-top: 34px !important; }
    .kycd-outcomes { grid-template-columns: 1fr !important; }
    .kycd-outcome:nth-last-child(-n+2) { border-bottom: 1px solid #edf1f5 !important; }
    .kycd-outcome:last-child { border-bottom: 0 !important; }
}

/* ========================================================================== 
   Visual richness pass — warm premium SaaS
   Restores depth and brand color without returning to bulky typography.
   ========================================================================== */

:root {
    --km-bg: #fbfcfe;
    --km-bg-soft: #f5f7fa;
    --km-bg-warm: #fffaf5;
    --km-surface: #ffffff;
    --km-ink: #172033;
    --km-copy: #475467;
    --km-muted: #667085;
    --km-line: #e5eaf0;
    --km-orange: #f97316;
    --km-orange-dark: #c2410c;
    --km-orange-soft: #fff3e8;
    --km-shadow: 0 10px 30px rgba(23,32,51,.055);
    --km-shadow-hover: 0 18px 42px rgba(23,32,51,.085);
}

body.km-saas-ui { background: #f8fafc; }
.km-page-content { background: #f8fafc; }

/* Header v3: richer brand presence, still light and compact. */
.km-site-header--v2 {
    position: sticky;
    border-bottom: 1px solid rgba(230, 224, 217, .92);
    background:
        radial-gradient(circle at 8% -70%, rgba(249,115,22,.13), transparent 33%),
        linear-gradient(180deg, rgba(255,253,250,.98) 0%, rgba(255,255,255,.97) 100%);
    box-shadow: 0 8px 28px rgba(23,32,51,.045);
    backdrop-filter: blur(18px) saturate(150%);
    -webkit-backdrop-filter: blur(18px) saturate(150%);
}

.km-site-header--v2::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 4%, #fb923c 30%, #f97316 52%, #fbbf24 72%, transparent 96%);
    opacity: .78;
    pointer-events: none;
}

.km-site-header--v2 .km-site-header__shell {
    min-height: 72px;
    gap: 26px;
}

.km-site-header--v2 .km-site-logo {
    position: relative;
    min-height: 42px;
    padding: 0 5px;
}

.km-site-header--v2 .km-site-logo::after {
    content: "";
    position: absolute;
    left: 5px;
    right: 5px;
    bottom: 2px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #f97316, rgba(249,115,22,0));
    opacity: .34;
}

.km-site-header--v2 .km-site-nav {
    align-self: auto;
    gap: 4px;
    margin-left: auto;
    padding: 5px;
    border: 1px solid #ece7e2;
    border-radius: 13px;
    background: rgba(255,250,246,.88);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.km-site-header--v2 .km-nav-link {
    min-height: 38px;
    padding: 0 14px;
    border-radius: 9px;
    color: #667085;
    font-size: 12.5px;
    font-weight: 550;
    transition: color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.km-site-header--v2 .km-nav-link::after { display: none; }

.km-site-header--v2 .km-nav-link:hover {
    color: #9a3412;
    background: rgba(255,255,255,.72);
}

.km-site-header--v2 .km-nav-link.is-active {
    color: #9a3412;
    background: #fff;
    box-shadow: 0 5px 16px rgba(154,52,18,.09), 0 0 0 1px rgba(254,215,170,.7);
    font-weight: 600;
}

.km-site-header--v2 .km-google-signin,
.km-site-header--v2 .km-account-link {
    min-height: 42px !important;
    border-color: #f2cda9 !important;
    border-radius: 11px !important;
    color: #7c2d12 !important;
    background: linear-gradient(180deg, #fff 0%, #fffaf5 100%) !important;
    box-shadow: 0 5px 15px rgba(154,52,18,.055) !important;
}

.km-site-header--v2 .km-google-signin:hover,
.km-site-header--v2 .km-account-link:hover {
    border-color: #fb923c !important;
    background: #fff7ed !important;
    color: #9a3412 !important;
}

.km-site-header--v2 .km-menu-button {
    border-color: #f0d3b8;
    background: #fffaf5;
}

.km-site-header--v2 .km-mobile-menu {
    background: #fffdf9;
    border-top-color: #f0e6dc;
}

.km-mobile-nav-link.is-active {
    color: #9a3412;
    background: #fff7ed;
    border-radius: 9px;
    padding-inline: 10px;
}

/* Library / Courses / Projects: keep clean typography but restore warmth and depth. */
.kyl-page {
    background: linear-gradient(180deg, #fff 0%, #f8fafc 42%, #f8fafc 100%) !important;
}

.kyl-hero {
    padding: 64px 0 58px !important;
    border-bottom: 1px solid #f0e3d8 !important;
    background:
        radial-gradient(circle at 86% 8%, rgba(249,115,22,.14), transparent 27%),
        radial-gradient(circle at 8% 100%, rgba(251,191,36,.08), transparent 31%),
        linear-gradient(135deg, #fff 0%, #fffaf5 52%, #fff7ed 100%) !important;
}

.kyl-hero::before {
    display: block !important;
    opacity: .2 !important;
    background-image:
        linear-gradient(rgba(154,52,18,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(154,52,18,.055) 1px, transparent 1px) !important;
    background-size: 44px 44px !important;
}

.kyl-hero__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .72fr) !important;
    gap: 56px !important;
    align-items: center !important;
}

.kyl-hero__content { max-width: 760px !important; }

.kyl-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 31px !important;
    padding: 6px 10px !important;
    border: 1px solid #fed7aa !important;
    border-radius: 999px !important;
    color: #9a3412 !important;
    background: rgba(255,247,237,.86) !important;
    font-size: 9.5px !important;
    box-shadow: 0 4px 12px rgba(154,52,18,.04) !important;
}

.kyl-eyebrow i { color: #f97316; font-size: 9px; }

.kyl-hero h1 {
    margin-top: 17px !important;
    font-size: clamp(38px, 4.5vw, 56px) !important;
    font-weight: 580 !important;
}

.kyl-hero__lead {
    margin-top: 17px !important;
    color: #5e6b7c !important;
    font-size: 15.5px !important;
}

.kyl-hero__proof {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 16px !important;
    margin-top: 23px !important;
}

.kyl-proof {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 550 !important;
}

.kyl-proof i {
    width: 24px !important;
    height: 24px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #f6d2b2 !important;
    border-radius: 7px !important;
    color: #ea580c !important;
    background: rgba(255,255,255,.82) !important;
    font-size: 9px !important;
}

.kyl-summary {
    overflow: hidden !important;
    border: 1px solid rgba(232,207,184,.9) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 22px 54px rgba(98,46,14,.095) !important;
    backdrop-filter: blur(10px);
}

.kyl-summary__head {
    padding: 19px 20px !important;
    border-bottom: 1px solid #f3e9df !important;
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,250,245,.84)) !important;
}

.kyl-summary__head span {
    color: #c2410c !important;
    font-size: 9px !important;
    letter-spacing: .1em !important;
}

.kyl-summary__head strong {
    margin-top: 5px !important;
    color: #344054 !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
}

.kyl-summary__stats { display: grid !important; grid-template-columns: 1fr 1fr !important; }

.kyl-summary__stat {
    min-height: 96px !important;
    padding: 20px !important;
    border-right: 1px solid #f1e6dc !important;
    background: rgba(255,255,255,.78) !important;
}
.kyl-summary__stat:last-child { border-right: 0 !important; }
.kyl-summary__stat strong { color: #172033 !important; font-size: 26px !important; }
.kyl-summary__stat span { color: #9a6b4a !important; font-size: 9px !important; }
.kyl-summary__note {
    padding: 14px 20px !important;
    border-top: 1px solid #f1e6dc !important;
    color: #7a6555 !important;
    background: #fff8f1 !important;
    font-size: 10.5px !important;
}
.kyl-summary__note i { color: #ea580c !important; }

.kyl-library {
    padding-top: 38px !important;
    background: linear-gradient(180deg, #fbfcfe 0%, #f7f9fc 100%) !important;
}

.kyl-tabs {
    width: max-content !important;
    gap: 5px !important;
    margin-bottom: 29px !important;
    padding: 5px !important;
    border: 1px solid #e4e9ef !important;
    border-radius: 12px !important;
    background: #eef2f6 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
}

.kyl-tab {
    min-height: 37px !important;
    padding: 0 13px !important;
    border-radius: 8px !important;
    color: #667085 !important;
    background: transparent !important;
    font-size: 11.5px !important;
}
.kyl-tab::after { display: none !important; }
.kyl-tab span {
    min-width: 20px !important;
    padding: 2px 5px !important;
    border-radius: 999px !important;
    color: #8993a3 !important;
    background: rgba(255,255,255,.78) !important;
    font-size: 9px !important;
}
.kyl-tab:hover { color: #9a3412 !important; background: rgba(255,255,255,.62) !important; }
.kyl-tab.is-active {
    color: #fff !important;
    background: linear-gradient(135deg, #f97316, #ea580c) !important;
    box-shadow: 0 7px 16px rgba(234,88,12,.18) !important;
}
.kyl-tab.is-active span { color: #9a3412 !important; background: #fff7ed !important; }

.kyl-filter {
    border-color: #e0e6ed !important;
    background: #fff !important;
    box-shadow: 0 10px 30px rgba(23,32,51,.055) !important;
}
.kyl-field input,
.kyl-field select { background: #f8fafc !important; }

.kyl-grid { gap: 22px !important; }

.kyl-card {
    position: relative !important;
    overflow: hidden !important;
    border-color: #e2e7ee !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(23,32,51,.045) !important;
}

.kyl-card::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #f97316 0%, #fbbf24 42%, rgba(251,191,36,0) 88%);
    opacity: .68;
    pointer-events: none;
}

.kyl-card:hover {
    transform: translateY(-4px) !important;
    border-color: #f5c9a4 !important;
    box-shadow: 0 18px 42px rgba(23,32,51,.085) !important;
}

.kyl-card__type {
    color: #9a3412 !important;
    border-color: rgba(254,215,170,.92) !important;
    background: rgba(255,247,237,.94) !important;
}
.kyl-card__body { padding: 19px !important; }
.kyl-card__tags span { color: #596579 !important; background: #f2f5f8 !important; }
.kyl-card__link { color: #c2410c !important; }
.kyl-card__link:hover { color: #9a3412 !important; }

/* Blog / Journal: editorial, warm and dimensional rather than plain white. */
.ky-blog-page {
    --paper: #fbfcfe !important;
    background: #fbfcfe !important;
}

.ky-blog-hero {
    border-bottom: 1px solid #f0e3d8 !important;
    background:
        radial-gradient(circle at 88% 14%, rgba(249,115,22,.14), transparent 28%),
        radial-gradient(circle at 12% 100%, rgba(251,191,36,.07), transparent 32%),
        linear-gradient(135deg, #fff 0%, #fffaf5 58%, #fff7ed 100%) !important;
}

.ky-blog-hero::after {
    display: block !important;
    border-color: rgba(234,88,12,.07) !important;
    box-shadow: 0 0 0 42px rgba(234,88,12,.024), 0 0 0 84px rgba(234,88,12,.014) !important;
}

.ky-blog-hero-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .75fr) !important;
    gap: 58px !important;
    align-items: center !important;
    padding-top: 64px !important;
    padding-bottom: 62px !important;
}

.ky-blog-page .ky-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: #9a3412 !important;
}
.ky-blog-page .ky-eyebrow-dot {
    display: block !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #fb923c !important;
    box-shadow: 0 0 0 5px rgba(255,237,213,.9) !important;
}

.ky-blog-title {
    margin-top: 13px !important;
    font-size: clamp(38px, 4.5vw, 56px) !important;
    font-weight: 580 !important;
}

.ky-blog-lead { color: #5e6b7c !important; font-size: 15.5px !important; }

.ky-journal-desk {
    padding: 23px !important;
    border-color: rgba(232,207,184,.92) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 22px 54px rgba(98,46,14,.09) !important;
    backdrop-filter: blur(10px);
}
.ky-journal-desk-icon {
    border-color: #fed7aa !important;
    background: #fff7ed !important;
}
.ky-journal-stats div {
    border-color: #eee5dc !important;
    background: #fffaf5 !important;
}
.ky-journal-stats strong { color: #172033 !important; font-size: 21px !important; }
.ky-journal-desk-footer { border-top-color: #f1e7de !important; }

.ky-controls-wrap {
    margin-top: -22px !important;
    padding-top: 0 !important;
    background: transparent !important;
}

.ky-search-dock {
    border-color: #e2e7ed !important;
    border-radius: 15px !important;
    box-shadow: 0 16px 42px rgba(23,32,51,.085) !important;
}
.ky-search-dock::before {
    display: block !important;
    height: 2px !important;
    background: linear-gradient(90deg, #fb923c, #ea580c 45%, rgba(234,88,12,0) 90%) !important;
}
.ky-filter-rail { background: #fafbfc !important; }

.ky-section {
    padding-top: 50px !important;
    background: linear-gradient(180deg, #fbfcfe 0%, #f7f9fc 100%) !important;
}

.ky-featured {
    border-color: #e2e7ed !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 14px 36px rgba(23,32,51,.06) !important;
}
.ky-featured:hover {
    border-color: #f3c79f !important;
    box-shadow: 0 22px 52px rgba(23,32,51,.09) !important;
}
.ky-featured-copy {
    background: linear-gradient(145deg, #fff 0%, #fffaf5 100%) !important;
}
.ky-featured-label { color: #c2410c !important; }

.ky-article-grid { gap: 24px !important; }

.ky-article-card {
    overflow: hidden !important;
    border: 1px solid #e2e7ed !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(23,32,51,.04) !important;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}
.ky-article-card:hover {
    transform: translateY(-3px) !important;
    border-color: #f1c39a !important;
    box-shadow: 0 18px 42px rgba(23,32,51,.08) !important;
}
.ky-article-media {
    border: 0 !important;
    border-radius: 0 !important;
}
.ky-article-body { padding: 18px !important; }
.ky-article-category-inline { color: #c2410c !important; }
.ky-article-tag {
    padding: 3px 7px !important;
    border-radius: 6px !important;
    color: #667085 !important;
    background: #f4f6f8 !important;
}
.ky-read-link { color: #c2410c !important; }

.ky-topics {
    border-top: 1px solid #f0e3d8 !important;
    background: #fff8f1 !important;
}

/* Shared project cards outside the library should not collapse into white-on-white. */
.kyp-card {
    border-color: #e2e7ed !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(23,32,51,.045) !important;
}
.kyp-card:hover {
    transform: translateY(-4px) !important;
    border-color: #f2c59f !important;
    box-shadow: 0 18px 42px rgba(23,32,51,.085) !important;
}
.kyp-card__tags span { background: #f2f5f8 !important; }
.kyp-card__link { color: #c2410c !important; }

@media (max-width: 900px) {
    .km-site-header--v2 .km-site-header__shell { min-height: 64px; }
    .kyl-hero__grid,
    .ky-blog-hero-inner { grid-template-columns: 1fr !important; gap: 34px !important; }
    .kyl-summary,
    .ky-journal-desk { max-width: 620px; }
    .ky-controls-wrap { margin-top: -16px !important; }
}

@media (max-width: 640px) {
    .km-site-header--v2 .km-site-header__shell { min-height: 60px; }
    .kyl-hero,
    .ky-blog-hero-inner { padding-top: 44px !important; padding-bottom: 40px !important; }
    .kyl-hero h1,
    .ky-blog-title { font-size: 35px !important; }
    .kyl-summary,
    .ky-journal-desk { border-radius: 15px !important; }
    .kyl-tabs { width: 100% !important; display: grid !important; grid-template-columns: repeat(3,1fr) !important; }
    .kyl-tab { justify-content: center !important; padding-inline: 7px !important; }
    .ky-controls-wrap { margin-top: -10px !important; }
    .ky-article-card { border-radius: 14px !important; }
}

/* Project-first navigation additions */
.km-header-project-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid #f97316;
    border-radius: 10px;
    color: #fff;
    background: #f97316;
    font-size: 11px;
    font-weight: 650;
    text-decoration: none;
    white-space: nowrap;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.km-header-project-cta:hover {
    transform: translateY(-1px);
    color: #fff;
    background: #ea580c;
    border-color: #ea580c;
}

.km-mobile-project-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 44px;
    margin-top: 12px;
    padding: 0 12px;
    border-radius: 10px;
    color: #fff;
    background: #f97316;
    font-size: 12px;
    font-weight: 650;
    text-decoration: none;
}

@media (max-width: 1120px) {
    .km-header-project-cta { display: none; }
}

@media (max-width: 640px) {
    .kyl-tabs.kyl-tabs--project { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ========================================================================== 
   Mobile polish v1.6 — project-first responsive pass
   ========================================================================== */
@media (max-width: 760px) {
    html, body { overflow-x: hidden; }
    body.km-saas-ui { -webkit-text-size-adjust: 100%; }

    /* Shared spacing + typography. Keep page-specific hierarchy instead of
       flattening every H1/H2 to the same size on small screens. */
    .km-page-content h1 { text-wrap: balance; }
    .km-page-content h2 { text-wrap: balance; }

    /* Header: keep the first mobile view calm. Account/sign-in remains inside
       the menu, leaving only brand + menu in the top bar. */
    .km-site-header--v2 .km-site-header__shell {
        width: min(100% - 24px, 1160px) !important;
        min-height: 62px !important;
        gap: 12px !important;
    }
    .km-site-header--v2 .km-site-logo { min-height: 38px !important; padding: 0 !important; }
    .km-site-header--v2 .km-site-logo::after { display: none !important; }
    .km-brand-lockup { gap: 8px !important; }
    .km-brand-lockup__mark { width: 34px !important; height: 34px !important; border-radius: 9px !important; box-shadow: none !important; }
    .km-brand-lockup__name { font-size: 16px !important; line-height: 1 !important; letter-spacing: -.02em !important; }
    .km-site-actions { gap: 8px !important; }
    .km-site-actions > .km-google-signin,
    .km-site-actions > .km-account-link { display: none !important; }
    .km-site-header--v2 .km-menu-button {
        width: 42px !important;
        height: 42px !important;
        border-radius: 11px !important;
        background: #fff !important;
        box-shadow: 0 5px 16px rgba(15,23,42,.045) !important;
    }
    .km-site-header--v2 .km-mobile-menu {
        border-top: 1px solid #edf1f5 !important;
        background: rgba(255,253,250,.985) !important;
        box-shadow: 0 18px 34px rgba(15,23,42,.08) !important;
    }
    .km-mobile-menu__inner { width: min(100% - 24px, 1160px) !important; padding: 12px 0 18px !important; }
    .km-mobile-menu__nav { gap: 4px !important; }
    .km-mobile-nav-link {
        min-height: 48px !important;
        padding: 0 12px !important;
        border-radius: 10px !important;
        color: #475467 !important;
        font-size: 13px !important;
    }
    .km-mobile-nav-link.is-active { color: #9a3412 !important; background: #fff7ed !important; }
    .km-mobile-project-cta { min-height: 48px !important; margin-top: 10px !important; padding: 0 14px !important; border-radius: 10px !important; }
    .km-mobile-menu__account { margin-top: 12px !important; padding-top: 12px !important; }
    .km-mobile-menu__account .km-google-signin,
    .km-mobile-menu__account .km-account-link { width: 100% !important; min-height: 46px !important; justify-content: flex-start !important; }

    /* Homepage */
    .ky-home-v4 .ky-home-shell { width: min(100% - 24px, 1180px) !important; }
    .ky-home-v4 .ky-home-section { padding: 56px 0 !important; }
    .ky-home-v4 .ky-section-head { margin-bottom: 24px !important; gap: 12px !important; }
    .ky-home-v4 .ky-title { font-size: 29px !important; line-height: 1.08 !important; letter-spacing: -.038em !important; }
    .ky-home-v4 .ky-copy { font-size: 12.5px !important; line-height: 1.65 !important; }
    .ky-home-v4 .ky-kicker { font-size: 9px !important; }
    .ky-home-v4 .ky-value-rail__grid { gap: 0 !important; }
    .ky-home-v4 .ky-value-item { min-height: 72px !important; padding: 13px 9px !important; }
    .ky-home-v4 .ky-feature-card { min-height: 190px !important; border-radius: 16px !important; }
    .ky-home-v4 .ky-feature-card--large { min-height: 350px !important; }
    .ky-home-v4 .ky-feature-card h3 { font-size: 17px !important; }
    .ky-home-v4 .ky-project-grid { gap: 12px !important; }
    .ky-home-v4 .ky-steps { grid-template-columns: 1fr !important; gap: 10px !important; }
    .ky-home-v4 .ky-step {
        display: grid !important;
        grid-template-columns: 46px 1fr !important;
        grid-template-rows: auto auto !important;
        column-gap: 13px !important;
        align-items: center !important;
        padding: 13px 0 !important;
        text-align: left !important;
        border-bottom: 1px solid #edf1f5 !important;
    }
    .ky-home-v4 .ky-step:last-child { border-bottom: 0 !important; }
    .ky-home-v4 .ky-step__num {
        grid-row: 1 / 3 !important;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        border-radius: 12px !important;
        box-shadow: none !important;
    }
    .ky-home-v4 .ky-step h3 { align-self: end !important; font-size: 13px !important; }
    .ky-home-v4 .ky-step p { align-self: start !important; max-width: none !important; margin: 3px 0 0 !important; font-size: 10.5px !important; }
    .ky-home-v4 .ky-support { padding: 62px 0 !important; }
    .ky-home-v4 .ky-support__inner { gap: 30px !important; }
    .ky-home-v4 .ky-support h2 { font-size: 31px !important; line-height: 1.08 !important; }
    .ky-home-v4 .ky-support p { font-size: 13px !important; }
    .ky-home-v4 .ky-support__actions { display: grid !important; grid-template-columns: 1fr !important; }
    .ky-home-v4 .ky-support__btn { width: 100% !important; min-height: 46px !important; }
    .ky-home-v4 .ky-support__visual { width: 100% !important; }
    .ky-home-v4 .ky-audience-item { min-height: 80px !important; padding: 16px !important; }
    .ky-home-v4 .ky-final-card { padding: 26px 20px !important; border-radius: 18px !important; }
    .ky-home-v4 .ky-final-card h2 { font-size: 27px !important; }
    .ky-home-v4 .ky-final-card__actions { display: grid !important; grid-template-columns: 1fr !important; }
    .ky-home-v4 .ky-final-btn { width: 100% !important; justify-content: center !important; }

    /* Projects marketplace */
    .ky-projects .kyp-shell { width: min(100% - 24px, 1180px) !important; }
    .ky-projects .kyp-hero { padding: 34px 0 64px !important; }
    .ky-projects .kyp-breadcrumb { margin-bottom: 19px !important; }
    .ky-projects .kyp-hero h1 { font-size: 35px !important; line-height: 1.04 !important; letter-spacing: -.045em !important; }
    .ky-projects .kyp-hero-copy { font-size: 13.5px !important; line-height: 1.62 !important; }
    .ky-projects .kyp-hero-actions { gap: 8px !important; }
    .ky-projects .kyp-browser { border-radius: 16px !important; box-shadow: 0 18px 48px rgba(15,23,42,.085) !important; }
    .ky-projects .kyp-browser-bar { height: 40px !important; padding: 0 11px !important; }
    .ky-projects .kyp-browser-path { max-width: 205px !important; font-size: 8px !important; }
    .ky-projects .kyp-browser-live { font-size: 8px !important; }
    .ky-projects .kyp-browser-body { grid-template-columns: 1fr !important; min-height: 0 !important; }
    .ky-projects .kyp-browser-side { display: none !important; }
    .ky-projects .kyp-browser-main { padding: 12px !important; }
    .ky-projects .kyp-demo-tabs { overflow-x: auto !important; white-space: nowrap !important; scrollbar-width: none !important; }
    .ky-projects .kyp-demo-grid { grid-template-columns: 1fr !important; }
    .ky-projects .kyp-demo-card:nth-child(n+2) { display: none !important; }
    .ky-projects .kyp-discovery { margin-top: -34px !important; padding: 9px !important; border-radius: 14px !important; box-shadow: 0 15px 34px rgba(15,23,42,.08) !important; }
    .ky-projects .kyp-search input { height: 48px !important; font-size: 13px !important; }
    .ky-projects .kyp-filter-row { gap: 7px !important; }
    .ky-projects .kyp-select,
    .ky-projects .kyp-apply { min-height: 44px !important; }
    .ky-projects .kyp-category-rail { margin-top: 12px !important; padding-bottom: 2px !important; }
    .ky-projects .kyp-category { min-height: 36px !important; padding: 0 10px !important; }
    .ky-projects .kyp-content-head { margin-top: 29px !important; margin-bottom: 15px !important; }
    .ky-projects .kyp-content-head h2 { font-size: 24px !important; }
    .ky-projects .kyp-grid { gap: 12px !important; }
    .ky-projects .kyp-help { margin-top: 36px !important; padding: 22px 18px !important; border-radius: 18px !important; }
    .ky-projects .kyp-help h3 { font-size: 23px !important; line-height: 1.12 !important; }
    .ky-projects .kyp-help-action,
    .ky-projects .kyp-help-action a { width: 100% !important; }
    .ky-projects .kyp-help-action a { min-height: 46px !important; }

    /* Project detail */
    .kpd-page .kpd-shell { width: min(100% - 24px, 1160px) !important; }
    .kpd-page .kpd-hero { padding: 22px 0 31px !important; }
    .kpd-page .kpd-breadcrumb { margin-bottom: 18px !important; overflow-x: auto !important; white-space: nowrap !important; scrollbar-width: none !important; }
    .kpd-page .kpd-hero-grid { gap: 25px !important; }
    .kpd-page .kpd-title { font-size: 31px !important; line-height: 1.08 !important; letter-spacing: -.04em !important; }
    .kpd-page .kpd-intro { margin-top: 14px !important; font-size: 13.5px !important; line-height: 1.68 !important; }
    .kpd-page .kpd-tags { margin-top: 15px !important; }
    .kpd-page .kpd-trust { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 9px 12px !important; margin-top: 18px !important; }
    .kpd-page .kpd-purchase { max-width: none !important; border-radius: 16px !important; box-shadow: 0 14px 36px rgba(15,23,42,.065) !important; }
    .kpd-page .kpd-purchase__body { padding: 17px !important; }
    .kpd-page .kpd-price { font-size: 25px !important; }
    .kpd-page .kpd-main { padding: 31px 0 48px !important; }
    .kpd-page .kpd-section + .kpd-section { margin-top: 36px !important; }
    .kpd-page .kpd-section-head { margin-bottom: 13px !important; }
    .kpd-page .kpd-section-head h2,
    .kpd-page .kpd-related-head h2 { font-size: 22px !important; }
    .kpd-page .kpd-gallery { border-radius: 14px !important; }
    .kpd-page .kpd-gallery__stage { min-height: 210px !important; padding: 7px !important; }
    .kpd-page .kpd-gallery__image-link { min-height: 200px !important; }
    .kpd-page .kpd-gallery__foot { gap: 8px !important; padding: 11px 12px !important; }
    .kpd-page .kpd-gallery__caption span { display: none !important; }
    .kpd-page .kpd-thumb { flex: 0 0 70px !important; }
    .kpd-page .kpd-overview { padding: 17px !important; border-radius: 14px !important; }
    .kpd-page .kpd-side-card,
    .kpd-page .kpd-support { border-radius: 14px !important; }
    .kpd-page .kpd-related-grid { gap: 12px !important; }
    .kpd-page .kpd-lightbox__bar { padding: 10px 11px !important; }
    .kpd-page .kpd-lightbox__viewport { padding: 8px !important; }
    .kpd-page .kpd-lightbox__help { display: none !important; }

    /* Dashboard */
    .kd-page .kd-shell { width: min(100% - 24px, 1180px) !important; }
    .kd-page { padding: 18px 0 44px !important; }
    .kd-page .kd-breadcrumb { margin-bottom: 12px !important; }
    .kd-page .kd-welcome { padding: 16px !important; border-radius: 15px !important; }
    .kd-page .kd-profile { gap: 11px !important; }
    .kd-page .kd-avatar { width: 44px !important; height: 44px !important; flex: 0 0 44px !important; border-radius: 12px !important; }
    .kd-page .kd-welcome h1 { font-size: 20px !important; line-height: 1.15 !important; }
    .kd-page .kd-welcome p { margin-top: 4px !important; font-size: 10.5px !important; }
    .kd-page .kd-member { margin-top: 7px !important; font-size: 8.5px !important; }
    .kd-page .kd-actions { grid-template-columns: 1fr 1fr !important; gap: 7px !important; }
    .kd-page .kd-btn { min-height: 41px !important; padding: 0 10px !important; font-size: 9.5px !important; }
    .kd-page .kd-stats { grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 7px !important; margin-top: 10px !important; }
    .kd-page .kd-stat { min-height: 72px !important; padding: 11px 10px !important; border-radius: 11px !important; align-items: flex-start !important; }
    .kd-page .kd-stat__icon { display: none !important; }
    .kd-page .kd-stat__copy span { font-size: 7.5px !important; letter-spacing: .045em !important; }
    .kd-page .kd-stat__copy strong { font-size: 20px !important; }
    .kd-page .kd-workspace { margin-top: 18px !important; gap: 14px !important; }
    .kd-page .kd-nav { margin-inline: -2px !important; padding: 5px !important; border-radius: 11px !important; }
    .kd-page .kd-tab { min-height: 39px !important; padding: 0 11px !important; font-size: 9.5px !important; }
    .kd-page .kd-panel-head { margin-bottom: 12px !important; }
    .kd-page .kd-panel-head h2 { font-size: 20px !important; }
    .kd-page .kd-project { border-radius: 14px !important; }
    .kd-page .kd-project__main { padding: 11px !important; gap: 12px !important; }
    .kd-page .kd-project__image { aspect-ratio: 16 / 9 !important; border-radius: 9px !important; }
    .kd-page .kd-project h3 { font-size: 14px !important; }
    .kd-page .kd-project__actions { grid-template-columns: 1fr 1fr !important; gap: 7px !important; }
    .kd-page .kd-project__actions form:first-child { grid-column: 1 / -1 !important; }
    .kd-page .kd-action { min-height: 40px !important; }
    .kd-page .kd-support-drawer { padding: 0 10px 10px !important; }
    .kd-page .kd-support-box { padding: 13px !important; gap: 13px !important; }

    /* Profile */
    .kp-profile .kp-profile__shell { width: min(100% - 24px, 1120px) !important; }
    .kp-profile { padding: 34px 0 52px !important; }
    .kp-profile .kp-profile__top { gap: 26px !important; }
    .kp-profile .kp-profile__identity { gap: 12px !important; }
    .kp-profile .kp-profile__avatar { flex-basis: 52px !important; width: 52px !important; height: 52px !important; border-radius: 15px !important; }
    .kp-profile .kp-profile__title { font-size: 29px !important; line-height: 1.08 !important; }
    .kp-profile .kp-profile__intro { margin-top: 14px !important; font-size: 13px !important; line-height: 1.65 !important; }
    .kp-profile .kp-profile__stats { grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 7px !important; margin-top: 18px !important; }
    .kp-profile .kp-profile__stats .kp-profile__stat:last-child { grid-column: auto !important; }
    .kp-profile .kp-profile__stat { padding: 10px !important; border-radius: 10px !important; }
    .kp-profile .kp-profile__stat strong { font-size: 18px !important; }
    .kp-profile .kp-profile__stat span { font-size: 8.5px !important; }
    .kp-profile .kp-profile__visual img { border-radius: 17px !important; box-shadow: 0 14px 38px rgba(15,23,42,.065) !important; }
    .kp-profile .kp-profile__grid { gap: 14px !important; margin-top: 24px !important; }
    .kp-profile .kp-card { border-radius: 14px !important; }
    .kp-profile .kp-card__head,
    .kp-profile .kp-card__body { padding: 17px !important; }
    .kp-profile .kp-card__head h2 { font-size: 17px !important; }
    .kp-profile .kp-quick-link { min-height: 58px !important; padding: 10px !important; }

    /* About / Project Help / FAQ / Contact */
    .kya-page .kya-shell,
    .kyh-page .kyh-shell,
    .kyf-page .kyf-shell,
    .kyct-page .kyct-shell { width: min(100% - 24px, 1180px) !important; }
    .kya-page .kya-hero,
    .kyh-page .kyh-hero,
    .kyf-page .kyf-hero,
    .kyct-page .kyct-hero { padding: 44px 0 48px !important; }
    .kya-page .kya-hero h1,
    .kyh-page .kyh-hero h1,
    .kyf-page .kyf-hero h1,
    .kyct-page .kyct-hero h1 { font-size: 35px !important; line-height: 1.04 !important; letter-spacing: -.045em !important; }
    .kya-page .kya-lead,
    .kyh-page .kyh-lead,
    .kyf-page .kyf-hero p,
    .kyct-page .kyct-hero p { margin-top: 15px !important; font-size: 13.5px !important; line-height: 1.65 !important; }
    .kya-page .kya-section,
    .kyh-page .kyh-section { padding: 54px 0 !important; }
    .kya-page .kya-head h2,
    .kyh-page .kyh-head h2 { font-size: 29px !important; }
    .kya-page .kya-workspace,
    .kyh-page .kyh-console { border-radius: 17px !important; box-shadow: 0 16px 42px rgba(15,23,42,.075) !important; }
    .kya-page .kya-workspace-body { min-height: 0 !important; }
    .kya-page .kya-code { padding: 12px !important; overflow-x: auto !important; }
    .kya-page .kya-feature { min-height: 0 !important; padding: 20px !important; border-radius: 14px !important; }
    .kya-page .kya-dark { padding: 50px 0 !important; }
    .kya-page .kya-dark h2 { font-size: 29px !important; }
    .kyh-page .kyh-console-body { padding: 12px !important; }
    .kyh-page .kyh-steps { grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 6px !important; }
    .kyh-page .kyh-mini { padding: 9px 7px !important; }
    .kyh-page .kyh-service { padding: 18px !important; border-radius: 13px !important; }
    .kyh-page .kyh-form { padding: 17px !important; border-radius: 14px !important; }
    .kyh-page .kyh-copy h2 { font-size: 27px !important; }
    .kyf-page .kyf-main { padding: 42px 0 56px !important; }
    .kyf-page .kyf-layout { gap: 24px !important; }
    .kyf-page .kyf-side h2 { font-size: 20px !important; }
    .kyf-page .kyf-item { border-radius: 12px !important; }
    .kyf-page .kyf-item summary { grid-template-columns: 1fr 30px !important; gap: 10px !important; padding: 15px !important; font-size: 12px !important; }
    .kyf-page .kyf-answer { padding: 0 15px 16px !important; font-size: 11.5px !important; }
    .kyf-page .kyf-bottom { margin-top: 27px !important; padding: 19px !important; border-radius: 13px !important; }
    .kyct-page .kyct-body { padding: 44px 0 58px !important; }
    .kyct-page .kyct-grid { gap: 28px !important; }
    .kyct-page .kyct-side h2 { font-size: 24px !important; }
    .kyct-page .kyct-options { gap: 8px !important; margin-top: 19px !important; }
    .kyct-page .kyct-option { padding: 12px !important; border-radius: 11px !important; }
    .kyct-page .kyct-card { border-radius: 15px !important; box-shadow: 0 12px 34px rgba(15,23,42,.045) !important; }
    .kyct-page .kyct-card-head,
    .kyct-page .kyct-form { padding: 17px !important; }
    .kyct-page .kyct-help-strip { margin-top: 30px !important; padding: 18px !important; border-radius: 13px !important; }

    /* Footer */
    .ky-footer__shell { width: min(100% - 24px, 1180px) !important; padding-top: 42px !important; }
    .ky-footer__top { gap: 34px !important; }
    .ky-footer__about { margin-top: 14px !important; font-size: 12.5px !important; line-height: 1.65 !important; }
    .ky-footer__socials { margin-top: 18px !important; }
    .ky-footer__nav { grid-template-columns: 1fr 1fr !important; gap: 26px 20px !important; }
    .ky-footer__column:last-child { grid-column: 1 / -1 !important; }
    .ky-footer__column h3 { margin-bottom: 13px !important; }
    .ky-footer__column a { min-height: 32px !important; }
    .ky-footer__cta { margin-top: 34px !important; padding: 18px !important; border-radius: 13px !important; }
    .ky-footer__cta h2 { font-size: 19px !important; line-height: 1.35 !important; }
    .ky-footer__cta-button { width: 100% !important; min-height: 46px !important; }
    .ky-footer__bottom { gap: 8px !important; padding-top: 19px !important; }
}

@media (max-width: 420px) {
    .ky-home-v4 .ky-title { font-size: 27px !important; }
    .ky-projects .kyp-hero h1,
    .kya-page .kya-hero h1,
    .kyh-page .kyh-hero h1,
    .kyf-page .kyf-hero h1,
    .kyct-page .kyct-hero h1 { font-size: 32px !important; }
    .kpd-page .kpd-title { font-size: 29px !important; }
    .kpd-page .kpd-trust { grid-template-columns: 1fr !important; }
    .kd-page .kd-actions { grid-template-columns: 1fr !important; }
    .kd-page .kd-stats { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
    .kd-page .kd-project__actions { grid-template-columns: 1fr !important; }
    .kd-page .kd-project__actions form:first-child { grid-column: auto !important; }
    .kp-profile .kp-profile__stats { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
    .kyh-page .kyh-steps { grid-template-columns: 1fr !important; }
    .ky-footer__nav { grid-template-columns: 1fr !important; gap: 22px !important; }
    .ky-footer__column:last-child { grid-column: auto !important; }
}

/* ========================================================================== 
   Navigation v1.8 — clean project-first brand header
   ========================================================================== */
.km-site-header--v4 {
    position: sticky;
    top: 0;
    z-index: 70;
    border-bottom: 1px solid rgba(229, 226, 221, .9);
    background:
        radial-gradient(circle at 8% -160%, rgba(249, 115, 22, .12), transparent 42%),
        rgba(255, 253, 250, .94);
    box-shadow: 0 10px 30px rgba(23, 32, 51, .045);
    backdrop-filter: blur(20px) saturate(155%);
    -webkit-backdrop-filter: blur(20px) saturate(155%);
}

.km-site-header--v4::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent 4%, rgba(249,115,22,.2) 18%, #f97316 50%, rgba(251,191,36,.5) 72%, transparent 96%);
}

.km-site-header--v4 .km-site-header__shell {
    width: min(1220px, calc(100% - 40px));
    min-height: 74px;
    gap: 24px;
}

.km-site-header--v4 .km-site-logo {
    flex: 0 0 auto;
    min-height: 46px;
    padding: 0;
    border-radius: 12px;
    text-decoration: none;
}

.km-site-header--v4 .km-site-logo::after { display: none; }

.km-brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.km-brand-lockup__mark-wrap {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #efe5dc;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(23,32,51,.06);
}

.km-brand-lockup__mark {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

.km-brand-lockup__copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.km-brand-lockup__name {
    color: #172033;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1;
}

.km-brand-lockup__tagline {
    color: #8a6b5c;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .035em;
    line-height: 1.15;
    white-space: nowrap;
}

.km-site-header--v4 .km-site-nav {
    align-self: stretch;
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.km-site-header--v4 .km-nav-link {
    position: relative;
    min-height: 74px;
    padding: 0 12px;
    border-radius: 0;
    color: #667085;
    background: transparent;
    font-size: 12.5px;
    font-weight: 550;
    letter-spacing: -.012em;
    transition: color .18s ease;
}

.km-site-header--v4 .km-nav-link::before {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 13px;
    height: 2px;
    border-radius: 999px;
    background: #f97316;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .18s ease;
}

.km-site-header--v4 .km-nav-link::after { display: none; }

.km-site-header--v4 .km-nav-link:hover {
    color: #172033;
    background: transparent;
}

.km-site-header--v4 .km-nav-link:hover::before,
.km-site-header--v4 .km-nav-link.is-active::before {
    transform: scaleX(1);
}

.km-site-header--v4 .km-nav-link.is-active {
    color: #9a3412;
    background: transparent;
    box-shadow: none;
    font-weight: 650;
}

.km-site-header--v4 .km-site-actions {
    flex: 0 0 auto;
    gap: 9px;
    margin-left: 4px;
}

.km-site-header--v4 .km-google-signin {
    min-height: 40px !important;
    padding: 0 12px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 11px !important;
    color: #344054 !important;
    background: rgba(255,255,255,.9) !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 650 !important;
}

.km-site-header--v4 .km-google-signin:hover {
    border-color: #f2cda9 !important;
    color: #9a3412 !important;
    background: #fffaf5 !important;
}

.km-site-header--v4 .km-account-link {
    min-height: 44px;
    gap: 8px;
    padding: 4px 9px 4px 5px;
    border: 1px solid #e7e9ee;
    border-radius: 12px;
    color: #344054;
    background: rgba(255,255,255,.9);
    box-shadow: none;
}

.km-site-header--v4 .km-account-link:hover,
.km-site-header--v4 .km-account-link.is-active {
    border-color: #f2cda9;
    color: #9a3412;
    background: #fffaf5;
}

.km-site-header--v4 .km-account-avatar,
.km-site-header--v4 .km-account-fallback {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
}

.km-account-copy {
    display: grid;
    gap: 1px;
    min-width: 0;
}

.km-account-kicker {
    color: #98a2b3;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .055em;
    line-height: 1;
    text-transform: uppercase;
}

.km-site-header--v4 .km-account-name {
    max-width: 105px;
    color: inherit;
    font-size: 10.5px;
    line-height: 1.15;
}

.km-site-header--v4 .km-account-arrow {
    margin-left: 1px;
    color: #98a2b3;
    font-size: 7px;
}

.km-site-header--v4 .km-header-project-cta {
    min-height: 42px;
    padding: 0 14px;
    border: 1px solid #ea580c;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(180deg, #fb7b23 0%, #f97316 100%);
    box-shadow: 0 8px 18px rgba(234,88,12,.14);
    font-size: 10.5px;
    font-weight: 700;
}

.km-site-header--v4 .km-header-project-cta:hover {
    transform: translateY(-1px);
    border-color: #c2410c;
    background: #ea580c;
    box-shadow: 0 10px 22px rgba(234,88,12,.18);
}

.km-site-header--v4 .km-menu-button {
    display: none;
    position: relative;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid #eadfd4;
    border-radius: 11px;
    background: #fff;
    box-shadow: none;
}

.km-site-header--v4 .km-menu-button__line {
    position: absolute;
    left: 12px;
    width: 16px;
    height: 1.5px;
    border-radius: 99px;
    background: #344054;
    transition: transform .2s ease, top .2s ease;
}

.km-site-header--v4 .km-menu-button__line:first-child { top: 16px; }
.km-site-header--v4 .km-menu-button__line:last-child { top: 23px; }
.km-site-header--v4 .km-menu-button.is-open .km-menu-button__line:first-child { top: 19.5px; transform: rotate(45deg); }
.km-site-header--v4 .km-menu-button.is-open .km-menu-button__line:last-child { top: 19.5px; transform: rotate(-45deg); }

.km-site-header--v4 .km-mobile-menu {
    border-top: 1px solid #eee5dc;
    background: rgba(255,253,250,.985);
    box-shadow: 0 20px 40px rgba(15,23,42,.09);
}

.km-mobile-menu__inner {
    width: min(100% - 28px, 1160px);
    margin: 0 auto;
    padding: 14px 0 18px;
}

.km-mobile-menu__topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 3px 10px;
    color: #9a3412;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.km-mobile-menu__topline span:last-child {
    color: #98a2b3;
    font-weight: 600;
    letter-spacing: .025em;
}

.km-mobile-menu__nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.km-mobile-nav-link {
    min-height: 70px;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 12px;
    align-items: center;
    gap: 9px;
    padding: 9px 10px;
    border: 1px solid #ece8e3;
    border-radius: 12px;
    color: #344054;
    background: rgba(255,255,255,.78);
    text-decoration: none;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.km-mobile-nav-link:hover,
.km-mobile-nav-link.is-active {
    border-color: #f5cda9;
    color: #9a3412;
    background: #fff7ed;
}

.km-mobile-nav-link__icon {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: #c2410c;
    background: #fff3e8;
    font-size: 11px;
}

.km-mobile-nav-link__copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.km-mobile-nav-link__copy strong {
    color: inherit;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.1;
}

.km-mobile-nav-link__copy small {
    overflow: hidden;
    color: #7a8493;
    font-size: 8.5px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.km-mobile-nav-link__arrow {
    color: #b4bbc5;
    font-size: 8px;
}

.km-mobile-menu__bottom {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
    gap: 8px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #eee9e4;
}

.km-site-header--v4 .km-mobile-project-cta {
    min-height: 52px;
    margin: 0;
    padding: 0 13px;
    border-radius: 11px;
    background: #f97316;
}

.km-mobile-project-cta > span {
    display: grid;
    gap: 2px;
    font-size: 10.5px;
}

.km-mobile-project-cta small {
    color: rgba(255,255,255,.7);
    font-size: 7.5px;
    font-weight: 700;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.km-site-header--v4 .km-mobile-menu__account {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.km-site-header--v4 .km-mobile-menu__account .km-account-link,
.km-site-header--v4 .km-mobile-menu__account .km-google-signin {
    width: 100% !important;
    min-height: 52px !important;
    justify-content: flex-start !important;
}

.km-site-header--v4 .km-account-link--mobile .km-account-arrow { margin-left: auto; }

@media (max-width: 1180px) {
    .km-site-header--v4 .km-nav-link { padding-inline: 9px; }
    .km-site-header--v4 .km-header-project-cta { display: none; }
}

@media (max-width: 980px) {
    .km-site-header--v4 .km-site-nav { display: none; }
    .km-site-header--v4 .km-menu-button { display: block; }
    .km-site-header--v4 .km-mobile-menu:not(.hidden) { display: block; }
}

@media (max-width: 760px) {
    .km-site-header--v4 .km-site-header__shell {
        width: min(100% - 24px, 1160px) !important;
        min-height: 64px !important;
        gap: 10px !important;
    }

    .km-brand-lockup { gap: 8px !important; }
    .km-brand-lockup__mark-wrap { width: 36px !important; height: 36px !important; flex-basis: 36px !important; border-radius: 10px !important; box-shadow: none !important; }
    .km-brand-lockup__mark { width: 100% !important; height: 100% !important; border-radius: 0 !important; box-shadow: none !important; }
    .km-brand-lockup__name { font-size: 15px !important; }
    .km-brand-lockup__tagline { display: none; }

    .km-site-header--v4 .km-site-actions > .km-google-signin,
    .km-site-header--v4 .km-site-actions > .km-account-link,
    .km-site-header--v4 .km-site-actions > .km-header-project-cta { display: none !important; }

    .km-site-header--v4 .km-menu-button {
        display: block !important;
        width: 42px !important;
        height: 42px !important;
        border-radius: 11px !important;
    }

    .km-mobile-menu__inner { width: min(100% - 24px, 1160px) !important; padding: 12px 0 16px !important; }
    .km-mobile-menu__topline span:last-child { display: none; }
    .km-mobile-menu__nav { grid-template-columns: 1fr; gap: 6px; }
    .km-mobile-nav-link { min-height: 62px !important; grid-template-columns: 34px minmax(0, 1fr) 12px; padding: 8px 10px !important; }
    .km-mobile-nav-link__copy strong { font-size: 12px; }
    .km-mobile-nav-link__copy small { font-size: 9px; }
    .km-mobile-menu__bottom { grid-template-columns: 1fr; }
    .km-site-header--v4 .km-mobile-menu__account .km-account-link,
    .km-site-header--v4 .km-mobile-menu__account .km-google-signin { min-height: 48px !important; }
}

@media (max-width: 380px) {
    .km-brand-lockup__name { font-size: 14px !important; }
    .km-site-header--v4 .km-site-header__shell { width: min(100% - 20px, 1160px) !important; }
}

/* Performance: reserve icon space while Font Awesome loads asynchronously. */
.fa-solid,.fa-regular,.fa-brands{display:inline-block;min-width:1em;text-align:center}
