/* ---------- self-hosted fonts (subset to the glyphs this site uses) ---------- */
@font-face{
  font-family:'Fraunces';font-style:normal;font-weight:300 700;font-display:swap;
  src:url('../fonts/fraunces-roman.woff2') format('woff2');
  unicode-range:U+0020, U+0022-005E, U+0060-007E, U+00A3, U+00A7, U+00A9, U+00AE, U+00B0-00B1, U+00B5, U+00B7, U+00D7, U+00F7;
}
@font-face{
  font-family:'Fraunces';font-style:normal;font-weight:300 700;font-display:swap;
  src:url('../fonts/fraunces-roman-ext.woff2') format('woff2');
  unicode-range:U+20B9;
}
@font-face{
  font-family:'Fraunces';font-style:italic;font-weight:300 600;font-display:swap;
  src:url('../fonts/fraunces-italic.woff2') format('woff2');
  unicode-range:U+0020, U+0022-005E, U+0060-007E, U+00A3, U+00A7, U+00A9, U+00AE, U+00B0-00B1, U+00B5, U+00B7, U+00D7, U+00F7;
}
@font-face{
  font-family:'Fraunces';font-style:italic;font-weight:300 600;font-display:swap;
  src:url('../fonts/fraunces-italic-ext.woff2') format('woff2');
  unicode-range:U+20B9;
}
@font-face{
  font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('../fonts/inter.woff2') format('woff2');
  unicode-range:U+0020, U+0022-005E, U+0060-007E, U+00A3, U+00A7, U+00A9, U+00AE, U+00B0-00B1, U+00B5, U+00B7, U+00D7, U+00F7;
}
@font-face{
  font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('../fonts/inter-ext.woff2') format('woff2');
  unicode-range:U+20B9;
}
@font-face{
  font-family:'Noto Sans Devanagari';font-style:normal;font-weight:400 600;font-display:swap;
  src:url('../fonts/noto-devanagari.woff2') format('woff2');
  unicode-range:U+0901-0902, U+0905-090A, U+090F-0911, U+0913-0918, U+091A-0928, U+092A-0930, U+0932, U+0935-0939, U+093C, U+093E-0943, U+0947-0949, U+094B-094D, U+0964;
}/* ==========================================================================
   Meridian Diagnostic — design system
   ========================================================================== */

:root{
  --saffron:#FFB000;
  --saffron-light:#FFC814;
  --saffron-pale:#FFF3D4;
  --orange:#F7931E;
  --orange-deep:#B15B08;

  --ink:#14161C;
  --ink-800:#22262F;
  --ink-600:#4B5261;
  --ink-400:#6B7382;
  --ink-200:#B9BFCB;

  --teal:#0F6E6A;
  --teal-deep:#0A4F4C;
  --teal-pale:#E9F4F3;

  --paper:#FFFFFF;
  --cream:#FDFAF4;
  --cream-deep:#FBF4E7;
  --line:#EAE4D8;
  --line-soft:#F2EDE3;

  --r-sm:10px; --r-md:16px; --r-lg:24px; --r-xl:34px;
  --shadow-sm:0 1px 2px rgba(20,22,28,.05), 0 4px 14px -6px rgba(20,22,28,.10);
  --shadow-md:0 2px 6px rgba(20,22,28,.05), 0 18px 44px -18px rgba(20,22,28,.22);
  --shadow-lg:0 30px 70px -30px rgba(20,22,28,.34);

  --nav-h:76px;
  --ease:cubic-bezier(.22,.65,.24,1);

  --sans:'Inter','Helvetica Neue',Arial,sans-serif;
  --deva:'Noto Sans Devanagari','Nirmala UI','Kohinoor Devanagari',sans-serif;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
}*, *::before, *::after{box-sizing:border-box}
/* the hidden attribute must win over any display: a class sets */
[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 20px)}body{
  margin:0;background:var(--paper);color:var(--ink-800);
  font-family:var(--sans);font-size:17px;line-height:1.7;
  font-feature-settings:'kern','liga','cv05';
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}img{max-width:100%;height:auto;display:block}a{color:inherit}button{font:inherit}.sr-only{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}::selection{background:var(--saffron);color:var(--ink)}:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px}.skip:focus{position:fixed !important;left:1rem;top:1rem;z-index:200;padding:.7rem 1.1rem;background:var(--ink);color:#fff;border-radius:8px;text-decoration:none}h1, h2, h3, h4{
  font-family:var(--serif);color:var(--ink);
  font-weight:430;line-height:1.12;letter-spacing:-.015em;
  font-variation-settings:'opsz' 40;
  margin:0 0 .5em;text-wrap:balance;
}h1{font-size:clamp(2.5rem,1.4rem + 4.4vw,4.4rem);letter-spacing:-.028em}h2, .h2{font-size:clamp(2rem,1.25rem + 2.7vw,3.1rem);letter-spacing:-.024em}h3, .h3{font-size:clamp(1.3rem,1.1rem + .8vw,1.72rem);letter-spacing:-.018em}h4, .h4{font-size:1.06rem;font-family:var(--sans);font-weight:640;letter-spacing:-.008em;line-height:1.4}p{margin:0 0 1.15em}p:last-child{margin-bottom:0}.italic{font-style:italic;font-variation-settings:'opsz' 36}/* ---------- layout ---------- */
.container{width:min(1200px,100% - 2.6rem);margin-inline:auto}.container--narrow{width:min(880px,100% - 2.6rem)}.section{padding:clamp(4.5rem,3rem + 6vw,8rem) 0}.section--tight{padding:clamp(3.2rem,2.4rem + 3vw,5rem) 0}.section--cream{background:var(--cream)}.section--ink{background:var(--ink);color:#D6DAE2}.section--teal{
  position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(158deg,#12726D 0%,#0D5C58 52%,#094744 100%);
  color:#B7D6D3;
}.section--teal::before{
  content:"";position:absolute;z-index:-1;top:-18%;right:-12%;width:min(720px,58%);aspect-ratio:9/7;
  background:url("../img/meridian-lines.svg") right top/contain no-repeat;
  opacity:.22;filter:saturate(0) brightness(3);
}.section--teal::after{
  content:"";position:absolute;z-index:-1;inset:auto auto -40% -14%;width:52%;aspect-ratio:1;
  background:radial-gradient(circle,rgba(255,176,0,.16),transparent 64%);
}.section--teal h2, .section--teal h3, .section--teal h4{color:#fff}.section--teal .lead{color:#C9E2E0}.section--teal p{color:#A9CBC8}.section--teal .eyebrow{color:#FFC02E}.section--teal .eyebrow::before{background:linear-gradient(90deg,var(--saffron),#FFD98A)}.film__note{text-align:center;margin-top:1.3rem;color:#8FB8B5}.film__note a{color:#FFC02E;text-underline-offset:3px}.film__note a:hover{color:#FFD98A}.section--ink h2, .section--ink h3, .section--ink h4{color:#fff}.section--ink .lead{color:#A9B0BE}.section--ink p{color:#98A0AE}.section--ink .muted, .section--ink .small.muted{color:#767E8F}.eyebrow{
  display:inline-flex;align-items:center;gap:.62rem;
  font-size:.735rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;
  color:var(--orange-deep);margin:0 0 1.15rem;
}.eyebrow::before{content:"";width:26px;height:2px;background:linear-gradient(90deg,var(--saffron),var(--orange));border-radius:2px}.section--ink .eyebrow{color:var(--saffron)}.cta .eyebrow{color:var(--orange-deep)}.cta .btn--outline-light{--bg:#fff;--fg:var(--ink);--bd:rgba(20,22,28,.14)}.cta .btn--outline-light:hover{background:#fff;--bd:rgba(20,22,28,.28)}.eyebrow--center{justify-content:center}.lead{font-size:clamp(1.06rem,1rem + .35vw,1.24rem);line-height:1.66;color:var(--ink-600)}.muted{color:var(--ink-400)}.small{font-size:.9rem;line-height:1.6}.head{max-width:56ch}.head--center{max-width:62ch;margin-inline:auto;text-align:center}.rule{height:1px;background:var(--line);border:0;margin:0}/* ---------- buttons ---------- */
.btn{
  --bg:var(--ink);--fg:#fff;--bd:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.92rem 1.65rem;border:1px solid var(--bd);border-radius:100px;
  background:var(--bg);color:var(--fg);
  font-size:.94rem;font-weight:560;letter-spacing:.005em;text-decoration:none;
  cursor:pointer;white-space:nowrap;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease),color .25s var(--ease);
}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0)}.btn svg{width:15px;height:15px;flex:none}.btn--primary{--bg:linear-gradient(135deg,var(--saffron-light),var(--orange));--fg:#20160A;--bd:transparent;font-weight:620}.btn--primary:hover{box-shadow:0 18px 38px -14px rgba(247,147,30,.65)}.btn--ghost{--bg:transparent;--fg:var(--ink);--bd:var(--line)}.btn--ghost:hover{--bd:var(--ink-200);background:var(--cream)}.btn--outline-light{--bg:transparent;--fg:#fff;--bd:rgba(255,255,255,.3)}.btn--outline-light:hover{background:rgba(255,255,255,.08)}.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.link-arrow{
  display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;
  font-size:.92rem;font-weight:580;color:var(--orange-deep);
}.link-arrow span{transition:transform .3s var(--ease)}.link-arrow:hover span{transform:translateX(4px)}/* ---------- navigation ---------- */
.nav{
  position:sticky;top:0;z-index:90;background:rgba(255,255,255,.86);
  backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);
  border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s;
}.nav.is-stuck{border-bottom-color:var(--line-soft);box-shadow:0 6px 24px -20px rgba(20,22,28,.5)}.nav__inner{display:flex;align-items:center;gap:1.5rem;height:var(--nav-h)}.brand{display:flex;align-items:center;gap:.68rem;text-decoration:none;flex:none;margin-right:auto}.brand img{width:clamp(32px,24px + 2.2vw,46px);height:auto}/* The wordmark is set in the site's own typeface so the header matches the
   rest of the page. Both lines are sized from one variable, so the tagline
   keeps the same proportion - and the same tracked-out width - at every
   screen size. The negative margin cancels the trailing letter-space that
   CSS adds after the last character, so the two lines end flush. */
.brand{--wm:clamp(1rem,.82rem + .55vw,1.18rem)}
.brand--lg{--wm:clamp(1.05rem,.86rem + .6vw,1.3rem)}
.brand__name{display:block;font-family:var(--sans);font-size:var(--wm);font-weight:700;letter-spacing:.055em;color:var(--ink);line-height:1.05;white-space:nowrap}.brand__sub{display:block;font-family:var(--sans);font-size:calc(var(--wm) * .49);font-weight:600;letter-spacing:.601em;margin-right:-.601em;text-transform:uppercase;color:var(--ink-400);margin-top:6px;white-space:nowrap}.nav__menu{display:flex;align-items:center;gap:1.1rem}.nav__links{display:flex;align-items:center;gap:.15rem;list-style:none;margin:0;padding:0}.nav__links a{
  display:block;padding:.5rem .78rem;border-radius:8px;text-decoration:none;
  font-size:.885rem;font-weight:520;color:var(--ink-600);white-space:nowrap;
  transition:color .2s,background .2s;
}.nav__links a:hover{color:var(--ink);background:var(--cream-deep)}.nav__links a[aria-current="page"]{color:var(--ink);font-weight:620}.nav__cta{flex:none}.nav__cta .btn{padding:.72rem 1.28rem;font-size:.88rem}.nav__toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;align-items:center;justify-content:center;flex:none}.nav__toggle span{position:relative;display:block;width:17px;height:1.6px;background:var(--ink);border-radius:2px;transition:transform .3s var(--ease),background .2s}.nav__toggle span::before, .nav__toggle span::after{content:"";position:absolute;left:0;width:17px;height:1.6px;background:var(--ink);border-radius:2px;transition:transform .3s var(--ease)}.nav__toggle span::before{top:-5.5px}.nav__toggle span::after{top:5.5px}.nav__toggle[aria-expanded="true"] span{background:transparent}.nav__toggle[aria-expanded="true"] span::before{transform:translateY(5.5px) rotate(45deg)}.nav__toggle[aria-expanded="true"] span::after{transform:translateY(-5.5px) rotate(-45deg)}/* ---------- wave header ---------- */
.wave{
  position:absolute;left:0;right:0;bottom:0;height:78%;
  background:url("../img/wave.svg") center bottom/100% 100% no-repeat;
  pointer-events:none;
}/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:#fff;isolation:isolate}.hero .wave{height:94%;bottom:calc(-1 * clamp(20px,2.4vw,40px));background-image:url("../img/wave-hero.svg")}.hero__inner{
  position:relative;z-index:2;display:grid;grid-template-columns:1.34fr .66fr;
  gap:clamp(2rem,4vw,4.5rem);align-items:center;
  padding:clamp(2.6rem,1.6rem + 3vw,4rem) 0 clamp(5rem,2rem + 10vw,12rem);
}.hero__title{margin-bottom:1.1rem;max-width:21ch}.hero__title em{
  display:block;font-style:italic;color:var(--orange-deep);
  font-variation-settings:'opsz' 72;
}.hero__copy{max-width:50ch;padding-bottom:.5rem}.hero__badge{
  display:inline-flex;align-items:center;gap:.55rem;padding:.42rem .95rem .42rem .5rem;
  background:#fff;border:1px solid var(--line);border-radius:100px;
  font-size:.76rem;font-weight:580;letter-spacing:.05em;color:var(--ink-600);
  box-shadow:var(--shadow-sm);margin-bottom:1.6rem;
}.hero__badge b{
  display:inline-flex;align-items:center;padding:.2rem .58rem;border-radius:100px;
  background:var(--teal);color:#fff;font-size:.66rem;font-weight:640;letter-spacing:.09em;text-transform:uppercase;
}.hero__points{
  list-style:none;margin:0 0 1.5rem;padding:0;
  display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .95rem;
  font-size:.87rem;font-weight:540;color:var(--ink-600);
}.hero__points li{display:inline-flex;align-items:center;gap:.6rem}
.hero__points li::before{
  content:"";width:4px;height:4px;border-radius:50%;background:var(--saffron);flex:none;
}.hero__media{position:relative;max-width:400px;margin-left:auto}.hero__portrait{
  border-radius:var(--r-xl) var(--r-xl) var(--r-xl) 90px;overflow:hidden;
  box-shadow:var(--shadow-lg);background:var(--cream);
  transform:rotate(.6deg);
}.hero__portrait img{width:100%;aspect-ratio:4/5;object-fit:cover}.hero__chip{
  position:absolute;left:-2.2rem;bottom:1.6rem;z-index:3;
  display:flex;align-items:center;gap:.8rem;padding:.85rem 1.15rem;
  background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
  border-radius:var(--r-md);box-shadow:var(--shadow-md);
}.hero__chip strong{display:block;font-family:var(--serif);font-size:1.5rem;line-height:1;color:var(--ink)}.hero__chip span{display:block;font-size:.72rem;letter-spacing:.05em;color:var(--ink-400);margin-top:.2rem}.hero__chip i{
  width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;
  background:var(--teal-pale);color:var(--teal);
}.hero__chip svg{width:19px;height:19px}/* ---------- page header (inner pages) ---------- */
/* Header band: the same wave silhouette as the home page, drawn to fill a short strip -
   a thin ribbon on the left rising to a filled wedge on the right. */
.pagehead{position:relative;overflow:hidden;background:#fff;height:clamp(96px,12.5vw,190px)}.pagehead .wave{height:100%}
.pagehead__bar{
  position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;
  gap:.6rem clamp(1.1rem,.6rem + 1.8vw,2.4rem);
  padding-top:clamp(1.1rem,.7rem + 1.4vw,1.9rem);
}
.pagehead__item{
  display:inline-flex;align-items:center;gap:.55rem;
  font-size:.86rem;color:var(--ink-600);text-decoration:none;white-space:nowrap;
  transition:color .22s;
}
a.pagehead__item:hover{color:var(--orange-deep)}
.pagehead__item svg{width:16px;height:16px;color:var(--orange-deep);flex:none}
.pagehead__item > span{line-height:1.3}
.pagehead + .section, .pagehead + .section--cream, .pagehead + .section--teal{
  padding-top:clamp(1.6rem,1.2rem + 1.1vw,2.6rem);
}
/* ---------- trust strip ---------- */
.trust{
  position:relative;z-index:3;background:transparent;
  margin-top:calc(-1 * clamp(20px,2.4vw,34px));
  padding:0 0 clamp(.9rem,.7rem + .8vw,1.5rem);
}
.trust__grid{
  display:grid;grid-template-columns:repeat(6,auto);gap:0;align-items:stretch;justify-content:space-between;
  background:linear-gradient(180deg,#FFFFFF 0%,#FFFCF6 100%);
  border:1px solid #F2E7D5;border-radius:var(--r-lg);
  box-shadow:0 22px 48px -18px rgba(72,54,22,.22),0 3px 10px rgba(72,54,22,.06);
  padding:clamp(.95rem,.75rem + .55vw,1.3rem) clamp(.35rem,.2rem + .5vw,.85rem);
}
.trust__item{
  position:relative;display:flex;align-items:center;gap:.74rem;min-width:0;
  padding:.1rem clamp(.6rem,.35rem + .7vw,1.1rem);
}
.trust__item + .trust__item::before{
  content:"";position:absolute;left:0;top:6%;bottom:6%;width:1px;
  background:linear-gradient(180deg,rgba(233,219,197,0) 0%,#E9DBC5 26%,#E9DBC5 74%,rgba(233,219,197,0) 100%);
}
.trust__ico{
  display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;
  background:linear-gradient(150deg,#FFDF9C 0%,#FFF3DC 62%,#FFFBF3 100%);
  color:var(--orange-deep);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.95),inset 0 -1px 1px rgba(196,150,58,.16),
             0 0 0 1px #F6E4BC,0 4px 10px -4px rgba(190,140,40,.34);
}
.trust__ico svg{width:18px;height:18px}
.trust__txt{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.trust__txt b{white-space:nowrap}
.trust__txt b{
  font-family:var(--serif);font-size:1.06rem;font-weight:560;color:var(--ink);
  letter-spacing:-.002em;font-variation-settings:'opsz' 14;
}
.trust__txt i{
  margin-top:.26rem;font-style:normal;font-size:.655rem;font-weight:640;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-400);
}

.trust + .section{padding-top:clamp(2.2rem,1.6rem + 2vw,3.6rem)}
/* ---------- generic grids ---------- */
.grid{display:grid;gap:clamp(1rem,.5rem + 1.4vw,1.6rem)}.grid-3{grid-template-columns:repeat(3,1fr)}/* ---------- cards ---------- */
.card{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.5rem,1.1rem + 1vw,2.1rem);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line-soft)}.card h2, .card h3, .card h4, .card .h3, .card .h4{margin-bottom:.55rem}.card p{color:var(--ink-600);font-size:.955rem;line-height:1.66}.card__icon{
  width:48px;height:48px;border-radius:14px;display:grid;place-items:center;margin-bottom:1.15rem;
  background:linear-gradient(140deg,var(--saffron-pale),#FFE6AE);color:var(--orange-deep);
}.card__icon svg{width:23px;height:23px}/* ---------- feature: what we do ---------- */
.feature{
  position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#fff 0%,var(--cream) 34%,var(--cream) 72%,#fff 100%);
}.feature__deco{
  position:absolute;z-index:-1;top:-6%;right:-13%;width:min(760px,62%);aspect-ratio:9/7;
  background:url("../img/meridian-lines.svg") right top/contain no-repeat;
  opacity:.5;pointer-events:none;
}.feature__deco::after{
  content:"";position:absolute;inset:-18% -22% auto auto;width:92%;aspect-ratio:1;
  background:radial-gradient(circle,rgba(255,176,0,.16),transparent 66%);
}/* editorial head: title left, standfirst right, hairline under */
.feature__head{
  display:grid;grid-template-columns:1.1fr .9fr;
  gap:clamp(1.4rem,1rem + 3vw,4rem);align-items:end;
  padding-bottom:clamp(2rem,1.4rem + 2vw,3rem);
  border-bottom:1px solid var(--line);
}.feature__head h2{margin-bottom:0;font-size:clamp(2.1rem,1.3rem + 3vw,3.4rem)}.feature__head h2 em{
  font-style:italic;color:var(--orange-deep);font-variation-settings:'opsz' 72;
}.feature__head .lead{padding-bottom:.3rem}.feature__body{
  display:grid;grid-template-columns:.86fr 1.14fr;
  gap:clamp(2rem,1.2rem + 4vw,4.5rem);
  padding-top:clamp(2.4rem,1.6rem + 2.6vw,3.6rem);align-items:start;
}/* media: layered frame + floating figures chip */
.feature__media{position:relative}.feature__media figure{
  position:relative;margin:0;border-radius:var(--r-xl) var(--r-xl) var(--r-xl) 96px;overflow:hidden;
  box-shadow:var(--shadow-lg);
}.feature__media figure::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}.feature__media img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.feature__media::before{
  content:"";position:absolute;z-index:-1;inset:1.5rem -1.5rem -1.5rem 1.5rem;
  border-radius:var(--r-xl) var(--r-xl) var(--r-xl) 86px;
  border:1px solid rgba(232,162,28,.45);
  background:linear-gradient(152deg,rgba(255,176,0,.11),rgba(255,176,0,0) 58%);
}.feature__media::after{
  content:"";position:absolute;z-index:-1;right:-1.5rem;top:1.5rem;
  width:9px;height:9px;border-radius:50%;background:var(--saffron);
  transform:translate(50%,-50%);
}.feature__chip{
  position:absolute;left:-1.6rem;bottom:1.9rem;z-index:3;
  display:grid;gap:.42rem;padding:.95rem 1.25rem;
  background:rgba(255,255,255,.93);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-radius:var(--r-md);box-shadow:var(--shadow-md);
  font-size:.79rem;letter-spacing:.03em;color:var(--ink-600);white-space:nowrap;
}.feature__chip b{
  font-family:var(--serif);font-size:1.06rem;font-weight:500;color:var(--ink);
  font-variation-settings:'opsz' 40;margin-right:.24rem;
}/* notes: hairline-separated editorial entries */
.feature__notes{display:grid}.note{
  display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,.6rem + 1.4vw,2rem);
  padding:clamp(1.4rem,1rem + 1.2vw,2rem) 0;border-top:1px solid var(--line);
}.note:first-child{border-top:0;padding-top:0}.note__i{
  font-family:var(--serif);font-size:.9rem;font-weight:500;letter-spacing:.08em;
  color:var(--orange-deep);font-variation-settings:'opsz' 14;padding-top:.35em;
}.note h3{font-size:clamp(1.18rem,1.05rem + .5vw,1.44rem);margin-bottom:.42rem}.note p{margin:0;color:var(--ink-600);font-size:.985rem;line-height:1.7}.feature__link{margin-top:1.6rem;justify-self:start}@media (max-width:960px) {.feature__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}.feature__body{grid-template-columns:1fr;gap:2.6rem}.feature__media{max-width:440px}.feature__deco{width:70%;opacity:.35}
}
@media (max-width:680px) {.feature__media{max-width:100%}.feature__media figure{border-radius:var(--r-lg) var(--r-lg) var(--r-lg) 60px}.feature__media::before{inset:1rem -1rem -1rem 1rem}.feature__chip{left:0;bottom:-1.1rem;font-size:.74rem}.note{grid-template-columns:1fr;gap:.5rem}
}
/* ---------- the case for screening early ---------- */
.case{
  position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#fff 0%,var(--cream) 30%,var(--cream) 74%,#fff 100%);
}.case__deco{
  position:absolute;z-index:-1;top:4%;left:-16%;width:min(680px,54%);aspect-ratio:9/7;
  background:url("../img/meridian-lines.svg") left top/contain no-repeat;
  transform:scaleX(-1);opacity:.4;pointer-events:none;
}.case__head{
  display:grid;grid-template-columns:1.06fr .94fr;
  gap:clamp(1.4rem,1rem + 3vw,4rem);align-items:end;
  padding-bottom:clamp(2rem,1.4rem + 2vw,3rem);border-bottom:1px solid var(--line);
}.case__head h2{margin-bottom:0;font-size:clamp(2.1rem,1.3rem + 3vw,3.4rem)}.case__head h2 em{font-style:italic;color:var(--orange-deep);font-variation-settings:'opsz' 72}.case__head .lead{padding-bottom:.3rem}/* diagram */
.chart{
  margin:clamp(2.2rem,1.4rem + 2.6vw,3.4rem) 0 0;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1rem,.6rem + 1.4vw,1.8rem);box-shadow:var(--shadow-sm);
}.chart svg{display:block;width:100%;height:auto}.chart figcaption{
  margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--line-soft);
  font-size:.83rem;line-height:1.6;color:var(--ink-400);max-width:82ch;
}.c-line{stroke-width:4;stroke-linecap:round}.c-axis{stroke:var(--line);stroke-width:1.5}.c-axis--y{stroke-dasharray:2 5}.c-thresh{stroke:var(--ink-200);stroke-width:1.5;stroke-dasharray:7 7}.chart text{font-family:var(--sans);fill:var(--ink-400)}.c-ax{font-size:14px;font-weight:600;letter-spacing:.14em}.c-thresh-lab{font-size:14px;font-weight:600;letter-spacing:.1em;fill:var(--ink-300)}.c-win{font-size:15px;font-weight:700;letter-spacing:.16em;fill:var(--orange-deep)}.c-winsub{font-size:14px;font-weight:500;letter-spacing:.04em;fill:#B4802A}.c-mark line{stroke:var(--ink-200);stroke-width:1.5;stroke-dasharray:3 5}.c-mark circle{fill:#fff;stroke:var(--saffron);stroke-width:4}.c-mark text{font-size:19px;font-weight:640;fill:var(--ink);letter-spacing:-.01em}.c-mark .c-sub{font-size:14.5px;font-weight:500;fill:var(--ink-400);letter-spacing:0}.c-mark--now circle{stroke:var(--orange)}.c-mark--late circle{stroke:#C2410C}/* key numbers */
.case__figures{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(1rem,.6rem + 1.6vw,2.4rem);
  margin:clamp(2.2rem,1.4rem + 2.4vw,3.2rem) 0 0;
}.case__figures > div{padding-top:1.15rem;border-top:2px solid var(--ink)}.case__figures b{
  display:block;font-family:var(--serif);font-weight:400;
  font-size:clamp(2.1rem,1.3rem + 2.6vw,3.4rem);line-height:1;
  color:var(--ink);font-variation-settings:'opsz' 72;letter-spacing:-.03em;
}.case__figures b span{font-size:.5em;letter-spacing:0;margin-left:.12em;color:var(--orange-deep)}.case__lab{display:block;margin-top:.6rem;font-size:.86rem;line-height:1.5;color:var(--ink-500,#5A6070)}.case__cards{margin-top:clamp(2rem,1.2rem + 2.4vw,3rem)}.case__quote{margin:clamp(2.4rem,1.6rem + 2.4vw,3.4rem) auto 0;max-width:62ch}@media (max-width:960px) {.case__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}.case__figures{grid-template-columns:repeat(2,1fr);gap:1.4rem}.chart text{font-size:22px}.c-mark text{font-size:26px}.c-mark .c-sub{font-size:20px}.c-win{font-size:22px}.c-winsub{font-size:20px}.c-ax, .c-thresh-lab{font-size:19px}
}
@media (max-width:680px) {.chart{overflow-x:auto;padding:.9rem}.chart svg{min-width:620px}.case__figures{grid-template-columns:1fr 1fr;gap:1.1rem}
}
/* ============ shared editorial head (title left, standfirst right) ============ */
.proc__head, .ther__head{
  display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(1.4rem,1rem + 3vw,4rem);
  align-items:end;padding-bottom:clamp(2rem,1.4rem + 2vw,3rem);border-bottom:1px solid var(--line);
}.proc__head h2, .ther__head h2{margin-bottom:0;font-size:clamp(2.1rem,1.3rem + 3vw,3.4rem)}.proc__head h2 em, .ther__head h2 em, .camp__head h2 em{
  font-style:italic;color:var(--orange-deep);font-variation-settings:'opsz' 72;
}.proc__head .lead, .ther__head .lead{padding-bottom:.3rem}/* ============ the appointment: horizontal stepper ============ */
.proc__steps{
  list-style:none;margin:clamp(2.4rem,1.6rem + 2.4vw,3.4rem) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,.6rem + 1.6vw,2.4rem);
}.proc__step{position:relative;padding-top:2rem;border-top:2px solid var(--line)}.proc__step::before{
  content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;
  background:var(--saffron);box-shadow:0 0 0 5px #fff;
}.proc__step:first-child::before{background:var(--orange)}.proc__n{
  display:block;font-family:var(--serif);font-size:.92rem;font-weight:600;letter-spacing:.1em;
  color:var(--orange-deep);margin-bottom:.5rem;font-variation-settings:'opsz' 14;
}.proc__step h3{margin-bottom:.45rem}.proc__step p{margin:0;font-size:.93rem;line-height:1.65;color:var(--ink-600)}.proc__panel{
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.4rem,1rem + 2vw,2.6rem);
  align-items:center;margin-top:clamp(2.4rem,1.6rem + 2.4vw,3.4rem);
  background:var(--cream);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1rem,.6rem + 1.2vw,1.6rem);
}.proc__panel figure{margin:0;border-radius:var(--r-md);overflow:hidden}.proc__panel img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.proc__facts{padding:.4rem clamp(.4rem,1.4vw,1.4rem)}.proc__facts dl{margin:0;display:grid;gap:0}.proc__facts dl > div{
  display:grid;grid-template-columns:minmax(90px,.42fr) 1fr;gap:1rem;
  padding:.85rem 0;border-bottom:1px solid var(--line);
}.proc__facts dl > div:first-child{border-top:1px solid var(--line)}.proc__facts dt{margin:0;font-size:.72rem;font-weight:660;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-400)}.proc__facts dd{margin:0;font-size:.95rem;color:var(--ink);font-weight:500}.proc__facts .link-arrow{margin-top:1.2rem}/* ============ 15 spectra: grouped map ============ */
.spec__head{
  display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(1.4rem,1rem + 3vw,4rem);
  align-items:end;padding-bottom:clamp(1.8rem,1.2rem + 2vw,2.6rem);
}.spec__head h2{margin-bottom:0;font-size:clamp(2.1rem,1.3rem + 3vw,3.4rem)}.spec__head h2 em{font-style:italic;color:var(--orange-deep);font-variation-settings:'opsz' 72}.spec__head .lead{padding-bottom:.3rem}.spec__map{border-top:1px solid var(--line)}.spec__group{
  display:grid;grid-template-columns:minmax(180px,.23fr) 1fr;
  gap:clamp(1.2rem,.8rem + 2vw,3rem);
  padding:clamp(1.5rem,1rem + 1.6vw,2.2rem) 0;border-bottom:1px solid var(--line);
}.spec__glabel{position:relative;padding-left:1rem}.spec__glabel::before{
  content:"";position:absolute;left:0;top:.35rem;bottom:.35rem;width:3px;border-radius:3px;
  background:linear-gradient(180deg,var(--saffron),var(--orange));
}.spec__range{
  display:block;font-family:var(--serif);font-size:.82rem;font-weight:600;letter-spacing:.12em;
  color:var(--orange-deep);font-variation-settings:'opsz' 14;margin-bottom:.35rem;
}.spec__glabel h3{
  font-family:var(--sans);font-size:1.02rem;font-weight:660;letter-spacing:-.008em;
  line-height:1.3;color:var(--ink);margin:0 0 .3rem;
}.spec__glabel p{margin:0;font-size:.85rem;line-height:1.5;color:var(--ink-400)}.spec__tiles{
  list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:.7rem;
}.tile{
  position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  padding:1rem 1.05rem 1.05rem;
  transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .32s;
}.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--saffron)}.tile__n{
  display:block;font-family:var(--serif);font-size:.86rem;font-weight:600;letter-spacing:.08em;
  color:var(--saffron);font-variation-settings:'opsz' 14;margin-bottom:.4rem;
}.tile:hover .tile__n{color:var(--orange-deep)}.tile h3{margin:0 0 .3rem;font-size:.99rem}.tile p{margin:0;font-size:.84rem;line-height:1.5;color:var(--ink-400)}/* ============ conditions: tag wall ============ */
.cond__wall{
  list-style:none;margin:clamp(2.2rem,1.4rem + 2.4vw,3.2rem) auto 0;padding:0;max-width:1000px;
  display:flex;flex-wrap:wrap;justify-content:center;gap:.62rem;
}.cond__wall li{
  padding:.72rem 1.25rem;border:1px solid var(--line);border-radius:100px;background:#fff;
  font-size:.95rem;color:var(--ink-800);letter-spacing:-.005em;
  transition:border-color .28s,color .28s,transform .28s var(--ease),box-shadow .28s;
}.cond__wall li:hover{
  border-color:var(--saffron);color:var(--ink);transform:translateY(-3px);box-shadow:var(--shadow-sm);
}.cond__foot{max-width:74ch;margin:clamp(2rem,1.4rem + 2vw,2.8rem) auto 0;text-align:center}.cond__foot p{color:var(--ink-600)}.cond__foot .notice{text-align:left;margin-top:1.6rem}/* ============ therapies: editorial rows ============ */
.ther{
  background:linear-gradient(180deg,var(--cream-deep) 0%,#FCF6EA 55%,var(--cream) 100%);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}.ther__list{list-style:none;margin:clamp(2.2rem,1.4rem + 2.4vw,3.2rem) 0 2rem;padding:0;border-top:1px solid var(--line)}.ther__row{
  display:grid;grid-template-columns:auto auto minmax(190px,.34fr) 1fr;
  gap:clamp(1rem,.6rem + 1.6vw,2.2rem);align-items:center;
  padding:clamp(1.3rem,1rem + 1vw,1.9rem) 0;border-bottom:1px solid var(--line);
  transition:background .3s var(--ease);
}.ther__row:hover{background:rgba(255,255,255,.6)}.ther__n{
  font-family:var(--serif);font-size:.9rem;font-weight:600;letter-spacing:.1em;
  color:var(--ink-300);font-variation-settings:'opsz' 14;
}.ther__row:hover .ther__n{color:var(--orange-deep)}.ther__ico{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;flex:none;
  background:linear-gradient(140deg,var(--saffron-pale),#FFE6AE);color:var(--orange-deep);
  transition:transform .3s var(--ease);
}.ther__ico svg{width:22px;height:22px}.ther__row:hover .ther__ico{transform:scale(1.06)}.ther__row h3{margin:0}.ther__row p{margin:0;font-size:.95rem;line-height:1.65;color:var(--ink-600)}/* ============ offer panel ============ */
.offer{position:relative;overflow:hidden;isolation:isolate}.offer__deco{
  position:absolute;z-index:-1;top:-10%;right:-14%;width:min(660px,52%);aspect-ratio:9/7;
  background:url("../img/meridian-lines.svg") right top/contain no-repeat;opacity:.38;
}.offer__panel{
  display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(1.6rem,1rem + 3vw,3.4rem);
  align-items:start;
  background:linear-gradient(150deg,#fff,var(--cream) 58%,var(--cream-deep));
  border:1px solid var(--line);border-radius:var(--r-xl);
  padding:clamp(1.6rem,1rem + 2.6vw,3rem);box-shadow:var(--shadow-md);
}.offer__why h2{font-size:clamp(1.85rem,1.2rem + 2.2vw,2.7rem)}.offer__price{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.3rem,.9rem + 1.6vw,2rem);box-shadow:var(--shadow-sm);
}.offer__amt{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;margin:.7rem 0 .4rem}.offer__amt b{
  font-family:var(--serif);font-size:clamp(2.4rem,1.8rem + 2.4vw,3.4rem);line-height:1;
  color:var(--ink);font-variation-settings:'opsz' 72;letter-spacing:-.03em;
}.offer__amt span{font-size:.86rem;color:var(--ink-400);text-decoration:line-through}.offer__spec{margin:1.4rem 0 1.6rem;display:grid;gap:0;border-top:1px solid var(--line)}.offer__spec > div{display:grid;grid-template-columns:minmax(80px,.42fr) 1fr;gap:.9rem;padding:.72rem 0;border-bottom:1px solid var(--line)}.offer__spec dt{margin:0;font-size:.71rem;font-weight:660;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-400)}.offer__spec dd{margin:0;font-size:.92rem;color:var(--ink);font-weight:500}
/* ---------- two-tier pricing ---------- */
.tier{padding:1.05rem 0;border-bottom:1px solid var(--line)}
.tier:first-child{padding-top:0}
.tier--lead{position:relative}
.tier__name{margin:.5rem 0 0;font-family:var(--sans);font-size:.98rem;font-weight:640;
  letter-spacing:-.005em;color:var(--ink);line-height:1.3}
.tier__amt{margin:.32rem 0 .6rem}
.tier__amt b{font-family:var(--serif);font-size:clamp(1.95rem,1.5rem + 1.7vw,2.65rem);
  line-height:1;color:var(--ink);font-variation-settings:'opsz' 72;letter-spacing:-.03em}
.tier__inc{list-style:none;margin:0;padding:0;display:grid;gap:.34rem}
.tier__inc li{position:relative;padding-left:1.3rem;font-size:.895rem;line-height:1.5;color:var(--ink-600)}
.tier__inc li::before{content:"";position:absolute;left:.1rem;top:.55em;
  width:5px;height:5px;border-radius:50%;background:var(--saffron)}
.tier__inc li strong{color:var(--ink);font-weight:620}
.price__tag--lead{color:var(--orange-deep)}
/* the contact-page fee panel uses the same two tiers, laid out tighter */
.fee__tiers{list-style:none;margin:.9rem 0 1rem;padding:0;display:grid;gap:.9rem}
.fee__tiers li{display:grid;gap:.15rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}
.fee__tiers li:last-child{padding-bottom:0;border-bottom:0}
.fee__t{font-size:.79rem;font-weight:640;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-400)}
.fee__tiers b{font-family:var(--serif);font-size:clamp(1.7rem,1.4rem + 1.2vw,2.2rem);
  line-height:1.1;color:var(--ink);font-variation-settings:'opsz' 72;letter-spacing:-.03em}
.fee__d{font-size:.88rem;line-height:1.55;color:var(--ink-600)}
.fee__tier--lead .fee__t{color:var(--orange-deep)}/* ============ camps ============ */
.camp{overflow:hidden}.camp__head{
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.6rem,1rem + 2.4vw,3.4rem);
  align-items:end;margin-bottom:clamp(1.8rem,1.2rem + 2vw,2.8rem);
}.camp__head h2{margin-bottom:0;font-size:clamp(2rem,1.3rem + 2.8vw,3.2rem)}
.camp__lede p{color:var(--ink-600);font-size:1rem;line-height:1.75;margin:0}
.camp__lede p + p{margin-top:.75rem}
.camp__gallery{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(.7rem,.5rem + .6vw,1rem)}
.camp__shot{
  margin:0;position:relative;min-height:0;overflow:hidden;background:var(--ink);
  border-radius:var(--r-lg);box-shadow:var(--shadow-md);
}.camp__shot--big{grid-row:1 / span 2}
.camp__shot img{display:block;width:100%;height:100%;object-fit:cover}
.camp__shot--big img{object-position:72% 44%}
.camp__shot:not(.camp__shot--big) img{aspect-ratio:4/3}
.camp__shot--local img{object-position:62% 38%}
.camp__shot figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:2rem .95rem .75rem;
  background:linear-gradient(180deg,rgba(20,22,28,0) 0%,rgba(20,22,28,.74) 100%);
  color:#fff;font-size:.78rem;font-weight:560;letter-spacing:.01em;
}
.camp__foot{
  margin-top:clamp(.9rem,.6rem + 1vw,1.5rem);background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:clamp(1.3rem,1rem + 1.1vw,1.9rem) clamp(1.3rem,1rem + 1.4vw,2.1rem);
  display:grid;grid-template-columns:1fr auto;gap:clamp(1.2rem,.8rem + 1.6vw,2.4rem);align-items:center;
}
.camp__wlabel{margin:0 0 .95rem;font-size:.71rem;font-weight:640;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-400)}
.camp__where{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem 1.4rem}
.camp__where li{display:flex;align-items:center;gap:.65rem;font-size:.9rem;font-weight:540;color:var(--ink-600)}
.camp__where svg{
  width:32px;height:32px;padding:6.5px;border-radius:50%;box-sizing:border-box;flex:none;
  background:var(--cream);border:1px solid var(--line-soft);color:var(--orange-deep);
}
.camp__cta{border-left:1px solid var(--line-soft);padding-left:clamp(1.2rem,.8rem + 1.4vw,2.2rem);max-width:16rem}
.camp__cta .btn{width:100%;justify-content:center}
.camp__cta p{margin:.85rem 0 0;font-size:.8rem;line-height:1.5;color:var(--ink-400)}
/* ============ closing quote ============ *//* ============ closing quote ============ */
.closer{
  position:relative;overflow:hidden;isolation:isolate;text-align:center;
  padding:clamp(3.6rem,2.4rem + 4vw,6rem) 0;
  background:#fff;
}.closer__rule{
  display:block;width:52px;height:3px;margin:0 auto 1.8rem;border-radius:3px;
  background:linear-gradient(90deg,var(--saffron),var(--orange));
}.closer blockquote{margin:0}.closer blockquote p{
  margin:0;font-family:var(--serif);font-weight:330;
  font-size:clamp(1.5rem,1rem + 2.4vw,2.7rem);line-height:1.3;letter-spacing:-.022em;
  color:var(--ink);text-wrap:balance;
}.closer cite{
  display:block;margin-top:1.5rem;font-family:var(--sans);font-style:normal;
  font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-400);
}/* ---------- faq: search + language ---------- */
.filters{
  display:grid;grid-template-columns:1fr auto;gap:.9rem 1.1rem;align-items:center;
  margin:clamp(1.8rem,1.3rem + 1.6vw,2.6rem) 0 0;
}
.filters__search{position:relative;display:flex;align-items:center}
.filters__search > svg{
  position:absolute;left:1.05rem;width:19px;height:19px;color:var(--ink-400);pointer-events:none;
}
.filters__search input{
  width:100%;font:inherit;font-size:.97rem;color:var(--ink);
  padding:.85rem 3rem .85rem 3rem;
  background:#fff;border:1px solid var(--line);border-radius:100px;
  box-shadow:0 1px 2px rgba(40,32,16,.04);
  transition:border-color .2s,box-shadow .2s;
}
.filters__search input::placeholder{color:var(--ink-400)}
.filters__search input:focus{
  outline:none;border-color:var(--saffron);
  box-shadow:0 0 0 4px rgba(255,193,14,.18);
}
.filters__search input::-webkit-search-cancel-button{display:none}
.filters__clear{
  position:absolute;right:.5rem;display:grid;place-items:center;width:34px;height:34px;
  padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink-400);cursor:pointer;
  transition:color .2s,background-color .2s;
}
.filters__clear:hover{background:var(--cream);color:var(--ink)}
.filters__clear svg{width:15px;height:15px}
.filters__seg{
  display:flex;gap:.25rem;padding:.28rem;background:var(--cream);
  border:1px solid var(--line);border-radius:100px;
}
.filters__opt{
  padding:.5rem 1rem;border:0;border-radius:100px;background:transparent;cursor:pointer;
  font-size:.86rem;font-weight:560;color:var(--ink-600);
  transition:background-color .2s,color .2s,box-shadow .2s;
}
.filters__opt:hover{color:var(--ink)}
.filters__opt.is-on{
  background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(40,32,16,.12);
}
.filters__count{
  margin:.9rem 0 0;font-size:.85rem;color:var(--ink-400);
}
.filters__none{
  margin:1.6rem 0 0;padding:1.2rem 1.4rem;background:var(--cream);
  border:1px solid var(--line);border-radius:var(--r-md);
  font-size:.95rem;color:var(--ink-600);
}
.filters__none a{color:var(--orange-deep);font-weight:580;text-decoration:underline;text-underline-offset:3px}
.faq--en .acc__hi{display:none}
.faq--hi .acc__en{display:none}
.faq--hi .acc__hi{margin-top:0;border-top:0;padding-top:0}
.faq--hi .acc__hi-tag{display:none}
.acc[data-faq]:target > .acc__btn{background:#FFF8E8}
@media (max-width:680px){
  .filters{grid-template-columns:1fr;gap:.8rem}
  .filters__seg{justify-content:space-between}
  .filters__opt{flex:1;text-align:center;padding:.55rem .5rem}
}
/* ---------- filters: stacked variant (conditions) ---------- */
.filters--stack{grid-template-columns:1fr;gap:.85rem}
.filters__seg--wrap{flex-wrap:wrap;align-items:center;border-radius:var(--r-md);padding:.35rem;gap:.3rem}
.filters__seg--wrap .filters__opt{white-space:nowrap}
.filters__seg--wrap .filters__opt{padding:.48rem .9rem;font-size:.845rem}
/* complaints are links into the booking form */
.cnd__tags li{padding:0}
.cnd__tags li a{
  display:block;padding:.48rem .95rem;color:inherit;text-decoration:none;border-radius:100px;
}
.cnd__tags li a:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
/* ---------- booking: guided steps ---------- */
.form--steps .step{border:0;margin:0;padding:0;min-width:0}
.step__legend{
  padding:0;margin:0 0 1rem;font-size:.72rem;font-weight:660;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-400);
}
.steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;
  list-style:none;margin:0 0 1.7rem;padding:0;
}
.steps__i{
  display:flex;align-items:center;gap:.5rem;padding-top:.65rem;
  border-top:2px solid var(--line);
  font-size:.775rem;font-weight:600;color:var(--ink-400);
  transition:color .25s,border-color .25s;
}
.steps__i span{
  display:grid;place-items:center;width:21px;height:21px;flex:none;border-radius:50%;
  background:var(--cream);border:1px solid var(--line);font-size:.7rem;font-weight:700;
  transition:background-color .25s,color .25s,border-color .25s;
}
.steps__i.is-done{color:var(--ink-600);border-top-color:var(--saffron)}
.steps__i.is-done span{background:var(--saffron);border-color:transparent;color:var(--ink)}
.steps__i.is-on{color:var(--ink);border-top-color:var(--orange)}
.steps__i.is-on span{background:var(--orange);border-color:transparent;color:#fff}

.picks{display:grid;gap:.5rem}
.picks--row{grid-template-columns:repeat(3,1fr);gap:.4rem}
.pick{display:block;cursor:pointer;position:relative}
.picks .pick{font-size:1rem;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--ink)}
.pick input{position:absolute;opacity:0;width:0;height:0}
.pick__box{
  display:flex;align-items:center;gap:.8rem;padding:.75rem .95rem;
  border:1px solid var(--line);border-radius:var(--r-md);background:#fff;
  transition:border-color .2s,background-color .2s,box-shadow .2s;
}
.pick:hover .pick__box{border-color:var(--saffron)}
.pick input:checked + .pick__box{
  border-color:var(--orange);background:#FFFCF4;box-shadow:inset 0 0 0 1px var(--orange);
}
.pick input:focus-visible + .pick__box{outline:2px solid var(--orange);outline-offset:2px}
.pick__ico{
  display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;
  background:var(--cream);border:1px solid var(--line-soft);color:var(--orange-deep);
}
.pick__ico svg{width:17px;height:17px}
.pick__txt{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.pick__txt b{font-size:.92rem;font-weight:580;color:var(--ink)}
.pick__txt i{font-style:normal;font-size:.765rem;color:var(--ink-400);margin-top:.18rem}
.pick--sm .pick__box{padding:.6rem .4rem;justify-content:center}
/* Time-of-day sits in a narrow half-width field, so the three boxes were
   breaking mid-value ("10 am - 1 / pm") and ending up different heights.
   Stack each box centred, keep the time on one line, and stretch them level. */
.picks--row{align-items:stretch}
.picks--row .pick{height:100%}
.pick--sm .pick__box{height:100%;flex-direction:column;gap:0;text-align:center}
.pick--sm .pick__txt{align-items:center;text-align:center}
.pick--sm .pick__txt b{font-size:.85rem;line-height:1.2}
.pick--sm .pick__txt i{font-size:.715rem;white-space:nowrap;margin-top:.22rem}
.pick--sm .pick__txt{align-items:center;text-align:center}
.pick--sm .pick__txt b{font-size:.86rem}
.pick--sm .pick__txt i{font-size:.72rem}

.form__nav{display:flex;gap:.7rem;margin-top:1.5rem}
.form__nav [data-step-back] svg{transform:rotate(180deg)}
.field.is-bad input, .field.is-bad textarea{border-color:#C0392B;box-shadow:0 0 0 3px rgba(192,57,43,.12)}
@media (max-width:680px){
  .steps{grid-template-columns:1fr;gap:.35rem;margin-bottom:1.3rem}
  .steps__i{border-top:0;padding-top:0}
  .steps__i:not(.is-on){display:none}
  .picks--row{grid-template-columns:1fr}
  .form__nav{flex-direction:column-reverse}
  .form__nav .btn{width:100%;justify-content:center}
}
/* ---------- prep checklist (remembers itself) ---------- */
.checks{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.check{
  display:flex;align-items:flex-start;gap:.8rem;padding:.6rem .7rem;margin-left:-.7rem;
  border-radius:var(--r-sm);cursor:pointer;transition:background-color .2s;
}
.check:hover{background:rgba(255,255,255,.7)}
.check input{position:absolute;opacity:0;width:0;height:0}
.check__box{
  display:grid;place-items:center;flex:none;width:22px;height:22px;margin-top:.15rem;
  border:1.5px solid var(--line);border-radius:7px;background:#fff;color:transparent;
  transition:background-color .18s,border-color .18s,color .18s,transform .18s;
}
.check__box svg{width:13px;height:13px}
.check input:checked + .check__box{
  background:var(--orange);border-color:transparent;color:#fff;transform:scale(1.04);
}
.check input:focus-visible + .check__box{outline:2px solid var(--orange);outline-offset:2px}
.check__txt{font-size:.95rem;line-height:1.6;color:var(--ink-600);transition:color .2s,opacity .2s}
.check input:checked ~ .check__txt{color:var(--ink-400);opacity:.72}
.checks__foot{
  display:flex;align-items:center;gap:.9rem;margin:1rem 0 0;
  font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-400);
}
.checks__reset{
  padding:0;border:0;background:none;cursor:pointer;color:var(--orange-deep);
  font:inherit;text-decoration:underline;text-underline-offset:3px;
}
.checks__reset:hover{color:var(--ink)}
/* ---------- the twelve tracks: body map ---------- */
.bm__head{
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.4rem,1rem + 2vw,3rem);align-items:end;
}
.bm__head h2{margin-bottom:0;font-size:clamp(2rem,1.3rem + 2.8vw,3.2rem)}
.bm__grid{
  display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(1.6rem,1.1rem + 2.4vw,3.2rem);
  align-items:start;margin-top:clamp(1.8rem,1.3rem + 2vw,2.8rem);
}
.bm__fig{
  margin:0;padding:1.3rem 1rem .9rem;position:sticky;top:calc(var(--nav-h) + 1rem);
  background:linear-gradient(180deg,#FFFDF8 0%,var(--cream) 100%);
  border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);
}
.bm__svg{display:block;width:100%;height:auto;max-height:min(60vh,540px);margin-inline:auto}
.bm__body{fill:#F1E8D6;stroke:#E2D5BB;stroke-width:1}
.bm__body .bm__limb{stroke:#F1E8D6;fill:none;stroke-linecap:round}
.bm__line{
  fill:none;stroke:#A98F5E;stroke-width:1.9;opacity:.6;stroke-linecap:round;stroke-linejoin:round;
  transition:stroke .25s,stroke-width .25s,opacity .25s;
}
.bm__hit{fill:none;stroke:transparent;stroke-width:15;cursor:pointer;pointer-events:stroke}
.bm__svg.is-picked .bm__line{opacity:.28}
.bm__line.is-on{
  stroke:#EE7C10;stroke-width:3.8;opacity:1;
  filter:drop-shadow(0 0 6px rgba(238,124,16,.6));
}
.bm__hint{margin:.9rem 0 0;text-align:center;font-size:.755rem;line-height:1.5;color:var(--ink-400)}
.bm__btns{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}
.bm__btn{
  display:grid;gap:.12rem;text-align:left;padding:.68rem .8rem;cursor:pointer;
  border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;
  transition:border-color .2s,background-color .2s,box-shadow .2s;
}
.bm__btn:hover{border-color:var(--saffron)}
.bm__btn.is-on{border-color:var(--orange);background:#FFFCF4;box-shadow:inset 0 0 0 1px var(--orange)}
.bm__btn:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.bm__abbr{font-size:.68rem;font-weight:700;letter-spacing:.11em;color:var(--orange-deep)}
.bm__name{font-size:.875rem;font-weight:580;line-height:1.2;color:var(--ink)}
.bm__time{font-size:.715rem;color:var(--ink-400)}
.bm__details{margin-top:1.1rem}
.bm__detail{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);
  padding:clamp(1.1rem,.9rem + .6vw,1.5rem);
}
.bm__detail + .bm__detail{margin-top:.7rem}
.bm__dhead{display:flex;align-items:center;gap:.9rem;margin-bottom:1.1rem}
.bm__dabbr{
  display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;
  font-size:.8rem;font-weight:700;letter-spacing:.06em;
  background:var(--cream);color:var(--ink-600);
}
.bm__dabbr[data-el="wood"]{background:#E6F0E6;color:#3D7A4A}
.bm__dabbr[data-el="fire"]{background:#FBE7E0;color:#B4472A}
.bm__dabbr[data-el="earth"]{background:#FBF0DA;color:#9A6E14}
.bm__dabbr[data-el="metal"]{background:#ECEEF1;color:#5E6775}
.bm__dabbr[data-el="water"]{background:#E2EEF2;color:#2A6076}
.bm__dhead h3{margin:0;line-height:1.25}
.bm__dmeta{margin:.22rem 0 0;font-size:.795rem;color:var(--ink-400)}
.bm__dl{margin:0;display:grid;gap:.7rem}
.bm__dl > div{display:grid;grid-template-columns:10.5rem 1fr;gap:.6rem 1rem;align-items:baseline}
.bm__dl dt{font-size:.705rem;font-weight:660;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-400)}
.bm__dl dd{margin:0;font-size:.94rem;line-height:1.6;color:var(--ink-600)}
.bm__src{margin:1rem 0 0;font-size:.75rem;line-height:1.55;color:var(--ink-400)}
@media (max-width:960px){
  .bm__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}
  .bm__grid{grid-template-columns:1fr;gap:1.8rem}
  .bm__fig{position:static;max-width:420px;margin-inline:auto}
  .bm__svg{max-height:min(58vh,520px)}
}
@media (max-width:680px){
  .bm__btns{grid-template-columns:1fr 1fr}
  .bm__dl > div{grid-template-columns:1fr;gap:.2rem}
}
/* ---------- generic page head (404) ---------- */
.pg__head{
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.4rem,1rem + 2vw,3rem);
  align-items:end;margin-bottom:clamp(1.8rem,1.3rem + 2vw,2.8rem);
}
.pg__head h1{margin-bottom:0;font-size:clamp(2rem,1.3rem + 2.8vw,3.2rem)}
.pg__head h1 em{font-style:italic;color:var(--orange-deep)}
@media (max-width:960px){.pg__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}}
/* ---------- footer social row ---------- */
.footer__social{
  display:flex;align-items:center;flex-wrap:wrap;gap:.85rem 1.1rem;
  margin:clamp(1.8rem,1.3rem + 1.6vw,2.8rem) 0 0;
}
.footer__social-label{
  font-size:.71rem;font-weight:640;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-400);
}
.footer .footer__social ul{display:flex;gap:.6rem;list-style:none;margin:0;padding:0}
.footer__social li{margin:0}
.footer__social li a{
  display:grid;place-items:center;width:40px;height:40px;border-radius:50%;
  background:#fff;border:1px solid var(--line);color:var(--ink-600);
  box-shadow:0 1px 2px rgba(40,32,16,.04);
  transition:color .2s,background-color .2s,border-color .2s,transform .2s,box-shadow .2s;
}
.footer__social li a svg{width:19px;height:19px}
.footer__social li a:hover{
  color:#fff;background:var(--orange);border-color:transparent;transform:translateY(-2px);
  box-shadow:0 8px 18px -6px rgba(224,138,12,.5);
}
.footer__review{
  margin-left:auto;font-size:.86rem;font-weight:580;color:var(--orange-deep);
  text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;
  text-decoration-color:rgba(177,91,8,.35);
}
.footer__review:hover{text-decoration-color:currentColor}
@media (max-width:680px){
  .footer__social{gap:.75rem .9rem}
  .footer__review{margin-left:0;width:100%}
}
/* ============ floating actions ============ */
.fab{
  position:fixed;right:clamp(.9rem,.5rem + 1vw,1.6rem);bottom:clamp(.9rem,.5rem + 1vw,1.6rem);
  z-index:60;display:grid;gap:.6rem;justify-items:center;
}
.fab__btn{
  display:grid;place-items:center;padding:0;border-radius:50%;cursor:pointer;
  transition:opacity .28s ease,transform .28s ease,visibility .28s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.fab__btn:focus-visible{outline:2px solid var(--orange-deep);outline-offset:3px}
.fab__btn--top{
  width:46px;height:46px;border:1px solid var(--line);background:#fff;color:var(--orange-deep);
  box-shadow:0 6px 22px rgba(24,26,32,.16);
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);
}
.fab__btn--top.is-in{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.fab__btn--top svg{width:19px;height:19px}
.fab__btn--top:hover{background:var(--orange);color:#fff;border-color:transparent;box-shadow:0 10px 26px rgba(224,138,12,.34)}
.fab__btn--wa{
  width:54px;height:54px;border:0;background:#25D366;color:#fff;
  box-shadow:0 8px 24px rgba(37,211,102,.38);
}
.fab__btn--wa svg{width:27px;height:27px}
.fab__btn--wa:hover{background:#1FBA5A;transform:translateY(-2px);box-shadow:0 12px 28px rgba(37,211,102,.46)}
@media (max-width:680px){
  .fab__btn--top{width:42px;height:42px}.fab__btn--top svg{width:17px;height:17px}
  .fab__btn--wa{width:50px;height:50px}.fab__btn--wa svg{width:25px;height:25px}
}
@media (prefers-reduced-motion:reduce){.fab__btn{transition:opacity .01ms linear}.fab__btn--wa:hover{transform:none}}
@media print{.fab{display:none!important}}
/* ============ responsive ============ */
@media (max-width:1080px){
  .trust__grid{grid-template-columns:repeat(3,1fr);row-gap:1.3rem;justify-content:stretch;padding-inline:clamp(.4rem,.2rem + .5vw,.9rem)}
  .trust__item:nth-child(3n+1)::before{display:none}
  .proc__steps{grid-template-columns:repeat(2,1fr);row-gap:2.2rem}
  .ther__row{grid-template-columns:auto auto 1fr;row-gap:.5rem}
  .ther__row p{grid-column:3 / -1}
}@media (max-width:960px) {.proc__head, .ther__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}.proc__panel{grid-template-columns:1fr}.spec__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}.spec__group{grid-template-columns:1fr;gap:1rem}.offer__panel{grid-template-columns:1fr}.camp__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}.camp__foot{grid-template-columns:1fr;gap:1.5rem}.camp__cta{border-left:0;border-top:1px solid var(--line-soft);padding:1.3rem 0 0;max-width:none}.camp__cta .btn{width:auto}
}
@media (max-width:680px) {.proc__steps{grid-template-columns:1fr;row-gap:1.8rem}.ther__row{grid-template-columns:auto 1fr;row-gap:.45rem}.ther__row .ther__n{display:none}.ther__row p{grid-column:2 / -1}.cond__wall{gap:.5rem}.cond__wall li{padding:.6rem 1rem;font-size:.88rem}.camp__gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.camp__shot--big{grid-row:auto;grid-column:1 / -1}.camp__shot--big img{aspect-ratio:4/3;object-position:64% 46%}.camp__shot:not(.camp__shot--big) img{aspect-ratio:1/1}.camp__where{grid-template-columns:1fr 1fr;gap:.7rem 1rem}.camp__where li{font-size:.85rem}.spec__tiles{grid-template-columns:1fr 1fr;gap:.55rem}.tile{padding:.85rem .9rem .9rem}
}
/* ============ ABOUT: opening statement ============ */
.abt-open{position:relative;overflow:hidden;isolation:isolate}.abt-open__deco{
  position:absolute;z-index:-1;top:-8%;right:-14%;width:min(660px,52%);aspect-ratio:9/7;
  background:url("../img/meridian-lines.svg") right top/contain no-repeat;opacity:.4;
}.abt-open__head{
  display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(1.4rem,1rem + 3vw,4rem);
  align-items:end;padding-bottom:clamp(1.8rem,1.2rem + 2vw,2.8rem);border-bottom:1px solid var(--line);
}.abt-open__head h1{margin-bottom:0;font-size:clamp(2.1rem,1.3rem + 3vw,3.4rem)}.abt-open__head h1 em, .pillars__head h2 em, .obj__head h2 em, .origin h2 em{
  font-style:italic;color:var(--orange-deep);font-variation-settings:'opsz' 72;
}.section--teal .pillars__head h2 em{color:var(--saffron)}.abt-open__head .lead{padding-bottom:.3rem}.abt-open__body{
  display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(1.8rem,1.2rem + 3vw,3.6rem);
  align-items:center;padding-top:clamp(2.2rem,1.4rem + 2.4vw,3.2rem);
}.abt-open__media{position:relative;margin:0}.abt-open__media img{
  display:block;width:100%;aspect-ratio:4/5;object-fit:cover;
  border-radius:var(--r-xl) var(--r-xl) 90px var(--r-xl);box-shadow:var(--shadow-lg);
}.abt-open__media::before{
  content:"";position:absolute;z-index:-1;inset:1.5rem 1.5rem -1.5rem -1.5rem;
  border-radius:var(--r-xl) var(--r-xl) 80px var(--r-xl);
  border:1px solid rgba(232,162,28,.45);
  background:linear-gradient(200deg,rgba(255,176,0,.11),rgba(255,176,0,0) 58%);
}.abt-open__media figcaption{
  position:absolute;right:-1.4rem;bottom:1.8rem;z-index:3;
  background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
  padding:.85rem 1.15rem;border-radius:var(--r-md);box-shadow:var(--shadow-md);
}.abt-open__media figcaption strong{display:block;font-family:var(--serif);font-size:1.02rem;font-weight:500;color:var(--ink)}.abt-open__media figcaption span{display:block;font-size:.76rem;color:var(--ink-400);margin-top:.15rem}.abt-plan{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.abt-plan li{
  display:grid;grid-template-columns:auto 1fr;gap:1.3rem;align-items:baseline;
  padding:1.05rem 0;border-bottom:1px solid var(--line);
}.abt-plan__n{
  font-family:var(--serif);font-size:.88rem;font-weight:600;letter-spacing:.1em;
  color:var(--saffron);font-variation-settings:'opsz' 14;
}.abt-plan p{margin:0;font-size:1rem;line-height:1.6;color:var(--ink-800)}.abt-open__note{max-width:78ch;margin-top:clamp(2rem,1.4rem + 2vw,2.8rem)}/* ============ ABOUT: three pillars ============ */
.pillars__head{max-width:62ch}.pillars__head h2{font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem)}.pillars__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  margin-top:clamp(2.2rem,1.4rem + 2.4vw,3.2rem);
  border-top:1px solid rgba(255,255,255,.18);
}.pillar{
  padding:clamp(1.6rem,1.1rem + 1.6vw,2.4rem) clamp(1.2rem,.8rem + 1.6vw,2.2rem);
  border-left:1px solid rgba(255,255,255,.18);
}.pillar:first-child{border-left:0;padding-left:0}.pillar__n{
  display:block;font-family:var(--serif);font-size:.85rem;font-weight:600;letter-spacing:.12em;
  color:rgba(255,255,255,.45);font-variation-settings:'opsz' 14;margin-bottom:.7rem;
}.pillar h3{
  font-family:var(--serif);font-size:clamp(1.5rem,1.2rem + 1vw,2rem);font-weight:400;
  color:var(--saffron);margin:0 0 .6rem;letter-spacing:-.015em;
}.pillar p{margin:0;font-size:.95rem;line-height:1.68}.pillars__foot{
  margin-top:clamp(1.6rem,1rem + 1.6vw,2.2rem);max-width:62ch;
  font-size:.9rem;color:#8FB8B5;
}/* ============ ABOUT: objectives ============ */
.obj__head{
  display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(1.4rem,1rem + 3vw,4rem);
  align-items:end;padding-bottom:clamp(1.8rem,1.2rem + 2vw,2.6rem);
}.obj__head h2{margin-bottom:0;font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem)}.obj__head .lead{padding-bottom:.3rem}.obj__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.obj__item{
  display:grid;grid-template-columns:auto 1fr;gap:clamp(1.2rem,.8rem + 2vw,3rem);
  padding:clamp(1.6rem,1.1rem + 1.4vw,2.3rem) 0;border-bottom:1px solid var(--line);
}.obj__n{
  font-family:var(--serif);font-size:clamp(2rem,1.4rem + 1.8vw,2.9rem);line-height:1;
  color:var(--saffron);font-variation-settings:'opsz' 72;letter-spacing:-.02em;
}.obj__item h3{margin:0 0 .5rem;font-size:clamp(1.2rem,1.05rem + .6vw,1.5rem)}.obj__item p{margin:0;color:var(--ink-600);font-size:.98rem;line-height:1.7;max-width:80ch}.obj__note{max-width:82ch;margin-top:clamp(1.8rem,1.2rem + 1.8vw,2.6rem)}/* ============ ABOUT: origin ============ */
.origin__split{
  display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2rem,1.2rem + 4vw,4.5rem);
  align-items:start;
}.origin h2{font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem)}.origin__media{display:grid;gap:1rem}.origin__figures{
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,.6rem + 1.6vw,2.4rem);
  margin-top:clamp(2.4rem,1.6rem + 2.6vw,3.6rem);
}.origin__figures > div{padding-top:1.15rem;border-top:2px solid var(--ink)}.origin__figures b{
  display:block;font-family:var(--serif);font-weight:400;
  font-size:clamp(1.9rem,1.3rem + 2.2vw,3rem);line-height:1;color:var(--ink);
  font-variation-settings:'opsz' 72;letter-spacing:-.03em;
}.origin__figures span{display:block;margin-top:.55rem;font-size:.85rem;line-height:1.5;color:var(--ink-500,#5A6070)}.origin__marks{
  list-style:none;margin:clamp(1.8rem,1.2rem + 1.8vw,2.6rem) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.6rem;
}.origin__marks li{
  position:relative;padding:.85rem 1.1rem .85rem 2.6rem;
  background:var(--cream);border:1px solid var(--line);border-radius:var(--r-md);
  font-size:.88rem;line-height:1.5;color:var(--ink-600);
}.origin__marks li::before{
  content:"";position:absolute;left:1.05rem;top:1.15rem;width:9px;height:9px;border-radius:50%;
  background:var(--saffron);box-shadow:0 0 0 3px var(--saffron-pale);
}@media (max-width:960px) {.abt-open__head, .obj__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}.abt-open__body{grid-template-columns:1fr;gap:2.4rem}.abt-open__media{max-width:430px}.pillars__grid{grid-template-columns:1fr}.pillar{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding-left:0;padding-right:0}.pillar:first-child{border-top:0;padding-top:1.4rem}.origin__split{grid-template-columns:1fr;gap:2.2rem}.origin__figures{grid-template-columns:repeat(2,1fr);gap:1.4rem}
}
@media (max-width:680px) {.abt-open__media{max-width:100%}.abt-open__media::before{inset:1rem 1rem -1rem -1rem}.abt-open__media figcaption{right:0;bottom:-1rem}.obj__item{grid-template-columns:1fr;gap:.5rem}.origin__figures{grid-template-columns:1fr 1fr;gap:1.1rem}
}
/* ============ TECHNOLOGY ============ */
.tech-open{position:relative;overflow:hidden;isolation:isolate}.tech-open__deco{
  position:absolute;z-index:-1;top:-6%;right:-14%;width:min(640px,50%);aspect-ratio:9/7;
  background:url("../img/meridian-lines.svg") right top/contain no-repeat;opacity:.38;
}.tech-open__head, .wire__head, .proc__head, .meas__head, .res__head{
  display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(1.4rem,1rem + 3vw,4rem);
  align-items:end;padding-bottom:clamp(1.8rem,1.2rem + 2vw,2.8rem);border-bottom:1px solid var(--line);
}.tech-open__head h1, .wire__head h2, .meas__head h2, .res__head h2{
  margin-bottom:0;font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem);
}.tech-open__head em, .wire__head em, .meas__head em, .res__head em, .found__head h2 em{font-style:italic;color:var(--orange-deep);font-variation-settings:'opsz' 72}.section--teal .found__head h2 em{color:var(--saffron)}.tech-open__head h1 em, .wire__head h2 em, .meas__head h2 em, .res__head h2 em, .mer__split h2 em, .proc__head h2 em{
  font-style:italic;color:var(--orange-deep);font-variation-settings:'opsz' 72;
}.tech-open__head .lead{padding-bottom:.3rem}.tech-open__body{
  display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(1.8rem,1.2rem + 3vw,3.6rem);
  align-items:start;padding-top:clamp(2.2rem,1.4rem + 2.4vw,3.2rem);
}.tech-open__media{margin:0;position:sticky;top:calc(var(--nav-h) + 2rem)}.tech-open__media img{
  display:block;width:100%;aspect-ratio:4/5;object-fit:cover;
  border-radius:var(--r-xl) var(--r-xl) var(--r-xl) 84px;box-shadow:var(--shadow-lg);
}.tech-open__text p{font-size:1.01rem;line-height:1.75;color:var(--ink-600)}.pull{
  margin:1.8rem 0;padding:1.4rem 0 1.4rem 1.8rem;border-left:3px solid var(--saffron);
  font-family:var(--serif);font-size:clamp(1.15rem,1rem + .7vw,1.5rem);line-height:1.45;
  color:var(--ink);letter-spacing:-.015em;
}/* meridians */
.mer__split{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(2rem,1.2rem + 4vw,4.5rem);align-items:start}.mer__split h2{font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem)}.evidence{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.3rem,.9rem + 1.4vw,1.9rem);box-shadow:var(--shadow-sm);
}.evidence p{font-size:.95rem;line-height:1.7;color:var(--ink-600)}.evidence p:last-child{margin-bottom:0}.mer__figures, .meas__figures{
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,.6rem + 1.6vw,2.4rem);
  margin-top:clamp(2.4rem,1.6rem + 2.6vw,3.4rem);
}.mer__figures > div, .meas__figures > div{padding-top:1.15rem;border-top:2px solid var(--ink)}.mer__figures b, .meas__figures b{
  display:block;font-family:var(--serif);font-weight:400;
  font-size:clamp(1.9rem,1.3rem + 2.2vw,3rem);line-height:1;color:var(--ink);
  font-variation-settings:'opsz' 72;letter-spacing:-.03em;
}.mer__figures span, .meas__figures span{display:block;margin-top:.55rem;font-size:.85rem;line-height:1.5;color:var(--ink-500,#5A6070)}/* one meridian, many consequences */
.wire__panel{
  display:grid;grid-template-columns:minmax(220px,.3fr) 1fr;gap:clamp(1.4rem,1rem + 2.4vw,3rem);
  margin-top:clamp(2.2rem,1.4rem + 2.4vw,3.2rem);
  background:linear-gradient(150deg,#fff,var(--cream));
  border:1px solid var(--line);border-radius:var(--r-xl);
  padding:clamp(1.4rem,1rem + 1.8vw,2.2rem);box-shadow:var(--shadow-sm);
}.wire__track{
  display:block;font-family:var(--serif);font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);
  color:var(--ink);letter-spacing:-.02em;margin-bottom:.6rem;
}.wire__label p{margin:0;font-size:.9rem;line-height:1.6;color:var(--ink-400)}.wire__list{
  list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem;
}.wire__item{
  display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;
  gap:.15rem .8rem;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:.85rem .95rem;
  transition:border-color .3s,transform .3s var(--ease);
}.wire__item:hover{border-color:var(--saffron);transform:translateY(-2px)}.wire__ico{
  grid-row:span 2;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--saffron-pale),#FFE6AE);color:var(--orange-deep);
}.wire__ico svg{width:19px;height:19px}.wire__lab{font-size:.68rem;font-weight:660;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-400)}.wire__val{font-size:.93rem;color:var(--ink);font-weight:520;line-height:1.35}.wire__note{
  max-width:80ch;margin-top:clamp(1.8rem,1.2rem + 1.8vw,2.4rem);
  padding-top:1.4rem;border-top:1px solid var(--line);
}.wire__note p{margin:0;color:var(--ink-600);font-size:.97rem;line-height:1.7}/* foundations */
.found__head{max-width:60ch}.found__head h2{font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem)}.found__split{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  margin-top:clamp(2.2rem,1.4rem + 2.4vw,3.2rem);border-top:1px solid rgba(255,255,255,.18);
}.found__col{padding:clamp(1.6rem,1.1rem + 1.6vw,2.4rem) clamp(1.2rem,.8rem + 1.8vw,2.6rem)}.found__col:first-child{padding-left:0}.found__col:last-child{border-left:1px solid rgba(255,255,255,.18);padding-right:0}.found__col h3{
  font-family:var(--serif);font-size:clamp(1.4rem,1.15rem + .9vw,1.85rem);font-weight:400;
  color:var(--saffron);margin:0 0 .8rem;letter-spacing:-.015em;
}.found__col p{font-size:.95rem;line-height:1.7}.dosha{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:0;border-top:1px solid rgba(255,255,255,.16)}.dosha li{padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.16)}.dosha__n{
  display:block;font-family:var(--serif);font-size:1.05rem;color:#fff;margin-bottom:.25rem;letter-spacing:.01em;
}.dosha p{margin:0;font-size:.89rem;line-height:1.6}.found__foot{margin-top:clamp(1.6rem,1rem + 1.6vw,2.2rem);max-width:78ch;font-size:.88rem;color:#8FB8B5}/* five-step cycle */
.proc__steps--5{grid-template-columns:repeat(5,1fr)}/* the measurement */
.meas__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,.6rem + 1.6vw,1.8rem);margin-top:clamp(2rem,1.4rem + 2vw,2.8rem)}.meas__card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.3rem,.9rem + 1.4vw,2rem)}.meas__ico{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:1rem;
  background:linear-gradient(140deg,var(--saffron-pale),#FFE6AE);color:var(--orange-deep);
}.meas__ico svg{width:22px;height:22px}.meas__card p{font-size:.94rem;line-height:1.7;color:var(--ink-600)}/* research: the timing bar */
.res__timing{margin-top:clamp(2.2rem,1.4rem + 2.4vw,3.2rem)}.res__bar{display:grid;grid-template-columns:.34fr .66fr;gap:.6rem}.res__seg{
  display:block;padding:1.15rem 1.3rem;border-radius:var(--r-md);border:1px solid var(--line);
}.res__seg b{
  display:block;font-family:var(--serif);font-size:clamp(1.3rem,1.05rem + 1vw,1.9rem);
  line-height:1;margin-bottom:.5rem;letter-spacing:-.02em;
}.res__seg span{display:block;font-size:.86rem;line-height:1.5}.res__seg--bp{background:linear-gradient(135deg,#FFF6E0,#FFE9B8);border-color:#F2DCA8}.res__seg--bp b{color:var(--ink)}.res__seg--bp span{color:#7A5B14}.res__seg--gsr{background:var(--cream);border-color:var(--line)}.res__seg--gsr b{color:var(--ink-300)}.res__seg--gsr span{color:var(--ink-400)}.res__cap{margin:1.1rem 0 0;font-size:.92rem;line-height:1.7;color:var(--ink-600);max-width:86ch}.res__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,.6rem + 1.4vw,1.6rem);margin-top:clamp(2rem,1.4rem + 2vw,2.8rem)}.res__card{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.2rem,.9rem + 1.2vw,1.8rem)}.res__card p{margin:0;font-size:.92rem;line-height:1.7;color:var(--ink-600)}.res__foot{margin-top:clamp(1.8rem,1.2rem + 1.8vw,2.4rem);font-size:.85rem;line-height:1.7;color:var(--ink-400);max-width:90ch}@media (max-width:1080px) {.proc__steps--5{grid-template-columns:repeat(3,1fr);row-gap:2.2rem}.res__grid{grid-template-columns:1fr}
}
@media (max-width:960px) {.tech-open__head, .wire__head, .meas__head, .res__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}.tech-open__body{grid-template-columns:1fr;gap:2.2rem}.tech-open__media{position:static;max-width:400px}.mer__split{grid-template-columns:1fr;gap:2.2rem}.mer__figures, .meas__figures{grid-template-columns:repeat(2,1fr);gap:1.4rem}.wire__panel{grid-template-columns:1fr}.found__split{grid-template-columns:1fr}.found__col{padding-left:0;padding-right:0}.found__col:last-child{border-left:0;border-top:1px solid rgba(255,255,255,.18)}.meas__grid{grid-template-columns:1fr}.res__bar{grid-template-columns:1fr}
}
@media (max-width:680px) {.proc__steps--5{grid-template-columns:1fr;row-gap:1.8rem}.tech-open__media{max-width:100%}.mer__figures, .meas__figures{grid-template-columns:1fr 1fr;gap:1.1rem}.wire__list{grid-template-columns:1fr}.pull{padding-left:1.2rem}
}
/* ============ DIAGNOSTICS ============ */
.dx-open{position:relative;overflow:hidden;isolation:isolate}.dx-open__deco{
  position:absolute;z-index:-1;top:-6%;right:-14%;width:min(640px,50%);aspect-ratio:9/7;
  background:url("../img/meridian-lines.svg") right top/contain no-repeat;opacity:.36;
}.dx-open__head, .idt__head, .dfs__head, .vir__head, .tfs__head{
  display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(1.4rem,1rem + 3vw,4rem);
  align-items:end;padding-bottom:clamp(1.8rem,1.2rem + 2vw,2.8rem);border-bottom:1px solid var(--line);
}.dx-open__head h1, .idt__head h2, .dfs__head h2, .vir__head h2, .tfs__head h2{
  margin-bottom:0;font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem);
}.dx-open__head h1 em, .idt__head h2 em, .dfs__head h2 em, .vir__head h2 em, .tfs__head h2 em{
  font-style:italic;color:var(--orange-deep);font-variation-settings:'opsz' 72;
}.dx-open__head .lead, .idt__head .lead, .dfs__head .lead, .vir__head .lead, .tfs__head .lead{padding-bottom:.3rem}/* the two-reading diagram */
.twice{
  margin:clamp(2.2rem,1.4rem + 2.4vw,3.2rem) 0 0;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.1rem,.7rem + 1.4vw,1.9rem);box-shadow:var(--shadow-sm);
}.twice__panel{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(1rem,.6rem + 1.4vw,1.8rem);align-items:center}.twice__card{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-md);padding:1.1rem 1.2rem}.twice__card--reveal{background:linear-gradient(160deg,#FFF7E6,#FFEFCE);border-color:#F2DFB0}.twice__cap{margin:0 0 .8rem;font-size:.86rem;color:var(--ink-600)}.twice__cap span{
  display:inline-block;margin-right:.5rem;padding:.2rem .55rem;border-radius:100px;
  background:var(--ink);color:#fff;font-size:.66rem;font-weight:660;letter-spacing:.1em;text-transform:uppercase;
}.twice__card--reveal .twice__cap span{background:var(--orange-deep)}.twice svg{display:block;width:100%;height:auto}.tw-mid{stroke:var(--ink-200);stroke-width:1.5;stroke-dasharray:4 5}.tw-bar rect{fill:var(--ink-200)}.tw-bar--flat rect{fill:#C9CFDA}.tw-bar .tw-hot{fill:var(--orange)}.twice__note{margin:.8rem 0 0;font-size:.83rem;line-height:1.5;color:var(--ink-400)}.twice__card--reveal .twice__note{color:#8A6A22}.twice__arrow{
  display:grid;justify-items:center;gap:.3rem;text-align:center;max-width:150px;
  color:var(--orange-deep);
}.twice__arrow span{font-size:.7rem;font-weight:660;letter-spacing:.13em;text-transform:uppercase}.twice__arrow svg{width:28px;height:28px}.twice__arrow small{font-size:.73rem;line-height:1.4;color:var(--ink-400);letter-spacing:0;text-transform:none;font-weight:400}.twice figcaption{
  margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line-soft);
  font-size:.83rem;line-height:1.6;color:var(--ink-400);max-width:88ch;
}.dx-open__foot{
  display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.4rem,1rem + 2vw,2.6rem);
  align-items:center;margin-top:clamp(1.8rem,1.2rem + 1.8vw,2.4rem);
}.dx-open__foot p{margin:0;color:var(--ink-600);font-size:.97rem;line-height:1.7}/* the causal chain */
.chain{
  margin-top:clamp(2rem,1.4rem + 2.2vw,3rem);
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.3rem,.9rem + 1.6vw,2.1rem);box-shadow:var(--shadow-sm);
}.chain__title{
  margin:0 0 1.2rem;font-size:.72rem;font-weight:660;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-400);
}.chain__list{
  list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:.6rem;
}.chain__node{
  position:relative;background:var(--cream);border:1px solid var(--line);
  border-radius:var(--r-md);padding:.9rem 1rem;
}.chain__node:not(:last-child)::after{
  content:"";position:absolute;right:-.6rem;top:50%;width:.6rem;height:1px;
  background:var(--saffron);z-index:1;
}.chain__node:first-child{background:linear-gradient(150deg,#FFF7E6,#FFEFCE);border-color:#F2DFB0}.chain__node:last-child{background:var(--teal-pale);border-color:#CFE5E3}.chain__step{
  display:block;font-family:var(--serif);font-size:.78rem;font-weight:600;letter-spacing:.1em;
  color:var(--saffron);font-variation-settings:'opsz' 14;margin-bottom:.3rem;
}.chain__node b{display:block;font-size:.94rem;color:var(--ink);line-height:1.3;margin-bottom:.2rem}.chain__node span:not(.chain__step){display:block;font-size:.79rem;line-height:1.45;color:var(--ink-400)}.chain__cap{margin:1.3rem 0 0;font-size:.92rem;line-height:1.7;color:var(--ink-600);max-width:88ch}.idt__foot{margin-top:1.6rem;font-size:.92rem;color:var(--ink-600);max-width:82ch}/* 15 spectra in full, grouped */
.dfs__map{margin-top:clamp(2rem,1.4rem + 2vw,2.8rem);border-top:1px solid var(--line)}.dfs__group{
  display:grid;grid-template-columns:minmax(180px,.23fr) 1fr;
  gap:clamp(1.2rem,.8rem + 2vw,3rem);
  padding:clamp(1.6rem,1.1rem + 1.6vw,2.4rem) 0;border-bottom:1px solid var(--line);
}.dfs__label{position:relative;padding-left:1rem}.dfs__label::before{
  content:"";position:absolute;left:0;top:.35rem;bottom:.35rem;width:3px;border-radius:3px;
  background:linear-gradient(180deg,var(--saffron),var(--orange));
}.dfs__range{
  display:block;font-family:var(--serif);font-size:.82rem;font-weight:600;letter-spacing:.12em;
  color:var(--orange-deep);font-variation-settings:'opsz' 14;margin-bottom:.35rem;
}.dfs__label h3{font-family:var(--sans);font-size:1.02rem;font-weight:660;line-height:1.3;color:var(--ink);margin:0 0 .3rem}.dfs__label p{margin:0;font-size:.85rem;line-height:1.5;color:var(--ink-400)}.dfs__set{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:.8rem}.dfs{
  background:var(--cream);border:1px solid var(--line);border-radius:var(--r-md);
  padding:1.1rem 1.2rem;transition:border-color .3s,background .3s;
}.dfs:hover{border-color:var(--saffron);background:#fff}.dfs__n{
  display:block;font-family:var(--serif);font-size:.84rem;font-weight:600;letter-spacing:.08em;
  color:var(--saffron);font-variation-settings:'opsz' 14;margin-bottom:.35rem;
}.dfs h3{margin:0 0 .35rem;font-size:.99rem}.dfs p{margin:0;font-size:.86rem;line-height:1.6;color:var(--ink-600)}/* viruses */
.vir__body{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.6rem,1.1rem + 2.6vw,3.2rem);margin-top:clamp(1.8rem,1.2rem + 2vw,2.6rem);align-items:start}.vir__text p{font-size:.97rem;line-height:1.75;color:var(--ink-600)}.vir__phases{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.2rem,.9rem + 1.2vw,1.8rem);box-shadow:var(--shadow-sm)}.vir__phases-t{margin:0 0 1rem;font-size:.72rem;font-weight:660;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-400)}.phases{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.phase{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:center;padding:.7rem .9rem;border-radius:var(--r-sm);background:var(--cream)}.phase:nth-child(1){background:linear-gradient(90deg,#FFE0C2,#FFF1DE)}.phase:nth-child(2){background:linear-gradient(90deg,#FFE9CF,#FFF5E6)}.phase:nth-child(3){background:linear-gradient(90deg,#FFF0DD,#FFF9EF)}.phase:nth-child(4){background:linear-gradient(90deg,#FFF6EA,#FFFCF6)}.phase:nth-child(5){background:var(--cream)}.phase__n{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;
  font-family:var(--serif);font-size:.92rem;color:var(--orange-deep);
  box-shadow:inset 0 0 0 1px var(--line);
}.phase__t{font-size:.9rem;line-height:1.4;color:var(--ink)}.vir__phases-c{margin:1.1rem 0 0;font-size:.84rem;line-height:1.6;color:var(--ink-400)}/* therapy frequencies */
.tfs__body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,1.1rem + 2.6vw,3.2rem);margin-top:clamp(1.8rem,1.2rem + 2vw,2.6rem);align-items:start}.tfs__label{margin:0 0 1rem;font-size:.72rem;font-weight:660;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-400)}.tfs__list{list-style:none;margin:0 0 1.5rem;padding:0;counter-reset:t;border-top:1px solid var(--line)}.tfs__list li{
  counter-increment:t;display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:baseline;
  padding:.85rem 0;border-bottom:1px solid var(--line);
  font-family:var(--serif);font-size:clamp(1.05rem,.95rem + .5vw,1.35rem);color:var(--ink);letter-spacing:-.015em;
}.tfs__list li::before{
  content:"0" counter(t);font-size:.78rem;font-weight:600;letter-spacing:.1em;
  color:var(--saffron);font-variation-settings:'opsz' 14;
}.tfs__report{background:linear-gradient(160deg,#fff,var(--cream));border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.3rem,.9rem + 1.6vw,2rem);box-shadow:var(--shadow-sm)}.tfs__ico{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:1rem;
  background:linear-gradient(140deg,var(--saffron-pale),#FFE6AE);color:var(--orange-deep);
}.tfs__ico svg{width:22px;height:22px}@media (max-width:960px) {.dx-open__head, .idt__head, .dfs__head, .vir__head, .tfs__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}.twice__panel{grid-template-columns:1fr;gap:1rem}.twice__arrow{max-width:none;grid-auto-flow:column;justify-content:center;align-items:center;gap:.7rem}.twice__arrow svg{transform:rotate(90deg);width:22px;height:22px}.twice__arrow small{display:none}.dx-open__foot{grid-template-columns:1fr}.dfs__group{grid-template-columns:1fr;gap:1rem}.vir__body, .tfs__body{grid-template-columns:1fr}
}
@media (max-width:680px) {.dfs__set{grid-template-columns:1fr}.chain__list{grid-template-columns:1fr}.chain__node:not(:last-child)::after{right:auto;left:50%;top:auto;bottom:-.6rem;width:1px;height:.6rem}
}
/* ============ THERAPIES ============ */
.plan{position:relative;overflow:hidden;isolation:isolate}.plan__deco{
  position:absolute;z-index:-1;top:-8%;right:-14%;width:min(640px,50%);aspect-ratio:9/7;
  background:url("../img/meridian-lines.svg") right top/contain no-repeat;opacity:.36;
}.plan__head, .axi__head, .freq__head{
  display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(1.4rem,1rem + 3vw,4rem);
  align-items:end;padding-bottom:clamp(1.8rem,1.2rem + 2vw,2.6rem);border-bottom:1px solid var(--line);
}.plan__head h1, .axi__head h2, .freq__head h2{margin-bottom:0;font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem)}.plan__head h1 em, .axi__head h2 em, .freq__head h2 em, .ther-b h2 em{
  font-style:italic;color:var(--orange-deep);font-variation-settings:'opsz' 72;
}.plan__head .lead, .axi__head .lead, .freq__head .lead{padding-bottom:.3rem}.plan__parts{
  list-style:none;margin:clamp(1.8rem,1.2rem + 2vw,2.6rem) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem;
}.plan__parts li{
  background:var(--cream);border:1px solid var(--line);border-radius:var(--r-md);
  padding:1.1rem 1.2rem;
}.plan__n{
  display:block;font-family:var(--serif);font-size:.84rem;font-weight:600;letter-spacing:.1em;
  color:var(--saffron);font-variation-settings:'opsz' 14;margin-bottom:.45rem;
}.plan__parts p{margin:0;font-size:.92rem;line-height:1.6;color:var(--ink-800)}.plan__foot{max-width:80ch;margin-top:1.6rem}.plan__foot p{margin:0;color:var(--ink-600);font-size:.97rem;line-height:1.7}/* jump nav */
.jump{
  margin-top:clamp(2.2rem,1.4rem + 2.4vw,3.2rem);padding-top:clamp(1.6rem,1.2rem + 1.4vw,2.2rem);
  border-top:1px solid var(--line);
}.jump__label{margin:0 0 1rem;font-size:.72rem;font-weight:660;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-400)}.jump__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}.jump__list a{
  display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.1rem .6rem .6rem;
  background:#fff;border:1px solid var(--line);border-radius:100px;text-decoration:none;
  font-size:.9rem;color:var(--ink);
  transition:border-color .28s,transform .28s var(--ease),box-shadow .28s;
}.jump__list a:hover{border-color:var(--saffron);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.jump__list a > span{
  width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;
  background:linear-gradient(140deg,var(--saffron-pale),#FFE6AE);color:var(--orange-deep);
}.jump__list a svg{width:16px;height:16px}/* therapy blocks */
.ther-b{overflow:hidden}.ther-b__grid{
  display:grid;grid-template-columns:1.06fr .94fr;
  gap:clamp(1.8rem,1.2rem + 3vw,4rem);align-items:center;
}.ther-b--flip .ther-b__grid{direction:rtl}.ther-b--flip .ther-b__grid > *{direction:ltr}.ther-b__eyebrow{
  display:flex;align-items:center;gap:.7rem;margin:0 0 1.1rem;
  font-size:.735rem;font-weight:660;letter-spacing:.17em;text-transform:uppercase;color:var(--orange-deep);
}.ther-b__ico{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;
  background:linear-gradient(140deg,var(--saffron-pale),#FFE6AE);color:var(--orange-deep);
}.ther-b__ico svg{width:20px;height:20px}.ther-b__n{
  font-family:var(--serif);font-size:.9rem;font-weight:600;letter-spacing:.1em;
  color:var(--saffron);font-variation-settings:'opsz' 14;
}.ther-b h2{font-size:clamp(1.9rem,1.25rem + 2.4vw,2.9rem)}.ther-b__text .notice{margin-top:1.6rem}.ther-b__media{margin:0;position:relative}.ther-b__media img{
  display:block;width:100%;aspect-ratio:4/5;object-fit:cover;
  border-radius:var(--r-xl) var(--r-xl) var(--r-xl) 88px;box-shadow:var(--shadow-lg);
}.ther-b--flip .ther-b__media img{border-radius:var(--r-xl) var(--r-xl) 88px var(--r-xl)}.ther-b__media::before{
  content:"";position:absolute;z-index:-1;inset:1.5rem -1.5rem -1.5rem 1.5rem;
  border-radius:var(--r-xl);border:1px solid rgba(232,162,28,.42);
  background:linear-gradient(150deg,rgba(255,176,0,.1),rgba(255,176,0,0) 58%);
}.ther-b--flip .ther-b__media::before{inset:1.5rem 1.5rem -1.5rem -1.5rem}.dosha-row{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.dosha-row li{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-md);padding:.9rem 1rem}.dosha-row b{display:block;font-family:var(--serif);font-size:1.08rem;font-weight:500;color:var(--ink);margin-bottom:.15rem}.dosha-row span{display:block;font-size:.8rem;line-height:1.45;color:var(--ink-400)}/* axiatonal */
.axi__body{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.8rem,1.2rem + 2.6vw,3.4rem);margin-top:clamp(1.8rem,1.2rem + 2vw,2.6rem);align-items:start}.axi__text p{font-size:.97rem;line-height:1.75;color:var(--ink-600)}.axi__timing{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1.6rem 0}.axi__timing > div{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:1rem}.axi__timing--main{background:linear-gradient(150deg,#FFF7E6,#FFEFCE)!important;border-color:#F2DFB0!important}.axi__timing b{display:block;font-family:var(--serif);font-size:clamp(1.2rem,1.05rem + .7vw,1.6rem);line-height:1;color:var(--ink);letter-spacing:-.02em;margin-bottom:.4rem}.axi__timing span{display:block;font-size:.79rem;line-height:1.45;color:var(--ink-400)}.axi__after{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.3rem,.9rem + 1.4vw,2rem);box-shadow:var(--shadow-sm)}/* therapy frequencies */
.freq__list{list-style:none;margin:clamp(2rem,1.4rem + 2vw,2.8rem) 0 0;padding:0;border-top:1px solid var(--line)}.trad{
  display:grid;grid-template-columns:auto minmax(200px,.3fr) 1fr;
  gap:clamp(1rem,.6rem + 1.6vw,2.2rem);align-items:baseline;
  padding:clamp(1.1rem,.9rem + .9vw,1.6rem) 0;border-bottom:1px solid var(--line);
  transition:background .3s var(--ease);
}.trad:hover{background:var(--cream)}.trad__n{font-family:var(--serif);font-size:.88rem;font-weight:600;letter-spacing:.1em;color:var(--saffron);font-variation-settings:'opsz' 14}.trad h3{margin:0}.trad p{margin:0;font-size:.95rem;line-height:1.65;color:var(--ink-600)}@media (max-width:960px) {.plan__head, .axi__head, .freq__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}.ther-b__grid{grid-template-columns:1fr;gap:2.2rem}.ther-b--flip .ther-b__grid{direction:ltr}.ther-b__media{max-width:420px}.ther-b--flip .ther-b__media{margin-left:auto}.axi__body{grid-template-columns:1fr}.trad{grid-template-columns:auto 1fr;row-gap:.4rem}.trad p{grid-column:2 / -1}
}
@media (max-width:680px) {.ther-b__media{max-width:100%}.ther-b__media::before, .ther-b--flip .ther-b__media::before{inset:1rem -1rem -1rem 1rem}.dosha-row{grid-template-columns:1fr}.axi__timing{grid-template-columns:1fr}.jump__list a{font-size:.85rem;padding-right:.9rem}
}
/* ============ CONDITIONS ============ */
.cnd{position:relative;overflow:hidden;isolation:isolate}.cnd__deco{
  position:absolute;z-index:-1;top:-8%;right:-14%;width:min(620px,48%);aspect-ratio:9/7;
  background:url("../img/meridian-lines.svg") right top/contain no-repeat;opacity:.34;
}.cnd__head, .cau__head, .who__head, .limits__head{
  display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(1.4rem,1rem + 3vw,4rem);
  align-items:end;padding-bottom:clamp(1.8rem,1.2rem + 2vw,2.6rem);border-bottom:1px solid var(--line);
}.cnd__head h1, .cau__head h2, .who__head h2, .limits__head h2{margin-bottom:0;font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem)}.cnd__head h1 em, .cau__head h2 em, .who__head h2 em, .limits__head h2 em{
  font-style:italic;color:var(--orange-deep);font-variation-settings:'opsz' 72;
}.cnd__head .lead, .cau__head .lead, .who__head .lead, .limits__head .lead{padding-bottom:.3rem}/* the complaint map */
.cnd__map{margin-top:clamp(1.6rem,1.2rem + 1.6vw,2.2rem)}.cnd__row{
  display:grid;grid-template-columns:minmax(200px,.26fr) 1fr;
  gap:clamp(1.1rem,.8rem + 1.8vw,2.6rem);align-items:start;
  padding:clamp(1.2rem,.9rem + 1.1vw,1.7rem) 0;border-bottom:1px solid var(--line);
}.cnd__label{display:flex;align-items:center;gap:.8rem}.cnd__ico{
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none;
  background:linear-gradient(140deg,var(--saffron-pale),#FFE6AE);color:var(--orange-deep);
}.cnd__ico svg{width:19px;height:19px}.cnd__label h3{margin:0;line-height:1.3}.cnd__tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}.cnd__tags li{
  padding:.48rem .95rem;border:1px solid var(--line);border-radius:100px;background:var(--cream);
  font-size:.87rem;color:var(--ink-600);
  transition:border-color .26s,color .26s,background .26s;
}.cnd__tags li:hover{border-color:var(--saffron);color:var(--ink);background:#fff}.cnd__note{max-width:92ch;margin-top:clamp(1.6rem,1.2rem + 1.4vw,2.2rem)}/* cause stacks */
.cau__grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));
  gap:clamp(.8rem,.5rem + 1vw,1.2rem);margin-top:clamp(2rem,1.4rem + 2vw,2.8rem);
}.stack{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.15rem,.9rem + 1vw,1.6rem);
  transition:border-color .3s,box-shadow .3s var(--ease),transform .3s var(--ease);
}.stack:hover{border-color:var(--saffron);box-shadow:var(--shadow-md);transform:translateY(-3px)}.stack h3{margin:0 0 .85rem}.stack__chips{list-style:none;margin:0 0 .9rem;padding:0;display:grid;gap:.35rem}.stack__chips li{
  position:relative;padding:.5rem .8rem .5rem 1.9rem;border-radius:var(--r-sm);
  background:var(--cream);font-size:.86rem;line-height:1.4;color:var(--ink-800);
}.stack__chips li::before{
  content:"";position:absolute;left:.8rem;top:.95em;width:7px;height:7px;border-radius:50%;
  background:var(--saffron);
}.stack__chips li:first-child{background:linear-gradient(90deg,#FFF3DC,#FFF9EE)}.stack__chips li:first-child::before{background:var(--orange)}.stack p{margin:0;font-size:.85rem;line-height:1.6;color:var(--ink-400)}/* who it is for */
.who__list{
  list-style:none;margin:clamp(1.8rem,1.2rem + 2vw,2.6rem) 0 0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(1.4rem,1rem + 2.4vw,3.2rem);
}.who__list li{
  position:relative;padding:1rem 0 1rem 2.3rem;border-bottom:1px solid var(--line);
  font-size:.99rem;line-height:1.55;color:var(--ink-800);
}.who__list li::before{
  content:"";position:absolute;left:0;top:1.35em;width:16px;height:16px;border-radius:50%;
  background:var(--saffron-pale);box-shadow:inset 0 0 0 1.5px var(--saffron);
}.who__list li::after{
  content:"";position:absolute;left:5px;top:1.62em;width:5.5px;height:3px;
  border-left:1.7px solid var(--orange-deep);border-bottom:1.7px solid var(--orange-deep);
  transform:rotate(-45deg);
}.who__foot{
  display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;
  margin-top:clamp(1.8rem,1.2rem + 1.8vw,2.4rem);
}.who__foot .notice{flex:1 1 460px;margin:0}/* can / cannot */
.limits__panel{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  margin-top:clamp(2rem,1.4rem + 2vw,2.8rem);
  background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);
  overflow:hidden;box-shadow:var(--shadow-sm);
}.limits__col{padding:clamp(1.4rem,1rem + 1.6vw,2.2rem)}.limits__col--can{background:linear-gradient(160deg,#F2FAF9,#E9F4F3)}.limits__col--cannot{border-left:1px solid var(--line)}.limits__tag{
  display:flex;align-items:center;gap:.6rem;margin:0 0 1.2rem;
  font-size:.735rem;font-weight:660;letter-spacing:.16em;text-transform:uppercase;
}.limits__tag svg{width:18px;height:18px}.limits__col--can .limits__tag{color:var(--teal-deep)}.limits__col--cannot .limits__tag{color:var(--ink-400)}.limits__col .ticks li{color:var(--teal-deep);font-size:.95rem}.limits__col--can .ticks li::before{background:#fff;box-shadow:inset 0 0 0 1.5px var(--teal)}.limits__col--can .ticks li::after{border-color:var(--teal)}.crosses{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.crosses li{position:relative;padding-left:2rem;font-size:.95rem;line-height:1.6;color:var(--ink-600)}.crosses li::before{
  content:"";position:absolute;left:0;top:.45em;width:15px;height:15px;border-radius:50%;
  background:#F4F2ED;box-shadow:inset 0 0 0 1.5px var(--ink-200);
}.crosses li::after{
  content:"\00d7";position:absolute;left:4px;top:.28em;font-size:.82rem;color:var(--ink-400);line-height:1;
}.limits__foot{margin-top:clamp(1.4rem,1rem + 1.4vw,2rem);max-width:88ch;font-size:.95rem;color:var(--ink-600)}@media (max-width:960px) {.cnd__head, .cau__head, .who__head, .limits__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}.cnd__row{grid-template-columns:1fr;gap:.9rem}.who__list{grid-template-columns:1fr}.limits__panel{grid-template-columns:1fr}.limits__col--cannot{border-left:0;border-top:1px solid var(--line)}
}
@media (max-width:680px) {.cnd__tags li{font-size:.82rem}.cnd__tags li a{padding:.42rem .8rem}.who__foot{flex-direction:column;align-items:stretch}
}
/* ============ FAQ ============ */
.faq{position:relative;overflow:hidden;isolation:isolate}.faq__deco{
  position:absolute;z-index:-1;top:-8%;right:-14%;width:min(620px,48%);aspect-ratio:9/7;
  background:url("../img/meridian-lines.svg") right top/contain no-repeat;opacity:.34;
}.faq__head{
  display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(1.4rem,1rem + 3vw,4rem);
  align-items:end;padding-bottom:clamp(1.6rem,1.2rem + 1.8vw,2.4rem);border-bottom:1px solid var(--line);
}.faq__head h1{margin-bottom:0;font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem)}.faq__head h1 em{font-style:italic;color:var(--orange-deep);font-variation-settings:'opsz' 72}.faq__head .lead{padding-bottom:.3rem}/* quick facts strip */
.faq__facts{
  list-style:none;margin:clamp(1.4rem,1rem + 1.4vw,2rem) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(.7rem,.4rem + 1vw,1.4rem);
}.faq__facts li{padding-top:.9rem;border-top:2px solid var(--ink)}.faq__facts b{
  display:block;font-family:var(--serif);font-weight:400;
  font-size:clamp(1.35rem,1.1rem + 1.1vw,1.9rem);line-height:1;color:var(--ink);
  font-variation-settings:'opsz' 60;letter-spacing:-.025em;
}.faq__facts span{display:block;margin-top:.4rem;font-size:.8rem;line-height:1.4;color:var(--ink-400)}.faq__body{
  display:grid;grid-template-columns:1fr minmax(280px,.38fr);
  gap:clamp(1.8rem,1.2rem + 3vw,3.6rem);
  margin-top:clamp(2.2rem,1.4rem + 2.4vw,3.2rem);align-items:start;
}/* grouped questions */
.faq__group{margin-bottom:clamp(1.8rem,1.2rem + 2vw,2.6rem)}.faq__group:last-child{margin-bottom:0}.faq__glabel{
  display:grid;grid-template-columns:auto 1fr;gap:.2rem .9rem;align-items:baseline;
  padding-bottom:.9rem;
}.faq__gn{
  grid-row:span 2;font-family:var(--serif);font-size:1.5rem;line-height:1;
  color:var(--saffron);font-variation-settings:'opsz' 60;letter-spacing:-.02em;
}.faq__glabel h2{margin:0}.faq__glabel p{margin:0;font-size:.85rem;line-height:1.5;color:var(--ink-400)}/* the Hindi answer, given proper room */
.acc__hi{
  display:block;margin-top:1rem;padding:.95rem 1.1rem;border-radius:var(--r-md);
  background:var(--cream);border:1px solid var(--line-soft);
}.acc__hi-tag{
  display:inline-block;margin-bottom:.5rem;padding:.2rem .6rem;border-radius:100px;
  background:#fff;border:1px solid var(--line);
  font-family:var(--deva);font-size:.72rem;color:var(--orange-deep);letter-spacing:.02em;
}.acc__hi p{
  margin:0;font-family:var(--deva);font-size:.92rem;line-height:1.9;color:var(--ink-600);
}/* sticky prep card */
.faq__side{position:sticky;top:calc(var(--nav-h) + 1.6rem)}.faq__card{
  background:linear-gradient(160deg,#fff,var(--cream));
  border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.3rem,.9rem + 1.4vw,1.9rem);box-shadow:var(--shadow-sm);
}.faq__ico{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:1rem;
  background:linear-gradient(140deg,var(--saffron-pale),#FFE6AE);color:var(--orange-deep);
}.faq__ico svg{width:22px;height:22px}.faq__card .crosses li{font-size:.9rem}@media (max-width:1080px) {.faq__facts{grid-template-columns:repeat(3,1fr);row-gap:1.2rem}
}
@media (max-width:960px) {.faq__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}.faq__body{grid-template-columns:1fr;gap:2.2rem}.faq__side{position:static}
}
@media (max-width:680px) {.faq__facts{grid-template-columns:1fr 1fr;gap:1rem}.faq__glabel{grid-template-columns:auto 1fr}
}
/* ============ CONTACT ============ */
.book{position:relative;overflow:hidden;isolation:isolate}.book__deco{
  position:absolute;z-index:-1;top:-8%;left:-14%;width:min(620px,48%);aspect-ratio:9/7;
  background:url("../img/meridian-lines.svg") left top/contain no-repeat;transform:scaleX(-1);opacity:.34;
}.book__head, .prep__head{
  display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(1.4rem,1rem + 3vw,4rem);
  align-items:end;padding-bottom:clamp(1.8rem,1.2rem + 2vw,2.6rem);border-bottom:1px solid var(--line);
}.book__head h1, .prep__head h2{margin-bottom:0;font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem)}.book__head h1 em, .prep__head h2 em, .camps__text h2 em{
  font-style:italic;color:var(--orange-deep);font-variation-settings:'opsz' 72;
}.book__head .lead, .prep__head .lead{padding-bottom:.3rem}.book__body{
  display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(1.8rem,1.2rem + 3vw,3.6rem);
  margin-top:clamp(2rem,1.4rem + 2.2vw,3rem);align-items:start;
}/* contact rows */
.cx{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.cx li{
  display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;
  padding:1.1rem 0;border-bottom:1px solid var(--line);
}.cx__ico{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;
  background:linear-gradient(140deg,var(--saffron-pale),#FFE6AE);color:var(--orange-deep);
}.cx__ico svg{width:19px;height:19px}.cx__lab{
  display:block;font-size:.7rem;font-weight:660;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-400);margin-bottom:.3rem;
}.cx__val{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.98rem;line-height:1.5;color:var(--ink);text-decoration:none;
  border-bottom:1px solid transparent;transition:color .25s,border-color .25s;
}.cx__val:hover{color:var(--orange-deep);border-bottom-color:var(--saffron)}.cx__val svg{width:16px;height:16px;color:var(--orange-deep)}.cx__val--big{font-family:var(--serif);font-size:1.4rem;letter-spacing:-.01em}.cx__val--stack{display:flex;margin-top:.35rem;font-size:.95rem;color:var(--ink-600)}.fee{
  margin-top:1.6rem;background:linear-gradient(160deg,#fff,var(--cream));
  border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.2rem,.9rem + 1.2vw,1.7rem);box-shadow:var(--shadow-sm);
}.fee__amt{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem;margin-bottom:.7rem}.fee__amt .price__tag{margin-right:.2rem}.fee__amt b{
  font-family:var(--serif);font-size:clamp(2rem,1.6rem + 1.6vw,2.7rem);line-height:1;
  color:var(--ink);font-variation-settings:'opsz' 72;letter-spacing:-.03em;
}.fee__was{font-size:.82rem;color:var(--ink-400);text-decoration:line-through}.fee .cx__val{margin-top:1rem;font-size:.9rem}/* the form panel */
.book__form{
  background:linear-gradient(160deg,#fff,var(--cream-deep));
  border:1px solid var(--line);border-radius:var(--r-xl);
  padding:clamp(1.4rem,1rem + 1.8vw,2.4rem);box-shadow:var(--shadow-md);
}.book__form h2{margin-bottom:.35rem}/* prep panel */
.prep__panel{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  margin-top:clamp(2rem,1.4rem + 2vw,2.8rem);
  background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);
  overflow:hidden;box-shadow:var(--shadow-sm);
}.prep__col{padding:clamp(1.4rem,1rem + 1.6vw,2.2rem)}.prep__col--do{background:linear-gradient(160deg,#FFFBF2,#FFF6E6)}.prep__col--not{border-left:1px solid var(--line)}.prep__col--do .limits__tag{color:var(--orange-deep)}.prep__col--not .limits__tag{color:var(--ink-400)}.prep__col .ticks li{font-size:.95rem}.prep__home{
  display:flex;gap:1rem;align-items:flex-start;
  margin-top:clamp(1.4rem,1rem + 1.4vw,2rem);padding:1.3rem 1.5rem;
  background:var(--teal-pale);border:1px solid #CFE5E3;border-radius:var(--r-md);
  color:var(--teal-deep);font-size:.94rem;line-height:1.65;
}.prep__home svg{width:20px;height:20px;flex:none;margin-top:.18rem;color:var(--teal)}/* find us */
.find__wrap{position:relative;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md)}.find__map{aspect-ratio:21/9;background:var(--cream)}.find__map iframe{display:block;width:100%;height:100%;border:0}.find__card{
  position:absolute;left:clamp(1rem,3vw,2.4rem);bottom:clamp(1rem,3vw,2.4rem);z-index:2;
  width:min(400px,calc(100% - 2rem));
  background:rgba(255,255,255,.96);backdrop-filter:blur(12px);
  border-radius:var(--r-lg);padding:clamp(1.2rem,.9rem + 1.2vw,1.7rem);
  box-shadow:var(--shadow-lg);
}.find__card h2{margin-bottom:.5rem}.find__addr{margin:0;font-size:.94rem;line-height:1.6;color:var(--ink-600)}/* camps */
.camps{overflow:hidden}.camps__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(1.8rem,1.2rem + 3vw,3.6rem);align-items:center}.camps__media{margin:0;position:relative}.camps__media img{
  display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:64% 46%;
  border-radius:var(--r-xl) var(--r-xl) var(--r-xl) 88px;box-shadow:var(--shadow-lg);
}.camps__media::before{
  content:"";position:absolute;z-index:-1;inset:1.5rem -1.5rem -1.5rem 1.5rem;
  border-radius:var(--r-xl);border:1px solid rgba(232,162,28,.42);
  background:linear-gradient(150deg,rgba(255,176,0,.1),rgba(255,176,0,0) 58%);
}.camps__text h2{font-size:clamp(1.9rem,1.25rem + 2.4vw,2.8rem)}.camps__venues{list-style:none;margin:1.5rem 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.camps__venues li{
  padding:.5rem 1rem;border:1px solid var(--line);border-radius:100px;background:#fff;
  font-size:.85rem;color:var(--ink-600);
}@media (max-width:960px) {.book__head, .prep__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}.book__body{grid-template-columns:1fr;gap:2.2rem}.prep__panel{grid-template-columns:1fr}.prep__col--not{border-left:0;border-top:1px solid var(--line)}.find__map{aspect-ratio:4/3}.find__card{position:static;width:auto;border-radius:0;box-shadow:none;backdrop-filter:none;background:#fff;border-top:1px solid var(--line)}.camps__grid{grid-template-columns:1fr;gap:2.2rem}.camps__media{max-width:420px}
}
@media (max-width:680px) {.camps__media{max-width:100%}.camps__media::before{inset:1rem -1rem -1rem 1rem}.cx__val--big{font-size:1.2rem}
}
/* ============ pain ============ */
.pain{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#fff,var(--cream) 60%,#fff)}.pain__deco{
  position:absolute;z-index:-1;top:-6%;left:-13%;width:min(600px,46%);aspect-ratio:9/7;
  background:url("../img/meridian-lines.svg") left top/contain no-repeat;transform:scaleX(-1);opacity:.34;
}.pain__head{
  display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(1.4rem,1rem + 3vw,4rem);
  align-items:end;padding-bottom:clamp(1.8rem,1.2rem + 2vw,2.6rem);border-bottom:1px solid var(--line);
}.pain__head h2{margin-bottom:0;font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem)}.pain__head h2 em{font-style:italic;color:var(--orange-deep);font-variation-settings:'opsz' 72}.pain__head .lead{padding-bottom:.3rem}.pain__body{
  display:grid;grid-template-columns:1fr .92fr;gap:clamp(1.6rem,1.1rem + 2.6vw,3.2rem);
  margin-top:clamp(2rem,1.4rem + 2vw,2.8rem);align-items:start;
}.pain__map{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.pain__map li{
  display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:1rem 1.2rem;
  transition:border-color .28s,transform .28s var(--ease);
}.pain__map li:hover{border-color:var(--saffron);transform:translateX(3px)}.pain__n{font-family:var(--serif);font-size:.85rem;font-weight:600;letter-spacing:.1em;color:var(--saffron);font-variation-settings:'opsz' 14}.pain__map b{font-size:1.02rem;color:var(--ink);font-weight:600}.pain__map li > span:last-child{font-size:.85rem;color:var(--ink-400);text-align:right}.pain__protocol{
  background:linear-gradient(160deg,#fff,var(--cream-deep));
  border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.3rem,.9rem + 1.4vw,2rem);box-shadow:var(--shadow-sm);
}.pain__ptitle{margin:0 0 1.2rem;font-size:.72rem;font-weight:660;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-400)}.pain__steps{list-style:none;margin:0 0 1.2rem;padding:0;display:grid;gap:0;counter-reset:none;border-top:1px solid var(--line)}.pain__steps li{
  display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:baseline;
  padding:.85rem 0;border-bottom:1px solid var(--line);
}.pain__steps b{
  font-family:var(--serif);font-size:1.15rem;color:var(--orange-deep);
  font-variation-settings:'opsz' 40;letter-spacing:-.01em;
}.pain__steps span{font-size:.94rem;color:var(--ink-800)}@media (max-width:960px) {.pain__head{grid-template-columns:1fr;align-items:start;gap:1.1rem}.pain__body{grid-template-columns:1fr;gap:1.8rem}
}
@media (max-width:680px) {.pain__map li{grid-template-columns:auto 1fr;row-gap:.2rem}.pain__map li > span:last-child{grid-column:2;text-align:left}
}
/* ---------- energy zones (diagnostics) ---------- */
.zones{margin-top:clamp(2rem,1.4rem + 2vw,2.8rem)}.zones__title{margin:0 0 1.1rem;font-size:.72rem;font-weight:660;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-400)}.zones__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.zone{border:1px solid var(--line);border-radius:var(--r-md);padding:1.1rem 1.2rem;position:relative;overflow:hidden}.zone::before{content:"";position:absolute;inset:0 auto 0 0;width:4px}.zone--low{background:linear-gradient(160deg,#FFFBEE,#FFF7DE)}.zone--low::before{background:#E8B93C}.zone--ok{background:linear-gradient(160deg,#F1FAF3,#E7F5EB)}.zone--ok::before{background:#3E9B62}.zone--high{background:linear-gradient(160deg,#FFF4F1,#FFE9E3)}.zone--high::before{background:#D5643F}.zone b{display:block;font-family:var(--serif);font-size:1.12rem;color:var(--ink);letter-spacing:-.015em}.zone > span{display:block;margin:.15rem 0 .55rem;font-size:.74rem;font-weight:660;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-400)}.zone p{margin:0;font-size:.86rem;line-height:1.6;color:var(--ink-600)}/* ---------- report metrics ---------- */
.metrics{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.5rem}.metrics li{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:baseline;padding:.55rem .8rem;background:var(--cream);border-radius:var(--r-sm)}.metrics b{font-size:.9rem;color:var(--ink);white-space:nowrap}.metrics span{font-size:.82rem;color:var(--ink-400);line-height:1.4}/* ---------- origin timeline (about) ---------- */
.origin__timeline{
  list-style:none;margin:clamp(2rem,1.4rem + 2vw,2.8rem) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.8rem,.5rem + 1vw,1.4rem);
}.origin__timeline li{position:relative;padding-top:1.9rem;border-top:2px solid var(--line)}.origin__timeline li::before{
  content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;
  background:var(--line);box-shadow:0 0 0 5px #fff;
}.origin__timeline li.is-now::before{background:var(--orange)}.origin__timeline li.is-now{border-top-color:var(--saffron)}.origin__timeline b{
  display:block;font-family:var(--serif);font-size:clamp(1.25rem,1.05rem + .9vw,1.75rem);
  line-height:1;color:var(--ink);font-variation-settings:'opsz' 60;letter-spacing:-.02em;margin-bottom:.5rem;
}.origin__timeline li.is-now b{color:var(--orange-deep)}.origin__timeline span{display:block;font-size:.85rem;line-height:1.5;color:var(--ink-500,#5A6070)}@media (max-width:960px) {.zones__list{grid-template-columns:1fr}.origin__timeline{grid-template-columns:repeat(2,1fr);gap:1.4rem}
}
@media (max-width:680px) {.origin__timeline{grid-template-columns:1fr}.metrics li{grid-template-columns:1fr;gap:.15rem}
}
/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.stat{background:#fff;padding:clamp(1.4rem,1rem + 1vw,2rem);text-align:center}.stat b{
  display:block;font-family:var(--serif);font-size:clamp(2rem,1.4rem + 2vw,2.9rem);
  line-height:1;color:var(--ink);font-variation-settings:'opsz' 60;letter-spacing:-.02em;
}.stat span{display:block;margin-top:.55rem;font-size:.83rem;line-height:1.5;color:var(--ink-400);letter-spacing:.02em}.section--ink .stats{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.12)}.section--ink .stat{background:var(--ink)}.section--ink .stat b{color:#fff}.section--ink .stat span{color:#8E96A6}
.section--teal .stats{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.2)}
.section--teal .stat{background:transparent}
.section--teal .stat b{color:#fff}
.section--teal .stat span{color:#9CC6C3}/* ---------- figures ---------- */
.figure{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--cream);box-shadow:var(--shadow-md)}.figure img{width:100%;object-fit:cover}.figure--wide img{aspect-ratio:3/2}.figure__cap{
  position:absolute;inset:auto 0 0 0;padding:2.4rem 1.4rem 1.15rem;
  background:linear-gradient(180deg,transparent,rgba(10,12,16,.82));
  color:#fff;font-size:.83rem;letter-spacing:.02em;
}/* ---------- feature list ---------- */
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.ticks li{position:relative;padding-left:2rem;font-size:.98rem;color:var(--ink-600);line-height:1.6}.ticks li::before{
  content:"";position:absolute;left:0;top:.45em;width:15px;height:15px;border-radius:50%;
  background:var(--saffron-pale);
  box-shadow:inset 0 0 0 1.5px var(--saffron);
}.ticks li::after{
  content:"";position:absolute;left:4.6px;top:.72em;width:5.2px;height:2.8px;
  border-left:1.7px solid var(--orange-deep);border-bottom:1.7px solid var(--orange-deep);
  transform:rotate(-45deg);
}.ticks--tight li{font-size:.92rem}.section--ink .ticks li{color:#B6BDCA}/* ---------- accordion ---------- */
.accordion{border-top:1px solid var(--line)}.acc__btn::-webkit-details-marker{display:none}.acc__btn::marker{content:""}summary.acc__btn{list-style:none}.acc{border-bottom:1px solid var(--line)}.acc__btn{
  width:100%;display:flex;align-items:flex-start;gap:1.2rem;justify-content:space-between;
  padding:1.45rem 0;background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--serif);font-size:clamp(1.02rem,.95rem + .35vw,1.2rem);font-weight:450;
  color:var(--ink);letter-spacing:-.01em;line-height:1.4;
}.acc__btn:hover{color:var(--orange-deep)}.acc__ico{position:relative;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);flex:none;margin-top:.15rem;transition:background .3s,border-color .3s,transform .35s var(--ease)}.acc__ico::before, .acc__ico::after{content:"";position:absolute;left:50%;top:50%;background:var(--ink-600);border-radius:2px;transform:translate(-50%,-50%);transition:opacity .25s,background .25s}.acc__ico::before{width:10px;height:1.5px}.acc__ico::after{width:1.5px;height:10px}.acc[open] .acc__ico{background:var(--saffron);border-color:var(--saffron);transform:rotate(180deg)}.acc[open] .acc__ico::after{opacity:0}.acc[open] .acc__ico::before{background:var(--ink)}.acc__body{padding:0 3rem 1.6rem 0;color:var(--ink-600);font-size:.98rem;line-height:1.72;max-width:78ch}.acc__body p{margin-bottom:.8rem}[lang="hi"]{font-family:var(--deva)}/* ---------- film ---------- */
.film{
  position:relative;margin:clamp(2.2rem,1.4rem + 2.4vw,3.2rem) auto 0;
  max-width:960px;border-radius:var(--r-lg);overflow:hidden;
  background:#0C0E13;box-shadow:0 40px 90px -40px rgba(0,0,0,.85);
  isolation:isolate;
}.film::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}.film__video{display:block;width:100%;height:auto;aspect-ratio:1256/646;background:#0C0E13}.film__play{
  position:absolute;inset:0;width:100%;border:0;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;
  background:linear-gradient(180deg,rgba(12,14,19,.34),rgba(12,14,19,.72));
  color:#fff;transition:opacity .35s var(--ease),background .35s;
}.film__play:hover{background:linear-gradient(180deg,rgba(12,14,19,.22),rgba(12,14,19,.6))}.film__ico{
  width:76px;height:76px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--saffron-light),var(--orange));color:#20160A;
  box-shadow:0 18px 40px -12px rgba(247,147,30,.7);
  transition:transform .35s var(--ease);
}.film__ico svg{width:26px;height:26px;margin-left:3px}.film__play:hover .film__ico{transform:scale(1.07)}.film__label{font-size:.82rem;letter-spacing:.11em;text-transform:uppercase;font-weight:600;text-shadow:0 2px 16px rgba(0,0,0,.85),0 0 4px rgba(0,0,0,.6)}.film__label b{font-variant-numeric:tabular-nums;color:var(--saffron)}.film.is-playing .film__play{opacity:0;pointer-events:none}@media (max-width:680px) {.film__ico{width:60px;height:60px}.film__ico svg{width:21px;height:21px}
}
/* ---------- quote ---------- */
.quote{position:relative;padding-left:2.4rem;font-family:var(--serif);font-size:clamp(1.3rem,1.1rem + 1.1vw,1.95rem);line-height:1.42;color:var(--ink);letter-spacing:-.018em}.quote::before{content:"";position:absolute;left:0;top:.3em;bottom:.15em;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--saffron),var(--orange))}.quote cite{display:block;margin-top:1.2rem;font-family:var(--sans);font-size:.85rem;font-style:normal;font-weight:560;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-400)}.section--ink .quote{color:#fff}.price__tag{
  display:inline-block;padding:.28rem .72rem;border-radius:100px;background:var(--teal);color:#fff;
  font-size:.7rem;font-weight:640;letter-spacing:.1em;text-transform:uppercase;
}/* ---------- notice ---------- */
.notice{
  display:flex;gap:1rem;padding:1.3rem 1.5rem;border-radius:var(--r-md);
  background:var(--teal-pale);border:1px solid #CFE5E3;color:var(--teal-deep);
  font-size:.93rem;line-height:1.65;
}.notice svg{width:20px;height:20px;flex:none;margin-top:.18rem;color:var(--teal)}.notice strong{color:var(--teal-deep)}.notice--warn{background:#FFF6E3;border-color:#F5DFAE;color:#7A5410}.notice--warn svg{color:var(--orange-deep)}.notice--warn strong{color:#5E3F08}/* ---------- CTA band ---------- */
.cta{
  position:relative;overflow:hidden;isolation:isolate;color:var(--ink);
  background:linear-gradient(140deg,#FFF7E4 0%,#FFEBBE 46%,#FFDD98 100%);
  border-top:1px solid #F3DEB0;
}.cta::after{
  content:"";position:absolute;inset:auto -12% -60% auto;width:62%;aspect-ratio:1;
  background:radial-gradient(circle,rgba(255,255,255,.75),transparent 64%);z-index:-1;
}.cta::before{
  content:"";position:absolute;z-index:-1;top:-14%;left:-10%;width:min(620px,52%);aspect-ratio:9/7;
  background:url("../img/meridian-lines.svg") left top/contain no-repeat;opacity:.5;
}.cta__inner{display:grid;grid-template-columns:1.25fr .75fr;gap:2.5rem;align-items:center;padding:clamp(3.4rem,2.4rem + 3.4vw,5.4rem) 0}.cta h2{color:var(--ink);margin-bottom:.7rem}.cta p{color:#6B5A33;max-width:46ch}.cta__actions{display:flex;flex-direction:column;gap:.7rem;align-items:flex-start}.cta__phone{display:flex;align-items:center;gap:.6rem;font-size:1.34rem;font-family:var(--serif);color:var(--ink);text-decoration:none}.cta__phone svg{width:19px;height:19px;color:var(--orange-deep)}/* ---------- form ---------- */
.form{display:grid;gap:1.05rem}.field{display:grid;gap:.42rem}.field label{font-size:.79rem;font-weight:620;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-400)}.field input, .field select, .field textarea{
  width:100%;padding:.82rem 1rem;border:1px solid var(--line);border-radius:12px;background:#fff;
  font-family:inherit;font-size:.96rem;color:var(--ink);transition:border-color .2s,box-shadow .2s;
}.field textarea{min-height:130px;resize:vertical}.field input:focus, .field select:focus, .field textarea:focus{
  outline:none;border-color:var(--saffron);box-shadow:0 0 0 4px rgba(255,176,0,.16);
}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.05rem}.field--sum{
  background:var(--cream);border:1px solid var(--line);border-radius:12px;
  padding:.9rem 1rem;gap:.5rem;
}.field--sum label{color:var(--ink-600);text-transform:none;letter-spacing:0;font-size:.88rem;font-weight:500}.field--sum input{max-width:8rem}.hp{position:absolute!important;left:-9999px;top:0;width:1px;height:1px;overflow:hidden}.hp input{width:1px;height:1px;min-height:0;padding:0;font-size:16px;border:0}.form__send{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.3rem}.form__send .btn{width:100%;padding:.9rem 1rem;font-size:.9rem}.form__status{
  margin:0;padding:.85rem 1.1rem;border-radius:12px;font-size:.9rem;line-height:1.55;
  background:var(--teal-pale);border:1px solid #CFE5E3;color:var(--teal-deep);
}.form__status[data-tone="error"]{background:#FFF1F1;border-color:#F3D0D0;color:#8A2F2F}.field input[aria-invalid="true"], .field select[aria-invalid="true"], .field textarea[aria-invalid="true"]{
  border-color:#D96A6A;box-shadow:0 0 0 4px rgba(217,106,106,.14);
}.field__err{font-size:.8rem;color:#A33B3B;letter-spacing:0;text-transform:none;font-weight:500}@media (max-width:520px) {.form__send{grid-template-columns:1fr}
}
/* ---------- gallery ---------- */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-md);filter:saturate(.94);display:block}.gallery__item{position:relative;display:block;overflow:hidden;border-radius:var(--r-md);background:var(--cream-deep);cursor:zoom-in}.gallery__item img{transition:transform .6s var(--ease),filter .4s}.gallery__item:hover img, .gallery__item:focus-visible img{transform:scale(1.06);filter:saturate(1)}.gallery__zoom{
  position:absolute;inset:0;border-radius:var(--r-md);
  background:linear-gradient(180deg,rgba(20,22,28,0) 45%,rgba(20,22,28,.5));
  opacity:0;transition:opacity .35s var(--ease);
}.gallery__zoom::after{
  content:"";position:absolute;right:.7rem;bottom:.7rem;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.94) center/15px 15px no-repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314161C' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.8'/%3E%3Cpath d='M15.5 15.5L21 21M10.5 7.6v5.8M7.6 10.5h5.8'/%3E%3C/svg%3E");
  transform:translateY(6px);transition:transform .35s var(--ease);
}.gallery__item:hover .gallery__zoom, .gallery__item:focus-visible .gallery__zoom{opacity:1}.gallery__item:hover .gallery__zoom::after, .gallery__item:focus-visible .gallery__zoom::after{transform:none}/* ---------- lightbox ---------- */
.lb{
  position:fixed;inset:0;z-index:200;display:grid;place-items:center;
  padding:clamp(1rem,4vw,3.5rem);
  background:rgba(12,13,17,.93);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s;
}.lb.is-open{opacity:1;visibility:visible}.lb__stage{max-width:min(1180px,100%);max-height:100%;display:flex;flex-direction:column;gap:1rem;align-items:center}.lb__frame{position:relative;display:flex;max-width:100%;min-width:0}.lb__img{
  max-width:100%;max-height:calc(100vh - 12rem);width:auto;height:auto;display:block;
  border-radius:var(--r-md);box-shadow:0 40px 90px -30px rgba(0,0,0,.8);background:#1B1D23;
  transform:scale(.97);opacity:0;transition:transform .35s var(--ease),opacity .35s var(--ease);
}.lb.is-open .lb__img{transform:none;opacity:1}.lb__bar{display:flex;align-items:center;gap:1.2rem;color:#C7CCD6;font-size:.88rem;line-height:1.5;text-align:center}.lb__count{flex:none;font-variant-numeric:tabular-nums;color:var(--saffron);font-weight:600;letter-spacing:.06em}.lb__cap{max-width:62ch}.lb__btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.22);
  background:rgba(20,22,28,.55);color:#fff;display:grid;place-items:center;cursor:pointer;
  transition:background .25s,border-color .25s,transform .25s var(--ease);
}.lb__btn:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4)}.lb__btn svg{width:20px;height:20px}.lb__prev{left:-4.5rem}.lb__next{right:-4.5rem}.lb__close{
  position:fixed;top:1.2rem;right:1.2rem;width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(255,255,255,.22);background:rgba(20,22,28,.55);color:#fff;
  display:grid;place-items:center;cursor:pointer;transition:background .25s,border-color .25s;
}.lb__close:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4)}.lb__close svg{width:18px;height:18px}body.lb-open{overflow:hidden}@media (max-width:1180px) {.lb__prev{left:.4rem}.lb__next{right:.4rem}.lb__img{max-height:calc(100vh - 13rem)}
}
@media (max-width:680px) {.lb__btn{width:44px;height:44px}.lb__bar{flex-direction:column;gap:.4rem;font-size:.82rem}
}
/* ---------- footer ---------- */
.footer{
  position:relative;overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#FFFDF9 0%,#FCF5E8 52%,#F8EFDD 100%);
  color:var(--ink-600);font-size:.92rem;
  padding:clamp(3.4rem,2.2rem + 3.2vw,5.2rem) 0 0;
}.footer::before{
  content:"";position:absolute;inset:0 0 auto 0;height:2px;
  background:linear-gradient(90deg,transparent,var(--saffron) 18%,var(--orange) 50%,var(--saffron) 82%,transparent);
}.footer__glow{
  position:absolute;z-index:-1;top:-30%;right:-12%;width:62%;aspect-ratio:9/7;
  background:url("../img/meridian-lines.svg") right top/contain no-repeat;
  opacity:.4;pointer-events:none;
}.footer__glow::after{
  content:"";position:absolute;inset:auto -18% -46% auto;width:88%;aspect-ratio:1;
  background:radial-gradient(circle,rgba(255,176,0,.20),transparent 64%);
}.footer__inner{position:relative;z-index:1}/* lede */
.footer__lede{
  display:grid;grid-template-columns:1fr auto;gap:2.5rem;align-items:end;
  padding-bottom:clamp(2.2rem,1.4rem + 2.4vw,3.4rem);
  border-bottom:1px solid var(--line);
}.brand--lg img{width:clamp(34px,26px + 2.4vw,54px)}.brand--lg .brand__sub{font-size:clamp(.5rem,.36rem + .62vw,.61rem);letter-spacing:.19em;margin-top:7px;color:var(--orange-deep)}.footer .brand__sub{color:var(--ink-400)}.footer__tag{
  margin:1.1rem 0 0;font-family:var(--serif);font-size:clamp(1.6rem,1.1rem + 2vw,2.6rem);
  line-height:1.1;letter-spacing:-.022em;color:var(--ink);
}.footer__tag em{font-style:italic;color:var(--orange-deep);font-variation-settings:'opsz' 40}.footer__cta{text-align:right;max-width:32ch;justify-self:end}.footer__cta p{margin:0;color:var(--ink-600);font-size:.93rem;line-height:1.6}.footer__cta .btn-row{justify-content:flex-end}.footer .btn--outline-light{--bg:#fff;--fg:var(--ink);--bd:var(--line)}.footer .btn--outline-light:hover{background:var(--cream-deep);--bd:var(--ink-200)}/* columns */
.footer__cols{
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1.35fr;
  gap:clamp(1.8rem,1rem + 2.6vw,3.2rem);
  padding:clamp(2.4rem,1.6rem + 2.6vw,3.6rem) 0;
}.footer h2, .footer h4{
  font-family:var(--sans);font-size:.7rem;font-weight:660;letter-spacing:.17em;
  text-transform:uppercase;color:var(--ink);margin:0 0 1.25rem;line-height:1.4;
}.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.72rem}.footer a{text-decoration:none;color:var(--ink-600);transition:color .22s}.footer a:hover{color:var(--orange-deep)}.footer__col--wide{max-width:34ch}.footer__about{margin:0 0 1.4rem;line-height:1.72;color:var(--ink-600)}.footer .footer__marks{display:flex;flex-wrap:wrap;gap:.45rem}.footer__marks li{
  padding:.34rem .78rem;border:1px solid var(--line);border-radius:100px;
  font-size:.735rem;letter-spacing:.03em;color:var(--ink-600);background:#fff;
}.footer__col ul li a{position:relative}.footer__col:not(.footer__col--wide) ul li a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;
  background:var(--orange);transition:right .3s var(--ease);
}.footer__col:not(.footer__col--wide) ul li a:hover::after{right:0}.footer__contact li{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;line-height:1.6}.footer__contact svg{width:16px;height:16px;color:var(--orange-deep);margin-top:.25em;flex:none}/* legal + bottom */
.footer__legal{
  margin:0;padding:1.6rem 0;border-top:1px solid var(--line);
  font-size:.78rem;line-height:1.75;color:var(--ink-400);max-width:110ch;
}.footer__legal strong{color:var(--ink-600);font-weight:600}.footer__bottom{
  display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;
  padding:1.2rem 0 1.6rem;border-top:1px solid var(--line);
  font-size:.8rem;color:var(--ink-400);letter-spacing:.02em;
}
.footer__credit a{
  color:var(--ink-600);text-decoration:none;font-weight:560;
  border-bottom:1px solid var(--line);transition:color .22s,border-color .22s;
}
.footer__credit a:hover{color:var(--orange-deep);border-bottom-color:var(--saffron)}/* watermark */
.footer__mark{
  position:relative;z-index:0;margin-top:-.2rem;
  font-family:var(--serif);font-weight:600;font-size:clamp(2.6rem,13vw,12rem);
  line-height:.78;letter-spacing:.02em;text-align:center;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1px rgba(224,150,20,.24);
  user-select:none;pointer-events:none;
  transform:translateY(24%);
}@supports not ((-webkit-text-stroke: 1px #000)) {.footer__mark{color:rgba(224,150,20,.14)}
}
/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce) {.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}*{animation-duration:.01ms !important;transition-duration:.01ms !important}
}
/* ---------- responsive ---------- */
/* the full nav gets tight before the hamburger takes over: scale the lock-up down */
@media (min-width:1161px) and (max-width:1400px){
  .brand img{width:40px}
  .brand__sub{font-size:.53rem;letter-spacing:.15em}
  .nav__inner{gap:1rem}
  .nav__menu{gap:.7rem}
  .nav__links a{padding:.5rem .58rem;font-size:.845rem}
  .nav__cta .btn{padding:.68rem 1.05rem;font-size:.845rem}
}@media (max-width:1080px) {.footer__cols{grid-template-columns:1fr 1fr;gap:2.2rem}.footer__col--wide{grid-column:1 / -1;max-width:52ch}.gallery{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1160px){
  .nav__menu{display:none}
  .nav__toggle{display:flex}
  .nav.is-open .nav__menu{
    display:block;position:absolute;left:0;right:0;top:var(--nav-h);
    background:#fff;border-bottom:1px solid var(--line);
    padding:.7rem 1.3rem 1.4rem;box-shadow:var(--shadow-md);
    max-height:calc(100vh - var(--nav-h));overflow-y:auto;
  }
  .nav.is-open .nav__links{display:grid;gap:0}
  .nav.is-open .nav__links a{padding:.9rem .3rem;font-size:1.02rem;border-bottom:1px solid var(--line-soft);border-radius:0}
  .nav.is-open .nav__cta{margin-top:1.1rem}
  .nav.is-open .nav__cta .btn{width:100%;padding:.9rem 1.4rem;font-size:.95rem}
}
@media (max-width:960px) {.nav__menu{display:none}.nav__toggle{display:flex}.nav.is-open .nav__menu{
    display:block;position:absolute;left:0;right:0;top:var(--nav-h);
    background:#fff;border-bottom:1px solid var(--line);
    padding:.7rem 1.3rem 1.4rem;box-shadow:var(--shadow-md);
    max-height:calc(100vh - var(--nav-h));overflow-y:auto;
  }.nav.is-open .nav__links{display:grid;gap:0}.nav.is-open .nav__links a{padding:.9rem .3rem;font-size:1.02rem;border-bottom:1px solid var(--line-soft);border-radius:0}.nav.is-open .nav__cta{margin-top:1.1rem}.nav.is-open .nav__cta .btn{width:100%;padding:.9rem 1.4rem;font-size:.95rem}.hero__inner{grid-template-columns:1fr;gap:2.6rem}.hero__media{max-width:440px;margin-inline:auto;width:100%}.wave{background-image:url("../img/wave-mobile.svg")}.hero .wave{background-image:url("../img/wave-mobile.svg");height:74%}.hero__copy{max-width:56ch}.stats{grid-template-columns:repeat(2,1fr)}.cta__inner{grid-template-columns:1fr;gap:2rem}.wave{height:70%}
}
@media (max-width:430px){.nav__inner{gap:.8rem}}
@media (max-width:680px) {body{font-size:16px}.container, .container--narrow{width:min(100% - 2rem,100%)}.grid-3{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.footer__cols{grid-template-columns:1fr;gap:2rem}.footer__col--wide{grid-column:auto}.footer__lede{grid-template-columns:1fr;align-items:start;gap:1.8rem}.footer__cta{text-align:left;max-width:none}.footer__cta .btn-row{justify-content:flex-start}.footer__mark{transform:translateY(28%)}.gallery{grid-template-columns:repeat(2,1fr)}.field-row{grid-template-columns:1fr}.hero__chip{left:0;bottom:-1rem}.trust{margin-top:calc(-1 * clamp(16px,3.5vw,26px))}.trust__grid{grid-template-columns:1fr 1fr;row-gap:1.15rem;column-gap:0;padding:1.1rem .5rem}.trust__item{padding:.1rem .6rem;gap:.62rem}.trust__item:nth-child(3n+1)::before{content:""}.trust__item:nth-child(odd)::before{display:none}.trust__ico{width:36px;height:36px}.trust__ico svg{width:16px;height:16px}.trust__txt b{font-size:.97rem}.trust__txt i{font-size:.62rem;letter-spacing:.12em}.hero .wave{height:70%}.hero__inner{padding-bottom:clamp(3rem,10vw,5rem)}.acc__body{padding-right:0}.quote{padding-left:1.5rem}
}
/* ---------- print ---------- */
@media print{
  @page{margin:16mm}
  html{font-size:11pt}
  body{background:#fff;color:#000}
  .nav,.wave,.feature__deco,.footer__glow,.footer__mark,.cta,.hero__chip,
  .gallery__zoom,.btn,.link-arrow,.nav__toggle,iframe{display:none!important}
  .reveal{opacity:1!important;transform:none!important}
  .section,.section--tight{padding:1.2rem 0}
  .section--ink,.card--ink,.footer{background:#fff!important;color:#000!important}
  .section--ink h2,.section--ink h3,.section--ink h4,.card--ink p,
  .footer,.footer a,.footer h4{color:#000!important}
  .card,.spectrum,.price,.notice,.stats,.stat{border-color:#bbb!important;box-shadow:none!important;background:#fff!important}
  .figure,.pagehead__media,.feature__media,.hero__portrait{box-shadow:none!important}
  a[href^="http"]::after,a[href^="mailto"]::after,a[href^="tel"]::after{content:" (" attr(href) ")";font-size:.85em;color:#555}
  .acc__body{display:block!important}
  details.acc{page-break-inside:avoid}
  h1,h2,h3{page-break-after:avoid}
  img{page-break-inside:avoid;max-width:100%!important}
}/* ---------- mobile ergonomics ---------- */
@media (max-width:680px){
  /* inputs below 16px make iOS Safari zoom in on focus */
  .field input,.field select,.field textarea{font-size:16px;min-height:48px;padding:.8rem 1rem}
  .field textarea{min-height:140px}
  .form__send .btn{min-height:50px}

  /* comfortable tap targets */
  .cta__phone,.cx__val--big{min-height:44px;align-items:center}
  .cx__val{min-height:40px}
  .link-arrow{min-height:44px;align-items:center}
  .footer ul a{display:inline-block;padding:.5rem 0}
  .footer__credit a{display:inline-block;padding:.42rem 0;min-height:44px}
  .film__note a,.notice a,.acc__body a,.cnd__note a{
    display:inline-block;padding:.35rem 0;min-height:40px;line-height:2.1;
  }
  .footer__contact li{padding:.2rem 0}
  .jump__list a,.cnd__tags li,.cond__wall li,.camps__venues li,.pills li{min-height:40px;display:inline-flex;align-items:center}
  .acc__btn{padding-block:1.25rem}
  .gallery__item{min-height:44px}

  /* micro-labels: keep uppercase tracking legible on small screens */
  .brand__sub{font-size:.6rem;letter-spacing:.15em}
  .hero__badge b,.twice__cap span,.twice__arrow span,.chain__step,.phase__n,
  .stack__chips li,.acc__hi-tag,.faq__facts span{font-size:.74rem}
  .price__tag,.cx__lab,.deflist dt,.offer__spec dt,.proc__facts dt,
  .footer h2,.footer h4,.wire__lab,.limits__tag,.chain__title,
  .tfs__label,.vir__phases-t,.jump__label,.faq__gn{font-size:.74rem}
  .case__figures b span,.mer__figures b span,.meas__figures b span,
  .origin__figures b span{font-size:.55em}
  .eyebrow{font-size:.76rem}
  .figure__cap,.chart figcaption,.twice figcaption,.twice__note{font-size:.82rem}
}
@media (max-width:680px){
  .pagehead{height:auto;min-height:clamp(96px,26vw,150px)}
  .pagehead__bar{gap:.45rem 1.1rem;padding-top:1rem;padding-bottom:clamp(2.6rem,14vw,4rem)}
  .pagehead__item{font-size:.8rem;min-height:40px}
  a.pagehead__item{min-height:44px}
  .pagehead__item:nth-child(3){display:none}
}
