/*
Theme Name: Holistic Healing Code
Author: Pachavega
Description: A lightweight, mobile-first sales site for The Holistic Healing Code.
Version: 1.0.0
*/

:root{--forest:#173f35;--sage:#709970;--clay:#ac675a;--wine:#6d3b36;--ink:#363035;--cream:#f7f3e9;--sand:#e8e5d9;--gold:#c2b899;--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.eyebrow{margin:0 0 15px;color:var(--clay);font-size:.75rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.eyebrow.light{color:#dcebdc}.display,h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.07;margin:0}.display{font-size:clamp(3.1rem,7vw,6.8rem);letter-spacing:-.045em}h2{font-size:clamp(2.3rem,5vw,4.5rem);letter-spacing:-.035em}h3{font-size:clamp(1.4rem,2.3vw,2rem)}p{margin:0 0 1.15em}.lead{font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.65}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:14px 24px;border:1px solid var(--forest);border-radius:100px;background:var(--forest);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;font-weight:800;transition:.25s}.btn:hover{background:var(--clay);border-color:var(--clay);transform:translateY(-2px)}.btn.ghost{background:transparent;color:var(--forest)}.btn.light{background:#fff;color:var(--forest);border-color:#fff}.text-link{font-weight:800;color:var(--forest);text-underline-offset:5px}.site-header{position:sticky;top:0;z-index:100;background:rgba(247,243,233,.94);border-bottom:1px solid rgba(54,48,53,.1);backdrop-filter:blur(14px)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;text-decoration:none;gap:12px}.brand img{width:56px;height:56px;object-fit:contain}.brand span{font-family:Georgia,serif;font-size:1.04rem;line-height:1.05}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a{text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.06em}.menu-toggle{display:none;border:0;background:transparent;font:inherit;font-size:1.5rem}.hero{min-height:calc(100svh - 82px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);background:linear-gradient(135deg,#f7f3e9 0%,#ede6d8 100%)}.hero-copy{padding:clamp(60px,8vw,125px) max(7vw,40px);align-self:center}.hero-copy .lead{max-width:680px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-visual{position:relative;min-height:620px;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover}.hero-note{position:absolute;left:24px;bottom:24px;max-width:310px;padding:20px;background:rgba(23,63,53,.9);color:#fff;border-radius:2px;font-family:Georgia,serif;font-size:1.15rem}.intro{padding:110px 0}.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:start}.intro blockquote{font:400 clamp(2rem,4vw,3.9rem)/1.2 Georgia,serif;margin:0;color:var(--wine)}.intro-copy{max-width:680px}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:45px;background:rgba(54,48,53,.14);border:1px solid rgba(54,48,53,.14)}.pillar{padding:28px;background:var(--cream)}.pillar b{display:block;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--forest)}.promise{padding:110px 0;background:var(--forest);color:#fff}.promise-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.promise img{width:100%;height:660px;object-fit:cover}.promise-copy{max-width:610px}.signature{font:italic 1.7rem Georgia,serif;color:#dcebdc}.program{padding:120px 0}.section-head{max-width:800px;margin-bottom:55px}.two-paths{display:grid;grid-template-columns:1fr 1fr;gap:24px}.path{position:relative;padding:48px;background:#fff;border:1px solid #ded8c9;overflow:hidden}.path:nth-child(2){background:var(--wine);color:#fff}.path-number{font:400 5rem/1 Georgia,serif;opacity:.16;position:absolute;right:24px;top:22px}.path ul,.outcome ul{padding:0;margin:24px 0 0;list-style:none}.path li,.outcome li{position:relative;padding:9px 0 9px 25px}.path li:before,.outcome li:before{content:"✓";position:absolute;left:0;color:var(--sage);font-weight:900}.path:nth-child(2) li:before{color:#e2c9c2}.selector{margin-top:26px;padding:34px;background:var(--sand);text-align:center;font-family:Georgia,serif;font-size:clamp(1.35rem,2.5vw,2rem)}.who{padding:110px 0;background:#ede7da}.who-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.checks{display:grid;gap:2px}.check{padding:22px 22px 22px 54px;background:#fff;position:relative}.check:before{content:"✓";position:absolute;left:22px;color:var(--clay);font-weight:900}.flow{padding:115px 0;background:var(--white)}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.week{padding:30px;border-top:4px solid var(--sage);background:var(--cream)}.week span{display:block;color:var(--clay);font-size:.73rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px}.week p{font-size:.92rem}.included{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.included div{background:var(--forest);color:#fff;padding:22px;text-align:center;font-size:.8rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.outcomes{padding:115px 0}.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.outcome{padding:32px;background:#fff;border:1px solid #ded8c9}.outcome p{font-size:.94rem}.toolkit{padding:115px 0;background:var(--wine);color:#fff}.toolkit-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:start}.tools{display:flex;flex-wrap:wrap;gap:10px}.tool{padding:13px 17px;border:1px solid rgba(255,255,255,.42);border-radius:100px;font-size:.78rem;font-weight:700}.danielle{padding:115px 0}.danielle-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.danielle img{width:100%;max-height:720px;object-fit:cover}.quote{font:italic 1.55rem/1.5 Georgia,serif;color:var(--wine);border-left:3px solid var(--clay);padding-left:25px;margin:35px 0}.cta{padding:110px 0;background:linear-gradient(130deg,var(--forest),#25594b);color:#fff;text-align:center}.cta-inner{max-width:850px;margin:auto}.cta .btn{margin:6px}.contact-list{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:28px;font-size:.85rem}.site-footer{padding:34px 0;background:#102e27;color:#dbe7e2}.footer-row{display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:.78rem}.mobile-cta{display:none}.reveal{opacity:0;transform:translateY(16px);transition:.65s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.nav{height:68px}.brand img{width:45px;height:45px}.brand span{font-size:.9rem}.menu-toggle{display:block}.nav-links{position:fixed;inset:68px 0 auto;display:none;flex-direction:column;align-items:stretch;padding:25px 20px 35px;background:var(--cream);box-shadow:0 12px 30px rgba(0,0,0,.12)}.nav-links.open{display:flex}.nav-links .btn{width:100%}.hero{min-height:auto;grid-template-columns:1fr}.hero-copy{padding:65px 24px}.hero-visual{min-height:520px}.intro-grid,.promise-grid,.who-grid,.toolkit-grid,.danielle-grid{grid-template-columns:1fr;gap:45px}.two-paths{grid-template-columns:1fr}.pillars{grid-template-columns:1fr 1fr}.timeline{grid-template-columns:1fr 1fr}.outcome-grid{grid-template-columns:1fr 1fr}.promise img{height:520px}.danielle img{max-height:600px}.mobile-cta{display:flex;position:fixed;z-index:90;left:14px;right:14px;bottom:12px;box-shadow:0 8px 30px rgba(0,0,0,.25)}body{padding-bottom:76px}.site-footer{padding-bottom:35px}}
@media(max-width:600px){body{font-size:16px}.wrap{width:min(calc(100% - 30px),var(--max))}.display{font-size:clamp(3rem,16vw,4.6rem)}h2{font-size:2.55rem}.hero-copy{padding:52px 20px}.hero-visual{min-height:430px}.hero-note{left:15px;right:15px;bottom:15px;max-width:none}.intro,.promise,.program,.who,.flow,.outcomes,.toolkit,.danielle,.cta{padding:76px 0}.pillars,.timeline,.outcome-grid,.included{grid-template-columns:1fr}.path{padding:34px 25px}.promise img{height:440px}.footer-row{align-items:flex-start;flex-direction:column}.contact-list{flex-direction:column;gap:8px}.btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn{transition:none}}

/* Mobile overflow safeguards */
html,body{overflow-x:hidden}
@media(max-width:900px){.menu-toggle{flex:0 0 auto}.hero>*{min-width:0}}
@media(max-width:600px){.display{font-size:clamp(2.85rem,13.2vw,3.45rem);letter-spacing:-.05em}.eyebrow{font-size:.68rem;line-height:1.55;letter-spacing:.16em;overflow-wrap:anywhere}.hero-copy{width:100%;max-width:100%;overflow:hidden}}
@media(max-width:900px){.site-header,.hero{width:100vw;max-width:100%}.hero{grid-template-columns:minmax(0,1fr)!important}.hero-copy,.hero-visual{width:100%;min-width:0;max-width:100vw}.hero-copy p{overflow-wrap:anywhere}.hero-actions{width:100%;max-width:100%}.hero-actions .btn{max-width:100%}.mobile-cta{width:auto;max-width:calc(100vw - 28px)}}

/* Six month curriculum */
.curriculum{padding:120px 0;background:#ede7da}.curriculum-head{max-width:860px;margin-bottom:52px}.months{display:grid;grid-template-columns:1fr 1fr;gap:18px}.month{position:relative;padding:38px;background:var(--cream);border:1px solid #d8d0bf}.month span{display:block;margin-bottom:12px;color:var(--clay);font-size:.72rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.month h3{margin-bottom:14px;font-size:clamp(1.55rem,2.5vw,2.2rem)}.month strong{display:block;margin-bottom:12px;color:var(--forest);font-size:.9rem}.month p{margin:0;font-size:.96rem}.path-intro{max-width:820px;margin:-30px 0 35px;font-size:1.05rem}.path p:not(.eyebrow):not(.lead){font-size:.94rem}.danielle img{object-position:center 32%}
@media(max-width:900px){.curriculum{padding:84px 0}.months{grid-template-columns:1fr}.path-intro{margin-top:-25px}.danielle img{height:560px;object-position:center 25%}}
@media(max-width:600px){.curriculum{padding:64px 0}.curriculum-head{margin-bottom:30px}.month{padding:26px 22px}.month h3{font-size:1.65rem}.danielle img{height:380px}.mobile-cta{min-height:48px;padding:10px 18px;font-size:.66rem}}

/* Refined mobile reading experience */
@media(max-width:600px){
 body{padding-bottom:64px}.nav{height:64px}.nav-links{inset:64px 0 auto}.brand img{width:42px;height:42px}.brand span{font-size:.84rem}
 .hero-copy{padding:44px 20px 48px}.hero-visual{min-height:360px}.hero-note{padding:15px;font-size:1rem}.hero-actions{margin-top:24px}.display{font-size:clamp(2.75rem,12.8vw,3.35rem)}
 h2{font-size:2.18rem}.lead{font-size:1.05rem}.intro,.promise,.program,.who,.flow,.outcomes,.toolkit,.danielle,.cta{padding:64px 0}.promise img{height:360px}.section-head{margin-bottom:36px}.path{padding:30px 22px}.selector{padding:24px;font-size:1.25rem}.week,.outcome{padding:25px 22px}
 .mobile-collapsible>p:last-child,.path.mobile-collapsible>p:not(.eyebrow):not(.lead){display:none}.mobile-collapsible.expanded>p:last-child,.path.mobile-collapsible.expanded>p:not(.eyebrow):not(.lead){display:block}
 .mobile-more{display:block;width:100%;margin:16px 0 0;padding:12px 0;border:0;border-top:1px solid rgba(54,48,53,.2);background:transparent;color:var(--forest);font:800 .69rem/1.3 "Avenir Next",Arial,sans-serif;letter-spacing:.12em;text-align:left;text-transform:uppercase}.path:nth-child(2) .mobile-more{color:#fff;border-top-color:rgba(255,255,255,.32)}
 .mobile-cta{display:flex;opacity:0;pointer-events:none;transform:translateY(130%);transition:opacity .25s,transform .25s}.mobile-cta.visible-cta{opacity:1;pointer-events:auto;transform:translateY(0)}
}
