/* Final commercial UI/UX pass for the Taihui public tour page.
   Loaded last so it can safely normalize earlier iterative styles. */
.taihui-page{
  --lx-container:1180px;
  --lx-gutter:clamp(20px,3vw,40px);
  --lx-section:clamp(72px,7vw,104px);
  --lx-section-mobile:44px;
  overflow-x:clip;
  background:#fff;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.taihui-page .shell{
  width:min(var(--lx-container),calc(100% - (var(--lx-gutter) * 2)));
  max-width:none;
  margin-inline:auto;
}
.taihui-page section[id]{scroll-margin-top:84px}

/* Hero: premium but not oversized. */
.taihui-hero{min-height:clamp(620px,72vh,820px)}
.taihui-hero__inner{padding-top:clamp(108px,12vh,154px);padding-bottom:clamp(54px,7vh,84px)}
.taihui-hero h1{max-width:1040px;margin:.8rem 0 1.15rem;font-size:clamp(3rem,6.2vw,6.4rem);line-height:.98;letter-spacing:-.055em;text-wrap:balance}
.taihui-hero p{max-width:760px;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.72}
.taihui-tags{margin-top:1.3rem;gap:.5rem}
.taihui-tags span{padding:.48rem .76rem}

/* Ferry strip and sticky chapter navigation. */
.taihui-ferry>.shell{grid-template-columns:210px 1fr;gap:1.5rem;padding-top:14px;padding-bottom:14px}
.taihui-ferry>.shell>div{gap:.9rem}
.taihui-ferry p{line-height:1.45}
.taihui-anchor{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.taihui-anchor::-webkit-scrollbar{display:none}
.taihui-anchor>.shell,.taihui-anchor.is-pdf-aligned>.shell{width:min(var(--lx-container),calc(100% - (var(--lx-gutter) * 2)));min-width:0;grid-template-columns:repeat(6,minmax(0,1fr))}
.taihui-anchor a{display:flex;align-items:center;justify-content:center;min-height:54px;padding:.78rem .45rem;line-height:1.25;white-space:nowrap}

/* Global vertical rhythm. */
.taihui-section{padding:var(--lx-section) 0}
.taihui-heading{margin-bottom:clamp(28px,3.2vw,46px)}
.taihui-heading h2{max-width:980px;margin:.55rem 0 0;font-size:clamp(2.35rem,4.4vw,4.6rem);line-height:1.02;letter-spacing:-.05em;text-wrap:balance}
.taihui-section-lead,.taihui-change-lead{max-width:760px;margin:.85rem 0 0;line-height:1.7}

/* Philosophy section: remove artificial card height and excessive blank space. */
.taihui-story-top{grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);gap:clamp(34px,5vw,72px)}
.taihui-story-top h2{max-width:850px;margin:.65rem 0 0;font-size:clamp(2.65rem,5vw,5.15rem);line-height:1;letter-spacing:-.055em;text-wrap:balance}
.taihui-story-top blockquote{padding:1rem 0 1rem 1.35rem}
.taihui-story-top blockquote p{margin:.22rem 0;line-height:1.62}
.taihui-value-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(30px,3.5vw,48px)}
.taihui-value-card{min-height:0!important;padding:clamp(20px,2vw,28px)}
.taihui-value-card h3{margin:clamp(24px,2.4vw,36px) 0 .65rem;font-size:clamp(1.25rem,1.8vw,1.55rem);line-height:1.15}
.taihui-value-card p{line-height:1.62}
.taihui-spirit{margin-top:16px;padding:15px 18px}
.taihui-manifesto{margin-top:1px}
.taihui-manifesto article{min-height:0;padding:16px 18px}
.taihui-sea-welcome{margin-top:30px;padding:20px 22px}

/* Itinerary and source schedule. */
.taihui-itinerary{border-top-color:#d7d0c6}
.taihui-day{grid-template-columns:150px 1fr;gap:24px;padding:24px 0}
.taihui-day__content h3{font-size:clamp(1.35rem,2vw,1.9rem)}
.taihui-day__content>p{max-width:960px;line-height:1.65}
.taihui-day__content>div{margin-top:12px;gap:8px}
.taihui-day__content>div span{padding:8px 10px;line-height:1.4}
.taihui-source-timeline{margin-top:18px}
.taihui-source-timeline__head{padding:12px 0}
.taihui-source-timeline>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr))}
.taihui-source-timeline p{grid-template-columns:58px 1fr;padding:10px 12px;line-height:1.45}

/* Arrival/departure photo blocks. */
.taihui-photo-grid{gap:18px}
.taihui-photo-card{border-color:#353535}
.taihui-photo-card__body{padding:clamp(20px,2vw,28px)}
.taihui-photo-card h3{font-size:clamp(1.45rem,2vw,1.9rem)}
.taihui-photo-message{margin-top:16px;padding:14px 16px}

/* Destination cards: consistent density on desktop and tablet. */
.taihui-experience-grid{gap:18px}
.taihui-experience{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-height:0!important;border-color:#d9d3ca}
.taihui-experience__visual{min-height:286px}
.taihui-experience__body{min-height:0!important;padding:clamp(20px,2vw,28px)}
.taihui-experience__body h3{margin:16px 0 9px;font-size:clamp(1.4rem,2vw,1.9rem)}
.taihui-experience__body p{line-height:1.62}
.taihui-experience__actions{padding-top:18px}

/* Business inspection panels: compact, aligned and commercial. */
.taihui-business-grid{gap:18px}
.taihui-business-panel{min-height:0!important;padding:clamp(22px,2.4vw,34px);grid-template-rows:auto auto;gap:clamp(28px,4vw,52px)}
.taihui-business-panel h3{margin:18px 0 10px;font-size:clamp(2.15rem,3.8vw,3.75rem);line-height:1.02}
.taihui-business-panel>div>p{line-height:1.65}
.taihui-business-panel ul{align-content:stretch}
.taihui-business-panel li{min-height:0!important;padding:16px 18px;line-height:1.4}
.taihui-business-note{margin-top:18px;padding:15px 18px}

/* Operating standard and included-service grids. */
.taihui-standards,.taihui-included{gap:1px}
.taihui-standards article,.taihui-included article{grid-template-columns:48px 1fr;gap:14px;padding:20px 22px}
.taihui-standards p,.taihui-included p{line-height:1.62}
.taihui-notice>.shell{padding-top:34px;padding-bottom:34px}

/* Desktop / laptop balance. */
@media (max-width:1180px){
  .taihui-page{--lx-container:1040px;--lx-gutter:28px;--lx-section:76px}
  .taihui-story-top{grid-template-columns:1fr;gap:30px}
  .taihui-story-top blockquote{max-width:760px}
  .taihui-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .taihui-manifesto{grid-template-columns:repeat(2,minmax(0,1fr))}
  .taihui-source-timeline>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}
  .taihui-experience-grid{grid-template-columns:1fr}
  .taihui-experience{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
  .taihui-experience__visual{min-height:310px}
}

/* Tablet / large mobile. This breakpoint intentionally starts well above 760px
   because several Android browsers report a wider CSS viewport. */
@media (max-width:900px){
  .taihui-page{--lx-gutter:20px;--lx-section:58px}
  .taihui-hero{min-height:610px}
  .taihui-hero__inner{padding-top:104px;padding-bottom:48px}
  .taihui-hero h1{font-size:clamp(2.65rem,9vw,4.5rem)}
  .taihui-ferry>.shell{grid-template-columns:1fr;gap:10px}
  .taihui-ferry>.shell>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
  .taihui-anchor>.shell,.taihui-anchor.is-pdf-aligned>.shell{display:flex!important;width:max-content!important;min-width:100%!important;max-width:none!important;margin:0;padding-inline:16px}
  .taihui-anchor a{flex:0 0 auto;min-height:50px;padding:.72rem .8rem}
  .taihui-heading{margin-bottom:28px}
  .taihui-heading h2{font-size:clamp(2.15rem,7vw,3.5rem)}
  .taihui-story-top h2{font-size:clamp(2.35rem,7.6vw,3.8rem)}
  .taihui-value-grid,.taihui-manifesto,.taihui-photo-grid,.taihui-business-grid,.taihui-standards,.taihui-included{grid-template-columns:1fr!important}
  .taihui-value-card{padding:20px 22px}
  .taihui-value-card h3{margin:20px 0 8px}
  .taihui-spirit,.taihui-sea-welcome{grid-template-columns:1fr;gap:8px}
  .taihui-sea-welcome{margin-top:22px;padding:17px 18px}
  .taihui-day{grid-template-columns:1fr;gap:8px;padding:20px 0}
  .taihui-source-timeline>div:last-child{grid-template-columns:1fr}
  .taihui-experience{grid-template-columns:1fr}
  .taihui-experience__visual{min-height:0;aspect-ratio:16/9}
  .taihui-experience__body{padding:20px 22px}
  .taihui-business-panel{padding:22px;gap:28px}
  .taihui-business-panel ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .taihui-business-panel li{padding:14px 15px}
  .taihui-notice>.shell{grid-template-columns:1fr;gap:22px}
}

/* Phone. */
@media (max-width:600px){
  .taihui-page{--lx-gutter:16px;--lx-section:44px}
  .taihui-hero{min-height:560px}
  .taihui-hero__inner{padding-top:86px;padding-bottom:38px}
  .taihui-hero__route{margin-top:14px;font-size:.74rem;line-height:1.45}
  .taihui-hero h1{margin:.6rem 0 .9rem;font-size:clamp(2.28rem,11.4vw,3.2rem);line-height:1.01;letter-spacing:-.05em}
  .taihui-hero p{font-size:.96rem;line-height:1.65}
  .taihui-tags{margin-top:16px}
  .taihui-tags span{padding:.4rem .62rem;font-size:.64rem}
  .taihui-ferry>.shell{padding-top:12px;padding-bottom:12px}
  .taihui-ferry>.shell>div{grid-template-columns:1fr}
  .taihui-ferry p{font-size:.72rem}
  .taihui-anchor a{padding:.68rem .72rem;font-size:.7rem}
  .taihui-heading{margin-bottom:22px}
  .taihui-heading h2{font-size:2.05rem;line-height:1.06}
  .taihui-story-top{gap:22px}
  .taihui-story-top h2{font-size:2.2rem;line-height:1.04}
  .taihui-story-top blockquote{padding:.75rem 0 .75rem 1rem}
  .taihui-story-top blockquote p{font-size:.92rem}
  .taihui-value-grid{margin-top:24px}
  .taihui-value-card{padding:18px 20px}
  .taihui-value-card h3{margin:16px 0 7px;font-size:1.28rem}
  .taihui-value-card p{font-size:.92rem;line-height:1.58}
  .taihui-manifesto article{padding:14px 16px}
  .taihui-spirit{padding:14px 16px}
  .taihui-spirit strong{line-height:1.55}
  .taihui-sea-welcome{padding:15px 16px}
  .taihui-sea-welcome p{font-size:1.05rem}
  .taihui-day{padding:18px 0}
  .taihui-day__content h3{font-size:1.35rem}
  .taihui-day__content>p{font-size:.93rem}
  .taihui-day__content>div span{font-size:.7rem}
  .taihui-source-timeline__head{gap:6px}
  .taihui-source-timeline p{grid-template-columns:54px 1fr;padding:9px 10px}
  .taihui-photo-card__body,.taihui-experience__body{padding:18px}
  .taihui-photo-card h3,.taihui-experience__body h3{font-size:1.45rem}
  .taihui-business-panel{padding:18px}
  .taihui-business-panel h3{font-size:2rem}
  .taihui-business-panel ul{grid-template-columns:1fr}
  .taihui-business-panel li{padding:13px 14px;font-size:.92rem}
  .taihui-standards article,.taihui-included article{grid-template-columns:38px 1fr;padding:17px 16px}
  .taihui-notice>.shell{padding-top:28px;padding-bottom:28px}
  .taihui-notice a{width:100%;justify-content:space-between}
}

@media (prefers-reduced-motion:reduce){
  .taihui-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
