/* ============================================================
   Dr. Seth Healing — the home template.
   Sections unique to the front page. Shared chrome lives in
   02-base.css; every value here resolves through 01-tokens.css.
   ============================================================ */

/* ---------- shared type ---------- */
.sec-head{text-align:center}
.sec-head h2{
  font-family:var(--serif);font-weight:500;color:var(--green);
  font-size:47px;line-height:1.06;letter-spacing:.015em;text-transform:uppercase;margin:0;
}
/* ---------- hero ---------- */
.hero{position:relative;height:922px;overflow:hidden;isolation:isolate}
.hero__picture{display:contents}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;z-index:-2}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(100deg,rgba(38,22,10,.46) 0%,rgba(45,28,14,.28) 32%,rgba(50,32,16,.05) 60%,rgba(50,32,16,0) 78%);
}
.hero__inner{position:relative;padding-top:107px;z-index:2}
.hero h1{
  font-family:var(--serif);font-weight:400;color:var(--lamp);
  font-size:71.5px;line-height:75px;letter-spacing:.004em;margin:0;
  text-shadow:0 2px 30px rgba(30,16,6,.4);
}
.hero p{
  max-width:638px;margin:16px 0 0;font-size:15.6px;line-height:18px;
  color:var(--lamp-hero);text-shadow:0 1px 16px rgba(30,16,6,.55);
}
.hero p + p{margin-top:18px}
.hero .btn{margin-top:34px}
/* ---------- trust strip ---------- */
.trust{position:relative;z-index:4;margin-top:-138px}
.trust__card{
  background:var(--card);border-radius:22px;height:253px;
  display:grid;grid-template-columns:repeat(6,1fr);
  box-shadow:0 28px 64px -36px rgba(60,38,16,.4);
}
.trust__col{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:19px 14px 0;position:relative;
}
.trust__col + .trust__col::before{
  content:"";position:absolute;left:0;top:51px;bottom:47px;width:1.5px;background:var(--hairline);
}
.trust__col img{width:auto;height:141px;object-fit:contain}
.trust__col h3{
  font-family:var(--serif);font-weight:500;color:var(--green);
  font-size:20.7px;line-height:1.1;margin:6px 0 0;letter-spacing:.005em;
}
.trust__col p{margin:11px 0 0;font-size:12.55px;line-height:14.5px;color:var(--ink)}
/* ---------- programs ---------- */
.programs{padding:89px 0 99px}
.programs .rail{margin-top:25px;overflow:hidden}
.rail__track{display:flex;gap:20px;transition:transform .6s cubic-bezier(.4,0,.2,1);will-change:transform}
.prog{
  position:relative;flex:0 0 286px;height:407px;border-radius:10px;overflow:hidden;
  box-shadow:0 18px 36px -24px rgba(50,30,12,.6);
}
/* Card images come from post heroes now, so the scrim that used to be
   baked into the comp's exports has to be drawn here. */
.prog::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(20,13,6,0) 34%,rgba(20,13,6,.55) 68%,rgba(20,13,6,.88) 100%);
}
.prog h3{z-index:2}

.prog img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,0,.2,1)}
.prog:hover img{transform:scale(1.05)}
.prog h3{
  position:absolute;left:27px;right:20px;bottom:39px;margin:0;
  font-family:var(--serif);font-weight:400;color:var(--lamp-warm);
  font-size:26.4px;line-height:33px;text-transform:uppercase;letter-spacing:.012em;
  overflow-wrap:anywhere;text-wrap:balance;
}
.programs__foot{display:flex;align-items:center;justify-content:space-between;margin-top:35px}
.arrows{display:flex;gap:9px}
.arrow{
  width:43px;height:43px;border-radius:50%;border:1px solid var(--gold-line);
  display:flex;align-items:center;justify-content:center;
  transition:background .25s ease,opacity .25s ease;
}
.arrow svg{width:15px;height:15px;stroke:var(--arrow-stroke);stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.arrow:hover{background:rgba(199,146,72,.14)}
/* ---------- tan band 1 ---------- */
.band{position:relative;background:var(--tan);overflow:hidden}
.band1{height:490px;padding-top:74px}
.band1 .watermark{position:absolute;left:6.2%;top:3px;width:368px;height:auto;opacity:.6;pointer-events:none}
.band1 .wrap{position:relative;z-index:1}
.stats{display:flex;justify-content:center;gap:126px;margin-top:59px;padding-right:60px}
.stat b{display:block;font-weight:300;font-size:44px;line-height:1;color:var(--gold-stat)}
.stat span{display:block;margin-top:15px;font-size:18.6px;line-height:1.2;color:var(--ink)}
/* ---------- treatments ---------- */
.treatments{padding:89px 0 93px}
.treat-list{max-width:1104px;margin:23px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.treat{
  position:relative;display:grid;grid-template-rows:210px auto auto;min-height:0;padding:0;
  overflow:hidden;background:var(--card);border-radius:var(--r-md);
  transition:box-shadow .3s ease,transform .3s ease;
}
.treat:hover{box-shadow:0 16px 34px -24px rgba(60,38,16,.55);transform:translateY(-1px)}
.treat__num{
  position:absolute;top:14px;left:16px;z-index:2;font-family:var(--serif);font-weight:300;
  font-size:36px;line-height:1;color:var(--lamp);
}
.treat__thumb{grid-row:1;width:100%;height:100%;border-radius:0;object-fit:cover;opacity:1;transition:transform var(--t-settle)}
.treat:hover .treat__thumb{transform:scale(1.05)}
.treat__body{padding:20px 20px 6px}
.treat__body h3{
  font-family:var(--serif);font-weight:500;color:var(--green);
  font-size:27px;line-height:1.05;margin:0;letter-spacing:.004em;
}
.treat__body p{display:none}
.treat__more{display:inline-flex;align-items:center;gap:9px;padding:8px 20px 20px;color:var(--brass-ink);font-size:var(--fs-label)}
.treat__more::after{content:"";width:16px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:skewX(-42deg)}
/* ---------- guide band ---------- */
.band2{height:758px;padding-top:63px}
.band2 .mandala{position:absolute;left:50%;top:0;width:750px;height:auto;transform:translateX(-50%);pointer-events:none}
.band2 .wrap{position:relative;z-index:1}
.band2 .sec-head h2{white-space:nowrap}
.guide{display:grid;grid-template-columns:655px minmax(0,1fr);margin-top:34px}
.guide > *{min-width:0}
.triad{position:relative;width:416px;height:356px;margin:33px auto 0}
.dosha{position:absolute;width:127px;text-align:center}
.dosha img{width:127px;height:127px;border-radius:50%}
.dosha span{
  display:block;margin-top:4px;font-family:var(--serif);font-weight:500;
  font-size:27px;line-height:1.2;color:var(--green);
}
.dosha--pitta{left:50%;transform:translateX(-50%);top:0}
.dosha--vata{left:0;top:188px}
.dosha--kapha{right:0;top:188px}
.triad__q{
  position:absolute;left:50%;top:190px;transform:translateX(-50%);
  font-family:var(--serif);font-weight:500;font-size:38px;line-height:1;color:var(--green);
}
.guide__lead{margin:0;font-size:27.9px;line-height:33px;color:var(--ink);max-width:600px}
.guide__take{margin:51px 0 0;font-size:18.4px;line-height:22px;font-weight:700;color:var(--ink)}
.guide__list{margin:20px 0 0;padding-left:23px;list-style:disc}
.guide__list li{font-size:16.4px;line-height:22px;color:var(--ink)}
.guide__list li::marker{font-size:.85em}
.guide__note{margin:44px 0 0;font-size:18.7px;line-height:22px;color:var(--ink);max-width:580px}
.guide .btn{margin-top:47px}
/* ---------- testimonials ---------- */
.testimonials{padding:108px 0 145px;overflow:hidden}
.testimonials .sec-lead{max-width:920px}
.testi-rail{margin-top:48px;overflow:hidden;display:flex;justify-content:center}
.testi-track{display:flex;flex:0 0 auto;gap:37px;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.testi{
  position:relative;flex:0 0 344px;height:435px;background:var(--card);border-radius:12px;
  padding:56px 30px 0;overflow:hidden;
}
.testi__q{position:absolute;top:25px;left:30px;width:19px;height:auto}
.testi p{margin:0;font-size:15.4px;line-height:22.5px;color:var(--ink-soft)}
.testi__who{position:absolute;left:22px;bottom:18px;display:flex;align-items:center;gap:12px}
.testi__who img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.testi__who b{font-weight:400;font-size:14.6px;color:var(--ink)}
/* ---------- responsive ---------- */
@media (max-width:1340px){
  .band2 .sec-head h2{white-space:normal}
  .guide{grid-template-columns:1fr 1fr}
}
@media (max-width:1120px){
  .sec-head h2{font-size:38px}
  .hero h1{font-size:56px;line-height:60px}
  .hero{height:800px}
  .trust__card{grid-template-columns:repeat(3,1fr);height:auto;padding-bottom:28px}
  .trust__col:nth-child(3n+1)::before{display:none}
  .trust__col{padding-bottom:22px}
  .guide{grid-template-columns:1fr;gap:48px}
  .band2{height:auto;padding-bottom:90px}
  .triad{margin:0 auto}
  .band1{height:auto;padding-bottom:90px}
  .stats{gap:64px;flex-wrap:wrap;padding-right:0}
  .treat__body p{max-width:none}
  .guide__lead,.guide__note{max-width:none}
}
@media (max-width:860px){
  .trust__card{grid-template-columns:repeat(2,1fr)}
  .trust__col::before{display:none}
  .treat-list{grid-template-columns:1fr}
  .treat{grid-template-rows:210px auto auto}
  .treat__num{font-size:36px;text-align:left}
  .treat__thumb{height:100%}
  .treat__body{padding:20px 20px 6px;margin:0}
  .treat__body h3{font-size:24px;line-height:1.15}
  .hero h1{font-size:42px;line-height:46px}
  .hero{height:720px}
  .hero__inner{padding-top:84px}
  .sec-head h2{font-size:29px}
  .guide__lead{font-size:22px;line-height:28px}
}
@media (max-width:520px){
  .triad{
    left:50%;margin-left:-208px;margin-right:0;margin-bottom:-86px;
    transform:scale(.76);transform-origin:center top;
  }
}
