@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500&display=swap');

*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --n:#F8F4EE;--m:#EFE7DC;--b:#E8E1D8;--d:#C8A46B;--k:#0F0E0C;--o:#1F1E1C;
  --t:#B96B4A;--c:#2A3140;--v:#59604B;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost','Helvetica Neue',Arial,sans-serif;
}
html{scroll-behavior:smooth;}
body{background:var(--n);color:var(--k);font-family:var(--sans);font-weight:300;overflow-x:hidden;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 48px;height:72px;display:flex;align-items:center;justify-content:space-between;background:rgba(248,244,238,0.97);backdrop-filter:blur(16px);border-bottom:0.5px solid rgba(184,150,90,0.2);}
.nl img{height:44px;display:block;mix-blend-mode:multiply;}
.nl{text-decoration:none;}
.nm{display:flex;gap:28px;list-style:none;}
.nm a{text-decoration:none;color:var(--o);font-family:var(--sans);font-weight:300;font-size:10px;letter-spacing:2px;text-transform:uppercase;transition:color .3s;white-space:nowrap;}
.nm a:hover,.nm a.active{color:var(--d);}
.nm a.active{border-bottom:1px solid var(--d);padding-bottom:2px;}
.ni{display:flex;gap:18px;align-items:center;}
.ni svg{width:18px;height:18px;stroke:var(--o);fill:none;cursor:pointer;transition:stroke .3s;}
.ni svg:hover{stroke:var(--d);}
.ni a{position:relative;display:flex;}
.cartbadge{position:absolute;top:-7px;right:-8px;background:var(--t);color:#fff;font-size:8px;font-family:var(--sans);width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;letter-spacing:0;}
.nt{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;margin-left:4px;}
.nt span{width:22px;height:1.5px;background:var(--o);display:block;transition:all .3s;}
.nt.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nt.open span:nth-child(2){opacity:0;}
.nt.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* PAGE HEADER */
.ph{padding:140px 80px 70px;background:var(--n);border-bottom:1px solid var(--b);}
.ph.center{text-align:center;}
.ph.center .ps{margin-left:auto;margin-right:auto;}
.pe{font-family:var(--sans);font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--d);margin-bottom:16px;}
.pt{font-family:var(--serif);font-size:64px;font-weight:500;color:var(--o);line-height:1.02;margin-bottom:18px;}
.pt em{font-style:italic;color:var(--t);}
.ps{font-family:var(--sans);font-size:14px;line-height:1.9;color:var(--c);max-width:560px;font-weight:300;}

/* BUTTONS */
.bp{display:inline-flex;align-items:center;gap:14px;background:var(--t);color:white;padding:15px 34px;font-family:var(--sans);font-size:10px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;transition:all .3s;border:none;cursor:pointer;}
.bp:hover{background:#a55a3a;gap:20px;}
.bd{display:inline-flex;align-items:center;gap:12px;background:var(--o);color:var(--n);padding:15px 36px;font-family:var(--sans);font-size:10px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:all .3s;}
.bd:hover{background:#3a3835;}
.bg{display:inline-flex;align-items:center;gap:12px;background:transparent;color:var(--d);padding:13px 32px;font-family:var(--sans);font-size:10px;letter-spacing:3px;text-transform:uppercase;text-decoration:none;border:1px solid var(--d);transition:all .3s;cursor:pointer;}
.bg:hover{background:var(--d);color:white;}
.ld{font-family:var(--sans);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--d);text-decoration:none;border-bottom:1px solid var(--d);padding-bottom:2px;transition:opacity .3s;display:inline-block;}
.ld:hover{opacity:.6;}

/* SECTION LABELS */
.se{font-family:var(--sans);font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--c);margin-bottom:16px;text-align:center;}
.st{font-family:var(--serif);font-size:42px;font-weight:500;color:var(--o);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;text-align:center;}

/* FOOTER */
footer{background:var(--o);border-top:1px solid rgba(200,164,107,0.12);padding:80px 80px 40px;}
.ft{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:48px;margin-bottom:60px;align-items:start;}
.fb img{height:44px;margin-bottom:16px;display:block;}
.fb p{font-family:var(--sans);font-size:10px;letter-spacing:1px;color:rgba(255,255,255,0.25);line-height:1.7;text-transform:uppercase;}
.fc h4{font-family:var(--sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--d);margin-bottom:20px;}
.fc ul{list-style:none;}
.fc li{margin-bottom:10px;}
.fc a{font-family:var(--sans);font-size:11px;color:rgba(255,255,255,0.35);text-decoration:none;transition:color .3s;}
.fc a:hover{color:rgba(255,255,255,0.8);}
.fq{font-family:var(--serif);font-size:20px;font-style:italic;color:var(--d);line-height:1.5;}
.fb2{border-top:1px solid rgba(255,255,255,0.07);padding-top:28px;display:flex;justify-content:space-between;}
.fc2{font-family:var(--sans);font-size:10px;color:rgba(255,255,255,0.18);letter-spacing:1px;}

/* REVEAL */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.rv{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease;}
.rv.vi{opacity:1;transform:translateY(0);}

/* HERO */
.hero{min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;padding:96px 0 56px;}
.hbg{position:absolute;inset:0;background-size:cover;background-position:center 30%;will-change:transform;}
.hov{position:absolute;inset:0;background:linear-gradient(to right,rgba(248,244,238,0.88) 40%,rgba(248,244,238,0.04) 100%);}
.hc{position:relative;z-index:2;padding:0 80px;max-width:560px;}
.hey{font-family:var(--sans);font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--d);margin-bottom:28px;animation:fadeUp 1s .2s both;}
.ht{font-family:var(--serif);font-size:62px;line-height:1.04;font-weight:500;color:var(--o);animation:fadeUp 1s .4s both;}
.ht em{font-style:italic;color:var(--t);display:block;}
.hdiv{display:flex;align-items:center;gap:12px;margin:24px 0;animation:fadeUp 1s .6s both;}
.hdiv::before,.hdiv::after{content:'';height:1px;background:var(--d);flex:1;max-width:56px;}
.hdiv span{font-size:13px;color:var(--d);}
.hs{font-family:var(--sans);font-size:14px;line-height:1.9;color:var(--k);max-width:340px;margin-bottom:40px;animation:fadeUp 1s .7s both;font-weight:400;}

/* SEASON TABS */
.stabs{background:var(--n);padding:60px 80px 0;}
.ste{text-align:center;font-family:var(--sans);font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--c);margin-bottom:36px;}
.str{display:flex;justify-content:center;border-bottom:1px solid var(--b);flex-wrap:wrap;}
.tab{padding:14px 28px;font-family:var(--sans);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--c);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .3s;}
.tab.active{color:var(--o);border-bottom-color:var(--d);}
.tab:hover{color:var(--o);}

/* CHAPTERS / CARD GRID */
.ssec{padding:80px 80px;}
.ssl{text-align:center;font-family:var(--sans);font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--c);margin-bottom:16px;}
.sst{text-align:center;font-family:var(--serif);font-size:60px;font-style:italic;font-weight:500;color:var(--d);margin-bottom:16px;}
.sss{text-align:center;font-family:var(--sans);font-size:13px;line-height:1.9;color:var(--c);max-width:560px;margin:0 auto 56px;}
.cg{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:48px;}
.cc{text-decoration:none;display:block;color:inherit;}
.ci{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,var(--m),var(--b));margin-bottom:16px;transition:filter .3s;background-size:cover;background-position:center;}
.cc:hover .ci{filter:brightness(.93);}
.cn{font-family:var(--sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--d);margin-bottom:8px;}
.ct{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--o);line-height:1.2;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;}
.cd{font-family:var(--sans);font-size:12px;line-height:1.7;color:var(--c);}
.vm{text-align:center;}

/* TERAPIAS */
.tsec{background:var(--m);padding:100px 80px;}
.tg{display:grid;grid-template-columns:repeat(6,1fr);gap:28px;margin-bottom:56px;}
.ti{text-align:center;}
.tic{width:34px;height:34px;margin:0 auto 16px;stroke:var(--d);fill:none;display:block;}
.tn{font-family:var(--sans);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--k);margin-bottom:10px;font-weight:400;}
.td{font-family:var(--sans);font-size:11px;line-height:1.7;color:var(--c);}

/* RELIQUIAS HOME */
.rsec{padding:100px 80px;background:var(--n);}
.rl{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:center;}
.rti{font-family:var(--serif);font-size:60px;font-weight:500;color:var(--o);letter-spacing:2px;text-transform:uppercase;line-height:1;margin-bottom:24px;}
.rd{font-family:var(--sans);font-size:13px;line-height:1.9;color:var(--c);margin-bottom:32px;}
.rg{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.rc{text-decoration:none;display:block;}
.ri{width:100%;aspect-ratio:1;background:linear-gradient(135deg,var(--m),var(--b));margin-bottom:10px;background-size:cover;background-position:center;}
.rn{font-family:var(--sans);font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--c);text-align:center;}

/* CONTENT GRID */
.cgrid{display:grid;grid-template-columns:repeat(4,1fr);}
.cgc{padding:60px 40px;}
.cgc.c1{background:var(--o);}.cgc.c2{background:var(--v);}.cgc.c3{background:var(--m);}.cgc.c4{background:#2C3142;}
.cgl{font-family:var(--sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;margin-bottom:20px;}
.c1 .cgl,.c2 .cgl,.c4 .cgl{color:rgba(255,255,255,.4);}.c3 .cgl{color:var(--c);}
.cgt{font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.3;margin-bottom:16px;}
.c1 .cgt,.c2 .cgt,.c4 .cgt{color:white;}.c3 .cgt{color:var(--o);}
.cgd{font-family:var(--sans);font-size:12px;line-height:1.8;margin-bottom:28px;}
.c1 .cgd,.c2 .cgd,.c4 .cgd{color:rgba(255,255,255,.55);}.c3 .cgd{color:var(--c);}
.cga{font-family:var(--sans);font-size:9px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;border-bottom:1px solid;padding-bottom:2px;}
.c1 .cga,.c2 .cga,.c4 .cga{color:var(--d);border-color:var(--d);}.c3 .cga{color:var(--t);border-color:var(--t);}

/* COMMUNITY */
.comsec{background:var(--o);padding:100px 80px;text-align:center;}
.comt{font-family:var(--serif);font-size:50px;font-weight:500;color:white;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;}
.comd{font-family:var(--sans);font-size:13px;line-height:1.9;color:rgba(255,255,255,.45);max-width:480px;margin:0 auto 48px;}
.ef{display:flex;max-width:460px;margin:0 auto;}
.ei{flex:1;padding:15px 22px;background:rgba(255,255,255,.05);border:1px solid rgba(200,164,107,.3);border-right:none;color:white;font-family:var(--sans);font-size:12px;outline:none;}
.ei::placeholder{color:rgba(255,255,255,.25);}
.eu{padding:15px 28px;background:var(--t);color:white;font-family:var(--sans);font-size:10px;letter-spacing:3px;text-transform:uppercase;border:none;cursor:pointer;}
.eu:hover{background:#a55a3a;}

/* CONTACT */
.consec{padding:100px 80px;background:var(--n);}
.cog{display:grid;grid-template-columns:1fr 1fr;gap:80px;}
.ff{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;}
.fl{font-family:var(--sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--c);}
.fi{background:transparent;border:none;border-bottom:1px solid var(--b);padding:12px 0;font-family:var(--sans);font-size:13px;color:var(--k);outline:none;transition:border-color .3s;}
.fi:focus{border-bottom-color:var(--d);}
textarea.fi{resize:none;height:100px;}

/* ===== EXTRA: SHARED PAGE COMPONENTS ===== */
.section{padding:90px 80px;}
.section.alt{background:var(--m);}
.section.dark{background:var(--o);}
.wrap{max-width:1280px;margin:0 auto;}
.mt0{margin-top:0;}

/* product / catalog grid */
.prodgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.prod{text-decoration:none;color:inherit;display:block;}
.prodimg{width:100%;aspect-ratio:1;background:linear-gradient(135deg,var(--m),var(--b));margin-bottom:18px;transition:filter .3s;position:relative;background-size:cover;background-position:center;}
.prod:hover .prodimg{filter:brightness(.94);}
.prodtag{position:absolute;top:14px;left:14px;background:var(--d);color:#fff;font-family:var(--sans);font-size:8px;letter-spacing:2px;text-transform:uppercase;padding:5px 10px;}
.prodcat{font-family:var(--sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--d);margin-bottom:8px;}
.prodname{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--o);line-height:1.2;margin-bottom:8px;}
.proddesc{font-family:var(--sans);font-size:12px;line-height:1.7;color:var(--c);margin-bottom:12px;}
.prodprice{font-family:var(--sans);font-size:13px;letter-spacing:1px;color:var(--t);font-weight:400;}

/* feature row (image + text) */
.frow{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;margin-bottom:0;}
.frow.rev .ftext{order:2;}
.frow.rev .fimg{order:1;}
.fimg{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,var(--m),var(--b));background-size:cover;background-position:center;}
.feyebrow{font-family:var(--sans);font-size:9px;letter-spacing:4px;text-transform:uppercase;color:var(--d);margin-bottom:18px;}
.ftitle{font-family:var(--serif);font-size:46px;font-weight:500;color:var(--o);line-height:1.05;margin-bottom:20px;}
.ftitle em{font-style:italic;color:var(--t);}
.fbody{font-family:var(--sans);font-size:14px;line-height:1.9;color:var(--c);margin-bottom:28px;font-weight:300;}

/* chapter hero */
.chero{padding:140px 80px 80px;display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center;border-bottom:1px solid var(--b);}
.cheronum{font-family:var(--serif);font-size:130px;font-style:italic;color:var(--d);line-height:.8;margin-bottom:8px;opacity:.9;}
.cheroimg{width:100%;aspect-ratio:3/4;background:linear-gradient(135deg,var(--m),var(--b));background-size:cover;background-position:center;}

/* placeholder note */
.phn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'SFMono-Regular',Consolas,monospace;font-size:10px;letter-spacing:1px;color:rgba(31,30,28,.32);text-transform:uppercase;text-align:center;padding:12px;}
.fimg,.cheroimg,.prodimg,.ci,.ri,.cardimg{position:relative;}

/* steps / process list */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}
.step{text-align:left;}
.stepn{font-family:var(--serif);font-size:48px;font-style:italic;color:var(--d);line-height:1;margin-bottom:14px;}
.steph{font-family:var(--sans);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--o);margin-bottom:10px;font-weight:400;}
.stepd{font-family:var(--sans);font-size:12px;line-height:1.7;color:var(--c);}

/* article / list cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
.card{text-decoration:none;color:inherit;display:block;}
.cardimg{width:100%;aspect-ratio:16/10;background:linear-gradient(135deg,var(--m),var(--b));margin-bottom:16px;transition:filter .3s;background-size:cover;background-position:center;}
.card:hover .cardimg{filter:brightness(.94);}
.cardmeta{font-family:var(--sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--d);margin-bottom:8px;}
.cardtitle{font-family:var(--serif);font-size:23px;font-weight:500;color:var(--o);line-height:1.2;margin-bottom:8px;}
.carddesc{font-family:var(--sans);font-size:12px;line-height:1.7;color:var(--c);}

/* podcast episode list */
.eplist{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--b);}
.ep{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--b);text-decoration:none;color:inherit;transition:padding .3s;}
.ep:hover{padding-left:12px;}
.epplay{width:48px;height:48px;border:1px solid var(--d);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s;}
.ep:hover .epplay{background:var(--d);}
.epplay svg{width:16px;height:16px;fill:var(--d);transition:fill .3s;}
.ep:hover .epplay svg{fill:#fff;}
.epnum{font-family:var(--sans);font-size:10px;letter-spacing:2px;color:var(--d);margin-bottom:6px;text-transform:uppercase;}
.eptitle{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--o);line-height:1.2;margin-bottom:4px;}
.epdesc{font-family:var(--sans);font-size:12px;color:var(--c);line-height:1.6;}
.epdur{font-family:var(--sans);font-size:11px;letter-spacing:1px;color:var(--c);white-space:nowrap;}

/* meditation cards */
.medgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.med{position:relative;aspect-ratio:3/4;overflow:hidden;text-decoration:none;display:flex;align-items:flex-end;padding:28px;color:#fff;}
.med .medbg{position:absolute;inset:0;z-index:0;transition:transform .6s;}
.med:hover .medbg{transform:scale(1.05);}
.med1 .medbg{background:linear-gradient(160deg,#2C3142,#1F1E1C);}
.med2 .medbg{background:linear-gradient(160deg,#59604B,#2A3140);}
.med3 .medbg{background:linear-gradient(160deg,#B96B4A,#1F1E1C);}
.med4 .medbg{background:linear-gradient(160deg,#3a4156,#1F1E1C);}
.med5 .medbg{background:linear-gradient(160deg,#6b7358,#1F1E1C);}
.med6 .medbg{background:linear-gradient(160deg,#9a5638,#1F1E1C);}
.medov{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,14,12,.7),transparent 60%);z-index:1;}
.medin{position:relative;z-index:2;}
.medcat{font-family:var(--sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--d);margin-bottom:8px;}
.medtitle{font-family:var(--serif);font-size:26px;font-weight:500;line-height:1.15;margin-bottom:6px;}
.meddur{font-family:var(--sans);font-size:11px;letter-spacing:1px;color:rgba(255,255,255,.6);}

/* reflexion quote cards */
.refgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;}
.ref{padding:48px 44px;border:1px solid var(--b);background:var(--n);transition:all .3s;}
.ref:hover{border-color:var(--d);}
.ref.fill{background:var(--o);border-color:var(--o);}
.refq{font-family:var(--serif);font-size:30px;font-style:italic;font-weight:400;color:var(--o);line-height:1.35;margin-bottom:24px;}
.ref.fill .refq{color:#fff;}
.ref.fill .refq em{color:var(--d);}
.refq em{color:var(--t);}
.refby{font-family:var(--sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--d);}

/* checkout */
.cogrid{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:start;}
.copanel{background:var(--m);padding:44px;}
.cohead{font-family:var(--serif);font-size:30px;font-weight:500;color:var(--o);margin-bottom:28px;}
.coitem{display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:center;padding:18px 0;border-bottom:1px solid var(--b);}
.coitem:first-of-type{border-top:1px solid var(--b);}
.cothumb{width:64px;height:64px;background:linear-gradient(135deg,#fff,var(--b));background-size:cover;background-position:center;}
.coname{font-family:var(--serif);font-size:18px;color:var(--o);margin-bottom:3px;}
.coqty{font-family:var(--sans);font-size:11px;letter-spacing:1px;color:var(--c);}
.coprice{font-family:var(--sans);font-size:14px;color:var(--o);white-space:nowrap;}
.cototal{display:flex;justify-content:space-between;padding:14px 0;font-family:var(--sans);font-size:12px;letter-spacing:1px;color:var(--c);text-transform:uppercase;}
.cototal.grand{border-top:1px solid var(--b);margin-top:8px;padding-top:22px;}
.cototal.grand .v{font-family:var(--serif);font-size:30px;color:var(--t);}
.cototal.grand .l{font-family:var(--serif);font-size:22px;color:var(--o);text-transform:none;letter-spacing:0;}
.cofield{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;}
.cofield label{font-family:var(--sans);font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--c);}
.cofield input,.cofield select{background:#fff;border:1px solid var(--b);padding:13px 15px;font-family:var(--sans);font-size:13px;color:var(--k);outline:none;transition:border-color .3s;}
.cofield input:focus,.cofield select:focus{border-color:var(--d);}
.corow{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cosectit{font-family:var(--sans);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--d);margin:30px 0 18px;padding-bottom:10px;border-bottom:1px solid var(--b);}
.cosectit:first-child{margin-top:0;}

/* values strip */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;text-align:center;}
.valh{font-family:var(--serif);font-size:30px;font-style:italic;color:var(--d);margin-bottom:14px;}
.vald{font-family:var(--sans);font-size:13px;line-height:1.8;color:var(--c);}

/* big number stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;text-align:center;}
.statn{font-family:var(--serif);font-size:64px;font-weight:500;color:var(--t);line-height:1;margin-bottom:10px;}
.statl{font-family:var(--sans);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--c);}

/* breadcrumb */
.crumb{font-family:var(--sans);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--c);margin-bottom:18px;}
.crumb a{color:var(--d);text-decoration:none;}
.crumb a:hover{opacity:.7;}

/* prose */
.prose{max-width:680px;margin:0 auto;}
.prose p{font-family:var(--sans);font-size:15px;line-height:2;color:var(--c);margin-bottom:24px;font-weight:300;}
.prose h3{font-family:var(--serif);font-size:32px;font-weight:500;color:var(--o);margin:40px 0 18px;}
.prose .lead{font-family:var(--serif);font-size:24px;font-style:italic;color:var(--o);line-height:1.5;margin-bottom:32px;}
.prose blockquote{border-left:2px solid var(--d);padding-left:28px;margin:36px 0;font-family:var(--serif);font-size:26px;font-style:italic;color:var(--t);line-height:1.4;}

/* Nav collapses to hamburger before the long labels overflow */
@media(max-width:1080px){
  .nt{display:flex;}
  .nm{position:fixed;top:72px;left:0;right:0;background:rgba(248,244,238,0.98);backdrop-filter:blur(16px);flex-direction:column;gap:0;padding:8px 24px 22px;border-bottom:1px solid var(--b);transform:translateY(-14px);opacity:0;pointer-events:none;transition:transform .3s,opacity .3s;max-height:calc(100vh - 72px);overflow-y:auto;}
  .nm.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .nm li{padding:13px 0;border-bottom:0.5px solid rgba(184,150,90,.18);}
  .nm a{font-size:12px;letter-spacing:2px;}
  .nm a.active{border-bottom:none;color:var(--d);}
}

@media(max-width:900px){
  nav{padding:0 24px;}
  .ph{padding:110px 24px 50px;}.pt{font-size:42px;}
  .hc{padding:0 32px;}.ht{font-size:52px;}
  .stabs,.ssec,.tsec,.rsec,.comsec,.consec,.section{padding:60px 24px;}
  .cg{grid-template-columns:repeat(2,1fr);}.tg{grid-template-columns:repeat(2,1fr);}
  .rl{grid-template-columns:1fr;gap:40px;}.rg{grid-template-columns:repeat(2,1fr);}
  .cgrid{grid-template-columns:1fr 1fr;}.cog{grid-template-columns:1fr;}
  .prodgrid,.cards,.medgrid{grid-template-columns:1fr;}
  .refgrid{grid-template-columns:1fr;}
  .frow,.frow.rev .ftext,.frow.rev .fimg{grid-template-columns:1fr;order:0;}
  .frow{grid-template-columns:1fr;gap:32px;}
  .chero{grid-template-columns:1fr;padding:110px 24px 50px;gap:32px;}
  .cheronum{font-size:90px;}
  .steps,.values,.stats{grid-template-columns:1fr 1fr;gap:28px;}
  .cogrid{grid-template-columns:1fr;gap:36px;}
  .footer,footer{padding:60px 24px 32px;}.ft{grid-template-columns:1fr 1fr;gap:32px;}
}

/* ============================================================
   CINEMATIC LAYER — additive only. No structural / color / type
   changes. Adds depth, motion choreography and editorial polish.
   ============================================================ */
:root{
  --ease-cine:cubic-bezier(0.16,1,0.3,1);
  --ease-soft:cubic-bezier(0.4,0,0.2,1);
}

/* Film grain — barely-there texture over everything for a shot-on-film feel */
.film-grain{
  position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.045;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:140px 140px;
}
@media (prefers-reduced-motion: no-preference){
  .film-grain{animation:grainShift 6s steps(5) infinite;}
}
@keyframes grainShift{
  0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}
  60%{transform:translate(-2%,-2%)}80%{transform:translate(3%,2%)}100%{transform:translate(0,0)}
}

/* Reading-progress hairline — gold, editorial */
.scroll-progress{
  position:fixed;top:0;left:0;height:2px;width:0;z-index:9500;pointer-events:none;
  background:linear-gradient(90deg,var(--d),var(--t));
  box-shadow:0 0 12px rgba(200,164,107,.5);
  transition:width .12s linear;
}

/* Page dissolve — soft cream cross-fade between pages, like film cuts */
.page-fade{
  position:fixed;inset:0;z-index:9999;background:var(--n);pointer-events:none;
  opacity:0;transition:opacity .55s var(--ease-soft);
}
.page-fade.show{opacity:1;}
.page-fade .pf-mark{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:var(--serif);font-style:italic;font-size:52px;color:var(--d);
  opacity:0;transition:opacity .5s var(--ease-soft) .05s;letter-spacing:1px;
}
.page-fade.show .pf-mark{opacity:.85;}

/* Nav — settles to a quieter, denser bar once the user begins to read */
nav{transition:background .5s var(--ease-soft),box-shadow .5s var(--ease-soft),border-color .5s var(--ease-soft);}
nav.scrolled{
  background:rgba(248,244,238,0.86);
  box-shadow:0 1px 40px rgba(31,30,28,.07);
  border-bottom-color:rgba(184,150,90,0.28);
}

/* HERO — slow Ken Burns push-in + edge vignette for cinematic depth */
@media (prefers-reduced-motion: no-preference){
  .hbg{animation:kenBurns 26s var(--ease-soft) forwards;transform-origin:60% 40%;}
}
@keyframes kenBurns{
  0%{transform:scale(1.04) translate(0,0);}
  100%{transform:scale(1.16) translate(-1.4%,-2%);}
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(130% 110% at 50% 8%, transparent 58%, rgba(31,30,28,.13) 100%);
}
.hero .hc{position:relative;z-index:3;}
.hero .hov{z-index:2;}
/* a touch more breathing depth on the cream wash */
.hov{background:linear-gradient(105deg,rgba(248,244,238,0.92) 36%,rgba(248,244,238,0.30) 70%,rgba(248,244,238,0.02) 100%);}

/* Subtle scroll cue at the foot of the hero */
.scroll-cue{
  position:absolute;left:80px;bottom:40px;z-index:3;display:flex;flex-direction:column;
  align-items:center;gap:10px;pointer-events:none;
}
.scroll-cue .line{width:1px;height:54px;background:linear-gradient(var(--d),transparent);transform-origin:top;}
@media (prefers-reduced-motion: no-preference){
  .scroll-cue .line{animation:cueDraw 2.6s var(--ease-soft) infinite;}
}
@keyframes cueDraw{0%{transform:scaleY(0);opacity:0;}30%{opacity:1;}100%{transform:scaleY(1);opacity:0;}}
@media(max-width:900px){ .scroll-cue{left:32px;bottom:28px;} }

/* REVEAL — sections wash in (opacity only); their inner cards rise in sequence */
.rv{opacity:0;transform:none;transition:opacity 1.1s var(--ease-soft);}
.rv.vi{opacity:1;}
.rstagger > *{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease-cine),transform .9s var(--ease-cine);}
.rstagger.vi > *{opacity:1;transform:none;}

/* Big serif headings settle in — a slow letter-spacing exhale */
.cine-head{opacity:0;transform:translateY(14px);letter-spacing:6px;
  transition:opacity 1.2s var(--ease-soft),transform 1.2s var(--ease-cine),letter-spacing 1.4s var(--ease-cine);}
.cine-head.vi{opacity:1;transform:none;}
.pt.cine-head.vi,.ftitle.cine-head.vi,.st.cine-head.vi,.sst.cine-head.vi{letter-spacing:inherit;}

/* Imagery — slower, more deliberate hover; gentle lift on cards */
.ci,.ri,.prodimg,.cardimg,.fimg,.cheroimg{transition:filter .6s var(--ease-soft),transform .9s var(--ease-cine);}
.cc:hover .ci,.rc:hover .ri,.prod:hover .prodimg,.card:hover .cardimg{transform:scale(1.035);}
.cc,.prod,.card,.rc{transition:transform .6s var(--ease-cine);}
.cc:hover,.prod:hover,.card:hover{transform:translateY(-4px);}

/* Refined link underline — draws in from the left */
.ld{position:relative;border-bottom:none;}
.ld::after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:100%;background:var(--d);
  transform:scaleX(1);transform-origin:left;transition:transform .5s var(--ease-cine);}
.ld:hover::after{transform:scaleX(0);transform-origin:right;}

/* Editorial drop-cap on lead paragraphs */
.prose .lead::first-letter{
  font-family:var(--serif);font-style:normal;font-size:3.3em;line-height:.72;
  float:left;margin:8px 14px 0 0;color:var(--d);
}

/* Buttons — quieter, more intentional press */
.bp,.bd,.bg{transition:background .45s var(--ease-soft),color .45s var(--ease-soft),gap .45s var(--ease-cine),transform .3s var(--ease-cine);}
.bp:active,.bd:active,.bg:active{transform:translateY(1px);}

/* Season tabs underline glide */
.tab{position:relative;transition:color .4s var(--ease-soft);}
.tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--d);
  transform:scaleX(0);transform-origin:center;transition:transform .45s var(--ease-cine);}
.tab.active::after{transform:scaleX(1);}

@media (prefers-reduced-motion: reduce){
  .rv,.cine-head{opacity:1 !important;transform:none !important;letter-spacing:inherit !important;}
  .rstagger > *{opacity:1 !important;transform:none !important;}
  .hbg,.film-grain,.scroll-cue .line{animation:none !important;}
}

/* ============================================================
   MOBILE — 480px y menor
   ============================================================ */
@media(max-width:480px){

  /* NAV */
  nav{padding:0 20px;height:64px;}
  .nl img{height:36px;}

  /* PAGE HEADER */
  .ph{padding:100px 20px 44px;}
  .pt{font-size:32px;letter-spacing:0;}
  .ps{font-size:13px;}

  /* HERO */
  .hero{padding:80px 0 48px;}
  .hc{padding:0 20px;max-width:100%;}
  .ht{font-size:36px;line-height:1.08;}
  .hey{font-size:9px;}
  .hs{font-size:13px;max-width:100%;}
  .hov{background:linear-gradient(180deg,rgba(248,244,238,0.94) 60%,rgba(248,244,238,0.20) 100%);}
  .scroll-cue{display:none;}

  /* SECTIONS */
  .stabs,.ssec,.tsec,.rsec,.comsec,.consec,.section,.rsec{padding:48px 20px;}

  /* SEASON TABS */
  .str{gap:0;}
  .tab{padding:12px 14px;font-size:9px;letter-spacing:1px;}

  /* CHAPTER CARDS */
  .cg{grid-template-columns:1fr;gap:32px;}
  .sst{font-size:36px;}

  /* TERAPIAS */
  .tg{grid-template-columns:1fr 1fr;gap:20px;}

  /* RELIQUIAS HOME */
  .rl{grid-template-columns:1fr;gap:32px;}
  .rti{font-size:36px;}
  .rg{grid-template-columns:repeat(2,1fr);gap:12px;}

  /* CONTENT GRID */
  .cgrid{grid-template-columns:1fr;}
  .cgc{padding:40px 24px;}

  /* COMMUNITY / NEWSLETTER */
  .comt{font-size:32px;}
  .ef{flex-direction:column;max-width:100%;}
  .ei{border-right:1px solid rgba(200,164,107,.3);border-bottom:none;}
  .eu{width:100%;padding:15px;}

  /* CONTACT */
  .cog{grid-template-columns:1fr;gap:32px;}
  .corow{grid-template-columns:1fr;}

  /* PRODUCT GRID */
  .prodgrid{grid-template-columns:1fr;gap:32px;}

  /* CARDS */
  .cards{grid-template-columns:1fr;gap:28px;}

  /* MEDITATION */
  .medgrid{grid-template-columns:1fr;gap:20px;}
  .med{aspect-ratio:4/3;}

  /* REFLEXIONES */
  .refgrid{grid-template-columns:1fr;gap:20px;}
  .refq{font-size:22px;}

  /* FEATURE ROW */
  .frow{grid-template-columns:1fr;gap:28px;}
  .frow.rev .ftext,.frow.rev .fimg{order:0;}
  .ftitle{font-size:32px;}

  /* CHAPTER HERO */
  .chero{grid-template-columns:1fr;padding:96px 20px 44px;gap:24px;}
  .cheronum{font-size:64px;}

  /* STEPS / VALUES / STATS */
  .steps,.values,.stats{grid-template-columns:1fr;gap:28px;}

  /* CHECKOUT */
  .cogrid{grid-template-columns:1fr;gap:28px;}
  .corow{grid-template-columns:1fr;}
  .copanel{padding:28px 20px;}

  /* FOOTER */
  footer{padding:48px 20px 28px;}
  .ft{grid-template-columns:1fr;gap:28px;}
  .fb2{flex-direction:column;gap:12px;text-align:center;}

  /* PROSE */
  .prose p{font-size:14px;}
  .prose .lead{font-size:20px;}
  .prose blockquote{font-size:20px;padding-left:18px;}

  /* BUTTONS */
  .bp,.bd,.bg{font-size:9px;letter-spacing:2px;padding:14px 24px;}

  /* SECTION TITLES */
  .st{font-size:30px;}
  .comt{font-size:30px;}
}
@media(max-width:480px){
  .consec{padding:100px 20px 48px !important;}
  .cog{grid-template-columns:1fr !important;gap:24px !important;}
  .cog > *{min-width:0 !important;max-width:100% !important;width:100% !important;}
}
