:root {
  --sage: #6F7F6B;
  --deep-sage: #5B6E58;
  --dark-sage: #2D3B29;
  --warm-beige: #E8DFD2;
  --soft-beige: #F5F0E8;
  --cream: #FAF7F2;
  --terracotta: #C48A6A;
  --clay: #D4A373;
  --text-dark: #3A3A3A;
  --text-muted: #7A7A7A;
  --sage-overlay: rgba(111, 127, 107, 0.88);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter',sans-serif;background:var(--warm-beige);color:var(--text-dark);line-height:1.7;font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.2}

/* ── Nav ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.2rem 3rem;display:flex;justify-content:space-between;align-items:center;transition:background .4s,box-shadow .4s,transform .35s}
nav.scrolled{background:rgba(111,127,107,.92);backdrop-filter:blur(14px);box-shadow:0 1px 20px rgba(0,0,0,.08)}
nav.scrolled .nav-logo{color:var(--cream)}
nav.scrolled .nav-logo .dot{color:var(--sage)}
nav.scrolled .nav-links a{color:rgba(243,239,231,.8)}
nav.scrolled .nav-links a:hover{color:var(--cream)}
nav.scrolled .nav-links a::after{background:var(--clay)}
nav.scrolled .mobile-toggle span{background:var(--cream)}
/* Nav transparent when over sage section */
nav.scrolled.nav-on-sage{background:transparent;backdrop-filter:none;box-shadow:none}
nav.nav-hidden{transform:translateY(-100%)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:500;color:var(--deep-sage);text-decoration:none;letter-spacing:-.02em}
.nav-logo .dot{color:var(--sage)}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-family:'Inter',sans-serif;font-size:.78rem;font-weight:400;color:var(--text-dark);text-decoration:none;letter-spacing:.08em;transition:color .3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--sage);transition:width .3s}
.nav-links a:hover{color:var(--deep-sage)}
.nav-links a:hover::after{width:100%}
.mobile-toggle{display:none;background:none;border:none;cursor:pointer;width:28px;height:20px;position:relative}
.mobile-toggle span{display:block;width:100%;height:1.5px;background:var(--deep-sage);position:absolute;left:0;transition:.3s}
.mobile-toggle span:nth-child(1){top:0}
.mobile-toggle span:nth-child(2){top:50%;transform:translateY(-50%)}
.mobile-toggle span:nth-child(3){bottom:0}

/* ── Buttons ── */
.btn-sage{display:inline-block;background:var(--sage);color:var(--cream);padding:.75rem 2rem;border-radius:10px;font-family:'Inter',sans-serif;font-size:.88rem;font-weight:500;text-decoration:none;border:none;cursor:pointer;transition:background .3s,transform .2s}
.btn-sage:hover{background:var(--deep-sage);transform:translateY(-2px)}
.btn-outline{display:inline-block;background:transparent;color:var(--sage);padding:.7rem 1.8rem;border-radius:10px;font-family:'Inter',sans-serif;font-size:.88rem;font-weight:400;text-decoration:none;border:1px solid var(--sage);cursor:pointer;transition:background .3s}
.btn-outline:hover{background:rgba(111,127,107,.08)}
.btn-cream{display:inline-block;background:var(--soft-beige);color:var(--deep-sage);padding:.75rem 2rem;border-radius:10px;font-family:'Inter',sans-serif;font-size:.88rem;font-weight:500;text-decoration:none;border:none;cursor:pointer;transition:transform .2s,box-shadow .3s}
.btn-cream:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.12)}
.btn-outline-cream{display:inline-block;background:transparent;color:var(--cream);padding:.7rem 1.8rem;border-radius:10px;font-family:'Inter',sans-serif;font-size:.88rem;font-weight:400;text-decoration:none;border:1px solid rgba(250,247,242,.5);cursor:pointer;transition:background .3s}
.btn-outline-cream:hover{background:rgba(250,247,242,.1);border-color:var(--cream)}

/* ── Hero ── */
.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--warm-beige);height:72vh;padding-top:70px;overflow:hidden}
.hero-image{overflow:hidden;padding:.6rem 0 .6rem 1rem;min-height:0}
.hero-image img{width:100%;height:100%;object-fit:cover;border-radius:16px}
.hero-content{display:flex;flex-direction:column;justify-content:center;padding:1.5rem 3.5rem;min-height:0}
.hero-brand{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:400;color:var(--deep-sage);letter-spacing:-.03em;margin-bottom:.3rem;opacity:0;animation:fadeUp 1s .3s forwards}
.hero-brand .dot{color:var(--sage)}
.hero-tagline{font-family:'Cormorant Garamond',serif;font-size:clamp(1.1rem,1.6vw,1.4rem);font-weight:400;color:var(--deep-sage);margin-bottom:1rem;opacity:0;animation:fadeUp 1s .5s forwards}
.hero-desc{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--text-muted);font-style:italic;max-width:480px;line-height:1.7;margin-bottom:1.5rem;opacity:0;animation:fadeUp 1s .7s forwards}
.hero-buttons{display:flex;gap:1rem;opacity:0;animation:fadeUp 1s .9s forwards}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* ── Sections ── */
section{padding:6rem 3rem}

/* ── Philosophy Sage Bar ── */
.sage-bar-philosophy{background:var(--deep-sage);position:relative;padding:0}
.sage-curve-top{display:block;width:100%;height:35px}
.sage-bar-content{max-width:520px;margin:0 auto;padding:3rem 2.5rem 3rem;text-align:center}
.sage-bar-philosophy h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,3.2vw,2.4rem);color:#F3EFE7;margin-bottom:2rem;font-weight:400;line-height:1.35}
.sage-body{font-family:'Cormorant Garamond',serif;font-size:clamp(1rem,1.4vw,1.15rem);color:#F3EFE7;line-height:1.75;margin-bottom:2rem}

/* Ghost Button (on sage only) */
.btn-ghost-sage{display:inline-block;background:rgba(232,223,210,.12);border:1px solid rgba(232,223,210,.3);color:var(--warm-beige);padding:.55rem 1.5rem;border-radius:8px;font-family:'Inter',sans-serif;font-size:.8rem;font-weight:400;text-decoration:none;cursor:pointer;transition:background .3s;margin-top:1.5rem}
.btn-ghost-sage:hover{background:rgba(232,223,210,.2)}

/* ── Sage Bar (generic) ── */
.sage-bar{background:var(--deep-sage);color:rgba(243,239,231,.85);padding:3rem 2rem;text-align:center}
.sage-bar h3{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:400;color:#F3EFE7;margin-bottom:.4rem}
.sage-bar p{font-family:'Cormorant Garamond',serif;font-size:1rem;font-style:italic;opacity:.7;max-width:550px;margin:0 auto}

/* ── How It Works ── */
.how-it-works{background:var(--soft-beige);padding:3.5rem 3rem 3rem}
.how-it-works h2{font-size:clamp(2rem,3.5vw,2.8rem);color:var(--deep-sage);text-align:center;margin-bottom:.6rem}
.hiw-intro{font-family:'Cormorant Garamond',serif;font-size:clamp(.95rem,1.3vw,1.1rem);color:var(--text-muted);font-style:italic;text-align:center;max-width:480px;margin:0 auto 2.5rem;line-height:1.55}
.hiw-blocks{max-width:880px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2.5rem}
.hiw-block{padding:2rem 1.8rem;border-radius:14px;background:rgba(232,223,210,.45)}
.hiw-block h3{font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:var(--deep-sage);font-weight:500;margin-bottom:.5rem}
.hiw-block p{font-family:'Cormorant Garamond',serif;font-size:.95rem;font-weight:400;color:var(--text-muted);line-height:1.65;font-style:italic}
.sage-accent{color:var(--deep-sage);font-weight:500;font-style:normal}
.hiw-cta{text-align:center;margin-top:2.5rem;display:none}
.hiw-cta-btn{white-space:nowrap}
.hiw-dots{display:none;justify-content:center;gap:6px;padding:10px 0 0}

/* ── Tier Sage Band ── */
.tier-sage-band{background:var(--deep-sage);padding:2.5rem 2rem;text-align:center}
.tier-curve-top{display:none;width:100%;height:25px}
.tier-sage-band h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,3vw,2.2rem);color:#F3EFE7;font-weight:400;font-style:italic}
.tier-sage-band p{font-family:'Inter',sans-serif;font-size:.85rem;color:rgba(243,239,231,.55);font-weight:300;margin-top:.4rem}

/* ── Ladder / Tiers ── */
.ladder{background:var(--warm-beige);padding:2.5rem 3rem 4rem}

/* Desktop tiers: 4-col, no icons, hover-reveal CTA */
.ladder-grid-desktop{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;max-width:1000px;margin:0 auto}
.ladder-card-d{text-align:center;padding:2rem 1.2rem 1.5rem;border-radius:14px;background:rgba(245,240,232,.6);cursor:pointer;transition:all .3s;display:flex;flex-direction:column;align-items:center;text-decoration:none}
.ladder-card-d:hover{background:rgba(111,127,107,.08);transform:translateY(-3px)}
.ladder-card-d h3{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--deep-sage);font-weight:600;margin-bottom:.4rem}
.ladder-card-d p{font-family:'Cormorant Garamond',serif;font-size:.88rem;color:var(--text-muted);font-style:italic;line-height:1.4;margin-bottom:auto;padding-bottom:.8rem}
.ladder-price-d{font-family:'Inter',sans-serif;font-size:.68rem;color:var(--sage);font-weight:400;letter-spacing:.02em;margin-bottom:.6rem}
.ladder-cta-link{font-family:'Inter',sans-serif;font-size:.72rem;color:var(--sage);font-weight:500;letter-spacing:.02em;opacity:0;transition:opacity .3s}
.ladder-card-d:hover .ladder-cta-link{opacity:1}

/* Mobile tiers: accent bar cards */
.ladder-grid-mobile{display:none;flex-direction:column;gap:.6rem}
.ladder-card-m{display:grid;grid-template-columns:4px 1fr auto;gap:0 .9rem;align-items:center;padding:1rem .9rem;border-radius:12px;background:rgba(245,240,232,.5);cursor:pointer;transition:all .3s;text-decoration:none}
.ladder-card-m:hover{background:rgba(111,127,107,.08)}
.ladder-card-m .accent-bar{border-radius:2px;align-self:stretch}
.ladder-card-m.t1 .accent-bar{background:#9DAA9A}
.ladder-card-m.t2 .accent-bar{background:#6F7F6B}
.ladder-card-m.t3 .accent-bar{background:#5B6E58}
.ladder-card-m.t4 .accent-bar{background:#2D3B29}
.ladder-text-m{display:flex;flex-direction:column}
.ladder-text-m h3{font-family:'Cormorant Garamond',serif;font-size:1.08rem;color:var(--deep-sage);font-weight:500;margin-bottom:.15rem}
.ladder-text-m p{font-family:'Cormorant Garamond',serif;font-size:.82rem;color:var(--text-muted);font-style:italic;line-height:1.35;margin-bottom:.35rem}
.ladder-cta-m{font-family:'Inter',sans-serif;font-size:.68rem;color:var(--sage);font-weight:500;letter-spacing:.02em}
.ladder-price-col{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:62px}
.ladder-price-m{font-family:'Inter',sans-serif;font-size:.62rem;color:var(--sage);font-weight:400;letter-spacing:.02em;white-space:nowrap}

/* ── Outcome ── */
.outcome{display:grid;grid-template-columns:1fr 1fr;background:var(--soft-beige);padding:0;max-height:100vh}
.outcome-image{overflow:hidden;padding:1.5rem 0 1.5rem 1.5rem;max-height:100vh}
.outcome-image img{width:100%;height:100%;object-fit:cover;border-radius:20px}
.outcome-content{display:flex;flex-direction:column;justify-content:center;padding:3.5rem}
.outcome h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);color:var(--deep-sage);margin-bottom:2rem;font-weight:400}
.outcome-line{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,2vw,1.7rem);color:var(--text-muted);font-style:italic;display:block;margin-bottom:.3rem}

/* ── Tier Hero (detail pages) ── */
.tier-hero{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden}
.tier-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--soft-beige) 0%,var(--warm-beige) 50%,rgba(111,127,107,.15) 100%)}
.tier-bg.alt{background:linear-gradient(145deg,var(--warm-beige) 0%,#d6cfc4 50%,rgba(91,110,88,.2) 100%)}
.tier-card{position:relative;z-index:2;background:var(--sage-overlay);backdrop-filter:blur(8px);border-radius:24px;padding:3.5rem 3rem;margin:3rem;max-width:650px;color:var(--cream)}
.tier-card .tier-label{font-family:'Inter',sans-serif;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;opacity:.8;margin-bottom:.5rem}
.tier-card h2{font-size:clamp(3rem,5vw,4.5rem);color:var(--cream);margin-bottom:.3rem;font-weight:300}
.tier-card .tier-sub{font-family:'Cormorant Garamond',serif;font-size:1.15rem;opacity:.9;margin-bottom:.8rem}
.tier-card .tier-desc{font-family:'Cormorant Garamond',serif;font-size:1rem;font-style:italic;opacity:.85;margin-bottom:1.5rem;line-height:1.6}
.tier-card ul{list-style:none;padding:0;margin-bottom:2rem}
.tier-card li{font-family:'Inter',sans-serif;font-size:.88rem;font-weight:300;padding:.4rem 0 .4rem 1.2rem;position:relative;opacity:.9;line-height:1.6}
.tier-card li::before{content:'\2022';position:absolute;left:0;color:var(--warm-beige)}
.tier-card .tier-signoff{font-family:'Cormorant Garamond',serif;font-weight:600;font-style:italic;font-size:1rem;margin-bottom:1.5rem}
.tier-card .tier-actions{display:flex;gap:1.5rem;flex-wrap:wrap}
.tier-pricing{font-family:'Cormorant Garamond',serif;font-size:.92rem;font-style:italic;opacity:.75;margin-top:1.2rem}

/* ── Numbered Steps ── */
.steps{background:var(--soft-beige);padding:5rem 3rem}
.steps h2{font-size:2rem;color:var(--deep-sage);text-align:center;margin-bottom:3rem}
.steps-grid{max-width:800px;margin:0 auto;display:grid;gap:2rem}
.step{display:grid;grid-template-columns:60px 1fr;gap:1.5rem;align-items:start}
.step-num{font-family:'Cormorant Garamond',serif;font-size:2.5rem;color:var(--terracotta);font-weight:300;line-height:1}
.step p{font-family:'Inter',sans-serif;font-size:.95rem;font-weight:300;line-height:1.7;color:var(--text-dark)}
.steps-cta{text-align:center;margin-top:3rem;display:flex;gap:1rem;justify-content:center}

/* ── Gift Philosophy ── */
.gift-philosophy{background:var(--soft-beige);padding:5rem 3rem;text-align:center}
.gift-philosophy h2{font-size:clamp(1.8rem,3vw,2.4rem);color:var(--deep-sage);margin-bottom:.6rem}
.gift-philosophy .gp-sub{font-family:'Inter',sans-serif;font-size:.95rem;color:var(--text-muted);font-weight:300;margin-bottom:3rem}
.gp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:900px;margin:0 auto 2rem}
.gp-card h4{font-size:1.3rem;color:var(--deep-sage);margin-bottom:.4rem}
.gp-card p{font-family:'Inter',sans-serif;font-size:.88rem;color:var(--text-muted);font-weight:300;font-style:italic}
.gp-footer{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--sage);font-size:1.05rem}

/* ── Bundles ── */
.bundles{background:var(--warm-beige);padding:5rem 3rem}
.bundle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1000px;margin:0 auto 2rem}
.bundle-card{background:var(--soft-beige);border-radius:20px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.bundle-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.06)}
.bundle-header{padding:2rem 1.8rem;color:var(--cream);text-align:center}
.bundle-header.t1{background:var(--sage)}
.bundle-header.t2{background:var(--deep-sage)}
.bundle-header.t3{background:var(--dark-sage)}
.bundle-header h3{font-size:1.5rem;color:var(--cream);margin-bottom:.3rem}
.bundle-price{font-family:'Inter',sans-serif;font-size:2rem;font-weight:600}
.bundle-price .original{text-decoration:line-through;opacity:.6;font-size:1rem;font-weight:300;margin-right:.5rem}
.bundle-detail{font-family:'Inter',sans-serif;font-size:.8rem;font-weight:300;opacity:.8;margin-top:.3rem}
.bundle-body{padding:1.8rem}
.bundle-body p{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--text-muted);margin-bottom:1rem;line-height:1.6;font-style:italic}
.bundle-items{list-style:none;padding:0;margin-bottom:1.5rem}
.bundle-items li{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--text-muted);padding:.3rem 0 .3rem 1rem;position:relative;font-style:italic}
.bundle-items li::before{content:'\2726';position:absolute;left:0;color:var(--sage);font-size:.6rem;top:.45rem}
.bundle-cta{display:block;width:100%;background:var(--sage);color:var(--soft-beige);padding:.75rem;border:none;border-radius:10px;font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:500;cursor:pointer;transition:background .3s}
.bundle-cta:hover{background:var(--deep-sage)}
.bundles-footer{text-align:center;max-width:500px;margin:0 auto}
.bundles-footer p{font-family:'Inter',sans-serif;font-size:.88rem;color:var(--text-muted);font-weight:300;margin-bottom:.5rem}
.bundles-footer .wa-link{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--sage);font-size:1rem}
.bundles-footer .wa-link a{color:var(--sage);text-decoration:underline}

/* ── Bundle Tabs (mobile) ── */
.bundle-tabs{display:none;justify-content:center;gap:.4rem;margin-bottom:1.5rem}
.bundle-tab{padding:.55rem 1.3rem;border-radius:20px;border:1px solid var(--sage);background:transparent;font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:500;color:var(--sage);cursor:pointer;transition:all .3s}
.bundle-tab.active{background:var(--sage);color:var(--soft-beige)}

/* ── Most Chosen Badge ── */
.most-chosen{position:absolute;top:0;right:1rem;background:#F3EFE7;color:var(--deep-sage);font-family:'Inter',sans-serif;font-size:.6rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .8rem .3rem;border-radius:0 0 8px 8px;z-index:2}

/* ── Inline Waitlist Form ── */
.inline-waitlist{background:var(--soft-beige);padding:4rem 3rem;text-align:center}
.inline-waitlist h3{font-size:1.6rem;color:var(--deep-sage);margin-bottom:1rem}
.inline-form{display:flex;gap:.8rem;max-width:480px;margin:0 auto 1rem}
.inline-form input{flex:1;padding:.85rem 1.2rem;border:1px solid var(--warm-beige);border-radius:10px;font-family:'Inter',sans-serif;font-size:.88rem;font-weight:300;background:var(--soft-beige);outline:none;color:var(--text-dark)}
.inline-form input:focus{border-color:var(--sage)}
.inline-form input::placeholder{color:var(--text-muted)}
.inline-note{font-family:'Cormorant Garamond',serif;font-size:.95rem;color:var(--text-muted);font-style:italic}

/* ── FAQ ── */
.faq-section{background:var(--soft-beige);padding:7rem 3rem}
.faq-section h1{font-size:clamp(2rem,4vw,3rem);color:var(--deep-sage);text-align:center;margin-bottom:.5rem}
.faq-intro{text-align:center;color:var(--text-muted);font-size:1rem;margin-bottom:3rem;font-weight:300}
.faq-list{max-width:750px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--warm-beige);padding:1.5rem 0}
.faq-q{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--deep-sage);cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:500}
.faq-q::after{content:'+';font-size:1.5rem;color:var(--sage);transition:transform .3s}
.faq-item.open .faq-q::after{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s,padding .4s;font-family:'Inter',sans-serif;font-size:.92rem;color:var(--text-muted);line-height:1.7;font-weight:300}
.faq-item.open .faq-a{max-height:300px;padding-top:1rem}

/* ── Waitlist Page ── */
.waitlist-page{background:var(--soft-beige);padding:8rem 3rem 5rem;text-align:center;min-height:100vh}
.waitlist-page h1{font-size:clamp(2rem,4vw,2.8rem);color:var(--deep-sage);margin-bottom:1rem}
.waitlist-page>p{font-size:1rem;color:var(--text-muted);font-weight:300;max-width:500px;margin:0 auto 2.5rem}
.waitlist-form{max-width:400px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}
.waitlist-form input,.waitlist-form select{padding:.85rem 1.2rem;border:1px solid var(--warm-beige);border-radius:10px;font-family:'Inter',sans-serif;font-size:.88rem;font-weight:300;background:var(--soft-beige);outline:none;color:var(--text-dark)}
.waitlist-form input:focus,.waitlist-form select:focus{border-color:var(--sage)}
.waitlist-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B6B66' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}

/* ── Footer ── */
footer{background:var(--deep-sage);color:rgba(245,240,232,.7);padding:3rem;text-align:center}
footer .footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:var(--cream);margin-bottom:.5rem}
footer .footer-dot{color:var(--sage)}
footer .footer-tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;opacity:.7;margin-bottom:1.5rem}
footer .footer-links{display:flex;justify-content:center;gap:2rem;list-style:none;margin-bottom:1.5rem}
footer .footer-links a{font-family:'Inter',sans-serif;color:rgba(245,240,232,.6);text-decoration:none;font-size:.78rem;font-weight:300;letter-spacing:.05em;transition:color .3s}
footer .footer-links a:hover{color:var(--cream)}
footer .footer-copy{font-family:'Inter',sans-serif;font-size:.72rem;font-weight:300;opacity:.5}

/* ── Modal ── */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;align-items:center;justify-content:center}
.modal-overlay.active{display:flex}
.modal{background:var(--soft-beige);border-radius:20px;padding:2.5rem;max-width:420px;width:90%;position:relative}
.modal-close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer}
.modal h3{font-size:1.6rem;color:var(--deep-sage);margin-bottom:1.5rem}
.modal input{width:100%;padding:.8rem 1rem;border:1px solid var(--warm-beige);border-radius:10px;font-family:'Inter',sans-serif;font-size:.88rem;background:var(--soft-beige);outline:none;margin-bottom:.8rem;color:var(--text-dark)}
.modal input:focus{border-color:var(--sage)}
.modal .modal-note{font-size:.82rem;color:var(--text-muted);font-style:italic;margin-top:.5rem;font-family:'Cormorant Garamond',serif;font-size:.95rem}

/* ── Scroll Reveal ── */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ── Back link ── */
.back-link{display:inline-block;font-family:'Inter',sans-serif;font-size:.85rem;color:var(--sage);text-decoration:none;margin-top:1rem;transition:color .3s}
.back-link:hover{color:var(--deep-sage)}

/* ══════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════ */

@media(max-width:1024px){
  .hero{grid-template-columns:1fr;height:auto;max-height:100vh;min-height:0;padding:70px 0 0 0}
  .hero-image{height:44vh;padding:0;min-height:0}
  .hero-image img{border-radius:0}
  .hero-content{padding:1rem 1.8rem 1.5rem}
  .outcome{grid-template-columns:1fr}
  .outcome-image{height:40vh;padding:0}
  .outcome-image img{border-radius:0}
  .outcome-content{padding:2rem}
  .tier-card{margin:2rem 1.5rem}
  .bundle-tabs{display:flex}
  .bundle-grid{grid-template-columns:1fr;max-width:400px}
  .bundle-card{display:none}
  .bundle-card.active{display:block}
  .ladder-grid-desktop{display:none}
  .ladder-grid-mobile{display:flex}
  .gp-cards{grid-template-columns:1fr;max-width:400px}
}

@media(max-width:768px){
  nav{padding:.8rem 1.2rem}
  .nav-links{display:none}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(111,127,107,.96);backdrop-filter:blur(12px);padding:1.5rem;gap:1rem;box-shadow:0 10px 30px rgba(0,0,0,.08)}
  .nav-links.open a{color:rgba(243,239,231,.85)}
  .mobile-toggle{display:block}
  section{padding:3rem 1.5rem}

  /* Hero mobile */
  .hero{padding:55px 0 0 0;height:auto;max-height:93vh;max-height:93dvh}
  .hero-image{height:42vh;min-height:0;padding:0}
  .hero-image img{border-radius:0}
  .hero-content{padding:.6rem 1.5rem 1rem}
  .hero-brand{font-size:2.2rem;margin-bottom:.1rem}
  .hero-tagline{font-size:1rem;margin-bottom:.3rem}
  .hero-desc{font-size:.92rem;margin-bottom:.5rem;line-height:1.5}
  .hero-buttons{flex-direction:row;gap:.6rem}
  .hero-buttons .btn-sage,.hero-buttons .btn-outline{padding:.55rem 1.3rem;font-size:.8rem}

  /* Sage bar: curve visible on mobile, centered */
  .sage-curve-top{height:25px}
  .sage-bar-content{padding:1.5rem 1.5rem 2.2rem;text-align:center;max-width:none}
  .sage-bar-philosophy h2{font-size:1.55rem;margin-bottom:1.5rem}
  .sage-body{font-size:1rem;margin-bottom:1.5rem}
  .btn-ghost-sage{margin-top:1.2rem;font-size:.78rem;padding:.5rem 1.3rem}

  /* Tier sage band mobile */
  .tier-curve-top{display:block}
  .tier-sage-band{padding:0 0 1.5rem}
  .tier-sage-band h2{font-size:1.5rem;margin-top:.8rem;padding:0 1.2rem}
  .tier-sage-band p{font-size:.78rem;padding:0 1.2rem}

  /* HIW mobile: carousel */
  .how-it-works{padding:2rem 0 1.8rem;background:var(--warm-beige)}
  .how-it-works h2{font-size:1.8rem;margin-bottom:.4rem;padding:0 1.5rem}
  .hiw-intro{font-size:.9rem;margin-bottom:1.5rem;line-height:1.45;padding:0 1.5rem}
  .hiw-blocks{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:0;padding:0 0 .8rem;scrollbar-width:none;grid-template-columns:none;max-width:none}
  .hiw-blocks::-webkit-scrollbar{display:none}
  .hiw-block{flex:0 0 82%;scroll-snap-align:center;margin:0 .5rem;padding:1.8rem 1.5rem;background:rgba(245,240,232,.6);border-radius:16px;min-height:180px}
  .hiw-block:first-child{margin-left:9%}
  .hiw-block:last-child{margin-right:9%}
  .hiw-block h3{font-size:1.3rem;font-weight:500;margin-bottom:.5rem}
  .hiw-block p{font-size:.92rem;line-height:1.6}
  .hiw-cta{margin-top:1.2rem;padding:0 1.5rem;display:none}
  .hiw-dots{display:flex}
  .hiw-dot{width:6px;height:4px;border-radius:2px;background:#D3D1C7;transition:width .3s,background .3s}
  .hiw-dot.active{width:18px;background:var(--sage)}
  .hiw-cta-btn{font-size:.8rem;padding:.6rem 1.4rem;white-space:nowrap}

  /* Tiers mobile */
  .ladder{padding:1rem 1rem 2rem}

  /* Outcome mobile */
  .outcome{max-height:none}
  .outcome-image{height:35vh;max-height:none;padding:0}
  .outcome-image img{border-radius:0}
  .outcome-content{padding:1.5rem}
  .outcome h2{font-size:1.8rem;margin-bottom:1rem}

  .inline-form{flex-direction:column}
  .tier-card{padding:2.5rem 2rem}
}

@media(max-height:700px) and (min-width:769px){
  .hero-content{padding:1rem 3rem}
  .hero-brand{font-size:clamp(2.2rem,4vw,3.5rem);margin-bottom:.2rem}
  .hero-tagline{margin-bottom:.6rem}
  .hero-desc{margin-bottom:1rem;font-size:.95rem;line-height:1.6}
  .hero-image{padding:.4rem 0 .4rem .8rem}
}
