﻿/* WeChat mobile H5 */
:root{--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--app-vh:1vh}
html{background:#0a0d0c;-webkit-text-size-adjust:100%}body{overscroll-behavior-y:none}.h5-nav,.h5-progress{display:none}
@media(max-width:860px){body{padding-bottom:calc(70px + var(--safe-b));overflow-x:hidden}.top{height:calc(58px + var(--safe-t));padding-top:var(--safe-t);padding-left:18px;padding-right:18px}.brand{font-size:.7rem}.top-actions{gap:.45rem}.nav{top:calc(58px + var(--safe-t));padding-bottom:calc(30px + var(--safe-b))}
.gate{height:calc(var(--app-vh)*100);min-height:580px;padding:calc(56px + var(--safe-t)) 22px calc(30px + var(--safe-b))}.gate-in{gap:1.35rem}.bell{width:9rem;height:9rem}.gate-ttl{font-size:2rem}.gate-sub{font-size:.58rem;letter-spacing:.28em;text-align:center}.hero{min-height:calc(var(--app-vh)*100);height:auto}.hero-in{padding:calc(98px + var(--safe-t)) 23px 96px}
.hero h1{font-size:clamp(2.65rem,13vw,4.4rem);line-height:1.02}.hero .lede{font-size:1rem;line-height:1.78}.hero-badge{font-size:.58rem;line-height:1.55;letter-spacing:.1em;margin-bottom:1.35rem}.hero-cta{gap:.65rem}.btn{min-height:48px;padding:.85rem 1.15rem;justify-content:center}.scrollhint{bottom:4.8rem}.sec{padding:5.5rem 22px}.wrap,.wrap.narrow{width:100%}
h2.disp{font-size:clamp(2.05rem,10.5vw,3.25rem);line-height:1.12}.lede{font-size:1rem;line-height:1.82}.quote{margin-left:0;margin-right:0;padding:1.35rem 0 1.35rem 1.25rem}.split{gap:2.2rem}.ph-in{border-radius:2px}.tl{padding-left:2rem}.tl-i{padding-bottom:2rem}.tl-i::before{left:-2rem}.card{padding:1.45rem 1.25rem}
#practice .g3{display:flex;overflow-x:auto;gap:14px;margin-left:-22px;margin-right:-22px;padding:0 22px 18px;scroll-snap-type:x mandatory;scrollbar-width:none}#practice .g3::-webkit-scrollbar{display:none}#practice .g3>*{flex:0 0 82vw;max-width:360px;scroll-snap-align:center}#practice .ph-in{aspect-ratio:4/3}.day-h{grid-template-columns:2.6rem 1fr auto;gap:.7rem;padding:1.3rem 0}
.day-t{font-size:1.05rem}.day-b-in{padding:0 0 1.6rem 3.3rem}.blk{grid-template-columns:1fr;gap:.35rem}.factrow{grid-template-columns:repeat(2,1fr)}.fact{padding:1.1rem .85rem}.fact b{font-size:1.25rem}.offer{padding:1.5rem}.price{font-size:3.3rem}.form{gap:1.25rem}.fld input,.fld select,.fld textarea{font-size:16px;min-height:44px}
.future-hero{min-height:calc(var(--app-vh)*100)}.future-hero-in{padding:calc(98px + var(--safe-t)) 22px 88px}.future-hero h1{font-size:clamp(3rem,16vw,4.6rem)}.future-intro,.bridge-gifts-head,.generations{gap:2rem}.ways{display:flex;overflow-x:auto;gap:14px;margin:2.6rem -22px 0;padding:0 22px 18px;scroll-snap-type:x mandatory;scrollbar-width:none}.ways::-webkit-scrollbar{display:none}
.way{flex:0 0 84vw;max-width:370px;scroll-snap-align:center;display:block}.way-fig{aspect-ratio:4/5}.way-cap{padding:1.35rem}.future-hall{min-height:calc(var(--app-vh)*88)}.future-hall-in{padding:7rem 22px}.bridge-gifts{grid-template-columns:1fr}.gift{padding:1.35rem}.gen-panel{min-height:30rem}.horizon-lines>span{white-space:normal}.horizon-promise{font-size:1.05rem}
.horizon-lines>span{display:block;white-space:nowrap}.horizon-promise{font-size:clamp(.76rem,3.8vw,.98rem);line-height:2}.aud{right:14px;bottom:calc(78px + var(--safe-b))}.aud-lab{display:none}.aud-btn{width:42px;height:42px}.foot{padding:3.5rem 22px calc(2rem + var(--safe-b))}.foot-in{grid-template-columns:1fr;gap:2rem}.foot-in>div:not(:first-child){display:none}.disclaim{margin-top:2rem}
.h5-progress{display:block;position:fixed;z-index:180;left:0;top:0;width:100%;height:2px;background:rgba(255,255,255,.04)}.h5-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#a8402f,#e0c894);box-shadow:0 0 8px rgba(224,200,148,.45);will-change:width}.h5-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:160;left:0;right:0;bottom:0}
.h5-nav{height:calc(64px + var(--safe-b));padding:7px 8px var(--safe-b);background:rgba(10,13,12,.91);border-top:1px solid rgba(194,160,94,.17);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.h5-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#77766e;font:500 9px/1.1 var(--f-ui);letter-spacing:.04em}.h5-nav a::before{font-size:17px;line-height:1}
.h5-nav a:nth-child(1)::before{content:"◉"}.h5-nav a:nth-child(2)::before{content:"坐";font-family:var(--f-kai)}.h5-nav a:nth-child(3)::before{content:"十";font-family:var(--f-kai)}.h5-nav a:nth-child(4)::before{content:"∞"}.h5-nav a:nth-child(5)::before{content:"印";font-family:var(--f-kai)}.h5-nav a.on{color:#e0c894}.h5-nav a.on::after{content:"";position:absolute;bottom:calc(4px + var(--safe-b));width:16px;height:1px;background:#c2a05e}
.h5-nav a{position:relative}.h5-swipe{font:500 9px var(--f-ui);letter-spacing:.12em;color:var(--t3);margin-top:10px}.h5-swipe::before{content:"←  ";color:var(--gold)}.h5-swipe::after{content:"  →";color:var(--gold)}}
@media(max-width:360px){.top{padding-left:12px;padding-right:12px}.brand{font-size:.62rem}.lang button{padding:.25rem}.hero-in,.sec{padding-left:18px;padding-right:18px}.horizon-promise{font-size:.75rem}}
img[loading="lazy"]{background:#111714}html.h5-ready img[loading="lazy"]{transition:opacity .45s ease}
section[id]{scroll-margin-top:64px}@media(max-width:860px){.days{overflow:hidden}.day-h>*{min-width:0}.day-t{overflow-wrap:anywhere}.future-hero{width:100%;max-width:100vw}.horizon-promise{font-size:clamp(.64rem,2.9vw,.78rem);letter-spacing:-.02em}}@media(max-width:360px){.brand>span:not(.zhb){display:none}.brand .zhb{font-size:.78rem;letter-spacing:.16em}}
@media(max-width:360px){.factrow{grid-template-columns:1fr}.fact b,.fact span.dl{white-space:normal}}

/* The wordmark must not break mid-word on a narrow phone: 東西精華 held on one
   line, the English held on one line, the two stacked deliberately. */
@media(max-width:860px){
  .brand{flex-wrap:wrap;gap:0 .5rem;line-height:1.3}
  .brand>span{white-space:nowrap}
  .brand span.zhb{font-size:.8rem;letter-spacing:.18em}
}
