/* Carry the conversation hero's typography and palette through the homepage.
 * Keep these rules in the public CMS, scoped away from platform dashboards. */
body.home {
    --om-font-heading: "Lato", sans-serif;
    --om-font-body: "Inter", sans-serif;
    --om-ink: #0b2440;
    --om-copy: #385454;
    --om-accent: #126a59;
    --om-surface: linear-gradient(135deg, #fbf7ed 0%, #f2f8f5 100%);
    --om-surface-alt: linear-gradient(135deg, #f2f8f5 0%, #fbf7ed 100%);
    --om-line: rgba(18, 106, 89, 0.16);
    --om-lift-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
    background: #ffffff;
    color: var(--om-copy);
    font-family: var(--om-font-body);
}

body.home #page .om-page {
    --om-green: var(--om-accent);
    --om-dark: var(--om-ink);
    --om-muted: var(--om-copy);
    --om-section-heading-size: clamp(36px, 4vw, 60px);
    --om-section-intro-size: clamp(19px, 1.65vw, 24px);
    --omd-home-image-radius: 18px;
    color: var(--om-copy);
    font-family: var(--om-font-body);
}

/* Replace the older per-section fonts, including inline CMS style settings. */
body.home #page .om-page :is(h1, h2, h3, h4, h5, h6),
body.home #page .om-page .om-section-title :is(h2, h3) {
    color: var(--om-ink) !important;
    font-family: var(--om-font-heading) !important;
    font-weight: 850 !important;
    letter-spacing: -0.035em !important;
    text-transform: none !important;
}

body.home #page .om-page :is(p, li, label, input, textarea, select, button, summary, .wp-block-button__link) {
    font-family: var(--om-font-body) !important;
}

body.home #page .om-page :is(.om-section, #TESTIMONIALS, #INSTAGRAM) {
    box-sizing: border-box;
    width: calc(100% - 40px) !important;
    max-width: 1520px !important;
    margin: 20px auto !important;
    padding: clamp(40px, 5vw, 74px) clamp(22px, 5vw, 72px) !important;
    border: 0 !important;
    border-radius: 24px !important;
    background: var(--om-surface) !important;
    color: var(--om-copy) !important;
    box-shadow: none !important;
    scroll-margin-top: 120px;
}

body.home #page .om-page :is(#REAL-CONVERSATIONS, #SELF-LEARNING, #INSTAGRAM) {
    background: var(--om-surface-alt) !important;
}

/* Preserve the established opening and its portrait proportions. */
body.home #page .om-page #ABOUT.om-conversation-hero {
    padding: clamp(42px, 6vw, 88px) clamp(22px, 5vw, 72px) !important;
}

body.home #page .om-page #ABOUT .om-conversation-hero__title {
    letter-spacing: -0.045em !important;
}

body.home #page .om-page :is(.om-section-title h2, .om-real-conversations__header h2, .openminds-instagram-feed__title) {
    margin: 0 0 16px !important;
    color: var(--om-ink) !important;
    font-size: var(--om-section-heading-size) !important;
    line-height: 1.06 !important;
}

body.home #page .om-page :is(.om-section-title p, .om-real-conversations__header p) {
    max-width: 1100px !important;
    margin: 0 0 16px !important;
    color: var(--om-copy) !important;
    font-size: var(--om-section-intro-size) !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

body.home #page .om-page :is(.om-section-title, .om-real-conversations__header) {
    max-width: 1100px !important;
    margin-bottom: 32px !important;
}

body.home #page .om-page :is(#HIGHLIGHTS, #LESSONS) .wp-block-columns {
    gap: clamp(18px, 2vw, 30px) !important;
}

body.home #page .om-page :is(.om-card, .om-conversation-card) {
    --om-ink: #0b2440;
    --om-copy: #385454;
    --om-line: rgba(18, 106, 89, 0.16);
    border: 1px solid var(--om-line) !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    color: var(--om-copy) !important;
    box-shadow: 0 14px 36px rgba(11, 36, 64, 0.07) !important;
}

body.home #page .om-page :is(#HIGHLIGHTS, #LESSONS) .om-card {
    padding: clamp(20px, 2vw, 30px) !important;
}

body.home #page .om-page :is(.om-card h2, .om-card h3, .om-conversation-card h3, .om-learning-card__content h4) {
    font-size: clamp(25px, 2.15vw, 32px) !important;
    line-height: 1.12 !important;
}

body.home #page .om-page :is(.om-card p, .om-card li, .om-conversation-card p, .om-learning-card__content p, .om-learning-card__content li) {
    color: var(--om-copy) !important;
    font-size: clamp(17px, 1.25vw, 19px) !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}

body.home #page .om-page .om-card :is(p, em) {
    font-style: normal !important;
}

body.home #page .om-page .om-conversation-card p {
    padding-bottom: 28px !important;
}

/* The same pill shape and gentle lift as “Book a first lesson”. */
body.home #page .om-page :is(.wp-block-button__link, .openminds-contact-form button, :where(#sbi_load) .sbi_load_btn, :where(#sbi_load) .sbi_follow_btn a) {
    min-height: 52px;
    padding: 14px 24px !important;
    border: 2px solid var(--om-accent) !important;
    border-radius: 999px !important;
    background: var(--om-accent) !important;
    color: #ffffff !important;
    font-family: var(--om-font-body) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}

body.home #page .om-page .is-style-outline .wp-block-button__link {
    background: transparent !important;
    color: var(--om-accent) !important;
}

body.home #page .om-page :is(.wp-block-button__link, .openminds-contact-form button, :where(#sbi_load) .sbi_load_btn, :where(#sbi_load) .sbi_follow_btn a):is(:hover, :focus-visible) {
    transform: translateY(-2px);
    box-shadow: var(--om-lift-shadow) !important;
}

body.home .om-page :is(a, button, summary, input, textarea, select):focus-visible {
    outline: 3px solid var(--om-accent) !important;
    outline-offset: 4px;
}

/* Learning cards and contact controls retain their existing interactions. */
body.home #page .om-page .om-learning > details,
body.home #page .om-page .om-contact-toggle {
    --om-ink: #0b2440;
    --om-copy: #385454;
    --om-line: rgba(18, 106, 89, 0.16);
    border: 1px solid var(--om-line) !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 28px rgba(11, 36, 64, 0.05) !important;
}

body.home #page .om-page .om-learning > details > summary,
body.home #page .om-page .om-contact-toggle > summary {
    background: #ffffff !important;
    color: var(--om-ink) !important;
    font-size: clamp(20px, 1.8vw, 26px) !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

body.home #page .om-page .om-learning-summary-title {
    color: var(--om-ink) !important;
    font-family: var(--om-font-heading) !important;
    font-size: clamp(24px, 2.1vw, 32px) !important;
    letter-spacing: -0.025em;
}

body.home #page .om-page .om-learning-summary-label {
    color: var(--om-accent) !important;
    font-family: var(--om-font-body) !important;
}

body.home #page .om-page .om-learning > details[open] > summary,
body.home #page .om-page .om-contact-toggle[open] > summary {
    background: #f2f8f5 !important;
}

body.home #page .om-page #TESTIMONIALS .openminds-managed-section__inner,
body.home #page .om-page #INSTAGRAM .openminds-instagram-feed__inner {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.home #page .om-page .openminds-instagram-feed__title {
    text-align: left !important;
}

body.home #page .om-page #TESTIMONIALS :is(.testimonial-content, .wpmtst-testimonial-content, .testimonial-inner p) {
    color: var(--om-copy) !important;
    font-size: clamp(20px, 1.65vw, 25px) !important;
    line-height: 1.6 !important;
}

body.home #page .om-page #TESTIMONIALS :is(.testimonial-heading, .wpmtst-testimonial-heading) {
    font-size: clamp(25px, 2.15vw, 32px) !important;
    line-height: 1.15 !important;
}

body.home #page .om-page .openminds-contact-form :is(label, input, select, textarea) {
    color: var(--om-copy);
    font-size: 17px;
}

body.home #page .om-page .openminds-contact-form :is(input:not([type="hidden"]):not([type="checkbox"]), select, textarea) {
    border: 1px solid rgba(18, 106, 89, 0.28);
    border-radius: 12px;
    background: #fbfdfb;
}

body.home #colophon {
    color: var(--om-copy);
    font-family: var(--om-font-body);
}

body.home #colophon :is(.site-primary-footer-wrap, .site-below-footer-wrap, .openminds-legal-footer) {
    background: var(--om-surface) !important;
}

body.home #colophon .openminds-legal-footer a {
    color: var(--om-accent);
    font-size: 15px;
}

/* Restore the green rhythm between the light sections, while keeping white
 * cards readable through their own ink/copy variables above. */
body.home #page .om-page :is(#REAL-CONVERSATIONS, #SELF-LEARNING, #CONTACT) {
    --om-ink: #ffffff;
    --om-copy: #e1f0e9;
    background: linear-gradient(135deg, #126a59 0%, #0d4f44 100%) !important;
}

/* Clipped circles echo the original hero without becoming interactive layers. */
body.home #page .om-page :is(#REAL-CONVERSATIONS, #HIGHLIGHTS, #LESSONS, #SELF-LEARNING, #TESTIMONIALS, #CONTACT) {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

body.home #page .om-page :is(#REAL-CONVERSATIONS, #HIGHLIGHTS, #LESSONS, #SELF-LEARNING, #TESTIMONIALS, #CONTACT)::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -190px;
    right: -150px;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: rgba(18, 106, 89, 0.12);
    pointer-events: none;
}

body.home #page .om-page :is(#REAL-CONVERSATIONS, #SELF-LEARNING, #CONTACT)::before {
    background: rgba(215, 236, 226, 0.16);
}

body.home #page .om-page #HIGHLIGHTS::before {
    top: auto;
    bottom: -190px;
    right: -155px;
    background: #126a59;
}

body.home #page .om-page #LESSONS::before {
    top: auto;
    right: auto;
    bottom: -230px;
    left: -210px;
    width: 360px;
    height: 360px;
    background: #126a59;
}

@media (max-width: 921px) {
    body.home #page .om-page :is(.om-section, #TESTIMONIALS, #INSTAGRAM) {
        width: calc(100% - 24px) !important;
        margin: 16px auto !important;
        padding: 36px 24px !important;
        scroll-margin-top: 96px;
    }

}

@media (max-width: 600px) {
    body.home #page .om-page :is(.om-section, #TESTIMONIALS, #INSTAGRAM) {
        width: calc(100% - 16px) !important;
        padding: 32px 20px !important;
        border-radius: 20px !important;
    }

    body.home #page .om-page #ABOUT.om-conversation-hero {
        width: calc(100% - 16px) !important;
        margin: 16px auto !important;
        padding: 34px 20px !important;
    }

    body.home #page .om-page :is(#HIGHLIGHTS, #LESSONS) .om-card {
        padding: 20px !important;
    }

    body.home #page .om-page #REAL-CONVERSATIONS .om-conversation-card h3 {
        margin-right: 20px !important;
        margin-left: 20px !important;
    }

    body.home #page .om-page #REAL-CONVERSATIONS .om-conversation-card p {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    body.home #page .om-page :is(#REAL-CONVERSATIONS, #SELF-LEARNING, #TESTIMONIALS, #CONTACT)::before {
        top: -150px;
        right: -125px;
        width: 260px;
        height: 260px;
    }

    body.home #page .om-page #HIGHLIGHTS::before {
        bottom: -205px;
        right: -185px;
    }

    body.home #page .om-page #LESSONS::before {
        bottom: -245px;
        left: -245px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.home #page .om-page :is(.wp-block-button__link, .openminds-contact-form button, :where(#sbi_load) .sbi_load_btn, :where(#sbi_load) .sbi_follow_btn a) {
        transition: none !important;
        transform: none !important;
    }
}
