:root{
  --cream:#F4EFE6; --ink:#0C1018; --gold:#C8A84B; --accent:#6B8F5E;
  --tx:rgba(12,16,24,.90); --dim:rgba(12,16,24,.80); --faint:rgba(12,16,24,.62);
  --line:rgba(12,16,24,.14);
  --d:'Lora',Georgia,serif; --s:'Jost',system-ui,sans-serif;
  --pad:clamp(20px,5.6vw,64px); --e:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:1px}
a,button{-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--tx);font-family:var(--s);font-weight:350;
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--d);font-weight:400;letter-spacing:-.012em;color:var(--ink);margin:0}
p{margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(100%,1180px);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

.r{transition:opacity .9s var(--e),transform .9s var(--e);
  transition-delay:calc(var(--i,0)*90ms)}
.js-reveal .r{opacity:0;transform:translateY(18px)}
.r.in{opacity:1;transform:none}
.px{overflow:hidden}
.px img{transition:transform 1.5s var(--e)}
.js-reveal .px img{transform:scale(1.08)}
.in .px img,.px.in img{transform:scale(1)}

.hd{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  margin-bottom:clamp(28px,6vw,56px);border-bottom:1px solid var(--line);padding-bottom:14px}
.eb{font-family:var(--s);font-weight:500;font-size:clamp(10px,2.7vw,12px);letter-spacing:.28em;
  color:var(--faint);text-transform:uppercase}
.nm{font-family:var(--d);font-size:clamp(18px,4.05vw,23px);line-height:1;color:rgba(200,168,75,.9)}
.nm i{font-family:var(--s);font-style:normal;font-size:.36em;font-weight:400;color:var(--faint);margin-left:2px}

.sec{padding:clamp(56px,9vw,100px) 0}
.sec.alt{background:#efe9df}
.sec.dk{background:var(--ink);color:rgba(244,239,230,.9)}
.sec.dk h1,.sec.dk h2,.sec.dk h3{color:#fff}

.topnav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;
  justify-content:space-between;padding:20px var(--pad);transition:background .4s var(--e),
  padding .4s var(--e),border-color .4s var(--e);border-bottom:1px solid transparent}
.topnav.solid{background:rgba(244,239,230,.92);backdrop-filter:blur(10px);
  border-color:var(--line);padding-top:14px;padding-bottom:14px}
.topnav .mark{font-family:var(--d);font-size:clamp(15px,2.64vw,18px);color:#fff;letter-spacing:.01em;
  transition:color .4s var(--e)}
.topnav.solid .mark{color:var(--ink)}
.topnav .links{display:none;gap:clamp(18px,2.6vw,32px);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(244,239,230,.85);transition:color .4s var(--e)}
.topnav.solid .links{color:var(--dim)}

.topnav .links a{position:relative;padding-bottom:3px}
.topnav .links a.on{color:#fff}
.topnav.solid .links a.on{color:var(--ink)}
.topnav .links a:after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--gold);transition:right .35s var(--e)}
.topnav .links a:hover:after,.topnav .links a.on:after{right:0}
.topnav .cta{border:1px solid rgba(244,239,230,.55);color:#fff;font-size:10.5px;
  letter-spacing:.18em;text-transform:uppercase;padding:9px 18px;border-radius:2px;
  transition:all .35s var(--e)}
.topnav .cta:hover{background:#fff;color:var(--ink);border-color:#fff}
.topnav.solid .cta{border-color:var(--ink);color:var(--ink)}
.topnav.solid .cta:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.lang-toggle{display:none;font-family:var(--s);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(244,239,230,.75);padding:8px 6px;margin-right:6px;transition:color .3s var(--e);white-space:nowrap}
.lang-toggle:hover{color:#fff}
.topnav.solid .lang-toggle{color:var(--faint)}
.topnav.solid .lang-toggle:hover{color:var(--ink)}
.mobile-menu a.mm-lang{margin-top:2px;font-family:var(--s);font-style:normal;font-size:12.5px;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,230,.55)}

/* ── mobile menu ── */
.menu-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  width:40px;height:40px;border:none;background:none;cursor:pointer;padding:0;margin-left:10px;
  flex-shrink:0}

/* C-11 · narrow-phone nav breathing room (<=359px) */
@media(max-width:359px){
  .topnav .mark{white-space:nowrap;font-size:16px}
  .topnav .cta{padding-left:11px;padding-right:11px;letter-spacing:.12em}
  .lang-toggle{margin-right:0}
  .menu-btn{margin-left:0}
}
.menu-btn span{display:block;width:22px;height:1.5px;background:#fff;border-radius:1px;
  transition:transform .3s var(--e),opacity .3s var(--e),background .3s var(--e)}
.topnav.solid .menu-btn span{background:var(--ink)}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.menu-btn[aria-expanded="true"] span{background:#fff}

.mobile-menu{position:fixed;inset:0;z-index:60;background:var(--ink);
  opacity:0;visibility:hidden;transition:opacity .3s var(--e);
  display:flex;align-items:center;justify-content:center}
.mobile-menu.open{opacity:1;visibility:visible}

.mm-inner{display:flex;flex-direction:column;align-items:center;gap:clamp(18px,5vw,28px)}
.mobile-menu a{font-family:var(--d);font-style:normal;font-size:clamp(23px,6.16vw,33px);color:#fff;
  opacity:0;transform:translateY(14px);transition:opacity .4s var(--e),transform .4s var(--e)}
.mobile-menu.open a{opacity:1;transform:none}
.mobile-menu a:nth-child(1){transition-delay:.06s}
.mobile-menu a:nth-child(2){transition-delay:.11s}
.mobile-menu a:nth-child(3){transition-delay:.16s}
.mobile-menu a:nth-child(4){transition-delay:.21s}
.mobile-menu a.mm-cta{margin-top:14px;font-family:var(--s);font-style:normal;font-size:11px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:var(--gold);
  padding:15px 32px;border-radius:2px;transition-delay:.26s}
body.menu-open{overflow:hidden}

@media (prefers-reduced-motion: reduce){
  .js-reveal .r,.js-reveal .px img{opacity:1!important;transform:none!important}
  .r,.px img,.menu-btn span,.mobile-menu,.mobile-menu a{transition:none!important}
}

.pg-hero{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden}
.pg-hero-bg{position:absolute;inset:0}
.pg-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center var(--hero-y,34%)}
.pg-hero-sc{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,22,.44) 0%,rgba(8,12,22,.22) 42%,rgba(8,12,22,.66) 100%)}
.pg-hero-in{position:relative;z-index:2;width:100%;padding:clamp(96px,14vw,140px) var(--pad);text-align:center}
.pg-hero-in .inner{width:min(100%,760px);margin:0 auto}
.pg-hero .eb{color:var(--gold)}
.pg-hero h1{font-family:var(--d);font-weight:400;font-style:normal;
  font-size:clamp(var(--h1min,30px),var(--h1vw,5.81vw),var(--h1max,53px));
  line-height:1.1;color:#fff;letter-spacing:-.02em;margin-top:14px}
.pg-hero-s{font-family:var(--d);font-size:clamp(15px,2.4vw,17px);line-height:1.55;
  color:rgba(244,239,230,.82);margin-top:16px;max-width:46ch;margin-left:auto;margin-right:auto}

.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--s);font-weight:500;
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:15px 26px;border-radius:2px;
  transition:all .35s var(--e);border:1px solid transparent;cursor:pointer}
.btn.pri{background:var(--gold);color:var(--ink)}
.btn.pri:hover{background:#dcb95c;transform:translateY(-1px)}
.btn.dark{border:1px solid var(--ink);color:var(--ink)}
.btn.dark:hover{background:var(--ink);color:var(--cream)}

/* ══════════ case system — editorial art direction ══════════ */
.arc{position:relative;padding:clamp(64px,10vw,120px) 0;border-bottom:1px solid var(--line)}
.arc:last-of-type{border-bottom:none}
.arc-tag{position:absolute;top:clamp(20px,4vw,30px);right:var(--pad);font-family:var(--d);
  font-weight:400;font-size:clamp(62px,11.44vw,158px);line-height:1;color:rgba(12,16,24,.045);
  pointer-events:none;user-select:none;z-index:0}
.sec.alt .arc-tag{color:rgba(12,16,24,.05)}

/* opening block: eyebrow + title + statement, generous room to breathe */
.arc-open{position:relative;z-index:1;max-width:900px}
.arc-open .eb2{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:500}
.arc-open h3{font-style:normal;font-size:clamp(34px,6.2vw,64px);line-height:1.02;margin-top:14px;letter-spacing:-.015em}
.arc-open .cl{font-size:11px;letter-spacing:.12em;color:var(--faint);margin-top:10px;text-transform:uppercase}
.statement{margin-top:clamp(26px,4vw,40px);font-family:var(--d);font-style:normal;font-weight:400;
  font-size:clamp(21px,3.17vw,33px);line-height:1.22;color:var(--ink);max-width:17ch}
.statement.sm{font-size:clamp(19px,2.6vw,26px);max-width:22ch}

/* media — variable aspect ratios, no default grid */
.m{border-radius:2px;overflow:hidden;background:var(--line)}
.m img{width:100%;height:100%;object-fit:cover;display:block}
.ar-portrait{aspect-ratio:3/4}
.ar-tall{aspect-ratio:2/3}
.ar-square{aspect-ratio:1/1}
.ar-wide{aspect-ratio:16/9}
.ar-cinema{aspect-ratio:21/9}
.ar-hero{aspect-ratio:4/5}
/* C-03 · paired case thumbnails, two-up; align-items:start keeps each image's own ratio */
.case-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,1.6vw,14px);align-items:start}

.bleed{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}

/* two-column editorial split, with intentional offset (not centered/equal) */
.split{display:grid;grid-template-columns:1fr;gap:32px;margin-top:clamp(40px,6vw,64px);position:relative;z-index:1}
@media(min-width:920px){
  .split{grid-template-columns:.86fr 1.14fr;gap:clamp(40px,5vw,64px);align-items:start}
  .split.rev{grid-template-columns:1.14fr .86fr}
  .split.rev .split-media{order:2}
  .split-media.push{margin-top:clamp(40px,7vw,88px)}
}
.split-text{max-width:52ch}

/* chapters — editorial rhythm, not a bullet list */
.flow{margin-top:clamp(44px,6vw,64px);position:relative;z-index:1}
.flow-mark{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);
  margin-bottom:clamp(20px,3vw,28px);padding-bottom:12px;border-bottom:1px solid var(--line)}
.fch{padding:clamp(22px,3.4vw,32px) 0;border-top:1px solid var(--line);
  display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:baseline}
.fch:first-child{border-top:none}
.fch .cn{font-family:var(--d);font-style:normal;font-weight:400;font-size:clamp(19px,2.46vw,25px);
  color:var(--gold);line-height:1}
.fch .ct-title{font-family:var(--d);font-style:normal;font-size:clamp(17px,2.11vw,20px);color:var(--ink);line-height:1.25}
.fch .ct-sub{margin-top:6px;font-size:13.5px;line-height:1.75;color:var(--dim);max-width:46ch}
.fch-img{margin-top:14px;margin-bottom:14px;border-radius:2px;overflow:hidden;aspect-ratio:16/10;max-width:420px}
@media(min-width:700px){.fch-img{max-width:min(90%,540px)}}
@media(min-width:1100px){.fch-img{max-width:min(85%,640px)}}
.fch-img img{width:100%;height:100%;object-fit:cover}

/* quiet two-column chapter list (used on calmer/corporate cases) */
.flow-grid{margin-top:clamp(30px,4vw,40px);display:grid;grid-template-columns:1fr;
  gap:clamp(20px,3vw,26px);position:relative;z-index:1}
@media(min-width:680px){.flow-grid{grid-template-columns:1fr 1fr;gap:clamp(28px,3.4vw,40px) clamp(32px,4vw,48px)}}
.flow>.flow-grid{margin-top:0}
.fg-item .cn{font-family:var(--d);font-style:normal;font-size:14px;color:var(--gold)}
.fg-item .ct-title{font-family:var(--d);font-style:normal;font-size:clamp(15px,1.85vw,17px);
  color:var(--ink);margin-top:4px}
.fg-item .ct-sub{margin-top:5px;font-size:13px;line-height:1.7;color:var(--dim)}

/* facts row — quiet, small, out of the way */
.facts{display:flex;flex-wrap:wrap;gap:26px;margin-top:clamp(34px,4.6vw,44px);
  padding-top:16px;border-top:1px solid var(--line);position:relative;z-index:1}
.facts div b{display:block;font-family:var(--d);font-weight:400;font-size:17px;color:var(--dim)}
.facts div span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}

/* signature moment — isolated editorial statement, no box */
.moment{margin-top:clamp(48px,7vw,76px);position:relative;z-index:1;max-width:640px}
.moment-label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.moment-q{position:relative;font-family:var(--d);font-style:normal;font-weight:400;
  font-size:clamp(18px,2.64vw,26px);line-height:1.35;color:var(--ink)}
.moment-q:before{content:'\201C';position:absolute;left:-.05em;top:.14em;transform:translateX(-100%);
  font-family:var(--d);font-style:normal;font-size:2.4em;color:rgba(200,168,75,.35);line-height:1}
@media(max-width:640px){.moment-q:before{display:none}}

/* designer's note — marginal aside, no container */
.note{margin-top:clamp(40px,5.6vw,56px);padding-top:22px;border-top:1px solid var(--line);
  max-width:46ch;position:relative;z-index:1}
.note-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);
  font-style:normal;font-family:var(--d);margin-bottom:10px}
.note p{font-family:var(--d);font-size:clamp(15.5px,1.9vw,17px);line-height:1.7;color:var(--dim);font-style:normal}

/* closing act — a genuine ending beat */
.ending{margin-top:clamp(56px,8vw,88px);position:relative;z-index:1}
.ending-mark{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-bottom:16px}
.ending-lg{font-family:var(--d);font-style:normal;font-weight:400;font-size:clamp(21px,3.34vw,32px);
  line-height:1.25;color:var(--ink);max-width:19ch}
.ending-sm{margin-top:16px;font-size:14px;line-height:1.8;color:var(--faint);max-width:42ch}

.also{margin-top:clamp(28px,4vw,36px);padding-top:clamp(24px,3.4vw,30px);border-top:1px solid var(--line)}
.also p{font-size:13px;line-height:1.9;color:var(--faint)}
.also b{color:var(--dim);font-weight:500}

/* case-to-case transition — quiet editorial reset */
.reset{padding:clamp(50px,8vw,88px) 0;text-align:center;position:relative;overflow:hidden}
.reset-n{font-family:var(--d);font-weight:400;font-style:normal;font-size:clamp(44px,7.92vw,97px);
  line-height:1;color:rgba(12,16,24,.07)}
.reset p{margin-top:-.6em;font-family:var(--d);font-style:normal;font-size:clamp(16px,2.29vw,22px);
  color:var(--faint);position:relative;z-index:1}

.also{margin-top:clamp(28px,4vw,36px);padding-top:clamp(24px,3.4vw,30px);border-top:1px solid var(--line)}
.also p{font-size:13px;line-height:1.9;color:var(--faint)}
.also b{color:var(--dim);font-weight:500}

.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(22px,4vw,30px) 0}
.trust p{font-size:12.5px;letter-spacing:.02em;color:var(--faint);text-align:center;line-height:1.7}
.trust p b{color:var(--dim);font-weight:500}

.close-in{width:min(100%,720px);text-align:center;margin:0 auto}
.close-in h2{font-size:clamp(32px,6vw,52px);font-style:normal;line-height:1.1;color:#fff}
.close-in p{margin-top:18px;font-size:clamp(14.5px,2vw,16px);line-height:1.8;
  color:rgba(244,239,230,.72);max-width:52ch;margin-left:auto;margin-right:auto}
.close-in .hero-row{display:flex;justify-content:center;margin-top:32px}
.close-in .email{margin-top:20px;font-family:var(--d);font-style:normal;font-size:clamp(14px,2.11vw,17px);
  color:var(--gold)}

footer{background:var(--ink);padding:clamp(40px,6vw,60px) 0 clamp(24px,4vw,32px);color:rgba(244,239,230,.6)}
.f-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;
  padding-bottom:clamp(28px,4vw,36px);border-bottom:1px solid rgba(244,239,230,.14)}
.f-brand b{display:block;font-family:var(--d);font-size:19px;color:#fff;font-weight:400}
.f-brand span{display:block;font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);margin-top:6px}
.f-links{display:flex;gap:clamp(24px,4vw,48px);flex-wrap:wrap}
.f-links .col b{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(244,239,230,.4);margin-bottom:12px}
.f-links .col a{display:block;font-size:13.5px;color:rgba(244,239,230,.78);margin-bottom:9px}
.f-links .col a:hover{color:var(--gold)}
.f-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;
  padding-top:clamp(20px,3vw,26px);font-size:11.5px;color:rgba(244,239,230,.42)}

.d1{transition-delay:.15s}.d2{transition-delay:.3s}.d3{transition-delay:.5s}


/* ── 案例索引卡片 · XO 式三栏叠字 ─────────────────────
   图占满卡片，文字压在底部渐变上。3:4 竖幅在手机上尤其好读。 */
.cases{margin-top:clamp(34px,5vw,52px);display:grid;gap:clamp(12px,1.6vw,18px);grid-template-columns:1fr}
@media(min-width:640px){.cases{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.cases{grid-template-columns:1fr 1fr 1fr}}
.case{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border-radius:2px;
  background:var(--line);text-decoration:none}
.case>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 1.5s var(--e)}
.case:hover>img{transform:scale(1.05)}
.case-sc{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,22,.10) 0%,
  rgba(8,12,22,.22) 38%,rgba(8,12,22,.60) 62%,rgba(8,12,22,.88) 100%)}
.case-in{position:absolute;inset:auto 0 0 0;z-index:2;padding:clamp(22px,2.6vw,30px);text-align:center}
/* 亮底照片上的卡片文字：极淡的投影，暗图上几乎看不出，亮图上救回可读性 */
.case .eb2,.case h3,.case .cl{text-shadow:0 1px 16px rgba(8,12,22,.6),0 1px 2px rgba(8,12,22,.45)}
.case .eb2{display:block;font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;
  color:rgba(255,255,255,.76)}
.case h3{font-family:var(--d);font-weight:400;font-size:clamp(21px,2.4vw,27px);line-height:1.18;
  color:#fff;margin:10px 0 0}
.case .cl{margin-top:8px;font-size:11.5px;letter-spacing:.05em;color:rgba(255,255,255,.66)}
.case-go{display:inline-block;margin-top:20px;padding:9px 22px;border:1px solid rgba(255,255,255,.55);
  border-radius:2px;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:#fff;
  transition:all .45s var(--e)}
.case-go i{font-style:normal;display:inline-block;margin-left:7px;transition:transform .45s var(--e)}
.case:hover .case-go i{transform:translateX(4px)}
.case:hover .case-go{background:#fff;color:var(--ink);border-color:#fff}
.case.soon{cursor:default}
.case.soon .case-go{opacity:.45}
.case.soon:hover>img{transform:none}
.case.soon:hover .case-go{background:none;color:#fff;border-color:rgba(255,255,255,.55)}

/* ── 详情页返回链接 ───────────────────────────────────── */
.back{display:inline-flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--faint);text-decoration:none;transition:color .4s var(--e)}
.back i{font-style:normal;transition:transform .45s var(--e)}
.back:hover{color:var(--ink)}
.back:hover i{transform:translateX(-5px)}
.case-detail{padding-top:clamp(34px,5vw,52px)}
.case-detail .arc{margin-top:clamp(28px,4vw,44px)}
.case-detail .arc-tag{display:none}
.case-detail .arc{margin-top:clamp(20px,2.6vw,30px)}
.case-detail .arc>.wrap:first-of-type .statement{margin-top:0}
.case-detail .arc-open{margin-top:0}

/* XO 式滚动提示 */
.pg-hero:after{content:'';position:absolute;bottom:34px;left:50%;width:1px;height:46px;z-index:2;
  background:linear-gradient(180deg,rgba(244,239,230,0),rgba(244,239,230,.7))}
.pg-hero:before{content:'';position:absolute;bottom:34px;left:50%;width:1px;height:46px;z-index:3;
  background:linear-gradient(180deg,rgba(200,168,75,0),var(--gold));
  animation:cue 2.4s var(--e) infinite}
@keyframes cue{0%{transform:translateY(-46px);opacity:0}22%{opacity:1}
  100%{transform:translateY(46px);opacity:0}}
@media (prefers-reduced-motion: reduce){.pg-hero:before{animation:none;opacity:0}}

/* 汉堡导航：品牌在左，Enquire + 汉堡贴右 */
.topnav .cta{margin-left:auto}
.topnav .menu-btn{margin-left:14px}

/* ══════════════════════════════════════════════════════════════
   根页面组件 · 从 6 个内联 <style> 合并而来（2026-09 全站统一）
   冲突处理原则：同名规则以多数页面 / 本文件既有值为准；
   每页真正独有的取景与字号改用 CSS 变量（--hero-y / --h1min|vw|max）。
   ══════════════════════════════════════════════════════════════ */

/* ── 共用小件 ───────────────────────────────────────────── */
.hd.dk .eb{color:rgba(244,239,230,.68)}
.hd.dk .nm i{color:rgba(244,239,230,.45)}
.hero-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(28px,5vw,40px)}
.btn.ghost{border-color:rgba(244,239,230,.5);color:#fff}
.btn.ghost:hover{border-color:#fff;background:rgba(244,239,230,.08)}
.btn.pri:disabled{opacity:.5;cursor:not-allowed;transform:none}
.byline{margin-top:32px;display:flex;align-items:center;gap:12px}
.byline .ln{width:34px;height:1px;background:var(--gold)}
.byline span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.eb2{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:500}

/* ── 首页 · 立场段 + 三步流程 ───────────────────────────── */
.phil{width:min(100%,880px)}
.phil blockquote{font-family:var(--d);font-style:normal;font-weight:400;
  font-size:clamp(25px,4.93vw,42px);line-height:1.22;color:var(--ink);margin:0}
.phil blockquote em{color:var(--gold);font-style:normal}
.phil p.body{margin-top:clamp(24px,4vw,34px);font-size:clamp(15px,2vw,17px);line-height:1.85;
  color:var(--dim);max-width:56ch}
.hw-head{width:min(100%,620px);margin-bottom:clamp(40px,7vw,64px)}
.hw-head h2{font-size:clamp(32px,6vw,52px);font-style:normal;line-height:1.1}
.ns{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:2px;overflow:hidden}
@media(min-width:820px){.ns{grid-template-columns:repeat(3,1fr)}}
.ns-r{background:var(--cream);padding:clamp(28px,4vw,40px) clamp(24px,3.4vw,34px)}
.ns-r b{display:block;font-family:var(--d);font-style:normal;font-size:clamp(26px,4.4vw,37px);
  color:var(--gold);font-weight:400;margin-bottom:16px}
.ns-r span{display:block;font-size:15px;line-height:1.65;color:var(--dim)}

/* ── About · 创办人 / 履历 / 信念 ───────────────────────── */
.fnd{display:grid;grid-template-columns:1fr;gap:clamp(32px,5vw,20px)}
@media(min-width:900px){.fnd{grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(48px,7vw,88px)}}
.fnd-img{position:relative;border-radius:2px;overflow:hidden;aspect-ratio:3/4}
.fnd-img img{width:100%;height:100%;object-fit:cover}
.fnd blockquote{font-family:var(--d);font-style:normal;font-weight:400;
  font-size:clamp(23px,4.05vw,35px);line-height:1.24;color:var(--ink);margin:0}
.fnd blockquote em{color:var(--gold);font-style:normal}
.fnd p.body{margin-top:clamp(22px,3.4vw,30px);font-size:clamp(15px,2vw,16.5px);line-height:1.85;
  color:var(--dim);max-width:58ch}
.fnd p.body+p.body{margin-top:16px}
.tl{border-top:1px solid var(--line)}
.tl-row{display:grid;grid-template-columns:1fr;gap:6px;padding:clamp(24px,3.6vw,32px) 0;
  border-bottom:1px solid var(--line)}
@media(min-width:760px){.tl-row{grid-template-columns:120px 1fr;gap:clamp(20px,4vw,48px)}}
.tl-yr{font-family:var(--d);font-style:normal;font-size:clamp(23px,3.52vw,30px);color:var(--gold)}
.tl-co{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:4px}
.tl-role{font-family:var(--d);font-size:clamp(17px,2.29vw,20px);color:var(--ink);margin-bottom:8px}
.tl-desc{font-size:14.5px;line-height:1.8;color:var(--dim);max-width:60ch}
.ab{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:2px;overflow:hidden}
@media(min-width:700px){.ab{grid-template-columns:repeat(2,1fr)}}
.ab-r{background:var(--cream);padding:clamp(26px,3.6vw,38px)}
.ab-r b{display:block;font-family:var(--d);font-style:normal;font-size:clamp(21px,3.17vw,26px);
  color:var(--ink);font-weight:400;margin-bottom:12px}
.ab-r span{display:block;font-size:14.5px;line-height:1.75;color:var(--dim)}
.bel{display:grid;gap:1px;background:rgba(244,239,230,.14);border:1px solid rgba(244,239,230,.14);
  border-radius:2px;overflow:hidden;margin-top:clamp(40px,6vw,56px)}
@media(min-width:820px){.bel{grid-template-columns:repeat(3,1fr)}}
.bel-r{background:var(--ink);padding:clamp(28px,4vw,38px)}
.bel-r b{display:block;font-family:var(--d);font-style:normal;font-size:clamp(19px,2.99vw,24px);
  color:var(--gold);font-weight:400;margin-bottom:14px}
.bel-r span{display:block;font-size:14px;line-height:1.75;color:rgba(244,239,230,.75)}

/* ── Method · 宣言 / 三次对话 / 九件工具 ────────────────── */
.man{width:min(100%,880px)}
.man blockquote{font-family:var(--d);font-style:normal;font-weight:400;
  font-size:clamp(24px,4.4vw,37px);line-height:1.25;color:var(--ink);margin:0}
.man blockquote em{color:var(--gold);font-style:normal}
.man p.body{margin-top:clamp(22px,3.6vw,30px);font-size:clamp(15px,2vw,16.5px);line-height:1.85;
  color:var(--dim);max-width:60ch}
.cc{border-top:1px solid var(--line)}
.cc-row{display:grid;grid-template-columns:1fr;gap:clamp(14px,2.4vw,20px);
  padding:clamp(36px,5.6vw,52px) 0;border-bottom:1px solid var(--line)}
@media(min-width:860px){.cc-row{grid-template-columns:64px 1fr 1fr;gap:clamp(24px,4vw,48px);align-items:start}}
.cc-num{font-family:var(--d);font-style:normal;font-size:clamp(26px,3.87vw,35px);color:var(--gold);line-height:1}
.cc-name{font-family:var(--d);font-size:clamp(19px,2.99vw,26px);color:var(--ink);margin-bottom:10px}
.cc-def{font-size:14.5px;line-height:1.8;color:var(--dim);max-width:48ch}
.cc-ex{border-left:2px solid var(--gold);padding-left:18px}
.cc-ex .tag{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.cc-ex blockquote{font-family:var(--d);font-style:normal;font-size:clamp(16px,2.2vw,18.5px);
  line-height:1.55;color:var(--ink);margin:0}
.cc-ex cite{display:block;margin-top:10px;font-style:normal;font-size:11.5px;letter-spacing:.08em;
  color:var(--faint)}
.nine{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(28px,4vw,36px)}
.nine span{font-size:11px;letter-spacing:.08em;color:var(--faint);border:1px solid var(--line);
  border-radius:20px;padding:7px 14px}

/* ── Services · 两种实践 / 对照表 ───────────────────────── */
.svc{display:grid;grid-template-columns:1fr;gap:clamp(28px,5vw,20px)}
@media(min-width:900px){
  .svc{grid-template-columns:1fr 1.1fr;align-items:center;gap:clamp(44px,6vw,80px)}
  .svc.rev .svc-img{order:2}
}
.svc-img{position:relative;border-radius:2px;overflow:hidden;aspect-ratio:4/5}
.svc-img img{width:100%;height:100%;object-fit:cover}
.svc-body h2{font-style:normal;font-size:clamp(30px,5vw,44px);line-height:1.1;margin-top:12px}
.svc-body p.desc{margin-top:18px;font-size:15px;line-height:1.85;color:var(--dim);max-width:52ch}
.svc-body .btn{margin-top:26px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.tags span{font-size:11.5px;letter-spacing:.03em;color:var(--dim);border:1px solid var(--line);
  border-radius:20px;padding:7px 14px}
.cmp{border-top:1px solid rgba(244,239,230,.14)}
.cmp-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(244,239,230,.14)}
.cmp-row>div{background:var(--ink);padding:clamp(18px,2.6vw,26px) clamp(16px,2.4vw,22px)}
.cmp-row .old{color:rgba(244,239,230,.42);font-size:14px;line-height:1.6}
.cmp-row .old:before{content:'\2715  ';color:rgba(244,239,230,.28)}
.cmp-row .new{color:rgba(244,239,230,.92);font-size:14px;line-height:1.6}
.cmp-row .new:before{content:'\2713  ';color:var(--gold)}
.cmp-head{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:1px}
.cmp-head>div{padding:0 clamp(16px,2.4vw,22px) 14px}
.cmp-head span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,239,230,.45)}

/* ── Contact · 诊断栏 + 表单 ────────────────────────────── */
.cg{display:grid;grid-template-columns:1fr;gap:clamp(40px,6vw,20px)}
@media(min-width:960px){.cg{grid-template-columns:.92fr 1.08fr;gap:clamp(48px,7vw,90px)}}
.diag{font-family:var(--d);font-style:normal;font-size:clamp(21px,3.17vw,28px);line-height:1.32;color:var(--ink)}
.diag em{color:var(--gold);font-style:normal}
.diag-note{margin-top:20px;font-size:14.5px;line-height:1.8;color:var(--dim);max-width:44ch}
.info-row{display:flex;gap:14px;margin-top:clamp(32px,4.5vw,40px);padding-top:20px;border-top:1px solid var(--line)}
.info-row:first-of-type{border-top:none;padding-top:0}
.info-row b{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.info-row span{display:block;font-family:var(--d);font-size:17px;color:var(--ink);margin-top:4px}
.info-row a{display:block;font-family:var(--d);font-size:17px;color:var(--ink);margin-top:4px;
  border-bottom:1px solid var(--line);transition:border-color .3s var(--e),color .3s var(--e)}
.info-row a:hover{color:var(--gold);border-color:var(--gold)}
.fm{display:flex;flex-direction:column;gap:18px}
.fm .row2{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:640px){.fm .row2{grid-template-columns:1fr 1fr}}
.fld label{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.fld input,.fld textarea,.fld select{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);
  padding:10px 2px;font-family:var(--s);font-size:15px;color:var(--ink);outline:none;
  transition:border-color .3s var(--e)}
.fld input:focus,.fld textarea:focus,.fld select:focus{border-color:var(--gold)}
.fld textarea{resize:vertical;min-height:96px;font-family:var(--s)}
.seg{display:flex;gap:8px}
.seg label{flex:1;text-align:center;border:1px solid var(--line);border-radius:2px;padding:12px 10px;
  font-size:12px;letter-spacing:.06em;color:var(--dim);cursor:pointer;transition:all .25s var(--e)}
.seg input{position:absolute;opacity:0;pointer-events:none;width:auto;height:auto}
.seg input:checked+label{border-color:var(--ink);background:var(--ink);color:var(--cream)}
.fm-foot{display:flex;align-items:center;gap:18px;margin-top:6px;flex-wrap:wrap}
.fm-note{font-size:12px;color:var(--faint);line-height:1.6}

/* ── 案例状态标（已交付 / 即将出发）───────────────────
   规矩：没发生的旅程不得写成已交付。已交付=金框，未出发=白框。 */
.case-st{position:absolute;left:14px;top:14px;z-index:3;
  font-family:var(--s);font-weight:500;font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.9);background:rgba(8,12,22,.42);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.26);border-radius:2px;padding:6px 11px;white-space:nowrap}
.case-st.done{border-color:rgba(200,168,75,.6);color:#E8D89A;background:rgba(8,12,22,.5)}
.pg-st{display:inline-block;margin-top:14px;
  font-family:var(--s);font-weight:500;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.3);border-radius:2px;padding:7px 14px}
.pg-st.done{border-color:rgba(200,168,75,.62);color:#E8D89A}

/* 浅色调 hero 专用：照片本身亮时，默认遮罩不够，白字对比度掉到 2.6:1。
   实测（1440×900 文字区最差 5% 区域）：默认 2.64:1 → 本档 5.36:1。
   WCAG AA 大字需 3:1、正文需 4.5:1。 */
/* 亮度极高的 hero：文字带另加一层椭圆压暗，不把整张图压平 */
.pg-hero.dim .pg-hero-sc{background:
  radial-gradient(ellipse 78% 44% at 50% 54%,rgba(8,12,22,.60) 0%,rgba(8,12,22,.34) 58%,rgba(8,12,22,0) 78%),
  linear-gradient(180deg,rgba(8,12,22,.50) 0%,rgba(8,12,22,.36) 40%,rgba(8,12,22,.80) 100%)}
.pg-hero.bright .pg-hero-sc{background:linear-gradient(180deg,
  rgba(8,12,22,.62) 0%,rgba(8,12,22,.50) 42%,rgba(8,12,22,.78) 100%)}

/* ── 逐日行程 · 每天带一段设计意图 ─────────────────────
   内容规矩（Zelts 2026-09-11 定）：酒店名可写；
   不写价格与成本、不写具体日期与航班、不写供应商与地接名字。 */
.days{list-style:none;margin:clamp(30px,4vw,44px) 0 0;padding:0;border-top:1px solid var(--line)}
.day{display:grid;grid-template-columns:1fr;gap:clamp(14px,2vw,18px);
  padding:clamp(30px,4.4vw,48px) 0;border-bottom:1px solid var(--line)}
@media(min-width:860px){
  .day{grid-template-columns:148px 1fr;gap:clamp(28px,4vw,56px);align-items:start}
}
.day-n{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
@media(min-width:860px){.day-n{display:block}}
.day-n .dn{font-family:var(--d);font-style:normal;font-size:clamp(25px,3.7vw,34px);
  color:var(--gold);line-height:1}
.day-n .dl{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);
  line-height:1.7}
@media(min-width:860px){.day-n .dl{display:block;margin-top:10px}}
.day-b h3{font-family:var(--d);font-weight:400;font-style:normal;
  font-size:clamp(20px,3vw,27px);line-height:1.26;color:var(--ink)}
.day-lede{margin-top:12px;font-size:15px;line-height:1.85;color:var(--dim);max-width:56ch}
.day-sched{list-style:none;margin:clamp(18px,2.4vw,24px) 0 0;padding:0;
  border-left:1px solid var(--line)}
.day-sched li{position:relative;padding:0 0 15px 20px;font-size:14.5px;line-height:1.78;
  color:var(--dim);max-width:60ch}
.day-sched li:last-child{padding-bottom:0}
.day-sched li:before{content:'';position:absolute;left:-3.5px;top:.7em;width:6px;height:6px;
  border-radius:50%;background:var(--cream);border:1px solid var(--gold)}
.day-sched li b{display:block;font-family:var(--s);font-weight:500;font-size:9.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}
.day-sched li strong{font-weight:500;color:var(--ink)}
.day-stay{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}
.day-stay b{display:block;margin-top:5px;font-family:var(--d);font-weight:400;font-size:15px;
  color:var(--ink);letter-spacing:0;text-transform:none}
.day-int{margin-top:clamp(20px,2.6vw,26px);padding-left:18px;border-left:2px solid var(--gold);
  max-width:54ch}
.day-int span{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--faint);margin-bottom:8px}
.day-int p{font-family:var(--d);font-style:normal;font-size:clamp(14.5px,1.9vw,16px);
  line-height:1.88;color:var(--ink)}
