/**
 * KIRIMA RISE — Master Brand Design Stylesheet
 * Version: 2.0 (Aligned with Official Brand Guidelines 2.09.26)
 * Entity: Kirima Rise is an entity of the Estate of G.K. Kirima
 * Primary Red: Pantone 2357 C (#E10600)
 * Primary Green: Pantone 3537 C (#00491E)
 * Primary Typeface: EB Garamond
 */

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root {
    /* Brand Design Tokens */
    --kr-red: #E10600;              /* Pantone 2357 C */
    --kr-green: #00491E;            /* Pantone 3537 C */
    --kr-green-hover: #003616;
    --kr-red-hover: #BF0500;
    --kr-white: #FFFFFF;
    --kr-cream: #FAF7F2;
    --kr-dark: #1A1A1A;
    --kr-gray-muted: #555555;
    --kr-gray-light: #F4F5F7;
    --kr-border: #E5E7EB;

    /* Primary Brand Typeface */
    --kr-font-serif: 'EB Garamond', Georgia, 'Times New Roman', serif;
    --kr-font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;

    /* Elementor & Theme Global Overrides */
    --e-global-color-primary: #E10600 !important;
    --e-global-color-secondary: #00491E !important;
    --e-global-color-text: #1A1A1A !important;
    --e-global-color-accent: #00491E !important;

    --e-global-typography-primary-font-family: 'EB Garamond', Georgia, serif !important;
    --e-global-typography-secondary-font-family: 'EB Garamond', Georgia, serif !important;
    --e-global-typography-text-font-family: 'EB Garamond', Georgia, serif !important;

    --wp--preset--color--vivid-red: #E10600 !important;
    --wp--preset--color--vivid-green-cyan: #00491E !important;
    --wp--preset--font-family--eb-garamond: 'EB Garamond', serif !important;
}

/* ========================================================
   1. GLOBAL MOBILE VIEWPORT CONSTRAINTS & OVERFLOW PREVENTION
   ======================================================== */
html, body {
    max-width: 100% !important;
    overflow-x: clip !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

*, *::before, *::after {
    box-sizing: inherit !important;
}

/* ========================================================
   2. PREVENT IMAGES, SVGS & MEDIA FROM BREAKING CONTAINER
   ======================================================== */
img, svg, video, canvas {
    max-width: 100% !important;
    height: auto !important;
}

/* Ensure background illustrations or decorative maps don't overflow */
.background-map, 
.cadastral-pattern, 
.watermark, 
[class*="bg-map"], 
[class*="pattern"],
.elementor-background-overlay {
    max-width: 100% !important;
    overflow: hidden !important;
}

/* ========================================================
   3. GLOBAL CONTAINER GUTTERS & MARGINS (NO TEXT FLUSH TO EDGES)
   ======================================================== */
.elementor-section,
.e-con {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.elementor-element:empty {
    display: none !important;
}

.e-con-boxed:not([data-id="3d9331fe"]):not(.elementor-element-3d9331fe):not(.elementor-element-2e6560ab):not(.elementor-element-1a7374ab):not(.elementor-element-389ef415), 
.e-con-full:not([data-id="3d9331fe"]):not(.elementor-element-3d9331fe):not(.elementor-element-2e6560ab):not(.elementor-element-1a7374ab):not(.elementor-element-389ef415) {
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

/* ========================================================
   HEADER & NAVBAR DROPDOWN OVERFLOW & ELEVATION FIX
   ======================================================== */
.elementor-element-3d9331fe,
.elementor-element-3d9331fe.e-con,
.elementor-element-3d9331fe .e-con,
.elementor-element-3d9331fe .e-con-full,
.elementor-element-3d9331fe .e-con-boxed,
.elementor-element-3d9331fe .e-con-inner,
.elementor-element-2e6560ab.e-con,
.elementor-element-1a7374ab.e-con,
.elementor-element-2e6560ab,
.elementor-element-1a7374ab,
.elementor-element-389ef415,
.elementor-element-3f63660e,
.elementor-element-609ad2b6,
.hfe-nav-menu,
.hfe-nav-menu__layout-horizontal,
.elementor-widget-navigation-menu {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
}

.elementor-element-3d9331fe {
    position: relative !important;
    z-index: 99999 !important;
}

/* Submenu hidden by default */
.hfe-nav-menu ul.sub-menu,
.elementor-widget-navigation-menu ul.sub-menu,
.elementor-element-389ef415 ul.sub-menu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    min-width: 220px !important;
    width: max-content !important;
    background: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    border-top: 3px solid #E10600 !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.16) !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    z-index: 9999999 !important;
    overflow: visible !important;
    max-height: none !important;
    transition: opacity 0.2s ease, visibility 0.2s ease !important;
}

/* Reveal submenu on hover and keyboard focus */
.hfe-nav-menu li.menu-item-has-children:hover > ul.sub-menu,
.hfe-nav-menu li.menu-item-has-children:focus-within > ul.sub-menu,
.elementor-widget-navigation-menu li.menu-item-has-children:hover > ul.sub-menu,
.elementor-widget-navigation-menu li.menu-item-has-children:focus-within > ul.sub-menu,
.elementor-element-389ef415 li.menu-item-has-children:hover > ul.sub-menu,
.elementor-element-389ef415 li.menu-item-has-children:focus-within > ul.sub-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.hfe-nav-menu ul.sub-menu li,
.elementor-element-389ef415 ul.sub-menu li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

.hfe-nav-menu ul.sub-menu li a,
.elementor-element-389ef415 ul.sub-menu li a {
    display: block !important;
    padding: 12px 22px !important;
    font-family: var(--kr-font-serif) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: var(--kr-green) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    border-bottom: 1px solid #F3F4F6 !important;
    white-space: nowrap !important;
}

.hfe-nav-menu ul.sub-menu li:last-child a,
.elementor-element-389ef415 ul.sub-menu li:last-child a {
    border-bottom: none !important;
}

.hfe-nav-menu ul.sub-menu li a:hover,
.elementor-element-389ef415 ul.sub-menu li a:hover {
    color: #E10600 !important;
    background-color: #FEF2F2 !important;
    padding-left: 26px !important;
}

/* Ensure boxed containers have elegant margins and safe side gutters */
.e-con.e-parent.e-con-boxed {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.e-con.e-parent.e-con-boxed > .e-con-inner,
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: clamp(24px, 4.5vw, 56px) !important;
    padding-right: clamp(24px, 4.5vw, 56px) !important;
    box-sizing: border-box !important;
}

/* Full-width parents maintain side gutters so text never touches screen margins */
.e-con.e-parent.e-con-full:not(.kr-brand-footer) {
    padding-left: clamp(24px, 4.5vw, 56px) !important;
    padding-right: clamp(24px, 4.5vw, 56px) !important;
    box-sizing: border-box !important;
}

/* Safe margins on all text editors & heading wrappers */
.elementor-widget-heading,
.elementor-widget-text-editor {
    box-sizing: border-box !important;
}

/* ========================================================
   HOMEPAGE HERO SECTION (61ece2e4) — 2-COLUMN BALANCED LAYOUT
   ======================================================== */
.elementor-element-61ece2e4 {
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-top: clamp(36px, 5vw, 64px) !important;
    padding-bottom: clamp(36px, 5vw, 64px) !important;
}

@media (min-width: 900px) {
    .elementor-element-61ece2e4 > .e-con-inner {
        display: grid !important;
        grid-template-columns: 1.15fr 0.85fr !important;
        grid-template-areas:
            "hero-heading hero-photo"
            "hero-sub     hero-photo"
            "hero-desc    hero-photo"
            "hero-divider hero-photo"
            "hero-btn     hero-photo" !important;
        column-gap: clamp(32px, 4.5vw, 64px) !important;
        row-gap: 16px !important;
        align-items: center !important;
        max-width: 1240px !important;
        margin: 0 auto !important;
    }

    .elementor-element-2e0492cb {
        grid-area: hero-heading !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-element-2e0492cb .elementor-heading-title {
        font-family: var(--kr-font-serif) !important;
        font-size: clamp(44px, 5.2vw, 76px) !important;
        line-height: 1.05 !important;
        color: var(--kr-red) !important;
        margin: 0 0 10px 0 !important;
    }

    .elementor-element-671f0b6b {
        grid-area: hero-sub !important;
        width: 100% !important;
        max-width: 100% !important;
        font-family: var(--kr-font-serif) !important;
        font-size: 24px !important;
        color: var(--kr-dark) !important;
        margin: 0 !important;
    }

    .elementor-element-5478ae6 {
        grid-area: hero-desc !important;
        width: 100% !important;
        max-width: 580px !important;
        font-family: var(--kr-font-serif) !important;
        font-size: 18px !important;
        line-height: 1.6 !important;
        color: var(--kr-dark) !important;
        margin: 0 !important;
    }

    .elementor-element-6903f253 {
        grid-area: hero-divider !important;
        width: 90px !important;
        max-width: 90px !important;
        margin: 6px 0 !important;
    }

    .elementor-element-51ec02f {
        grid-area: hero-btn !important;
        width: auto !important;
        max-width: max-content !important;
        margin-top: 12px !important;
    }

    .elementor-element-dc84c68,
    .elementor-element-dc84c68 > .elementor-widget-container {
        grid-area: hero-photo !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        z-index: 2 !important;
    }

    .elementor-element-dc84c68 img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        border-radius: 12px !important;
        box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12) !important;
        display: block !important;
    }
}

@media (max-width: 899px) {
    .elementor-element-61ece2e4 > .e-con-inner {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        max-width: 100% !important;
        margin: 0 auto !important;
    }

    .elementor-element-2e0492cb .elementor-heading-title {
        font-family: var(--kr-font-serif) !important;
        font-size: clamp(34px, 7.5vw, 48px) !important;
        line-height: 1.12 !important;
        color: var(--kr-red) !important;
    }

    .elementor-element-2e0492cb,
    .elementor-element-671f0b6b,
    .elementor-element-5478ae6 {
        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-element-dc84c68,
    .elementor-element-dc84c68 > .elementor-widget-container {
        margin: 20px 0 0 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .elementor-element-dc84c68 img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        border-radius: 12px !important;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
        display: block !important;
        margin: 0 auto !important;
    }
}

/* ========================================================
   SECTION: WHAT KIRIMA RISE IS BECOMING (5c38dfac)
   ======================================================== */
.elementor-element-5c38dfac {
    padding-top: clamp(48px, 6vw, 80px) !important;
    padding-bottom: clamp(48px, 6vw, 80px) !important;
    box-sizing: border-box !important;
}

.elementor-element-5c38dfac > .e-con-inner {
    max-width: 1240px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

.elementor-element-446905a7 .elementor-heading-title {
    font-family: var(--kr-font-serif) !important;
    font-size: clamp(32px, 4vw, 44px) !important;
    color: var(--kr-red) !important;
    margin-bottom: 16px !important;
}

.elementor-element-2596d909 p {
    font-family: var(--kr-font-serif) !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
    color: var(--kr-dark) !important;
    max-width: 780px !important;
}

/* ========================================================
   4. BUTTON & NOTICE ACTION WRAPPING (MOBILE FIX)
   ======================================================== */
@media (max-width: 768px) {
    /* Notice and Call-To-Action button containers */
    .notice-actions, 
    .btn-group, 
    .public-notice .d-flex, 
    .hero-actions {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 10px !important;
    }

    .notice-actions a, 
    .btn-group a, 
    .public-notice a.btn, 
    .hero-actions a {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Prevent general sections and footers from overflowing horizontally */
    .container, 
    .container-fluid, 
    section, 
    footer,
    .elementor-section:not([data-id="3d9331fe"]):not(.elementor-element-3d9331fe),
    .e-con:not([data-id="3d9331fe"]):not(.elementor-element-3d9331fe):not(.elementor-element-2e6560ab):not(.elementor-element-1a7374ab):not(.elementor-element-389ef415) {
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
}

/* -------------------------------------------------------------
   Typography Enforcement
   ------------------------------------------------------------- */
body, 
p, 
.elementor-widget-text-editor,
.elementor-icon-box-description,
.elementor-icon-list-item,
.widget-image-caption {
    font-family: var(--kr-font-serif) !important;
    color: var(--kr-dark);
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-icon-box-title,
.elementor-icon-box-title a,
.entry-title {
    font-family: var(--kr-font-serif) !important;
    color: var(--kr-red);
    letter-spacing: -0.01em;
}

/* -------------------------------------------------------------
   Navigation & Menu System
   ------------------------------------------------------------- */
.elementor-widget-navigation-menu a.hfe-menu-item,
.elementor-widget-navigation-menu a.hfe-sub-menu-item,
.hfe-nav-menu__layout-horizontal a.hfe-menu-item {
    font-family: var(--kr-font-serif) !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    color: var(--kr-green) !important;
    transition: color 0.25s ease, background-color 0.25s ease;
}

.elementor-widget-navigation-menu a.hfe-menu-item:hover,
.elementor-widget-navigation-menu a.hfe-sub-menu-item:hover,
.elementor-widget-navigation-menu .current-menu-item a.hfe-menu-item {
    color: var(--kr-red) !important;
}

.hfe-nav-menu-icon {
    color: var(--kr-green) !important;
}

.hfe-nav-menu-icon svg {
    fill: var(--kr-green) !important;
}

/* -------------------------------------------------------------
   Buttons & Interactive CTAs
   ------------------------------------------------------------- */
.elementor-button,
button.elementor-button,
input[type="submit"].elementor-button,
.elementor-kit-7 button,
.elementor-kit-7 input[type="button"],
.elementor-kit-7 input[type="submit"],
.elementor-kit-7 .elementor-button {
    font-family: var(--kr-font-serif) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    transition: all 0.25s ease-in-out !important;
}

/* Secondary outline button (green bordered) */
.elementor-button {
    background-color: var(--kr-green) !important;
    color: var(--kr-white) !important;
    border: 2px solid var(--kr-green) !important;
}

.elementor-button:hover,
.elementor-button:focus {
    background-color: var(--kr-green-hover) !important;
    border-color: var(--kr-green-hover) !important;
    color: var(--kr-white) !important;
    box-shadow: 0 4px 12px rgba(0, 73, 30, 0.25);
}

/* Primary Red Button Utility */
.kr-btn-primary,
.elementor-button.kr-red-btn {
    background-color: var(--kr-red) !important;
    border-color: var(--kr-red) !important;
    color: var(--kr-white) !important;
}

.kr-btn-primary:hover,
.elementor-button.kr-red-btn:hover {
    background-color: var(--kr-red-hover) !important;
    border-color: var(--kr-red-hover) !important;
    box-shadow: 0 4px 12px rgba(225, 6, 0, 0.3) !important;
}

/* Outlined CTA button */
.elementor-element-778b8d3 .elementor-button,
.elementor-element-e1ead62 .elementor-button {
    background-color: transparent !important;
    color: var(--kr-green) !important;
    border: 2px solid var(--kr-green) !important;
}

.elementor-element-778b8d3 .elementor-button:hover,
.elementor-element-e1ead62 .elementor-button:hover {
    background-color: var(--kr-green) !important;
    color: var(--kr-white) !important;
}

/* -------------------------------------------------------------
   Dividers, Rules & Decorative Accents
   ------------------------------------------------------------- */
.elementor-widget-divider {
    --divider-color: var(--kr-red) !important;
}

.elementor-divider-separator {
    border-color: var(--kr-red) !important;
}

/* -------------------------------------------------------------
   Forms & Inputs
   ------------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea {
    font-family: var(--kr-font-serif) !important;
    font-size: 16px !important;
    border: 1px solid var(--kr-border) !important;
    border-radius: 4px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
select:focus,
textarea:focus {
    border-color: var(--kr-green) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0, 73, 30, 0.15) !important;
}

/* -------------------------------------------------------------
   Footer & Legal Sign-off (Elementor & Brand Universal)
   ------------------------------------------------------------- */
.site-footer,
.elementor-element-a46cf6b,
.elementor-element-3c07be6,
.elementor-element-789f6f4 {
    background-color: var(--kr-red) !important;
}

.elementor-element-bf9c522,
.elementor-element-80d84b9,
.elementor-element-d0b66b3,
.elementor-element-6c5b130 {
    border-color: rgba(255, 255, 255, 0.35) !important;
}

.elementor-element-b1a1982,
.elementor-element-48c290d,
.elementor-element-df01bac,
.elementor-element-0c5e3ce {
    color: var(--kr-white) !important;
    font-family: var(--kr-font-serif) !important;
    letter-spacing: 0.05em;
}

.elementor-icon-list-text {
    font-family: var(--kr-font-serif) !important;
    font-size: 16px !important;
}

/* ========================================================
   KIRIMA RISE — Dedicated Universal Brand Footer Component
   ======================================================== */
.kr-brand-footer {
    position: relative !important;
    width: 100% !important;
    background-color: var(--kr-red) !important;
    background-image: url('wp-content/uploads/2026/07/Asset-3@2x.webp') !important;
    background-position: center right !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    color: #FFFFFF !important;
    font-family: var(--kr-font-serif) !important;
    padding: 64px 24px 28px !important;
    box-sizing: border-box !important;
    margin-top: 0 !important;
    clear: both !important;
    z-index: 10 !important;
}

.kr-brand-footer::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(225, 6, 0, 0.94) !important;
    z-index: 1 !important;
}

.kr-brand-footer-inner {
    position: relative !important;
    z-index: 2 !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

.kr-footer-main {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    flex-wrap: wrap !important;
    gap: 44px !important;
    padding-bottom: 40px !important;
    box-sizing: border-box !important;
}

/* Col 1: Brand Logo & Legal Entity */
.kr-footer-col-brand {
    flex: 1 1 280px !important;
    max-width: 320px !important;
    box-sizing: border-box !important;
}

.kr-footer-logo-link {
    display: inline-block !important;
    text-decoration: none !important;
}

.kr-footer-brand-logo {
    max-width: 220px !important;
    height: auto !important;
    display: block !important;
    margin-bottom: 18px !important;
}

.kr-footer-entity-text {
    color: #FFFFFF !important;
    font-family: var(--kr-font-serif) !important;
    font-size: 15.5px !important;
    line-height: 1.6 !important;
    opacity: 0.95 !important;
    margin: 0 !important;
}

/* Col 2: Get in Touch */
.kr-footer-col-contact {
    flex: 1 1 360px !important;
    max-width: 440px !important;
    border-left: 2px solid rgba(255, 255, 255, 0.35) !important;
    padding-left: 28px !important;
    box-sizing: border-box !important;
}

/* Col 3: About Us Navigation */
.kr-footer-col-nav {
    flex: 1 1 200px !important;
    max-width: 260px !important;
    border-left: 2px solid rgba(255, 255, 255, 0.35) !important;
    padding-left: 28px !important;
    box-sizing: border-box !important;
}

.kr-footer-title {
    color: #FFFFFF !important;
    font-family: var(--kr-font-serif) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    margin: 0 0 18px 0 !important;
    display: block !important;
}

.kr-footer-contact-list {
    list-style: none !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
}

.kr-footer-contact-list li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
    font-family: var(--kr-font-serif) !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: #FFFFFF !important;
}

.kr-footer-contact-list li a {
    color: #FFFFFF !important;
    text-decoration: none !important;
    transition: color 0.2s ease, opacity 0.2s ease !important;
    opacity: 0.95 !important;
}

.kr-footer-contact-list li a:hover {
    color: #FAF7F2 !important;
    opacity: 1 !important;
    text-decoration: underline !important;
}

.kr-footer-icon {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    fill: #FFFFFF !important;
    margin-top: 3px !important;
}

/* Social Icon Buttons */
.kr-footer-socials {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 18px !important;
}

.kr-footer-social-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    border-radius: 50% !important;
    background: transparent !important;
    transition: all 0.25s ease !important;
    text-decoration: none !important;
}

.kr-footer-social-btn:hover {
    background: #FFFFFF !important;
    border-color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2) !important;
}

.kr-footer-social-btn svg {
    width: 18px !important;
    height: 18px !important;
    fill: #FFFFFF !important;
    transition: fill 0.25s ease !important;
}

.kr-footer-social-btn:hover svg {
    fill: var(--kr-red) !important;
}

/* Nav Menu List */
.kr-footer-nav-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.kr-footer-nav-list li {
    margin-bottom: 12px !important;
}

.kr-footer-nav-list a {
    color: #FFFFFF !important;
    text-decoration: none !important;
    font-family: var(--kr-font-serif) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    opacity: 0.9 !important;
    display: inline-block !important;
    transition: all 0.2s ease !important;
}

.kr-footer-nav-list a:hover {
    opacity: 1 !important;
    color: #FAF7F2 !important;
    padding-left: 4px !important;
}

/* Bottom Bar */
.kr-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.22) !important;
    padding-top: 22px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

.kr-footer-bottom p {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Mobile & Tablet Responsive */
@media (max-width: 900px) {
    .kr-footer-main {
        flex-direction: column !important;
        gap: 32px !important;
    }
    .kr-footer-col-contact,
    .kr-footer-col-nav {
        border-left: none !important;
        border-top: 1px solid rgba(255, 255, 255, 0.22) !important;
        padding-left: 0 !important;
        padding-top: 22px !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    .kr-footer-bottom {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }
}


/* ========================================================
   CUSTOM MIRRORED BRAND HEADER (.kr-brand-header)
   Decoupled from Elementor theme bloat. Complete control
   over brand styling, hover transitions, and mobile drawer.
   ======================================================== */
.kr-brand-header {
    width: 100% !important;
    position: relative !important;
    z-index: 999999 !important;
    background: #FFFFFF !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

/* 1. Top Fraud Alert Banner */
.kr-brand-topbar {
    background-color: var(--kr-red) !important;
    color: #FFFFFF !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 8px clamp(16px, 3.5vw, 40px) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}

.kr-brand-topbar-inner {
    max-width: 1240px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    font-family: var(--kr-font-serif) !important;
    font-size: 13.5px !important;
    line-height: 1.4 !important;
    text-align: center !important;
}

.kr-topbar-icon {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.kr-topbar-icon svg {
    width: 16px !important;
    height: 16px !important;
    fill: #FFFFFF !important;
}

.kr-topbar-text {
    margin: 0 !important;
    color: #FFFFFF !important;
    letter-spacing: 0.01em !important;
}

.kr-topbar-text strong {
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
}

/* 2. Main Navigation Bar */
.kr-brand-navbar {
    width: 100% !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid rgba(0, 73, 30, 0.08) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.03) !important;
    position: relative !important;
    z-index: 999999 !important;
    overflow: visible !important;
}

.kr-brand-navbar-inner {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 12px clamp(20px, 4vw, 48px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    box-sizing: border-box !important;
    position: relative !important;
    overflow: visible !important;
}

/* Left: Nav links */
.kr-nav-left {
    flex: 1 1 0 !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
}

.kr-nav-list {
    display: flex !important;
    align-items: center !important;
    gap: clamp(16px, 2.2vw, 32px) !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

.kr-nav-item {
    position: relative !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

.kr-nav-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-family: var(--kr-font-serif) !important;
    font-size: 15.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--kr-green) !important;
    text-decoration: none !important;
    padding: 8px 0 !important;
    transition: color 0.2s ease !important;
    cursor: pointer !important;
    background: none !important;
    border: none !important;
}

.kr-nav-link:hover,
.kr-nav-link:focus {
    color: var(--kr-red) !important;
}

.kr-nav-link.kr-active {
    color: var(--kr-red) !important;
    font-weight: 700 !important;
}

/* Dropdown styling */
.kr-chevron {
    width: 12px !important;
    height: 12px !important;
    stroke: currentColor !important;
    transition: transform 0.25s ease !important;
    margin-left: 2px !important;
}

.kr-has-dropdown:hover .kr-chevron,
.kr-has-dropdown:focus-within .kr-chevron {
    transform: rotate(180deg) !important;
}

.kr-dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    left: -14px !important;
    min-width: 220px !important;
    width: max-content !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(0, 73, 30, 0.12) !important;
    border-top: 3px solid var(--kr-red) !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.12), 0 4px 12px rgba(0,0,0,0.04) !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    z-index: 99999999 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(6px) !important;
    transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.2s !important;
    overflow: visible !important;
}

/* Hover bridge to keep dropdown open during mouse travel */
.kr-dropdown-menu::before {
    content: "" !important;
    position: absolute !important;
    top: -12px !important;
    left: 0 !important;
    right: 0 !important;
    height: 12px !important;
    background: transparent !important;
}

.kr-has-dropdown:hover > .kr-dropdown-menu,
.kr-has-dropdown:focus-within > .kr-dropdown-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

.kr-dropdown-menu li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.kr-dropdown-link {
    display: block !important;
    padding: 11px 22px !important;
    font-family: var(--kr-font-serif) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: var(--kr-green) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    border-bottom: 1px solid rgba(0, 73, 30, 0.06) !important;
    white-space: nowrap !important;
    background: transparent !important;
}

.kr-dropdown-menu li:last-child .kr-dropdown-link {
    border-bottom: none !important;
}

.kr-dropdown-link:hover,
.kr-dropdown-link:focus {
    background: #FAF7F2 !important;
    color: var(--kr-red) !important;
    padding-left: 26px !important;
}

.kr-dropdown-link.kr-active {
    color: var(--kr-red) !important;
    background: #FAF7F2 !important;
    font-weight: 700 !important;
}

/* Center: Logo */
.kr-nav-center {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.kr-brand-logo-link {
    display: inline-block !important;
    text-decoration: none !important;
    line-height: 0 !important;
}

.kr-brand-logo-img {
    height: clamp(48px, 5.5vw, 68px) !important;
    width: auto !important;
    max-width: 170px !important;
    object-fit: contain !important;
    display: block !important;
    transition: transform 0.25s ease !important;
}

.kr-brand-logo-link:hover .kr-brand-logo-img {
    transform: scale(1.02) !important;
}

/* Right: Enquire button & Hamburger */
.kr-nav-right {
    flex: 1 1 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 16px !important;
}

.kr-btn-enquire {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: var(--kr-green) !important;
    color: #FFFFFF !important;
    font-family: var(--kr-font-serif) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 10px 22px !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 14px rgba(0, 73, 30, 0.20) !important;
    border: none !important;
    cursor: pointer !important;
}

.kr-btn-enquire:hover,
.kr-btn-enquire:focus {
    background: var(--kr-green-hover) !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(0, 73, 30, 0.28) !important;
}

.kr-btn-arrow {
    width: 14px !important;
    height: 14px !important;
    transition: transform 0.2s ease !important;
}

.kr-btn-enquire:hover .kr-btn-arrow {
    transform: translateX(3px) !important;
}

/* Mobile Toggle & Drawer Defaults */
.kr-mobile-toggle {
    display: none !important;
}

.kr-mobile-drawer {
    display: none !important;
}

/* Responsive Breakpoint for Navigation (< 992px) */
@media (max-width: 991px) {
    .kr-nav-left {
        display: none !important;
    }
    
    .kr-btn-enquire:not(.kr-btn-enquire-mobile) {
        display: none !important;
    }

    .kr-mobile-toggle {
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        width: 30px !important;
        height: 22px !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        padding: 0 !important;
        z-index: 100000 !important;
    }

    .kr-hamburger-bar {
        width: 100% !important;
        height: 2.5px !important;
        background: var(--kr-green) !important;
        border-radius: 2px !important;
        transition: all 0.3s ease !important;
        display: block !important;
    }

    /* Animate Hamburger to X */
    .kr-brand-header.kr-mobile-menu-active .kr-hamburger-bar:nth-child(1) {
        transform: translateY(9.5px) rotate(45deg) !important;
        background: var(--kr-red) !important;
    }

    .kr-brand-header.kr-mobile-menu-active .kr-hamburger-bar:nth-child(2) {
        opacity: 0 !important;
    }

    .kr-brand-header.kr-mobile-menu-active .kr-hamburger-bar:nth-child(3) {
        transform: translateY(-9.5px) rotate(-45deg) !important;
        background: var(--kr-red) !important;
    }

    /* Mobile Drawer */
    .kr-mobile-drawer {
        display: block !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        background: #FFFFFF !important;
        border-top: 1px solid rgba(0, 73, 30, 0.08) !important;
        box-shadow: 0 16px 36px rgba(0, 0, 0, 0.15) !important;
        max-height: 0 !important;
        overflow: hidden !important;
        transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), padding 0.35s ease !important;
        z-index: 9999999 !important;
        padding: 0 clamp(20px, 4vw, 40px) !important;
        box-sizing: border-box !important;
    }

    .kr-brand-header.kr-mobile-menu-active .kr-mobile-drawer {
        max-height: 520px !important;
        overflow-y: auto !important;
        padding: 20px clamp(20px, 4vw, 40px) 28px !important;
    }

    .kr-mobile-nav-list {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
    }

    .kr-mobile-nav-list li {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .kr-mobile-nav-link {
        display: block !important;
        font-family: var(--kr-font-serif) !important;
        font-size: 17px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.06em !important;
        color: var(--kr-green) !important;
        text-decoration: none !important;
        padding: 12px 0 !important;
        border-bottom: 1px solid rgba(0, 73, 30, 0.06) !important;
        transition: color 0.2s ease !important;
    }

    .kr-mobile-nav-link:hover,
    .kr-mobile-nav-link.kr-active {
        color: var(--kr-red) !important;
    }

    .kr-mobile-sub-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        border-bottom: 1px solid rgba(0, 73, 30, 0.06) !important;
    }

    .kr-mobile-sub-toggle .kr-mobile-nav-link {
        border-bottom: none !important;
        flex: 1 1 auto !important;
    }

    .kr-mobile-sub-btn {
        background: none !important;
        border: none !important;
        padding: 12px !important;
        cursor: pointer !important;
        color: var(--kr-green) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .kr-mobile-sub-btn svg {
        width: 16px !important;
        height: 16px !important;
        transition: transform 0.25s ease !important;
    }

    .kr-mobile-has-sub.kr-sub-expanded .kr-mobile-sub-btn svg {
        transform: rotate(180deg) !important;
        color: var(--kr-red) !important;
    }

    .kr-mobile-sub-list {
        list-style: none !important;
        margin: 0 !important;
        padding: 4px 0 8px 16px !important;
        display: none !important;
        background: #FAF7F2 !important;
        border-radius: 6px !important;
    }

    .kr-mobile-has-sub.kr-sub-expanded .kr-mobile-sub-list {
        display: block !important;
    }

    .kr-mobile-sub-link {
        display: block !important;
        font-family: var(--kr-font-serif) !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        color: var(--kr-green) !important;
        text-decoration: none !important;
        padding: 10px 14px !important;
        border-bottom: 1px solid rgba(0, 73, 30, 0.05) !important;
    }

    .kr-mobile-sub-link:hover,
    .kr-mobile-sub-link.kr-active {
        color: var(--kr-red) !important;
    }

    .kr-mobile-drawer-cta {
        margin-top: 20px !important;
    }

    .kr-btn-enquire-mobile {
        display: inline-flex !important;
        width: 100% !important;
        justify-content: center !important;
    }
}

/* ========================================================
   SEMANTIC HOMEPAGE SECTIONS (.kr-hero-section, .kr-becoming-section)
   Fully decoupled from Elementor widgets & layout hacks.
   ======================================================== */

/* 1. Hero Section */
.kr-hero-section {
    width: 100% !important;
    background: #FFFFFF !important;
    position: relative !important;
    overflow: hidden !important;
    padding: clamp(48px, 6vw, 84px) 0 !important;
    border-bottom: 1px solid rgba(0, 73, 30, 0.08) !important;
}

.kr-hero-container {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 clamp(24px, 4.5vw, 56px) !important;
    display: grid !important;
    grid-template-columns: 1.1fr 0.9fr !important;
    gap: clamp(36px, 5vw, 72px) !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

.kr-hero-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

.kr-hero-eyebrow {
    font-family: var(--kr-font-serif) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: var(--kr-red) !important;
    display: inline-block !important;
}

.kr-hero-title {
    font-family: var(--kr-font-serif) !important;
    font-size: clamp(36px, 4.5vw, 56px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    color: var(--kr-green) !important;
    margin: 0 !important;
    letter-spacing: -0.01em !important;
}

.kr-hero-title-accent {
    color: var(--kr-red) !important;
    display: inline-block !important;
}

.kr-hero-desc {
    font-family: var(--kr-font-serif) !important;
    font-size: clamp(17px, 1.35vw, 20px) !important;
    line-height: 1.65 !important;
    color: #4A4A4A !important;
    margin: 8px 0 16px 0 !important;
}

.kr-hero-actions {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
}

.kr-hero-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: var(--kr-green) !important;
    color: #FFFFFF !important;
    font-family: var(--kr-font-serif) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 13px 28px !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 14px rgba(0, 73, 30, 0.22) !important;
}

.kr-hero-btn:hover {
    background: var(--kr-green-hover) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px rgba(0, 73, 30, 0.32) !important;
    color: #FFFFFF !important;
}

.kr-hero-btn svg {
    width: 15px !important;
    height: 15px !important;
    transition: transform 0.2s ease !important;
}

.kr-hero-btn:hover svg {
    transform: translateX(4px) !important;
}

.kr-hero-media {
    position: relative !important;
    width: 100% !important;
}

.kr-hero-img-frame {
    position: relative !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.12), 0 4px 12px rgba(0, 0, 0, 0.05) !important;
    border: 3px solid #FAF7F2 !important;
    background: #111111 !important;
}

.kr-hero-img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.kr-hero-img-frame:hover .kr-hero-img {
    transform: scale(1.03) !important;
}

.kr-hero-badge {
    position: absolute !important;
    bottom: 16px !important;
    left: 16px !important;
    right: 16px !important;
    background: rgba(0, 73, 30, 0.92) !important;
    backdrop-filter: blur(8px) !important;
    padding: 12px 18px !important;
    border-radius: 10px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.kr-badge-title {
    font-family: var(--kr-font-serif) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #FAF7F2 !important;
}

.kr-badge-sub {
    font-family: var(--kr-font-serif) !important;
    font-size: 12.5px !important;
    opacity: 0.88 !important;
}

/* 2. What Kirima Rise Is Becoming Section */
.kr-becoming-section {
    width: 100% !important;
    background: #FAF7F2 !important;
    position: relative !important;
    padding: clamp(54px, 7vw, 96px) 0 !important;
    border-bottom: 1px solid rgba(0, 73, 30, 0.08) !important;
}

.kr-becoming-container {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 clamp(24px, 4.5vw, 56px) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(32px, 4vw, 48px) !important;
    box-sizing: border-box !important;
}

.kr-becoming-header {
    text-align: center !important;
    max-width: 760px !important;
    margin: 0 auto !important;
}

.kr-section-tag {
    font-family: var(--kr-font-serif) !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: var(--kr-red) !important;
    display: inline-block !important;
    margin-bottom: 8px !important;
}

.kr-section-title {
    font-family: var(--kr-font-serif) !important;
    font-size: clamp(32px, 4vw, 48px) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--kr-green) !important;
    margin: 0 !important;
}

.kr-section-title strong {
    color: var(--kr-red) !important;
}

.kr-becoming-grid {
    display: grid !important;
    grid-template-columns: 1fr 1.2fr !important;
    gap: clamp(36px, 5vw, 64px) !important;
    align-items: start !important;
}

.kr-becoming-narrative {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

.kr-becoming-lead {
    font-family: var(--kr-font-serif) !important;
    font-size: clamp(19px, 1.4vw, 22px) !important;
    font-weight: 600 !important;
    line-height: 1.55 !important;
    color: var(--kr-green) !important;
    margin: 0 !important;
}

.kr-becoming-body {
    font-family: var(--kr-font-serif) !important;
    font-size: 16.5px !important;
    line-height: 1.7 !important;
    color: #4A4A4A !important;
    margin: 0 !important;
}

.kr-becoming-actions {
    margin-top: 12px !important;
}

.kr-btn-outline {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background: transparent !important;
    color: var(--kr-green) !important;
    border: 2px solid var(--kr-green) !important;
    font-family: var(--kr-font-serif) !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 11px 26px !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
}

.kr-btn-outline:hover {
    background: var(--kr-green) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(0, 73, 30, 0.22) !important;
}

.kr-btn-outline svg {
    width: 14px !important;
    height: 14px !important;
    transition: transform 0.2s ease !important;
}

.kr-btn-outline:hover svg {
    transform: translateX(4px) !important;
}

/* 4 Pillars Cards */
.kr-becoming-pillars {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
}

.kr-pillar-card {
    background: #FFFFFF !important;
    border: 1px solid rgba(0, 73, 30, 0.12) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.03) !important;
}

.kr-pillar-card:hover {
    transform: translateY(-4px) !important;
    border-color: var(--kr-red) !important;
    box-shadow: 0 12px 28px rgba(0, 73, 30, 0.08) !important;
}

.kr-pillar-num {
    font-family: var(--kr-font-serif) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--kr-red) !important;
    letter-spacing: 0.05em !important;
}

.kr-pillar-title {
    font-family: var(--kr-font-serif) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    color: var(--kr-green) !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

.kr-pillar-desc {
    font-family: var(--kr-font-serif) !important;
    font-size: 14.5px !important;
    line-height: 1.55 !important;
    color: #555555 !important;
    margin: 0 !important;
}

/* Responsive Breakpoints for Core Sections */
@media (max-width: 991px) {
    .kr-hero-container {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
    }
    .kr-becoming-grid {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
    }
}

@media (max-width: 640px) {
    .kr-becoming-pillars {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

/* ========================================================
   SUBPAGE EDITORIAL & TIMELINE DESIGN ENHANCEMENTS
   For Our Story, Our Heritage, and Directory pages.
   ======================================================== */

/* Subpage Hero Banner */
.kr-subpage-hero {
    width: 100% !important;
    background: linear-gradient(180deg, #FFFFFF 0%, #FAF7F2 100%) !important;
    padding: clamp(48px, 6vw, 76px) 0 !important;
    border-bottom: 1px solid rgba(0, 73, 30, 0.08) !important;
    position: relative !important;
}

.kr-subpage-hero-inner {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 clamp(24px, 4.5vw, 56px) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    box-sizing: border-box !important;
}

.kr-subpage-tag {
    font-family: var(--kr-font-serif) !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: var(--kr-red) !important;
}

.kr-subpage-title {
    font-family: var(--kr-font-serif) !important;
    font-size: clamp(36px, 4.5vw, 52px) !important;
    font-weight: 700 !important;
    color: var(--kr-green) !important;
    line-height: 1.15 !important;
    margin: 0 !important;
}

.kr-subpage-desc {
    font-family: var(--kr-font-serif) !important;
    font-size: clamp(17px, 1.3vw, 20px) !important;
    line-height: 1.65 !important;
    color: #4A4A4A !important;
    max-width: 820px !important;
    margin: 0 !important;
}

/* Editorial Pull Quotes */
.elementor-drop-cap {
    font-family: var(--kr-font-serif) !important;
    color: var(--kr-red) !important;
    font-size: 52px !important;
    float: left !important;
    line-height: 0.8 !important;
    margin-right: 12px !important;
    font-weight: 700 !important;
}

blockquote, 
.kr-editorial-quote,
.elementor-element-c79b2e8 p {
    font-family: var(--kr-font-serif) !important;
    font-size: clamp(19px, 1.5vw, 24px) !important;
    font-style: italic !important;
    line-height: 1.55 !important;
    color: var(--kr-green) !important;
    background: #FAF7F2 !important;
    padding: 22px 32px !important;
    border-left: 4px solid var(--kr-red) !important;
    border-radius: 0 10px 10px 0 !important;
    margin: 24px 0 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02) !important;
}

/* Historic Archive Images & Portraits */
.elementor-widget-image img,
.elementor-widget-tl-post-fatured-image img {
    border-radius: 12px !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    border: 2px solid #FAF7F2 !important;
    transition: transform 0.4s ease !important;
}

.elementor-widget-image img:hover,
.elementor-widget-tl-post-fatured-image img:hover {
    transform: scale(1.02) !important;
}

/* Timeline Cards */
.elementor-element-dc31cd8,
.elementor-element-b81a728,
.elementor-element-c92e10e,
.elementor-element-c5af7fe {
    background: #FFFFFF !important;
    border: 1px solid rgba(0, 73, 30, 0.12) !important;
    border-radius: 12px !important;
    padding: 24px clamp(20px, 3vw, 32px) !important;
    margin-bottom: 20px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03) !important;
    transition: all 0.25s ease !important;
}

.elementor-element-dc31cd8:hover,
.elementor-element-b81a728:hover,
.elementor-element-c92e10e:hover,
.elementor-element-c5af7fe:hover {
    transform: translateX(6px) !important;
    border-color: var(--kr-red) !important;
    box-shadow: 0 8px 24px rgba(0, 73, 30, 0.08) !important;
}

.elementor-element-7b3c0bb h6,
.elementor-element-e73327f h6,
.elementor-element-ca6774f h6,
.elementor-element-b3e61a0 h6 {
    font-family: var(--kr-font-serif) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--kr-red) !important;
}


/* ========================================================
   ELEMENTOR HEADER & NAVIGATION MENU SYSTEM (MOBILE & DESKTOP)
   ======================================================== */
@media (max-width: 1024px) {
    /* Container for menu and logo on mobile */
    .elementor-element-2e6560ab,
    .elementor-element-63cfb970,
    .elementor-element-5ed4b897,
    .elementor-element-59f25919 {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Logo container on mobile (Order 1: Left) */
    .elementor-element-3f63660e,
    .elementor-element-60a543b2,
    .elementor-element-336a8ef5,
    .elementor-element-3ce152e4,
    .elementor-element-64ec6988 {
        order: 1 !important;
        width: auto !important;
        max-width: 180px !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
    }

    .elementor-element-3f63660e img,
    .elementor-element-60a543b2 img,
    .elementor-element-336a8ef5 img,
    .elementor-element-3ce152e4 img,
    .elementor-element-64ec6988 img {
        height: 44px !important;
        width: auto !important;
        max-width: 180px !important;
        display: block !important;
        object-fit: contain !important;
    }

    /* Nav widget container on mobile (Order 2: Far Right) */
    .elementor-element-1a7374ab,
    .elementor-element-5db858c9,
    .elementor-element-57f6fb7d,
    .elementor-element-37768ea3 {
        order: 2 !important;
        width: auto !important;
        margin: 0 0 0 auto !important;
        margin-left: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        position: static !important;
        overflow: visible !important;
    }

    /* Intermediate nav wrappers must be static and visible so drawer positions relative to full header */
    .elementor-element-2e6560ab,
    .elementor-element-63cfb970,
    .elementor-element-5ed4b897,
    .elementor-element-59f25919,
    .elementor-element-1a7374ab,
    .elementor-element-5db858c9,
    .elementor-element-57f6fb7d,
    .elementor-element-37768ea3,
    .elementor-element-389ef415,
    .elementor-widget-navigation-menu,
    .elementor-element-1a7374ab > .elementor-widget-container,
    .elementor-element-5db858c9 > .elementor-widget-container,
    .elementor-element-57f6fb7d > .elementor-widget-container,
    .elementor-element-37768ea3 > .elementor-widget-container {
        position: static !important;
        overflow: visible !important;
    }

    .elementor-element-1a7374ab .hfe-nav-menu,
    .elementor-element-5db858c9 .hfe-nav-menu,
    .elementor-element-57f6fb7d .hfe-nav-menu,
    .elementor-element-37768ea3 .hfe-nav-menu {
        position: static !important;
        overflow: visible !important;
        width: auto !important;
        height: auto !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }

    .elementor-element-1a7374ab .elementor-widget-container::-webkit-scrollbar,
    .elementor-element-5db858c9 .elementor-widget-container::-webkit-scrollbar,
    .elementor-element-57f6fb7d .elementor-widget-container::-webkit-scrollbar,
    .elementor-element-37768ea3 .elementor-widget-container::-webkit-scrollbar,
    .elementor-element-1a7374ab .hfe-nav-menu::-webkit-scrollbar,
    .elementor-element-5db858c9 .hfe-nav-menu::-webkit-scrollbar,
    .elementor-element-57f6fb7d .hfe-nav-menu::-webkit-scrollbar,
    .elementor-element-37768ea3 .hfe-nav-menu::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    /* Hide desktop CTA button on mobile header (CTA is embedded inside mobile drawer) */
    .elementor-element-609ad2b6,
    .elementor-element-89168bf,
    .elementor-element-132d8988,
    .elementor-element-6a110c91,
    .elementor-element-778b8d3,
    .elementor-element-194a064,
    .elementor-element-14eee0d,
    .elementor-element-c656ae5 {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        pointer-events: none !important;
    }

    /* Hamburger Toggle Button */
    .hfe-nav-menu__toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        background: #FFFFFF !important;
        border: 1px solid #D1D5DB !important;
        border-radius: 8px !important;
        cursor: pointer !important;
        color: var(--kr-green) !important;
        padding: 0 !important;
        margin: 0 0 0 auto !important;
        margin-left: auto !important;
        box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
        transition: all 0.2s ease !important;
        z-index: 100000 !important;
    }

    .hfe-nav-menu__toggle:hover,
    .hfe-nav-menu__toggle.is-active,
    .hfe-nav-menu__toggle.hfe-active-menu {
        background: #FEF2F2 !important;
        border-color: #E10600 !important;
        color: #E10600 !important;
    }

    .hfe-nav-menu__toggle .hfe-nav-menu-icon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 22px !important;
    }

    .hfe-nav-menu__toggle .hfe-nav-menu-icon svg {
        width: 22px !important;
        height: 22px !important;
        fill: currentColor !important;
    }

    /* Mobile Drawer Dropdown - Hidden when closed */
    nav.hfe-nav-menu__layout-horizontal {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        height: 0 !important;
        overflow: hidden !important;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Mobile Drawer Dropdown - Visible when active */
    nav.hfe-nav-menu__layout-horizontal.menu-is-active,
    nav.hfe-nav-menu__layout-horizontal.is-open,
    .hfe-nav-menu__toggle.is-active + nav.hfe-nav-menu__layout-horizontal,
    .hfe-nav-menu__toggle.hfe-active-menu + nav.hfe-nav-menu__layout-horizontal {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        height: auto !important;
        overflow: visible !important;
        background: #FFFFFF !important;
        border-top: 3px solid #E10600 !important;
        border-bottom: 2px solid #E5E7EB !important;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15) !important;
        padding: 16px 20px 24px 20px !important;
        z-index: 999999 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Ensure menu items list in mobile drawer is visible when drawer is open */
    nav.hfe-nav-menu__layout-horizontal ul.hfe-nav-menu {
        display: flex !important;
        flex-direction: column !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        gap: 2px !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
    }

    nav.hfe-nav-menu__layout-horizontal.menu-is-active ul.hfe-nav-menu,
    nav.hfe-nav-menu__layout-horizontal.is-open ul.hfe-nav-menu,
    .hfe-nav-menu__toggle.is-active + nav.hfe-nav-menu__layout-horizontal ul.hfe-nav-menu,
    .hfe-nav-menu__toggle.hfe-active-menu + nav.hfe-nav-menu__layout-horizontal ul.hfe-nav-menu {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
    }

    nav.hfe-nav-menu__layout-horizontal ul.hfe-nav-menu > li.menu-item {
        display: block !important;
        width: 100% !important;
        border-bottom: 1px solid #F3F4F6 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    nav.hfe-nav-menu__layout-horizontal a.hfe-menu-item {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 14px 12px !important;
        font-family: var(--kr-font-serif) !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
        color: var(--kr-green) !important;
        text-decoration: none !important;
        border-radius: 6px !important;
        transition: all 0.2s ease !important;
    }

    nav.hfe-nav-menu__layout-horizontal a.hfe-menu-item:hover,
    nav.hfe-nav-menu__layout-horizontal li.current-menu-item > a.hfe-menu-item,
    nav.hfe-nav-menu__layout-horizontal li.current-menu-ancestor > .hfe-has-submenu-container a.hfe-menu-item {
        color: #E10600 !important;
        background-color: #FEF2F2 !important;
    }

    /* Submenu Accordion on Mobile */
    nav.hfe-nav-menu__layout-horizontal .hfe-has-submenu-container {
        cursor: pointer !important;
    }

    nav.hfe-nav-menu__layout-horizontal .hfe-has-submenu-container .sub-arrow {
        display: inline-flex !important;
        align-items: center !important;
        padding: 6px !important;
    }

    nav.hfe-nav-menu__layout-horizontal .hfe-has-submenu-container .sub-arrow i {
        font-family: inherit !important;
        font-style: normal !important;
    }

    nav.hfe-nav-menu__layout-horizontal .hfe-has-submenu-container .sub-arrow i:before {
        content: '' !important;
        display: inline-block !important;
        width: 8px !important;
        height: 8px !important;
        border-right: 2px solid currentColor !important;
        border-bottom: 2px solid currentColor !important;
        transform: rotate(45deg) translateY(-2px) !important;
        transition: transform 0.25s ease !important;
    }

    nav.hfe-nav-menu__layout-horizontal li.menu-item-has-children.is-expanded .sub-arrow i:before,
    nav.hfe-nav-menu__layout-horizontal li.menu-item-has-children.sub-menu-open .sub-arrow i:before {
        transform: rotate(-135deg) translateY(-1px) !important;
    }

    nav.hfe-nav-menu__layout-horizontal ul.sub-menu {
        display: none !important;
        position: static !important;
        width: 100% !important;
        background: #FAF7F2 !important;
        border: none !important;
        border-left: 3px solid #E10600 !important;
        border-radius: 4px !important;
        box-shadow: none !important;
        padding: 6px 0 !important;
        margin: 4px 0 10px 8px !important;
        list-style: none !important;
        height: auto !important;
        visibility: visible !important;
        opacity: 1 !important;
        box-sizing: border-box !important;
    }

    nav.hfe-nav-menu__layout-horizontal li.menu-item-has-children.is-expanded > ul.sub-menu,
    nav.hfe-nav-menu__layout-horizontal li.menu-item-has-children.sub-menu-open > ul.sub-menu,
    nav.hfe-nav-menu__layout-horizontal .hfe-has-submenu-container.sub-menu-active + ul.sub-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        height: auto !important;
    }

    nav.hfe-nav-menu__layout-horizontal ul.sub-menu li a {
        display: block !important;
        padding: 10px 18px !important;
        font-family: var(--kr-font-serif) !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        color: #374151 !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
    }

    nav.hfe-nav-menu__layout-horizontal ul.sub-menu li a:hover,
    nav.hfe-nav-menu__layout-horizontal ul.sub-menu li.current-menu-item a,
    nav.hfe-nav-menu__layout-horizontal ul.sub-menu li a.hfe-sub-menu-item-active {
        color: #E10600 !important;
        padding-left: 22px !important;
    }

    /* Mobile Drawer Enquire CTA */
    .kr-mobile-enquire-cta {
        margin-top: 18px !important;
        padding-top: 14px !important;
        border-top: 1px solid #E5E7EB !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .kr-mobile-enquire-btn {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        padding: 14px 20px !important;
        background: var(--kr-green) !important;
        color: #FFFFFF !important;
        font-family: var(--kr-font-serif) !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
        text-decoration: none !important;
        border-radius: 6px !important;
        box-shadow: 0 4px 12px rgba(0, 73, 30, 0.25) !important;
        transition: all 0.2s ease !important;
    }

    .kr-mobile-enquire-btn:hover {
        background: var(--kr-green-hover) !important;
        box-shadow: 0 6px 16px rgba(0, 73, 30, 0.35) !important;
    }
}
