/*
Theme Name: RHEMA
Theme URI: https://rhemasys.in/
Description: A focused block-theme child for RHEMA's speech-to-tactile platform.
Author: RHEMA Innovations Pvt. Ltd.
Template: twentytwentyfive
Version: 1.2.0
Text Domain: rhema
*/

:root {
  --rhema-ink: #0b1730;
  --rhema-navy: #102a53;
  --rhema-blue: #155eef;
  --rhema-red: #ef4e45;
  --rhema-red-dark: #c73731;
  --rhema-paper: #f6f7f9;
  --rhema-line: #d9e0ea;
  --rhema-muted: #526173;
  --rhema-white: #ffffff;
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; font-size: 18px; line-height: 1.65; color: var(--rhema-ink); }
a { text-underline-offset: .18em; }
.rhema-shell { max-width: 1200px; margin-inline: auto; }
.rhema-section { padding: clamp(64px, 6vw, 88px) 24px; }
.rhema-eyebrow { display: flex; align-items: center; gap: 10px; letter-spacing: .1em; text-transform: uppercase; font-size: .78rem; font-weight: 750; color: var(--rhema-red-dark); }
.rhema-eyebrow:after { content: ""; width: 34px; height: 6px; opacity: .85; background: radial-gradient(circle, var(--rhema-red) 2px, transparent 2.5px) 0 50%/10px 6px repeat-x; }
.rhema-lede { max-width: 720px; color: #46566a; font-size: clamp(1rem, 1.15vw, 1.12rem); line-height: 1.7; }
.rhema-kicker { max-width: 620px; }

.rhema-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(11,23,48,.08); backdrop-filter: blur(12px); }
.rhema-header__inner { min-height: 76px; padding: 12px 24px; gap: 26px; }
.rhema-header .wp-block-navigation { font-size: .94rem; font-weight: 650; }
.rhema-header .wp-block-navigation-item__content { text-decoration: none; }
.rhema-header .wp-block-navigation-item__content:hover { color: var(--rhema-red); }
.rhema-header__cta .wp-block-button__link { padding: 10px 16px; }
.rhema-logo img { width: 152px; height: auto; display: block; }

.rhema-hero { position: relative; overflow: hidden; color: #fff; background-color: #102f59!important; background-image: linear-gradient(120deg,#0b203d 0%,#123f72 100%)!important; }
.rhema-hero:before { content: ""; position: absolute; width: 440px; height: 440px; right: -85px; top: -85px; opacity: .16; pointer-events: none; background: radial-gradient(circle, rgba(255,255,255,.88) 2px, transparent 2.6px) 0 0/28px 28px; mask-image: radial-gradient(circle at center, black 0 42%, transparent 72%); }
.rhema-hero:after { content: ""; position: absolute; width: 260px; height: 260px; left: 46%; bottom: -140px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 36px rgba(255,255,255,.035),0 0 0 72px rgba(255,255,255,.025); pointer-events: none; }
.rhema-hero__grid { position: relative; z-index: 1; min-height: 540px; padding: clamp(64px,6vw,84px) 24px; gap: clamp(48px,6vw,82px); }
.rhema-hero h1 { max-width: 650px; color: #fff!important; font-size: clamp(2.55rem,3.7vw,3rem)!important; letter-spacing: -.035em; line-height: 1.06; margin: 14px 0 22px; }
.rhema-hero__copy { max-width: 650px; color: #e6edf6; font-size: clamp(1.05rem,1.3vw,1.18rem); line-height: 1.68; }
.rhema-hero .wp-block-buttons { margin-top: 30px; }
.rhema-hero .is-style-outline .wp-block-button__link { color: #fff!important; background: var(--rhema-red-dark)!important; border-color: var(--rhema-red-dark)!important; }
.rhema-hero__visual { position: relative; }
.rhema-hero__visual img { width: 100%; min-height: 410px; object-fit: cover; border-radius: 18px; box-shadow: 0 18px 48px rgba(0,0,0,.24); }
.rhema-hero__note { position: absolute; left: -24px; bottom: 24px; width: min(300px,82%); background: #fff; color: var(--rhema-ink); padding: 18px 20px; border-radius: 10px; box-shadow: 0 14px 34px rgba(0,0,0,.22); }
.rhema-hero__note strong { display: block; font-size: 1.08rem; margin-bottom: 6px; }
.rhema-hero__note span { color: var(--rhema-muted); font-size: .92rem; line-height: 1.45; }

.rhema-proof { background: #fff; color: var(--rhema-ink); border-bottom: 1px solid var(--rhema-line); }
.rhema-proof__inner { padding: 22px 24px; gap: 16px 34px; }
.rhema-proof__item { font-weight: 650; font-size: .9rem; }
.rhema-proof__item:before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 10px; border-radius: 50%; background: var(--rhema-red); vertical-align: .08em; }

.rhema-how { background: var(--rhema-paper); }
.rhema-how__head { margin-bottom: 42px; }
.rhema-step { height: 100%; min-height: 245px; padding: 28px; background: #fff; border: 1px solid var(--rhema-line); border-radius: 12px; box-shadow: 0 8px 24px rgba(11,23,48,.045); }
.rhema-step__num { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--rhema-red-dark); font-size: .85rem; font-weight: 800; }
.rhema-step h3 { margin: 24px 0 10px; font-size: 1.16rem; }
.rhema-step p { color: #48586c; font-size: .96rem; line-height: 1.62; }

.rhema-product { background: #fff; }
.rhema-product__grid { gap: clamp(46px,7vw,96px); align-items: center!important; }
.rhema-product__image { background: #f1f4f8; padding: 22px; border-radius: 16px; }
.rhema-product__image img { border-radius: 14px; width: 100%; }
.rhema-checks { list-style: none; padding: 0; margin: 28px 0 34px; }
.rhema-checks li { position: relative; padding-left: 30px; margin: 15px 0; color: var(--rhema-ink); }
.rhema-checks li:before { content: "✓"; position: absolute; left: 0; color: var(--rhema-red); font-weight: 800; }

.rhema-field { background: var(--rhema-ink); color: #fff; }
.rhema-field h2, .rhema-field h3 { color: #fff!important; }
.rhema-field .rhema-lede { color: #d8e2ef!important; }
.rhema-field .rhema-eyebrow { color: #ff8c84!important; }
.rhema-field .rhema-eyebrow:after { background-image: radial-gradient(circle, #ff8c84 2px, transparent 2.5px); }
.rhema-field__grid { gap: 24px; margin-top: 50px; }
.rhema-field__card { overflow: hidden; height: 100%; background: #132443; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; }
.rhema-field__card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.rhema-field__body { padding: 25px; }
.rhema-field__body p { color: #d6e0ed; font-size: .96rem; line-height: 1.62; }

.rhema-future { background: #f1f4f8; }
.rhema-future__grid { gap: clamp(40px,7vw,90px); align-items: center!important; }
.rhema-future__image img { width: 100%; max-height: 650px; object-fit: contain; border-radius: 14px; box-shadow: 0 12px 34px rgba(11,23,48,.1); }
.rhema-disclaimer { margin-top: 18px; color: #66758a; font-size: .86rem; line-height: 1.5; }

.rhema-paths { background: #fff; }
.rhema-path { height: 100%; border-top: 3px solid var(--rhema-red); padding: 26px; background: var(--rhema-paper); border-radius: 0 0 10px 10px; }
.rhema-path p { color: #48586c; font-size: .96rem; line-height: 1.65; }
.rhema-path a { color: var(--rhema-blue); font-weight: 700; }

.rhema-cta { color: var(--rhema-ink); background: #fff1ef; border-top: 1px solid #f3d4d0; }
.rhema-cta__inner { padding: clamp(56px,6vw,76px) 24px; gap: 30px; }
.rhema-cta h2 { max-width: 740px; margin: 0; }
.rhema-cta p { max-width: 670px; color: #4b586a; }
.rhema-cta .wp-block-button__link { background: var(--rhema-red-dark); color: #fff; }

.rhema-footer { color: #d6dfec; background: #081326; }
.rhema-footer__inner { padding: 68px 24px 34px; }
.rhema-footer .rhema-logo img { width: 136px; background: #fff; padding: 8px 11px; border-radius: 6px; }
.rhema-footer h3 { color: #fff; font-size: 0.7rem; white-space: nowrap; }
.rhema-footer a { color: #d6dfec; text-decoration: none; }
.rhema-footer a:hover { color: #fff; }
.rhema-footer__small { margin-top: 50px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.14); color: #93a1b5; font-size: .82rem; }

.rhema-home { font-size: 18px; }
.wp-block-button .wp-element-button,
.wp-block-button .wp-block-button__link,
.rhema-header__cta .wp-block-button__link,
.rhema-cta .wp-block-button__link { color: #fff!important; background-color: var(--rhema-red-dark)!important; background-image: none!important; border-color: var(--rhema-red-dark)!important; box-shadow: none!important; }
.wp-element-button { border-radius: 7px!important; padding: 10px 16px!important; font-size: .88rem!important; font-weight: 700!important; line-height: 1.2!important; transition: background-color .18s ease, border-color .18s ease; }
.wp-element-button:hover { transform: none; box-shadow: none; background-color: var(--rhema-red-dark); }
.is-style-outline .wp-element-button:hover { background: #a92c28!important; color: #fff!important; }
.rhema-home h2 { max-width: 820px; font-size: clamp(2rem,3vw,2.7rem)!important; line-height: 1.1; }

@media (max-width: 960px) {
  .rhema-header__cta { display: none!important; }
  .rhema-hero__grid { min-height: auto; }
  .rhema-hero__note { left: 20px; }
}

@media (max-width: 781px) {
  .rhema-section { padding: 64px 20px; }
  .rhema-header__inner { min-height: 72px; padding: 12px 20px; }
  .rhema-logo img { width: 142px; }
  .rhema-hero__grid { padding: 72px 20px 84px; }
  .rhema-hero h1 { font-size: clamp(2.35rem,10.5vw,2.75rem)!important; }
  .rhema-hero__visual img { min-height: 370px; }
  .rhema-hero__note { position: relative; left: auto; bottom: auto; width: auto; margin: -54px 18px 0; }
  .rhema-proof__inner { align-items: flex-start!important; }
  .rhema-step, .rhema-path { padding: 26px; }
  .rhema-field__grid { gap: 18px; }
  .rhema-cta__inner { align-items: flex-start!important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { transition-duration: .01ms!important; animation-duration: .01ms!important; }
}

/* Footer column readability */
.rhema-footer__columns {
    align-items: stretch;
    flex-wrap: wrap !important;
    gap: 32px !important;
}

.rhema-footer__columns > .wp-block-column:first-child {
    flex: 1 1 360px !important;
    min-width: 280px;
}

.rhema-footer__columns > .wp-block-column:not(:first-child) {
    flex: 1 1 160px !important;
    min-width: 160px;
}

.rhema-footer__columns h3 {
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
    white-space: nowrap;
}

.rhema-footer__columns p,
.rhema-footer__columns a {
    word-break: normal;
    overflow-wrap: normal;
}

@media (max-width: 900px) {
    .rhema-footer__columns > .wp-block-column:first-child,
    .rhema-footer__columns > .wp-block-column:not(:first-child) {
        flex: 1 1 calc(50% - 16px) !important;
        min-width: 240px;
    }
}

@media (max-width: 600px) {
    .rhema-footer__columns {
        display: block !important;
    }

    .rhema-footer__columns > .wp-block-column {
        width: 100% !important;
        min-width: 0 !important;
        margin-bottom: 32px;
    }
}

/* Keep footer navigation headings readable on one line */
.rhema-footer .rhema-footer__columns h3.wp-block-heading {
    font-size: 0.75rem !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

.rhema-footer h3.wp-block-heading {
    font-size: 0.75rem !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}
