
:root{
 --cream:#f7f0e8;--cream2:#ede5d8;--cream3:#e5dace;
 --white:#fff;--mauve:#CD97AE;--blush:#F2D7DD;
 --plum:#7B3F55;--plum2:#5c2e3f;--plum-light:rgba(123,63,85,0.08);
 --charcoal:#2d2420;--medium:#6b5a52;--muted:#a09080;
 --border:#ddd0c4;--r:14px;--ease:cubic-bezier(.22,1,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:\"Jost\",sans-serif;background:var(--white);color:var(--charcoal);font-size:15px;line-height:1.7;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:\"DM Serif Display\",serif;font-weight:400;}
.page{display:none;}.page.active{display:block;}

/* REVEAL */
.rv{opacity:1;transform:none;}
.rv.in{opacity:1;transform:none;}
.rv-l{opacity:1;transform:none;}
.rv-l.in{opacity:1;transform:none;}
.rv-r{opacity:1;transform:none;}
.rv-r.in{opacity:1;transform:none;}
.d1{transition-delay:.1s!important;}.d2{transition-delay:.2s!important;}
.d3{transition-delay:.3s!important;}.d4{transition-delay:.42s!important;}
.d5{transition-delay:.55s!important;}.d6{transition-delay:.68s!important;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:9999;background:#fff;border-bottom:1px solid var(--border);height:68px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;transition:box-shadow .3s;}
nav.scrolled{box-shadow:0 4px 24px rgba(45,36,32,.07);}
.nav-logo img{height:48px;width:auto;display:block;}
.nav-links{display:flex;align-items:center;gap:22px;list-style:none;}
.nav-links a{font-size:13px;color:#6b5a52;letter-spacing:.02em;transition:color .2s;cursor:pointer;white-space:nowrap;background:none;border:none;padding:0;font-family:\"Jost\",sans-serif;}
.nav-links a:hover,.nav-links a.act{color:var(--plum);font-weight:500;}
.nav-btn{background:var(--plum);color:#fff!important;padding:9px 20px;border-radius:50px;font-size:13px!important;font-weight:500!important;transition:background .2s!important;}
.nav-btn:hover{background:var(--plum2)!important;}

/* BTNS */
.btn-d{display:inline-block;background:var(--plum);color:#fff;padding:13px 30px;border-radius:50px;font-size:13.5px;font-weight:500;transition:background .2s,transform .15s;cursor:pointer;border:none;font-family:\"Jost\",sans-serif;}
.btn-d:hover{background:var(--plum2);transform:translateY(-1px);}
.btn-o{display:inline-block;background:transparent;color:var(--plum);border:1.5px solid var(--mauve);padding:12px 28px;border-radius:50px;font-size:13.5px;font-weight:500;transition:all .2s;cursor:pointer;}
.btn-o:hover{background:var(--blush);}
.btn-w{display:inline-block;background:#fff;color:var(--plum);padding:13px 30px;border-radius:50px;font-size:13.5px;font-weight:500;transition:opacity .2s;cursor:pointer;}
.btn-w:hover{opacity:.88;}
.btn-ghost{display:inline-block;padding:12px 28px;border-radius:50px;font-size:13.5px;font-weight:500;border:1.5px solid rgba(255,255,255,.35);color:#fff;transition:background .2s;cursor:pointer;}
.btn-ghost:hover{background:rgba(255,255,255,.12);}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}

/* TAG */
.tag-l{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--plum);margin-bottom:16px;}
.tag-l::before{content:'';width:24px;height:1.5px;background:var(--mauve);}
.tag-lw{color:var(--blush);}.tag-lw::before{background:var(--mauve);}
.tag-center{justify-content:center;}

/* MARQUEE */
.mq{background:var(--plum);overflow:hidden;padding:16px 0;}
.mq-track{display:flex;animation:mq 32s linear infinite;white-space:nowrap;width:max-content;}
.mq-item{font-family:\"DM Serif Display\",serif;font-size:18px;font-style:italic;color:var(--blush);padding:0 32px;display:flex;align-items:center;gap:32px;}
.mq-dot{width:5px;height:5px;background:var(--mauve);border-radius:50%;flex-shrink:0;}
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* HERO (full bleed banner with overlay) */
.hero{min-height:76vh;margin-top:68px;position:relative;display:flex;align-items:flex-end;overflow:hidden;}
.hero-bg{position:absolute;inset:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:sepia(6%) saturate(1.06) brightness(.95);}
.hero-ov{position:absolute;inset:0;background:linear-gradient(110deg,rgba(45,36,32,.82) 0%,rgba(123,63,85,.55) 45%,rgba(45,36,32,.2) 100%);}
.hero-content{position:relative;z-index:2;padding:80px 6% 80px;max-width:780px;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px);border-radius:50px;padding:6px 16px;font-size:12px;color:rgba(255,255,255,.85);font-weight:400;letter-spacing:.06em;margin-bottom:24px;}
.hero-badge span{width:7px;height:7px;background:var(--mauve);border-radius:50%;animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.5);}}
.hero-content h1{font-size:clamp(42px,5.5vw,72px);line-height:1.07;color:#fff;margin-bottom:18px;}
.hero-content h1 em{color:var(--blush);}
.hero-content p{font-size:16px;color:rgba(255,255,255,.78);line-height:1.8;max-width:520px;margin-bottom:34px;}
.hero-scroll{position:absolute;bottom:32px;right:5%;z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px;color:rgba(255,255,255,.4);font-size:10px;letter-spacing:.1em;text-transform:uppercase;}
.hero-scroll::before{content:'';width:1px;height:40px;background:rgba(255,255,255,.25);animation:hs 1.8s ease-in-out infinite;}
@keyframes hs{0%,100%{opacity:.25;}50%{opacity:.9;}}

/* SECTION */
.sec{padding:88px 5%;}
.si{max-width:1200px;margin:0 auto;}
.sec-cream{background:var(--cream);}.sec-cream2{background:var(--cream2);}
.sec-plum{background:var(--plum);}.sec-white{background:var(--white);}
.sec-h{text-align:center;max-width:640px;margin:0 auto 48px;}
.sec-h h2{font-size:clamp(28px,3.5vw,48px);line-height:1.18;margin-bottom:10px;}
.sec-h p{font-size:15px;color:var(--medium);line-height:1.8;}

/* SERVICE CARDS (home) */
.srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.srv-card{border-radius:var(--r);overflow:hidden;background:var(--white);border:1px solid var(--border);transition:transform .3s var(--ease),box-shadow .3s var(--ease);cursor:pointer;}
.srv-card:hover{transform:translateY(-5px);box-shadow:0 18px 50px rgba(123,63,85,.12);}
.srv-img{height:200px;overflow:hidden;position:relative;}
.srv-img img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .55s var(--ease);filter:sepia(7%) saturate(1.05) brightness(1.01);}
.srv-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(123,63,85,.22) 100%);pointer-events:none;}
.srv-card:hover .srv-img img{transform:scale(1.06);}
.srv-body{padding:18px 16px 20px;}
.srv-icon{font-size:22px;margin-bottom:8px;}
.srv-tag{font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mauve);margin-bottom:5px;}
.srv-body h3{font-size:17px;margin-bottom:6px;}
.srv-body p{font-size:12.5px;color:var(--muted);line-height:1.6;}
.srv-lnk{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:500;color:var(--plum);margin-top:10px;transition:gap .2s;}
.srv-lnk:hover{gap:8px;}

/* PHOTO FEATURE */
.pf{display:grid;grid-template-columns:1fr 1fr;}
.pf-img{position:relative;overflow:hidden;min-height:480px;}
.pf-img img{width:100%;height:100%;object-fit:cover;object-position:center;filter:sepia(8%) saturate(1.05) brightness(.98);}
.pf-img::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(247,240,232,.45) 100%);pointer-events:none;}
.pf-body{background:var(--cream);display:flex;flex-direction:column;justify-content:center;padding:60px 5%;}
.pf-body h2{font-size:clamp(26px,3vw,42px);line-height:1.18;margin-bottom:14px;}
.pf-body p{font-size:14.5px;color:var(--medium);line-height:1.85;margin-bottom:12px;}

/* WHY CARDS */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;}
.why-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:26px;display:flex;gap:16px;align-items:flex-start;transition:border-color .2s,box-shadow .2s;}
.why-card:hover{border-color:var(--mauve);box-shadow:0 6px 24px rgba(205,151,174,.12);}
.why-icon{width:44px;height:44px;background:var(--plum-light);border:1px solid rgba(205,151,174,.3);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.why-card h3{font-size:16px;margin-bottom:5px;font-family:\"Jost\",sans-serif;font-weight:600;}
.why-card p{font-size:13px;color:var(--muted);line-height:1.65;}

/* IMPACT STRIP */
.impact{background:var(--plum);padding:0;}
.impact-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);}
.impact-item{padding:24px 10px;text-align:center;border-right:1px solid rgba(255,255,255,.1);}
.impact-item:last-child{border-right:none;}
.impact-item{padding:28px 12px;text-align:center;border-right:1px solid rgba(255,255,255,.1);}
.impact-item:last-child{border-right:none;}
.impact-num{font-family:\"DM Serif Display\",serif;font-size:40px;font-weight:400;color:#fff;display:block;line-height:1;}
.impact-lbl{font-size:12px;color:rgba(255,255,255,.55);margin-top:8px;letter-spacing:.04em;}

/* TESTIMONIALS scrollable */
.testi-scroll{display:flex;gap:18px;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--mauve) var(--cream);}
.testi-scroll::-webkit-scrollbar{height:4px;}
.testi-scroll::-webkit-scrollbar-track{background:var(--cream);border-radius:2px;}
.testi-scroll::-webkit-scrollbar-thumb{background:var(--mauve);border-radius:2px;}
.t-card{min-width:300px;background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:24px 20px;flex-shrink:0;scroll-snap-align:start;}
.t-stars{color:#e9a84c;font-size:12px;letter-spacing:2px;margin-bottom:10px;}
.t-q{font-family:\"DM Serif Display\",serif;font-size:16.5px;font-style:italic;color:var(--charcoal);line-height:1.62;margin-bottom:14px;}
.t-auth h4{font-size:13px;font-weight:600;}.t-auth p{font-size:12px;color:var(--muted);}
.t-video-card{min-width:240px;background:var(--charcoal);border-radius:var(--r);overflow:hidden;flex-shrink:0;scroll-snap-align:start;}
.t-card{min-width:300px;background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:24px 20px;flex-shrink:0;scroll-snap-align:start;}
/* Desktop: show text cards, hide video placeholders */
@media(min-width:701px){.t-video-card{display:none !important;}}
/* Mobile: show video placeholders only, hide text cards */
@media(max-width:700px){
  .impact-inner{grid-template-columns:repeat(4,1fr)!important;}
  .impact-num{font-size:22px!important;}
  .impact-lbl{font-size:10px!important;}
  .impact-item{padding:16px 6px!important;}
}
.t-vph{height:185px;background:linear-gradient(135deg,#2d2420,#4a3028);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:rgba(255,255,255,.5);font-size:12.5px;}
.t-play{width:48px;height:48px;background:rgba(205,151,174,.3);border:2px solid var(--mauve);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;}
.t-vb{padding:14px;}.t-vb h4{font-size:14px;font-weight:500;color:#fff;margin-bottom:2px;}.t-vb p{font-size:12px;color:rgba(255,255,255,.5);}

/* GALLERY MOSAIC */
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:220px 220px;gap:12px;}
.gal-item{border-radius:var(--r);overflow:hidden;position:relative;cursor:pointer;}
.gal-item img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .55s var(--ease);filter:sepia(8%) saturate(1.05) brightness(1.01);}
.gal-item:hover img{transform:scale(1.07);}
.gal-item::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(45,36,32,.5) 100%);pointer-events:none;}
.gal-item.tall{grid-row:span 2;}.gal-item.wide{grid-column:span 2;}
.gal-cap{position:absolute;bottom:12px;left:14px;right:14px;color:#fff;font-size:12px;font-weight:500;z-index:2;opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s;}
.gal-item:hover .gal-cap{opacity:1;transform:translateY(0);}

/* CTA BAND */
.cta-band{position:relative;overflow:hidden;min-height:440px;display:flex;align-items:center;}
.cta-bg{position:absolute;inset:0;background-size:cover;background-position:center top;}
.cta-bg::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(120deg,rgba(45,36,32,.85) 0%,rgba(123,63,85,.6) 100%);}
.cta-cnt{position:relative;z-index:2;padding:64px 6%;max-width:660px;}
.cta-cnt h2{font-size:clamp(28px,3.8vw,50px);color:#fff;margin-bottom:12px;line-height:1.18;}
.cta-cnt p{font-size:15px;color:rgba(255,255,255,.74);line-height:1.8;margin-bottom:30px;}

/* FREE CHECKLIST FORM */
.cl-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.cl-right h2{font-size:clamp(24px,3vw,42px);color:var(--charcoal);margin-bottom:12px;line-height:1.2;}
.cl-right p{color:var(--medium);margin-bottom:16px;line-height:1.8;}
.ck-list{list-style:none;margin:16px 0;}
.ck-list li{display:flex;align-items:center;gap:10px;color:var(--medium);margin-bottom:10px;font-size:14px;}
.ck-list li::before{content:'';width:20px;height:20px;background:rgba(123,63,85,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0;color:var(--plum);}
.cl-form-box{background:var(--white);border-radius:20px;padding:34px;}
.cl-form-box h3{font-size:22px;margin-bottom:18px;}
.f-field{margin-bottom:11px;}
.f-field input{width:100%;border:1.5px solid var(--border);border-radius:10px;padding:11px 14px;font-size:14px;font-family:\"Jost\",sans-serif;outline:none;color:var(--charcoal);background:var(--cream);transition:border-color .2s;}
.f-field input:focus{border-color:var(--mauve);background:var(--white);}

/* INNER HERO */
.ih{margin-top:68px;position:relative;height:50vh;min-height:350px;overflow:hidden;display:flex;align-items:flex-end;}
.ih-bg{position:absolute;inset:0;background-size:cover;background-position:center 20%;filter:sepia(8%) saturate(1.05) brightness(.93);}
.ih-ov{position:absolute;inset:0;background:linear-gradient(to right,rgba(45,36,32,.82) 0%,rgba(45,36,32,.4) 55%,transparent 100%);}
.ih-ov2{position:absolute;bottom:0;left:0;right:0;height:46%;background:linear-gradient(to top,rgba(45,36,32,.72),transparent);}
.ih::before{content:'';position:absolute;inset:0;background:rgba(120,70,40,.08);z-index:1;pointer-events:none;}
.ih-cnt{position:relative;z-index:2;padding:0 6% 48px;}
.ih-cnt .tag-l{color:var(--blush);}.ih-cnt .tag-l::before{background:var(--mauve);}
.ih-cnt h1{font-size:clamp(32px,4.5vw,60px);color:#fff;line-height:1.12;}
.ih-cnt h1 em{color:var(--blush);}

/* 
 PROGRAMS PAGE \u2014 Icon cards design
 */
.prog-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px;}
.prog-tab{padding:9px 20px;border-radius:50px;border:1.5px solid var(--border);font-size:13px;color:var(--medium);cursor:pointer;transition:all .2s;background:var(--white);font-family:\"Jost\",sans-serif;}
.prog-tab.act{background:var(--plum);color:#fff;border-color:var(--plum);}
.prog-tab:hover:not(.act){border-color:var(--plum);color:var(--plum);}
.prog-sub{display:none;}.prog-sub.act{display:block;}
.prog-lead{font-family:\"DM Serif Display\",serif;font-style:italic;font-size:clamp(16px,1.8vw,22px);color:var(--plum);line-height:1.55;background:var(--cream);border-left:3px solid var(--mauve);padding:16px 22px;border-radius:0 12px 12px 0;margin-bottom:32px;}

/* Program icon cards */
.prog-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;}
.prog-icon-card{background:var(--white);border:1.5px solid var(--border);border-radius:16px;padding:24px 20px;text-align:center;transition:transform .25s var(--ease),box-shadow .25s,border-color .2s;position:relative;overflow:hidden;}
.prog-icon-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--mauve),var(--plum));transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.prog-icon-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(123,63,85,.12);border-color:var(--mauve);}
.prog-icon-card:hover::before{transform:scaleX(1);}
.pic-icon{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--blush),rgba(205,151,174,.3));display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 14px;}
.prog-icon-card h3{font-size:16px;font-family:\"Jost\",sans-serif;font-weight:600;color:var(--charcoal);margin-bottom:8px;line-height:1.3;}
.prog-icon-card p{font-size:12.5px;color:var(--muted);line-height:1.6;margin-bottom:14px;}
.pic-cta{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--plum);letter-spacing:.04em;text-transform:uppercase;transition:gap .2s;}
.pic-cta:hover{gap:8px;}

/* 
 ABOUT PAGE
 */
.founder-split{display:grid;grid-template-columns:360px 1fr;gap:52px;align-items:start;}
.founder-img{position:relative;border-radius:20px;overflow:hidden;}
.founder-img img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;border-radius:20px;filter:sepia(7%) saturate(1.06) brightness(1.01);}
.founder-img::after{content:'';position:absolute;inset:0;border-radius:20px;background:linear-gradient(180deg,transparent 60%,rgba(123,63,85,.2) 100%);pointer-events:none;}
.ab-badge{position:absolute;bottom:20px;right:-12px;background:var(--white);border:1px solid var(--border);border-radius:12px;padding:12px 18px;box-shadow:0 8px 28px rgba(0,0,0,.1);z-index:2;}
.ab-badge strong{display:block;font-family:\"DM Serif Display\",serif;font-size:24px;color:var(--plum);}
.ab-badge span{font-size:11px;color:var(--muted);}
.founder-body h2{font-size:clamp(26px,3vw,42px);line-height:1.18;margin-bottom:14px;}
.founder-body p{font-size:14.5px;color:var(--medium);line-height:1.85;margin-bottom:12px;}
.cert-row{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 22px;}
.cert-p{background:var(--cream);color:var(--plum);border:1px solid var(--border);padding:5px 13px;border-radius:50px;font-size:11.5px;font-weight:500;}

/* Space blocks - 3 in a row */
.space-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.space-card{border-radius:var(--r);overflow:hidden;background:var(--white);border:1px solid var(--border);transition:transform .25s,box-shadow .25s;}
.space-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(123,63,85,.1);}
.space-img{height:200px;overflow:hidden;}
.space-img img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .5s var(--ease);filter:sepia(7%) saturate(1.05) brightness(1.01);}
.space-card:hover .space-img img{transform:scale(1.05);}
.space-body{padding:20px;}
.space-icon{display:none;}
.space-body h3{font-size:17px;margin-bottom:6px;}
.space-body p{font-size:13px;color:var(--muted);line-height:1.65;}

/* 
 PRICING \u2014 Horizontal scroll + Timeline
 */
.price-scroller{overflow-x:auto;padding-bottom:16px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--mauve) var(--cream);display:flex;justify-content:center;}
.price-scroller::-webkit-scrollbar{height:4px;}
.price-scroller::-webkit-scrollbar-track{background:var(--cream);border-radius:2px;}
.price-scroller::-webkit-scrollbar-thumb{background:var(--mauve);border-radius:2px;}
.price-track{display:flex;gap:18px;padding:4px 2px 4px;min-width:100%;justify-content:center;flex-wrap:wrap;}
.p-card{background:var(--white);border:1.5px solid var(--border);border-radius:20px;padding:28px 22px;text-align:center;width:200px;flex-shrink:0;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;}
.p-card:hover{transform:translateY(-4px);box-shadow:0 14px 44px rgba(123,63,85,.12);border-color:var(--mauve);}
.p-card.feat{background:var(--plum);border-color:var(--plum);color:#fff;transform:translateY(-6px);box-shadow:0 16px 48px rgba(123,63,85,.25);}
.pop-b{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--mauve);color:#fff;font-size:10px;font-weight:600;padding:3px 14px;border-radius:50px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;}
.p-name{font-family:\"DM Serif Display\",serif;font-size:22px;margin-bottom:4px;}
.p-cred{font-size:13px;margin-bottom:10px;}
.feat .p-name{color:#fff;}.feat .p-cred{color:rgba(255,255,255,.55);}
.p-badge{display:inline-block;background:var(--cream);color:var(--plum);border-radius:50px;font-size:10.5px;font-weight:500;padding:3px 12px;margin-bottom:10px;}
.feat .p-badge{background:rgba(255,255,255,.18);color:#fff;}
.p-valid{font-size:11.5px;color:var(--muted);margin-bottom:18px;}
.feat .p-valid{color:rgba(255,255,255,.48);}

/* Timeline how it works - left-aligned vertical */
.tl-wrap{position:relative;max-width:700px;margin:0 auto;padding-left:52px;}
.tl-wrap::before{content:'';position:absolute;left:20px;top:12px;bottom:12px;width:2px;background:linear-gradient(to bottom,var(--blush),var(--mauve),var(--plum));}
.tl-item{position:relative;margin-bottom:28px;}
.tl-item:last-child{margin-bottom:0;}
.tl-dot{position:absolute;left:-42px;top:10px;width:38px;height:38px;background:var(--plum);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:\"DM Serif Display\",serif;font-size:16px;box-shadow:0 0 0 5px rgba(123,63,85,.12);}
.tl-card{background:var(--white);border:1.5px solid var(--border);border-radius:12px;padding:18px 20px;}
.tl-card h3{font-size:16px;margin-bottom:5px;font-family:\"Jost\",sans-serif;font-weight:600;}
.tl-card p{font-size:13px;color:var(--muted);line-height:1.65;}

/* 
 FAQ \u2014 Stylish accordion
 */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.faq-card{background:var(--white);border:1.5px solid var(--border);border-radius:16px;overflow:hidden;transition:border-color .2s,box-shadow .2s;}
.faq-card.open{border-color:var(--mauve);box-shadow:0 6px 24px rgba(205,151,174,.14);}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;cursor:pointer;}
.faq-q h4{font-size:14.5px;font-weight:500;color:var(--charcoal);font-family:\"Jost\",sans-serif;line-height:1.4;}
.faq-tog{width:30px;height:30px;border-radius:50%;background:var(--cream);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--plum);font-size:18px;transition:transform .25s,background .2s,border-color .2s;}
.faq-card.open .faq-tog{transform:rotate(45deg);background:var(--plum);color:#fff;border-color:var(--plum);}
.faq-a{font-size:13.5px;color:var(--medium);line-height:1.78;padding:0 22px 20px;display:none;border-top:1px solid var(--border);padding-top:16px;margin:0 22px;}
.faq-card.open .faq-a{display:block;}
.faq-cta{background:linear-gradient(135deg,var(--plum),var(--plum2));border-radius:20px;padding:36px;text-align:center;color:#fff;margin-top:32px;}
.faq-cta h3{font-size:26px;margin-bottom:10px;}
.faq-cta p{color:rgba(255,255,255,.72);margin-bottom:22px;font-size:14.5px;}

/* 
 CONTACT
 */
.ct-layout{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;}
.ct-left h2{font-size:clamp(24px,2.8vw,38px);margin-bottom:22px;line-height:1.2;}
.ct-detail{display:flex;gap:14px;margin-bottom:20px;align-items:flex-start;}
.ct-icon{width:40px;height:40px;background:var(--cream);border:1px solid var(--border);border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.ct-detail h4{font-size:13px;font-weight:600;margin-bottom:2px;}
.ct-detail p,.ct-detail a{font-size:13px;color:var(--medium);line-height:1.65;}
.ct-detail a{color:var(--plum);}
.map-box{border-radius:14px;overflow:hidden;height:240px;border:1.5px solid var(--border);margin-top:22px;}
.map-box iframe{width:100%;height:100%;border:none;}
.ct-form-box{background:var(--cream);border-radius:20px;padding:34px;border:1px solid var(--border);}
.ct-form-box h3{font-size:24px;margin-bottom:20px;}
.ct-form-box input,.ct-form-box textarea{width:100%;border:1.5px solid var(--border);border-radius:10px;padding:12px 14px;font-size:14px;font-family:\"Jost\",sans-serif;outline:none;color:var(--charcoal);background:var(--white);margin-bottom:11px;transition:border-color .2s;}
.ct-form-box input:focus,.ct-form-box textarea:focus{border-color:var(--mauve);}
.ct-form-box textarea{resize:vertical;}

/* 
 FOOTER \u2014 Plum, compact
 */
footer{background:var(--plum);color:rgba(255,255,255,.65);padding:22px 5% 14px;}
.fi{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:12px;}
.f-logo img{height:34px;width:auto;filter:brightness(0) invert(1) opacity(.72);margin-bottom:6px;}
.f-brand p{font-size:11px;line-height:1.65;max-width:210px;color:rgba(255,255,255,.5);}
.f-col h4{font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:14px;}
.f-col ul{list-style:none;}
.f-col li{margin-bottom:9px;}
.f-col a{color:rgba(255,255,255,.55);font-size:13px;transition:color .2s;cursor:pointer;}
.f-col a:hover{color:var(--blush);}
.footer-bot{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.3);}
.soc-row{display:flex;gap:8px;}
.soc{width:32px;height:32px;background:rgba(255,255,255,.1);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;transition:background .2s;color:rgba(255,255,255,.6);}
.soc:hover{background:rgba(255,255,255,.2);}

/* WA */
.wa{position:fixed;bottom:24px;right:24px;z-index:600;width:54px;height:54px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);transition:transform .2s;}
.wa:hover{transform:scale(1.08);}
.wa svg{width:27px;height:27px;fill:#fff;}

/* GALLERY PAGE */
.gal-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.gal-pg-item{border-radius:var(--r);overflow:hidden;position:relative;aspect-ratio:4/3;cursor:pointer;}
.gal-pg-item.tall{aspect-ratio:3/4;grid-row:span 2;}
.gal-pg-item img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .5s var(--ease);filter:sepia(7%) saturate(1.05) brightness(1.01);}
.gal-pg-item:hover img{transform:scale(1.06);}
.gal-pg-item::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(45,36,32,.5) 100%);pointer-events:none;}
.gal-pg-cap{position:absolute;bottom:12px;left:14px;color:#fff;font-size:12px;font-weight:500;z-index:2;opacity:0;transition:opacity .25s;}
.gal-pg-item:hover .gal-pg-cap{opacity:1;}

/* RESPONSIVE */
@media(max-width:1024px){
 .founder-split{grid-template-columns:1fr;}
 .founder-img{max-width:380px;}
 .ct-layout{grid-template-columns:1fr;}
 .cl-grid{grid-template-columns:1fr;}
 .pf{grid-template-columns:1fr;}
 .pf-img{min-height:340px;}
 .footer-top{grid-template-columns:1fr 1fr;}
 .faq-grid{grid-template-columns:1fr;}
 .timeline::before{left:28px;}
 .tl-item{grid-template-columns:28px 44px 1fr;}
 .tl-left{display:none;}
 .tl-right{grid-column:3;}
 /* keep 4 cols always */
 .t-card{min-width:calc(50% - 10px);}
}
@media(max-width:700px){
  .impact-inner{grid-template-columns:repeat(4,1fr)!important;}
  .impact-num{font-size:22px!important;}
  .impact-lbl{font-size:10px!important;}
  .impact-item{padding:16px 6px!important;}

 .nav-links{display:none!important;}
 .nav-hamburger{display:flex!important;}
 .space-row{grid-template-columns:1fr;}
 .footer-top{grid-template-columns:1fr;}
 .t-card{min-width:100%;}
 .gal-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto;}
 .gal-item.tall,.gal-item.wide{grid-row:span 1;grid-column:span 1;}
 .gal-page-grid{grid-template-columns:repeat(2,1fr);}
 .impact-inner{grid-template-columns:1fr;}
 .hero-content h1{font-size:clamp(36px,8vw,54px);}
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
/* \u2500\u2500 ANIMATIONS \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
/* Hero load animation */









/* Scroll reveal \u2014 overwrite existing .rv */
.rv { opacity: 0; transform: translateY(24px);
 transition: opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1); }
.rv.in { opacity: 1; transform: translateY(0); }
.rv-l{ opacity: 0; transform: translateX(-28px);
 transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
.rv-l.in{opacity:1;transform:none;}
.rv-r{ opacity: 0; transform: translateX(28px);
 transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
.rv-r.in{opacity:1;transform:none;}

/* Staggered card delays */
.d1{ transition-delay: .08s !important; }
.d2{ transition-delay: .16s !important; }
.d3{ transition-delay: .24s !important; }
.d4{ transition-delay: .32s !important; }
.d5{ transition-delay: .42s !important; }
.d6{ transition-delay: .52s !important; }

/* Button hover scale */
.btn-d, .btn-o, .btn-w, .btn-ghost, .nav-btn {
 transition: background .2s ease, color .2s ease,
 transform .2s ease, box-shadow .2s ease,
 border-color .2s ease !important;
}
.btn-d:hover { transform: translateY(-2px) scale(1.02) !important; box-shadow: 0 6px 20px rgba(123,63,85,.22) !important; }
.btn-o:hover { transform: translateY(-2px) scale(1.02) !important; }
.btn-w:hover { transform: translateY(-2px) scale(1.02) !important; }
.btn-ghost:hover { transform: translateY(-2px) scale(1.02) !important; }

/* Link hover underline slide */
/* nav: single indicator only */

/* Card hover lifts */
.srv-card { transition: transform .28s ease, box-shadow .28s ease !important; }
.srv-card:hover { transform: translateY(-6px) !important; }
.prog-icon-card { transition: transform .25s ease, box-shadow .25s ease, border-color .2s !important; }
.prog-icon-card:hover { transform: translateY(-4px) scale(1.01) !important; }
.why-card { transition: border-color .22s, box-shadow .22s, transform .22s !important; }
.why-card:hover { transform: translateY(-3px) !important; }
.space-card { transition: transform .25s ease, box-shadow .25s ease !important; }
.space-card:hover { transform: translateY(-4px) !important; }

/* Arrow span */
.arr { display: inline-block; transition: transform .2s ease; }
a:hover .arr, button:hover .arr { transform: translateX(4px); }

/* Page transition \u2014 only on active page */


 to { opacity: 1; transform: translateY(0); }


/* Video testimonials 4:5 ratio */
.vid-section{background:var(--charcoal);padding:64px 0 0;overflow:hidden;}
.vid-header{padding:0 5% 32px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.vid-header h2{font-size:clamp(24px,3.5vw,42px);color:#fff;line-height:1.18;}
.vid-header p{font-size:13px;color:rgba(255,255,255,.48);max-width:260px;text-align:right;line-height:1.6;}
.vid-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:0 5% 24px;scrollbar-width:none;}
.vid-track::-webkit-scrollbar{display:none;}
.vid-card{flex-shrink:0;width:232px;scroll-snap-align:start;border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .3s ease;}
.vid-card:hover{transform:translateY(-4px);}
.vid-inner{aspect-ratio:4/5;position:relative;overflow:hidden;}
.vid-bg{position:absolute;inset:0;transition:filter .3s;}
.vid-card:hover .vid-bg{filter:brightness(1.1);}
.vid-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.08) 50%,transparent 100%);}
.vid-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;background:rgba(255,255,255,.18);border:2px solid rgba(255,255,255,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);transition:background .25s,transform .25s;}
.vid-card:hover .vid-play{background:rgba(255,255,255,.3);transform:translate(-50%,-50%) scale(1.1);}
.vid-badge{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(4px);border-radius:20px;padding:3px 10px;font-size:9.5px;color:rgba(255,255,255,.65);letter-spacing:.06em;text-transform:uppercase;}
.vid-info{position:absolute;bottom:0;left:0;right:0;padding:14px 14px;}
.vid-stars{font-size:11px;color:#e9c84c;letter-spacing:1.5px;margin-bottom:5px;}
.vid-name{font-size:13.5px;font-weight:600;color:#fff;margin-bottom:2px;}
.vid-sub{font-size:11px;color:rgba(255,255,255,.52);}
.vid-marquee{padding:16px 0;border-top:1px solid rgba(255,255,255,.08);overflow:hidden;}
.vid-mq-track{display:flex;animation:vidmq 38s linear infinite;white-space:nowrap;width:max-content;}
@keyframes vidmq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.vid-mq-item{display:inline-flex;align-items:center;gap:24px;padding:0 24px;font-family:\"DM Serif Display\",serif;font-size:14.5px;font-style:italic;color:rgba(255,255,255,.35);}
.vid-mq-sep{width:4px;height:4px;border-radius:50%;background:var(--mauve);flex-shrink:0;display:inline-block;}



/* ── GALLERY PAGE ───────────────────── */
.gt-wrap{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.gt{padding:9px 20px;border-radius:50px;border:1.5px solid var(--border);font-size:13px;color:var(--medium);cursor:pointer;background:#fff;font-family:"Jost",sans-serif;white-space:nowrap;transition:all .2s;}
.gt:hover{border-color:var(--plum);color:var(--plum);}
.gt-a{background:var(--plum)!important;color:#fff!important;border-color:var(--plum)!important;font-weight:500!important;}
.gp{display:none;}
.gp-s{display:block!important;animation:gfade .3s ease-out;}
@keyframes gfade{from{opacity:0;}to{opacity:1;}}
.gg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.gi{aspect-ratio:1/1;border-radius:12px;overflow:hidden;cursor:pointer;background:var(--cream);}
.gi img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.gi:hover img{transform:scale(1.05);}

/* ── HOME GALLERY STRIP ─────────────── */
.gstrip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:0;}
.gstrip-item{aspect-ratio:1/1;border-radius:12px;overflow:hidden;cursor:pointer;background:var(--cream);}
.gstrip-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.gstrip-item:hover img{transform:scale(1.05);}

/* ── NAV ACTIVE INDICATOR ───────────── */
#nav-indicator{position:fixed;top:66px;left:0;height:3px;background:var(--plum);border-radius:3px 3px 0 0;z-index:10000;transition:left .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),opacity .25s ease;pointer-events:none;}
@media(max-width:768px){#nav-indicator{display:none;}}

/* ── FOOTER MOBILE ──────────────────── */
.ft-col-explore{display:block;}
@media(max-width:768px){
  .ft-col-explore{display:none!important;}
  .footer-3col-wrap{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:480px){
  .footer-3col-wrap{grid-template-columns:1fr!important;}
}

/* ── RESPONSIVE GALLERY ─────────────── */
@media(max-width:768px){
  .gstrip{grid-template-columns:repeat(3,1fr);}
  .gg{grid-template-columns:repeat(2,1fr);}
  .gt{font-size:12px;padding:7px 14px;}
}
@media(max-width:480px){
  .gstrip{grid-template-columns:repeat(2,1fr);}
}

/* ── IOS INPUT ZOOM FIX ─────────────── */
@media(max-width:768px){
  input,textarea,select{font-size:16px!important;}
}

/* ── MOBILE MENU ────────────────────── */

/* ── HAMBURGER BUTTON ─────────────────── */
.nav-hamburger{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:40px;height:40px;
  cursor:pointer;
  background:none;
  border:1.5px solid var(--border);
  padding:6px;gap:6px;
  border-radius:8px;
  transition:background .2s,border-color .2s;
  flex-shrink:0;
}
.nav-hamburger:hover{background:var(--cream);border-color:var(--mauve);}
.nav-hamburger span{
  display:block;
  width:20px;height:2px;
  background:var(--charcoal);
  border-radius:2px;
  transition:transform .28s ease,opacity .28s ease,width .28s ease;
  transform-origin:center;
}
.nav-hamburger.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;width:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* ── MOBILE BREAKPOINT ────────────────── */
@media(max-width:768px){
  nav{
    grid-template-columns:auto auto;
    justify-content:space-between;
  }
  .nav-links{display:none!important;}
  .nav-cta-wrap{display:flex;align-items:center;}
  .nav-hamburger{display:flex!important;}
}
@media(max-width:900px){
  .nav-links{gap:10px;}
  .nav-links a{font-size:12px;padding:6px 8px;}
}

.nav-mobile-menu{display:none;position:fixed;top:72px;left:0;right:0;z-index:9998;background:#fff;border-bottom:2px solid var(--border);box-shadow:0 8px 32px rgba(45,36,32,.12);padding:8px 5% 16px;flex-direction:column;}
.nav-mobile-menu.open{display:flex;animation:mobileMenuIn .22s ease-out;}
@keyframes mobileMenuIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:translateY(0);}}
.nav-mobile-menu a{font-size:15px;color:var(--charcoal);padding:13px 10px;border-bottom:1px solid var(--border);cursor:pointer;font-family:"Jost",sans-serif;display:block;transition:color .18s;text-decoration:none;}
.nav-mobile-menu a.act{color:var(--plum);font-weight:500;}
.nav-mobile-btn{margin-top:12px;display:block;background:var(--plum);color:#fff!important;padding:14px 24px;border-radius:50px;font-size:14px;font-weight:500;font-family:"Jost",sans-serif;text-align:center;text-decoration:none;}

/* ── .rv REVEAL (no animation - always visible) ─ */
.rv{opacity:1;transform:none;}
.rv.in{opacity:1;transform:none;}
.rv-l{opacity:1;transform:none;}
.rv-l.in{opacity:1;transform:none;}
.rv-r{opacity:1;transform:none;}
.rv-r.in{opacity:1;transform:none;}

.nav-cta-wrap{display:flex;gap:8px;align-items:center;}
.nav-call-btn{display:inline-flex;align-items:center;gap:7px;background:var(--plum);color:#fff;border-radius:50px;padding:8px 18px;font-size:12.5px;font-weight:600;text-decoration:none;white-space:nowrap;border:2px solid var(--plum);transition:all .2s;}
.nav-call-btn:hover{background:var(--plum2);border-color:var(--plum2);}
@media(max-width:768px){.nav-call-btn span{display:none;}.nav-call-btn{padding:8px 10px;gap:0;}}
.faq-card{border-bottom:1px solid var(--border);cursor:pointer;}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:16px 0;gap:12px;user-select:none;}
.faq-q h4{margin:0;font-size:14.5px;font-weight:500;color:var(--charcoal);line-height:1.4;}
.faq-tog{font-size:22px;color:var(--plum);flex-shrink:0;font-weight:300;line-height:1;transition:transform .25s;}
.faq-card.open .faq-tog{transform:rotate(45deg);}
.faq-a{display:none;font-size:13.5px;color:var(--medium);line-height:1.75;padding:16px 22px 20px;}
.faq-card.open .faq-a{display:block;}
#vid-lightbox{display:none;}
#vid-lightbox.open{display:flex;}
.vid-card{flex-shrink:0;width:250px;scroll-snap-align:start;border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .3s ease;}
