/* THE WAY / ZOE LIFE — sacred design system v2 */
:root{
  --navy-950:#0a1a30; --navy-900:#0f2647; --navy-800:#173764; --navy-700:#22497f;
  --gold-400:#e0b458; --gold-500:#c9982f; --gold-600:#a97a1f;
  --cream-50:#faf6ec; --cream-100:#f2ead6; --ivory:#fffdf7;
  --stone-300:#d9d2c2; --stone-600:#6b6353; --stone-800:#39352c;
  --white:#ffffff;
  --bg-page:var(--cream-50); --bg-surface:var(--ivory); --bg-surface-alt:var(--cream-100);
  --text-heading:var(--navy-900); --text-body:var(--stone-800); --text-muted:var(--stone-600);
  --text-on-dark:var(--white); --text-on-dark-muted:#c9d3e0;
  --border-soft:var(--stone-300); --accent:var(--gold-500); --accent-hover:var(--gold-600);
  --font-serif:'Cormorant Garamond', Georgia, 'Iowan Old Style', serif;
  --font-sans:Calibri, Carlito, 'Segoe UI', Roboto, Arial, sans-serif;
  --content-max:68rem; --radius-md:10px; --radius-lg:18px;
  --space-2:1rem; --space-3:1.5rem; --space-4:2.25rem; --space-5:3.5rem; --space-6:5.5rem;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.7;color:var(--text-body);background:var(--bg-page);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{margin:0;color:var(--text-heading);font-family:var(--font-serif);font-weight:600;line-height:1.2}
p{margin:0}
button{font:inherit;cursor:pointer}
.wrap{max-width:var(--content-max);margin:0 auto;padding:0 var(--space-3)}
:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px}
.skip-link{position:absolute;left:-999px;background:var(--navy-900);color:#fff;padding:.75rem 1.25rem;border-radius:6px;z-index:100}
.skip-link:focus{left:var(--space-3);top:var(--space-3)}
.eyebrow{display:block;font-family:var(--font-sans);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-2)}
.section{padding:var(--space-6) 0}
.section-alt{background:var(--bg-surface-alt)}
.section-dark{background:var(--navy-950);color:var(--text-on-dark)}
.section-dark h2,.section-dark h3{color:#fff}
.section-dark p{color:var(--text-on-dark-muted)}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.75rem;border-radius:999px;font-weight:700;font-family:var(--font-sans);font-size:.95rem;border:2px solid transparent;transition:transform .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--gold-500);color:var(--navy-950)}
.btn-primary:hover{background:var(--gold-400)}
.btn-ghost{background:transparent;border-color:currentColor;color:inherit}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-ghost-light{background:transparent;border-color:var(--navy-800);color:var(--navy-800)}
.btn-ghost-light:hover{background:var(--navy-900);color:#fff}
.cta-row{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:var(--space-4)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(10,26,48,.94);backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.08)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:.85rem var(--space-3)}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff}
.brand svg{color:var(--gold-400)}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-text .b1{font-family:var(--font-serif);font-weight:700;font-size:1.15rem}
.brand-text .b2{font-size:.68rem;letter-spacing:.18em;color:var(--gold-400)}
.nav-toggle{display:inline-flex;background:none;border:none;padding:.4rem;color:#fff}
.primary-nav{display:none}
.primary-nav ul{display:flex;align-items:center;gap:var(--space-3)}
.primary-nav a{font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#dbe2ec;padding:.4rem 0;border-bottom:2px solid transparent}
.primary-nav a:hover,.primary-nav a[aria-current="page"]{color:#fff;border-bottom-color:var(--gold-400)}
.header-actions{display:none}
.mobile-panel{display:none;background:var(--navy-950);border-top:1px solid rgba(255,255,255,.1)}
.mobile-panel.is-open{display:block}
.mobile-panel ul{padding:var(--space-2) var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:.2rem}
.mobile-panel a{display:block;padding:.65rem .25rem;font-weight:700;color:#dbe2ec;border-bottom:1px solid rgba(255,255,255,.08)}
.mobile-panel .btn{margin-top:var(--space-2);width:100%;justify-content:center}
@media (min-width:900px){.nav-toggle{display:none}.primary-nav{display:block}.header-actions{display:inline-flex}.mobile-panel{display:none!important}}
.hero{position:relative;color:#fff;padding:var(--space-6) 0 var(--space-5);overflow:hidden;background:
  radial-gradient(ellipse at 15% 10%,rgba(224,180,88,.14),transparent 55%),
  radial-gradient(ellipse at 85% 85%,rgba(34,73,127,.5),transparent 55%),
  linear-gradient(160deg,var(--navy-950) 0%,var(--navy-900) 55%,var(--navy-800) 100%)}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(115deg,rgba(255,255,255,.025) 0 2px,transparent 2px 90px)}
.hero .wrap{position:relative}
.hero-inner{max-width:42rem}
.hero .eyebrow{color:var(--gold-400)}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.1rem);color:#fff;letter-spacing:-.01em}
.hero .verse-ref{margin-top:var(--space-3);font-style:italic;font-family:var(--font-serif);font-size:1.2rem;color:var(--text-on-dark-muted);border-left:3px solid var(--gold-400);padding-left:var(--space-2)}
.page-hero{background:var(--navy-950);color:#fff;padding:var(--space-5) 0 var(--space-4)}
.page-hero .eyebrow{color:var(--gold-400)}
.page-hero h1{color:#fff;font-size:clamp(2rem,4.4vw,3rem)}
.page-hero p{margin-top:var(--space-2);max-width:42rem;color:var(--text-on-dark-muted);font-size:1.15rem}
.lede{max-width:44rem}
.lede h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.lede p{margin-top:var(--space-2);font-size:1.1rem}
.journey-grid{margin-top:var(--space-5);display:grid;gap:var(--space-3);grid-template-columns:1fr}
@media (min-width:720px){.journey-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.journey-grid.cols-4{grid-template-columns:repeat(4,1fr)}}
.journey-card{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--space-3);display:flex;flex-direction:column;gap:.6rem}
.journey-card .num{font-family:var(--font-serif);font-size:1.6rem;color:var(--gold-500)}
.journey-card h3{font-size:1.25rem}
.journey-card p{color:var(--text-muted);font-size:.96rem;flex-grow:1}
.dark-card{background:var(--navy-900);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--space-3)}
.dark-card h3{color:#fff}
.dark-card p{color:var(--text-on-dark-muted)}
.split{display:grid;gap:var(--space-3);grid-template-columns:1fr}
@media (min-width:800px){.split{grid-template-columns:1fr 1fr}}
.panel{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--space-4)}
.panel h3{font-size:1.15rem;letter-spacing:.02em;color:var(--navy-900);margin-bottom:var(--space-2)}
.need-list{margin-top:var(--space-4);display:grid;gap:.75rem;grid-template-columns:1fr}
@media (min-width:720px){.need-list{grid-template-columns:1fr 1fr}}
.need-item{background:var(--bg-surface);border:1px solid var(--border-soft);border-left:4px solid var(--gold-500);border-radius:var(--radius-md);padding:1rem 1.25rem}
.need-item h4{font-family:var(--font-sans);font-size:1rem;font-weight:700;color:var(--navy-900)}
.need-item p{margin-top:.35rem;font-size:.92rem;color:var(--text-muted)}
.scripture-note{margin-top:var(--space-2);font-size:.85rem;color:var(--text-muted);font-style:italic}
form.honest{margin-top:var(--space-3)}
form.honest textarea,form.honest input{width:100%;font:inherit;padding:.8rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-soft);background:var(--bg-surface)}
form.honest textarea{min-height:120px;resize:vertical}
.form-note{margin-top:.6rem;font-size:.85rem;color:var(--text-muted)}
.form-status{margin-top:.6rem;font-size:.9rem}
.form-status[data-state="submitted"]{color:var(--gold-600)}
.notice-banner{margin-top:var(--space-2);padding:.9rem 1.1rem;border-radius:var(--radius-md);background:var(--bg-surface-alt);border:1px dashed var(--stone-300);font-size:.88rem;color:var(--text-muted)}
.site-footer{background:var(--navy-950);color:var(--text-on-dark-muted);padding:var(--space-6) 0 var(--space-3);margin-top:var(--space-6)}
.footer-grid{display:grid;gap:var(--space-4);grid-template-columns:1fr}
@media (min-width:720px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
.footer-brand .brand-text .b1{color:#fff}
.footer-brand p{margin-top:var(--space-2);font-size:.92rem;max-width:20rem;font-family:var(--font-sans)}
.footer-col h4{color:#fff;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--space-2);font-family:var(--font-sans)}
.footer-col li{margin-bottom:.5rem;font-size:.92rem}
.footer-col a:hover{color:#fff}
.footer-bottom{margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:space-between}
