
:root{
  --ink:#211719;
  --muted:#6f5d5b;
  --cream:#fbf7ef;
  --paper:#fffdf9;
  --rose:#c15b73;
  --rose-deep:#6f1f35;
  --gold:#c9a452;
  --gold-soft:#ead7a0;
  --lilac:#9a7191;
  --line:#ead9c6;
  --shadow:0 22px 58px rgba(47,25,29,.12);
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html{background:var(--cream)}
body{background:var(--cream);color:var(--ink)}
a{transition:color .2s ease,background .2s ease,border-color .2s ease}
.site-header{position:sticky;top:0;z-index:80;background:rgba(28,15,18,.96);border-bottom:1px solid rgba(220,186,105,.28);backdrop-filter:blur(14px)}
.site-header-inner{width:min(1220px,calc(100% - 40px));min-height:84px;margin:auto;display:flex;align-items:center;gap:24px;justify-content:space-between}
.site-brand{display:flex;align-items:center;gap:12px;min-width:225px;text-decoration:none!important;color:#f7e6b7}
.site-brand img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 4px 14px rgba(0,0,0,.38))}
.site-brand-copy{display:grid;line-height:1.08}.site-brand-copy strong{font-family:var(--serif);font-size:1.1rem;letter-spacing:.06em;color:#e9ca79}.site-brand-copy small{color:#f3dfb0;font-size:.67rem;letter-spacing:.11em;text-transform:uppercase;margin-top:5px}
.site-nav{display:flex;align-items:center;gap:4px;flex:1;justify-content:flex-end}.site-nav a{color:#f5ece8;text-decoration:none;font-size:.85rem;font-weight:700;padding:10px 9px;white-space:nowrap;border-radius:999px}.site-nav a:hover,.site-nav a.active{color:#f2d687;background:rgba(255,255,255,.07);text-decoration:none}.site-nav .site-book{margin-left:7px;background:linear-gradient(135deg,#d5af55,#b97f45);color:#201313;padding:11px 16px;box-shadow:0 8px 18px rgba(0,0,0,.18)}.site-nav .site-book:hover{background:linear-gradient(135deg,#ebc873,#c89052);color:#201313}
.site-menu-toggle{display:none;border:1px solid rgba(233,202,121,.48);background:transparent;color:#f4d98f;border-radius:10px;padding:8px 11px;font:700 .85rem var(--sans)}
.site-footer{background:#1d1114;border-top:1px solid rgba(213,175,85,.3);color:#f7ebd7;padding:54px 0 22px}.site-footer-grid{width:min(1220px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:1.25fr .9fr .9fr .82fr;gap:30px}.site-footer .foot-brand{display:flex;align-items:center;gap:12px}.site-footer .foot-brand img{width:66px;height:66px;object-fit:contain}.site-footer h3{color:#ebce7c;font-family:var(--serif);font-size:1.1rem;margin:0 0 11px}.site-footer p,.site-footer a{color:#f2e5db;font-size:.9rem;line-height:1.7}.site-footer a:hover{color:#f1d47f}.site-footer .foot-links{display:grid;gap:5px}.site-footer .footer-qr{width:118px;background:#fff;border-radius:11px;padding:6px;display:block}.site-footer .footer-contact{display:block;margin-top:8px;color:#dbc8b1}.site-footer .footer-bottom{width:min(1220px,calc(100% - 40px));margin:34px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:#cdbbb0;display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap}
.wechat-widget{position:fixed;right:20px;bottom:20px;z-index:90}.wechat-toggle{border:0;border-radius:999px;background:linear-gradient(135deg,#d05d70,#9e2b9e);color:#fff;font:800 .88rem var(--sans);padding:12px 16px;box-shadow:0 12px 28px rgba(93,29,65,.28);cursor:pointer}.wechat-panel{display:none;position:absolute;right:0;bottom:56px;width:220px;padding:16px;border-radius:18px;background:#fffdf9;border:1px solid #ead9c6;box-shadow:0 20px 50px rgba(38,20,25,.2);text-align:center}.wechat-widget.is-open .wechat-panel{display:block}.wechat-panel img{width:100%;height:auto;border-radius:10px}.wechat-panel strong{display:block;font-family:var(--serif);font-size:1.05rem;color:#512135;margin:0 0 6px}.wechat-panel span{display:block;font-size:.82rem;color:#755e5e;line-height:1.45;margin-top:8px}
/* Main site hero and blocks */
.main-hero{position:relative;overflow:hidden;min-height:700px;display:flex;align-items:center;background:#281518;color:#fff}.main-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,10,12,.9) 0%,rgba(35,14,19,.65) 50%,rgba(40,16,22,.26) 100%),url('/spa/assets/images/bali-garden.webp') center/cover no-repeat}.main-hero:after{content:"";position:absolute;width:640px;height:640px;right:-200px;bottom:-260px;border-radius:50%;background:radial-gradient(circle,rgba(218,172,84,.36),rgba(218,172,84,0) 69%)}.main-hero .main-wrap{position:relative;z-index:1;width:min(1220px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:minmax(0,760px) 1fr;gap:30px;align-items:center}.main-hero .brand-lockup{display:flex;align-items:center;gap:18px;margin-bottom:22px}.main-hero .brand-lockup img{width:100px;height:100px;object-fit:contain;filter:drop-shadow(0 6px 22px rgba(0,0,0,.5))}.main-hero .brand-lockup span{color:#e8c76f;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800}.main-hero h1{max-width:780px;color:#fffaf3;font-size:clamp(3rem,6.8vw,6rem);letter-spacing:-.055em;margin:0}.main-hero .main-lead{max-width:720px;color:#f6e6df;font-family:var(--serif);font-size:clamp(1.2rem,2.25vw,1.6rem);line-height:1.52;margin:24px 0}.main-actions{display:flex;gap:14px;flex-wrap:wrap}.gold-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 19px;border-radius:999px;font-weight:800;text-decoration:none!important}.gold-button{background:linear-gradient(135deg,#e1bd64,#bd8344);color:#241415}.gold-button:hover{background:linear-gradient(135deg,#f3d582,#cd9652);color:#241415}.ghost-button{border:1px solid rgba(244,220,165,.72);color:#fff7e8}.ghost-button:hover{background:rgba(255,255,255,.09);color:#fff7e8}.main-hero-note{display:flex;gap:10px;flex-wrap:wrap;margin-top:27px}.main-hero-note span{font-size:.8rem;color:#f7e7c2;border:1px solid rgba(242,212,145,.35);padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.04)}
.main-section{padding:82px 0}.main-section.soft{background:#fffdf9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.main-section.dark{background:linear-gradient(135deg,#2b151b,#4a2030);color:#fff7ed}.main-section .main-wrap{width:min(1220px,calc(100% - 40px));margin:auto}.main-kicker{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:#b88935}.main-section h2{font-size:clamp(2rem,4vw,3.5rem);max-width:820px;margin:.3em 0}.main-section .subcopy{max-width:780px;color:var(--muted);font-size:1.05rem;line-height:1.8}.main-section.dark h2{color:#fff6e9}.main-section.dark .subcopy{color:#f0deda}.main-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}.main-card{background:#fffaf7;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 14px 35px rgba(53,27,30,.07)}.main-card .num{font-size:.77rem;color:#b88935;font-weight:800;letter-spacing:.12em}.main-card h3{font-size:1.45rem;margin:.5em 0}.main-card p{margin:0;color:var(--muted);line-height:1.72}.main-card a{display:inline-block;margin-top:16px;color:var(--rose-deep);font-weight:800}.main-image-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}.main-image-split img{width:100%;height:430px;object-fit:cover;border-radius:30px;box-shadow:var(--shadow)}.main-membership{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:stretch;padding:42px;border-radius:32px;background:linear-gradient(135deg,#311920,#582436 65%,#8a5a61);color:#fff}.main-membership h2{color:#fff7e9}.main-membership p{color:#f1dfdc;max-width:650px}.main-membership-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:center}.main-membership-list div{padding:16px;border-radius:16px;background:rgba(255,255,255,.09);border:1px solid rgba(239,203,134,.22);color:#fff6e9;font-weight:700}.main-spa-feature{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:34px;border-radius:30px;overflow:hidden;background:#3a1d25;color:#fff}.main-spa-feature img{width:100%;height:390px;object-fit:cover}.main-spa-feature-content{padding:48px}.main-spa-feature-content h2{color:#fff7ee}.main-spa-feature-content p{color:#f3dfdf;line-height:1.78}.booking-section{background:linear-gradient(135deg,#f7e7e0,#f6efe4 48%,#efe7f3)}.booking-card{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:42px;border:1px solid var(--line);border-radius:32px;background:#fffdf9;box-shadow:var(--shadow)}.booking-card .booking-qr{max-width:300px;width:100%;background:#fff;border-radius:18px;padding:9px;margin:auto;display:block}.booking-card ul{padding-left:19px;color:var(--muted);line-height:1.75}.page-hero{padding:105px 0 70px;background:linear-gradient(135deg,#261317,#542538 60%,#885d5f);color:#fff}.page-hero .main-wrap{width:min(1220px,calc(100% - 40px));margin:auto}.page-hero .crumb{color:#f0d69a;font-size:.88rem;font-weight:700}.page-hero h1{color:#fff7ec;font-size:clamp(2.7rem,5.5vw,5rem);max-width:850px;margin:.25em 0}.page-hero p{color:#f0dfdc;max-width:780px;font-family:var(--serif);font-size:1.25rem;line-height:1.55}.content-panel{width:min(980px,calc(100% - 40px));margin:0 auto;padding:72px 0}.content-panel h2{margin-top:1.7em;font-size:2.1rem}.content-panel p,.content-panel li{color:#5c4d4d;font-size:1.04rem;line-height:1.85}.content-panel .price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.content-panel .price-card{border:1px solid var(--line);border-radius:20px;padding:24px;background:#fffdfa}.content-panel .price-card strong{display:block;color:var(--rose-deep);font:700 2.15rem var(--serif);margin:.25em 0}.content-panel .faq-line{border-bottom:1px solid var(--line);padding:22px 0}.content-panel .faq-line h3{font-size:1.3rem;margin:0 0 .4em}.content-panel .faq-line p{margin:0}.notice{padding:17px 20px;background:#fbf5e8;border-left:3px solid var(--gold);border-radius:0 12px 12px 0;color:#625547;margin:28px 0}
/* SPA pages: bring legacy editorial layouts into the main Club visual system */
.spa-body .hero{background:linear-gradient(135deg,#fff9ef 0%,#f4e6e0 52%,#f0e5ed 100%)}
.spa-body .hub-hero{background:#30171e}.spa-body .hub-hero::before{background-image:linear-gradient(100deg,rgba(35,15,20,.9),rgba(52,25,34,.58),rgba(61,34,37,.25)),var(--hero-image)}
.spa-body .cta{background:linear-gradient(135deg,#bc8a3e,#8b503c);color:#fffaf3}.spa-body .cta:hover{background:linear-gradient(135deg,#d6aa57,#9f6146);color:#fffaf3}
.spa-body .eyebrow{color:#9b6d27}.spa-body .quiet-link{color:#fff4da}.spa-body .text-cta,.spa-body .quiet-link:not(.hub-hero .quiet-link){color:#6f1f35}.spa-body .card{background:#fffdf9;border-color:#ead9c6}.spa-body .deep-guide-band,.spa-body .v13-full-body-band,.spa-body .v14-depth,.spa-body .city-matrix-band{background:linear-gradient(135deg,#fff8ee 0%,#f7e6df 52%,#f3e9ef 100%)}
.spa-body .answer-cta,.spa-body .cluster-banner,.spa-body .v14-booking{background:linear-gradient(135deg,#311820,#5d2b3c 62%,#8e635d);border-color:rgba(214,178,102,.24)}
.spa-body .answer-cta h2,.spa-body .cluster-banner h2{color:#fff8ec}.spa-body .answer-cta p,.spa-body .cluster-banner p{color:#f4e3dd}.spa-body .v14-booking .cta{background:#fff7e5;color:#6f1f35}.spa-body .v14-booking .eyebrow{color:#eac675}.spa-body .v14-related a{border-color:#e7d5bc;color:#6f1f35}.spa-body .footer{display:none}
@media(max-width:1040px){.site-header-inner{gap:12px}.site-nav a{font-size:.79rem;padding:9px 7px}.site-brand{min-width:195px}.site-brand-copy strong{font-size:1rem}}
@media(max-width:820px){.site-header{position:sticky}.site-header-inner{width:min(100% - 28px,1220px);min-height:66px}.site-brand{min-width:0}.site-brand img{width:44px;height:44px}.site-brand-copy strong{font-size:.98rem}.site-brand-copy small{font-size:.59rem}.site-menu-toggle{display:inline-flex}.site-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:12px 14px 16px;background:#211316;border-bottom:1px solid rgba(233,202,121,.24);box-shadow:0 16px 34px rgba(0,0,0,.22);flex-direction:column;align-items:stretch}.site-nav.is-open{display:flex}.site-nav a{padding:11px 12px;border-radius:10px}.site-nav .site-book{margin:3px 0 0;text-align:center}.site-footer-grid{width:min(100% - 28px,1220px);grid-template-columns:1fr 1fr;gap:25px}.main-hero{min-height:650px}.main-hero .main-wrap{width:min(100% - 28px,1220px);grid-template-columns:1fr}.main-grid-3,.main-image-split,.main-membership,.main-spa-feature,.booking-card{grid-template-columns:1fr}.main-image-split{gap:28px}.main-image-split img{height:290px}.main-membership{padding:28px}.main-spa-feature img{height:270px}.main-spa-feature-content{padding:32px 26px}.booking-card{padding:28px}.main-section{padding:58px 0}.content-panel .price-grid{grid-template-columns:1fr}.wechat-widget{right:14px;bottom:14px}.wechat-toggle{padding:11px 14px}.spa-body .topbar{display:none}}
@media(max-width:520px){.site-footer-grid{grid-template-columns:1fr}.main-hero .brand-lockup img{width:76px;height:76px}.main-hero h1{font-size:clamp(2.55rem,13vw,4.1rem)}.main-hero{min-height:610px}.site-brand-copy small{display:none}.wechat-panel{width:205px}.main-membership-list{grid-template-columns:1fr}.content-panel{padding:54px 0}.page-hero{padding:78px 0 55px}}


/* V2: Membership, pricing and long-term program editorial system */
.gold-kicker{color:#ebcd79!important}.page-hero-actions{margin-top:26px}.luxe-page-hero{background:linear-gradient(125deg,#231216 0%,#4d2031 55%,#7d565e 100%)}.luxe-page-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(217,175,88,.18),transparent 25%),radial-gradient(circle at 12% 88%,rgba(212,95,116,.14),transparent 32%);pointer-events:none}.luxe-page-hero .main-wrap{position:relative;z-index:1}.dark-outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 19px;border-radius:999px;border:1px solid #6f1f35;color:#6f1f35;font-weight:800;text-decoration:none!important}.dark-outline-button:hover{background:#6f1f35;color:#fff8ed}.qr-caption{text-align:center;color:#6f1f35;font-weight:800;margin:12px 0 0;line-height:1.55}
.section-intro-wide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:52px;align-items:end;margin-bottom:34px}.section-intro-wide h2{font-size:clamp(2rem,4vw,3.5rem);margin:.25em 0}.section-intro-wide p{color:var(--muted);line-height:1.85;margin:0}.dark .section-intro-wide p{color:#f0deda}.statement-card{padding:52px;max-width:1020px;margin:0 auto;border-radius:32px;background:linear-gradient(135deg,#2b151b,#5d293b 64%,#8a635f);color:#fff8ed;box-shadow:var(--shadow)}.statement-card.soft-rose{background:linear-gradient(135deg,#fff8ee 0%,#f6e6e0 52%,#f3e9ef 100%);color:#2e1820;border:1px solid var(--line);box-shadow:0 14px 40px rgba(56,28,33,.08)}.statement-card h2{font-size:clamp(2rem,4.1vw,3.8rem);max-width:860px;margin:.26em 0}.statement-card p{font-family:var(--serif);font-size:1.25rem;line-height:1.65;max-width:850px;color:#f1dfdc}.statement-card.soft-rose p{color:#5d4a4a}.statement-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.statement-meta span{padding:8px 12px;border:1px solid rgba(239,210,148,.38);border-radius:999px;font-size:.83rem;font-weight:800}.statement-card.soft-rose .statement-meta span{border-color:#d8b87d;color:#6f1f35;background:rgba(255,255,255,.52)}
.qualify-grid,.trinity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.qualify-grid article,.trinity-grid article{position:relative;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fffdf9;box-shadow:0 12px 30px rgba(56,28,33,.06)}.qualify-grid span,.trinity-grid span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f5ead0;color:#6f1f35;font-size:.76rem;font-weight:900}.qualify-grid h3,.trinity-grid h3{font-size:1.25rem;margin:16px 0 10px}.qualify-grid p,.trinity-grid p{color:var(--muted);line-height:1.72;margin:0}.trinity-grid{grid-template-columns:repeat(3,1fr)}.trinity-grid ul{padding:0;margin:18px 0 0;list-style:none}.trinity-grid li{position:relative;padding:8px 0 8px 17px;color:var(--muted);font-size:.92rem;line-height:1.5}.trinity-grid li:before{content:"";position:absolute;left:0;top:17px;width:6px;height:6px;border-radius:50%;background:#b88935}
.membership-pricing-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.membership-pricing-hero h2{font-size:clamp(2.4rem,5vw,4.6rem);margin:.25em 0}.membership-pricing-hero h2 strong{font-size:1.25em;color:#f2cf7e}.membership-benefit-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.membership-benefit-list div{min-height:130px;padding:20px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(237,202,119,.25);display:flex;flex-direction:column;gap:8px}.membership-benefit-list b{color:#f0ce79;font-family:var(--serif);font-size:1.45rem}.membership-benefit-list span{color:#fff4e6;line-height:1.55;font-weight:700}.qualification-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.qualification-flow article{padding:28px;border-radius:22px;background:#fffdf9;border:1px solid var(--line)}.flow-number{font:700 2.2rem var(--serif);color:#b88935}.qualification-flow h3{margin:10px 0}.qualification-flow p{margin:0;color:var(--muted);line-height:1.75}.referral-card{padding:46px;border-radius:30px;background:linear-gradient(135deg,#f9f0df,#f5e2e0 58%,#eee2ef);border:1px solid var(--line)}.referral-card h2{max-width:760px;margin:.25em 0}.referral-card p{max-width:720px;color:var(--muted);line-height:1.8}.referral-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.referral-steps span{padding:20px;border-radius:16px;background:rgba(255,255,255,.68);border:1px solid rgba(189,131,68,.23);font-size:.84rem;color:#b88935;line-height:1.6}.referral-steps b{color:#542132;font-size:1rem}
.program-head{display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:end;margin-bottom:38px}.program-head h2{font-size:clamp(2.5rem,5vw,4.7rem);margin:.2em 0}.program-head h3{font-family:var(--serif);font-size:1.35rem;color:#7a563a;margin:.4em 0}.program-head p{color:var(--muted);line-height:1.82;margin:0}.program-head.reverse h3{color:#f1d2c2}.display-number{font-family:var(--serif);font-size:1.24em;color:#b88935}.luxe-timeline{grid-template-columns:repeat(4,1fr)}.timeline{display:grid;gap:16px}.timeline article{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fffdf9}.timeline article>div{display:inline-block;padding:7px 10px;border-radius:999px;background:#f7ecd5;color:#6f1f35;font-weight:900;font-size:.78rem}.timeline h3{font-size:1.2rem;margin:17px 0 9px}.timeline p{margin:0;color:var(--muted);line-height:1.7}.center-actions{text-align:center;margin:32px 0 0}.seven-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.seven-grid article{padding:25px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(239,203,134,.2)}.seven-grid b{color:#f0cd79;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.seven-grid h3{font-size:1.25rem;margin:10px 0}.seven-grid p{margin:0;color:#f0dfdc;line-height:1.7}.lux-list{padding:0;margin:18px 0;list-style:none}.lux-list li{position:relative;padding:10px 0 10px 22px;color:var(--muted);line-height:1.65}.lux-list li:before{content:"✦";position:absolute;left:0;color:#b88935}.dark .lux-list li{color:#f0dfdc}
.journey-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}.journey-steps article{padding:29px;border:1px solid var(--line);border-radius:24px;background:#fffdf9;box-shadow:0 12px 30px rgba(56,28,33,.06)}.journey-steps article.featured{background:linear-gradient(135deg,#331921,#5d2a3a);border-color:rgba(234,205,122,.35)}.journey-steps span{color:#b88935;font-size:.78rem;font-weight:900;letter-spacing:.08em}.journey-steps h3{font-size:1.42rem;margin:15px 0 7px}.journey-steps strong{display:block;color:#6f1f35;font:700 2rem var(--serif)}.journey-steps p{color:var(--muted);line-height:1.72}.journey-steps a{font-weight:900;color:#6f1f35;text-decoration:none}.journey-steps.featured a,.journey-steps article.featured h3,.journey-steps article.featured strong{color:#f0cf7b}.journey-steps article.featured p{color:#f2ded9}.journey-steps article.featured span{color:#e6be65}.pricing-path article{min-height:235px}.promo-note{padding:18px 20px;border-radius:14px;background:#fbf5e8;border-left:3px solid #b88935;color:#675648;line-height:1.75;margin:20px 0 30px}.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.course-grid article{padding:26px;border-radius:22px;border:1px solid var(--line);background:#fffdfa;box-shadow:0 10px 26px rgba(56,28,33,.05)}.course-number{color:#b88935;font-size:.78rem;font-weight:900;letter-spacing:.1em}.course-grid h3{font-size:1.33rem;margin:14px 0 4px}.course-time{color:#7d5560;font-weight:800;margin:0}.course-grid p:not(.course-time){color:var(--muted);line-height:1.68;min-height:112px}.course-grid strong{display:block;color:#6f1f35;font:700 2rem var(--serif)}.price-footnote{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:26px 0 0}.price-footnote span{padding:8px 11px;border-radius:999px;background:#f4ead8;color:#755c41;font-size:.83rem;font-weight:800}.vip-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px}.vip-highlight{padding:34px;border-radius:26px;background:linear-gradient(135deg,#5d2a3a,#321820);border:1px solid rgba(235,202,121,.35);color:#fff8ed}.vip-highlight h3{font-size:1.8rem;margin:14px 0 5px}.vip-time{color:#f0cf7b;font-family:var(--serif);font-size:1.35rem}.vip-highlight ul{padding-left:18px;line-height:1.85;color:#f4e3dd}.vip-highlight .locked{font-weight:800;color:#f0cf7b}.vip-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.vip-plan-grid article{padding:22px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13)}.vip-plan-grid h3{margin:0 0 10px;color:#fff7ec}.vip-plan-grid p{color:#f0dfdc;line-height:1.68}.vip-plan-grid b{display:block;color:#f0cf7b;font-size:.85rem;margin:16px 0}.vip-plan-grid a{color:#fff2d2;font-weight:900}.dark-notice{background:rgba(255,255,255,.08);border-left-color:#edca77;color:#f2e0d9}.diamond-price-card{display:grid;grid-template-columns:1fr 1fr;gap:54px;padding:48px;border:1px solid var(--line);border-radius:32px;background:linear-gradient(135deg,#fff8ed,#f5e5e1 54%,#f1e4ef)}.diamond-price-card h2{font-size:clamp(2.1rem,4vw,3.5rem);margin:.25em 0}.diamond-price-card p{color:var(--muted);line-height:1.76}.diamond-price{color:#6f1f35;font:700 3.6rem var(--serif);margin:24px 0}.diamond-price small{display:block;color:#7a5f59;font:700 .9rem var(--sans);margin-top:4px}.diamond-menu{display:grid;gap:10px;padding:0;margin:0;list-style:none}.diamond-menu li{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:center;padding:16px;border-radius:14px;background:rgba(255,255,255,.66);border:1px solid rgba(185,137,53,.22)}.diamond-menu span{color:#b88935;font-weight:900}.diamond-menu b{color:#4e2733}.diamond-menu em{font-style:normal;color:#7b5e60;font-size:.85rem}.experience-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.experience-flow article{padding:27px;border:1px solid var(--line);border-radius:22px;background:#fffdfa}.experience-flow span{color:#b88935;font:700 2.1rem var(--serif)}.experience-flow h3{margin:8px 0}.experience-flow p{color:var(--muted);line-height:1.7;margin:0}.service-city-grid{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.service-city-grid span{padding:13px 16px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(239,203,134,.22);font-weight:800;color:#f7ead0}.faq-panel{padding-top:55px}
@media(max-width:1000px){.section-intro-wide,.membership-pricing-hero,.program-head,.diamond-price-card,.vip-layout{grid-template-columns:1fr}.qualify-grid{grid-template-columns:repeat(2,1fr)}.luxe-timeline,.course-grid,.experience-flow{grid-template-columns:repeat(2,1fr)}.seven-grid{grid-template-columns:repeat(2,1fr)}.vip-plan-grid{grid-template-columns:1fr}.statement-card{padding:38px}.course-grid p:not(.course-time){min-height:auto}.diamond-menu li{grid-template-columns:70px 1fr}.diamond-menu em{grid-column:2}}
@media(max-width:640px){.statement-card,.referral-card,.diamond-price-card{padding:28px 22px}.qualify-grid,.trinity-grid,.qualification-flow,.referral-steps,.journey-steps,.luxe-timeline,.course-grid,.experience-flow,.seven-grid{grid-template-columns:1fr}.membership-benefit-list{grid-template-columns:1fr}.vip-plan-grid{grid-template-columns:1fr}.main-section{padding:54px 0}.section-intro-wide{gap:18px}.program-head{gap:18px}.course-grid article{padding:22px}.diamond-menu li{grid-template-columns:1fr}.diamond-menu em{grid-column:auto}.service-city-grid span{width:100%;text-align:center}.statement-card h2{font-size:2.1rem}}

/* V3 · Responsive typography and no-orphan-line system
   Keeps mobile titles compact, balanced, and readable across the main site and SPA library. */
:where(.site-body,.spa-body) :is(h1,h2,h3,h4,h5,h6,.main-lead,.lead,.subcopy,.v14-context){
  min-inline-size:0;
  max-inline-size:100%;
  overflow-wrap:normal;
  word-break:normal;
  line-break:strict;
  hyphens:auto;
  text-wrap:balance;
}
:where(.site-body,.spa-body) :is(.main-wrap,.content-panel,.wrap,.article,.v14-wrap,.main-card,.journey-steps article,.course-grid article,.qualification-flow article,.trinity-grid article,.qualify-grid article,.vip-plan-grid article,.v13-card,.card,.statement-card,.cluster-banner,.answer-cta,.v14-booking,.diamond-price-card,.program-head,.section-intro-wide,.membership-pricing-hero){min-inline-size:0}
:where(.site-body,.spa-body) :is(p,li,a,span,strong,em){overflow-wrap:anywhere}

@media (max-width: 820px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .main-hero h1{font-size:clamp(2.12rem,9vw,3.35rem);line-height:1.12;letter-spacing:-.038em;max-inline-size:18ch}
  .page-hero h1{font-size:clamp(2.04rem,8.8vw,3.1rem);line-height:1.14;letter-spacing:-.035em;max-inline-size:19ch}
  .main-section h2,.section-intro-wide h2,.statement-card h2,.membership-pricing-hero h2,.program-head h2,.diamond-price-card h2{font-size:clamp(1.76rem,7.25vw,2.5rem);line-height:1.18;letter-spacing:-.026em;max-inline-size:22ch}
  .main-card h3,.journey-steps h3,.course-grid h3,.qualification-flow h3,.trinity-grid h3,.qualify-grid h3,.seven-grid h3,.timeline h3,.vip-highlight h3,.vip-plan-grid h3,.experience-flow h3{font-size:clamp(1.1rem,4.75vw,1.35rem);line-height:1.28;letter-spacing:-.015em}
  .main-hero .main-lead,.page-hero p,.statement-card p{font-size:clamp(1.03rem,4.6vw,1.18rem);line-height:1.62}
  .main-section .subcopy,.content-panel p,.content-panel li{font-size:1rem;line-height:1.78}
  .main-hero-note span,.price-footnote span,.statement-meta span{white-space:normal;text-align:center}
  .gold-button,.ghost-button,.dark-outline-button{white-space:normal;text-align:center;line-height:1.25}
}
@media (max-width: 520px){
  .main-hero h1{font-size:clamp(2rem,8.7vw,2.72rem);max-inline-size:17ch}
  .page-hero h1{font-size:clamp(1.92rem,8.4vw,2.58rem);max-inline-size:18ch}
  .main-section h2,.section-intro-wide h2,.statement-card h2,.membership-pricing-hero h2,.program-head h2,.diamond-price-card h2{font-size:clamp(1.62rem,7.1vw,2.08rem);max-inline-size:20ch}
  .main-card h3,.journey-steps h3,.course-grid h3,.qualification-flow h3,.trinity-grid h3,.qualify-grid h3,.seven-grid h3,.timeline h3,.vip-highlight h3,.vip-plan-grid h3,.experience-flow h3{font-size:1.12rem;line-height:1.32}
  .main-actions{gap:10px}.gold-button,.ghost-button,.dark-outline-button{min-height:44px;padding:11px 15px;font-size:.93rem}
}


/* V4 · Cross-checked mobile title control
   Article titles are often much longer than landing-page headings. Give them a
   separate mobile scale and let the script correct only truly lonely final lines. */
@media (max-width: 820px){
  .spa-body .article > h1,
  .spa-body .wrap > h1,
  .spa-body .hub-copy h1{
    font-size:clamp(2rem,6vw,3.15rem);
    line-height:1.14;
    letter-spacing:-.034em;
    max-inline-size:20ch;
    text-wrap:balance;
    text-wrap:pretty;
  }
  .spa-body :is(.site-nav a,.site-book,.gold-button,.ghost-button,.dark-outline-button,.cta,.cta-light,.quiet-link){
    overflow-wrap:normal !important;
    word-break:keep-all;
  }
}
@media (max-width: 520px){
  .spa-body .article > h1,
  .spa-body .wrap > h1,
  .spa-body .hub-copy h1{
    font-size:clamp(1.86rem,7.7vw,2.32rem);
    line-height:1.16;
    max-inline-size:19ch;
  }
}

/* V5 · mobile-first adaptive system
   Applies one consistent phone and tablet layout across the main site and SPA library. */
html{overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-inline-size:320px;overflow-x:clip}
:where(img,svg,video,canvas){max-inline-size:100%;block-size:auto}
:where(.site-body,.spa-body) :is(h1,h2,h3,h4,h5,h6,.main-lead,.lead,.subcopy,.v14-context){
  min-inline-size:0;
  max-inline-size:100%;
  overflow-wrap:normal;
  word-break:normal;
  line-break:strict;
  text-wrap:balance;
}
:where(.site-body,.spa-body) :is(.site-brand,.site-brand-copy,.site-nav a,.site-book,.gold-button,.ghost-button,.dark-outline-button,.cta,.cta-light,.quiet-link,.wechat-toggle){
  overflow-wrap:normal!important;
  word-break:keep-all;
}

/* Tablet and mobile navigation: use a real scrollable drawer before links become cramped. */
@media (max-width:1040px){
  .site-header-inner{width:min(100% - 32px,1220px);min-height:68px;gap:12px}
  .site-brand{min-width:0;gap:10px}
  .site-brand img{width:44px;height:44px}
  .site-brand-copy strong{font-size:.96rem;letter-spacing:.045em}
  .site-brand-copy small{font-size:.58rem;letter-spacing:.09em}
  .site-menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 11px;line-height:1;border-radius:10px;cursor:pointer}
  .site-nav{display:none;position:fixed;z-index:79;left:0;right:0;top:68px;max-height:calc(100svh - 68px);overflow-y:auto;overscroll-behavior:contain;padding:12px 16px max(22px,env(safe-area-inset-bottom));background:rgba(33,19,22,.985);border-bottom:1px solid rgba(233,202,121,.26);box-shadow:0 22px 42px rgba(0,0,0,.32);grid-template-columns:1fr;gap:5px}
  .site-nav.is-open{display:grid}
  .site-nav a{width:100%;min-height:46px;display:flex;align-items:center;padding:12px 13px;font-size:.95rem;border-radius:12px}
  .site-nav .site-book{justify-content:center;margin:7px 0 0;padding:13px 16px}
  body.nav-open{overflow:hidden}
}

/* Single column first. Cards stay generous without forcing horizontal scroll. */
@media (max-width:768px){
  :root{--mobile-gutter:16px}
  .site-header-inner,.site-footer-grid,.site-footer .footer-bottom,.main-hero .main-wrap,.main-section .main-wrap,.page-hero .main-wrap,.content-panel,.spa-body .wrap,.spa-body .v14-wrap{width:min(calc(100% - (var(--mobile-gutter) * 2)),1220px)}
  .main-hero{min-height:auto;padding:78px 0 62px;align-items:flex-end}
  .main-hero:before{background-position:62% center}
  .main-hero .brand-lockup{gap:10px;margin-bottom:14px}
  .main-hero .brand-lockup img{width:58px;height:58px}
  .main-hero .brand-lockup span{font-size:.62rem;letter-spacing:.11em}
  .main-hero h1{font-size:clamp(2.05rem,8.4vw,2.75rem);line-height:1.12;letter-spacing:-.045em;max-inline-size:none}
  .main-hero .main-lead{font-size:1.08rem;line-height:1.62;margin:18px 0 22px;max-inline-size:34ch}
  .main-hero-note{margin-top:20px;gap:8px}
  .main-hero-note span{font-size:.74rem;padding:6px 9px}
  .page-hero{padding:68px 0 48px}
  .page-hero h1{font-size:clamp(1.98rem,8vw,2.58rem);line-height:1.14;letter-spacing:-.04em;max-inline-size:none}
  .page-hero p{font-size:1.07rem;line-height:1.6}
  .main-section,.spa-body .section{padding:48px 0}
  .content-panel{padding:48px 0}
  .main-section h2,.section-intro-wide h2,.statement-card h2,.membership-pricing-hero h2,.program-head h2,.diamond-price-card h2,.spa-body .article h2,.spa-body .library-block h2,.spa-body .section h2,.spa-body .section-intro h2,.spa-body .image-band h2,.spa-body .cta-panel h2,.spa-body .cluster-banner h2,.spa-body .answer-cta h2,.spa-body .v14-depth h2{font-size:clamp(1.58rem,6.8vw,2.08rem);line-height:1.2;letter-spacing:-.025em;max-inline-size:none}
  .main-section .subcopy,.content-panel p,.content-panel li,.spa-body .article p,.spa-body .v14-copy p{font-size:1rem;line-height:1.78}
  .main-image-split,.main-membership,.main-spa-feature,.booking-card,.section-intro-wide,.membership-pricing-hero,.program-head,.diamond-price-card,.vip-layout,.spa-body .hero-grid,.spa-body .grid-2,.spa-body .section-intro,.spa-body .image-band-grid,.spa-body .city-matrix-feature,.spa-body .v13-feature,.spa-body .v14-booking,.spa-body .cluster-banner,.spa-body .answer-cta{grid-template-columns:1fr!important;gap:22px}
  .main-image-split img{height:250px;border-radius:22px}
  .main-spa-feature{border-radius:24px}
  .main-spa-feature img{height:235px}
  .main-spa-feature-content{padding:28px 22px}
  .main-membership,.booking-card{padding:26px 22px;border-radius:24px}
  .statement-card,.referral-card,.diamond-price-card{padding:28px 22px;border-radius:24px}
  .spa-body .hero,.spa-body .hub-hero{padding:64px 0 52px}
  .spa-body .hero-grid{gap:24px}
  .spa-body .hero h1,.spa-body .hub-hero h1,.spa-body .article > h1,.spa-body .wrap > h1,.spa-body .hub-copy h1{font-size:clamp(1.92rem,7.6vw,2.5rem);line-height:1.16;letter-spacing:-.034em;max-inline-size:none}
  .spa-body .hero .lead,.spa-body .hub-hero .lead{font-size:1.05rem;line-height:1.58;max-inline-size:34ch}
  .spa-body .article{padding-top:28px;padding-bottom:52px}
  .spa-body .article-image img{height:clamp(220px,68vw,290px)}
  .spa-body .article-image{border-radius:20px;margin:22px 0 30px}
  .spa-body .article-image figcaption{padding:9px 12px 11px}
  .spa-body .card,.main-card,.journey-steps article,.course-grid article,.qualification-flow article,.trinity-grid article,.qualify-grid article,.experience-flow article,.vip-plan-grid article{padding:22px;border-radius:18px}
  .spa-body .card-image{width:calc(100% + 44px);height:205px;margin:-22px -22px 17px;border-radius:17px 17px 0 0}
  .spa-body .card h3,.main-card h3,.journey-steps h3,.course-grid h3,.qualification-flow h3,.trinity-grid h3,.qualify-grid h3,.seven-grid h3,.timeline h3,.vip-highlight h3,.vip-plan-grid h3,.experience-flow h3,.spa-body .v13-card strong{font-size:clamp(1.1rem,4.8vw,1.32rem);line-height:1.3;letter-spacing:-.014em;text-wrap:balance}
  .spa-body .hero-art{min-height:235px;padding:24px;border-radius:22px}
  .spa-body .hero-art p{font-size:1.28rem}
  .spa-body .full-body-image{height:240px;border-radius:20px;margin-bottom:24px}
  .spa-body .v14-depth{padding:48px 0}
  .spa-body .v14-context{font-size:1rem;line-height:1.6;margin:0 0 20px}
  .spa-body .v14-booking{padding:23px 20px;border-radius:20px}
  .spa-body .v14-booking .cta{justify-self:stretch}
  .site-footer{padding:44px 0 92px}
  .site-footer-grid{grid-template-columns:1fr 1fr;gap:26px}
  .site-footer .footer-bottom{margin-top:26px;line-height:1.6}
  .wechat-widget{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}
  .wechat-panel{width:min(270px,calc(100vw - 24px));right:0;bottom:58px;padding:14px}
  .wechat-toggle{min-height:44px;padding:10px 13px;font-size:.82rem}
}

/* Small phones: all major tiles become a clean vertical rhythm; no narrow two-column cards. */
@media (max-width:640px){
  .site-footer-grid{grid-template-columns:1fr}
  .site-footer .footer-qr{width:112px}
  .main-grid-3,.qualify-grid,.trinity-grid,.qualification-flow,.referral-steps,.journey-steps,.luxe-timeline,.course-grid,.experience-flow,.seven-grid,.membership-benefit-list,.vip-plan-grid,.main-membership-list,.spa-body .grid-3,.spa-body .listing,.spa-body .city-matrix-grid,.spa-body .v13-grid,.spa-body .v14-moments,.spa-body .v5-grid,.spa-body .v6-grid,.spa-body .v7-grid,.spa-body .v7-home-grid,.spa-body .mood-grid,.spa-body .journey-grid{grid-template-columns:1fr!important}
  .main-actions,.spa-body .hub-actions{flex-direction:column;align-items:stretch;gap:10px}
  .main-actions>a,.spa-body .hub-actions>a,.gold-button,.ghost-button,.dark-outline-button{width:100%}
  .page-hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .page-hero-actions a{width:100%}
  .main-hero .brand-lockup{margin-bottom:10px}
  .main-hero .brand-lockup img{width:52px;height:52px}
  .main-hero .main-lead{max-inline-size:none}
  .main-section .subcopy{max-inline-size:none}
  .booking-card .booking-qr{max-width:240px}
  .spa-body .cta-panel{padding:25px 20px;border-radius:20px}
  .spa-body .cta-panel .cta,.spa-body .answer-cta .cta,.spa-body .cluster-banner .cta-light{width:100%}
  .spa-body .v14-related a{width:100%;justify-content:space-between}
  .diamond-menu li{grid-template-columns:1fr!important;gap:6px;padding:14px}
  .diamond-menu em{grid-column:auto!important}
  .price-footnote{justify-content:flex-start}
  .service-city-grid span{width:100%;text-align:center}
}

@media (max-width:480px){
  .site-header-inner{width:calc(100% - 28px);min-height:64px}
  .site-brand img{width:40px;height:40px}
  .site-brand-copy strong{font-size:.77rem;letter-spacing:.035em}
  .site-brand-copy small{display:none}
  .site-menu-toggle{min-height:38px;padding:8px 10px;font-size:.77rem}
  .site-nav{top:64px;max-height:calc(100svh - 64px);padding-inline:14px}
  .main-hero{padding:64px 0 54px}
  .main-hero .brand-lockup{display:none}
  .main-hero h1{font-size:clamp(1.92rem,8.1vw,2.3rem);line-height:1.15}
  .page-hero h1,.spa-body .hero h1,.spa-body .hub-hero h1,.spa-body .article > h1,.spa-body .wrap > h1,.spa-body .hub-copy h1{font-size:clamp(1.78rem,7.6vw,2.18rem);line-height:1.18}
  .main-section h2,.section-intro-wide h2,.statement-card h2,.membership-pricing-hero h2,.program-head h2,.diamond-price-card h2,.spa-body .article h2,.spa-body .library-block h2,.spa-body .section h2,.spa-body .section-intro h2,.spa-body .image-band h2,.spa-body .cta-panel h2,.spa-body .cluster-banner h2,.spa-body .answer-cta h2,.spa-body .v14-depth h2{font-size:clamp(1.48rem,6.8vw,1.84rem);line-height:1.22}
  .main-section,.spa-body .section{padding:42px 0}
  .content-panel{padding:42px 0}
  .main-membership,.booking-card,.statement-card,.referral-card,.diamond-price-card{padding:22px 18px}
  .spa-body .card,.main-card,.journey-steps article,.course-grid article,.qualification-flow article,.trinity-grid article,.qualify-grid article,.experience-flow article,.vip-plan-grid article{padding:19px}
  .spa-body .card-image{width:calc(100% + 38px);height:190px;margin:-19px -19px 16px;border-radius:16px 16px 0 0}
  .main-image-split img{height:220px}
  .main-spa-feature img{height:210px}
  .main-spa-feature-content{padding:24px 18px}
  .spa-body .article-image img{height:220px}
  .spa-body .hero,.spa-body .hub-hero{padding:54px 0 44px}
  .spa-body .v13-card img{height:195px}
  .spa-body .full-body-image{height:210px}
  .wechat-toggle{font-size:.76rem;padding:10px 11px}
}

@media (max-width:359px){
  body{min-inline-size:0}
  .site-brand-copy strong{font-size:.7rem}
  .site-menu-toggle{padding:8px 9px}
  .main-hero h1{font-size:1.82rem}
  .page-hero h1,.spa-body .hero h1,.spa-body .hub-hero h1,.spa-body .article > h1,.spa-body .wrap > h1,.spa-body .hub-copy h1{font-size:1.7rem}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* V6.2 · Homepage title and long-term pathway layout
   Keep the hero title deliberately composed and make the care path scan left-to-right. */
.main-hero .hero-title{
  max-width:760px;
  margin:0;
  font-size:clamp(2.15rem,4.45vw,4.35rem);
  line-height:1.12;
  letter-spacing:-.052em;
  text-wrap:initial;
}
.main-hero .hero-title-line{
  display:block;
  width:max-content;
  max-width:100%;
  white-space:nowrap;
  overflow-wrap:normal!important;
  word-break:keep-all;
}
.main-hero .hero-title-line + .hero-title-line{margin-top:.08em}
.main-program-section{position:relative;overflow:hidden}
.main-program-section:before{content:"";position:absolute;inset:auto -160px -230px auto;width:510px;height:510px;border-radius:50%;background:radial-gradient(circle,rgba(215,166,83,.17),rgba(215,166,83,0) 68%);pointer-events:none}
.main-program-section .main-wrap{position:relative;z-index:1}
.program-section-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);gap:44px;align-items:end;margin-bottom:34px}
.program-section-intro h2{max-width:700px;margin:.3em 0 0}
.program-section-intro .subcopy{max-width:500px;margin:0;justify-self:end}
.program-path{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:program}
.program-path:before{content:"";position:absolute;left:7%;right:7%;top:47px;height:1px;background:linear-gradient(90deg,rgba(232,199,111,.15),rgba(232,199,111,.62),rgba(232,199,111,.15));pointer-events:none}
.program-path article{position:relative;display:flex;flex-direction:column;min-height:286px;padding:30px 28px 27px;border:1px solid rgba(239,203,134,.19);border-radius:24px;background:rgba(255,255,255,.052);box-shadow:0 15px 34px rgba(18,7,11,.12)}
.program-path article:before{content:"";position:absolute;top:39px;left:27px;width:17px;height:17px;border-radius:50%;background:#e5c371;border:4px solid #3a1a24;box-shadow:0 0 0 6px rgba(229,195,113,.10)}
.program-path article.featured{background:linear-gradient(135deg,rgba(117,48,69,.92),rgba(72,30,43,.96));border-color:rgba(235,202,121,.52);transform:translateY(-7px);box-shadow:0 21px 44px rgba(10,4,7,.26)}
.program-step-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-left:35px;min-height:28px}
.program-step-number{font-family:var(--serif);font-size:1.55rem;line-height:1;color:#efcf7d;letter-spacing:-.02em}
.program-step-top small{color:#f2dede;font-size:.77rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.program-path h3{font-size:clamp(1.35rem,1.9vw,1.7rem);line-height:1.22;letter-spacing:-.025em;margin:32px 0 12px;color:#fff9ed}
.program-path p{margin:0;color:#f0ded9;line-height:1.76;font-size:1rem}
.program-link{display:inline-flex;align-items:center;gap:9px;margin-top:auto;padding-top:24px;color:#ebcb76;font-weight:900;text-decoration:none!important;letter-spacing:.01em}
.program-link:hover{color:#fff3d2}
.program-link span{font-size:1.15em;transition:transform .2s ease}
.program-link:hover span{transform:translateX(4px)}
@media (max-width:980px){
  .main-hero .hero-title{font-size:clamp(2.12rem,5.7vw,3.95rem)}
  .program-section-intro{grid-template-columns:1fr;gap:15px;margin-bottom:28px}
  .program-section-intro .subcopy{justify-self:start;max-width:720px}
  .program-path{gap:14px}
  .program-path article{padding:27px 22px 24px;min-height:300px}
  .program-path article:before{left:21px}
  .program-path:before{left:9%;right:9%}
}
@media (max-width:760px){
  .main-hero .hero-title{font-size:clamp(1.82rem,7.55vw,2.6rem);line-height:1.16;letter-spacing:-.045em}
  .main-hero .hero-title-line{max-width:none}
  .program-path{grid-template-columns:1fr;gap:14px}
  .program-path:before{top:72px;bottom:72px;left:34px;right:auto;width:1px;height:auto;background:linear-gradient(180deg,rgba(232,199,111,.55),rgba(232,199,111,.13))}
  .program-path article,.program-path article.featured{min-height:0;transform:none}
  .program-path article{padding:25px 22px 23px 68px}
  .program-path article:before{top:28px;left:25px;border-color:#3a1a24}
  .program-step-top{padding-left:0;min-height:30px}
  .program-step-top small{white-space:normal;text-align:right;line-height:1.3}
  .program-path h3{margin:18px 0 10px;font-size:1.35rem}
  .program-path p{font-size:.98rem;line-height:1.72}
  .program-link{padding-top:19px}
}
@media (max-width:390px){
  .main-hero .hero-title{font-size:clamp(1.68rem,7.42vw,2rem);letter-spacing:-.05em}
  .program-path article{padding-left:60px;padding-right:18px}
  .program-path article:before{left:20px}
  .program-path:before{left:29px}
  .program-step-top small{font-size:.7rem}
}


/* V7.2 · bilingual image-led editorial system */
.lang-switch{border:1px solid rgba(233,202,121,.38)!important;color:#f4d98f!important;padding:8px 11px!important;margin-left:4px!important}
.home-v7{background:linear-gradient(110deg,rgba(28,15,18,.95) 0%,rgba(45,19,28,.88) 52%,rgba(37,18,22,.58) 100%)}
.hero-v7-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:52px;align-items:center}.hero-v7-image{width:100%;height:min(66vh,620px);object-fit:cover;border-radius:30px;box-shadow:0 28px 74px rgba(0,0,0,.28);border:1px solid rgba(229,194,112,.2)}
.main-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.image-card{overflow:hidden;padding:0!important}.image-card>img{width:100%;height:170px;object-fit:cover;display:block}.image-card>span,.image-card>h3,.image-card>p{display:block;margin-left:22px;margin-right:22px}.image-card>span{margin-top:20px;color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:.1em}.image-card>h3{margin-top:8px}.image-card>p{margin-bottom:22px}.feature-grid .main-card{min-height:100%}
.program-path article{overflow:hidden}.program-path article>img{width:calc(100% + 50px);height:180px;object-fit:cover;margin:-25px -25px 20px;border-radius:20px 20px 0 0}.course-grid-v7 article{overflow:hidden;padding:0!important}.course-grid-v7 article>img{display:block;width:100%;height:192px;object-fit:cover}.course-grid-v7 article>span,.course-grid-v7 article>h3,.course-grid-v7 article>p{display:block;margin-left:22px;margin-right:22px}.course-grid-v7 article>span{margin-top:20px;color:var(--rose-deep);font-size:.78rem;font-weight:800;letter-spacing:.08em}.course-grid-v7 article>p{margin-bottom:24px}.mini-points{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 24px}.mini-points span{background:rgba(111,31,53,.08);border:1px solid rgba(111,31,53,.15);padding:8px 11px;border-radius:999px;font-size:.82rem;color:var(--rose-deep);font-weight:700}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.story-card{display:block;text-decoration:none!important;background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 12px 30px rgba(47,25,29,.07);color:var(--ink)}.story-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.story-card img{height:210px;width:100%;display:block;object-fit:cover}.story-card>div{padding:20px}.story-card span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--rose-deep);font-weight:800}.story-card h3{font-size:1.12rem;line-height:1.35;margin:9px 0}.story-card p{font-size:.92rem;line-height:1.66;color:var(--muted);margin:0 0 14px}.story-card b{color:var(--rose-deep);font-size:.9rem}.report-original{font-size:1.06rem;line-height:1.9}.report-original p{margin:1.05em 0}.report-original strong{color:var(--rose-deep)}.report-original img{display:none}.zh-article .article-image img{min-height:300px;object-fit:cover}
.site-body .article h1{font-size:clamp(2.1rem,4.6vw,3.55rem)!important;line-height:1.15!important;letter-spacing:-.035em!important;max-width:21ch}.site-body .page-hero h1{font-size:clamp(2.3rem,4.6vw,3.8rem)!important;line-height:1.14!important;max-width:20ch}.home-v7 .hero-title{font-size:clamp(2.4rem,4.8vw,4.25rem)!important;max-width:18ch!important}.home-v7 .hero-title-line{white-space:normal!important}
@media (max-width:980px){.hero-v7-grid{grid-template-columns:1fr;gap:28px}.hero-v7-image{height:440px}.main-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.hero-v7-grid{gap:20px}.hero-v7-image{height:250px;border-radius:20px}.main-grid-4,.story-grid{grid-template-columns:1fr}.image-card>img{height:205px}.program-path article>img{height:190px}.course-grid-v7 article>img{height:205px}.story-card img{height:210px}.site-body .article h1{font-size:clamp(1.8rem,7.2vw,2.25rem)!important;max-width:none}.site-body .page-hero h1{font-size:clamp(1.95rem,8vw,2.48rem)!important;max-width:none}.home-v7 .hero-title{font-size:clamp(2rem,9vw,2.65rem)!important;max-width:none!important}.home-v7 .hero-title-line{display:block}.report-original{font-size:1rem;line-height:1.82}.lang-switch{width:auto!important;align-self:flex-start}.site-nav .lang-switch{display:inline-flex!important}}

/* V8 static content expansion */
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:40px;align-items:start}.article{max-width:840px}.article-lead{font-size:1.16rem;line-height:1.85;color:#573941}.article h2{font-size:clamp(1.55rem,2.4vw,2.15rem);margin:2.15rem 0 .75rem}.article p{font-size:1.03rem;line-height:1.92}.article-image img{border-radius:24px;width:100%;max-height:470px;object-fit:cover}.article-note{border-left:3px solid #d6a84c;background:rgba(230,203,148,.12);border-radius:0 16px 16px 0;padding:18px 20px;line-height:1.76;margin:24px 0}.article-sidebar{position:sticky;top:94px;display:grid;gap:16px}.side-card{background:#fffaf3;border:1px solid rgba(114,62,72,.16);border-radius:18px;padding:20px}.side-card>span{display:block;color:#9f6e16;font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.side-card h3{font-size:1.18rem;margin:8px 0}.side-card p{font-size:.93rem;line-height:1.6}.side-links{display:grid;gap:9px}.side-links a{font-size:.92rem;line-height:1.4;color:#6e1e35;text-decoration:none}.side-links a:hover{text-decoration:underline}@media(max-width:900px){.article-layout{grid-template-columns:1fr}.article-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.article{max-width:none}}@media(max-width:640px){.article-sidebar{grid-template-columns:1fr}.article p{font-size:1rem;line-height:1.84}.article-image img{border-radius:16px;max-height:300px}}


/* V9 · international language architecture */
.language-picker{position:relative;display:inline-block;z-index:40;margin-left:4px}
.language-picker summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:37px;height:37px;border:1px solid rgba(233,202,121,.38);border-radius:999px;color:#f4d98f;background:rgba(23,10,15,.28);font-size:.93rem;user-select:none}
.language-picker summary::-webkit-details-marker{display:none}
.language-picker .language-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(248px,calc(100vw - 28px));max-height:62vh;overflow:auto;padding:10px;border:1px solid rgba(231,203,139,.34);border-radius:16px;background:rgba(36,17,25,.98);box-shadow:0 22px 56px rgba(0,0,0,.34);display:grid;grid-template-columns:1fr 1fr;gap:3px}
.language-picker .language-panel a{display:block!important;width:auto!important;padding:9px 10px!important;margin:0!important;border:0!important;border-radius:9px!important;color:#fff4dc!important;background:transparent!important;font-size:.78rem!important;line-height:1.25!important;text-decoration:none!important}
.language-picker .language-panel a:hover{background:rgba(228,191,102,.18)!important;color:#ffe9aa!important}
.rtl-site{font-family:Tahoma,Arial,sans-serif;text-align:right}
.rtl-site .site-header-inner,.rtl-site .site-footer-grid,.rtl-site .main-actions,.rtl-site .mini-points,.rtl-site .program-path,.rtl-site .section-intro-wide,.rtl-site .article-layout{direction:rtl}
.rtl-site .site-brand{margin-right:0;margin-left:auto}.rtl-site .site-nav{margin-right:auto;margin-left:0}.rtl-site .language-picker .language-panel{right:auto;left:0;text-align:right}.rtl-site .article-note{border-left:0;border-right:3px solid #d6a84c;border-radius:16px 0 0 16px}.rtl-site .side-links{text-align:right}.rtl-site .site-footer .foot-links{text-align:right}
@media(max-width:1040px){.language-picker{margin:2px 0}.language-picker .language-panel{position:fixed;right:14px;top:76px;z-index:999;grid-template-columns:1fr 1fr}.rtl-site .language-picker .language-panel{right:auto;left:14px}}
@media(max-width:640px){.language-picker .language-panel{width:calc(100vw - 28px);grid-template-columns:1fr 1fr}.rtl-site .page-hero-inner,.rtl-site .main-image-split{direction:rtl}}


/* V9.1 · language navigation: visible on every user-facing page */
.language-picker{isolation:isolate}
.language-picker summary{gap:7px;padding:0 11px;min-width:0;font-weight:800}
.language-picker .language-icon{font-size:.96rem;line-height:1}
.language-picker .language-current{font-size:.76rem;line-height:1;letter-spacing:.01em;white-space:nowrap}
.language-picker[open] summary{background:rgba(228,191,102,.16);border-color:rgba(249,221,142,.72)}
.language-picker .language-panel a[aria-current="true"]{background:rgba(228,191,102,.20)!important;color:#ffe9aa!important;font-weight:900}
@media(max-width:820px){
  .site-nav .language-picker{width:100%;margin:0}
  .site-nav .language-picker summary{width:100%;min-height:46px;justify-content:flex-start;padding:12px 13px;border-radius:12px;font-size:.95rem}
  .site-nav .language-picker .language-current{font-size:.95rem}
  .site-nav .language-picker .language-panel{top:76px;max-height:calc(100svh - 92px)}
}
