/* AINI · 2026 creative direction — editorial heritage wellness */
:root{
  --director-espresso:#1b130f;
  --director-bark:#38251b;
  --director-bone:#f3eee5;
  --director-parchment:#ded2c0;
  --director-brass:#c7a46a;
  --director-sage:#7c816b;
  --director-line:rgba(232,218,194,.34);
}

.home-director{background:var(--director-bone)}
.home-director .hero-inner{
  translate:0 var(--hero-copy-y,0px);
  opacity:var(--hero-copy-opacity,1);
  will-change:translate,opacity;
}
.home-director [data-depth]{
  translate:0 var(--depth-y,0px);
  will-change:translate;
}
.home-director .preloader{background:var(--director-espresso)}
.home-director .preloader .pl-brand{color:var(--director-bone)}
.home-director .preloader .pl-zh{color:var(--director-brass)}
.home-director .preloader .pl-line{background:var(--director-brass)}

.home-director .site-head{padding-block:1.7rem}
.home-director .site-head::before{background:rgba(27,19,15,.92)}
.home-director .site-head.scrolled{box-shadow:0 1px 0 rgba(199,164,106,.22);padding-block:.8rem}
.home-director .site-head.scrolled .brand-en{color:#fff}
.home-director .site-head .container{max-width:1480px}
.home-director .brand-en{font-size:1.42rem;letter-spacing:.34em}
.home-director .brand-zh{color:var(--director-brass)}
.home-director .nav a.navlink{font-size:.69rem;letter-spacing:.26em;color:rgba(255,255,255,.72)}
.home-director .nav a.navlink:hover,.home-director .nav a.navlink.active{color:#fff}
.home-director .lang-pill{border-color:rgba(255,255,255,.38);color:#fff}
.home-director .btn--book{background:transparent;border-color:rgba(255,255,255,.48);color:#fff}
.home-director .btn--book:hover{background:var(--director-brass);border-color:var(--director-brass);color:var(--director-espresso)}

.hero-editorial{
  min-height:100vh;min-height:100svh;align-items:center;
  background:var(--director-espresso);isolation:isolate;
}
.hero-editorial .hero-bg{inset:-7% 0}
.hero-editorial .hero-bg picture,.hero-editorial .hero-bg img{display:block;width:100%;height:100%}
.hero-editorial .hero-bg picture{transition:transform 1.2s cubic-bezier(.22,.61,.36,1);will-change:transform}
.hero-editorial .hero-bg img{object-fit:cover;object-position:62% 50%;animation:director-breathe 20s cubic-bezier(.2,.5,.3,1) both alternate infinite}
@keyframes director-breathe{from{transform:scale(1.015)}to{transform:scale(1.08)}}
.hero-editorial::after{display:none}
.hero-editorial__veil{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(90deg,rgba(18,12,9,.93) 0%,rgba(18,12,9,.78) 27%,rgba(18,12,9,.18) 62%,rgba(18,12,9,.08) 100%),
    linear-gradient(0deg,rgba(18,12,9,.58) 0%,transparent 36%,rgba(18,12,9,.16) 100%);
}
.hero-editorial__grid{width:100%;max-width:1480px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:4rem;padding-top:9rem;padding-bottom:7.5rem}
.hero-editorial__copy{max-width:920px}
.hero-kicker{display:flex;align-items:center;gap:1.1rem;margin:0 0 2rem;color:rgba(255,255,255,.72);font-size:.66rem;font-weight:500;letter-spacing:.27em;text-transform:uppercase}
.hero-kicker span+span{display:flex;align-items:center;gap:1.1rem}
.hero-kicker span+span::before{content:"";width:52px;height:1px;background:var(--director-brass)}
.hero-editorial h1{max-width:9.4em;margin:0;color:var(--director-bone);font-size:clamp(4.2rem,8.4vw,8.8rem);font-weight:400;line-height:.82;letter-spacing:-.045em;text-shadow:none}
.hero-editorial h1 span{display:block}
.hero-editorial h1 em{display:block;padding-left:.73em;color:var(--director-brass);font-weight:300;line-height:1;font-style:italic}
.hero-editorial .lede{max-width:36rem;margin:2rem 0 0 1rem;color:rgba(255,255,255,.76);font-size:clamp(.98rem,1.3vw,1.15rem);line-height:1.72;text-shadow:none}
.hero-editorial .hero-cta{align-items:center;margin:2.35rem 0 0 1rem;gap:1.8rem}
.hero-editorial .btn--solid{background:var(--director-brass);border-color:var(--director-brass);color:var(--director-espresso);padding:1.2em 2.2em;border-radius:0}
.hero-editorial .btn--solid:hover{background:var(--director-bone);border-color:var(--director-bone);color:var(--director-espresso)}
.hero-textlink{display:inline-flex;align-items:center;gap:.8rem;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.42);color:#fff;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;transition:border-color .3s,color .3s}
.hero-textlink i{font-style:normal;font-size:1rem;transition:transform .35s}
.hero-textlink:hover{color:var(--director-brass);border-color:var(--director-brass)}
.hero-textlink:hover i{transform:translate(3px,-3px)}
.hero-seal{position:relative;width:130px;height:130px;display:grid;place-items:center;margin:0 1rem 1rem 0;color:var(--director-brass)}
.hero-seal::before,.hero-seal::after{content:"";position:absolute;border-radius:50%}
.hero-seal::before{inset:0;border:1px solid rgba(199,164,106,.58)}
.hero-seal::after{inset:14px;border:1px solid rgba(199,164,106,.26)}
.hero-seal__ring{position:absolute;inset:-7px;font-family:var(--sans);font-size:.5rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(27deg)}
.hero-seal b{font-family:var(--zh-serif);font-size:1.15rem;font-weight:400;line-height:1.35;letter-spacing:.25em;text-align:center;text-indent:.25em}
.hero-editorial__foot{position:absolute;left:clamp(20px,4.5vw,68px);right:clamp(20px,4.5vw,68px);bottom:1.55rem;display:flex;align-items:center;gap:1rem;color:rgba(255,255,255,.5);font-size:.56rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase}
.hero-editorial__foot i{display:block;width:82px;height:1px;background:var(--director-line)}

@media(max-width:1020px){
  .hero-editorial__grid{grid-template-columns:1fr;padding-top:10rem}
  .hero-seal{position:absolute;right:1.4rem;bottom:4.2rem;width:106px;height:106px;margin:0}
}
@media(max-width:720px){
  .home-director .site-head{padding-block:1.05rem}
  .hero-editorial{align-items:flex-end}
  .hero-editorial .hero-bg{inset:0}
  .hero-editorial .hero-bg img{object-position:61% 50%}
  .hero-editorial__veil{background:linear-gradient(0deg,rgba(17,11,8,.98) 0%,rgba(17,11,8,.72) 45%,rgba(17,11,8,.16) 80%),linear-gradient(90deg,rgba(17,11,8,.3),transparent)}
  .hero-editorial__grid{display:block;padding-top:8rem;padding-bottom:7rem}
  .hero-kicker{align-items:flex-start;flex-direction:column;gap:.55rem;margin-bottom:1.4rem;font-size:.58rem}
  .hero-kicker span+span::before{display:none}
  .hero-editorial h1{font-size:clamp(3.7rem,18vw,5.5rem);line-height:.86}
  .hero-editorial h1 em{padding-left:.24em}
  .hero-editorial .lede{max-width:29rem;margin:1.5rem 0 0;font-size:.96rem}
  .hero-editorial .hero-cta{margin:1.8rem 0 0;gap:1.1rem}
  .hero-editorial .btn--solid{width:100%;justify-content:center}
  .hero-textlink{display:none}
  .hero-seal{display:none}
  .hero-editorial__foot{bottom:1.25rem}
}
@media(max-width:390px){
  .hero-editorial h1{font-size:3.35rem}
  .hero-editorial .lede{font-size:.9rem}
}
@media(prefers-reduced-motion:reduce){.hero-editorial .hero-bg img{animation:none}}

/* ---------- global editorial system ---------- */
.skip-link{position:fixed;left:1rem;top:1rem;z-index:5000;padding:.7rem 1rem;background:#fff;color:#111;transform:translateY(-160%);transition:transform .2s}
.skip-link:focus{transform:none}
.director-section{position:relative;padding-block:clamp(6rem,11vw,11rem)}
.director-kicker{margin:0 0 1.2rem;color:var(--director-brass);font-family:var(--sans);font-size:.66rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase}
.home-director main h2{font-size:clamp(3.2rem,6vw,6.7rem);font-weight:400;line-height:.9;letter-spacing:-.035em}
.home-director main h2 em{color:var(--director-brass);font-weight:300}
.director-link{display:inline-flex;align-items:center;gap:.7rem;margin-top:2.2rem;padding-bottom:.45rem;border-bottom:1px solid rgba(56,37,27,.35);font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;transition:color .3s,border-color .3s}
.director-link:hover{color:var(--director-brass);border-color:var(--director-brass)}

/* ---------- botanical ticker ---------- */
.botanical-marquee{overflow:hidden;background:var(--director-parchment);border-block:1px solid rgba(56,37,27,.14);padding:.95rem 0;color:var(--director-bark)}
.botanical-marquee__track{width:max-content;display:flex;align-items:center;animation:director-marquee 34s linear infinite}
.botanical-marquee__track span{display:flex;align-items:center;gap:.7rem;font-family:var(--serif);font-size:1.02rem;font-style:italic;white-space:nowrap}
.botanical-marquee__track span::after{content:"✦";padding:0 2.2rem;color:var(--director-brass);font-size:.5rem;font-style:normal}
.botanical-marquee__track i{font-family:var(--zh-serif);font-size:.78rem;font-style:normal;letter-spacing:.16em}
@keyframes director-marquee{to{transform:translateX(-50%)}}
.botanical-marquee:hover .botanical-marquee__track{animation-play-state:paused}

/* ---------- intro ---------- */
.director-intro{overflow:hidden;background:var(--director-bone)}
.director-intro__grid{position:relative;z-index:1;display:grid;grid-template-columns:160px minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(2rem,5vw,6rem);align-items:start;max-width:1480px}
.director-intro__label{display:flex;align-items:center;gap:.8rem;padding-top:.65rem;color:var(--director-bark);font-size:.6rem;font-weight:500;letter-spacing:.23em;text-transform:uppercase;white-space:nowrap}
.director-intro__label span{color:var(--director-brass)}
.director-intro__label i{width:34px;height:1px;background:rgba(56,37,27,.3)}
.director-intro__label p{margin:0}
.director-intro__headline h2{max-width:9em;margin:0}
.director-intro__copy{padding-top:3.4rem}
.director-intro__copy .lede{margin-bottom:1.1rem;color:var(--director-bark);font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.25}
.director-intro__copy>p:not(.lede){color:#6e6258;font-size:.96rem}
.director-intro__hanzi{position:absolute;right:-.04em;bottom:-.23em;color:rgba(199,164,106,.08);font-family:var(--zh-serif);font-size:clamp(16rem,36vw,40rem);line-height:1;pointer-events:none}

/* ---------- heritage portrait ---------- */
.heritage-frame{overflow:hidden;background:var(--director-espresso);color:rgba(255,255,255,.7)}
.heritage-frame::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(199,164,106,.38) 20%,rgba(199,164,106,.15) 80%,transparent)}
.heritage-frame__grid{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:clamp(3rem,9vw,9rem);align-items:center;max-width:1320px}
.heritage-frame__media{position:relative;margin:0}
.heritage-frame__media::before{content:"";position:absolute;inset:-1.6rem 2.1rem 1.6rem -1.6rem;border:1px solid rgba(199,164,106,.24)}
.heritage-frame__media .img-frame{position:relative;aspect-ratio:4/5;overflow:hidden}
.heritage-frame__media img{width:100%;height:100%;object-fit:cover}
.heritage-frame__media figcaption{display:flex;justify-content:space-between;margin-top:1rem;color:rgba(255,255,255,.45);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase}
.heritage-frame__body{padding-block:2rem}
.heritage-frame h2{color:var(--director-bone);margin:0 0 2rem}
.heritage-frame__body .lede{color:var(--director-parchment);font-family:var(--serif);font-size:clamp(1.45rem,2.3vw,2.1rem);line-height:1.24}
.heritage-frame__body>p:not(.director-kicker):not(.lede){max-width:40rem;margin-top:1.5rem;color:rgba(255,255,255,.58)}
.heritage-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3.4rem;border-top:1px solid rgba(199,164,106,.26)}
.heritage-stats div{padding:1.6rem 1rem 0 0;border-right:1px solid rgba(199,164,106,.2)}
.heritage-stats div+div{padding-left:1.4rem}
.heritage-stats dt{color:var(--director-brass);font-family:var(--serif);font-size:2.8rem;line-height:1}
.heritage-stats dd{margin-top:.5rem;color:rgba(255,255,255,.48);font-size:.58rem;letter-spacing:.19em;text-transform:uppercase}

/* ---------- sticky ritual deck ---------- */
.ritual-deck{background:#e8dfd2}
.ritual-deck__head{display:grid;grid-template-columns:160px minmax(0,1fr) minmax(250px,.55fr);gap:clamp(2rem,5vw,6rem);align-items:end;max-width:1480px;margin-bottom:5rem}
.ritual-deck__head h2{max-width:9em;margin:0}
.ritual-deck__head>p{max-width:30rem;color:#74675d;font-size:.96rem}
.ritual-deck__stack{max-width:1260px}
.ritual-panel{position:sticky;top:6.4rem;min-height:min(70vh,690px);display:grid;grid-template-columns:minmax(300px,.84fr) minmax(0,1.16fr);grid-template-rows:1fr auto;overflow:hidden;margin-bottom:12vh;background:var(--director-bone);border:1px solid rgba(56,37,27,.12);box-shadow:0 38px 80px -46px rgba(27,19,15,.45)}
.ritual-panel:nth-child(2){top:7.1rem;background:#e2d8c8}
.ritual-panel:nth-child(3){top:7.8rem;background:#d7cbb9}
.ritual-panel:nth-child(4){top:8.5rem;background:#cbbda9;margin-bottom:0}
.ritual-panel__media{grid-row:1/3;overflow:hidden;min-height:520px}
.ritual-panel__media picture,.ritual-panel__media img{display:block;width:100%;height:100%}
.ritual-panel__media img{object-fit:cover;transition:transform 1.2s var(--ease)}
.ritual-panel:hover .ritual-panel__media img{transform:scale(1.035)}
.ritual-panel__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.6rem,6vw,6rem)}
.ritual-panel__num{color:var(--director-brass);font-size:.64rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase}
.ritual-panel__body h3{margin:1rem 0 1.3rem;color:var(--director-espresso);font-family:var(--serif);font-size:clamp(3.4rem,5.4vw,6.2rem);font-weight:400;line-height:.88;letter-spacing:-.04em}
.ritual-panel__body p{max-width:34rem;color:#675a50;font-size:1rem}
.ritual-panel__body a{display:inline-flex;align-items:center;gap:.6rem;align-self:flex-start;margin-top:2rem;padding-bottom:.45rem;border-bottom:1px solid rgba(56,37,27,.35);font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
.ritual-panel__body a:hover{color:var(--director-brass);border-color:var(--director-brass)}
.ritual-panel__meta{display:flex;justify-content:space-between;align-items:center;padding:1rem clamp(2.6rem,6vw,6rem);border-top:1px solid rgba(56,37,27,.13);color:#75675c;font-size:.58rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}
.ritual-panel.is-active{box-shadow:0 42px 92px -42px rgba(27,19,15,.58)}

/* ---------- formula path ---------- */
.formula-story{background:var(--director-bone)}
.formula-story__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,.72fr);gap:clamp(4rem,9vw,10rem);align-items:start;max-width:1320px}
.formula-story__content h2{margin:2.3rem 0 3.5rem}
.formula-story__content>.director-intro__label{margin-bottom:4rem}
.formula-steps{position:relative;margin-left:.35rem;padding-left:3.3rem}
.formula-line{position:absolute;left:.4rem;top:.3rem;bottom:.3rem;width:1px;background:rgba(56,37,27,.18)}
.formula-line span{display:block;width:1px;height:0;background:var(--director-brass);transition:height .8s var(--ease)}
.formula-step{position:relative;display:grid;grid-template-columns:48px 1fr;gap:1.6rem;padding:0 0 2.8rem}
.formula-step::before{content:"";position:absolute;left:-3.2rem;top:.35rem;width:8px;height:8px;border:1px solid var(--director-brass);border-radius:50%;background:var(--director-bone);transition:background .4s,transform .4s}
.formula-step.is-current::before{background:var(--director-brass);transform:scale(1.6)}
.formula-step b{color:var(--director-brass);font-family:var(--serif);font-size:1rem;font-weight:400}
.formula-step h3{margin:0 0 .45rem;font-family:var(--serif);font-size:1.8rem;font-weight:400}
.formula-step p{max-width:29rem;color:#74675d;font-size:.92rem}
.formula-story__media{position:sticky;top:7.5rem;margin:0}
.formula-story__media picture,.formula-story__media img{display:block;width:100%}
.formula-story__media img{aspect-ratio:4/5;object-fit:cover}
.formula-story__media figcaption{display:flex;justify-content:space-between;padding-top:1rem;color:#796d63;font-size:.54rem;letter-spacing:.2em;text-transform:uppercase}

/* ---------- quote ---------- */
.director-quote{position:relative;overflow:hidden;padding:clamp(8rem,15vw,15rem) 0;background:#705f4f;color:var(--director-bone);text-align:center}
.director-quote::before{content:"养身心";position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);color:rgba(255,255,255,.045);font-family:var(--zh-serif);font-size:clamp(14rem,30vw,32rem);white-space:nowrap}
.director-quote__line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.14)}
.director-quote__line span{position:absolute;top:48%;left:50%;width:13px;height:13px;border:1px solid var(--director-brass);background:#705f4f;transform:translate(-50%,-50%) rotate(45deg)}
.director-quote .container{position:relative;z-index:1;max-width:1060px}
.director-quote .container>p{margin-bottom:2.2rem;color:var(--director-brass);font-family:var(--zh-serif);font-size:1rem;letter-spacing:.6em;text-indent:.6em}
.director-quote blockquote{font-family:var(--serif);font-size:clamp(2.6rem,5vw,5.5rem);font-weight:300;line-height:1.03;letter-spacing:-.02em}
.director-quote cite{display:block;margin-top:2.4rem;color:rgba(255,255,255,.56);font-size:.58rem;font-style:normal;letter-spacing:.25em;text-transform:uppercase}

/* ---------- pricing ---------- */
.price-moment{background:#d4c7b5}
.price-moment__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(230px,.45fr) minmax(260px,.6fr);gap:clamp(2.5rem,7vw,8rem);align-items:center;max-width:1400px}
.price-moment__title h2{margin:0;max-width:8em}
.price-moment__figure{display:grid;grid-template-columns:auto 1fr;align-items:start;color:var(--director-espresso)}
.price-moment__figure sup{margin:.8rem .35rem 0 0;font-family:var(--serif);font-size:2.2rem}
.price-moment__figure strong{font-family:var(--serif);font-size:clamp(6rem,11vw,10rem);font-weight:300;line-height:.75;letter-spacing:-.08em}
.price-moment__figure span{grid-column:1/3;margin-top:1.4rem;font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase}
.price-moment__copy{color:#5f534a}
.price-moment__copy p{font-family:var(--serif);font-size:1.45rem;line-height:1.3}
.btn--director-dark{margin-top:2rem;border-radius:0;border-color:var(--director-espresso);background:var(--director-espresso);color:var(--director-bone)}
.btn--director-dark:hover{background:transparent;color:var(--director-espresso)}

/* ---------- visit ---------- */
.visit-strip{background:var(--director-bone)}
.visit-strip__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(4rem,10vw,12rem);align-items:end;max-width:1300px}
.visit-strip__intro h2{margin:0;max-width:9em}
.visit-strip__details{border-top:1px solid rgba(56,37,27,.22)}
.visit-strip__details>div{display:grid;grid-template-columns:100px 1fr;padding:1.35rem 0;border-bottom:1px solid rgba(56,37,27,.16)}
.visit-strip__details dt{color:var(--director-brass);font-size:.58rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase}
.visit-strip__details dd{color:#5f534a;font-family:var(--serif);font-size:1.25rem;line-height:1.35}
.visit-strip__details a{transition:color .3s}.visit-strip__details a:hover{color:var(--director-brass)}

/* ---------- closing image ---------- */
.director-cta{position:relative;min-height:85vh;min-height:85svh;display:flex;align-items:center;overflow:hidden;isolation:isolate;color:#fff}
.director-cta__bg{position:absolute;inset:-7%;z-index:-2}
.director-cta__bg picture,.director-cta__bg img{display:block;width:100%;height:100%}
.director-cta__bg img{object-fit:cover;object-position:65% 50%;transition:transform 1.6s var(--ease)}
.director-cta:hover .director-cta__bg img{transform:scale(1.025)}
.director-cta__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(18,12,9,.94),rgba(18,12,9,.66) 40%,rgba(18,12,9,.05) 75%)}
.director-cta .container{width:100%;max-width:1400px}
.director-cta h2{max-width:8em;margin:0;color:var(--director-bone);font-size:clamp(4rem,8vw,8.5rem)}
.director-cta>div.container>p:not(.director-kicker){margin:1.5rem 0 2rem;color:rgba(255,255,255,.7)}
.director-cta .btn{border-radius:0;background:var(--director-brass);border-color:var(--director-brass);color:var(--director-espresso)}
.director-cta .btn:hover{background:var(--director-bone);border-color:var(--director-bone)}

/* ---------- footer ---------- */
.director-foot{background:#130e0b;padding-top:clamp(5rem,9vw,8rem)}
.director-foot__top{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:3.5rem;border-bottom:1px solid rgba(255,255,255,.12)}
.director-foot__top p{color:rgba(255,255,255,.52);font-family:var(--serif);font-size:1.15rem;line-height:1.45;text-align:right}
.director-foot__top p span{color:var(--director-brass);font-size:.9rem;letter-spacing:.15em}
.director-foot__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:3rem;padding:4rem 0}
.director-foot__grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}
.director-foot__grid h4{margin-bottom:.8rem}
.director-foot__grid a,.director-foot__grid p{color:rgba(255,255,255,.6);font-size:.9rem}
.director-foot__grid a:hover{color:var(--director-brass)}
.director-foot .disclaimer{border-top:1px solid rgba(255,255,255,.1)}

/* ---------- cinematic chapter rail ---------- */
.chapter-rail{
  position:fixed;
  z-index:850;
  right:1.25rem;
  top:50%;
  width:122px;
  padding:1rem .9rem;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(20,13,10,.3);
  box-shadow:0 18px 46px -30px rgba(0,0,0,.72);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transform:translateY(-50%);
  transition:opacity .35s,transform .35s;
}
.chapter-rail__track{position:absolute;left:1.15rem;top:1.25rem;bottom:1.25rem;width:1px;background:rgba(255,255,255,.24)}
.chapter-rail__progress{display:block;width:1px;height:100%;background:var(--director-brass);transform:scaleY(var(--chapter-progress,0));transform-origin:top;transition:transform .18s linear}
.chapter-rail__list{position:relative;display:flex;flex-direction:column;gap:.55rem}
.chapter-rail a{
  width:100%;
  display:grid;
  grid-template-columns:19px 1fr;
  align-items:center;
  gap:.55rem;
  padding:.25rem 0;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.52);
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.chapter-rail a::before{content:"";position:relative;z-index:1;width:7px;height:7px;margin-left:2px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:#2b211b;transition:background .3s,transform .3s,border-color .3s}
.chapter-rail a span{overflow:hidden;font-size:.5rem;font-weight:500;letter-spacing:.16em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;transition:color .3s,transform .3s}
.chapter-rail a:hover span,.chapter-rail a.is-current span{color:#fff;transform:translateX(2px)}
.chapter-rail a.is-current::before{border-color:var(--director-brass);background:var(--director-brass);transform:scale(1.45)}
.home-director--zh .chapter-rail a span{font-family:var(--zh-sans);font-size:.58rem;letter-spacing:.22em;text-transform:none}

/* ---------- tablet ---------- */
@media(max-width:1020px){
  .home-director .nav{background:var(--director-espresso)}
  .home-director .nav a.navlink{color:rgba(255,255,255,.84)!important}
  .home-director .nav a.navlink.active{color:var(--director-brass)!important}
  .home-director.nav-open .site-head .brand{position:relative;z-index:120}
  .home-director.nav-open .head-cta{position:relative;z-index:120}
  .home-director .burger span,.home-director .site-head.scrolled .burger span{background:#fff}
  .director-intro__grid,.ritual-deck__head{grid-template-columns:120px 1fr}
  .director-intro__copy,.ritual-deck__head>p{grid-column:2}
  .heritage-frame__grid{gap:4rem}
  .ritual-panel{grid-template-columns:minmax(280px,.78fr) 1fr}
  .ritual-panel__body,.ritual-panel__meta{padding-inline:3rem}
  .formula-story__grid{grid-template-columns:1fr minmax(330px,.75fr);gap:4rem}
  .price-moment__grid{grid-template-columns:1fr .55fr}.price-moment__copy{grid-column:1/3;display:flex;align-items:center;justify-content:space-between;gap:2rem}.price-moment__copy .btn{margin-top:0}
  .chapter-rail{display:none}
}

@media(max-width:900px) and (min-width:721px){
  .ritual-panel,.ritual-panel:nth-child(n){position:relative;top:auto;min-height:650px;margin-bottom:2rem}
  .ritual-panel__media{min-height:650px}
}

/* ---------- mobile ---------- */
@media(max-width:720px){
  .director-section{padding-block:5.5rem}
  .home-director main h2{font-size:clamp(2.8rem,13vw,4.4rem)}
  .director-intro__grid,.ritual-deck__head,.heritage-frame__grid,.formula-story__grid,.price-moment__grid,.visit-strip__grid{display:block}
  .director-intro__label{margin-bottom:2.4rem}
  .director-intro__copy{padding-top:2rem}
  .director-intro__hanzi{font-size:18rem;bottom:-.08em}
  .heritage-frame::before{display:none}
  .heritage-frame__media{margin:0 1rem 4rem 0}
  .heritage-frame__media::before{inset:-.8rem -1rem .8rem .8rem}
  .heritage-frame__body .lede{font-size:1.35rem}
  .heritage-stats div{padding-right:.5rem}.heritage-stats div+div{padding-left:.7rem}.heritage-stats dt{font-size:2.1rem}.heritage-stats dd{font-size:.48rem;letter-spacing:.12em}
  .ritual-deck__head{margin-bottom:3rem}.ritual-deck__head>p{margin-top:1.5rem}
  .ritual-panel,.ritual-panel:nth-child(n){position:relative;top:auto;min-height:0;display:block;margin-bottom:1.4rem}
  .ritual-panel__media{height:auto;min-height:0;aspect-ratio:4/4.6}
  .ritual-panel__body{padding:2.2rem 1.4rem 2rem}
  .ritual-panel__body h3{font-size:3rem}
  .ritual-panel__body p{font-size:.93rem}
  .ritual-panel__meta{padding:.9rem 1.4rem}
  .formula-story__content>.director-intro__label{margin-bottom:3rem}
  .formula-story__media{position:relative;top:auto;margin-top:4rem}
  .formula-steps{padding-left:2.8rem}.formula-step{grid-template-columns:38px 1fr;gap:1rem}.formula-step::before{left:-2.7rem}
  .director-quote{padding-block:8rem}.director-quote blockquote{font-size:2.65rem}
  .price-moment__figure{margin:3rem 0}.price-moment__copy{display:block}.price-moment__copy .btn{margin-top:1.8rem}
  .visit-strip__details{margin-top:3rem}.visit-strip__details>div{grid-template-columns:76px 1fr}
  .director-cta{min-height:78vh;min-height:78svh;align-items:flex-end;padding-bottom:5rem}
  .director-cta__bg{inset:0}.director-cta__bg img{object-position:66% 50%}.director-cta__veil{background:linear-gradient(0deg,rgba(18,12,9,.97),rgba(18,12,9,.5) 65%,rgba(18,12,9,.18))}
  .director-cta h2{font-size:4.2rem}
  .director-foot__top{display:block}.director-foot__top p{margin-top:2rem;text-align:left}
  .director-foot__grid{grid-template-columns:1fr 1fr;gap:2.8rem 1.5rem}
}

@media(max-width:390px){
  .director-intro__headline h2,.heritage-frame h2,.formula-story__content h2,.visit-strip__intro h2{font-size:2.8rem}
  .ritual-panel__body h3{font-size:2.65rem}
  .director-quote blockquote{font-size:2.25rem}
  .director-cta h2{font-size:3.7rem}
  .director-foot__grid{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .botanical-marquee__track{animation:none}
  .ritual-panel__media img,.director-cta__bg img{transition:none}
  .formula-line span{transition:none}
  .home-director .hero-inner,.home-director [data-depth]{translate:none!important;opacity:1!important}
}
