/* ZeL CuraTours · corporate product pages (H family: high-alps, han-tang-splendour) · corporate-core.css · built 2026-10-24 (H1, drafts)
   Layer L3. Replaces, for these 4 pages only: zel-editorial.css + corp-product.css + the page-level <style> blocks. Zero visual change (Gate 2).
   [A] tokens/base (from product-core [B]) · [C] corp-product.css 2026-10-04 verbatim · [D] page-level blocks shared by all four corporate pages. */

/* --- [A] ZDS tokens + base rules — copied from product-core.css block [B] (= zel-editorial.css), private .fx-* rules removed. Same values as product-core, kept as a separate copy on purpose (29 §3-3). --- */
/* ZeL Editorial Design System · shared layer · 2026-10-04
   One skin for two architectures:
     · Product Page (collections/*, body.zds.zds-product) keeps its commercial architecture —
       glance → idea → route → worlds → stays → curator → aurora → why → investment → questions → begin;
     · Case Study (work/*, body.zds.zds-case) keeps its editorial architecture —
       brief → idea → chapters → design logic → close → enquiry.
   What they share is defined here: typography, spacing, colour, navigation, buttons, image treatment,
   chapter language, CTA styling, footer, trust treatment and responsive behaviour.
   Each page keeps its own component vocabulary (.fx-* on product pages, .c8/.cs/.sh on case studies);
   this file maps both onto the same tokens. Loaded last. Spec: project doc zel-editorial-design-system. */

:root{
  /* colour (locked Editorial direction, 2026-10-02) */
  --zds-paper:#FAF9F6; --zds-panel:#F4F2EE; --zds-ink:#3A3A3A; --zds-ink-2:#55524C; --zds-muted:#64615A;
  --zds-line:#D9D4CA; --zds-zel:#4BA8D1; --zds-zel-text:#26769C; --zds-gold:#C9A96B; --zds-night:#0F2A44;
  /* type */
  --zds-serif:"Lora","Noto Serif SC",Georgia,serif; --zds-sans:"Jost","Noto Sans SC",system-ui,sans-serif;
  --zds-num:clamp(44px,4.6vw,64px);      /* chapter number */
  --zds-h2:clamp(30px,3.2vw,46px);       /* chapter title */
  --zds-lede:clamp(18px,1.5vw,21px);     /* chapter lede, serif */
  --zds-h3:clamp(24px,2.1vw,30px);
  --zds-body:18px; --zds-body-lh:1.8;    /* running text: one size, one rhythm, everywhere */
  --zds-label:15px;                      /* the smallest type on any page */
  --zds-quote:clamp(19px,1.6vw,22px);
  /* space */
  --zds-sec:clamp(72px,8vw,120px);       /* section top / bottom */
  --zds-head-gap:clamp(28px,3.4vw,48px); /* chapter head → content */
  --zds-nav:84px; --zds-nav-m:72px;
}

/* ---------- base ---------- */
body.zds{background:var(--zds-paper);color:var(--zds-ink)}

/* ---------- navigation: one header, two link sets ----------
   Case study: the site header (.hdr, editorial-shell.css). Product page: the page header (.fx-nav) keeps its
   in-page chapters (commercial), but wears the same bar: same height, mark, type, button and white solid state. */


















/* ---------- chapter language: number · title · lede ---------- */
body.zds .sh-n{font:400 var(--zds-num)/1 var(--zds-serif)!important;letter-spacing:0!important;color:var(--zds-zel)!important;text-transform:none}

/* SECTION HEADING · face only. Size is owned by L2 (zel-unify, ≥821px) — see 09 §2–3 and 12-decision 02 (A+C). */
body.zds .sh h2{font-weight:400!important;font-style:normal!important;font-variant:normal!important;font-stretch:normal!important;line-height:1.15!important;font-family:var(--zds-serif)!important;letter-spacing:0!important;text-transform:none!important}
/* SECTION HEADING · phone size (L2 has no rule below 821px; keeps today's 30px) */
@media(max-width:820px){body.zds .sh h2{font-size:30px}}
body.zds .sh-l{font:400 var(--zds-lede)/1.6 var(--zds-serif)!important;letter-spacing:0!important;text-transform:none!important;color:var(--zds-ink-2)}
body.zds .c8-dk .sh-l{color:rgba(255,255,255,.82)!important}



/* ---------- running text: one size and one rhythm ---------- */
body.zds .dd-p,body.zds .dbd4 .xt p,body.zds .dbd8 .dm p.dm-p,body.zds .cs-p,body.zds .c8-brief p,body.zds .c8-lg p,body.zds .c8 .lead{
  font-size:var(--zds-body)!important;line-height:var(--zds-body-lh)!important;font-weight:400!important}
body.zds .dd-p,body.zds .dbd4 .xt p,body.zds .dbd8 .dm p.dm-p,body.zds .cs-p,body.zds .c8-brief p,body.zds .c8-lg p{color:var(--zds-ink)!important}

/* ---------- labels: 15px, never smaller; one key label per block in ZeL Blue text tone ---------- */
body.zds .rs-k,body.zds .dbd .rs-dec span,body.zds .cs-dd small,body.zds .rt8-k{font-size:var(--zds-label)!important}
body.zds .dd-k,body.zds .dbd8 .dm-k,body.zds .cs-side small{font:500 var(--zds-label)/1.4 var(--zds-sans)!important;letter-spacing:.08em!important;color:var(--zds-zel-text)!important}
body.zds:not(.zh) .dd-k,body.zds:not(.zh) .dbd8 .dm-k,body.zds:not(.zh) .cs-side small{letter-spacing:.12em!important;text-transform:uppercase}

/* ---------- design decision: the same quote on both templates ---------- */
body.zds .dbd .rs-dec,body.zds .cs-dd{border-left:2px solid var(--zds-gold)!important;padding:2px 0 2px 18px!important;background:none!important}
body.zds .dbd .rs-dec,body.zds .cs-dd p{font:400 var(--zds-quote)/1.6 var(--zds-serif)!important;color:var(--zds-ink)!important}
body.zds .dbd .rs-dec span,body.zds .cs-dd small{display:block;margin-bottom:6px;font:500 var(--zds-label)/1.3 var(--zds-sans)!important;letter-spacing:.08em!important;color:var(--zds-muted)!important;text-transform:none!important}

/* ---------- buttons: one system ---------- */
body.zds .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 30px!important;
  font:500 16px/1 var(--zds-sans)!important;letter-spacing:.14em!important;text-transform:uppercase;border-radius:0!important;border-width:1px;transition:background .25s,border-color .25s,color .25s}
body.zds.zh .btn{letter-spacing:.06em!important}
body.zds .btn.pri{background:var(--zds-zel)!important;border-color:var(--zds-zel)!important;color:#fff!important}
body.zds .btn.pri:hover{background:var(--zds-night)!important;border-color:var(--zds-night)!important}

@media(max-width:480px){body.zds .btn{padding:0 18px!important;letter-spacing:.08em!important}}

/* ---------- image treatment: square corners, cover, captions in muted 15px ---------- */
body.zds section img{border-radius:0}
body.zds figcaption,body.zds .dbd4 .xc span,body.zds .cs-pair figcaption,body.zds .cap{font:400 15px/1.5 var(--zds-sans);color:var(--zds-muted)}

/* ---------- spacing ---------- */
body.zds section.c8{padding-top:var(--zds-sec)!important;padding-bottom:var(--zds-sec)!important}

/* ---------- trust: one strip above the footer, one line in the footer ---------- */
body.zds .trust{background:var(--zds-paper);border-top:1px solid var(--zds-line);padding:26px 0!important;text-align:center}
body.zds .trust p{font:400 16px/1.6 var(--zds-sans)!important;color:var(--zds-ink-2)!important;margin:0}
body.zds .trust p b{color:var(--zds-ink)!important;font-weight:500}

/* ---------- footer: Deep Navy, the site footer on every template (footer.ef, editorial-shell.css) ---------- */
body.zds footer.ef{background:var(--zds-night)!important}
body.zds footer.ef .f-brand b{font:500 26px/1.2 var(--zds-serif)!important;color:#fff!important}
body.zds footer.ef .f-brand b span{display:inline!important;font:inherit!important;letter-spacing:inherit!important;text-transform:none!important;color:var(--zds-zel)!important;margin:0!important}

/* ---------- WhatsApp: one float ---------- */
body.zds .wa,body.zds .zwa{right:22px;bottom:22px;width:58px;height:58px}
@media(max-width:600px){body.zds .wa,body.zds .zwa{right:16px;bottom:16px;width:54px;height:54px}}

/* ---------- responsive: one set of breakpoints (1080 navigation · 900 two-column → one · 480 small phones) ---------- */
@media(max-width:900px){body.zds{--zds-body:17.5px}}

@media print{body.zds .wa,body.zds .zwa{display:none!important}
  body.zds footer.ef{background:none!important;color:#000}}

/* secondary buttons: outline — white on photographs, ink on paper (one primary per group) */



body.zds .btn.line{background:transparent!important;color:var(--zds-ink)!important;border:1px solid var(--zds-ink)!important}
/* product hero: "see the journey" scrolls the page, so it is the secondary; the enquiry stays primary */

/* --- [C] corp-product.css (2026-10-04) verbatim --- */
/* ZeL CuraTours · Corporate product page · 2026-10-04
   One design system (zel-editorial.css tokens), corporate sales logic. Scope: body.cp. Loaded after zel-editorial.css. */
body.cp{background:var(--zds-paper);color:var(--zds-ink);font:400 var(--zds-body)/var(--zds-body-lh) var(--zds-sans)}

.cp-w{width:min(100%,1320px);margin:0 auto;padding:0 clamp(20px,4.4vw,56px)}
.cp-s{padding:var(--zds-sec) 0;scroll-margin-top:140px}
.cp-s.panel{background:var(--zds-panel)}
.cp-s.night{background:var(--zds-night);color:rgba(255,255,255,.88)}
.cp-s+.cp-s:not(.panel):not(.night){border-top:1px solid var(--zds-line)}

/* chapter head: number · title | lede */
.cp-h{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,72px);align-items:end;margin-bottom:var(--zds-head-gap);padding-bottom:22px;border-bottom:1px solid var(--zds-gold)}
.cp-h .n{display:block;font:400 var(--zds-num)/1 var(--zds-serif);color:var(--zds-zel);margin-bottom:14px}
.cp-h h2{font:400 var(--zds-h2)/1.15 var(--zds-serif);margin:0;color:var(--zds-ink)}
.cp-h .l{font:400 var(--zds-lede)/1.6 var(--zds-serif);color:var(--zds-ink-2)}
.night .cp-h{border-bottom-color:rgba(201,169,107,.55)}
.night .cp-h h2{color:#fff}.night .cp-h .l{color:rgba(255,255,255,.82)}

/* hero (site .pg-hero) */
body.cp .pg-hero .eb{font:500 16px/1.4 var(--zds-sans);letter-spacing:.16em;text-transform:uppercase;color:#fff}
body.cp.zh .pg-hero .eb{letter-spacing:.12em}
body.cp .pg-hero h1{font:400 clamp(46px,7vw,96px)/1.05 var(--zds-serif);color:#fff;margin:18px 0 0;letter-spacing:.01em}
body.cp .pg-hero .pg-hero-s{font:400 clamp(19px,1.8vw,24px)/1.6 var(--zds-serif);color:rgba(255,255,255,.92);margin:22px auto 0;max-width:34em}
.cp-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin:28px 0 0;padding:0;list-style:none}
.cp-meta li{font:500 16px/1 var(--zds-sans);letter-spacing:.06em;color:#fff;padding:0 18px;border-left:1px solid rgba(255,255,255,.5)}
.cp-meta li:first-child{border-left:0}
.cp-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:34px}
body.cp .btn.ghost{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.85)!important}
body.cp .btn.ghost:hover{background:#fff!important;color:var(--zds-night)!important}

/* in-page jump row */
.cp-jump{position:sticky;top:84px;z-index:20;background:rgba(250,249,246,.96);border-bottom:1px solid var(--zds-line);backdrop-filter:blur(6px)}
.cp-jump .cp-w{display:flex;gap:30px;align-items:center;overflow-x:auto;min-height:56px;scrollbar-width:none}
.cp-jump .cp-w::-webkit-scrollbar{display:none}
.cp-jump a{font:500 15px/1 var(--zds-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--zds-ink-2);text-decoration:none;white-space:nowrap;padding:8px 0;border-bottom:1px solid transparent}
.cp-jump a:hover{color:var(--zds-zel-text);border-bottom-color:currentColor}
.cp-jump .go{margin-left:auto;color:var(--zds-zel-text)}
body.cp.zh .cp-jump a{letter-spacing:.08em}

/* 01 brief */
.cp-brief{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,88px)}
.cp-q{font:400 clamp(24px,2.3vw,32px)/1.55 var(--zds-serif);color:var(--zds-ink);margin-bottom:32px}
.cp-q b{font-weight:500;color:var(--zds-zel-text)}
.cp-brief .txt p+p{margin-top:18px}
.cp-dl{margin:0;border-top:1px solid var(--zds-line)}
.cp-dl div{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--zds-line)}
.cp-dl dt{font:500 15px/1.6 var(--zds-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--zds-muted)}
.cp-dl dd{margin:0;font:400 17px/1.6 var(--zds-sans)}
body.cp.zh .cp-dl dt{letter-spacing:.06em}

/* 02 objectives */
.cp-obj{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.4vw,40px)}
.cp-obj article{border-top:1px solid var(--zds-ink);padding-top:22px}
.cp-obj .k{font:500 15px/1 var(--zds-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--zds-zel-text)}
.cp-obj h3{font:400 var(--zds-h3)/1.25 var(--zds-serif);margin:14px 0 12px}
.cp-obj p{font-size:17px;line-height:1.75;color:var(--zds-ink-2)}

/* 03 concept */
.cp-why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px)}
.cp-why h3{font:400 22px/1.4 var(--zds-serif);margin:0 0 10px}
.cp-why p{color:var(--zds-ink-2)}
.cp-arc-t{font:500 15px/1 var(--zds-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--zds-muted);margin:clamp(48px,6vw,80px) 0 34px}
body.cp.zh .cp-arc-t,body.cp.zh .cp-obj .k{letter-spacing:.08em}
.cp-arc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0;position:relative}
.cp-arc:before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:var(--zds-gold)}
.cp-arc li{position:relative;padding:34px 18px 0 0}
.cp-arc li:before{content:"";position:absolute;left:0;top:3px;width:13px;height:13px;border-radius:50%;background:var(--zds-paper);border:2px solid var(--zds-zel)}
.cp-arc .d{font:500 15px/1 var(--zds-sans);color:var(--zds-zel-text);letter-spacing:.06em}
.cp-arc b{display:block;font:400 26px/1.25 var(--zds-serif);font-weight:400;margin:12px 0 4px}
.cp-arc .w{font:500 15px/1.4 var(--zds-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--zds-muted)}
.cp-arc p{font-size:17px;color:var(--zds-ink-2);margin-top:8px}
.cp-dec{border-left:2px solid var(--zds-gold);padding:2px 0 2px 20px;margin-top:clamp(36px,4vw,56px);max-width:52em}
.cp-dec small{display:block;font:500 15px/1.3 var(--zds-sans);letter-spacing:.08em;color:var(--zds-muted);margin-bottom:8px}
.cp-dec p{font:400 var(--zds-quote)/1.65 var(--zds-serif);color:var(--zds-ink)}
.night .cp-dec p{color:#fff}.night .cp-dec small{color:rgba(255,255,255,.7)}
.cp-band{margin:0;display:grid;grid-template-columns:.75fr 1.39fr 1fr;gap:6px}
.cp-band img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;display:block}
@media(max-width:600px){.cp-band{grid-template-columns:.75fr 1fr}.cp-band img:nth-child(2){grid-column:1/-1;grid-row:1}}

/* 04 experience */
.cp-feat .ph{display:grid;grid-template-columns:3fr 2fr;grid-template-rows:minmax(0,1fr);gap:clamp(10px,1.2vw,16px);height:clamp(220px,26vw,380px);overflow:hidden;margin-bottom:clamp(24px,2.8vw,40px)}
.cp-feat.rev .ph{grid-template-columns:2fr 3fr}
.cp-feat .ph img{width:100%;height:100%;min-height:0;object-fit:cover;display:block}
.cp-feat .tx{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,72px);align-items:end}
.cp-feat+.cp-feat,.cp-fan+.cp-feat{margin-top:clamp(64px,8vw,120px)}
.cp-k{display:block;font:500 15px/1.4 var(--zds-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--zds-zel-text);margin-bottom:14px}
body.cp.zh .cp-k{letter-spacing:.06em}
.cp-feat h3{font:400 clamp(30px,2.8vw,40px)/1.2 var(--zds-serif);margin:0 0 20px}
.cp-feat .tx p+p{margin-top:16px}
.cp-feat .note{font-size:16px;color:var(--zds-muted);margin-top:18px}
.cp-chain{display:flex;flex-wrap:wrap;gap:6px 0;list-style:none;padding:0;margin:4px 0 22px}
.cp-chain li{font:400 19px/1.5 var(--zds-serif);color:var(--zds-zel-text)}
.cp-chain li+li:before{content:"→";margin:0 12px;color:var(--zds-gold)}
.cp-fan{background:var(--zds-panel);padding:clamp(28px,3.6vw,52px);margin-top:clamp(64px,8vw,120px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);align-items:center}
.cp-fan h3{margin-bottom:18px!important}
.cp-fan .fp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,1.2vw,16px);height:clamp(240px,26vw,380px)}
.cp-fan .fp img{width:100%;height:100%;min-height:0;object-fit:cover;display:block}
.cp-fan h3{font:400 clamp(28px,2.6vw,36px)/1.2 var(--zds-serif);margin:0}
.cp-fan .cp-dec{margin-top:24px}
.cp-gala{margin-top:clamp(64px,8vw,120px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,4.4vw,80px);align-items:start}
.cp-gala figure{margin:0}
.cp-gala img{width:100%;aspect-ratio:4/3;max-height:480px;object-position:50% 40%;object-fit:cover;display:block}
.cp-gala h3{font:400 clamp(30px,2.8vw,40px)/1.2 var(--zds-serif);margin:0 0 22px;letter-spacing:.04em}
.cp-flow{list-style:none;margin:0;padding:0;border-top:1px solid var(--zds-line);counter-reset:f}
.cp-flow li{display:grid;grid-template-columns:44px 120px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--zds-line);counter-increment:f;align-items:baseline}
.cp-flow li:before{content:counter(f,decimal-leading-zero);font:400 20px/1 var(--zds-serif);color:var(--zds-zel)}
.cp-flow b{font:500 17px/1.5 var(--zds-sans)}
.cp-flow span{font-size:17px;line-height:1.6;color:var(--zds-ink-2)}
.cp-in{margin-top:28px}
.cp-in h4{font:500 15px/1 var(--zds-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--zds-muted);margin:0 0 10px}
body.cp.zh .cp-in h4{letter-spacing:.06em}
.cp-in div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--zds-line);font-size:17px}
.cp-in div span:last-child{color:var(--zds-muted);white-space:nowrap}

/* 05 programme: every day readable, no accordion */
.cp-day{padding:clamp(40px,4.4vw,64px) 0;border-top:1px solid var(--zds-line)}
.cp-day:first-of-type{border-top:0;padding-top:0}
.cp-day .hd{display:flex;align-items:baseline;justify-content:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:8px}
.cp-day .hd .d{font:500 17px/1 var(--zds-sans);color:var(--zds-zel-text);letter-spacing:.04em}
.cp-day .hd .th{font:500 15px/1 var(--zds-sans);letter-spacing:.16em;color:var(--zds-muted)}
.cp-day h3{font:400 clamp(32px,3.2vw,46px)/1.15 var(--zds-serif);margin:0 0 clamp(22px,2.6vw,34px)}
.cp-day .bd{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,4vw,64px)}
.cp-day:not(.lite) .bd{grid-template-columns:minmax(0,11fr) minmax(0,13fr);align-items:stretch}
.cp-day:not(.lite) .cp-sl li{line-height:1.65}.cp-day:not(.lite) .cp-sl dd{margin-bottom:6px}.cp-day:not(.lite) .cp-sl dt{line-height:1.65}
.cp-day:not(.lite) .bd .tx{grid-template-columns:minmax(0,1fr);gap:20px}
.cp-day .ph{position:relative;min-height:clamp(380px,32vw,470px)}
.cp-day .ph img{position:absolute;top:0;bottom:0;width:calc(50% - 7px);height:100%;object-fit:cover;display:block}
.cp-day .ph img+img{right:0}
.cp-day .tx{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,72px);align-items:start}
.cp-sl{display:grid;grid-template-columns:92px 1fr;gap:6px 16px;margin:0}
.cp-sl dt{font:500 15px/1.85 var(--zds-sans);letter-spacing:.06em;color:var(--zds-muted);padding-top:2px}
.cp-sl dd{margin:0 0 10px}
.cp-sl ul{list-style:none;margin:0;padding:0}
.cp-sl li{position:relative;padding-left:18px}
.cp-sl li:before{content:"";position:absolute;left:0;top:.82em;width:7px;height:1px;background:var(--zds-ink-2)}
.cp-day .fo{display:flex;flex-direction:column;gap:6px;padding:0 0 16px;border-bottom:1px solid var(--zds-line);font-size:16px;color:var(--zds-ink-2)}
.cp-day .fo b{font-weight:500;color:var(--zds-muted);margin-right:10px}
.cp-day .cp-dec{margin-top:20px}
.cp-day .cp-dec p{font-size:19px}
.cp-pnote{font-size:16px;color:var(--zds-muted);margin-top:28px}

/* 06 outcomes */
.cp-out{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(28px,4vw,72px)}
.cp-out article{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:26px 0;border-top:1px solid var(--zds-line)}
.cp-out .n{font:400 34px/1 var(--zds-serif);color:var(--zds-zel)}
.cp-out h3{font:400 24px/1.35 var(--zds-serif);margin:0 0 8px}
.cp-out p{color:var(--zds-ink-2)}

/* 07 confidence */
.cp-conf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4.4vw,80px)}
.cp-conf h3,.cp-proof h3{font:500 15px/1 var(--zds-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--zds-muted);margin:0 0 12px}
body.cp.zh .cp-conf h3,body.cp.zh .cp-proof h3{letter-spacing:.08em}
.cp-li{border-top:1px solid var(--zds-line)}
.cp-li div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--zds-line)}
.cp-li b{font:500 17px/1.6 var(--zds-sans);color:var(--zds-ink)}
.cp-li p{font-size:17px;line-height:1.7;color:var(--zds-ink-2)}
.cp-pl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:clamp(48px,6vw,80px)}
.cp-pl div{border-left:2px solid var(--zds-gold);padding-left:20px}
.cp-pl b{display:block;font:400 22px/1.4 var(--zds-serif);font-weight:400;margin-bottom:8px}
.cp-pl p{color:var(--zds-ink-2);font-size:17px}
.cp-proof{margin-top:clamp(48px,6vw,80px)}
.cp-proof .g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cp-proof a{display:flex;flex-direction:column;gap:8px;padding:22px;background:#fff;border:1px solid var(--zds-line);text-decoration:none;color:var(--zds-ink);transition:border-color .2s}
.cp-proof a:hover{border-color:var(--zds-zel)}
.cp-proof .st{font:500 15px/1 var(--zds-sans);letter-spacing:.1em;color:var(--zds-zel-text)}
.cp-proof b{font:400 24px/1.25 var(--zds-serif);font-weight:400}
.cp-proof .pm{font-size:16px;line-height:1.6;color:var(--zds-ink-2);flex:1}
.cp-proof .go{font:500 15px/1 var(--zds-sans);letter-spacing:.08em;color:var(--zds-zel-text)}

/* 08 investment */
.cp-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);align-items:stretch}
.cp-tier{background:#fff;border:1px solid var(--zds-line);border-top:3px solid var(--zds-line);padding:clamp(24px,2.6vw,36px);display:flex;flex-direction:column}
.cp-tier.sel{border-top-color:var(--zds-zel);box-shadow:0 18px 40px -28px rgba(15,42,68,.35)}
.cp-tier .top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.cp-tier .en{font:500 15px/1 var(--zds-sans);letter-spacing:.16em;color:var(--zds-muted)}
.cp-tier .tag{font:500 15px/1 var(--zds-sans);letter-spacing:.08em;color:var(--zds-zel-text);border-bottom:1px solid currentColor;padding-bottom:3px}
.cp-tier h3{font:400 32px/1.2 var(--zds-serif);margin:14px 0 6px}
.cp-tier .pr{font:400 clamp(34px,3vw,44px)/1.1 var(--zds-serif);color:var(--zds-ink);margin:16px 0 4px}
.cp-tier.sel .pr{color:var(--zds-zel-text)}
.cp-tier .pr small{font:400 16px/1 var(--zds-sans);color:var(--zds-muted);margin-left:8px}
.cp-tier .ba{font-size:15px;color:var(--zds-muted)}
.cp-tier .pos{font:400 19px/1.55 var(--zds-serif);margin:18px 0 16px;padding-top:16px;border-top:1px solid var(--zds-line)}
.cp-tier ul{list-style:none;margin:0;padding:0}
.cp-tier li{position:relative;padding:7px 0 7px 26px;font-size:16.5px;line-height:1.6;color:var(--zds-ink-2)}
.cp-tier li:before{content:"";position:absolute;left:2px;top:15px;width:11px;height:6px;border-left:1.5px solid var(--zds-zel);border-bottom:1.5px solid var(--zds-zel);transform:rotate(-45deg)}
.cp-sub{font:500 15px/1 var(--zds-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--zds-muted);margin:clamp(48px,6vw,80px) 0 14px}
body.cp.zh .cp-sub{letter-spacing:.08em}
.cp-tbl{width:100%;border-collapse:collapse;font-size:17px}
.cp-tbl th,.cp-tbl td{text-align:left;padding:14px 16px 14px 0;border-bottom:1px solid var(--zds-line);vertical-align:top;line-height:1.55}
.cp-tbl thead th{font:500 15px/1.3 var(--zds-sans);letter-spacing:.08em;color:var(--zds-muted);border-bottom-color:var(--zds-ink)}
.cp-tbl tbody th{font-weight:500;white-space:nowrap}
.cp-tbl .sel{color:var(--zds-zel-text)}
.cp-tnote{font-size:15px;color:var(--zds-muted);margin-top:12px}
.cp-hgal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:clamp(28px,3vw,40px)}
.cp-hgal .t{font:500 15px/1 var(--zds-sans);letter-spacing:.08em;color:var(--zds-muted);padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--zds-line)}
.cp-hgal .sel .t{color:var(--zds-zel-text);border-bottom-color:var(--zds-zel)}
.cp-hgal figure{margin:0 0 18px}
.cp-hgal img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.cp-hgal figcaption{margin-top:8px;font:400 16px/1.5 var(--zds-sans);color:var(--zds-ink-2)}
.cp-ie{display:grid;grid-template-columns:3fr 2fr;gap:clamp(28px,4vw,72px)}
.cp-ie ul{list-style:none;margin:0;padding:0;columns:2;column-gap:32px}
.cp-ie .x ul{columns:1}
.cp-ie li{break-inside:avoid;position:relative;padding:8px 0 8px 22px;font-size:17px;line-height:1.6;border-bottom:1px solid var(--zds-line)}
.cp-ie .i li:before{content:"";position:absolute;left:1px;top:17px;width:10px;height:5px;border-left:1.5px solid var(--zds-zel);border-bottom:1.5px solid var(--zds-zel);transform:rotate(-45deg)}
.cp-ie .x li:before{content:"–";position:absolute;left:2px;top:8px;color:var(--zds-muted)}
.cp-terms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--zds-ink);border-bottom:1px solid var(--zds-line)}
.cp-terms div{padding:20px 18px 20px 0}
.cp-terms div+div{padding-left:18px;border-left:1px solid var(--zds-line)}
.cp-terms span{display:block;font:500 15px/1.3 var(--zds-sans);letter-spacing:.08em;color:var(--zds-muted)}
.cp-terms b{display:block;font:400 21px/1.4 var(--zds-serif);font-weight:400;margin-top:8px}

/* 09 next + CTA */
.cp-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;margin:0;padding:0;counter-reset:s}
.cp-steps li{counter-increment:s;padding:0 16px 0 0;border-top:1px solid rgba(255,255,255,.3);padding-top:18px}
.cp-steps li:before{content:counter(s,decimal-leading-zero);display:block;font:400 30px/1 var(--zds-serif);color:var(--zds-zel);margin-bottom:12px}
.cp-steps b{display:block;font:500 18px/1.4 var(--zds-sans);color:#fff}
.cp-steps span{display:block;font-size:16px;line-height:1.6;color:rgba(255,255,255,.75);margin-top:4px}
.cp-end{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,4.4vw,80px);margin-top:clamp(64px,8vw,110px);align-items:center}
.cp-end img{width:100%;aspect-ratio:4/3;max-height:480px;object-fit:cover;display:block}
.cp-end .eb{font:500 15px/1 var(--zds-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--zds-zel)}
body.cp.zh .cp-end .eb{letter-spacing:.1em}
.cp-end h2{font:400 clamp(34px,3.6vw,52px)/1.15 var(--zds-serif);color:#fff;margin:18px 0 20px}
.cp-end p{color:rgba(255,255,255,.85);max-width:30em}
.cp-end .cp-cta{justify-content:flex-start}
.cp-end .wa-l{display:block;margin-top:18px;font-size:16px;color:rgba(255,255,255,.75)}
.cp-end .wa-l a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5)}

/* responsive: 1080 nav · 900 two → one · 480 small */
@media(max-width:1080px){.cp-jump{top:72px}.cp-obj{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:28px}.cp-proof .g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
  .cp-h,.cp-brief,.cp-fan,.cp-gala,.cp-conf,.cp-ie,.cp-end{grid-template-columns:1fr}
  .cp-feat .tx{grid-template-columns:1fr}
  .cp-fan .fp{height:auto}
  .cp-fan .fp img{aspect-ratio:auto;height:220px}
  .cp-feat .ph{height:auto;grid-template-rows:auto}
  .cp-feat .ph img{aspect-ratio:auto;height:260px}
  .cp-why{grid-template-columns:1fr}
  .cp-arc{grid-template-columns:1fr 1fr;row-gap:28px}
  .cp-arc:before{display:none}
  .cp-tiers{grid-template-columns:1fr}
  .cp-out{grid-template-columns:1fr}
  .cp-pl{grid-template-columns:1fr}
  .cp-terms{grid-template-columns:1fr 1fr}
  .cp-terms div:nth-child(3){padding-left:0;border-left:0}
  .cp-terms div:nth-child(n+3){border-top:1px solid var(--zds-line)}
  .cp-day .tx{grid-template-columns:1fr}
  .cp-day:not(.lite) .bd{grid-template-columns:1fr;gap:24px}
  .cp-day .ph{order:-1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .cp-day .ph img{position:static;width:100%;height:auto;aspect-ratio:3/4}
  .cp-tblw{overflow-x:auto}
  .cp-hgal{grid-template-columns:1fr}
  .cp-tbl{min-width:620px}
  .cp-end img{aspect-ratio:3/2}
}
@media(max-width:600px){
  .cp-hgal{grid-template-columns:1fr}
  .cp-obj{grid-template-columns:1fr}
  .cp-arc{grid-template-columns:1fr}
  .cp-steps{grid-template-columns:1fr 1fr}
  .cp-proof .g{grid-template-columns:1fr}
  .cp-ie ul{columns:1}
  .cp-li div{grid-template-columns:1fr;gap:4px}
  .cp-sl{grid-template-columns:1fr;gap:0}
  .cp-sl dt{padding-top:6px}
  .cp-flow li{grid-template-columns:36px 1fr}
  .cp-flow li span{grid-column:2}
  .cp-dl div{grid-template-columns:1fr;gap:2px}
  .cp-meta li{padding:6px 12px}
}
/* 2026-10-04 v4: experience template = one portrait + small landscapes; images align with their text */
body.cp p,body.cp li,body.cp h3,body.cp dd{text-wrap:pretty}
.cp-why figure{margin:0 0 20px}
.cp-why img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.cp-xp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,72px);align-items:stretch}
.cp-xp+.cp-xp{margin-top:clamp(64px,8vw,112px)}
.cp-xp.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.cp-xp.rev .pt{order:2}
.cp-proof .nw{white-space:nowrap}
.cp-xp .pt{position:relative;margin:0;min-height:420px}
.cp-xp .pt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cp-xp .tx{display:flex;flex-direction:column}
.cp-xp h3{font:400 clamp(30px,2.8vw,40px)/1.2 var(--zds-serif);margin:0 0 20px}
.cp-xp .tx p+p{margin-top:16px}
.cp-xp .note{font-size:16px;color:var(--zds-muted);margin-top:18px}
.cp-xp .sm{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:auto;padding-top:28px}
.cp-xp .sm img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.cp-xp .sm.tall img{aspect-ratio:4/5}
.cp-gala{align-items:stretch}
.cp-gala .gp{position:relative;margin:0;min-height:380px}
.cp-gala .gp img{position:absolute;inset:0;width:100%;height:100%!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover}
.cp-proof a{padding:0 0 22px!important;gap:8px}
.cp-proof a figure{margin:0 0 10px}
.cp-proof a img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.cp-proof a>span,.cp-proof a>b{padding:0 22px}
.cp-dec{max-width:none!important}
/* ZeL Blue only where it matters: labels and eyebrows go neutral */
.cp-k,.cp-obj .k,.cp-proof .st{color:var(--zds-muted)!important}
.cp-end .eb{color:rgba(255,255,255,.72)!important}
@media(max-width:900px){
  .cp-xp,.cp-xp.rev{grid-template-columns:1fr}
  .cp-xp.rev .pt{order:0}
  .cp-xp .pt{min-height:0}
  .cp-xp .pt img{position:static;height:auto;aspect-ratio:4/5;max-height:560px}
  .cp-gala .gp{min-height:0}
  .cp-gala .gp img{position:static;aspect-ratio:4/3!important;height:auto!important}
}

/* v5: objectives carry what stays; pledges under the price; stay cards on phones */
.cp-obj article{display:flex;flex-direction:column}
.cp-obj article>p{margin-bottom:18px}
.cp-obj .lv{margin-top:auto;padding-top:14px;position:relative;top:0;border-top:1px solid var(--zds-line)}
.cp-obj .lv small{display:block;font:500 15px/1.3 var(--zds-sans);letter-spacing:.06em;color:var(--zds-muted);margin-bottom:6px}
.cp-obj .lv p{font:400 18px/1.6 var(--zds-serif);color:var(--zds-ink)}
#investment .cp-pl{margin-top:0}
.cp-stay-m{display:none}
@media(max-width:600px){
  .cp-tblw{display:none}
  .cp-stay-m{display:grid;gap:12px}
  .cp-stay-m>div{background:#fff;border:1px solid var(--zds-line);border-top:3px solid var(--zds-line);padding:16px 18px}
  .cp-stay-m>div.sel{border-top-color:var(--zds-zel)}
  .cp-stay-m b{display:block;font:400 22px/1.3 var(--zds-serif);font-weight:400;margin-bottom:8px}
  .cp-stay-m>div.sel b{color:var(--zds-zel-text)}
  .cp-stay-m p{font-size:17px;line-height:1.6;padding:6px 0;border-top:1px solid var(--zds-line)}
  .cp-stay-m p span{display:block;font:500 15px/1.4 var(--zds-sans);color:var(--zds-muted)}
}

/* v5 phone: shorter without dropping content */
@media(max-width:600px){
  .cp-hgal .col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .cp-hgal .col .t{grid-column:1/-1;margin-bottom:4px}
  .cp-hgal figure{margin:0 0 8px}
  .cp-hgal figcaption{font-size:15px}
  .cp-proof .g{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .cp-proof .nw{white-space:normal}
  .cp-proof a{min-width:0}
  .cp-proof a>span,.cp-proof a>b{padding:0 12px}
  .cp-proof b{font-size:20px}
  .cp-proof .pm{font-size:15px}
  .cp-xp .pt img{aspect-ratio:4/3!important;max-height:none!important}
  .cp-why img{aspect-ratio:16/9}
  .cp-why{gap:28px}
}

@media print{
  .cp-jump,.cp-cta{display:none!important}
  .cp-s{padding:28px 0}
  .cp-day,.cp-tier,.cp-feat,.cp-gala{break-inside:avoid}
  .cp-tiers{grid-template-columns:repeat(3,1fr)}
  .cp-s.night{background:#fff;color:#000}.night .cp-h h2,.cp-steps b,.cp-end h2{color:#000}.cp-steps span,.cp-end p{color:#333}
}

/* --- [D] page-level blocks shared by all four corporate pages (were inline <style>) --- */
/* cover subtitle: display line, not body text — the 14px floor in zel-unify.css had set it to body size (2026-10-07) */@media(min-width:821px){html.zu #top p.pg-hero-s{font-size:calc(20.8px / var(--z))!important}}
/* 2026-10-14: reference-itinerary note before the final CTA (page-level; shared CSS untouched) */.zu-ref{padding-top:0!important;padding-bottom:clamp(48px,6vw,80px)!important}.zu-ref-in{max-width:46em;border-top:1px solid rgba(20,28,38,.16);padding-top:clamp(24px,3vw,32px)}.zu-ref-in p{margin:0;font-size:18px;line-height:1.8}.zu-ref-in p+p{margin-top:10px}@media(max-width:820px){.zu-ref-in p{font-size:17.5px}.fx-s.zu-ref{margin-top:-86px}.cp-s.zu-ref{margin-top:-33px}}
/* 2026-10-15 ZeL corporate product page system v1 (High Alps + Han Tang). Page-level, identical on all four corporate files; corp-product.css untouched. Sizes are on-screen px: desktop via calc(N / var(--z)). */.cp-jump{position:relative!important;top:auto!important}body.cp .cp-s{scroll-margin-top:96px}@media(min-width:601px){.cp-obj article{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}.cp-obj .lv{margin-top:0}}.cp-tier .tag{border-bottom:0;padding-bottom:0;color:var(--zds-muted)}.cp-tier .zu-q{margin-top:auto;align-self:flex-start;font:500 15px/1.4 var(--zds-sans);letter-spacing:.08em;color:var(--zds-zel-text);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}.cp-arc-t,.cp-conf h3,.cp-proof h3{line-height:1.45}@media(min-width:821px){html.zu.zu.zu.zu body.cp.cp :is(.cp-xp h3,.cp-gala h3,.cp-day h3){font-size:calc(28px / var(--z))!important;line-height:1.2}html.zu.zu.zu.zu body.cp.cp :is(.cp-obj h3,.cp-tier h3){font-size:calc(24px / var(--z))!important}html.zu.zu.zu.zu body.cp.cp :is(.cp-why h3,.cp-proof b,.cp-arc b){font-size:calc(20px / var(--z))!important}html.zu body.cp #programme .cp-day :is(.cp-sl dt,.cp-sl li,.fo span,.fo b){font-size:calc(16px / var(--z))!important}html.zu .cp-tier .zu-q{font-size:calc(14.4px / var(--z))}}@media(max-width:820px){body.cp .pg-hero h1{font-size:clamp(32px,9.25vw,36px)!important;line-height:1.18}body.cp :is(.cp-xp h3,.cp-gala h3,.cp-day h3){font-size:26px!important;line-height:1.2}body.cp :is(.cp-obj h3,.cp-tier h3){font-size:22px!important}body.cp :is(.cp-why h3,.cp-proof b,.cp-arc b){font-size:20px!important}body.cp .cp-day :is(.cp-sl dt,.cp-sl li,.fo span,.fo b){font-size:17.5px!important}.cp-steps{grid-template-columns:1fr 1fr!important;row-gap:28px}}body.cp .cp-day :is(.cp-sl li,.fo span){line-height:1.65}body.cp.zh .cp-day :is(.cp-sl li,.fo span){line-height:1.8}@media(max-width:480px){.cp-meta li{border-left:0!important;padding:4px 10px}}@media(max-width:600px){.cp-hgal .col:has(>figure:only-of-type){display:block}.cp-hgal .col:has(>figure:only-of-type) figure{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.cp-hgal .col:has(>figure:only-of-type) figcaption{margin-top:0}}
