/*
Theme Name: HEALTH IN EDEN
Description: Garden of Eden teaching and charitable outreach under Redeeming Self — From Lost to Life.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: health-in-eden
License: GNU General Public License v2 or later
*/
:root {
    --hie-emerald: #103d30;
    --hie-deep: #09261f;
    --hie-gold: #edc772;
    --hie-ivory: #faf6eb;
    --hie-ink: #19352b;
    --hie-line: #ded5bc;
    --hie-space: clamp(3rem, 7vw, 6rem);
    --hie-width: 74rem;
    --hie-title: Cinzel, Georgia, serif;
    --hie-body: "Source Sans 3", system-ui, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--hie-ivory); color: var(--hie-ink); font: 1.125rem/1.6 var(--hie-body); }
h1, h2, h3 { font-family: var(--hie-title); line-height: 1.2; text-wrap: balance; }
h1 { font-size: clamp(2rem, 5vw, 4.4rem); }
h2 { font-size: clamp(1.55rem, 3vw, 2.65rem); }
h3 { font-size: 1.18rem; }
img, iframe { max-width: 100%; }
img { height: auto; }
a { color: inherit; text-underline-offset: .19em; }
:focus-visible { outline: 3px solid #146b94; outline-offset: 4px; }
.hie-header :focus-visible, .hie-hero :focus-visible, .hie-dark :focus-visible, .hie-footer :focus-visible { outline-color: #fff; }
.hie-skip { position: fixed; top: 0; left: 1rem; z-index: 100000; padding: .6rem 1rem; background: #fff; transform: translateY(-130%); }
.hie-skip:focus { transform: none; }
.hie-wrap { width: min(var(--hie-width), calc(100% - 2.5rem)); margin-inline: auto; }
.hie-header, .hie-footer { color: var(--hie-ivory); background: var(--hie-deep); }
.hie-header-inner, .hie-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding-block: 1rem; }
.hie-brand { flex-shrink: 0; font: 700 1.05rem var(--hie-title); letter-spacing: .05em; }
.hie-brand a { display: inline-flex; align-items: center; gap: .55rem; text-decoration: none; }
.hie-brand span { color: var(--hie-gold); }
.hie-brand img { display: block; width: auto; max-width: 9rem; max-height: 3rem; object-fit: contain; }
.hie-nav, .hie-menu { display: flex; align-items: center; gap: .3rem 1rem; flex-wrap: wrap; }
.hie-nav { justify-content: flex-end; }
.hie-menu { list-style: none; padding: 0; margin: 0; }
.hie-menu a { display: block; padding-block: .5rem; font-size: .97rem; text-decoration: none; }
.hie-menu a:hover, .hie-menu .current-menu-item > a { text-decoration: underline; }
.hie-button, .wp-block-button__link { display: inline-flex; align-items: center; min-height: 44px; padding: .55rem 1.05rem; border-radius: .25rem; background: var(--hie-gold); color: var(--hie-deep); font: 700 1rem/1.25 var(--hie-body); text-decoration: none; }
.hie-button:hover, .wp-block-button__link:hover { background: #ffdf98; color: var(--hie-deep); }
.hie-hero { padding-block: clamp(1.5rem, 4vw, 4rem); color: #fff; background: radial-gradient(ellipse at top, var(--hie-emerald), var(--hie-deep)); }
.hie-hero-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.hie-hero .wp-block-image { margin: 0; }
.hie-hero .wp-block-image img { display: block; width: 100%; border: 1px solid #a48043; border-radius: .4rem; }
.hie-hero h1 { margin: .5rem 0 1rem; }
.hie-kicker { color: var(--hie-gold); font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.hie-hero .wp-block-buttons { gap: .75rem; }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: .75rem; }
.hie-hero .is-style-outline .wp-block-button__link { color: #fff; background: #09261f; }
.hie-section { padding-block: var(--hie-space); }
.hie-section h2 { margin-top: 0; }
.hie-mission { max-width: 50rem; text-align: center; }
.hie-dark { background: var(--hie-emerald); color: var(--hie-ivory); }
.hie-tint { background: #f0ead9; }
.hie-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; margin-block: 1.5rem; }
.hie-card { padding: 1.35rem; background: #fffdf7; color: var(--hie-ink); border: 1px solid var(--hie-line); border-top: .24rem solid #b68536; border-radius: .3rem; }
.hie-card h3 { margin-top: .4rem; }
.hie-card .wp-block-image img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.hie-content { max-width: 53rem; min-height: 50vh; padding-block: var(--hie-space); }
.hie-content > article > h1 { margin-top: 0; }
.hie-content section { margin-block: 2.5rem; scroll-margin-block-start: 1rem; }
.hie-post { padding-block: 1rem; border-bottom: 1px solid var(--hie-line); }
.hie-footer-inner { padding-block: 2rem; }
input, textarea, select, button { max-width: 100%; font: inherit; }
@media (prefehie-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; }
}
@media (max-width: 66rem) {
    .hie-header-inner { align-items: flex-start; flex-direction: column; gap: .6rem; }
    .hie-nav { justify-content: flex-start; }
}
@media (max-width: 54rem) {
    .hie-hero-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 42rem) {
    .hie-header-inner { width: calc(100% - 1.5rem); }
    .hie-nav { width: 100%; }
    .hie-menu { flex-basis: 100%; gap: 0 .8rem; }
    .hie-menu a { min-height: 44px; display: flex; align-items: center; }
    .hie-footer-inner { align-items: flex-start; flex-direction: column; }
}

.hie-menu-toggle {
    min-height: 44px;
    border: 1px solid var(--hie-gold);
    border-radius: .25rem;
    background: transparent;
    color: var(--hie-ivory);
    padding: .35rem .8rem;
    cursor: pointer;
}
.hie-menu-panel[hidden], .hie-menu-toggle[hidden] { display: none; }
.hie-subtitle { font-size: clamp(1.15rem, 2.4vw, 1.6rem); margin-block: .5rem 1.35rem; }
.hie-reference { font-weight: 700; color: var(--hie-gold); }
.hie-content .hie-reference { color: #72501c; }
.hie-status { font-size: .9rem; font-weight: 700; color: #72501c; }
.hie-content .wp-block-image { margin-inline: 0; }
.hie-content section[id] { scroll-margin-top: 1.25rem; }
.hie-hero .wp-block-image img { aspect-ratio: 16 / 9; object-fit: cover; }
@media (max-width: 54rem) {
    .hie-menu-panel { flex: 1 0 100%; }
    .hie-nav { justify-content: space-between; width: 100%; }
    .hie-menu-panel .hie-menu { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(9rem, 100%), 1fr)); }
    .hie-menu-panel .hie-menu a { padding: .5rem; }
}
