/* source: frontend-saas.css */
/*
 * 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}


/* source: kritimyantra-editorial.css */
/*
 * KritimYantra — editorial design system, v1.0
 * Scope: shared navigation and footer + .ed-home (the redesigned homepage).
 * Built without frameworks, animation dependencies, gradients or image libraries.
 */
:root {
  --ed-paper: #f3f0e9;
  --ed-cream: #fcfaf5;
  --ed-sand: #e8e5dd;
  --ed-ink: #1d211c;
  --ed-deep: #20241e;
  --ed-copy: #51584f;
  --ed-muted: #777d73;
  --ed-border: #caccc4;
  --ed-line-dark: #5c6258;
  --ed-accent: #ed6738;
  --ed-accent-ink: #b74321;
  --ed-fade: #e5e9df;
  --ed-display: Arial, Helvetica, sans-serif;
  --ed-serif: Georgia, 'Times New Roman', serif;
  --ed-spacing: clamp(22px, 4.5vw, 76px);
  --ed-ease: cubic-bezier(.22, 1, .36, 1);
}
html { scroll-padding-top: 105px; }
.ed-container { width: min(1600px, calc(100% - var(--ed-spacing) * 2)); margin-inline: auto; }
.ed-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(12px, 1.55vw, 26px); }
:where(.ed-header, .ed-footer, .ed-home) *, :where(.ed-header, .ed-footer, .ed-home) *::before, :where(.ed-header, .ed-footer, .ed-home) *::after { box-sizing: border-box; }
:where(.ed-header, .ed-footer, .ed-home) a { text-decoration: none; }
:where(.ed-header, .ed-footer, .ed-home) a:focus-visible,
:where(.ed-header, .ed-footer, .ed-home) button:focus-visible { outline: 2px solid var(--ed-accent); outline-offset: 5px; }

/* Global navigation, shared across every frontend Blade route. */
.ed-header { position: relative; z-index: 100; color: var(--ed-ink); background: var(--ed-cream); border-bottom: 1px solid #dddcd5; }
.ed-header__inner { height: 86px; display: flex; align-items: center; gap: 50px; }
.ed-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ed-ink) !important; flex-shrink: 0; }
.ed-brand__mark { display: grid; place-items: center; width: 41px; height: 41px; padding-bottom: 4px; background: var(--ed-ink); color: var(--ed-cream); font: 700 35px/.9 var(--ed-display); letter-spacing: -.1em; }
.ed-brand__mark span { color: var(--ed-accent); }
.ed-brand__wordmark { font: 800 19px/1 var(--ed-display); letter-spacing: -.065em; }
.ed-brand__wordmark span { color: var(--ed-accent-ink); }
.ed-header__nav { display: flex; align-items: center; justify-content: center; gap: clamp(20px, 2.35vw, 43px); flex: 1; }
.ed-header__nav-link { position: relative; padding: 29px 0; font: 600 12px/1 var(--ed-display); color: #565c54 !important; letter-spacing: .015em; white-space: nowrap; transition: color .2s ease; }
.ed-header__nav-link::after { content: ''; position: absolute; bottom: 19px; left: 0; width: 100%; height: 1px; background: var(--ed-accent); transform: scaleX(0); transform-origin: left; transition: transform .28s var(--ed-ease); }
.ed-header__nav-link:hover, .ed-header__nav-link.is-active { color: var(--ed-ink) !important; }
.ed-header__nav-link:hover::after, .ed-header__nav-link.is-active::after { transform: scaleX(1); }
.ed-header__actions { display: flex; align-items: center; gap: 18px; margin-left: auto; flex-shrink: 0; }
.ed-header__account { color: var(--ed-copy) !important; font: 600 12px var(--ed-display); }
.ed-header__cta { display: inline-flex; align-items: center; justify-content: space-between; min-width: 146px; min-height: 45px; padding: 0 14px 0 18px; color: var(--ed-cream) !important; background: var(--ed-ink); font: 700 12px var(--ed-display); transition: background .22s ease; }
.ed-header__cta:hover { background: #444c3f; }
.ed-header__cta span { font-size: 19px; font-weight: 400; transition: transform .24s var(--ed-ease); }
.ed-header__cta:hover span { transform: translate(2px, -2px); }
.ed-menu-button { display: none; background: none; border: 0; color: var(--ed-ink); cursor: pointer; padding: 12px 0 12px 12px; }
.ed-menu-button__text { font: 700 12px var(--ed-display); }
.ed-menu-button__glyph { position: relative; width: 22px; height: 16px; display: inline-flex; flex-direction: column; align-items: end; justify-content: center; gap: 6px; }
.ed-menu-button__glyph span { width: 22px; height: 1.5px; background: currentColor; transform-origin: center; transition: transform .24s ease; }
.ed-menu-button__glyph span:last-child { width: 15px; }
.ed-menu-button.is-open .ed-menu-button__glyph span:first-child { transform: translateY(3.75px) rotate(45deg); }
.ed-menu-button.is-open .ed-menu-button__glyph span:last-child { width: 22px; transform: translateY(-3.75px) rotate(-45deg); }
.ed-mobile-menu { display: none; }
.ed-mobile-menu.hidden { display: none !important; }

/* Homepage typography and editorial grid. Higher specificity defeats legacy
 * .km-page-content heading rules without changing project/shop pages. */
.ed-home { background: var(--ed-cream); color: var(--ed-ink); font-family: var(--ed-display); overflow: clip; }
.ed-home :is(h1,h2,h3,p,figure) { margin: 0; }
.ed-home :is(h1,h2,h3) { text-wrap: balance; }
.ed-home :is(p,span,small) { overflow-wrap: break-word; }
.ed-home .ed-section { padding-block: clamp(95px, 11vw, 170px); }
.ed-section-index { display: inline-block; font: 700 10px/1.5 var(--ed-display); letter-spacing: .14em; color: #555c52; text-transform: uppercase; }
.ed-section-index--light { color: #b2b7ad; }
.ed-kicker { display: inline-flex; align-items: center; gap: 12px; color: var(--ed-ink); font: 700 10px/1.4 var(--ed-display); letter-spacing: .145em; }
.ed-kicker__line { width: 27px; height: 1px; background: var(--ed-accent); }
.ed-kicker--light { color: #cacdc3; }
.ed-arrow-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 48px; width: fit-content; min-height: 38px; border-bottom: 1px solid var(--ed-ink); color: var(--ed-ink) !important; font: 700 12px/1.25 var(--ed-display); transition: color .25s ease, border-color .25s ease; }
.ed-arrow-link span { display: inline-block; font-size: 17px; font-weight: 400; transition: transform .25s var(--ed-ease); }
.ed-arrow-link:hover { color: var(--ed-accent-ink) !important; border-color: var(--ed-accent-ink); }
.ed-arrow-link:hover span { transform: translate(3px, -3px); }
.ed-arrow-link--light { color: var(--ed-cream) !important; border-color: #888f83; }
.ed-arrow-link--light:hover { color: var(--ed-accent) !important; }
.ed-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 38px; min-height: 56px; padding: 0 18px 0 22px; font: 700 12px/1 var(--ed-display); transition: background .2s ease, color .2s ease; }
.ed-button--dark { background: var(--ed-ink); color: #fff !important; }
.ed-button--dark:hover { background: #394336; }
.ed-button span { font: 400 23px/1 var(--ed-display); transition: transform .25s var(--ed-ease); }
.ed-button:hover span { transform: translate(3px, -3px); }
.ed-text-link { display: inline-flex; gap: 26px; align-items: center; color: var(--ed-ink) !important; padding-bottom: 7px; border-bottom: 1px solid #a4aaa0; font: 700 12px var(--ed-display); }
.ed-text-link span { font-size: 19px; transition: transform .25s var(--ed-ease); }
.ed-text-link:hover span { transform: translate(3px,3px); }

/* 00 — Hero */
.ed-hero { padding-top: 31px; background: var(--ed-paper); }
.ed-hero__metadata { min-height: 34px; align-items: start; padding-bottom: 16px; border-bottom: 1px solid var(--ed-border); color: #676e63; font: 700 9px/1.5 var(--ed-display); letter-spacing: .13em; }
.ed-hero__metadata span:nth-child(1) { grid-column: 1/5; }
.ed-hero__metadata span:nth-child(2) { grid-column: 5/10; }
.ed-hero__metadata span:nth-child(3) { grid-column: 10/13; text-align: right; }
.ed-hero__main { align-items: center; padding-block: clamp(54px, 6.6vw, 100px) clamp(42px, 4.5vw, 74px); }
.ed-hero__copy { grid-column: 1/8; min-width: 0; position: relative; z-index: 2; }
.ed-home .ed-hero__copy h1 { margin: 31px 0 0 !important; color: var(--ed-ink) !important; font: 800 clamp(80px, 9.55vw, 166px)/.87 var(--ed-display) !important; letter-spacing: -.095em !important; text-wrap: nowrap; }
.ed-hero__copy h1 em { color: var(--ed-accent); font: italic 400 1.03em/.8 var(--ed-serif); letter-spacing: -.075em; }
.ed-hero__stop { color: var(--ed-accent); }
.ed-home .ed-hero__lead { max-width: 390px; margin: 36px 0 0; color: #4f574c; font: 400 clamp(16px, 1.32vw, 20px)/1.5 var(--ed-display); letter-spacing: -.025em; }
.ed-hero__buttons { display: flex; align-items: center; flex-wrap: wrap; gap: 29px; margin-top: 38px; }
.ed-hero__art { position: relative; grid-column: 8/13; min-width: 0; align-self: stretch; height: clamp(450px, 44vw, 680px); margin: 0; background: var(--ed-deep); }
.ed-hero__art > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ed-hero__art figcaption { position: absolute; left: 23px; right: 23px; bottom: 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #e5e9dd; font: 600 9px/1.4 var(--ed-display); letter-spacing: .11em; text-shadow: 0 1px 2px rgba(0,0,0,.3); }
.ed-hero__bottom { min-height: 76px; border-top: 1px solid var(--ed-border); align-items: center; color: #666d61; font: 700 10px/1.4 var(--ed-display); letter-spacing: .115em; }
.ed-hero__bottom > :first-child { grid-column: 1/4; }
.ed-hero__bottom > :nth-child(2) { grid-column: 4/10; }
.ed-hero__bottom > :last-child { grid-column: 10/13; text-align: right; color: #454c42; }
.ed-hero__bottom a { color: inherit; }
.ed-hero__bottom a span { font-size: 17px; margin-left: 10px; }

/* 01 — Manifesto */
.ed-manifesto { background: var(--ed-cream); }
.ed-manifesto__side { grid-column: 1/4; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; min-height: 410px; }
.ed-crosshair { color: var(--ed-accent); font-size: 60px; line-height: 1; font-weight: 200; }
.ed-manifesto__body { grid-column: 4/13; }
.ed-home .ed-manifesto h2 { color: var(--ed-ink) !important; font: 700 clamp(50px, 6.4vw, 102px)/1.06 var(--ed-display) !important; letter-spacing: -.082em !important; }
.ed-home .ed-manifesto h2 em { font: italic 400 1.02em var(--ed-serif); color: var(--ed-accent); letter-spacing: -.055em; }
.ed-manifesto__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 38px; margin-top: clamp(45px, 5vw, 88px); padding-top: 25px; border-top: 1px solid var(--ed-border); }
.ed-home .ed-manifesto__foot p { max-width: 425px; color: var(--ed-copy); font: 400 clamp(16px, 1.4vw, 19px)/1.58 var(--ed-display); }

/* Shared section header */
.ed-section-head { align-items: end; margin-bottom: clamp(42px, 5.4vw, 86px); }
.ed-section-head > .ed-section-index { grid-column: 1/4; align-self: start; padding-top: 12px; }
.ed-section-head h2 { grid-column: 4/11; }
.ed-home .ed-section-head h2 { color: var(--ed-ink) !important; font: 700 clamp(50px, 5.7vw, 92px)/1.02 var(--ed-display) !important; letter-spacing: -.073em !important; }
.ed-home .ed-section-head h2 em { color: var(--ed-accent); font: italic 400 1.015em var(--ed-serif); letter-spacing: -.065em; }
.ed-section-head > .ed-arrow-link { grid-column: 11/13; justify-self: end; white-space: nowrap; }

/* 02 — Work: one project, one compositional reason. */
.ed-work { background: var(--ed-sand); }
.ed-work__list { border-top: 1px solid #c2c6ba; }
.ed-work-item { align-items: center; padding: clamp(40px, 5vw, 75px) 0; border-bottom: 1px solid #c2c6ba; }
.ed-work-item__copy { grid-column: 1/5; align-self: stretch; display: flex; flex-direction: column; align-items: flex-start; padding-right: clamp(20px, 3vw, 55px); }
.ed-work-item__index { display: flex; justify-content: space-between; align-items: center; width: 100%; color: var(--ed-accent-ink); font: 800 13px var(--ed-display); }
.ed-work-item__index span { color: #636b60; font: 700 9px var(--ed-display); letter-spacing: .1em; }
.ed-home .ed-work-item h3 { margin-top: 52px; color: var(--ed-ink) !important; font: 700 clamp(30px, 3.25vw, 54px)/1.13 var(--ed-display) !important; letter-spacing: -.06em !important; }
.ed-work-item h3 a { color: inherit; }
.ed-home .ed-work-item__description { margin-top: 19px; max-width: 340px; color: #63695f; font: 400 14px/1.65 var(--ed-display); }
.ed-work-item__tags { margin-top: 24px !important; color: #777d71; font: 700 10px/1.5 var(--ed-display); text-transform: uppercase; letter-spacing: .06em; }
.ed-work-item__copy .ed-arrow-link { margin-top: auto; padding-top: 45px; }
.ed-work-item__visual { grid-column: 6/13; position: relative; display: block; height: clamp(350px, 34vw, 520px); overflow: hidden; background: var(--ed-deep); }
.ed-work-item__visual > img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ed-ease); }
.ed-work-item__visual:hover > img { transform: scale(1.035); }
.ed-work-item__view { position: absolute; z-index: 2; right: 17px; bottom: 17px; padding: 10px 12px; background: var(--ed-cream); color: var(--ed-ink); font: 800 9px var(--ed-display); letter-spacing: .09em; }
.ed-work-item__empty-art { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 30px; background-color: #283128; background-image: linear-gradient(0deg,transparent 49.9%,#4d5b4d 50%,transparent 50.1%),linear-gradient(90deg,transparent 49.9%,#4d5b4d 50%,transparent 50.1%); background-size: 56px 56px; color: #fbf4e7; }
.ed-work-item__empty-art > span { font: 800 clamp(38px, 6.5vw, 100px)/.92 var(--ed-display); letter-spacing: -.08em; }
.ed-work-item__empty-art b { position: absolute; right: 13%; top: 13%; font: 800 clamp(120px, 18vw, 260px)/1 var(--ed-display); letter-spacing: -.12em; color: var(--ed-accent); }
.ed-work-item__empty-art small { font: 700 10px var(--ed-display); letter-spacing: .13em; position: relative; z-index: 1; }
.ed-work__empty { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 40px 0; }
.ed-home .ed-work__empty p { color: var(--ed-copy); font: 400 18px/1.5 var(--ed-display); }

/* 03 — Capabilities: dark inversion, ruled list not tiles. */
.ed-capabilities { background: var(--ed-deep); color: var(--ed-cream); }
.ed-capabilities__intro { grid-column: 1/6; padding-right: 5%; }
.ed-home .ed-capabilities h2 { margin-top: 45px; color: var(--ed-cream) !important; font: 700 clamp(54px, 6vw, 96px)/.99 var(--ed-display) !important; letter-spacing: -.08em !important; }
.ed-home .ed-capabilities h2 em { color: var(--ed-accent); font: italic 400 1.04em var(--ed-serif); letter-spacing: -.065em; }
.ed-home .ed-capabilities__intro p { margin-top: 28px; max-width: 330px; color: #aeb5a7; font: 400 16px/1.65 var(--ed-display); }
.ed-capabilities__intro .ed-arrow-link { margin-top: 40px; }
.ed-capabilities__list { grid-column: 7/13; border-top: 1px solid var(--ed-line-dark); }
.ed-capabilities__list > a { display: grid; grid-template-columns: 44px minmax(0,1fr) 24px; gap: 14px; align-items: start; min-height: 139px; padding: 30px 0; border-bottom: 1px solid var(--ed-line-dark); color: var(--ed-cream); transition: padding .3s var(--ed-ease), background .3s ease; }
.ed-capabilities__list > a:hover { padding-left: 12px; }
.ed-capabilities__list > a > span:first-child { color: var(--ed-accent); font: 800 11px var(--ed-display); padding-top: 10px; }
.ed-capabilities__list strong { display: block; color: var(--ed-cream); font: 700 clamp(25px, 2.45vw, 35px)/1.14 var(--ed-display); letter-spacing: -.05em; }
.ed-capabilities__list small { display: block; margin-top: 12px; color: #9ea99b; font: 400 13px/1.4 var(--ed-display); }
.ed-capabilities__list i { color: var(--ed-accent); font-style: normal; font-size: 23px; transition: transform .26s var(--ed-ease); }
.ed-capabilities__list a:hover i { transform: translate(3px,-3px); }
.ed-capabilities__bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 97px; padding-top: 23px; border-top: 1px solid #555e51; color: #9ba698; font: 700 9px/1.4 var(--ed-display); letter-spacing: .14em; }

/* 04 — Products: restrained 3-column images, ruled metadata. */
.ed-products { background: var(--ed-cream); }
.ed-products .ed-section-head h2 { grid-column: 4/10; }
.ed-products__head-aside { grid-column: 10/13; justify-self: end; max-width: 260px; align-self: end; }
.ed-home .ed-products__head-aside p { margin-bottom: 19px; color: var(--ed-copy); font: 400 14px/1.65 var(--ed-display); }
.ed-product { grid-column: span 4; display: flex; flex-direction: column; min-width: 0; }
.ed-product__visual { position: relative; display: block; width: 100%; aspect-ratio: 1.28; overflow: hidden; background: var(--ed-sand); }
.ed-product__visual > img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ed-ease); }
.ed-product:hover .ed-product__visual > img { transform: scale(1.035); }
.ed-product__fallback { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: clamp(20px,2vw,34px); background: #d9ded2; color: var(--ed-ink); }
.ed-product:nth-child(2) .ed-product__fallback { background: #d9d0bf; }
.ed-product:nth-child(3) .ed-product__fallback { background: #cbd1d2; }
.ed-product__fallback > span { font: 800 clamp(80px, 11vw, 150px)/1 var(--ed-display); letter-spacing: -.15em; }
.ed-product__fallback > span span { color: var(--ed-accent); }
.ed-product__fallback small { font: 700 9px var(--ed-display); letter-spacing: .12em; }
.ed-product__arrow { position: absolute; top: 17px; right: 18px; display: grid; place-items: center; width: 41px; height: 41px; background: var(--ed-cream); color: var(--ed-ink); font: 400 22px var(--ed-display); transition: background .25s ease,color .25s ease; }
.ed-product:hover .ed-product__arrow { background: var(--ed-ink); color: var(--ed-cream); }
.ed-product__meta { margin-top: 21px !important; color: #72786e; font: 700 10px/1.4 var(--ed-display); letter-spacing: .1em; text-transform: uppercase; }
.ed-home .ed-product h3 { margin: 13px 0 26px; color: var(--ed-ink) !important; font: 700 clamp(22px, 2.05vw, 30px)/1.2 var(--ed-display) !important; letter-spacing: -.049em !important; }
.ed-product h3 a { color: inherit; }
.ed-product__bottom { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--ed-border); display: flex; justify-content: space-between; align-items: center; gap: 12px; color: #62695f; font: 700 9px var(--ed-display); letter-spacing: .1em; }
.ed-product__bottom a { color: var(--ed-ink); font-size: 21px; }
.ed-products__empty { grid-column: 1/13; border: 1px solid var(--ed-border); padding: 50px; }
.ed-home .ed-products__empty p { margin-bottom: 20px; font: 400 18px/1.5 var(--ed-display); }

/* 05 — Process as numbered notation. */
.ed-process { background: var(--ed-paper); }
.ed-process__heading { grid-column: 1/6; }
.ed-home .ed-process__heading h2 { margin-top: 50px; color: var(--ed-ink) !important; font: 700 clamp(54px, 6vw, 95px)/1.01 var(--ed-display) !important; letter-spacing: -.077em !important; }
.ed-process__heading h2 span { color: var(--ed-accent); }
.ed-home .ed-process__heading p { max-width: 300px; margin-top: 25px; color: var(--ed-copy); font: 400 16px/1.7 var(--ed-display); }
.ed-process__steps { grid-column: 7/13; list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--ed-border); }
.ed-process__steps li { display: grid; grid-template-columns: 145px 1fr; gap: 14px; border-bottom: 1px solid var(--ed-border); padding: 27px 0 32px; }
.ed-process__steps li > span { padding-top: 8px; font: 800 10px var(--ed-display); color: var(--ed-accent-ink); letter-spacing: .095em; }
.ed-home .ed-process__steps h3 { color: var(--ed-ink) !important; font: 700 clamp(25px, 2.5vw, 35px)/1.14 var(--ed-display) !important; letter-spacing: -.048em !important; }
.ed-home .ed-process__steps p { max-width: 340px; margin-top: 8px; color: #676e62; font: 400 13px/1.58 var(--ed-display); }

/* 06 — Personal story: genuine photo or branded composition. */
.ed-person { background: var(--ed-sand); }
.ed-person__visual { grid-column: 1/7; min-height: 650px; background: var(--ed-deep); position: relative; overflow: hidden; }
.ed-person__visual > img { display: block; width: 100%; height: 100%; min-height: 650px; object-fit: cover; object-position: 50% 25%; }
.ed-person__graphic { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; padding: 50px clamp(28px, 4vw, 65px); color: #f6f2e8; background-color: #263028; background-image: repeating-linear-gradient(0deg,transparent 0,transparent 58px,#445047 59px,#445047 60px); }
.ed-person__graphic > span { color: #f6f2e8; font: 800 clamp(49px, 6vw, 99px)/.92 var(--ed-display); letter-spacing: -.082em; }
.ed-person__graphic > b { color: var(--ed-accent); font: italic 400 clamp(50px, 5.9vw, 91px)/.95 var(--ed-serif); letter-spacing: -.08em; margin-top: 26px; }
.ed-person__graphic > small { margin-top: 70px; color: #a6aca1; font: 700 10px var(--ed-display); letter-spacing: .13em; }
.ed-person__visual-note { position: absolute; bottom: 0; left: 0; right: 0; padding: 14px 23px; background: rgba(26,31,24,.91); color: #c6cbbe; font: 700 9px var(--ed-display); letter-spacing: .13em; }
.ed-person__body { grid-column: 8/13; align-self: center; padding-block: 30px; }
.ed-home .ed-person__body h2 { margin-top: 38px; color: var(--ed-ink) !important; font: 700 clamp(52px, 5.9vw, 95px)/1.02 var(--ed-display) !important; letter-spacing: -.08em !important; }
.ed-home .ed-person__body h2 em { color: var(--ed-accent); font: italic 400 1em var(--ed-serif); letter-spacing: -.06em; }
.ed-home .ed-person__lede { margin-top: 36px; color: var(--ed-ink); font: 600 clamp(20px, 1.9vw, 27px)/1.34 var(--ed-display); letter-spacing: -.03em; }
.ed-home .ed-person__description { margin-top: 18px; max-width: 440px; color: var(--ed-copy); font: 400 14px/1.8 var(--ed-display); }
.ed-person__credentials { display: flex; flex-wrap: wrap; gap: 22px; padding: 26px 0; margin: 32px 0; border-block: 1px solid #bfc3b7; color: #6b7267; font: 500 12px/1.5 var(--ed-display); }
.ed-person__credentials span { display: flex; align-items: center; gap: 10px; }
.ed-person__credentials b { color: var(--ed-accent-ink); font: 800 23px var(--ed-display); letter-spacing: -.07em; }

/* 07 — Journal entries as a compact reading index. */
.ed-journal { background: var(--ed-cream); }
.ed-journal__heading { grid-column: 1/6; }
.ed-home .ed-journal__heading h2 { margin: 45px 0 42px; color: var(--ed-ink) !important; font: 700 clamp(53px, 6vw, 95px)/1.02 var(--ed-display) !important; letter-spacing: -.08em !important; }
.ed-home .ed-journal__heading h2 em { color: var(--ed-accent); font: italic 400 1.02em var(--ed-serif); }
.ed-journal__items { grid-column: 7/13; border-top: 1px solid var(--ed-border); }
.ed-journal__items article { border-bottom: 1px solid var(--ed-border); }
.ed-journal__items article > a { position: relative; display: block; padding: 27px 45px 34px 0; color: var(--ed-ink); }
.ed-journal__items article > a > span:first-child { color: #737a70; font: 700 10px/1.4 var(--ed-display); letter-spacing: .1em; }
.ed-home .ed-journal__items h3 { margin-top: 17px; color: var(--ed-ink) !important; font: 650 clamp(23px, 2.35vw, 35px)/1.2 var(--ed-display) !important; letter-spacing: -.042em !important; }
.ed-journal__arrow { position: absolute; top: 38px; right: 0; font: 400 22px var(--ed-display); color: var(--ed-accent); transition: transform .25s var(--ed-ease); }
.ed-journal__items article a:hover .ed-journal__arrow { transform: translate(3px,-3px); }

/* Shared footer: architectural typography with a clear conversion path. */
.ed-footer { color: var(--ed-cream); background: #151a16; font-family: var(--ed-display); }
.ed-footer__top { padding: clamp(85px, 10vw, 153px) 0 clamp(88px, 9vw, 136px); align-items: end; }
.ed-footer__intro { grid-column: 1/9; }
.ed-footer__intro h2 { margin: 27px 0 0; color: var(--ed-cream); font: 800 clamp(72px, 9.4vw, 151px)/.9 var(--ed-display); letter-spacing: -.086em; }
.ed-footer__intro h2 em { font: italic 400 1em var(--ed-serif); color: var(--ed-accent); letter-spacing: -.075em; }
.ed-footer__action { grid-column: 10/13; padding-bottom: 9px; }
.ed-footer__action p { color: #aab1a6; font: 400 16px/1.56 var(--ed-display); max-width: 260px; margin: 0 0 27px; }
.ed-footer__start { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; border-top: 1px solid #8a9485; border-bottom: 1px solid #8a9485; color: var(--ed-cream) !important; font: 700 13px var(--ed-display); transition: color .2s ease; }
.ed-footer__start span { font: 400 24px var(--ed-display); transition: transform .25s var(--ed-ease); }
.ed-footer__start:hover { color: var(--ed-accent) !important; }
.ed-footer__start:hover span { transform: translate(3px,-3px); }
.ed-footer__middle { padding-block: 35px 75px; border-top: 1px solid #4a5248; }
.ed-footer__brand { grid-column: 1/6; color: var(--ed-cream) !important; font: 800 clamp(28px, 3.3vw, 51px)/1 var(--ed-display); letter-spacing: -.08em; }
.ed-footer__brand span { color: var(--ed-accent); }
.ed-footer__links { grid-column: 7/11; display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px 18px; align-self: start; }
.ed-footer__social { grid-column: 11/13; display: flex; flex-direction: column; gap: 14px; }
.ed-footer__links a, .ed-footer__social a { color: #c1c7bb; font: 500 12px/1.4 var(--ed-display); transition: color .2s ease; }
.ed-footer__links a:hover, .ed-footer__social a:hover { color: var(--ed-accent); }
.ed-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 25px; padding-block: 25px 30px; border-top: 1px solid #4a5248; color: #969e91; font: 500 10px/1.5 var(--ed-display); letter-spacing: .04em; }
.ed-footer__bottom div { display: flex; flex-wrap: wrap; gap: 22px; }
.ed-footer__bottom a { color: inherit; }
.ed-footer__bottom a:hover { color: var(--ed-cream); }

/* Transition: opacity / transform only, with progressive enhancement. */
@media (prefers-reduced-motion: no-preference) {
  .ed-animate { opacity: 0; transform: translateY(22px); transition: opacity .75s var(--ed-ease), transform .75s var(--ed-ease); }
  .ed-animate.is-visible { opacity: 1; transform: translateY(0); }
}
@media (max-width: 1160px) {
  .ed-header__inner { gap: 20px; }
  .ed-header__nav { gap: 20px; }
  .ed-home .ed-hero__copy h1 { font-size: clamp(70px, 9vw, 118px) !important; }
  .ed-work-item__copy { grid-column: 1/6; }
  .ed-work-item__visual { grid-column: 6/13; }
  .ed-person__visual { min-height: 560px; }
  .ed-person__visual > img { min-height: 560px; }
  .ed-products .ed-section-head h2 { grid-column: 4/13; }
  .ed-products__head-aside { grid-column: 4/13; justify-self: start; margin-top: 25px; max-width: 420px; }
}
@media (max-width: 900px) {
  .ed-header__inner { height: 70px; }
  .ed-header__nav, .ed-header__account { display: none; }
  .ed-menu-button { display: inline-flex; align-items: center; gap: 10px; }
  .ed-mobile-menu:not(.hidden) { display: block; position: absolute; top: 100%; left: 0; right: 0; z-index: 120; background: var(--ed-cream); border-bottom: 1px solid var(--ed-border); box-shadow: 0 18px 30px rgba(0,0,0,.06); }
  .ed-mobile-menu__nav { display: flex; flex-direction: column; padding-block: 18px 34px; }
  .ed-mobile-menu__nav > a:not(.ed-mobile-menu__contact) { display: grid; grid-template-columns: 40px 1fr 28px; gap: 12px; align-items: center; min-height: 69px; border-bottom: 1px solid #dfdfd6; color: var(--ed-ink); font: 700 clamp(23px, 4.5vw, 34px)/1.2 var(--ed-display); letter-spacing: -.045em; }
  .ed-mobile-menu__index { color: var(--ed-accent); font: 800 10px var(--ed-display); letter-spacing: .06em; }
  .ed-mobile-menu__arrow { color: var(--ed-accent); font-size: 24px; text-align: right; }
  .ed-mobile-menu__contact { display: flex; justify-content: space-between; margin-top: 22px; min-height: 54px; align-items: center; background: var(--ed-ink); padding: 0 16px; color: var(--ed-cream); font: 700 13px var(--ed-display); }
  .ed-hero__metadata span:nth-child(1) { grid-column: 1/7; }
  .ed-hero__metadata span:nth-child(2) { grid-column: 7/13; text-align: right; }
  .ed-hero__metadata span:nth-child(3) { display: none; }
  .ed-hero__main { align-items: start; gap: 30px 0; }
  .ed-hero__copy { grid-column: 1/13; }
  .ed-home .ed-hero__copy h1 { font-size: clamp(82px, 12.5vw, 133px) !important; }
  .ed-hero__art { grid-column: 1/13; width: 100%; height: clamp(480px, 69vw, 700px); }
  .ed-hero__art > img { object-position: center; }
  .ed-hero__bottom > :first-child { grid-column: 1/5; }
  .ed-hero__bottom > :nth-child(2) { display: none; }
  .ed-hero__bottom > :last-child { grid-column: 6/13; }
  .ed-manifesto__side { grid-column: 1/13; min-height: 0; }
  .ed-crosshair { display: none; }
  .ed-manifesto__body { grid-column: 1/13; margin-top: 40px; }
  .ed-section-head > .ed-section-index { grid-column: 1/13; margin-bottom: 25px; }
  .ed-section-head h2 { grid-column: 1/12; }
  .ed-section-head > .ed-arrow-link { grid-column: 1/13; justify-self: start; margin-top: 23px; }
  .ed-work-item__copy { grid-column: 1/13; padding-right: 0; }
  .ed-home .ed-work-item h3 { margin-top: 30px; }
  .ed-work-item__copy .ed-arrow-link { margin-top: 15px; padding-top: 0; }
  .ed-work-item__visual { grid-column: 1/13; margin-top: 32px; height: clamp(350px, 65vw, 520px); }
  .ed-capabilities__intro, .ed-capabilities__list { grid-column: 1/13; }
  .ed-capabilities__list { margin-top: 65px; }
  .ed-capabilities__bottom { margin-top: 60px; }
  .ed-products .ed-section-head h2, .ed-products__head-aside { grid-column: 1/13; }
  .ed-product { grid-column: span 6; }
  .ed-product:nth-child(3) { margin-top: 45px; }
  .ed-process__heading, .ed-process__steps { grid-column: 1/13; }
  .ed-process__steps { margin-top: 58px; }
  .ed-person__visual { grid-column: 1/7; }
  .ed-person__body { grid-column: 7/13; padding-left: 15px; }
  .ed-person__visual, .ed-person__visual > img { min-height: 550px; }
  .ed-person__graphic { padding: 22px; }
  .ed-person__graphic > span { font-size: clamp(38px, 5vw, 67px); }
  .ed-person__graphic > b { font-size: clamp(37px, 5vw, 67px); }
  .ed-journal__heading, .ed-journal__items { grid-column: 1/13; }
  .ed-journal__items { margin-top: 55px; }
  .ed-footer__intro { grid-column: 1/9; }
  .ed-footer__action { grid-column: 9/13; }
  .ed-footer__intro h2 { font-size: clamp(64px, 9.8vw, 120px); }
}
@media (max-width: 650px) {
  :root { --ed-spacing: 22px; }
  html { scroll-padding-top: 80px; }
  .ed-header__inner { height: 66px; }
  .ed-brand__mark { width: 35px; height: 35px; font-size: 30px; }
  .ed-brand__wordmark { font-size: 17px; }
  .ed-header__cta { display: none; }
  .ed-home .ed-section { padding-block: 83px; }
  .ed-hero { padding-top: 19px; }
  .ed-hero__metadata { font-size: 8px; letter-spacing: .065em; }
  .ed-hero__metadata span:nth-child(1) { grid-column: 1/8; }
  .ed-hero__metadata span:nth-child(2) { grid-column: 8/13; text-align: right; }
  .ed-hero__main { padding-block: 45px 30px; }
  .ed-hero__copy { grid-column: 1/13; }
  .ed-home .ed-hero__copy h1 { margin-top: 30px !important; font-size: clamp(62px, 13.15vw, 96px) !important; letter-spacing: -.087em !important; }
  .ed-home .ed-hero__lead { margin-top: 27px; font-size: 16px; max-width: 310px; }
  .ed-hero__buttons { gap: 23px; margin-top: 28px; }
  .ed-button { min-height: 53px; padding-inline: 17px; gap: 24px; }
  .ed-hero__art { height: 400px; }
  .ed-hero__art figcaption { left: 14px; right: 14px; bottom: 12px; font-size: 7px; }
  .ed-hero__bottom { min-height: 68px; font-size: 8px; }
  .ed-home .ed-manifesto h2 { font-size: clamp(45px, 10.5vw, 67px) !important; line-height: 1.06 !important; }
  .ed-manifesto__foot { display: block; margin-top: 34px; }
  .ed-manifesto__foot p { max-width: 370px; }
  .ed-manifesto__foot .ed-arrow-link { margin-top: 22px; }
  .ed-home .ed-section-head h2 { font-size: clamp(46px, 10vw, 68px) !important; }
  .ed-section-head { margin-bottom: 33px; }
  .ed-work-item { padding-block: 34px 48px; }
  .ed-home .ed-work-item h3 { font-size: clamp(31px, 7.8vw, 44px) !important; }
  .ed-work-item__visual { height: 330px; }
  .ed-work-item__empty-art > span { font-size: 49px; }
  .ed-work-item__empty-art b { font-size: 160px; }
  .ed-capabilities__intro h2 { margin-top: 30px; }
  .ed-home .ed-capabilities h2 { font-size: clamp(60px, 12vw, 80px) !important; }
  .ed-capabilities__list { margin-top: 52px; }
  .ed-capabilities__list > a { grid-template-columns: 27px minmax(0,1fr) 22px; gap: 8px; min-height: 111px; padding-block: 24px; }
  .ed-capabilities__list strong { font-size: clamp(22px, 5.4vw, 31px); }
  .ed-capabilities__list small { font-size: 12px; line-height: 1.5; }
  .ed-capabilities__bottom { margin-top: 58px; font-size: 8px; }
  .ed-products__head-aside { margin-top: 8px; }
  .ed-product { grid-column: 1/13; margin-bottom: 42px; }
  .ed-product:nth-child(3) { margin-top: 0; }
  .ed-product__visual { aspect-ratio: 1.42; }
  .ed-product__meta { margin-top: 16px !important; }
  .ed-home .ed-product h3 { font-size: 28px !important; margin-bottom: 16px; }
  .ed-products__empty { padding: 28px; }
  .ed-home .ed-process__heading h2 { font-size: clamp(58px, 12vw, 82px) !important; }
  .ed-process__steps { margin-top: 36px; }
  .ed-process__steps li { grid-template-columns: 92px 1fr; gap: 9px; padding-block: 23px; }
  .ed-process__steps li > span { font-size: 9px; }
  .ed-home .ed-process__steps h3 { font-size: 24px !important; }
  .ed-person__visual, .ed-person__body { grid-column: 1/13; }
  .ed-person__visual { min-height: 460px; }
  .ed-person__visual > img { min-height: 460px; }
  .ed-person__graphic { padding: 27px; }
  .ed-person__graphic > span { font-size: clamp(56px, 13vw, 82px); }
  .ed-person__graphic > b { font-size: clamp(55px, 12vw, 79px); }
  .ed-person__body { padding: 45px 0 0; }
  .ed-home .ed-person__body h2 { margin-top: 26px; font-size: clamp(52px, 11vw, 78px) !important; }
  .ed-home .ed-person__lede { margin-top: 23px; }
  .ed-person__credentials { margin-block: 24px; }
  .ed-home .ed-journal__heading h2 { margin: 26px 0 20px; font-size: clamp(56px, 11.5vw, 78px) !important; }
  .ed-journal__items { margin-top: 45px; }
  .ed-journal__items article > a { padding-block: 26px; }
  .ed-home .ed-journal__items h3 { font-size: 24px !important; }
  .ed-footer__top { padding-block: 78px 66px; }
  .ed-footer__intro, .ed-footer__action { grid-column: 1/13; }
  .ed-footer__intro h2 { font-size: clamp(69px, 14.5vw, 110px); }
  .ed-footer__action { margin-top: 40px; }
  .ed-footer__action p { max-width: 330px; }
  .ed-footer__start { max-width: 360px; }
  .ed-footer__middle { padding-bottom: 45px; }
  .ed-footer__brand { grid-column: 1/13; font-size: 40px; margin-bottom: 33px; }
  .ed-footer__links { grid-column: 1/8; }
  .ed-footer__social { grid-column: 9/13; }
  .ed-footer__bottom { gap: 16px; }
  .ed-footer__bottom > span { width: 100%; }
}
@media (max-width: 370px) {
  :root { --ed-spacing: 17px; }
  .ed-brand__wordmark { font-size: 15px; }
  .ed-home .ed-hero__copy h1 { font-size: 58px !important; }
  .ed-hero__buttons { gap: 16px; }
  .ed-hero__art { height: 345px; }
  .ed-process__steps li { grid-template-columns: 85px 1fr; }
  .ed-footer__brand { font-size: 35px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .ed-header *, .ed-footer *, .ed-home * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .ed-animate { opacity: 1 !important; transform: none !important; }
}


/* source: kritimyantra-growth.css */
/* KritimYantra | Conversion-led editorial refresh, November 2026.
 * Scoped classes prevent interference with checkout, account, admin and legacy pages.
 * No external fonts, frameworks or JS dependencies required.
 */
:root{--kg-ink:#17221d;--kg-deep:#14221c;--kg-paper:#faf8f3;--kg-cream:#f3f0e8;--kg-border:#dcded5;--kg-orange:#ec774e;--kg-orange-dark:#bf4829;--kg-sage:#dce7d7;--kg-copy:#546158;--kg-ease:cubic-bezier(.22,1,.36,1)}
.kg-home{background:var(--kg-paper);color:var(--kg-ink);font-family:Arial,Helvetica,sans-serif;overflow:clip}
.kg-home *, .kg-home *::before,.kg-home *::after{box-sizing:border-box}
.kg-home :is(h1,h2,h3,p,figure){margin:0}
.kg-home a{text-decoration:none}
.kg-home :is(a,button,summary):focus-visible,.kg-service :is(a,button):focus-visible,.kg-project-cta a:focus-visible{outline:3px solid var(--kg-orange);outline-offset:4px}
.kg-container{width:min(1320px,calc(100% - clamp(36px,7.3vw,140px)));margin-inline:auto}
.kg-label{display:inline-flex;align-items:center;gap:12px;color:#8a695a;font-size:10px;line-height:1.4;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.kg-label::before{content:"";width:23px;height:1px;background:var(--kg-orange)}
.kg-label--light{color:#f0c3ae}
.kg-button{min-height:56px;display:inline-flex;align-items:center;justify-content:space-between;gap:31px;padding:13px 20px;font-size:13px;line-height:1.3;font-weight:750;transition:background .2s,color .2s,transform .25s var(--kg-ease);text-align:left}
.kg-button span{font-size:20px;line-height:1;font-weight:400}
.kg-button:hover{transform:translateY(-2px)}
.kg-button--accent{background:var(--kg-orange);color:#152018!important}
.kg-button--accent:hover{background:#f59468;color:#152018!important}
.kg-button--ghost{border:1px solid #78847c;color:#f8f4eb!important;background:transparent}
.kg-button--ghost:hover{background:#293a30;color:#fff!important}
.kg-inline-link{min-height:34px;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;width:fit-content;border-bottom:1px solid currentColor;color:var(--kg-ink)!important;font-size:13px;font-weight:750}
.kg-inline-link:hover{color:var(--kg-orange-dark)!important}
.kg-home h1,.kg-home h2,.kg-home h3{color:inherit!important}
.kg-home h2{font-size:clamp(39px,4.4vw,66px)!important;letter-spacing:-.067em!important;line-height:1.08!important;font-weight:700!important}
.kg-home h2 em,.kg-home h3 em{font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.065em}
.kg-section{padding:clamp(85px,9vw,140px) 0}
.kg-section-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.55fr);gap:50px;align-items:end;margin-bottom:46px}
.kg-section-head h2{margin-top:22px!important;max-width:860px}
.kg-section-head>p,.kg-section-head>div>p{color:#5d6a60;font-size:15px;line-height:1.75;max-width:370px}
.kg-section-head .kg-inline-link{margin-top:22px}
/* The hero is a clear choice between professional services and source-code products. */
.kg-hero{background:#17231d;color:#f8f6ef;position:relative;isolation:isolate}
.kg-hero::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(249,250,235,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(249,250,235,.045) 1px,transparent 1px);background-size:78px 78px;mask-image:linear-gradient(90deg,transparent 15%,#000 100%);pointer-events:none}
.kg-hero__eyebrow{display:flex;align-items:center;gap:13px;padding:22px 0;border-bottom:1px solid #435046;color:#a8b4a9;font-size:9px;font-weight:800;letter-spacing:.16em}
.kg-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--kg-orange);box-shadow:0 0 0 4px rgba(236,119,78,.14)}
.kg-hero__eyebrow-right{margin-left:auto;color:#7f9286}
.kg-hero__grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(30px,5.5vw,92px);align-items:center;min-height:690px;padding:75px 0 92px}
.kg-hero__main{min-width:0}
.kg-home .kg-hero h1{margin-top:28px!important;font-size:clamp(68px,7.1vw,114px)!important;font-weight:750!important;letter-spacing:-.091em!important;line-height:.98!important;color:#f7f5ec!important;text-wrap:balance}
.kg-home .kg-hero h1 em{font:italic 400 1em/.95 Georgia,serif;color:#f18c67;letter-spacing:-.075em}
.kg-hero__text{max-width:525px;margin-top:29px!important;color:#c1cdc2;font-size:clamp(15px,1.3vw,18px);line-height:1.68}
.kg-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:33px}
.kg-hero__reassurance{display:flex;flex-wrap:wrap;gap:12px 23px;margin-top:28px;color:#a5b5a8;font-size:11px;font-weight:600}
.kg-hero__reassurance i{color:#ee9975;margin-right:4px;font-style:normal}
.kg-hero__visual{min-width:0;position:relative;padding:34px 20px 35px}
.kg-hero__visual::before{content:"";position:absolute;inset:0 0 0 15%;background:#29382e;transform:rotate(6deg);border:1px solid #516254}
.kg-hero__visual::after{content:"";position:absolute;width:110px;height:110px;border:1px solid rgba(238,138,106,.5);right:-16px;top:-15px;border-radius:50%;z-index:0}
.kg-showcase{position:relative;z-index:1;min-height:480px;padding:24px;background:#f4f1e8;color:#1c2921;box-shadow:0 30px 90px rgba(0,0,0,.18);display:flex;flex-direction:column}
.kg-showcase__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:19px;border-bottom:1px solid #d4d7cc;color:#68746a;font-size:9px;font-weight:800;letter-spacing:.1em;text-align:right}
.kg-showcase__symbol{flex:0 0 auto;font-size:30px;font-weight:800;letter-spacing:-.13em;line-height:1;color:var(--kg-ink)}
.kg-showcase__symbol span{color:#de6c44}
.kg-showcase__asterisk{color:#d16b48;font-size:23px}
.kg-showcase__center{margin:43px 0 auto}
.kg-showcase__center p{font-size:clamp(28px,2.9vw,45px);font-weight:750;line-height:1.2;letter-spacing:-.06em}
.kg-showcase__center p:first-child{color:#858f81}
.kg-showcase__center span{color:#db6c45}
.kg-showcase__flow{display:flex;align-items:center;margin:23px 0 15px}
.kg-showcase__flow-node{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border:1px solid #c5cbc0;border-radius:50%;font-size:9px;font-weight:800;color:#6e7a6d}
.kg-showcase__flow-node:last-child{color:#fff;background:var(--kg-ink);border-color:var(--kg-ink)}
.kg-showcase__flow-line{height:1px;background:#bbc6b8;flex:1}
.kg-showcase__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kg-showcase__items>div{border-top:1px solid #cbd3c7;padding-top:12px;min-width:0}
.kg-showcase__items span{display:block;color:#79867a;font-size:8px;font-weight:800;letter-spacing:.065em}
.kg-showcase__items strong{display:block;margin-top:7px;font-size:12px;line-height:1.35;letter-spacing:-.025em}
.kg-showcase__bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #d4d7cc;margin-top:35px;padding-top:17px;font-size:9px;font-weight:800;letter-spacing:.1em;color:#6e7d70}
.kg-showcase__bottom span:last-child{font-size:21px;color:#c96a4c}
.kg-hero__visual-note{position:relative;z-index:1;margin-top:14px;text-align:right;color:#a4b4a5;font-size:9px;font-weight:800;letter-spacing:.12em}
.kg-bridge{background:#e7e7dc;border-bottom:1px solid #d7dbd0}
.kg-bridge__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px}
.kg-bridge__inner>span{max-width:220px;color:#a3523a;font-size:10px;font-weight:800;letter-spacing:.09em}
.kg-bridge__inner p{color:#505d53;font-size:13px;line-height:1.55}
.kg-bridge__inner a{color:#243128;font-size:12px;font-weight:800;white-space:nowrap}
.kg-bridge__inner a span{padding-left:7px;color:#d06440}
/* Two customer journeys */
.kg-choices{background:var(--kg-paper)}
.kg-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.kg-choice{min-height:500px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;padding:32px;transition:transform .3s var(--kg-ease),box-shadow .3s var(--kg-ease)}
.kg-choice:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(14,31,20,.09)}
.kg-choice--service{background:#dfe9d9;color:#17271c}
.kg-choice--products{background:#eee6db;color:#302b26}
.kg-choice::after{content:"";position:absolute;right:-90px;top:15%;width:265px;height:265px;border-radius:50%;border:1px solid rgba(31,56,35,.14);box-shadow:0 0 0 46px rgba(31,56,35,.025),0 0 0 92px rgba(31,56,35,.025);pointer-events:none}
.kg-choice--products::after{border-radius:0;transform:rotate(32deg)}
.kg-choice__top,.kg-choice__bottom{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:15px}
.kg-choice__number{font-size:10px;letter-spacing:.13em;font-weight:800;opacity:.75}
.kg-choice__icon{width:38px;height:38px;border:1px solid rgba(31,56,35,.28);display:grid;place-items:center;font-size:19px}
.kg-choice__body{position:relative;z-index:1;margin:30px 0}
.kg-choice__pill{display:inline-block;border:1px solid rgba(27,48,29,.22);padding:7px 10px;font-size:9px;font-weight:800;letter-spacing:.09em}
.kg-home .kg-choice h3{font-size:clamp(40px,4vw,65px)!important;line-height:1.05!important;letter-spacing:-.07em!important;margin:22px 0!important;font-weight:750!important}
.kg-choice__body p{max-width:400px;color:#57645a;font-size:14px;line-height:1.7}
.kg-choice--products .kg-choice__body p{color:#6d655c}
.kg-choice__bottom{padding-top:19px;border-top:1px solid rgba(27,48,29,.24)}
.kg-choice__bottom>span{color:#687669;font-size:10px;line-height:1.5}
.kg-choice__bottom a{color:inherit!important;font-weight:800;font-size:12px;text-align:right}
.kg-choice__bottom a span{padding-left:6px}
/* Problem -> solution */
.kg-pain{background:#f1f1e8;border-top:1px solid #e2e4d9;border-bottom:1px solid #e2e4d9}
.kg-pain__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(45px,8vw,120px)}
.kg-pain__intro h2{margin-top:23px!important}
.kg-pain__intro p{max-width:490px;margin:25px 0!important;color:#606c60;font-size:15px;line-height:1.75}
.kg-pain__list{border-top:1px solid #cdd4c9}
.kg-pain__list>div{display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;padding:30px 0;border-bottom:1px solid #cdd4c9}
.kg-pain__number{color:#b86c51;font-size:11px;font-weight:800}
.kg-home .kg-pain__list h3{font-size:22px!important;line-height:1.2!important;letter-spacing:-.04em!important;font-weight:700!important}
.kg-pain__list p{margin-top:9px!important;color:#6a756b;font-size:13px;line-height:1.68}
/* Actual products, never sample testimonials or made-up projects. */
.kg-products{background:var(--kg-paper)}
.kg-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.kg-product-grid .ed-product{grid-column:auto;min-width:0}
.kg-product-grid .ed-product__visual{aspect-ratio:1.35}
.kg-home .ed-product h3{margin:14px 0 22px!important;font-size:clamp(20px,2.1vw,29px)!important;line-height:1.24!important;letter-spacing:-.045em!important;color:var(--kg-ink)!important}
.kg-product-grid .ed-product__meta{color:#68786b}
.kg-product-grid .ed-product__bottom{border-color:#d6dad0}
.kg-products__empty{grid-column:1/-1;padding:45px;border:1px dashed #bcc7b9}
.kg-products__help{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:25px;align-items:center;margin-top:35px;padding:22px 25px;background:#e9ede3}
.kg-products__help-badge{color:#aa5d42;font-size:10px;font-weight:800;letter-spacing:.12em}
.kg-products__help p{font-size:13px;line-height:1.65;color:#526054}
.kg-products__help strong{color:#25352a}
.kg-products__help a{color:#152a1e;font-size:12px;font-weight:800;white-space:nowrap}
/* Process */
.kg-process{background:#203027;color:#f5f6ed}
.kg-process .kg-section-head h2{color:#f8f7ee!important}
.kg-process .kg-section-head h2 em{color:#e7aa89}
.kg-process .kg-section-head>p{color:#c0ccbd}
.kg-process__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #607065;margin-bottom:35px}
.kg-process__grid article{padding:35px 30px 25px 0;border-right:1px solid #516355;margin-right:30px}
.kg-process__grid article:last-child{border:0;margin-right:0}
.kg-process__grid article>span{color:#d6ab94;font-size:10px;font-weight:800;letter-spacing:.11em}
.kg-home .kg-process__grid h3{font-size:24px!important;font-weight:700!important;letter-spacing:-.04em!important;line-height:1.2!important;margin-top:55px!important;color:#fff!important}
.kg-process__grid p{margin-top:13px!important;color:#beccbf;font-size:13px;line-height:1.7}
/* FAQ */
.kg-faq{background:#fbfaf6}
.kg-faq__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.kg-faq__grid>div:first-child h2{margin-top:24px!important}
.kg-faq__grid>div:first-child p{max-width:350px;margin-top:20px!important;font-size:14px;line-height:1.7;color:#657166}
.kg-faq__items{border-top:1px solid #cdd5ca}
.kg-faq__items details{border-bottom:1px solid #cdd5ca}
.kg-faq__items summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;padding:24px 0;color:#203327;font-size:15px;font-weight:750;line-height:1.5}
.kg-faq__items summary::-webkit-details-marker{display:none}
.kg-faq__items summary span{font-size:22px;font-weight:400;color:#be6b4c;transition:transform .2s}
.kg-faq__items details[open] summary span{transform:rotate(45deg)}
.kg-faq__items details p{margin:-4px 0 22px!important;max-width:540px;color:#66746a;line-height:1.7;font-size:13px}
/* Editorial articles */
.kg-journal{background:#f0f0e8;border-top:1px solid #dce1d7}
.kg-journal__list{border-top:1px solid #cbd4c8}
.kg-journal__list>a{display:grid;grid-template-columns:80px minmax(0,1fr) 50px;gap:22px;align-items:center;padding:25px 0;border-bottom:1px solid #cbd4c8;color:#223329;transition:padding .25s}
.kg-journal__list>a:hover{padding-left:8px}
.kg-journal__list>a>span:first-child{color:#b66b4f;font-size:13px;font-weight:800}
.kg-journal__list small{display:block;color:#818c80;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px}
.kg-journal__list strong{display:block;font-size:clamp(17px,2.15vw,27px);line-height:1.25;letter-spacing:-.035em}
.kg-journal__arrow{font-size:24px;text-align:right;color:#b66b4f}
.kg-final{background:#16231c;color:#f8f5ee;padding:clamp(75px,8vw,115px) 0}
.kg-final__grid{display:grid;grid-template-columns:1.3fr .7fr;gap:75px;align-items:end}
.kg-final h2{margin-top:24px!important;font-size:clamp(42px,5.6vw,78px)!important;color:#f5f5eb!important}
.kg-final h2 em{color:#efa886}
.kg-final__grid>div:last-child p{margin-bottom:25px!important;max-width:440px;color:#bccbbd;font-size:15px;line-height:1.65}
.kg-final__small{display:block;margin-top:12px;color:#a2b5a3;font-size:11px}
/* Improved shared navigation/footer.  Normal site routes stay unchanged. */
.ed-header__cta{min-width:174px}
.ed-header__nav-link{font-size:12.5px}
.ed-footer__action p{max-width:295px}
/* Projects library: add a clear services route without burying the products. */
.ky-projects .kyp-top{background:#f3f3eb}
.ky-projects .kyp-top h1{max-width:800px;letter-spacing:-.06em!important}
.ky-projects .kyp-top p{font-size:14px;max-width:590px}
.kg-library-notice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:25px;align-items:center;margin:24px 0 28px;padding:26px 30px;background:#23332a;color:#f8f7ef;position:relative;overflow:hidden}
.kg-library-notice::after{content:"";position:absolute;border:1px solid #587461;width:210px;height:210px;border-radius:50%;right:11%;top:-130px;pointer-events:none}
.kg-library-notice__copy,.kg-library-notice__actions{position:relative;z-index:1}
.kg-library-notice__eyebrow{font-size:9px;letter-spacing:.13em;font-weight:800;color:#edb29a}
.kg-library-notice h2{font-size:clamp(22px,2.1vw,31px)!important;line-height:1.25!important;color:#faf8f2!important;letter-spacing:-.04em!important;font-weight:650!important;margin:9px 0 6px!important}
.kg-library-notice p{max-width:600px;color:#c3d0c3;font-size:12.5px;line-height:1.6}
.kg-library-notice__actions a{display:inline-flex;align-items:center;gap:15px;min-height:44px;padding:0 16px;background:var(--kg-orange);color:#19251d!important;font-size:12px;font-weight:800;white-space:nowrap}
.kg-library-notice__actions a:hover{background:#f69b73}
/* Shopping cards: put the product and the next action ahead of badges/social noise. */
.ky-projects .ky-project-card{border-radius:9px;box-shadow:none;border-color:#e2e7df}
.ky-projects .ky-project-card:hover{box-shadow:0 15px 32px rgba(19,40,23,.075);border-color:#c9d4c9;transform:translateY(-3px)}
.ky-projects .ky-project-card__media{aspect-ratio:1.58;background:#ebefe8}
.ky-projects .ky-project-card__category,.ky-projects .ky-project-card__price{border-radius:3px;box-shadow:none}
.ky-projects .ky-project-card__body{padding:19px}
.ky-projects .ky-project-card__meta-top{font-size:10px;color:#748273}
.ky-projects .ky-project-card h3{font-size:20px;line-height:1.3;letter-spacing:-.035em;margin-top:13px}
.ky-projects .ky-project-card p{font-size:12.5px;line-height:1.62;color:#657365}
.ky-projects .ky-project-card__tags span{font-size:9px}
.ky-projects .ky-project-card__footer{padding-top:15px}
.ky-projects .ky-project-card__footer a{min-height:36px;display:inline-flex;align-items:center;padding:0 10px;background:#e7ede3;color:#1e3925;font-size:11px;border-radius:3px}
.ky-projects .ky-project-card__footer a:hover{background:#d7e4d3}
.ky-projects .ky-project-card__help{font-size:10px;line-height:1.4}
@media(max-width:720px){.ky-projects .ky-project-card:hover{transform:none}.ky-projects .ky-project-card__body{padding:18px}.ky-projects .ky-project-card__footer{flex-wrap:wrap}.ky-projects .ky-project-card__footer a{min-height:40px}}
/* Product detail: a clear purchase-versus-help choice, and no implied included services. */
.kg-project-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin:25px auto 14px;padding:28px 30px;border:1px solid #d2dccf;background:#edf2e9}
.kg-project-cta__eyebrow{display:block;color:#b4593e;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.kg-project-cta h2{margin:10px 0 8px!important;color:#1f3225!important;font-size:clamp(21px,2.25vw,31px)!important;line-height:1.22!important;letter-spacing:-.045em!important;font-weight:700!important}
.kg-project-cta p{max-width:650px;color:#637264;font-size:12.5px;line-height:1.65}
.kg-project-cta__action{display:flex;align-items:center;flex-direction:column;gap:9px}
.kg-project-cta__action a{display:flex;justify-content:space-between;align-items:center;gap:14px;min-width:210px;min-height:45px;padding:12px 15px;background:#26392c;color:#fff!important;font-size:12px;font-weight:750}
.kg-project-cta__action a:hover{background:#344a38}
.kg-project-cta__action small{color:#66776a;font-size:10px}
.kpd-page .kpd-hero{background:#f4f3eb}
.kpd-page .kpd-title{letter-spacing:-.063em;font-weight:700;color:#192820}
.kpd-page .kpd-purchase{border-radius:8px;box-shadow:0 18px 45px rgba(17,35,21,.075)}
.kpd-page .kpd-purchase__body{padding:23px}
.kpd-page .kpd-help-link{font-weight:750}
/* Service page: conversion-first lead, existing dynamic service offerings and form remain intact. */
.kg-service{background:#faf9f4;color:#1c2b21}
.kg-service *,.kg-service *::before,.kg-service *::after{box-sizing:border-box}
.kg-service__hero{background:#203229;color:#f5f7ee;padding:72px 0 85px;position:relative;overflow:hidden}
.kg-service__hero::after{content:"";position:absolute;right:-70px;top:-190px;width:460px;height:460px;border:1px solid #566f5b;border-radius:50%;box-shadow:0 0 0 90px rgba(155,195,153,.035),0 0 0 180px rgba(155,195,153,.025);pointer-events:none}
.kg-service__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(35px,8vw,120px);align-items:center;position:relative;z-index:1}
.kg-service__eyebrow{display:block;margin-bottom:22px;color:#f0b394;font-size:10px;letter-spacing:.14em;font-weight:800;text-transform:uppercase}
.kg-service h1{max-width:750px;margin:0 0 22px!important;color:#f6f6ec!important;font-size:clamp(45px,5.8vw,78px)!important;font-weight:750!important;line-height:1.03!important;letter-spacing:-.07em!important}
.kg-service h1 em{color:#ef9b79;font:italic 400 1em Georgia,serif}
.kg-service__hero p{max-width:620px;color:#c6d2c6;font-size:16px;line-height:1.72}
.kg-service__hero .kg-button{margin-top:26px}
.kg-service__aside{background:#f2f1e7;color:#1b2c21;padding:32px;box-shadow:0 24px 60px rgba(0,0,0,.13)}
.kg-service__aside>span{color:#a9553a;font-size:10px;font-weight:800;letter-spacing:.1em}
.kg-service__aside h2{margin:17px 0!important;color:#1c3023!important;font-size:29px!important;line-height:1.15!important;letter-spacing:-.045em!important;font-weight:700!important}
.kg-service__aside li{list-style:none;display:flex;gap:11px;padding:11px 0;border-top:1px solid #d5dbd1;font-size:13px;line-height:1.45}
.kg-service__aside ul{padding:0;margin:20px 0 0}
.kg-service__aside li i{color:#c26e52;font-style:normal}
.kg-service__aside>p{margin-top:16px;color:#6b796d;font-size:11px;line-height:1.6}
.kg-service__content{padding:75px 0 90px}
.kg-service__intro{margin:0 0 27px}
.kg-service__intro>span{color:#b96145;font-size:10px;font-weight:800;letter-spacing:.12em}
.kg-service__intro h2{max-width:720px;margin:14px 0!important;font-size:clamp(29px,4vw,48px)!important;font-weight:700!important;letter-spacing:-.055em!important;color:#24332a!important;line-height:1.15!important}
.kg-service__intro p{max-width:650px;color:#637267;font-size:14px;line-height:1.7}
.kg-service__feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:30px 0 60px}
.kg-service__feature{padding:30px 25px;background:#ebf0e8}
.kg-service__feature:nth-child(2){background:#f1e9df}
.kg-service__feature:nth-child(3){background:#e9e9e1}
.kg-service__feature>span{color:#b05d42;font-size:11px;font-weight:800}
.kg-service__feature h3{margin:50px 0 12px!important;font-size:23px!important;letter-spacing:-.04em!important;font-weight:700!important;color:#233329!important}
.kg-service__feature p{color:#607063;line-height:1.7;font-size:13px}
.kg-service__pricing{margin:0 0 60px}
.kg-service__pricing .kys{border-radius:4px;box-shadow:none}
.kg-service .kmsp-enquiry{margin:0}
/* Relevant article-to-service CTA, intentionally not displayed on unrelated guides. */
.kg-article-cta{margin:32px 0 40px;padding:29px 32px;background:#edf1e8;border:1px solid #dbe4d5;color:#233329}
.kg-article-cta>span{display:block;color:#a9583b;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.kg-article-cta h2{margin:12px 0!important;color:#213126!important;font-size:clamp(23px,3vw,32px)!important;line-height:1.2!important;letter-spacing:-.04em!important;font-weight:700!important}
.kg-article-cta p{margin:0!important;color:#637165;font-size:13px;line-height:1.7}
.kg-article-cta__links{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:20px}
.kg-article-cta__links>a{display:inline-flex;justify-content:space-between;gap:15px;padding:13px 16px;min-height:42px;background:#23382a;color:#fff!important;font-size:12px;font-weight:750}
.kg-article-cta__links>a+a{background:transparent;border:1px solid #9fac9d;color:#283b2c!important}
/* Small devices: preserve tap targets, hierarchy, and readable copy. */
@media(max-width:1170px){.kg-hero__grid{gap:35px}.kg-home .kg-hero h1{font-size:clamp(60px,7.8vw,95px)!important}.kg-choice{padding:26px}.kg-showcase{min-height:460px}.kg-products__help{grid-template-columns:110px minmax(0,1fr)}.kg-products__help a{grid-column:2}}
@media(max-width:900px){.kg-hero__grid{grid-template-columns:1fr;gap:45px;min-height:0;padding:68px 0}.kg-home .kg-hero h1{font-size:clamp(65px,10.5vw,105px)!important}.kg-hero__visual{max-width:650px;margin-inline:auto;width:100%}.kg-bridge__inner{flex-wrap:wrap;padding:22px 0}.kg-section-head{grid-template-columns:1fr;gap:18px}.kg-section-head>p{max-width:600px}.kg-pain__grid{grid-template-columns:1fr;gap:45px}.kg-faq__grid{grid-template-columns:1fr;gap:35px}.kg-process__grid article{margin-right:20px;padding-right:20px}.kg-final__grid{gap:45px}.kg-products__help{grid-template-columns:1fr;gap:9px}.kg-products__help a{grid-column:auto}.kg-service__grid{grid-template-columns:1fr;gap:35px}.kg-service__aside{max-width:640px}.kg-service__feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:690px){.kg-container{width:calc(100% - 38px)}.kg-section{padding:73px 0}.kg-label{font-size:9px}.kg-home h2{font-size:clamp(35px,9vw,52px)!important}.kg-section-head{margin-bottom:30px}.kg-hero__eyebrow-right{display:none}.kg-hero__eyebrow{font-size:8px}.kg-hero__grid{padding:57px 0 50px;gap:32px}.kg-home .kg-hero h1{font-size:clamp(56px,12vw,83px)!important}.kg-hero__text{margin-top:20px!important;font-size:15px}.kg-actions{display:grid;gap:10px;max-width:440px}.kg-button{width:100%;min-height:53px}.kg-hero__reassurance{margin-top:22px;gap:9px 16px}.kg-hero__visual{padding:18px 14px 23px}.kg-showcase{min-height:390px;padding:16px}.kg-showcase__top{font-size:7px;gap:9px}.kg-showcase__center{margin-top:27px}.kg-showcase__center p{font-size:clamp(26px,7vw,42px)}.kg-showcase__items span{font-size:7px}.kg-showcase__items strong{font-size:10px}.kg-showcase__bottom{margin-top:25px;font-size:7px}.kg-bridge__inner{display:block}.kg-bridge__inner>*{display:block;margin:8px 0}.kg-choice-grid{grid-template-columns:1fr}.kg-choice{min-height:440px}.kg-home .kg-choice h3{font-size:clamp(41px,9vw,58px)!important}.kg-choice__bottom{align-items:end}.kg-choice__bottom>span{max-width:145px}.kg-pain__list>div{grid-template-columns:30px 1fr;gap:13px}.kg-product-grid{grid-template-columns:1fr;gap:38px}.kg-home .ed-product h3{font-size:24px!important}.kg-product-grid .ed-product__visual{aspect-ratio:1.5}.kg-products__help{padding:20px}.kg-process__grid{grid-template-columns:1fr}.kg-process__grid article{padding:23px 0;margin:0;border-right:0;border-bottom:1px solid #536757}.kg-home .kg-process__grid h3{margin-top:22px!important}.kg-faq__items summary{font-size:14px}.kg-journal__list>a{grid-template-columns:35px minmax(0,1fr) 30px;gap:13px}.kg-final__grid{grid-template-columns:1fr;gap:25px}.kg-final h2{font-size:clamp(42px,10vw,65px)!important}.kg-library-notice{grid-template-columns:1fr;padding:23px}.kg-project-cta{grid-template-columns:1fr;padding:23px}.kg-project-cta__action{align-items:stretch}.kg-project-cta__action a{width:100%}.kg-service__hero{padding:52px 0}.kg-service h1{font-size:clamp(41px,10vw,64px)!important}.kg-service__aside{padding:23px}.kg-service__feature-grid{grid-template-columns:1fr;gap:11px}.kg-service__feature h3{margin-top:24px!important}.kg-service__content{padding:55px 0}.kg-article-cta{padding:23px 19px}}
@media(prefers-reduced-motion:reduce){.kg-home *, .kg-home *::before,.kg-home *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

