  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --bg:#F7F2EB; --bg-raised:#F2EDE6; --bg-card:#EDE7DF; --bg-card-deep:#E6DFD6;
    --espresso:#44362a; --espresso-mid:#5c4a3a; --espresso-rim:#8a7060;
    --green:#354024; --green-mid:#4a5835; --green-light:#6a7d55; --green-pale:rgba(53,64,36,0.06);
    --border:rgba(80,60,40,0.1); --border-med:rgba(80,60,40,0.16); --border-green:rgba(53,64,36,0.22);
    --text-primary:#2A1F14; --text-mid:#6B5240; --text-dim:#A8907A;
    --pink:#E8B4B8; --pink-pale:#FAE8EA; --pink-deep:#D4848E;
    --serif:'Cormorant Garamond',Georgia,serif; --sans:'DM Sans',sans-serif;
    --radius-card:1.75rem;
    --shadow-card:0 2px 24px rgba(53,64,36,0.07),0 1px 4px rgba(53,64,36,0.04);
    --shadow-float:0 16px 60px rgba(42,31,20,0.14),0 2px 8px rgba(42,31,20,0.06);
  }
  html { scroll-behavior:smooth; }
  body { font-family:var(--sans); background:var(--bg); color:var(--text-primary); overflow-x:hidden; }

  /* PAGE SWITCHING */
  .page { display:none; }
  .page.active { display:block; }

  /* NAV */
  nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:1.1rem 3rem; background:rgba(247,242,235,0.93); backdrop-filter:blur(20px); border-bottom:1px solid var(--border); }
  .nav-logo { font-family:var(--serif); font-size:1.4rem; font-weight:500; letter-spacing:0.07em; color:var(--text-primary); text-decoration:none; display:flex; align-items:center; cursor:pointer; border:none; background:none; padding:0; }
  .nav-logo-icon { display:inline-flex; align-items:center; flex-shrink:0; color:var(--green); opacity:0.85; }
  .nav-links { display:flex; gap:2.5rem; list-style:none; }
  .nav-links a { font-size:0.72rem; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-mid); text-decoration:none; transition:color 0.2s; position:relative; padding-bottom:2px; cursor:pointer; border:none; background:none; }
  .nav-links a::after { content:''; position:absolute; bottom:-2px; left:0; right:0; height:1px; background:var(--green-light); transform:scaleX(0); transform-origin:left; transition:transform 0.25s; }
  .nav-links a:hover, .nav-links a.nav-active { color:var(--text-primary); }
  .nav-links a.nav-active::after, .nav-links a:hover::after { transform:scaleX(1); }
  .nav-accepting { display:flex; flex-direction:column; align-items:flex-end; gap:0.35rem; }
  .accepting-badge { display:inline-flex; align-items:center; gap:0.4rem; font-size:0.58rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--green-light); background:var(--green-pale); border:1px solid var(--border-green); padding:0.22rem 0.6rem; border-radius:2rem; white-space:nowrap; }
  .accepting-dot { width:5px; height:5px; border-radius:50%; background:var(--green-light); animation:pulse 2s ease infinite; flex-shrink:0; }
  @keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(0.8)} }
  @media(max-width:900px){ .accepting-badge{display:none;} }
  .nav-cta { font-size:0.72rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:#F2EDE6; background:var(--green); border:none; padding:0.62rem 1.5rem; border-radius:2rem; cursor:pointer; transition:background 0.2s,transform 0.15s; box-shadow:0 2px 12px rgba(53,64,36,0.25); }
  .nav-cta:hover { background:var(--green-mid); transform:translateY(-1px); }

  /* SHARED BUTTONS */
  .btn-primary { font-size:0.74rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:#F2EDE6; background:var(--green); padding:1rem 2.25rem; border-radius:3rem; text-decoration:none; border:none; cursor:pointer; transition:background 0.2s,transform 0.15s,box-shadow 0.2s; display:inline-block; box-shadow:0 4px 20px rgba(53,64,36,0.3); }
  .btn-primary:hover { background:var(--green-mid); transform:translateY(-2px); box-shadow:0 8px 28px rgba(53,64,36,0.35); }
  .btn-ghost { font-size:0.74rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-mid); text-decoration:none; display:inline-flex; align-items:center; gap:0.5rem; transition:color 0.2s; border:none; background:none; cursor:pointer; }
  .btn-ghost::after { content:'→'; transition:transform 0.2s; }
  .btn-ghost:hover { color:var(--text-primary); }
  .btn-ghost:hover::after { transform:translateX(4px); }
  .btn-light { font-size:0.74rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--green); background:#F2EDE6; padding:1.05rem 2.4rem; border-radius:3rem; text-decoration:none; transition:background 0.2s,transform 0.15s,box-shadow 0.2s; box-shadow:0 4px 24px rgba(0,0,0,0.18); border:none; cursor:pointer; display:inline-block; }
  .btn-light:hover { background:#fff; transform:translateY(-2px); box-shadow:0 8px 36px rgba(0,0,0,0.22); }
  .btn-outline-light { font-size:0.74rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:#F2EDE6; background:rgba(242,237,230,0.08); padding:1.05rem 2.4rem; border-radius:3rem; text-decoration:none; border:1.5px solid rgba(242,237,230,0.45); transition:background 0.2s,border-color 0.2s,transform 0.15s; cursor:pointer; display:inline-block; }
  .btn-outline-light:hover { background:rgba(242,237,230,0.15); border-color:rgba(242,237,230,0.75); transform:translateY(-2px); }

  /* SHARED SECTION */
  .section-eyebrow { font-size:0.66rem; font-weight:500; letter-spacing:0.22em; text-transform:uppercase; color:var(--green-light); margin-bottom:1rem; display:flex; align-items:center; gap:0.75rem; }
  .section-eyebrow::before { content:''; width:1.75rem; height:1px; background:var(--pink); }
  .section-title { font-family:var(--serif); font-size:clamp(2.2rem,3.5vw,3.2rem); font-weight:500; line-height:1.18; color:var(--text-primary); margin-bottom:1.25rem; }
  .section-title em { font-style:italic; color:var(--pink-deep); }
  .section-body { font-size:0.93rem; font-weight:300; line-height:1.9; color:var(--text-mid); max-width:520px; }
  .section-divider { height:1px; background:var(--border); margin:0 5rem; }

  /* REVEAL */
  .reveal { opacity:0; transform:translateY(22px); transition:opacity 0.65s ease,transform 0.65s ease; }
  .reveal.visible { opacity:1; transform:translateY(0); }
  .reveal-delay-1 { transition-delay:0.08s; }
  .reveal-delay-2 { transition-delay:0.16s; }
  .reveal-delay-3 { transition-delay:0.24s; }
  .reveal-delay-4 { transition-delay:0.32s; }

  @keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
  @keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

  /* ══ HOME ══ */
  .hero { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; padding-top:74px; position:relative; }
  .hero::before { content:''; position:absolute; inset:0; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E"); opacity:0.35; z-index:0; }
  .hero-left { display:flex; flex-direction:column; justify-content:center; padding:5rem 4rem 5rem 5.5rem; position:relative; z-index:1; }
  .hero-eyebrow { font-size:0.67rem; font-weight:500; letter-spacing:0.22em; text-transform:uppercase; color:var(--green-light); margin-bottom:1.75rem; display:flex; align-items:center; gap:0.8rem; animation:fadeUp 0.7s ease both; }
  .hero-eyebrow::before { content:''; display:block; width:2.25rem; height:1px; background:var(--green-light); }
  .hero-headline { font-family:var(--serif); font-size:clamp(3.2rem,5.2vw,5.2rem); font-weight:500; line-height:1.05; color:var(--text-primary); margin-bottom:1.75rem; animation:fadeUp 0.75s 0.08s ease both; }
  .hero-headline em { font-style:italic; color:var(--pink-deep); }
  .hero-sub { font-size:0.97rem; font-weight:300; line-height:1.85; color:var(--text-mid); max-width:400px; margin-bottom:2.75rem; animation:fadeUp 0.75s 0.16s ease both; }
  .hero-actions { display:flex; align-items:center; gap:1.75rem; animation:fadeUp 0.75s 0.24s ease both; }
  .hero-stats { display:flex; gap:3rem; margin-top:3.5rem; padding-top:2.5rem; border-top:1px solid var(--border); animation:fadeUp 0.75s 0.32s ease both; }
  .stat-num { font-family:var(--serif); font-size:2.4rem; font-weight:600; color:var(--green-light); line-height:1; }
  .stat-label { font-size:0.67rem; font-weight:400; color:var(--text-dim); letter-spacing:0.06em; margin-top:0.35rem; }
  .hero-right { position:relative; background:var(--bg-raised); border-left:1px solid var(--border); display:flex; align-items:center; justify-content:center; overflow:hidden; padding:3rem 2rem; }
  .hero-right::before { content:''; position:absolute; top:20%; left:50%; transform:translateX(-50%); width:360px; height:360px; background:radial-gradient(circle,rgba(106,125,85,0.12) 0%,transparent 70%); pointer-events:none; }
  .photo-card-mat { position:relative; z-index:2; background:var(--bg-raised); border:1.5px solid rgba(53,64,36,0.18); border-radius:1.5rem; padding:10px; box-shadow:var(--shadow-float); animation:fadeUp 0.9s 0.2s ease both; width:min(400px, 85%); overflow:visible; } .photo-card { border-radius:0.875rem; overflow:hidden; aspect-ratio:3/4; width:100%; display:flex; align-items:center; justify-content:center; background:var(--bg-card); }
  .photo-card-inner { text-align:center; padding:2rem; }
  .photo-card-inner p { font-family:var(--serif); font-size:0.95rem; font-style:italic; margin-top:1rem; color:var(--text-dim); }
  .photo-placeholder-icon { width:64px; height:64px; border-radius:50%; background:var(--bg-card-deep); border:1px solid var(--border-med); display:flex; align-items:center; justify-content:center; margin:0 auto; }
  .hero-pill-float { position:absolute; z-index:3; bottom:2.25rem; left:50%; transform:translateX(-50%); background:var(--pink-pale); border:1px solid rgba(232,180,184,0.55); border-radius:1rem; padding:0.9rem 1.6rem; white-space:nowrap; box-shadow:0 8px 32px rgba(168,100,110,0.12); display:flex; align-items:center; gap:0.65rem; }
  .hero-pill-dot { width:6px; height:6px; border-radius:50%; background:var(--pink-deep); flex-shrink:0; }
  .hero-pill-float p { font-family:var(--serif); font-style:italic; font-size:0.97rem; color:#96575e; margin:0!important; }

  .marquee-band { background:var(--green); padding:0.9rem 0; overflow:hidden; white-space:nowrap; border-top:1px solid var(--border-green); border-bottom:1px solid var(--border-green); }
  .marquee-track { display:inline-flex; gap:2.5rem; animation:marquee 30s linear infinite; }
  .marquee-item { font-family:var(--serif); font-style:italic; font-size:1rem; color:rgba(242,237,230,0.9); display:flex; align-items:center; gap:1rem; }
  .marquee-dot { width:4px; height:4px; border-radius:50%; background:var(--pink); opacity:0.75; }

  .about { background:var(--bg-raised); display:grid; grid-template-columns:1fr 1fr; gap:7rem; align-items:center; padding:7rem 5rem; position:relative; overflow:hidden; }
  .about::after { content:''; position:absolute; bottom:-120px; right:-80px; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle,rgba(106,125,85,0.07) 0%,transparent 65%); pointer-events:none; }
  .about-img-card-mat { background:var(--bg-raised); border:1.5px solid rgba(53,64,36,0.18); border-radius:1.5rem; padding:10px; box-shadow:var(--shadow-card); } .about-img-card { border-radius:0.875rem; aspect-ratio:3/4; width:100%; overflow:hidden; position:relative; }
  .about-img-placeholder { text-align:center; position:relative; z-index:1; }
  .about-img-placeholder p { font-family:var(--serif); font-style:italic; margin-top:0.75rem; font-size:0.9rem; color:var(--espresso-rim); }
  .about-img-area { position:relative; }
  .about-quote-float { display:none; position:absolute; top:-1.75rem; right:-2.25rem; background:var(--green); border:1px solid var(--border-green); border-radius:1.5rem; padding:1.35rem 1.6rem; max-width:230px; box-shadow:var(--shadow-float); }
  .about-quote-float p { font-family:var(--serif); font-style:italic; font-size:0.95rem; line-height:1.6; color:#F2EDE6; }
  .about-quote-float span { display:block; font-size:0.63rem; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:rgba(106,125,85,0.85); margin-top:0.85rem; }
  .about-accent-badge { position:absolute; bottom:-1.5rem; left:-1.5rem; background:var(--pink-pale); border:1px solid rgba(232,180,184,0.5); border-radius:1rem; padding:0.75rem 1.1rem; display:flex; align-items:center; gap:0.5rem; box-shadow:0 8px 28px rgba(168,100,110,0.1); }
  .about-accent-badge span { font-family:var(--serif); font-style:italic; font-size:0.85rem; color:var(--pink-deep); }
  .about-values { display:flex; flex-direction:column; gap:1.35rem; margin-top:2.75rem; }
  .about-value { display:flex; align-items:flex-start; gap:1rem; padding:1rem 1.25rem; border-radius:1rem; border:1px solid transparent; transition:border-color 0.25s,background 0.25s; }
  .about-value:hover { border-color:var(--border); background:var(--bg-card); }
  .value-icon { width:2.5rem; height:2.5rem; min-width:2.5rem; background:var(--green-pale); border:1px solid var(--border-green); border-radius:0.75rem; display:flex; align-items:center; justify-content:center; color:var(--green-light); flex-shrink:0; }
  .value-text-top { font-weight:500; font-size:0.88rem; color:var(--text-primary); margin-bottom:0.25rem; }
  .value-text-bot { font-size:0.81rem; color:var(--text-mid); font-weight:300; line-height:1.6; }

  .balance-section { background:var(--bg); padding:6rem 5rem; display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
  .balance-quote-block { position:relative; }
  .balance-quote-mark { font-family:var(--serif); font-size:9rem; line-height:0.7; color:var(--green-light); opacity:0.15; position:absolute; top:0; left:-1rem; pointer-events:none; select:none; }
  .balance-quote { font-family:var(--serif); font-size:clamp(1.6rem,2.8vw,2.5rem); font-weight:400; font-style:italic; line-height:1.45; color:var(--text-primary); position:relative; z-index:1; padding-top:1rem; }
  .balance-quote em { font-style:normal; color:var(--pink-deep); }
  .balance-attr { font-size:0.7rem; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--text-dim); margin-top:1.75rem; display:flex; align-items:center; gap:0.75rem; }
  .balance-attr::before { content:''; width:1.5rem; height:1px; background:var(--text-dim); }
  .balance-pillars { display:flex; flex-direction:column; gap:1.25rem; }
  .balance-pillar { display:flex; align-items:flex-start; gap:1.1rem; padding:1.25rem 1.5rem; background:var(--bg-card); border:1px solid var(--border); border-radius:1.25rem; transition:border-color 0.25s,transform 0.2s; }
  .balance-pillar:hover { border-color:var(--border-green); transform:translateX(4px); }
  .balance-pillar-num { font-family:var(--serif); font-size:1.5rem; font-weight:600; color:var(--green-light); opacity:0.5; line-height:1; min-width:1.5rem; flex-shrink:0; margin-top:0.1rem; }
  .balance-pillar-title { font-weight:500; font-size:0.88rem; color:var(--text-primary); margin-bottom:0.3rem; }
  .balance-pillar-body { font-size:0.8rem; font-weight:300; line-height:1.7; color:var(--text-mid); }
  @media(max-width:900px){ .balance-section { grid-template-columns:1fr; gap:3.5rem; padding:5rem 2rem; } }
  .services-header { display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin-bottom:4rem; align-items:end; } .services-header .section-title { font-size:clamp(1.8rem, 2.6vw, 3.2rem); white-space:normal; overflow-wrap:break-word; }
  .services-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
  .service-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-card); padding:2.25rem; transition:border-color 0.25s,transform 0.25s,box-shadow 0.25s; box-shadow:var(--shadow-card); }
  .service-card:hover { border-color:var(--border-green); transform:translateY(-5px); box-shadow:0 12px 40px rgba(53,64,36,0.1); }
  .service-card.featured { background:var(--green); border-color:rgba(106,125,85,0.3); grid-column:span 2; display:grid; grid-template-columns:auto 1fr; gap:2rem; align-items:center; box-shadow:0 8px 40px rgba(53,64,36,0.2); }
  .service-card.featured:hover { transform:translateY(-5px); box-shadow:0 16px 50px rgba(53,64,36,0.28); }
  .service-icon { width:3rem; height:3rem; background:var(--green-pale); border:1px solid var(--border-green); border-radius:1.25rem; display:flex; align-items:center; justify-content:center; color:var(--green-light); margin-bottom:1.35rem; }
  .service-card.featured .service-icon { background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.12); color:rgba(242,237,230,0.8); width:4rem; height:4rem; border-radius:1.25rem; margin-bottom:0; flex-shrink:0; }
  .service-name { font-family:var(--serif); font-size:1.3rem; font-weight:500; color:var(--text-primary); margin-bottom:0.6rem; }
  .service-card.featured .service-name { font-size:1.65rem; color:#F2EDE6; }
  .service-desc { font-size:0.84rem; font-weight:300; line-height:1.8; color:var(--text-mid); }
  .service-card.featured .service-desc { color:rgba(228,217,204,0.68); }
  .service-tag { display:inline-flex; align-items:center; gap:0.35rem; margin-top:1.1rem; font-size:0.63rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--green-light); background:var(--green-pale); padding:0.3rem 0.85rem; border-radius:2rem; border:1px solid var(--border-green); }
  .service-tag::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--green-light); opacity:0.6; }
  .service-card.featured .service-tag { background:rgba(255,255,255,0.1); color:rgba(242,237,230,0.8); border-color:rgba(242,237,230,0.15); }
  .service-card.featured .service-tag::before { background:rgba(242,237,230,0.6); }

  .for-section { background:var(--bg-raised); padding:7rem 5rem; position:relative; overflow:hidden; }
  .for-section::before { content:''; position:absolute; top:-60px; left:50%; transform:translateX(-50%); width:600px; height:300px; background:radial-gradient(ellipse,rgba(250,232,234,0.35) 0%,transparent 70%); pointer-events:none; }
  .for-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; margin-top:3.5rem; }
  .for-card { background:var(--bg-card); border:1px solid var(--border); border-radius:1.5rem; padding:2rem 1.5rem; text-align:center; transition:border-color 0.25s,transform 0.25s,box-shadow 0.25s; box-shadow:var(--shadow-card); position:relative; overflow:hidden; }
  .for-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--green-light),transparent); opacity:0; transition:opacity 0.3s; }
  .for-card:hover { border-color:var(--border-green); transform:translateY(-4px); box-shadow:0 10px 36px rgba(53,64,36,0.1); }
  .for-card:hover::before { opacity:1; }
  .for-emoji { font-size:2rem; margin-bottom:1rem; display:block; line-height:1; }
  .for-title { font-family:var(--serif); font-size:1.15rem; font-weight:500; color:var(--text-primary); margin-bottom:0.6rem; }
  .for-desc { font-size:0.8rem; font-weight:300; line-height:1.75; color:var(--text-mid); }

  .home-faq { background:var(--bg-raised); padding:6rem 5rem; }
  .home-faq-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:3.5rem; }
  .home-faq-card { background:var(--bg-card); border:1px solid var(--border); border-radius:1.5rem; padding:2rem; box-shadow:var(--shadow-card); transition:border-color 0.25s,transform 0.2s; }
  .home-faq-card:hover { border-color:var(--border-green); transform:translateY(-3px); }
  .home-faq-q { font-family:var(--serif); font-size:1.1rem; font-weight:500; color:var(--text-primary); margin-bottom:0.75rem; line-height:1.35; }
  .home-faq-a { font-size:0.82rem; font-weight:300; line-height:1.8; color:var(--text-mid); }
  @media(max-width:900px){ .home-faq{padding:5rem 2rem;} .home-faq-grid{grid-template-columns:1fr;} }

  .how-it-works { background:var(--bg-raised); padding:6rem 5rem; }
  .how-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:3.5rem; position:relative; }
  .how-steps::before { content:''; position:absolute; top:2.75rem; left:calc(33.33% - 1rem); right:calc(33.33% - 1rem); height:1px; background:linear-gradient(90deg, transparent, var(--border-green), transparent); pointer-events:none; }
  .how-step { display:flex; flex-direction:column; align-items:center; text-align:center; padding:2rem 1.5rem; background:var(--bg-card); border:1px solid var(--border); border-radius:1.5rem; box-shadow:var(--shadow-card); transition:border-color 0.25s,transform 0.2s; position:relative; }
  .how-step:hover { border-color:var(--border-green); transform:translateY(-4px); }
  .step-num { width:3rem; height:3rem; border-radius:50%; background:var(--green); color:#F2EDE6; font-family:var(--serif); font-size:1.2rem; font-weight:600; display:flex; align-items:center; justify-content:center; margin-bottom:1.25rem; flex-shrink:0; box-shadow:0 4px 16px rgba(53,64,36,0.25); }
  .step-title { font-family:var(--serif); font-size:1.2rem; font-weight:500; color:var(--text-primary); margin-bottom:0.6rem; }
  .step-body { font-size:0.82rem; font-weight:300; line-height:1.8; color:var(--text-mid); }
  @media(max-width:900px){ .how-it-works{padding:5rem 2rem;} .how-steps{grid-template-columns:1fr; gap:1.25rem;} .how-steps::before{display:none;} }
  .cta-section { background:var(--green); text-align:center; padding:8rem 5rem; border-top:1px solid var(--border-green); position:relative; overflow:hidden; }
  .cta-section::before { content:''; position:absolute; top:-40%; left:50%; transform:translateX(-50%); width:700px; height:500px; background:radial-gradient(ellipse,rgba(106,125,85,0.25) 0%,transparent 65%); pointer-events:none; }
  .cta-section::after { content:''; position:absolute; bottom:-20%; right:-10%; width:350px; height:350px; border:1px solid rgba(106,125,85,0.2); border-radius:50%; pointer-events:none; }
  .cta-inner { position:relative; z-index:1; }
  .cta-section .section-eyebrow { justify-content:center; color:rgba(242,237,230,0.6); margin-bottom:1.25rem; }
  .cta-section .section-eyebrow::before { background:rgba(242,237,230,0.35); }
  .cta-section .section-title { color:#F2EDE6; max-width:600px; margin:0 auto 1.35rem; }
  .cta-section .section-title em { color:#c8d8b0; }
  .cta-section .section-body { color:rgba(242,237,230,0.68); margin:0 auto 3rem; max-width:460px; text-align:center; }
  .cta-actions { display:flex; gap:1.25rem; justify-content:center; flex-wrap:wrap; }

  /* ══ PROGRAMS ══ */
  .programs-hero { padding:8rem 5rem 5rem; background:var(--bg-raised); text-align:center; position:relative; overflow:hidden; }
  .programs-hero::before { content:''; position:absolute; top:-60px; left:50%; transform:translateX(-50%); width:700px; height:400px; background:radial-gradient(ellipse,rgba(106,125,85,0.1) 0%,transparent 65%); pointer-events:none; }
  .programs-hero-inner { position:relative; z-index:1; max-width:600px; margin:0 auto; }
  .programs-hero .section-eyebrow { justify-content:center; }
  .programs-hero .section-eyebrow::before { display:none; }
  .tier-toggle-wrap { display:flex; justify-content:center; margin:3.5rem 0 1rem; }
  .tier-toggle { display:inline-flex; background:var(--bg-card); border:1px solid var(--border-med); border-radius:3rem; padding:0.3rem; overflow:hidden; }
  .tier-toggle button { font-family:var(--sans); font-size:0.72rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-mid); background:none; border:none; padding:0.6rem 1.5rem; border-radius:2.5rem; cursor:pointer; transition:background 0.2s,color 0.2s; white-space:nowrap; }
  .tier-toggle button.active { background:var(--green); color:#F2EDE6; box-shadow:0 2px 10px rgba(53,64,36,0.25); }
  .tier-note { text-align:center; font-size:0.78rem; color:var(--text-dim); margin-bottom:3.5rem; }

  .pricing-section { padding:0 5rem 7rem; background:var(--bg-raised); }
  .pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
  .pricing-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius-card); padding:2.5rem 2.25rem; display:flex; flex-direction:column; transition:border-color 0.25s,transform 0.25s,box-shadow 0.25s; box-shadow:var(--shadow-card); position:relative; overflow:hidden; }
  .pricing-card:hover { border-color:var(--border-green); transform:translateY(-6px); box-shadow:0 16px 50px rgba(53,64,36,0.12); }
  .pricing-card.highlighted { background:var(--green); border-color:rgba(106,125,85,0.4); box-shadow:0 8px 40px rgba(53,64,36,0.25); }
  .pricing-card.highlighted:hover { box-shadow:0 20px 60px rgba(53,64,36,0.32); border-color:rgba(106,125,85,0.65); }
  .pricing-badge { position:absolute; top:1.5rem; right:1.5rem; background:var(--pink-pale); border:1px solid rgba(232,180,184,0.5); color:var(--pink-deep); font-size:0.6rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; padding:0.3rem 0.8rem; border-radius:2rem; }
  .pricing-card.highlighted .pricing-badge { background:rgba(250,232,234,0.15); border-color:rgba(250,232,234,0.3); color:rgba(250,232,234,0.85); }

  .pricing-price-toggle { display:flex; flex-direction:column; gap:0; }
  .pricing-divider { display:flex; align-items:center; gap:0.75rem; margin:0.85rem 0; }
  .pricing-divider::before, .pricing-divider::after { content:''; flex:1; height:1px; background:var(--border); }
  .pricing-card.highlighted .pricing-divider::before,
  .pricing-card.highlighted .pricing-divider::after { background:rgba(255,255,255,0.1); }
  .pricing-divider span { font-size:0.58rem; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-dim); }
  .pricing-card.highlighted .pricing-divider span { color:rgba(242,237,230,0.4); }
  .pricing-option { display:flex; flex-direction:column; }
  .pricing-option-label { font-size:0.6rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:0.2rem; }
  .pricing-option-label.full { color:var(--green-light); }
  .pricing-option-label.monthly { color:var(--text-dim); }
  .pricing-card.highlighted .pricing-option-label.full { color:rgba(200,216,176,0.9); }
  .pricing-card.highlighted .pricing-option-label.monthly { color:rgba(242,237,230,0.45); }
  .pricing-save-badge { display:inline-flex; align-items:center; font-size:0.58rem; font-weight:600; letter-spacing:0.08em; color:var(--green-light); background:var(--green-pale); border:1px solid var(--border-green); padding:0.15rem 0.5rem; border-radius:2rem; margin-left:0.5rem; vertical-align:middle; }
  .pricing-card.highlighted .pricing-save-badge { color:rgba(200,216,176,0.9); background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.15); }
  .pricing-tier { font-size:0.66rem; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:var(--green-light); margin-bottom:0.75rem; }
  .pricing-card.highlighted .pricing-tier { color:rgba(200,216,176,0.85); }
  .pricing-name { font-family:var(--serif); font-size:1.6rem; font-weight:500; color:var(--text-primary); margin-bottom:0.35rem; line-height:1.1; }
  .pricing-card.highlighted .pricing-name { color:#F2EDE6; }
  .pricing-tagline { font-size:0.8rem; font-weight:300; color:var(--text-mid); margin-bottom:2rem; }
  .pricing-card.highlighted .pricing-tagline { color:rgba(242,237,230,0.6); }
  .pricing-price-wrap { margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid var(--border); }
  .pricing-card.highlighted .pricing-price-wrap { border-color:rgba(255,255,255,0.1); }
  .pricing-from { font-size:0.7rem; font-weight:400; color:var(--text-dim); letter-spacing:0.08em; text-transform:uppercase; }
  .pricing-card.highlighted .pricing-from { color:rgba(242,237,230,0.45); }
  .pricing-price { font-family:var(--serif); font-size:3.2rem; font-weight:600; color:var(--text-primary); line-height:1; letter-spacing:-0.02em; display:flex; align-items:flex-start; gap:0.2rem; margin:0.2rem 0 0.25rem; }
  .pricing-price sup { font-size:1.4rem; margin-top:0.5rem; font-weight:500; }
  .pricing-card.highlighted .pricing-price { color:#F2EDE6; }
  .pricing-period { font-size:0.72rem; color:var(--text-dim); font-weight:300; }
  .pricing-card.highlighted .pricing-period { color:rgba(242,237,230,0.5); }
  .pricing-features { list-style:none; display:flex; flex-direction:column; gap:0.85rem; flex:1; margin-bottom:2rem; }
  .pricing-features li { display:flex; align-items:flex-start; gap:0.75rem; font-size:0.83rem; font-weight:300; line-height:1.5; color:var(--text-mid); }
  .pricing-card.highlighted .pricing-features li { color:rgba(242,237,230,0.72); }
  .check { width:18px; height:18px; min-width:18px; border-radius:50%; background:var(--green-pale); border:1px solid var(--border-green); display:flex; align-items:center; justify-content:center; color:var(--green-light); flex-shrink:0; margin-top:1px; }
  .pricing-card.highlighted .check { background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.15); color:rgba(200,216,176,0.9); }
  .pricing-cta { font-size:0.74rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--green); background:var(--bg); border:1.5px solid var(--border-med); padding:0.9rem 1.75rem; border-radius:3rem; cursor:pointer; text-decoration:none; transition:background 0.2s,border-color 0.2s,transform 0.15s,box-shadow 0.2s; display:block; text-align:center; margin-top:auto; }
  .pricing-cta:hover { background:var(--bg-card-deep); border-color:var(--border-green); transform:translateY(-2px); box-shadow:0 6px 22px rgba(53,64,36,0.1); }
  .pricing-card.highlighted .pricing-cta { background:#F2EDE6; color:var(--green); border-color:transparent; box-shadow:0 4px 20px rgba(0,0,0,0.15); }
  .pricing-card.highlighted .pricing-cta:hover { background:#fff; box-shadow:0 8px 30px rgba(0,0,0,0.2); }

  /* COMPARISON TABLE */
  .comparison-section { padding:5rem 5rem 0; background:var(--bg-raised); }
  .comparison-wrap { overflow-x:auto; margin-top:3rem; border-radius:var(--radius-card); border:1px solid var(--border-med); box-shadow:var(--shadow-card); }
  .comparison-table { width:100%; border-collapse:collapse; min-width:560px; }
  .comparison-table thead th { padding:1.25rem 1.5rem; text-align:center; font-size:0.7rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; border-bottom:1px solid var(--border-med); }
  .comparison-table thead th:first-child { text-align:left; color:var(--text-dim); }
  .th-basic { background:var(--bg-card); color:var(--text-mid); }
  .th-standard { background:var(--bg-card); color:var(--text-mid); }
  .th-premium { background:var(--green); color:rgba(242,237,230,0.9); }
  .comparison-table tbody tr { border-bottom:1px solid var(--border); transition:background 0.15s; }
  .comparison-table tbody tr:last-child { border-bottom:none; }
  .comparison-table tbody tr:hover { background:rgba(53,64,36,0.03); }
  .comparison-table tbody tr.group-header td { background:var(--bg-card-deep); padding:0.6rem 1.5rem; font-size:0.62rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--green-light); border-bottom:1px solid var(--border); }
  .comparison-table tbody td { padding:1rem 1.5rem; font-size:0.82rem; font-weight:300; color:var(--text-mid); vertical-align:middle; background:var(--bg-raised); }
  .comparison-table tbody td:first-child { color:var(--text-primary); font-weight:400; background:var(--bg-raised); }
  .comparison-table tbody td:nth-child(2),.comparison-table tbody td:nth-child(3) { background:var(--bg-card); text-align:center; }
  .comparison-table tbody td:nth-child(4) { background:rgba(53,64,36,0.04); text-align:center; }
  .check-yes { color:var(--green-light); font-size:1rem; }
  .check-no { color:var(--border-med); font-size:1rem; }
  .check-partial { font-size:0.7rem; font-weight:500; color:var(--espresso-rim); }
  .comparison-price-row td { padding:1.35rem 1.5rem!important; }
  .comparison-price { font-family:var(--serif); font-size:1.6rem; font-weight:600; color:var(--text-primary); line-height:1; }
  .comparison-table tbody td:nth-child(4) .comparison-price { color:var(--green); }
  .comparison-period { font-size:0.65rem; color:var(--text-dim); margin-top:0.2rem; }
  @media(max-width:900px){ .comparison-section{padding:4rem 2rem 0;} }

  .section-label-divider { display:flex; align-items:center; gap:1.5rem; padding:0 5rem; margin:0; background:var(--bg-raised); }
  .section-label-divider::before, .section-label-divider::after { content:''; flex:1; height:1px; background:var(--border); }
  .section-label-pill { font-size:0.65rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-dim); background:var(--bg-card); border:1px solid var(--border-med); padding:0.45rem 1.1rem; border-radius:2rem; white-space:nowrap; flex-shrink:0; }
  .section-label-divider.green-label .section-label-pill { color:var(--green-light); background:var(--green-pale); border-color:var(--border-green); }
  .section-label-divider.pink-label .section-label-pill { color:var(--pink-deep); background:var(--pink-pale); border-color:rgba(232,180,184,0.5); }
  @media(max-width:900px){ .section-label-divider{padding:0 2rem;} }
  .compare-section { padding:5rem 5rem; background:var(--bg-raised); }
  .compare-table { width:100%; border-collapse:collapse; margin-top:3rem; }
  .compare-table th, .compare-table td { padding:0.9rem 1.1rem; text-align:center; font-size:0.82rem; border-bottom:1px solid var(--border); }
  .compare-table th { font-size:0.7rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-dim); background:var(--bg-card); }
  .compare-table th.tier-head { font-family:var(--serif); font-size:1rem; font-weight:500; color:var(--text-primary); letter-spacing:0; text-transform:none; }
  .compare-table th.tier-head.highlighted { background:var(--green); color:#F2EDE6; }
  .compare-table td.feature-name { text-align:left; font-weight:400; color:var(--text-mid); font-size:0.8rem; }
  .compare-table td.highlighted { background:rgba(53,64,36,0.03); }
  .compare-table .check-yes { color:var(--green-light); font-size:1rem; }
  .compare-table .check-no { color:var(--border-med); font-size:1rem; }
  .compare-table tr:last-child td { border-bottom:none; }
  .compare-table tr:hover td { background:var(--bg-card); }
  .compare-table tr:hover td.highlighted { background:rgba(53,64,36,0.05); }
  .compare-wrap { overflow-x:auto; border:1px solid var(--border); border-radius:1.25rem; }
  @media(max-width:900px){ .compare-section{padding:5rem 2rem;} .compare-table th,.compare-table td{padding:0.7rem 0.6rem;font-size:0.72rem;} }
  .whats-included { padding:6rem 5rem; background:var(--bg); }
  .whats-included-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; margin-top:3.5rem; }
  .included-card { background:var(--bg-card); border:1px solid var(--border); border-radius:1.5rem; padding:2rem; display:flex; gap:1.25rem; align-items:flex-start; transition:border-color 0.25s,transform 0.2s; box-shadow:var(--shadow-card); }
  .included-card:hover { border-color:var(--border-green); transform:translateY(-3px); }
  .included-icon { width:2.75rem; height:2.75rem; min-width:2.75rem; background:var(--green-pale); border:1px solid var(--border-green); border-radius:0.875rem; display:flex; align-items:center; justify-content:center; color:var(--green-light); flex-shrink:0; }
  .included-title { font-weight:500; font-size:0.9rem; color:var(--text-primary); margin-bottom:0.35rem; }
  .included-body { font-size:0.8rem; font-weight:300; line-height:1.7; color:var(--text-mid); }

  .faq-section { padding:6rem 5rem; background:var(--bg-raised); }
  .faq-list { max-width:720px; margin:3rem auto 0; display:flex; flex-direction:column; gap:0.75rem; }
  .faq-item { background:var(--bg-card); border:1px solid var(--border); border-radius:1.25rem; overflow:hidden; transition:border-color 0.2s; }
  .faq-item:hover { border-color:var(--border-green); }
  .faq-q { width:100%; text-align:left; background:none; border:none; padding:1.35rem 1.75rem; display:flex; justify-content:space-between; align-items:center; font-family:var(--sans); font-size:0.9rem; font-weight:500; color:var(--text-primary); cursor:pointer; gap:1rem; }
  .faq-arrow { color:var(--green-light); font-size:1.1rem; transition:transform 0.25s; flex-shrink:0; }
  .faq-item.open .faq-arrow { transform:rotate(180deg); }
  .faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s ease; }
  .faq-item.open .faq-a { max-height:300px; }
  .faq-a-inner { padding:0 1.75rem 1.35rem; font-size:0.84rem; font-weight:300; line-height:1.8; color:var(--text-mid); border-top:1px solid var(--border); padding-top:1.1rem; }

  /* ══ ABOUT PAGE ══ */
  .about-hero { padding:8rem 5rem 7rem; background:var(--bg-raised); display:grid; grid-template-columns:1fr 1fr; gap:7rem; align-items:center; }
  .about-hero-text .section-title { font-size:clamp(2.8rem,4vw,4rem); }
  .about-hero-img { position:relative; }
  .about-hero-card-mat { background:var(--bg-raised); border:1.5px solid rgba(53,64,36,0.18); border-radius:1.5rem; padding:10px; box-shadow:var(--shadow-float); } .about-hero-card { border-radius:0.875rem; aspect-ratio:3/4; width:100%; overflow:hidden; position:relative; }

  .journey-section { padding:6rem 5rem; background:var(--bg); }
  .journey-grid { display:grid; grid-template-columns:1fr 0.65fr 1fr; gap:3rem; align-items:start; margin-top:3.5rem; } .journey-photo-mat { background:var(--bg-raised); border:1.5px solid rgba(53,64,36,0.18); border-radius:1.5rem; padding:8px; box-shadow:var(--shadow-card); } .journey-photo-mat img { width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center top; border-radius:0.875rem; display:block; }
  .journey-text p { font-size:0.9rem; font-weight:300; line-height:1.95; color:var(--text-mid); margin-bottom:1.25rem; }
  .journey-text p:last-child { margin-bottom:0; }
  .worked-with { display:flex; flex-direction:column; gap:1rem; }
  .worked-card { background:var(--bg-card); border:1px solid var(--border); border-radius:1.25rem; padding:1.35rem 1.5rem; display:flex; align-items:flex-start; gap:1rem; transition:border-color 0.25s,transform 0.2s; }
  .worked-card:hover { border-color:var(--border-green); transform:translateX(4px); }
  .worked-emoji { font-size:1.4rem; line-height:1; flex-shrink:0; margin-top:0.1rem; }
  .worked-title { font-weight:500; font-size:0.86rem; color:var(--text-primary); margin-bottom:0.25rem; }
  .worked-body { font-size:0.78rem; font-weight:300; line-height:1.65; color:var(--text-mid); }
  @media(max-width:900px){ .journey-section{padding:5rem 2rem;} .journey-grid{grid-template-columns:1fr;gap:2.5rem;} .journey-photo-mat{max-width:340px;} }
  .philosophy-section { padding:6rem 5rem; background:var(--bg); }
  .philosophy-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:3.5rem; }
  .philosophy-card { background:var(--bg-card); border:1px solid var(--border); border-radius:1.5rem; padding:2.25rem; box-shadow:var(--shadow-card); transition:border-color 0.25s,transform 0.2s; }
  .philosophy-card:hover { border-color:var(--border-green); transform:translateY(-4px); }
  .philosophy-num { font-family:var(--serif); font-size:2.5rem; font-weight:600; color:var(--green-light); opacity:0.4; line-height:1; margin-bottom:1rem; }
  .philosophy-title { font-family:var(--serif); font-size:1.25rem; font-weight:500; color:var(--text-primary); margin-bottom:0.6rem; }
  .philosophy-body { font-size:0.82rem; font-weight:300; line-height:1.8; color:var(--text-mid); }

  .credentials-section { padding:6rem 5rem; background:var(--bg-raised); }
  .creds-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; margin-top:3.5rem; }
  .cred-card { background:var(--bg-card); border:1px solid var(--border); border-radius:1.5rem; padding:1.75rem 1.5rem; text-align:center; box-shadow:var(--shadow-card); }
  .cred-icon { font-size:1.75rem; margin-bottom:0.75rem; display:block; }
  .cred-title { font-weight:500; font-size:0.85rem; color:var(--text-primary); margin-bottom:0.35rem; }
  .cred-body { font-size:0.75rem; color:var(--text-dim); font-weight:300; line-height:1.6; }

  /* ══ CONTACT PAGE ══ */
  .contact-page { padding:8rem 5rem 7rem; background:var(--bg-raised); }
  .contact-layout { display:grid; grid-template-columns:1fr 1.4fr; gap:6rem; align-items:start; }
  .contact-info .section-title { font-size:clamp(2.4rem,3.5vw,3.2rem); }
  .contact-details { display:flex; flex-direction:column; gap:1rem; margin-top:2.5rem; }
  .contact-detail { display:flex; align-items:center; gap:1rem; padding:1rem 1.25rem; background:var(--bg-card); border:1px solid var(--border); border-radius:1rem; transition:border-color 0.2s; }
  .contact-detail:hover { border-color:var(--border-green); }
  .contact-detail-icon { width:2.25rem; height:2.25rem; background:var(--green-pale); border:1px solid var(--border-green); border-radius:0.65rem; display:flex; align-items:center; justify-content:center; color:var(--green-light); flex-shrink:0; }
  .contact-detail-label { font-size:0.65rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-dim); margin-bottom:0.2rem; }
  .contact-detail-val { font-size:0.85rem; font-weight:400; color:var(--text-primary); }
  .contact-form-wrap { background:var(--bg-card); border:1px solid var(--border-med); border-radius:var(--radius-card); padding:3rem; box-shadow:var(--shadow-card); }
  .form-title { font-family:var(--serif); font-size:1.6rem; font-weight:500; color:var(--text-primary); margin-bottom:0.5rem; }
  .form-subtitle { font-size:0.82rem; font-weight:300; color:var(--text-mid); margin-bottom:2.25rem; line-height:1.7; }
  .form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
  .form-group { display:flex; flex-direction:column; gap:0.45rem; margin-bottom:1rem; }
  .form-group label { font-size:0.69rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-mid); }
  .form-group input,.form-group select,.form-group textarea { font-family:var(--sans); font-size:0.88rem; font-weight:300; color:var(--text-primary); background:var(--bg-raised); border:1px solid var(--border-med); border-radius:0.875rem; padding:0.85rem 1.1rem; outline:none; transition:border-color 0.2s,box-shadow 0.2s; width:100%; }
  .form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--green-light); box-shadow:0 0 0 3px rgba(106,125,85,0.12); }
  .form-group textarea { min-height:110px; resize:vertical; }
  .form-submit { width:100%; margin-top:0.5rem; font-size:0.8rem; padding:1.1rem; }
  .form-success { display:none; text-align:center; padding:2.5rem; }
  .form-success-icon { width:3.5rem; height:3.5rem; border-radius:50%; background:var(--green-pale); border:1.5px solid var(--border-green); display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; font-size:1.4rem; color:var(--green-light); }
  .form-success p { font-size:1rem; font-weight:500; color:var(--text-primary); margin-bottom:0.5rem; }
  .form-success small { font-size:0.78rem; color:var(--text-dim); }

  /* IN-PERSON TRAINING */
  .inperson-section { padding:6rem 5rem; background:var(--bg); position:relative; overflow:hidden; }
  .inperson-section::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(53,64,36,0.03) 0%, transparent 60%); pointer-events:none; }
  .inperson-inner { position:relative; z-index:1; }
  .inperson-header { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; margin-bottom:3.5rem; }
  .inperson-badge { display:inline-flex; align-items:center; gap:0.5rem; font-size:0.62rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--pink-deep); background:var(--pink-pale); border:1px solid rgba(232,180,184,0.5); padding:0.3rem 0.9rem; border-radius:2rem; margin-bottom:1rem; }
  .inperson-badge::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--pink-deep); flex-shrink:0; }
  .inperson-qualify { background:var(--bg-raised); border:1px solid var(--border-med); border-radius:var(--radius-card); padding:2.5rem; display:flex; flex-direction:column; gap:0; }
  .inperson-qualify-title { font-family:var(--serif); font-size:1.2rem; font-weight:500; color:var(--text-primary); margin-bottom:1.25rem; }
  .qualify-list { list-style:none; display:flex; flex-direction:column; gap:0.75rem; margin-bottom:2rem; }
  .qualify-list li { display:flex; align-items:flex-start; gap:0.75rem; font-size:0.83rem; font-weight:300; line-height:1.5; color:var(--text-mid); }
  .qualify-dot { width:6px; height:6px; min-width:6px; border-radius:50%; background:var(--green-light); margin-top:0.45rem; flex-shrink:0; }
  .inperson-sessions { display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }
  .session-card { background:var(--bg-card); border:1px solid var(--border); border-radius:1.5rem; padding:2rem 1.75rem; display:flex; flex-direction:column; gap:0; transition:border-color 0.25s,transform 0.2s,box-shadow 0.2s; box-shadow:var(--shadow-card); }
  .session-card:hover { border-color:var(--border-green); transform:translateY(-4px); box-shadow:0 10px 36px rgba(53,64,36,0.1); }
  .session-type { font-size:0.63rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--green-light); margin-bottom:0.6rem; }
  .session-name { font-family:var(--serif); font-size:1.3rem; font-weight:500; color:var(--text-primary); margin-bottom:0.3rem; line-height:1.15; }
  .session-tagline { font-size:0.78rem; font-weight:300; color:var(--text-dim); margin-bottom:1.75rem; }
  .session-price-wrap { padding-bottom:1.5rem; margin-bottom:1.5rem; border-bottom:1px solid var(--border); }
  .session-from { font-size:0.65rem; font-weight:400; color:var(--text-dim); letter-spacing:0.08em; text-transform:uppercase; }
  .session-price { font-family:var(--serif); font-size:2.6rem; font-weight:600; color:var(--text-primary); line-height:1; letter-spacing:-0.02em; display:flex; align-items:flex-start; gap:0.15rem; margin:0.2rem 0 0.2rem; }
  .session-price sup { font-size:1.2rem; margin-top:0.35rem; font-weight:500; }
  .session-period { font-size:0.7rem; color:var(--text-dim); font-weight:300; }
  .session-features { list-style:none; display:flex; flex-direction:column; gap:0.7rem; flex:1; margin-bottom:1.75rem; }
  .session-features li { display:flex; align-items:flex-start; gap:0.65rem; font-size:0.8rem; font-weight:300; line-height:1.5; color:var(--text-mid); }
  .session-cta { font-size:0.72rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--green); background:var(--bg); border:1.5px solid var(--border-med); padding:0.85rem 1.5rem; border-radius:3rem; cursor:pointer; text-decoration:none; transition:background 0.2s,border-color 0.2s,transform 0.15s; display:block; text-align:center; }
  .session-cta:hover { background:var(--bg-card-deep); border-color:var(--border-green); transform:translateY(-2px); }
  @media(max-width:1200px){ .inperson-sessions { grid-template-columns:repeat(2,1fr); } @media(max-width:1100px){ .services-header { grid-template-columns:1fr; } } } @media(max-width:600px){ .inperson-sessions { grid-template-columns:1fr; } }
  @media(max-width:900px){ .inperson-section { padding-left:2rem; padding-right:2rem; } .inperson-header { grid-template-columns:1fr; gap:2.5rem; } }
  .resources-hero { padding:8rem 5rem 5rem; background:var(--bg-raised); text-align:center; position:relative; overflow:hidden; }
  .resources-hero::before { content:''; position:absolute; top:-60px; left:50%; transform:translateX(-50%); width:700px; height:400px; background:radial-gradient(ellipse,rgba(106,125,85,0.1) 0%,transparent 65%); pointer-events:none; }
  .resources-hero-inner { position:relative; z-index:1; max-width:640px; margin:0 auto; }
  .resources-hero .section-eyebrow { justify-content:center; }
  .resources-hero .section-eyebrow::before { display:none; }

  .resources-section { padding:5rem 5rem 7rem; background:var(--bg); }
  .resources-topic { margin-bottom:4rem; }
  .resources-topic:last-child { margin-bottom:0; }
  .topic-header { display:flex; align-items:center; gap:1rem; margin-bottom:1.75rem; padding-bottom:1.25rem; border-bottom:1px solid var(--border); }
  .topic-icon { width:2.75rem; height:2.75rem; min-width:2.75rem; background:var(--green-pale); border:1px solid var(--border-green); border-radius:0.875rem; display:flex; align-items:center; justify-content:center; color:var(--green-light); flex-shrink:0; }
  .topic-title { font-family:var(--serif); font-size:1.5rem; font-weight:500; color:var(--text-primary); }
  .topic-desc { font-size:0.8rem; font-weight:300; color:var(--text-dim); margin-top:0.2rem; }
  .articles-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.1rem; }
  .article-card { background:var(--bg-card); border:1px solid var(--border); border-radius:1.25rem; padding:1.6rem 1.75rem; display:flex; flex-direction:column; gap:0.85rem; text-decoration:none; transition:border-color 0.25s,transform 0.2s,box-shadow 0.2s; box-shadow:var(--shadow-card); }
  .article-card:hover { border-color:var(--border-green); transform:translateY(-3px); box-shadow:0 10px 36px rgba(53,64,36,0.1); }
  .article-meta { display:flex; align-items:center; gap:0.6rem; flex-wrap:wrap; }
  .article-source { font-size:0.62rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; color:var(--green-light); background:var(--green-pale); border:1px solid var(--border-green); padding:0.2rem 0.65rem; border-radius:2rem; }
  .article-year { font-size:0.62rem; font-weight:400; color:var(--text-dim); letter-spacing:0.06em; }
  .article-title { font-family:var(--serif); font-size:1.05rem; font-weight:500; line-height:1.4; color:var(--text-primary); }
  .article-summary { font-size:0.78rem; font-weight:300; line-height:1.75; color:var(--text-mid); flex:1; }
  .article-link-row { display:flex; align-items:center; gap:0.4rem; font-size:0.69rem; font-weight:500; letter-spacing:0.08em; text-transform:uppercase; color:var(--green-light); margin-top:0.25rem; }
  .article-link-row svg { flex-shrink:0; }
  .article-card:hover .article-link-row { color:var(--green); }

  .resources-disclaimer { max-width:680px; margin:4rem auto 0; text-align:center; padding:1.75rem 2rem; background:var(--bg-card); border:1px solid var(--border); border-radius:1.25rem; }
  .resources-disclaimer p { font-size:0.75rem; font-weight:300; line-height:1.8; color:var(--text-dim); }
  .resources-disclaimer strong { font-weight:500; color:var(--text-mid); }

  @media(max-width:900px){
    .resources-hero,.resources-section { padding-left:2rem; padding-right:2rem; }
    .articles-grid { grid-template-columns:1fr; }
  }
  footer { background:var(--bg-raised); border-top:1px solid var(--border); padding:3rem 5rem; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1.5rem; }
  .footer-logo { font-family:var(--serif); font-size:1.3rem; font-weight:500; letter-spacing:0.06em; color:var(--text-mid); text-decoration:none; display:flex; align-items:center; transition:opacity 0.2s; border:none; background:none; cursor:pointer; padding:0; }
  .footer-logo:hover { opacity:0.75; }
  .footer-logo-icon { display:inline-flex; align-items:center; flex-shrink:0; color:var(--espresso-rim); opacity:0.55; transition:opacity 0.2s; }
  .footer-logo:hover .footer-logo-icon { opacity:0.8; }
  .footer-links { display:flex; gap:2rem; list-style:none; }
  .footer-links a { font-size:0.69rem; font-weight:400; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-dim); text-decoration:none; transition:color 0.2s; cursor:pointer; border:none; background:none; }
  .footer-links a:hover { color:var(--text-mid); }
  .footer-right { display:flex; flex-direction:column; align-items:flex-end; gap:0.35rem; }
  .footer-email { font-size:0.78rem; color:var(--text-dim); text-decoration:none; transition:color 0.2s; }
  .footer-email:hover { color:var(--green-light); }
  .footer-copy { font-size:0.66rem; color:var(--text-dim); opacity:0.7; }

  /* RESPONSIVE */
  @media(max-width:1024px){
    .for-grid,.creds-grid{grid-template-columns:repeat(2,1fr);}
    .pricing-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto;}
    .philosophy-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media(max-width:900px){
    nav{padding:1rem 1.5rem;}
    .nav-links{display:none;}
    .hero{grid-template-columns:1fr;min-height:auto;}
    .hero-left{padding:5rem 2rem 3rem;}
    .hero-right{height:auto;min-height:420px;padding:2rem 1.5rem;}
    .about,.about-hero{grid-template-columns:1fr;gap:4rem;}
    .about-quote-float{right:0;}
    .about-accent-badge{display:none;}
    .services-header,.whats-included-grid,.contact-layout{grid-template-columns:1fr;}
    .services-grid{grid-template-columns:1fr;}
    .service-card.featured{grid-column:span 1;grid-template-columns:1fr;}
    .for-grid{grid-template-columns:repeat(2,1fr);}
    .testi-grid{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    footer{flex-direction:column;align-items:flex-start;padding:2.5rem 2rem;}
    .footer-right{align-items:flex-start;}
    .philosophy-grid{grid-template-columns:1fr;}
    .creds-grid{grid-template-columns:repeat(2,1fr);}
    .about,.about-hero,.services,.for-section,.testimonials,.programs-hero,.pricing-section,.whats-included,.faq-section,.philosophy-section,.credentials-section,.contact-page,.cta-section{padding-left:2rem;padding-right:2rem;}
    .section-divider{margin:0 2rem;}
  }
  @media(max-width:520px){
    .for-grid,.creds-grid{grid-template-columns:1fr;}
    .hero-stats{gap:1.75rem;}
    .cta-actions{flex-direction:column;align-items:center;}
  }

  @media(max-width:900px){
    :root {
      --bg: #FDFAF6;
      --bg-raised: #FAF7F3;
      --bg-card: #F5F0EA;
      --bg-card-deep: #EDE7DF;
      --border: rgba(80,60,40,0.08);
      --border-med: rgba(80,60,40,0.12);
      --shadow-card: 0 1px 12px rgba(53,64,36,0.05);
      --shadow-float: 0 8px 32px rgba(42,31,20,0.1);
      --text-mid: #5A4535;
      --text-dim: #9A8472;
    }
  }

  @media(max-width:900px){
    .how-it-works { background:var(--bg-raised); padding:6rem 5rem; }
  .how-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:3.5rem; position:relative; }
  .how-steps::before { content:''; position:absolute; top:2.75rem; left:calc(33.33% - 1rem); right:calc(33.33% - 1rem); height:1px; background:linear-gradient(90deg, transparent, var(--border-green), transparent); pointer-events:none; }
  .how-step { display:flex; flex-direction:column; align-items:center; text-align:center; padding:2rem 1.5rem; background:var(--bg-card); border:1px solid var(--border); border-radius:1.5rem; box-shadow:var(--shadow-card); transition:border-color 0.25s,transform 0.2s; position:relative; }
  .how-step:hover { border-color:var(--border-green); transform:translateY(-4px); }
  .step-num { width:3rem; height:3rem; border-radius:50%; background:var(--green); color:#F2EDE6; font-family:var(--serif); font-size:1.2rem; font-weight:600; display:flex; align-items:center; justify-content:center; margin-bottom:1.25rem; flex-shrink:0; box-shadow:0 4px 16px rgba(53,64,36,0.25); }
  .step-title { font-family:var(--serif); font-size:1.2rem; font-weight:500; color:var(--text-primary); margin-bottom:0.6rem; }
  .step-body { font-size:0.82rem; font-weight:300; line-height:1.8; color:var(--text-mid); }
  @media(max-width:900px){ .how-it-works{padding:5rem 2rem;} .how-steps{grid-template-columns:1fr; gap:1.25rem;} .how-steps::before{display:none;} }
  .cta-section { background: #3d4a28; }
    .marquee-band { background: #3d4a28; }
    .about-quote-float { background: #3d4a28; }
    .service-card.featured { background: #3d4a28; }
    .pricing-card.highlighted { background: #3d4a28; }
    .inperson-qualify .btn-primary { background: #3d4a28; }
  }

  @media(max-width:900px){
    .section-body { color: #5A4535; }
    .service-desc { color: #5A4535; }
    .for-desc { color: #5A4535; }
    .testi-quote { color: #2A1F14; }
    .value-text-bot { color: #5A4535; }
    .included-body { color: #5A4535; }
    .philosophy-body { color: #5A4535; }
    .article-summary { color: #5A4535; }
    .home-faq-a { color: #5A4535; }
    .journey-text p { color: #5A4535; }
    .worked-body { color: #5A4535; }
    .faq-a-inner { color: #5A4535; }
    .balance-pillar-body { color: #5A4535; }
    .hero-sub { color: #5A4535; }
  }

  @media(max-width:900px){
    .service-card, .for-card, .testi-card, .home-faq-card,
    .pricing-card, .session-card, .included-card, .worked-card,
    .balance-pillar, .philosophy-card, .cred-card, .article-card,
    .faq-item, .about-value, .contact-detail {
      border-color: rgba(80,60,40,0.08);
    }
  }

  /* TERMS PAGE — spacing fix */
  .terms-outer { background:var(--bg-raised); padding:8rem 2rem 7rem; }
  .terms-page { max-width:780px; margin:0 auto; }
  .terms-hero { text-align:center; margin-bottom:4.5rem; padding-bottom:3.5rem; border-bottom:1px solid var(--border); }
  .terms-page h1 { font-family:var(--serif); font-size:clamp(2.2rem,3.5vw,3rem); font-weight:500; color:var(--text-primary); margin-bottom:0.75rem; }
  .terms-page h1 em { font-style:italic; color:var(--green-light); }
  .terms-page .updated { font-size:0.68rem; color:var(--text-dim); letter-spacing:0.1em; text-transform:uppercase; margin-top:0.5rem; display:block; margin-bottom:1.5rem; }
  .terms-intro { font-size:0.9rem; font-weight:300; line-height:1.9; color:var(--text-mid); max-width:560px; margin:0 auto; }
  .terms-grid { display:flex; flex-direction:column; gap:1.75rem; }
  .terms-block { background:var(--bg-card); border:1px solid var(--border); border-radius:1.5rem; padding:2.5rem; transition:border-color 0.2s; }
  .terms-block:hover { border-color:var(--border-green); }
  .terms-block-header { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; padding-bottom:1.25rem; border-bottom:1px solid var(--border); }
  .terms-block-icon { width:2.5rem; height:2.5rem; min-width:2.5rem; background:var(--green-pale); border:1px solid var(--border-green); border-radius:0.75rem; display:flex; align-items:center; justify-content:center; color:var(--green-light); flex-shrink:0; }
  .terms-block h2 { font-family:var(--serif); font-size:1.25rem; font-weight:500; color:var(--text-primary); }
  .terms-block p { font-size:0.87rem; font-weight:300; line-height:2; color:var(--text-mid); margin-bottom:1.1rem; }
  .terms-block p:last-child { margin-bottom:0; }
  @media(max-width:900px){ .terms-outer{padding:7rem 1.5rem 5rem;} .terms-block{padding:2rem 1.75rem;} .terms-grid{gap:1.25rem;} }

  @media(max-width:900px){
    /* Hero left — bright white background so text is always readable */
    .hero-left {
      background: #FDFAF6;
      padding: 5rem 1.75rem 2.5rem;
    }
    /* Hero headline — darkest possible so it pops on any phone screen */
    .hero-headline {
      color: #1A1208;
      font-size: clamp(3rem, 11vw, 4.5rem);
    }
    .hero-headline em {
      color: #4a5835;
    }
    /* Eyebrow */
    .hero-eyebrow {
      color: #4a5835;
    }
    .hero-eyebrow::before {
      background: #4a5835;
    }
    /* Sub text */
    .hero-sub {
      color: #44362a;
      font-weight: 400;
    }
    /* Stats */
    .stat-num { color: #4a5835; }
    .stat-label { color: #8a7060; }
    /* Hero right — slightly lighter so photo stands out */
    .hero-right {
      background: #F5F0EA;
    }
    /* Stats border */
    .hero-stats {
      border-top-color: rgba(80,60,40,0.12);
    }
  }


  @media(max-width:900px){

    /* Services section background */
    .services { background: #FDFAF6; }

    /* Featured (green) card — lighten significantly on mobile */
    .service-card.featured {
      background: #3d4a28;
    }
    .service-card.featured .service-name { color: #F7F2EB; }
    .service-card.featured .service-desc { color: rgba(240,233,222,0.82); }

    /* Regular cards — lighter background */
    .service-card {
      background: #F5F0EA;
      border-color: rgba(80,60,40,0.1);
    }
    .service-name { color: #1A1208; }
    .service-desc { color: #44362a; font-weight: 400; }

    /* Services header text */
    .services-header .section-title { color: #1A1208; }

    /* For-section cards */
    .for-section { background: #FAF7F3; }
    .for-card {
      background: #F5F0EA;
      border-color: rgba(80,60,40,0.08);
    }
    .for-title { color: #1A1208; }
    .for-desc { color: #44362a; font-weight: 400; }

    /* About section */
    .about { background: #FAF7F3; }
    .value-text-top { color: #1A1208; }
    .value-text-bot { color: #44362a; font-weight: 400; }

    /* Balance section */
    .balance-section { background: #FDFAF6; }
    .balance-quote { color: #1A1208; }
    .balance-pillar {
      background: #F5F0EA;
      border-color: rgba(80,60,40,0.08);
    }
    .balance-pillar-title { color: #1A1208; }
    .balance-pillar-body { color: #44362a; font-weight: 400; }

    /* How it works */
    .how-it-works { background: #FAF7F3; }
    .how-step {
      background: #F5F0EA;
      border-color: rgba(80,60,40,0.08);
    }
    .step-title { color: #1A1208; }
    .step-body { color: #44362a; font-weight: 400; }

    /* Home FAQ */
    .home-faq { background: #FAF7F3; }
    .home-faq-card {
      background: #F5F0EA;
      border-color: rgba(80,60,40,0.08);
    }
    .home-faq-q { color: #1A1208; }
    .home-faq-a { color: #44362a; font-weight: 400; }

    /* Section titles globally on mobile */
    .section-title { color: #1A1208; }
    .section-body { color: #44362a; font-weight: 400; }
    .section-eyebrow { color: #4a5835; }
    .section-eyebrow::before { background: #4a5835; }
  }



/* --- single-option adjustments (site restructure, July 2026) --- */
.pricing-grid.single-tier { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
.inperson-sessions.single { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; }
