
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-latin.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2010-2027,U+2030,U+00B7}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-latin-italic.woff2") format("woff2");font-weight:300 700;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF,U+2010-2027,U+2030,U+00B7}
:root{--ink:#11110f;--paper:#f0ede6;--muted:#aaa69c;--orange:#ca631d;--serif:"Cormorant Garamond",Georgia,"Times New Roman","Noto Serif CJK SC","Songti SC",SimSun,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,"Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer;border:0;background:none}a,button,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{min-height:44px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:7px}figure,p,h1,h2,h3{margin:0}img{display:block;width:100%;height:auto}sup{font:400 .27em Arial;vertical-align:super;letter-spacing:0}h2{font:400 clamp(36px,4.9vw,78px)/1.42 var(--serif);letter-spacing:.045em}h3{font-weight:400}em{font-style:normal;color:#aaa18d}.eyebrow,.section-meta,.product-label{font-size:10px;letter-spacing:.2em;line-height:1.8}.eyebrow{margin-bottom:30px}.section-pad{padding:95px 7vw 110px}.section-meta{display:flex;justify-content:space-between;gap:24px;margin-bottom:85px;color:var(--muted)}.body-copy{font-size:13px;line-height:2.3;margin-top:35px;color:#656157}.line-link{display:inline-block;font-size:11px;letter-spacing:.1em;border-bottom:1px solid currentColor;padding:15px 0}.skip{position:fixed;top:-100px;z-index:100;background:var(--paper);color:var(--ink);padding:15px}.skip:focus{top:5px}.header{position:absolute;z-index:5;top:0;width:100%;height:105px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid #ffffff26;color:white}.wordmark{font:16px var(--serif);letter-spacing:.07em}.wordmark span{display:block;text-align:center;font:9px Arial;letter-spacing:.42em;margin-top:9px}.desktop-nav{display:flex;gap:40px;font-size:11px;letter-spacing:.12em}.menu-toggle{font-size:11px;letter-spacing:.14em}.menu-toggle span{margin-left:24px;font-size:21px}.menu-panel{position:fixed;inset:0 0 0 auto;z-index:20;width:min(560px,100%);background:#191917;color:var(--paper);padding:90px 8% 45px;overflow:auto;box-shadow:0 0 0 100vmax #0009}.menu-panel[hidden]{display:none}.menu-close{position:absolute;right:30px;top:20px}.menu-panel nav{display:grid;margin-bottom:36px}.menu-panel p{color:inherit}.menu-panel nav a{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid #ffffff20;font:23px var(--serif)}.menu-panel small{font:10px Arial;color:var(--muted)}.hero{height:100vh;height:100svh;min-height:600px;position:relative;display:grid;place-items:center;background:#24241f}.hero video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(180deg,#0005,transparent 35%,#0002 55%,#0008)}.hero-copy{position:relative;text-align:center;padding:0 5vw;text-shadow:0 2px 25px #0009}.hero-copy .eyebrow{font:15px var(--serif);letter-spacing:.45em;margin-bottom:22px}.hero h1{font:400 clamp(30px,5.2vw,90px)/1.15 var(--serif);letter-spacing:.05em}.hero-tagline{font:clamp(15px,1.65vw,25px) var(--serif);letter-spacing:.25em;margin-top:32px}.hero-bottom{position:absolute;bottom:35px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;letter-spacing:.12em}.hero-bottom a{padding:14px 0}.hero-film-link{display:none!important}.hero-bottom span{margin-left:20px}.hero-bottom button{font-size:10px}.hangzhou{background:var(--paper);color:var(--ink);min-height:850px;display:flex;flex-direction:column;justify-content:space-between}.hangzhou .section-meta,.art .section-meta,.collections .section-meta{color:#756f65}.city-heading{margin-left:21%}.city-heading h2 em{color:#5b2c6f}.city-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:80px;gap:35px}.city-name{font:clamp(38px,7.5vw,120px) var(--serif);letter-spacing:-.045em;color:#b6b0a3}.city-bottom p{font-size:12px;line-height:2.25}.art{background:#e5e0d6;color:var(--ink)}.art-layout{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:7vw}.art figure{margin-right:-7vw}.art img{aspect-ratio:1.1;object-fit:cover;object-position:58% center}.art figcaption{font-size:9px;letter-spacing:.16em;margin-top:20px}.spirit{padding-top:110px;padding-bottom:130px}.spirit-intro{display:grid;grid-template-columns:1fr 1fr}.spirit-intro .eyebrow{grid-column:1/-1}.spirit-intro>p:last-child{align-self:end;font-size:12px;line-height:2.3;color:#aba89e;padding-left:70px}.spirit-path{padding:0;margin:95px 0 0;list-style:none;display:grid;grid-template-columns:repeat(5,1fr)}.spirit-path li{border-top:1px solid #5b584f;padding:24px 14px 0 0;position:relative}.spirit-path li:before{content:"";position:absolute;top:-3px;left:0;width:5px;height:5px;background:var(--orange)}.spirit-path span{font-size:9px;color:#9f9c91}.spirit-path h3{font:clamp(12px,1.3vw,20px) var(--serif);margin:35px 0 14px}.spirit-path b{font:16px var(--serif)}.spirit-path p{font-size:10px;line-height:1.8;color:#9f9c91;margin-top:15px}.collections{background:var(--paper);color:var(--ink)}.collection-title{text-align:center;margin-bottom:110px}.product-label{display:flex;justify-content:space-between;margin-bottom:25px}.signature figure,.objects figure{overflow:hidden}.signature img,.objects img{aspect-ratio:2.45;object-fit:cover}.product-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin:35px 0}.product-bottom h3{font:28px var(--serif)}.product-bottom p{font-size:12px;line-height:2;margin-top:14px;color:#70695e}details{border-top:1px solid #c9c2b6;padding:17px 0;font-size:11px}summary{cursor:pointer;min-height:24px}details>p{line-height:2.2;max-width:700px;margin-top:20px}.reserve{display:grid;grid-template-columns:minmax(0,1fr) auto;margin:120px -7vw;padding:100px 10vw;min-height:590px;background:#3b3a2f;color:var(--paper);gap:50px;align-items:center}.reserve h3{font:clamp(34px,4vw,60px)/1.5 var(--serif);margin:30px 0}.reserve-title>p{font-size:12px;color:#c9c5b8}.coming{display:inline-block;margin-top:35px;font-size:9px;letter-spacing:.17em;color:#b9b09c;border-top:1px solid #787263;padding-top:18px}.reserve-poem{text-align:left;border:1px solid #a49b713d;padding:0 30px;aspect-ratio:825/1000;display:flex;flex-direction:column;justify-content:center;width:min(38vw,470px);justify-self:end;box-sizing:border-box}.reserve-poem>span{font:clamp(34px,5.2vw,66px) var(--serif);color:#a7a085}.reserve-poem p{font:clamp(13px,1.05vw,16px)/2 var(--serif);margin:12px 0}.reserve-poem small{font-size:9px;color:#c0b8a3}.woman{display:grid;grid-template-columns:1.2fr 1fr;background:#e7e5df;color:var(--ink)}.woman figure{overflow:hidden}.woman img{height:100%;min-height:680px;object-fit:cover;object-position:48% center}.woman-copy{padding:100px 6vw;align-self:center}.woman-copy p:not(.eyebrow){font-size:12px;line-height:2.3;margin-top:35px}.woman-copy>span{display:block;font:italic 12px var(--serif);letter-spacing:.1em;margin-top:65px}.world{min-height:760px;position:relative;background:#20201c;overflow:hidden}
/* ==== V5.38 #world 底图（index.html 05 / THE MULAN WORLD）====
   素材 assets/images/01901.webp = 2560x1440 四联画（18岁·花木兰 / 20岁·花平 /
   26岁·花平 / 30岁·花木兰）。结构 bg(z0) + veil(z1) + 内容(z2)，
   沿用 .art-hero 三段式；刻意不用 `>*` 通配。
   ---------------------------------------------------------------------------
   V5.43 取景修正：原为 background-position:38% 56%（与上一版注释写的 50% 58% 已不符）。
   问题：本区块 min-height 只有 760px，容器是「矮而超宽」，cover 会纵向裁掉一半以上，
         56% 又把可见窗口继续往下推，四联画的头就被切在区块上沿（1920 端起明显）。
   实测可见原图 y 区间（四联画最高一颗头顶在 y=0.135，顶部 0~0.045 是奶白纸边）：
     1280 → 0.000-1.000 ✅ ／ 1440 → 0.029-0.977 ✅
     1920 → 0.157-0.877 ❌ 裁头 ／ 2560 → 0.264-0.792 ❌ 严重裁头
   注意：直接写 50% 50% 并不能解决 —— 那只把可见顶部推到 0.236，2560 端照样没头。
   因为它跟的是「溢出量」而非「原图比例」，所以按各宽度溢出量反算取景 Y：
     Y=17% → 1280:0.000 / 1440:0.011 / 1920:0.049 / 2250:0.068 / 2560:0.080 /
              3200:0.098 / 3840:0.110 —— 全宽度区间均 ≤0.135，头顶不再被裁。
   横向由 38% 改为 50%（用户要求居中）：各断点横向偏移差仅 10~32px，观感不变。 */
.world .world-bg{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url(../images/01901.webp);background-repeat:no-repeat;background-position:50% 17%;background-size:cover;opacity:.92;filter:saturate(.80) contrast(1.04) brightness(.72)}
.world .world-veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(24,24,20,.94) 0%,rgba(24,24,20,.86) 26%,rgba(24,24,20,.56) 46%,rgba(24,24,20,.26) 62%,rgba(24,24,20,.62) 82%,rgba(24,24,20,.80) 100%),linear-gradient(180deg,rgba(24,24,20,.72) 0%,rgba(24,24,20,.14) 18%,rgba(24,24,20,.42) 78%,rgba(24,24,20,.88) 100%)}
/* 落款在当前 z 序 1 之下，需抬到 veil 之上并加暗描边，避免压在画面人物脸上读不清 */
.world .sound-symbol{z-index:2;text-shadow:0 2px 26px rgba(0,0,0,.92),0 0 3px rgba(0,0,0,.75)}
.world .section-meta{position:relative;z-index:2}
.world-copy{position:relative;z-index:2;max-width:65%}.world-copy p:not(.eyebrow){font-size:12px;line-height:2.3;color:#b6b3aa;margin:30px 0}.world-copy small{display:block;color:#a29b88;font-size:9px;margin-top:20px}.sound-symbol{position:absolute;right:8vw;top:31%;writing-mode:vertical-rl;font:55px var(--serif);letter-spacing:.2em;color:#b6aa8b}.sound-symbol span{color:#716b5d}.maison-intro{background:#e7e2d8;color:var(--ink)}.maison-intro>.reveal{padding-left:21%}.maison-intro p:last-child{font:15px var(--serif);margin-top:30px}.maison-scene{height:100vh;height:100svh;min-height:650px;position:relative;overflow:hidden}.maison-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,#000a)}.maison-scene img{width:100%;height:100%;object-fit:cover}.maison-scene figcaption{position:absolute;z-index:1;left:7vw;bottom:70px;right:7vw}.maison-scene h3{font:clamp(35px,4.5vw,72px)/1.25 var(--serif)}.maison-scene figcaption>span{display:block;font-size:10px;letter-spacing:.15em;margin-top:35px}.maison-interlude{display:grid;grid-template-columns:.7fr 1.4fr 1fr;align-items:center;gap:35px;background:#1a1a17}.maison-interlude h3{font:56px var(--serif)}.maison-interlude h3 span{font:22px var(--serif)}.maison-interlude p:not(.eyebrow){font-size:12px;line-height:2.3;color:#b8b3a8;margin-top:20px}.night img{filter:saturate(.65)}.closing{min-height:620px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:110px 5vw;background:#090909}.closing h2{font:clamp(25px,5vw,76px) var(--serif);letter-spacing:.04em}.closing-cn{font:16px var(--serif);letter-spacing:.4em;margin-top:28px}.closing-sound{font:23px var(--serif);letter-spacing:.32em;margin-top:95px}.closing-sound span{display:block;font:8px Arial;letter-spacing:.2em;color:#8e8370;margin-top:18px}footer{padding:32px 4vw;border-top:1px solid #262622;display:flex;justify-content:space-between;gap:25px;color:#a19d93;font-size:9px;letter-spacing:.07em}footer nav{display:flex;gap:25px}.reveal{transition:opacity .9s,transform .9s}.reveal.pending{opacity:0;transform:translateY(25px)}.subpage{background:var(--paper);color:var(--ink)}.subheader{padding:30px 6vw;display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid #bcb6aa;font-size:11px}.submain{max-width:1100px;margin:auto;padding:90px 6vw}.submain h1{font:clamp(32px,5vw,62px)/1.3 var(--serif);margin-bottom:35px}.submain h2{font-size:28px;margin:55px 0 20px}.submain p{font-size:13px;line-height:2.2;max-width:750px}.submain .notice{font-size:11px;color:#827866;margin-top:20px}.business-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:35px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:35px 0}.stats strong{display:block;font:36px var(--serif);margin-bottom:12px}.stats span{font-size:12px}.film-page{background:#090909}.film-main{max-width:1400px;margin:auto;padding:45px 4vw}.film-main video{display:block;width:100%;max-height:75vh;background:#000}.film-caption{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:35px}.film-caption h1{font:24px var(--serif)}.film-caption p{font-size:10px;letter-spacing:.14em}.subpage footer{margin-top:50px;color:#6b6458;border-color:#c8c0b3}
@media(min-width:1600px){.section-pad{padding-left:max(7vw,calc((100vw - 1440px)/2));padding-right:max(7vw,calc((100vw - 1440px)/2))}}
@media(max-width:1000px){.section-pad{padding:75px 6vw}.section-meta{margin-bottom:60px}.city-heading{margin-left:10%}.hangzhou{min-height:730px}.city-bottom{align-items:flex-start;flex-direction:column}.art-layout{gap:5vw}.spirit-intro>p:last-child{padding-left:30px}.woman img{min-height:590px}.woman-copy{padding:65px 5vw}.maison-interlude{grid-template-columns:1fr 1fr}.maison-interlude>.eyebrow{grid-column:1/-1;margin-bottom:0}.reserve{margin:90px -6vw;padding:75px 8vw}.reserve-poem{width:min(42vw,420px)}.art figure{margin-right:-6vw}footer{flex-wrap:wrap}}
@media(max-width:700px){html{scroll-padding-top:25px}.header{height:83px;padding:0 6vw}.wordmark{font-size:12px}.wordmark span{font-size:8px}.desktop-nav{display:none}.menu-toggle span{margin-left:12px}.hero{min-height:560px}.hero video{object-position:50% center}.hero h1{font-size:clamp(25px,6vw,42px);white-space:nowrap}.hero-copy{padding:0 4vw}.hero-copy .eyebrow{font-size:12px}.hero-tagline{font-size:16px;letter-spacing:.13em}.hero-bottom{left:6vw;right:6vw;flex-wrap:wrap;font-size:9px;bottom:24px}.hero-bottom span{margin-left:5px}.hero-bottom button{font-size:9px}.section-pad{padding:65px 7vw}.section-meta{font-size:8px;letter-spacing:.1em;margin-bottom:55px}.eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:24px}.hangzhou{min-height:690px}.city-heading{margin-left:0}.city-bottom{margin-top:55px}.city-name{font-size:15vw}.city-bottom p{font-size:11px}.art-layout{grid-template-columns:1fr;gap:45px}.art figure{margin:0 -7vw}.art img{aspect-ratio:1.3}.art figcaption{padding-left:7vw}.spirit-intro{display:block}.spirit-intro>p:last-child{padding:0;margin-top:30px}.spirit-path{grid-template-columns:1fr;margin-top:55px}.spirit-path li{display:grid;grid-template-columns:1fr 1.5fr;gap:8px 15px;padding:24px 0}.spirit-path h3{font-size:17px;margin:0}.spirit-path b{font-size:14px}.spirit-path p{margin:0}.collection-title{text-align:left;margin-bottom:65px}.product-label{font-size:9px}.signature figure,.objects figure{margin:0 -7vw}.signature img,.objects img{aspect-ratio:1.4;object-fit:contain;background:#d5cfc4}.product-bottom{display:block;margin:28px 0}.product-bottom h3{font-size:25px}.product-bottom .line-link{margin-top:15px}.reserve{grid-template-columns:1fr;margin:70px -7vw;padding:60px 7vw;gap:45px}.reserve h3{font-size:40px}.reserve-poem{display:flex;padding:0}.reserve-poem>span{font-size:90px}.reserve-poem small{grid-column:1/-1;margin-top:15px}.reserve-poem p{font-size:14px}.woman{grid-template-columns:1fr}.woman img{min-height:0;height:auto;aspect-ratio:1.15;object-position:50% center}.woman-copy{padding:65px 7vw}.woman-copy>span{margin-top:35px}.world{min-height:690px}.world-copy{max-width:85%}.world h2{font-size:32px}.world .world-bg{background-position:50% 62%;opacity:.24;background-size:auto 118%}.sound-symbol{right:5vw;top:35%;font-size:28px;opacity:.7}.maison-intro>.reveal{padding-left:0}.maison-scene{min-height:600px;height:85svh}.maison-scene img{object-position:50% center}.maison-scene.day img{object-position:48% center}.maison-scene figcaption{bottom:45px}.maison-scene h3{font-size:37px}.maison-interlude{grid-template-columns:1fr;gap:15px}.maison-interlude h3{font-size:52px}.maison-interlude .maison-manifesto{margin-top:10px}.closing{min-height:570px;padding:90px 5vw}.closing h2{font-size:6.4vw}.closing-cn{font-size:14px}.closing .eyebrow{letter-spacing:.13em}.closing-sound{font-size:21px;margin-top:75px}footer{padding:30px 7vw;flex-direction:column;font-size:8px}footer nav{gap:20px;flex-wrap:wrap}.subheader{font-size:9px}.submain{padding-top:60px}.stats{grid-template-columns:1fr 1fr}.film-caption{display:block}.film-caption h1{font-size:22px}.film-caption p{margin-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none}.reveal.pending{opacity:1;transform:none}}

/* V3 Global Digital Flagship — editorial refinement */
.hero-copy{max-width:100%}.hero-shade{background:linear-gradient(180deg,#0007, #0002 35%,#0004 65%,#0009)}
.signature figure,.objects figure{background:#e5e0d6}.signature img,.objects img{aspect-ratio:auto;object-fit:contain}
.maison-experience{background:#171715}.experience-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:75px}.experience-heading>p{font-size:12px;line-height:2.3;color:#b8b3a8}.experience-list details{border-color:#48463f;padding:0}.experience-list summary{display:grid;grid-template-columns:70px 1fr 150px;align-items:center;gap:20px;list-style:none;padding:30px 0;min-height:90px}.experience-list summary::-webkit-details-marker{display:none}.experience-list summary>span{color:#b2a68d;font-size:10px}.experience-list h3{font:clamp(23px,3vw,44px) var(--serif);letter-spacing:.035em}.experience-list b{font-size:11px;font-weight:400;text-align:right}.experience-list b:after{content:' ＋';padding-left:18px}.experience-list details[open] b:after{content:' −'}.experience-list details>p{margin:0 0 30px 90px;color:#b8b3a8;font-size:12px;max-width:620px}
.maisons{background:#ece8df;color:var(--ink)}.maisons .section-meta{color:#746e61}.vision-heading{margin-left:21%}.vision-heading>p:last-child{font-size:12px;line-height:2.3;margin-top:35px;color:#686154}.maison-address{margin-top:100px;border-top:1px solid #bcb4a3;border-bottom:1px solid #bcb4a3;padding:40px 0;display:flex;align-items:center;justify-content:space-between;gap:30px}.maison-address h3{font:clamp(32px,5vw,70px) var(--serif);margin:20px 0}.maison-address p,.vision-note{font-size:11px;line-height:2;color:#746e61}.vision-note{margin-top:25px}.closing-seal{width:48px;height:48px;border-radius:50%;margin-bottom:38px}.closing-sound{letter-spacing:.13em}.line-link{min-height:44px}.menu-panel nav a{min-height:52px}
.ritual{border-top:1px solid #bcb4a3;margin-top:60px;padding-top:35px}.ritual-options{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.ritual-options button{border:1px solid #aaa08d;padding:14px 23px;font-size:12px;letter-spacing:.08em}.ritual-options button[aria-pressed=true]{background:#20201c;color:#f0ede6}.ritual-result{padding:32px;border-left:2px solid #ca631d;background:#e5dfd3;min-height:155px}.ritual-result h2{margin:0 0 15px;font-size:29px}.ritual-result p{font-size:13px}.ritual-note{color:#756b5a;font-size:11px!important;margin-top:25px}
@media(min-width:1600px){.art figure{margin-right:0}.reserve{margin-left:0;margin-right:0}}
@media(max-width:700px){.hero{min-height:520px}.hero h1{font-size:5.8vw}.experience-heading{display:block;margin-bottom:40px}.experience-heading>p{margin-top:25px}.experience-list summary{grid-template-columns:25px 1fr;gap:12px;padding:23px 0}.experience-list b{grid-column:2;text-align:left;color:#b8b3a8}.experience-list details>p{margin-left:37px}.vision-heading{margin-left:0}.maison-address{display:block;margin-top:60px}.maison-address .line-link{margin-top:22px}.signature img,.objects img{aspect-ratio:auto}.closing-sound{font-size:19px}.ritual-result{padding:25px}.hero-bottom{padding-bottom:env(safe-area-inset-bottom)}.maison-scene{height:auto;min-height:0;background:#10100e}.maison-scene img{height:auto;aspect-ratio:1.25;object-fit:cover}.maison-scene:after{display:none}.maison-scene figcaption{position:static;padding:36px 7vw 55px}.maison-scene h3{font-size:33px}.maison-scene .eyebrow{font-size:8px}}
@media(max-height:550px) and (min-width:701px){.hero{min-height:480px}.header{height:75px}.hero h1{font-size:44px}}
.art img{height:auto}.signature img,.objects img{height:auto}.woman figure{aspect-ratio:1.2}.woman img{height:100%;min-height:0}@media(max-width:700px){.woman figure{aspect-ratio:1.15}.woman img{height:100%}}
.wordmark{display:flex;align-items:center;gap:13px;flex-shrink:0}.wordmark .header-logo{width:44px;height:44px;object-fit:contain;border-radius:50%;flex-shrink:0}.wordmark .brand-name{margin:0;font:inherit;letter-spacing:inherit;text-align:left}@media(max-width:700px){.wordmark{gap:10px}.wordmark .header-logo{width:34px;height:34px}}

/* ==== V4 : 英文主张 / 杭州 / RESERVE 稀缺性 / 本命茶 ==== */
.spirit-claim{margin:110px 0 0;padding-top:55px;border-top:1px solid #5b584f;text-align:center;font:clamp(22px,3.2vw,50px)/1.6 var(--serif);letter-spacing:.16em}
.spirit-claim em{font-style:normal;color:var(--orange)}
.city-pairs{margin:42px 0 0;padding:0;list-style:none;border-top:1px solid #ccc6b8}
.city-pairs li{display:flex;align-items:baseline;gap:16px;padding:17px 0;border-bottom:1px solid #ccc6b8;font:16px var(--serif)}
.city-pairs li span:first-child{min-width:5em;letter-spacing:.06em}
.city-pairs li em{font-style:normal;color:var(--orange);font-size:13px;letter-spacing:.1em}
.city-pairs li span:last-child{color:#5b584f}
.city-note{max-width:540px}
.city-bottom .city-born{font:clamp(15px,1.5vw,21px)/1.7 var(--serif);letter-spacing:.05em;margin-top:30px}
.city-bottom .city-analogy{margin-top:20px;color:#6d6759}
.city-bottom .city-analogy b{font-weight:400;color:var(--ink)}
.reserve-spec{margin:38px 0 0;padding:24px 0 0;border-top:1px solid #ffffff1f;display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
.reserve-spec>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 0;border-bottom:1px solid #ffffff12}
.reserve-spec dt{font-size:9px;letter-spacing:.14em;color:#a7a294;white-space:nowrap}
.reserve-spec dd{margin:0;font:14px var(--serif);letter-spacing:.04em;text-align:right}
.reserve-poem .reserve-code{font:10.5px/1.85 var(--serif);letter-spacing:.14em;margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(240,237,230,.34)}
.reserve-poem .reserve-code b{display:block;margin-top:7px;font:400 clamp(16px,1.9vw,25px) var(--serif);letter-spacing:.2em;color:#d8cfae}
.ritual-tea{margin-top:28px;padding-top:26px;border-top:1px solid #c6bfae}
.ritual-tea .eyebrow{margin-bottom:14px;font-size:9px;letter-spacing:.16em;color:#8a8271}
.ritual-tea h3{font:400 clamp(22px,2.6vw,34px)/1.4 var(--serif);margin:0 0 12px;letter-spacing:.05em}
.ritual-tea h3 em{font-style:normal;font-size:11px;letter-spacing:.18em;color:#8a8271}
.ritual-tea .tea-note{font-size:13px;line-height:2;color:#5d5747;margin:0 0 22px}
@media(max-width:1000px){.reserve-spec{grid-template-columns:1fr}.city-note{max-width:none}.spirit-claim{margin-top:85px}}
@media(max-width:700px){.spirit-claim{margin-top:70px;padding-top:40px;font-size:clamp(19px,5.2vw,30px);letter-spacing:.1em}
.city-pairs{margin-top:32px}
.city-pairs li{padding:14px 0;font-size:14px;gap:12px}
.city-pairs li span:first-child{min-width:4.2em}
.reserve-poem .reserve-code{grid-column:1/-1;margin-top:26px;padding-top:20px}
.ritual-tea{margin-top:22px;padding-top:20px}
.ritual-tea .line-link{padding:12px 0}}

/* ==== V4.1 商标露出 ==== */
.woman-copy p.woman-mark{font:10px/1.9 var(--serif);letter-spacing:.18em;margin-top:26px;color:#8b867a}
.woman-copy p.woman-mark sup{font-size:.75em}
.woman-copy p.woman-mark small{display:block;font-size:9px;letter-spacing:.12em;margin-top:7px;color:#a09a8d}
.emblem-strip{margin-top:90px;padding-top:48px;border-top:1px solid #26251f;width:100%;max-width:860px;align-self:center}
.emblem-strip .eyebrow{display:block;margin-bottom:40px;color:#8e8370}
.emblem-strip ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 42px}
.emblem-strip li{display:flex;flex-direction:column;align-items:center;gap:13px;text-align:center;width:148px}
.emblem-strip img{width:38px;height:38px;object-fit:cover;border-radius:50%;opacity:.9}
.emblem-strip .emblem-face{object-position:50% 18%}
.emblem-strip .emblem-pattern{width:38px;height:38px;border-radius:50%;background:url(../images/dw01.png) center/cover;border:1px solid #4a463c}
.emblem-strip .emblem-glyph{width:38px;height:38px;border-radius:50%;border:1px solid #4a463c;display:flex;align-items:center;justify-content:center;font:15px var(--serif);color:#c9c0ab}
.emblem-strip b{font:400 11px var(--serif);letter-spacing:.14em}
.emblem-strip b sup{font-size:.7em;vertical-align:super}
.emblem-strip small{font-size:9px;letter-spacing:.1em;color:#6f6a5d}
@media(max-width:700px){.emblem-strip{margin-top:60px;padding-top:36px}.emblem-strip ul{gap:26px 12px}.emblem-strip li{width:calc(50% - 6px)}.emblem-strip .eyebrow{margin-bottom:30px}}

/* ==== V4.2 木兰人格卡 ==== */
.mulan-card{background:#11110f;color:#f0ede6;text-align:center;padding:58px 8vw 48px;margin-top:44px;position:relative}
.mulan-card:before{content:"";position:absolute;inset:14px;border:1px solid #3a372e;pointer-events:none}
.card-brand{display:block;font:10px var(--serif);letter-spacing:.22em;color:#a09a8d}
.card-eyebrow{display:block;font-size:8px;letter-spacing:.3em;color:#8e8370;margin-top:36px}
.card-spirit{margin:18px 0 0}
.card-spirit b{display:block;font:400 clamp(30px,5vw,46px) var(--serif);letter-spacing:.18em}
.card-spirit span{display:block;font:14px var(--serif);letter-spacing:.5em;color:#c9c0ab;margin-top:15px}
.card-rule{width:34px;height:1px;background:#4a463c;margin:34px auto}
.card-tea span{display:block;font-size:8px;letter-spacing:.26em;color:#8e8370}
.card-tea b{display:block;font:400 clamp(22px,3vw,30px) var(--serif);letter-spacing:.1em;margin-top:13px}
.card-tea em{display:block;font-style:normal;font-size:9px;letter-spacing:.24em;color:#8e8370;margin-top:9px}
.card-note{font:400 13px/2.2 var(--serif);color:#b8b3a8;margin:28px auto 0;max-width:24em}
.card-foot{font:10px var(--serif);letter-spacing:.3em;color:#6f6a5d;margin:40px 0 0;padding-top:28px;border-top:1px solid #26251f}
.card-save{display:block;margin:24px auto 0;background:none;border:1px solid #bcb4a3;color:#11110f;font:10px var(--serif);letter-spacing:.2em;padding:15px 32px;cursor:pointer}
.card-save:hover{background:#11110f;color:#f0ede6;border-color:#11110f}
@media(max-width:700px){.mulan-card{padding:48px 7vw 40px;margin-top:34px}.card-spirit b{font-size:30px;letter-spacing:.12em}.card-note{font-size:12px}}

/* ==== V4.5 旗舰店：唯一性 / 抵达 / 三层 ==== */
.maison-only{margin:38px 0 0;padding-top:26px;border-top:1px solid #4a463c;font:400 clamp(15px,1.6vw,22px) var(--serif);letter-spacing:.14em}
.maison-only span{display:block;font-size:9px;letter-spacing:.26em;color:#8e8370;margin-top:12px}
.arrival-heading{max-width:820px;position:relative}
.arrival-symbol{position:absolute;right:0;top:-30px;font:400 clamp(90px,13vw,190px) var(--serif);color:#2b2a24;line-height:1;pointer-events:none}
.arrival-list,.floor-list{margin:85px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0 44px}
.arrival-list li,.floor-list li{border-top:1px solid #5b584f;padding:26px 14px 0 0;position:relative}
.arrival-list li:before,.floor-list li:before{content:"";position:absolute;top:-3px;left:0;width:5px;height:5px;background:var(--orange)}
.arrival-list span,.floor-list span{display:block;font-size:9px;letter-spacing:.2em;color:#9f9c91}
.arrival-list h3,.floor-list h3{font:clamp(13px,1.3vw,20px) var(--serif);margin:34px 0 12px;letter-spacing:.1em}
.arrival-list b,.floor-list b{font:400 16px var(--serif);letter-spacing:.06em}
.arrival-list p,.floor-list p{font-size:11px;line-height:2.1;color:#9f9c91;margin:16px 0 0}
.floor-list span{font:clamp(26px,3.4vw,46px) var(--serif);letter-spacing:0;color:#5b584f;margin-bottom:6px}
.floors-heading{max-width:820px}
@media(max-width:1000px){.arrival-list,.floor-list{grid-template-columns:1fr 1fr;gap:0 30px}.arrival-symbol{font-size:14vw;top:-10px}}
@media(max-width:700px){.arrival-list,.floor-list{grid-template-columns:1fr;margin-top:55px;gap:0}
.arrival-list li,.floor-list li{display:grid;grid-template-columns:1fr 2fr;gap:8px 16px;padding:22px 0}
.arrival-list h3,.floor-list h3{margin:0;font-size:16px}.arrival-list p,.floor-list p{margin:0}
.arrival-symbol{position:static;font-size:78px;margin-top:20px;text-align:center}}
/* ==== V4.7 title line reveal ==== */
.rv-lines .rv-line{display:block;opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,.61,.36,1)}
.rv-lines.rv-in .rv-line{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv-lines .rv-line{opacity:1;transform:none;transition:none}}
/* ==== V4.8 art video ==== */
.art video.art-video{display:block;width:100%;height:auto;aspect-ratio:1.1;object-fit:cover;object-position:center;background:#e5e0d6}
@media(max-width:700px){.art video.art-video{aspect-ratio:1.3}}
/* ==== V4.9 signature video (16:9 zero-crop) ==== */
.signature video.sig-video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center;background:#e5e0d6}
@media(max-width:700px){.signature video.sig-video{aspect-ratio:1.4}}
/* ==== V5.0 signature vitrine (pull out of bleed) ==== */
.signature figure{width:min(33.34vw,520px);margin:0 auto}
@media(max-width:700px){.signature figure{margin:0 4vw;width:auto}}
/* ==== V5.1 objects film (brand film, 16:9 vitrine) ==== */
.objects video.obj-video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center;background:#e5e0d6}
.objects figure{margin:0 7vw}
@media(max-width:700px){.objects figure{margin:0 4vw}.objects video.obj-video{aspect-ratio:1.4}}

/* ==== V5.2 hangzhou: mulan tower sketch backdrop ==== */
.hangzhou{position:relative}
.hangzhou .city-sketch{position:absolute;top:110px;right:0;width:min(60vw,980px);height:auto;opacity:.3;mix-blend-mode:multiply;pointer-events:none;user-select:none;-webkit-mask-image:radial-gradient(115% 115% at 62% 38%,#000 52%,transparent 90%);mask-image:radial-gradient(115% 115% at 62% 38%,#000 52%,transparent 90%)}
.hangzhou .section-meta,.hangzhou .city-heading,.hangzhou .city-bottom{position:relative;z-index:1}
@media(max-width:700px){.hangzhou .city-sketch{width:130vw;right:-28vw;top:60px;opacity:.22}
#hangzhou{overflow-x:clip}}

/* ==== V5.3 reserve poem photo backdrop ==== */
.reserve-poem{position:relative;overflow:hidden}
.reserve-poem .reserve-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center 50%;z-index:0}
.reserve-poem::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(24,23,19,.80) 0%,rgba(24,23,19,.58) 38%,rgba(24,23,19,.24) 62%,rgba(24,23,19,.06) 100%);pointer-events:none}
.reserve-poem>span,.reserve-poem>p{position:relative;z-index:2;text-shadow:0 1px 22px rgba(20,19,15,.92),0 2px 6px rgba(20,19,15,.65)}
@media(max-width:700px){.reserve-poem::before{background:linear-gradient(180deg,rgba(32,31,25,.60),rgba(32,31,25,.30) 55%,rgba(32,31,25,.62))}}

/* ==== V5.3b reserve poem: full 16:9 photo, no crop ==== */
@media(max-width:700px){.reserve-poem{width:100%;max-width:420px;justify-self:center}}

/* ==== V5.4 woman 16-film mosaic (V5.35: hover 播放，无灯箱/无播放按钮) ==== */
.woman figure.woman-mosaic{aspect-ratio:auto;min-height:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:#e7e5df;align-self:stretch}
.woman .woman-mosaic img{min-height:0;height:100%;width:100%;object-fit:cover;object-position:center 30%}
.wm-tile{position:relative;overflow:hidden;margin:0;padding:0;border:0;background:#dcd9d1;cursor:default;aspect-ratio:1}
.wm-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:0;transition:opacity .5s ease;pointer-events:none}
.wm-tile .wm-no{position:absolute;left:9px;bottom:7px;z-index:2;font:10px var(--serif);letter-spacing:.18em;color:#f4f1e9;opacity:.5;text-shadow:0 1px 10px rgba(20,19,15,.65);transition:opacity .4s ease}
.wm-tile:hover video,.wm-tile:focus-visible video{opacity:1}
.wm-tile:hover .wm-no,.wm-tile:focus-visible .wm-no{opacity:.95}
.wm-tile:hover,.wm-tile:focus-visible{z-index:2}
@supports selector(.a:has(.b)){.woman-mosaic:has(.wm-tile:hover) .wm-tile:not(:hover){opacity:.55}.woman-mosaic:has(.wm-tile:hover) .wm-tile:not(:hover) video{opacity:0}}

@media(prefers-reduced-motion:reduce){.wm-tile video{display:none}}

/* == V5.5 arrival photo ============================== */
.maison-arrival .arrival-heading{max-width:none;display:flex;align-items:center;gap:28px}
.maison-arrival .arrival-heading-text{flex:1 1 auto;max-width:820px}
/* V5.45 文案改「一条“无穷大”环绕」后（原 6 字 → 现 9 字符）：1102–1366 视口下 h2 容器被 flex 三栏挤到
   430–550px，该行需 8.2em 而容器只给得下 ~7em，于是「绕」被挤成孤字第 3 行。
   实测：加 nowrap 后全区间（1102–1920）文字自然宽度 − 容器宽 ≤ 1px，而 h2 右侧到 ∞ 符号尚有 28px gap，
   不会碰撞、不出屏。字号 / 行高 / 坐标一律不变，只是禁止这一行内部断行（<br> 仍正常换行）。 */
.maison-arrival .arrival-heading-text h2{white-space:nowrap}
.maison-arrival .arrival-symbol{position:static;flex:0 0 auto;font:400 clamp(72px,10vw,160px) var(--serif);color:#2b2a24;line-height:1;margin-top:-8px}
.maison-arrival .arrival-photo{margin:0;flex:0 0 auto;width:min(33.34vw,540px)}
.maison-arrival .arrival-photo img{display:block;width:100%;height:auto;object-fit:cover;background:#2b2a24}
@media(max-width:1100px){.maison-arrival .arrival-heading{flex-wrap:wrap}.maison-arrival .arrival-photo{width:min(46vw,540px)}.maison-arrival .arrival-symbol{font-size:11vw}}
@media(max-width:700px){.maison-arrival .arrival-heading{gap:0}.maison-arrival .arrival-photo{width:100%;margin-top:30px}.maison-arrival .arrival-symbol{font-size:78px;margin-top:20px;text-align:center;width:100%}}
/* V5.45 极端窄屏回退：该行自然宽 296px，而容器宽仅 ≈0.867·vw（实测 360→295px、320→261px），
   故 ≤365px 必然放不下：此时放开 nowrap，改用 text-wrap:balance 把 9 个字均衡到 2 行，
   避免「绕」孤字独占第 3 行。实测 375/390 无需回退（hScroll=0、单行），故断点取 365px。
   ⚠ 别在这里用 <wbr> 指定断点：实测 Chromium 下 <wbr> 并不受 white-space:nowrap 抑制，
   会被当成有效断点把桌面端重新拆行（1258 由 2 行变 3 行），已回滚。 */
@media(max-width:365px){.maison-arrival .arrival-heading-text h2{white-space:normal;text-wrap:balance}}

/* == V5.6 emblem regroup ============================= */
.emblem-strip .emblem-break{width:100%;height:0;margin:0;padding:0;border:0}
.emblem-strip img.emblem-face{object-position:center}
@media(max-width:700px){.emblem-strip .emblem-break{display:none}}

/* == V5.9 spirit bg video ============================ */
.spirit{position:relative;overflow:hidden}
.spirit .spirit-bg{position:absolute;left:0;top:0;width:100%;height:56.25vw;object-fit:cover;object-position:center 42%;opacity:.18;z-index:0;pointer-events:none}.spirit::after{content:"";position:absolute;left:0;right:0;top:0;height:56.25vw;z-index:0;pointer-events:none;background:linear-gradient(180deg,transparent 44%,rgba(17,17,15,.5) 72%,var(--ink) 100%)}.spirit::after{content://;position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#11110f 0%,rgba(17,17,15,.2) 32%,rgba(17,17,15,.2) 68%,#11110f 100%);pointer-events:none}
.spirit>*:not(.spirit-bg){position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.spirit .spirit-bg{display:none}}

/* == V5.10 signature two-column ====================== */
.signature .signature-cols{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:5vw;align-items:center}
.signature .signature-info{max-width:430px}
.signature .signature-info .product-label{margin-bottom:28px}
.signature .signature-info h3{font:400 clamp(24px,2.4vw,36px) var(--serif);margin:0;letter-spacing:.04em}
.signature .signature-info .sig-desc{font-size:12px;line-height:2.1;color:#70695e;margin:16px 0 0}
.signature .signature-info .line-link{display:inline-block;margin-top:34px}
.signature .signature-cols figure{width:100%;margin:0}
@media(max-width:900px){.signature .signature-cols{grid-template-columns:1fr;gap:36px}.signature .signature-info{max-width:none}}

/* == V5.11 woman mosaic 12 格：贴合内容高度，单格保持 1:1 === */
.woman figure.woman-mosaic{align-self:start}

/* == V5.12 emblem 行距 + 图形右上 (R) ================ */
.emblem-strip li{gap:14px}
.emblem-strip li small{margin-top:9px}
.emblem-strip .emblem-mark{position:relative;display:inline-flex}
.emblem-strip .emblem-mark .emblem-r{position:absolute;top:-4px;right:-11px;font:400 9px/1 Arial;font-style:normal;color:#8e8370;letter-spacing:0}

/* --- V5.13 collections-head: icon-orange left / title right --- */
.collections-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:5vw;align-items:end;margin-bottom:110px}
.collections-head .collection-title{margin-bottom:0}
.icon-orange .io-eyebrow{color:#8e8370}
.icon-orange .io-eyebrow:before{content:"";display:inline-block;width:26px;height:1px;background:var(--orange);vertical-align:middle;margin-right:12px}
.icon-orange .io-title{font:400 clamp(20px,1.8vw,28px)/1.55 var(--serif);color:var(--ink);margin:16px 0 0;letter-spacing:.02em}
.icon-orange .io-desc{font-size:12px;line-height:2.05;color:#70695e;margin:14px 0 0}
.icon-orange .io-swatches{display:flex;gap:14px;margin-top:30px}
.icon-orange .sw{display:block;width:64px;height:64px;border-radius:4px}
.icon-orange .sw-orange{background:var(--orange)}
.icon-orange .sw-gold{background:#8e8370}
.icon-orange .sw-ink{background:var(--ink)}
.icon-orange .sw-paper{background:var(--paper);border:1px solid rgba(17,17,15,.22)}
@media(max-width:900px){.collections-head{grid-template-columns:1fr;gap:46px;align-items:start;margin-bottom:72px}.collections-head .collection-title{order:-1}.icon-orange .sw{width:52px;height:52px}}

/* --- V5.14 mosaic tiles: native 9:16 ratio (no crop) --- */
.woman-mosaic .wm-tile{aspect-ratio:400/712}
.woman .woman-mosaic .wm-tile img{object-position:center}
.woman-mosaic .wm-tile video{object-position:center}

/* --- V5.15 subpages: mulancraft / mulancollections / mulangroup --- */
.sub-hero{background:var(--ink);color:var(--paper);padding:190px 4vw 88px}
.sub-hero .eyebrow{color:#8e8370}
.sub-hero h1{font:400 clamp(40px,6vw,74px)/1.15 var(--serif);margin:18px 0 0;letter-spacing:.06em}
.sub-hero .sub-lead{font-size:13px;line-height:2.15;color:#b8b3a8;margin:28px 0 0;max-width:760px}
.sub-section{padding:110px 4vw;border-bottom:1px solid #ddd8cd}
.sub-section:last-of-type{border-bottom:0}
.sub-wrap{max-width:1180px;margin:0 auto}
.sub-kicker{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:56px}
.sub-kicker h2{font:400 clamp(24px,2.6vw,36px) var(--serif);margin:0;letter-spacing:.04em}
.sub-kicker .en{font:italic 12px var(--serif);letter-spacing:.18em;color:#8e8370;white-space:nowrap}
.sub-quote{font:italic 400 clamp(17px,2vw,24px)/1.8 var(--serif);color:#70695e;text-align:center;padding:74px 4vw;border-bottom:1px solid #ddd8cd}
.craft-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5vw;align-items:center;padding:72px 0;border-bottom:1px solid #ddd8cd}
.craft-row:last-child{border-bottom:0;padding-bottom:0}
.craft-row.flip .craft-media{order:2}
.craft-media{aspect-ratio:4/5;overflow:hidden;background:#e7e5df;margin:0}
.craft-media img{width:100%;height:100%;object-fit:cover;display:block}
.craft-no{font:italic 400 clamp(38px,4vw,54px)/1 var(--serif);color:var(--orange)}
.craft-body h3{font:400 clamp(22px,2.2vw,30px) var(--serif);margin:14px 0 0;letter-spacing:.05em}
.craft-body p{font-size:12.5px;line-height:2.25;color:#70695e;margin:18px 0 0;max-width:440px}
.philo-item{padding:56px 0;border-bottom:1px solid #ddd8cd}
.philo-item:last-child{border-bottom:0;padding-bottom:0}
.philo-item h3{font:400 clamp(20px,2vw,27px)/1.65 var(--serif);letter-spacing:.03em}
.philo-item .en{display:block;font:italic 12px var(--serif);letter-spacing:.16em;color:#8e8370;margin-top:12px}
.philo-item p{font-size:12.5px;line-height:2.25;color:#70695e;margin:18px 0 0;max-width:760px}
.col-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.col-card{position:relative;display:flex;align-items:flex-end;padding:30px;aspect-ratio:1;overflow:hidden;text-decoration:none;color:var(--paper)}
.col-card h3{font:400 clamp(19px,1.7vw,25px) var(--serif);position:relative;margin:0;letter-spacing:.05em}
.col-card small{display:block;font-size:10px;letter-spacing:.2em;margin-top:9px;opacity:.85;position:relative}
.col-card .veil{position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(17,17,15,.74) 100%)}
.col-card img.bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.col-card.c-orange{background:linear-gradient(135deg,#b97a2e 0%,var(--orange) 100%)}
.col-card.c-ink{background:var(--ink)}
.col-card.c-ink .deco-sq{position:absolute;top:26px;right:26px;width:44px;height:44px;background:var(--orange)}
.col-card.c-paper{background:var(--paper);color:var(--ink);border:1px solid #d5d0c4}
.col-card.c-paper .deco-frame{position:absolute;top:26px;right:26px;width:32px;height:32px;border:1px solid var(--ink)}
.col-card.c-paper .deco-dot{position:absolute;top:26px;right:26px;width:44px;height:44px;background:#b97a2e;border-radius:50%}
.col-card.c-photo{background:var(--ink)}
.icon-item{display:grid;grid-template-columns:110px minmax(0,1fr);gap:30px;align-items:start;padding:52px 0;border-bottom:1px solid #ddd8cd}
.icon-item:last-child{border-bottom:0;padding-bottom:0}
.icon-item .no{font:italic 400 clamp(30px,3.4vw,46px)/1 var(--serif);color:var(--orange)}
.icon-item h3{font:400 clamp(19px,1.9vw,26px) var(--serif);margin:0;letter-spacing:.05em}
.icon-item p{font-size:12.5px;line-height:2.2;color:#70695e;margin:14px 0 0;max-width:560px}
.story-lede{font-size:14px;line-height:2.4;color:#3f3b32;max-width:820px}
.story-lede+.story-lede{margin-top:26px}
.timeline{border-left:1px solid #c9c3b6;margin-left:6px;padding-left:36px;margin-top:8px}
.tl-item{position:relative;padding:26px 0 26px 6px}
.tl-item:before{content:"";position:absolute;left:-41px;top:40px;width:9px;height:9px;background:var(--orange);border-radius:50%}
.tl-item h3{font:400 clamp(18px,1.8vw,24px) var(--serif);margin:0;letter-spacing:.04em}
.tl-item .en{display:block;font:italic 11px var(--serif);letter-spacing:.16em;color:#8e8370;margin-top:8px}
.tl-item p{font-size:12.5px;line-height:2.15;color:#70695e;margin:12px 0 0;max-width:640px}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center;padding:52px 0 8px}
.stat-row b{font:400 clamp(26px,3vw,42px)/1.1 var(--serif);display:block}
.stat-row span{display:block;font-size:10px;letter-spacing:.2em;color:#8e8370;margin-top:10px}
.biz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.biz-card{border:1px solid #d5d0c4;padding:36px;min-height:200px;display:flex;flex-direction:column}
.biz-card h3{font:400 clamp(18px,1.7vw,24px) var(--serif);margin:0;letter-spacing:.05em}
.biz-card .en{font:italic 11px var(--serif);letter-spacing:.16em;color:#8e8370;margin-top:10px}
.biz-card p{font-size:12px;line-height:2.1;color:#70695e;margin:16px 0 0}
.biz-note{font-size:11px;color:#8e8370;margin-top:26px}
.contact-block{background:var(--ink);color:var(--paper);padding:96px 4vw;text-align:center}
/* ==== V5.38 「回家，喝杯茶」视频底图收尾区块（mulangroup）====
   结构 video(z0) + shade(z1) + contact-copy(z2)，与 .sub-hero--film 同模式。
   素材 assets/video/mulan04/4.mp4 = 720x406(16:9) 15s，自带音轨故 muted。
   刻意不用 `>*` 通配改定位（V5.36/V5.37 两次教训），三个子元素各自显式声明 position。 */
.contact-block--film{position:relative;min-height:88svh;display:flex;align-items:flex-start;justify-content:center;padding:0;overflow:hidden;background:var(--ink)}
.contact-block--film .contact-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% center;z-index:0}
.contact-block--film .contact-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(17,17,15,.88) 0%,rgba(17,17,15,.36) 30%,rgba(17,17,15,.10) 56%,rgba(17,17,15,.62) 100%),linear-gradient(90deg,rgba(17,17,15,.34) 0%,rgba(17,17,15,.04) 62%)}
.contact-block--film .contact-copy{position:relative;z-index:2;padding:0 6vw;margin-top:clamp(46px,11svh,128px);text-align:center}
.contact-block--film h2{font:400 clamp(30px,4.2vw,62px) var(--serif);margin:0;letter-spacing:.06em;text-shadow:0 2px 30px rgba(0,0,0,.55)}
@media(max-width:900px){.contact-block--film{min-height:64svh}.contact-block--film h2{font-size:32px}}
@media(max-height:560px) and (min-width:701px){.contact-block--film{min-height:100svh}}
@media(prefers-reduced-motion:reduce){.contact-block--film .contact-video{display:none}.contact-block--film{background:var(--ink)}}
/* ==== V5.38 匠艺落款区（mulancraft 底部「唧唧复唧唧 · 木兰茶故事」）====
   在 .contact-block--film 基线上再加高，故加 --craft 修饰类。
   素材 assets/video/web/craft-outro.mp4 由 005.mp4(960x960 方形) 中心裁 16:9 →
   1280x720 30fps 无音轨 0.7MB（原始 14.1MB）。 */
.contact-block--craft{min-height:96svh}
.contact-block--craft .contact-video{object-position:50% 46%}
.contact-block--craft .contact-shade{background:linear-gradient(180deg,rgba(17,17,15,.90) 0%,rgba(17,17,15,.42) 28%,rgba(17,17,15,.18) 54%,rgba(17,17,15,.68) 100%),linear-gradient(90deg,rgba(17,17,15,.42) 0%,rgba(17,17,15,.06) 64%)}
.contact-block--craft .contact-copy{margin-top:clamp(52px,12svh,142px)}
.contact-block--craft p{font-size:13px;line-height:2.2;color:#c9c4b8;margin:22px 0 0;text-shadow:0 2px 22px rgba(0,0,0,.6)}
@media(max-width:900px){.contact-block--craft{min-height:70svh}}
.contact-block h2{font:400 clamp(24px,2.8vw,38px) var(--serif);margin:0 0 34px;letter-spacing:.05em}
.contact-block p{font-size:13px;line-height:2.2;color:#b8b3a8;margin:0}
.contact-block a{color:var(--paper)}
.crafted .crafted-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5vw;align-items:center}
.crafted .crafted-info h2{font:400 clamp(26px,3vw,42px)/1.55 var(--serif);margin:0;letter-spacing:.03em}
.crafted .crafted-chain{font-size:12.5px;line-height:2.3;color:#70695e;margin:24px 0 0}
.crafted .crafted-photo{margin:0;aspect-ratio:1140/940;overflow:hidden;background:#e7e5df}
.crafted .crafted-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.sub-hero{padding:150px 6vw 64px}.sub-section{padding:78px 6vw}.sub-kicker{flex-direction:column;gap:10px;margin-bottom:40px}.craft-row{grid-template-columns:1fr;gap:28px;padding:56px 0}.craft-row.flip .craft-media{order:0}.col-grid{grid-template-columns:repeat(2,1fr)}.icon-item{grid-template-columns:64px minmax(0,1fr);gap:20px;padding:40px 0}.stat-row{grid-template-columns:repeat(2,1fr);gap:30px}.biz-grid{grid-template-columns:1fr}.crafted .crafted-cols{grid-template-columns:1fr;gap:34px}}
@media(max-width:600px){.col-grid{grid-template-columns:1fr}}

/* --- V5.16 woman mosaic: proportional scale-down (ratio kept 400/712) --- */
.woman figure.woman-mosaic{width:min(100%,700px);margin-right:auto}

/* ==== V5.20 reserve photo: 01.webp(825x1000 竖版) 落 16:9 框，按内容能量选纵向窗口 ==== */
.reserve-poem .reserve-photo{object-position:center 50%}

/* == V5.22 subpage depth: timeline year / manifesto / journal ====== */
.tl-item .tl-yr{display:block;font:400 clamp(22px,2.4vw,32px)/1 var(--serif);color:var(--orange);letter-spacing:.06em;margin-bottom:6px}
.manifesto{max-width:880px}
.manifesto p{font-size:clamp(13.5px,1.3vw,16.5px);line-height:2.35;color:#3f3b32;text-indent:2em;margin:0}
.manifesto p+p{margin-top:20px}
.manifesto p.en{font:italic 13px/2.15 var(--serif);color:#8e8370;text-indent:0;margin-top:28px}
.jr-item{padding:36px 0;border-bottom:1px solid #ddd8cd}
.jr-item:last-child{border-bottom:0;padding-bottom:0}
.jr-item .jr-cat{display:block;font-size:9.5px;letter-spacing:.22em;color:var(--orange)}
.jr-item h3{font:400 clamp(17px,1.6vw,22px) var(--serif);margin:12px 0 0;letter-spacing:.04em}
.jr-item p{font-size:12.5px;line-height:2.15;color:#70695e;margin:12px 0 0;max-width:680px}
.jr-item .jr-date{display:block;font:italic 11px var(--serif);letter-spacing:.16em;color:#8e8370;margin-top:10px}
.sub-eyebrow{font:italic 11px var(--serif);letter-spacing:.22em;color:#8e8370;margin:64px 0 22px}
@media(max-width:900px){.manifesto p{text-indent:1.6em}.sub-eyebrow{margin:46px 0 18px}}

/* == V5.25 subpage hero with film (木兰之家) ============ */
.sub-hero--film{position:relative;overflow:hidden;min-height:520px;display:flex;align-items:center}
.sub-hero--film .sub-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% center;z-index:0}
.sub-hero--film .sub-hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(17,17,15,.86) 0%,rgba(17,17,15,.52) 42%,rgba(17,17,15,.78) 100%),linear-gradient(90deg,rgba(17,17,15,.62) 0%,rgba(17,17,15,.10) 70%);pointer-events:none}
.sub-hero--film .sub-hero-inner{position:relative;z-index:2;width:100%}
.sub-hero--film h1,.sub-hero--film .sub-lead,.sub-hero--film .eyebrow{text-shadow:0 2px 26px rgba(0,0,0,.72)}
@media(max-width:900px){.sub-hero--film{min-height:440px;padding:150px 6vw 64px}}
@media(max-width:700px){.sub-hero--film{min-height:400px}.sub-hero--film .sub-hero-video{object-position:52% center}}
@media(prefers-reduced-motion:reduce){.sub-hero--film .sub-hero-video{display:none}.sub-hero--film{background:var(--ink)}}

/* == V5.26 subpage art system: scale / rhythm / film / bleed ======== */
/* 1. 巨型标题（首页 HANGZHOU 尺度） */
.art-hero{position:relative;background:var(--ink);color:var(--paper);padding:0;min-height:88svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.art-hero figure{position:absolute;inset:0;margin:0;z-index:0}
.art-hero figure img,.art-hero figure video{width:100%;height:100%;object-fit:cover;display:block}
.art-hero .art-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,10,9,.72) 0%,rgba(10,10,9,.30) 38%,rgba(10,10,9,.86) 100%)}
.art-hero .art-hero-inner{position:relative;z-index:6;width:100%;max-width:1180px;margin:0 auto;padding:calc(105px + 34px) 4vw 72px}
.art-hero .eyebrow{color:#c9a15a;letter-spacing:.42em;font-size:11px}
.art-hero .art-mega{font:400 clamp(46px,7.6vw,118px)/1.04 var(--serif);letter-spacing:-.015em;margin:26px 0 0;text-shadow:0 4px 60px rgba(0,0,0,.7)}
.art-hero .art-mega em{font-style:normal;color:var(--orange)}
.art-hero .art-en{font:italic 400 clamp(13px,1.5vw,19px)/1.9 var(--serif);letter-spacing:.2em;color:#c8c2b4;margin:26px 0 0;max-width:640px}
.art-hero .art-line{width:1px;height:58px;background:linear-gradient(180deg,#c9a15a,transparent);margin:34px 0 0}

/* ===== V5.35f art-bleed 编辑式错位编排（等比原图 / 文在图外 / 奇偶错位） ===== */
.art-bleed{position:relative;background:var(--ink);overflow:visible;padding:0 0 clamp(46px,6vw,96px)}
.art-bleed figure{margin:0;position:relative;height:auto;display:flex;flex-direction:column}
.art-bleed figure img{position:static;inset:auto;width:100%;height:auto;display:block;object-fit:unset;object-position:unset;flex:0 0 auto}
.art-bleed.bleed-tall figure{height:auto;width:min(100%,1180px)}
.art-bleed.bleed-short figure{height:auto;width:min(100%,860px)}
.art-bleed:nth-of-type(even){padding-left:clamp(20px,7vw,140px)}
.art-bleed:nth-of-type(odd){padding-right:clamp(20px,7vw,140px)}
.art-bleed .art-bleed-cap{position:relative;z-index:2;flex:0 0 auto;width:100%;margin:0;padding:clamp(30px,3.4vw,54px) 0 0;background:none;color:var(--paper);pointer-events:auto;max-width:820px}
.art-bleed .art-bleed-cap h2{font:400 clamp(28px,4.4vw,72px)/1.1 var(--serif);margin:0;letter-spacing:.01em;max-width:900px}
.art-bleed .art-bleed-cap p{font-size:12.5px;line-height:2.1;color:#c0bab0;margin:18px 0 0;max-width:560px}
.art-bleed figure::after{content:"";position:absolute;left:0;right:0;top:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(201,161,90,.18);height:var(--img-h,100%)}
.art-bleed .art-no{position:absolute;left:0;top:0;z-index:3;padding:13px 19px;font:400 10px/1 Arial;letter-spacing:.3em;color:#c9a15a;background:rgba(10,10,9,.55);pointer-events:none}
@media(max-width:900px){.art-bleed{padding-bottom:clamp(34px,7vw,58px)}.art-bleed:nth-of-type(even){padding-left:0}.art-bleed:nth-of-type(odd){padding-right:0}.art-bleed.bleed-tall figure,.art-bleed.bleed-short figure{width:100%}}
/* 2. 出血巨图 + 悬浮文字 */

/* 3. 深色章节（打破一路浅底） */
.art-dark{background:var(--ink);color:var(--paper);padding:120px 4vw}
.art-dark .sub-wrap{max-width:1180px;margin:0 auto}
.art-dark .sub-kicker h2{color:var(--paper)}
.art-dark .sub-kicker .en{color:#8e8370}
.art-dark .story-lede{color:#b8b3a8}
.art-dark .philo-item{border-bottom-color:#2e2d26}
.art-dark .philo-item h3{color:var(--paper)}
.art-dark .philo-item p{color:#a9a49a}
.art-mega .mega-br{display:block;content:""}
@media(min-width:1600px){.art-hero .art-hero-inner{max-width:1500px}.art-hero .art-mega{font-size:clamp(60px,5.6vw,108px)}}
@media(max-width:1000px){.art-hero .art-hero-inner{padding:calc(75px + 26px) 6vw 54px}.art-hero .art-mega{font-size:clamp(38px,9vw,84px);line-height:1.06}}
@media(max-width:700px){.art-hero .art-hero-inner{padding:calc(83px + 18px) 6vw 46px}.art-hero .art-mega{font-size:clamp(30px,9.6vw,44px);line-height:1.14;letter-spacing:-.01em;margin:18px 0 0}.art-hero .art-en{margin:18px 0 0}}
@media(max-height:550px) and (min-width:701px){.art-hero .art-hero-inner{padding-top:calc(75px + 16px)}.art-hero .art-mega{font-size:clamp(34px,5.4vw,72px)}}
.art-mega-no{position:relative;font:400 clamp(56px,9.5vw,140px)/1 var(--serif);color:#3a3830;letter-spacing:-.04em;margin:0 0 6px;opacity:.85;pointer-events:none;user-select:none}

/* 4. 影像墙（复用首页 05 区手法） */
.art-wall{background:var(--ink);padding:110px 4vw}
.art-wall .sub-wrap{max-width:1180px;margin:0 auto}
.art-wall .eyebrow{color:#c9a15a;letter-spacing:.42em}
.art-wall h2{font:400 clamp(30px,4.6vw,76px)/1.08 var(--serif);color:var(--paper);margin:18px 0 0;letter-spacing:.01em}
.art-wall p.wall-note{font-size:12.5px;line-height:2.1;color:#a9a49a;margin:22px 0 52px;max-width:620px}
.art-wall-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.art-wall-grid .wm-tile{aspect-ratio:9/16;border:0;padding:0;background:#1a1a17;overflow:hidden;position:relative;cursor:default}
.art-wall-grid .wm-tile img,.art-wall-grid .wm-tile video{width:100%;height:100%;object-fit:cover;display:block;object-position:center}
.art-wall-grid .wm-tile .wm-no{position:absolute;left:8px;bottom:7px;font:10px var(--serif);letter-spacing:.18em;color:#f4f1e9;opacity:.5;z-index:2;text-shadow:0 1px 10px rgba(20,19,15,.7)}
.art-wall-grid .wm-tile:hover .wm-no{opacity:.95}.art-wall-grid .wm-tile video{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .5s ease}.art-wall-grid .wm-tile video.on{opacity:1}.art-wall-grid .wm-tile:focus-visible{outline:1px solid rgba(201,161,90,.75);outline-offset:2px}

/* 5. 巨型数据 */
.art-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--ink);border-top:1px solid #2e2d26;border-bottom:1px solid #2e2d26}
.art-stats div{padding:66px 3vw;text-align:center;border-right:1px solid #2e2d26}
.art-stats div:last-child{border-right:0}
.art-stats b{display:block;font:400 clamp(38px,5.6vw,96px)/1 var(--serif);color:var(--orange);letter-spacing:-.02em}
.art-stats span{display:block;font-size:9.5px;letter-spacing:.24em;color:#8e8370;margin-top:18px}
@media(max-width:900px){
  .art-hero{min-height:74svh}
  .art-hero .art-hero-inner{padding:calc(75px + 22px) 6vw 54px}
  .art-dark{padding:78px 6vw}
  .art-wall{padding:78px 6vw}
  .art-wall-grid{grid-template-columns:repeat(3,1fr);gap:8px}
  .art-stats{grid-template-columns:1fr 1fr}
  .art-stats div{border-bottom:1px solid #2e2d26}
  .art-stats div:nth-child(2n){border-right:0}
}

/* == V5.34 品牌底纹：改用正确的 底纹.png 连续花纹 ============================ */
/* 素材：assets/images/mulan-pat.webp（源自 底纹.png，按 466x162 真实周期裁成无缝，二值化提纯）。
   压到 5%，只作"一层极淡的点缀"，绝不抢主体；::before 承载，pointer-events:none 不干扰交互。 */
.brand-pat{position:relative}
.brand-pat::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url(../images/mulan-pat.webp);background-repeat:repeat;
  background-size:600px auto;background-position:center top;opacity:.05}
.brand-pat>*{position:relative;z-index:1}
/* ===== V5.36b 首屏文案避开导航条（居中于导航以下区域） ===== */
.hero{align-items:center;justify-items:center;padding:105px 0 0}
@media(max-width:900px){.hero{padding-top:75px}}
@media(max-width:700px){.hero{padding-top:83px}}
@media(max-height:550px) and (min-width:701px){.hero{padding-top:75px}}

/* V5.36 修正：全幅覆层不能被上面那条通配改成 relative，否则 grid 容器里会塌成内容高度，导航下方露出色带 */
.brand-pat>.hero-shade,.brand-pat>video{position:absolute;inset:0;width:100%;height:100%;z-index:1}
/* 浅底区块：换深棕版，同样 5% */
.brand-pat--light::before{background-image:url(../images/mulan-pat-brown.webp);opacity:.05}
/* 首屏：纹样上再叠一层纵向渐变，保证巨字对比度 */
.brand-pat--hero::before{opacity:.05;background-size:680px auto}
.brand-pat--hero::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 88% at 50% 52%,transparent 34%,rgba(10,10,9,.62) 100%)}
@media(max-width:900px){
  .brand-pat::before{background-size:460px auto}
  .brand-pat--hero::before{background-size:520px auto}
}
@media(prefers-reduced-motion:no-preference){
  /* 极缓慢的纹样漂移，几乎察觉不到，只为"活"一点 */
  .brand-pat--drift::before{animation:patDrift 90s linear infinite}
}
@keyframes patDrift{from{background-position:center top}to{background-position:calc(100% + 300px) top}}

/* == V5.27 黑白节奏微调：打断连续深色 / 长浅色 ==================== */
/* arrival(抵达) 由深转浅，打断 craft+arrival+floors 的 2858px 连续黑 */
#arrival{background:var(--paper);color:var(--ink)}
#arrival .section-meta span{color:#8e8370}
#arrival .section-meta span:last-child{color:var(--ink)}
/* experience(空间体验) 保持深色，与 maisons 浅色形成收尾对拍 */
/* collections 内部：木兰珍藏 N°02 拉出一段深色，给 3120px 长浅块做呼吸 */

/* ============================================================================
   V5.40  木兰匠艺 / mulancraft.html
   A. 五道匠艺：整章改为满幅深色画廊 + 图|文 编辑式双栏重排
      原实现的问题：.art-bleed 自带 --ink 底色，但它活在 max-width:1180 的 .sub-wrap 里，
      于是形成"一块 1180px 宽的黑砖浮在米色纸面上"，两侧各留 130px 米色，
      图与文字都挤在这块砖里；题图宽度 tall/short 两档不一、figure::after 的 1px 金框
      又按 figure 全高（含图下的文字）描边，整体节奏散、边界糊。
      改法：section 自己变深色 → 黑砖与纸面的硬边消失；每道匠艺改成 图|文 双栏、
      奇偶左右互换，行间金色发丝线，序号用大字号幽灵数字压底，
      题图编号与英文行改为金色标签，题图只描 1px 金边。
   B. 「产业证据」向下 8 个区块：深棕 → 深橙 → 深紫 → 暖纸 四拍循环
      原来这一段连续 ~6000px 全是 --paper #f0ede6，一片白。
      现在每种深色配一份自有底纹（mulan-pat / mulan-pat-brown / mulan-pat-diamond）：
        产业证据      深棕 #241a12  × mulan-pat（金色六边花）   橙色数字
        ISO 认证      深橙 #4e2a0e  × mulan-pat-brown           金句带
        为什么以茶讲  深紫 #2a1a30  × mulan-pat-diamond         金句引文
        品牌宣言      暖纸 #e9e2d3  × mulan-pat-brown（茶汤纸感）
        当代木兰      深棕 #241a12  × mulan-pat                 首卡通栏
        全球女性计划  深橙 #4e2a0e  × mulan-pat-brown
        木兰志·栏目   深紫 #2a1a30  × mulan-pat-diamond
        木兰志·文章   暖纸 #e9e2d3  × mulan-pat-brown
      长文（品牌宣言 / 文章列表）留在暖纸上保证可读，但纸色偏茶汤 + 棕底纹，不再是纯白。
   C. 硬约束
      全程不新增任何 `>*` 通配（V5.36 首屏色带 / V5.37 落款跑位 两次教训）。
      深色区块的底纹走自身 ::before(z0)，只把已知的唯一子元素 .sub-wrap 显式抬到 z1。
      新增选择器全部挂在 .craft-gallery / .dk--* / .paper-warm 三个新类下，
      mulancollections.html / mulangroup.html 的同名类（art-bleed / biz-card / story-lede 等）不受影响。
   ============================================================================ */

:root{
  --gold:#c9a15a;--gold-dim:#ab9670;
  --deep-brown:#241a12;--deep-plum:#2a1a30;--deep-amber:#4e2a0e;
  --paper-warm:#e9e2d3;
}

/* ---------- A. 五道匠艺：满幅深色画廊 ---------- */
.craft-gallery{background:var(--ink);color:var(--paper);position:relative;border-bottom:0;
  padding-top:clamp(88px,9vw,144px);padding-bottom:clamp(88px,9vw,144px)}
.craft-gallery::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url(../images/mulan-pat.webp);background-repeat:repeat;
  background-size:620px auto;background-position:center top;opacity:.055}
.craft-gallery>.sub-wrap{position:relative;z-index:1}
.craft-gallery .sub-kicker{align-items:flex-end;margin-bottom:0;
  border-bottom:1px solid rgba(201,161,90,.22);padding-bottom:clamp(18px,2vw,30px)}
.craft-gallery .sub-kicker h2{color:var(--paper)}
.craft-gallery .sub-kicker .en{color:var(--gold-dim)}

.craft-gallery .art-bleed.cf{background:transparent;position:relative;margin:0;
  padding:clamp(52px,6.2vw,104px) 0 0;border-top:1px solid rgba(201,161,90,.14)}
.craft-gallery .art-bleed.cf figure{display:grid;align-items:center;width:100%;height:auto;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(26px,3.6vw,72px)}
.craft-gallery .art-bleed.cf figure::after{display:none}
.craft-gallery .art-bleed.cf figure>img{grid-row:1;width:100%;height:auto;
  border:1px solid rgba(201,161,90,.22)}
.craft-gallery .art-bleed.cf .art-bleed-cap{width:100%;max-width:none;padding:0;pointer-events:auto}
.craft-gallery .art-bleed.cf .art-no{display:none}
.craft-gallery .art-bleed.cf-l figure>img{grid-column:1}
.craft-gallery .art-bleed.cf-l figure>.art-bleed-cap{grid-column:2}
.craft-gallery .art-bleed.cf-r figure>img{grid-column:2}
.craft-gallery .art-bleed.cf-r figure>.art-bleed-cap{grid-column:1}
.craft-gallery .art-bleed.cf::before{content:attr(data-no);position:absolute;z-index:0;
  top:clamp(46px,5.4vw,94px);font:400 clamp(88px,12vw,190px)/.8 var(--serif);
  letter-spacing:-.05em;color:rgba(201,161,90,.10);pointer-events:none;user-select:none}
.craft-gallery .art-bleed.cf-l::before{right:0}
.craft-gallery .art-bleed.cf-r::before{left:0}
.craft-gallery .art-bleed.cf .art-bleed-cap .eyebrow{display:inline-block;color:var(--gold);
  font-size:10px;letter-spacing:.34em;margin-bottom:clamp(14px,1.6vw,22px);
  border-left:2px solid var(--orange);padding-left:12px}
.craft-gallery .art-bleed.cf .art-bleed-cap h2{font-size:clamp(26px,3.4vw,54px);color:var(--paper)}
.craft-gallery .art-bleed.cf .art-bleed-cap .cf-line{font:italic 400 clamp(14px,1.15vw,17px)/1.95 var(--serif);
  color:#cabfa8;margin:clamp(14px,1.6vw,22px) 0 0;max-width:46ch}
.craft-gallery .art-bleed.cf .art-bleed-cap p:last-of-type{color:#9d968a;font-size:12.5px;
  line-height:2.1;margin:clamp(14px,1.6vw,22px) 0 0;max-width:46ch}

/* 火与时间：画廊里的一块装裱内页 */
.craft-gallery .art-dark.brand-pat{margin:clamp(58px,6.6vw,112px) 0 0;
  padding:clamp(44px,5vw,88px) clamp(24px,3vw,58px);
  background:#0c0b09;border:1px solid rgba(201,161,90,.26)}
.craft-gallery .art-dark.brand-pat .sub-wrap{max-width:none}
.craft-gallery .art-dark .art-mega-no{font-size:clamp(34px,5.4vw,84px);color:#3f3c33;opacity:1;margin-bottom:2px}
.craft-gallery .art-dark .sub-kicker{align-items:baseline;margin:20px 0 34px}

/* ---------- B. 深色三段 + 暖纸：底纹 / 描边 / 文本色 ---------- */
.dk{position:relative;color:var(--paper);
  border-top:1px solid rgba(201,161,90,.32);border-bottom:1px solid rgba(201,161,90,.20)}
.dk::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-repeat:repeat;background-position:center top}
.dk::after{content:'';position:absolute;top:-4.5px;left:50%;margin-left:-4.5px;width:9px;height:9px;
  transform:rotate(45deg);background:var(--orange);z-index:2;pointer-events:none}
.dk>.sub-wrap{position:relative;z-index:1}
.dk--brown{background-color:var(--deep-brown);
  background-image:radial-gradient(120% 92% at 16% 0%,rgba(146,88,34,.34) 0%,rgba(146,88,34,0) 62%),
    radial-gradient(92% 72% at 100% 100%,rgba(58,34,14,.55) 0%,rgba(58,34,14,0) 62%)}
.dk--brown::before{background-image:url(../images/mulan-pat.webp);background-size:600px auto;opacity:.085}
.dk--plum{background-color:var(--deep-plum);
  background-image:radial-gradient(118% 90% at 84% 4%,rgba(106,60,124,.30) 0%,rgba(106,60,124,0) 60%),
    radial-gradient(92% 72% at 0% 100%,rgba(46,24,56,.60) 0%,rgba(46,24,56,0) 62%)}
.dk--plum::before{background-image:url(../images/mulan-pat-diamond.webp);background-size:920px auto;opacity:.065}
.dk--amber{background-color:var(--deep-amber);
  background-image:radial-gradient(132% 104% at 50% -12%,rgba(202,99,29,.44) 0%,rgba(202,99,29,0) 66%),
    radial-gradient(90% 70% at 50% 100%,rgba(36,18,6,.55) 0%,rgba(36,18,6,0) 60%)}
.dk--amber::before{background-image:url(../images/mulan-pat-brown.webp);background-size:600px auto;opacity:.10}

.dk .sub-kicker h2{color:var(--paper)}
.dk .sub-kicker .en{color:var(--gold-dim)}
.dk .story-lede{color:#cfc8bb}
.dk .sub-note{color:#ada596}

/* 暖纸拍：茶汤色纸 + 棕底纹（长文留在这里，保可读） */
.paper-warm{position:relative;background:var(--paper-warm);color:var(--ink);
  border-top:1px solid rgba(160,120,60,.42);border-bottom:1px solid rgba(160,120,60,.30)}
.paper-warm::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url(../images/mulan-pat-brown.webp);background-repeat:repeat;
  background-size:620px auto;background-position:center top;opacity:.09}
.paper-warm::after{content:'';position:absolute;top:-4.5px;left:50%;margin-left:-4.5px;width:9px;height:9px;
  transform:rotate(45deg);background:var(--orange);z-index:2;pointer-events:none}
.paper-warm>.sub-wrap{position:relative;z-index:1}
.paper-warm .manifesto p:first-child::before{content:'';display:inline-block;width:7px;height:7px;
  background:var(--orange);transform:rotate(45deg);margin-right:13px;vertical-align:2px}
.paper-warm .sub-eyebrow:first-child{margin-top:0}

/* 小注（12.5px 说明行）：原为 3 处内联 style，统一成类 */
.sub-note{font-size:12.5px;line-height:2.2;color:#70695e;margin:0 0 36px}
.sub-note--tight{margin-bottom:8px}

/* 深色区内的引文（原为 2 处内联 style：border-bottom:0;padding:54px 0 0;text-align:left） */
.sub-quote--inline{font:italic 400 clamp(15px,1.6vw,20px)/1.95 var(--serif);text-align:left;
  color:var(--gold);margin:clamp(30px,3.2vw,50px) 0 0;padding:0 0 0 clamp(18px,2vw,32px);
  border-left:2px solid rgba(201,161,90,.45);border-bottom:0}

/* 产业证据：发丝金格数据台 */
.dk--brown .stat-row{grid-template-columns:repeat(4,1fr);gap:0;text-align:left;padding:0;
  margin:clamp(34px,4vw,58px) 0 0;border-top:1px solid rgba(201,161,90,.28)}
.dk--brown .stat-row>div{padding:clamp(24px,3vw,42px) clamp(14px,1.6vw,26px);
  border-bottom:1px solid rgba(201,161,90,.16);border-right:1px solid rgba(201,161,90,.16)}
.dk--brown .stat-row>div:nth-child(4n){border-right:0}
.dk--brown .stat-row>div:nth-child(n+5){border-bottom:0}
.dk--brown .stat-row b{font-size:clamp(30px,3.6vw,56px);color:var(--orange);letter-spacing:-.01em}
.dk--brown .stat-row span{text-align:left;color:var(--gold-dim);font-size:9.5px;
  letter-spacing:.22em;margin-top:14px}

/* ISO 认证带 */
.sub-quote.dk--amber{color:#f3e3cc;letter-spacing:.10em;
  padding:clamp(52px,5.6vw,88px) 4vw}

/* 当代木兰：首卡通栏 */
.dk--lead .biz-grid{grid-template-columns:repeat(6,1fr);gap:clamp(12px,1.4vw,20px)}
.dk--lead .biz-card{grid-column:span 3;min-height:0;position:relative;
  border:1px solid rgba(201,161,90,.20);background:rgba(240,237,230,.035);
  padding:clamp(26px,2.6vw,42px)}
.dk--lead .biz-card:first-child{grid-column:span 6;background:rgba(240,237,230,.06);
  border-color:rgba(201,161,90,.36)}
.dk--lead .biz-card h3{color:var(--paper)}
.dk--lead .biz-card:first-child h3{font-size:clamp(24px,3vw,46px)}
.dk--lead .biz-card .en{color:var(--orange)}
.dk--lead .biz-card p{color:#b4aca0}
.dk--lead .biz-card:hover{border-color:rgba(201,161,90,.56)}

/* 木兰志栏目卡（深紫拍） */
.dk--plum .biz-card{border:1px solid rgba(201,161,90,.18);background:rgba(240,237,230,.03);
  padding:clamp(24px,2.4vw,36px)}
.dk--plum .biz-card h3{color:var(--paper)}
.dk--plum .biz-card .en{color:var(--gold-dim)}
.dk--plum .biz-card p{color:#b0a7b4}
.dk--plum .biz-card:hover{border-color:rgba(201,161,90,.48)}

/* ---------- C. 多端降级 ---------- */
@media(max-width:900px){
  .craft-gallery .art-bleed.cf figure{grid-template-columns:1fr;gap:clamp(20px,4.4vw,32px)}
  .craft-gallery .art-bleed.cf-l figure>img,.craft-gallery .art-bleed.cf-r figure>img{grid-column:1;grid-row:1}
  .craft-gallery .art-bleed.cf-l figure>.art-bleed-cap,
  .craft-gallery .art-bleed.cf-r figure>.art-bleed-cap{grid-column:1;grid-row:2}
  .craft-gallery .art-bleed.cf::before{top:auto;bottom:-.1em;font-size:clamp(74px,20vw,150px)}
  .craft-gallery .art-bleed.cf-l::before{right:auto;left:0}
  .craft-gallery .art-bleed.cf-r::before{left:0;right:auto}
  .craft-gallery .art-bleed.cf .art-bleed-cap h2{font-size:clamp(24px,6.4vw,38px)}
  .dk--brown .stat-row{grid-template-columns:repeat(2,1fr)}
  .dk--brown .stat-row>div:nth-child(4n){border-right:1px solid rgba(201,161,90,.16)}
  .dk--brown .stat-row>div:nth-child(2n){border-right:0}
  .dk--brown .stat-row>div:nth-child(n+5){border-bottom:1px solid rgba(201,161,90,.16)}
  .dk--brown .stat-row>div:nth-child(n+7){border-bottom:0}
  .dk--lead .biz-grid{grid-template-columns:1fr}
  .dk--lead .biz-card,.dk--lead .biz-card:first-child{grid-column:span 1}
  .dk--lead .biz-card:first-child h3{font-size:clamp(22px,6vw,32px)}
}
@media(prefers-reduced-motion:reduce){
  .dk--lead .biz-card:hover{border-color:rgba(201,161,90,.20)}
}

/* V5.40 补丁：深底说明行（原内联 color:#70695e 在 --ink 上对比不足） */
.art-dark .sub-note{color:#b8b3a8}
.sub-note--lead{margin:-24px 0 40px}

/* ==== V5.40b 微调 ============================================================
   1) 五道匠艺的幽灵序号：改为行内垂直居中的超大水印（原来贴在行首会与金色
      图版标签 CRAFT 0X / XXX 抢位置，短文案行尤其明显）；移动端隐藏。
   2) 深色拍 / 暖纸拍的小标题补一条金色发丝分隔线，与五道匠艺的章头统一。
   ============================================================================ */
.craft-gallery .art-bleed.cf::before{top:50%;bottom:auto;transform:translateY(-50%);
  font-size:clamp(120px,17vw,264px);color:rgba(201,161,90,.075)}
.dk .sub-kicker,.paper-warm .sub-kicker{align-items:flex-end;
  margin-bottom:clamp(30px,3.4vw,52px);border-bottom:1px solid rgba(201,161,90,.22);
  padding-bottom:clamp(16px,1.8vw,26px)}
.paper-warm .sub-kicker{border-bottom-color:rgba(160,120,60,.36)}
@media(max-width:900px){
  .craft-gallery .art-bleed.cf::before{display:none}
}

/* ==== V5.40d 伴生块：佐茶 · 茶点（挂在「茶器」之后，不占五道编号）=============
   周老大 2026-09-18 定调：章名仍为「五道匠艺 / FIVE CHAPTERS OF CRAFT」，
   茶点不参与编号，用「佐茶 · WITH TEA」标识；视觉上与该道同侧、行距收紧、
   文字栏加一道金色竖发丝线，读作"器与食"的附注，而不是第六道。
   同时纠正三处图文不符：01 土地（原建筑线稿）→ dt.webp 水墨山水；
   04 茶器（原茶点图）→ teaware-1600-2.webp；05 品质（原建筑夜景）→ c2.webp。
   ============================================================================ */
.craft-gallery .art-bleed.cf-side{padding-top:clamp(30px,3.4vw,58px);border-top:0}
/* a4.webp 是竖版 400x467，若按 .88fr 铺开会渲染成 600x700（1.5 倍放大且比其余各行都大，
   层级反过来）。收窄图片栏到 .5fr → 约 376x439（0.94 倍，反而变成缩小，清晰），
   面积约为其余各行的 84%，读作"附注"而非第六道。 */
.craft-gallery .art-bleed.cf-side figure{grid-template-columns:minmax(0,1fr) minmax(0,.5fr)}
/* 上限 = 原生宽度 400px：单栏断点（≤900px）下 676px 容器会把这张 400px 的图拉到 1.69 倍
   （模糊）；封顶后全断点均 ≤1.0 倍，只缩不放。 */
.craft-gallery .art-bleed.cf-side figure>img{max-width:400px}
@media(max-width:900px){
  .craft-gallery .art-bleed.cf-side figure>img{margin-left:auto;margin-right:auto}
}
.craft-gallery .art-bleed.cf-side::before{display:none}
.craft-gallery .art-bleed.cf-side .art-bleed-cap{border-left:1px solid rgba(201,161,90,.26);
  padding-left:clamp(18px,2vw,34px)}
.craft-gallery .art-bleed.cf-side .art-bleed-cap h2{font-size:clamp(22px,2.5vw,40px)}
.craft-gallery .art-bleed.cf-side .art-bleed-cap .eyebrow{color:var(--gold-dim)}
@media(max-width:900px){
  .craft-gallery .art-bleed.cf-side figure{grid-template-columns:1fr}
  .craft-gallery .art-bleed.cf-side .art-bleed-cap{border-left:0;padding-left:0}
}

/* ============================================================================
   V5.40e  mulancollections.html ·「器物甄选」与「不止于茶」：图|文 编辑式双栏
   原状（真机实测 @1440）：两块 art-bleed 的图都铺满视口宽 —— 1339x753，
        整块高 1143px，是除首屏外最大的视觉块；
        且 class="art-bleed tall" 的 tall 无对应 CSS 规则（真名是 bleed-tall），
        该修饰类从未生效；
        0001.webp 原生仅 800x450 却被铺到 1339px = 放大 1.67 倍（1920 端 2.23 倍）→ 发糊。
   改法：块内改 图|文 双栏，figure 限宽 1180px 居中 → 图宽 554px（缩 59%），
        两块奇偶互换（cf-l / cf-r）形成错位节奏；与 mulancraft 五道匠艺同一套语言。
        双栏后 teaware(1600x900)=0.35x、0001(800x450)=0.69x，均只缩不放。
   注意：规则用 section.art-bleed.col-cf（0,2,1）压过 .art-bleed:nth-of-type(odd/even)
        的左右错位 padding，且本段位于文件末尾。
   ============================================================================ */
section.art-bleed.col-cf{padding:clamp(36px,4.2vw,68px) clamp(20px,4vw,72px)}
section.art-bleed.col-cf figure{display:grid;align-items:center;height:auto;
  width:100%;max-width:1180px;margin:0 auto;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,3.6vw,72px)}
section.art-bleed.col-cf figure::after{display:none}
section.art-bleed.col-cf figure>img{grid-row:1;width:100%;height:auto;max-width:100%;
  border:1px solid rgba(201,161,90,.22)}
section.art-bleed.col-cf .art-bleed-cap{width:100%;max-width:none;padding:0;
  position:relative;z-index:2}
section.art-bleed.col-cf.cf-l figure>img{grid-column:1}
section.art-bleed.col-cf.cf-l figure>.art-bleed-cap{grid-column:2}
section.art-bleed.col-cf.cf-r figure>img{grid-column:2}
section.art-bleed.col-cf.cf-r figure>.art-bleed-cap{grid-column:1}
section.art-bleed.col-cf .art-no{left:0;right:auto}
section.art-bleed.col-cf.cf-r .art-no{left:auto;right:0}
@media(max-width:900px){
  section.art-bleed.col-cf figure{grid-template-columns:1fr;gap:clamp(20px,4.4vw,32px)}
  section.art-bleed.col-cf.cf-l figure>img,
  section.art-bleed.col-cf.cf-r figure>img{grid-column:1;grid-row:1}
  section.art-bleed.col-cf.cf-l figure>.art-bleed-cap,
  section.art-bleed.col-cf.cf-r figure>.art-bleed-cap{grid-column:1;grid-row:2}
  section.art-bleed.col-cf .art-no{left:0;right:auto}
}

/* ============================================================================
   V5.41  mulangroup.html · 两张题图从「通栏巨图」改为「装裱金版」
   ----------------------------------------------------------------------------
   原状（几何推算 @1440 / @1920）：
     .art-bleed 是 main 的直接子元素 → 宽度 = 视口宽；--img-h 无 JS 赋值，
     figure::after 的 1px 金框按 figure 全高描边（含图下文字），边界发糊。
     03 节 <section class="art-bleed tall"> 的 tall 无对应规则（真名 bleed-tall），
        该修饰类从未生效 → 图无任何限宽。
     dalou.jpg       原生 1015x662 铺到 1300px(@1440) / 1780px(@1920) = 1.28x / 1.75x
     tower-sketch    原生 1120x656 铺到 1300px(@1440) / 1780px(@1920) = 1.16x / 1.59x
     两张都是「按原生像素放大」→ 发糊；单块高 1050px / 1010px，是首屏之外最大的视觉块。
   另外两张图的取向也拉低了档次：dalou.jpg 是紫橙高饱和售楼渲染图，
     tower-sketch 是白底细线稿 —— 白底图直接压在 --ink 深色带上，读作一块刺眼的白砖。
   改法（同 mulancollections 的 col-cf / mulancraft 的 cf 同一套编辑式语言）：
     figure 限宽 1180px 居中 → 图片栏 (1180-78)/2 ≈ 551px，
        dalou 退回 0.39x、tower 0.49x，全断点只缩不放；
     图片包一层 .gr-frame 装裱：外框 + 内衬双道金发丝线、深底渐变、投影抬层；
     图片资产重做（不覆盖原图）：
        plate-hangzhou.webp   去饱和 .50 + 暖调 + 暗角，拆掉售楼册感
        plate-tower-gold.webp 反转为「金墨线稿」，纸白 → 深墨底、线条 → 烫金
     文案栏加金色竖发丝引导条、h2 下金色渐隐分隔线。
   硬约束：不新增任何 `>*` 通配（V5.36 首屏色带 / V5.37 落款跑位 的两次教训），
     全部选择器挂在 section.art-bleed.gr-plate 与 .gr-frame 之下，
     mulancollections.html / mulancraft.html 的同名类不受影响。
   ============================================================================ */
section.art-bleed.gr-plate{padding:clamp(30px,3.8vw,62px) clamp(20px,4vw,72px)}
section.art-bleed.gr-plate figure{display:grid;align-items:center;height:auto;
  width:100%;max-width:1180px;margin:0 auto;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,78px)}
section.art-bleed.gr-plate figure::after{display:none}

/* 装裱框：外框金发丝 + 深底渐变 + 投影 */
section.art-bleed.gr-plate .gr-frame{grid-row:1;position:relative;
  padding:clamp(9px,1vw,14px);overflow:hidden;
  border:1px solid rgba(201,161,90,.30);
  background:linear-gradient(158deg,rgba(201,161,90,.085),rgba(10,10,9,0) 48%),#0d0c0a;
  box-shadow:0 30px 72px -34px rgba(0,0,0,.95),0 2px 0 0 rgba(201,161,90,.05)}
/* 内衬线：压在图边，形成「画心 + 卡纸」的双层装裱 */
section.art-bleed.gr-plate .gr-frame::after{content:"";position:absolute;z-index:3;
  inset:clamp(9px,1vw,14px);border:1px solid rgba(201,161,90,.15);pointer-events:none}
section.art-bleed.gr-plate .gr-frame img{position:relative;z-index:1;display:block;
  width:100%;height:auto;max-width:100%}
/* 金墨线稿版：底色比纸心略亮一档，让「画心」从卡纸里浮出来 */
section.art-bleed.gr-plate .gr-frame--ink{background:
  radial-gradient(126% 104% at 50% 0%,#191612,#0d0c0a 72%)}

/* 编号：锚在画心左上角，不再是浮在图外的方块 */
section.art-bleed.gr-plate .art-no{z-index:4;left:calc(clamp(9px,1vw,14px) + 1px);
  top:calc(clamp(9px,1vw,14px) + 1px);padding:11px 16px;
  background:rgba(10,10,9,.62);border-right:1px solid rgba(201,161,90,.22);
  border-bottom:1px solid rgba(201,161,90,.22)}

/* 文案栏 */
section.art-bleed.gr-plate .art-bleed-cap{width:100%;max-width:none;padding:0;
  position:relative;z-index:2}
section.art-bleed.gr-plate .art-bleed-cap .eyebrow{display:inline-block;
  border-left:2px solid var(--orange);padding-left:12px;
  margin:0 0 clamp(16px,1.8vw,26px)}
section.art-bleed.gr-plate .art-bleed-cap h2{font-size:clamp(26px,3.3vw,50px);
  line-height:1.14;color:var(--paper);margin:0;max-width:22ch;letter-spacing:.01em}
section.art-bleed.gr-plate .art-bleed-cap h2::after{content:"";display:block;
  width:clamp(54px,6.4vw,88px);height:1px;margin:clamp(20px,2.4vw,32px) 0;
  background:linear-gradient(90deg,rgba(201,161,90,.75),rgba(201,161,90,0))}
section.art-bleed.gr-plate .art-bleed-cap p{color:#c0bab0;font-size:12.5px;
  line-height:2.15;margin:0;max-width:34ch}

/* 奇偶错位：01 图左文右 / 02 图右文左 */
section.art-bleed.gr-plate.cf-l .gr-frame{grid-column:1}
section.art-bleed.gr-plate.cf-l .art-bleed-cap{grid-column:2}
section.art-bleed.gr-plate.cf-r .gr-frame{grid-column:2}
section.art-bleed.gr-plate.cf-r .art-bleed-cap{grid-column:1}

@media(hover:hover) and (min-width:901px){
  section.art-bleed.gr-plate .gr-frame{transition:border-color .7s ease,box-shadow .7s ease}
  section.art-bleed.gr-plate .gr-frame img{transition:transform 1.2s cubic-bezier(.22,.61,.36,1)}
  section.art-bleed.gr-plate .gr-frame:hover{border-color:rgba(201,161,90,.60);
    box-shadow:0 34px 84px -34px rgba(0,0,0,.98),0 0 0 1px rgba(201,161,90,.10)}
  section.art-bleed.gr-plate .gr-frame:hover img{transform:scale(1.015)}
}
@media(prefers-reduced-motion:reduce){
  section.art-bleed.gr-plate .gr-frame img{transition:none}
  section.art-bleed.gr-plate .gr-frame:hover img{transform:none}
}
@media(max-width:900px){
  section.art-bleed.gr-plate{padding:clamp(26px,7vw,44px) clamp(18px,5vw,28px)}
  section.art-bleed.gr-plate figure{grid-template-columns:1fr;gap:clamp(22px,5.4vw,34px)}
  section.art-bleed.gr-plate.cf-l .gr-frame,
  section.art-bleed.gr-plate.cf-r .gr-frame{grid-column:1;grid-row:1}
  section.art-bleed.gr-plate.cf-l .art-bleed-cap,
  section.art-bleed.gr-plate.cf-r .art-bleed-cap{grid-column:1;grid-row:2}
  section.art-bleed.gr-plate .art-bleed-cap h2{font-size:clamp(24px,6.6vw,36px)}
  section.art-bleed.gr-plate .art-bleed-cap p{max-width:none}
}


/* ============================================================================
   V5.41  mulancraft.html · 品牌宣言 左缘统一
   ----------------------------------------------------------------------------
   改前实测（@1440；.sub-wrap 内容左缘 = 130px）：
     品牌宣言 标题 / BRAND MANIFESTO      left = 130
     英文段 p.en                          left = 130   （text-indent:0）
     中文段 p2 / p3 / p4 首行              left = 163   （text-indent:1.6em ≈ 26px）
     中文段 p1 首行                        left = 183   （又被 ::before 菱形 7px + 13px 顶开）
   → 一个正文块里出现 4 条不同左缘，读起来是「没对齐」。
   改法：
     ① 取消全部 text-indent：5 段的所有行统一落到 130，与本节标题同一条左缘。
        全站只有 .manifesto 用过 text-indent（已核验，其余 0 命中），去掉后不再有特例。
     ② 品牌橙菱形由「行内首字之前」改为「段落块上方」的块级开启标记，仍落在 130，
        不再顶开任何一行文字。
     ③ 顺带收掉原文件里重复且互相打架的两条 text-indent（2em / 1.6em）。
   硬约束：全部选择器挂在 .manifesto 之下，不新增任何 `>*` 通配；
     .manifesto 仅 mulancraft.html 使用（已核验，其他页零命中）。
   ============================================================================ */
.manifesto p{text-indent:0}
.manifesto p:first-child::before{content:none}
.manifesto::before{content:'';display:block;width:7px;height:7px;
  background:var(--orange);transform:rotate(45deg);
  margin:0 0 clamp(18px,2vw,26px)}

/* ============================================================================
   V5.41b 修正 · 压住 .paper-warm 作用域下的行内菱形
   ----------------------------------------------------------------------------
   现象：V5.41 之后首段前出现「两颗」橙色菱形。
   根因：原规则作用域是 .paper-warm .manifesto p:first-child::before，特异度 (0,3,1)；
         V5.41 覆盖写的是 .manifesto p:first-child::before，特异度只到 (0,2,1)，压不住。
   修法：按原选择器同特异度再覆盖一次（本条在文件更靠后，靠顺序取胜）。
   ============================================================================ */
.paper-warm .manifesto p:first-child::before{content:none}
.manifesto p:first-child::before{content:none}


/* ============================================================================
   V5.42  mulangroup.html · 收尾影片区：通栏 88svh 背景片 → 居中装裱影片版
   ----------------------------------------------------------------------------
   原状：.contact-block--film 是 min-height:88svh 满幅背景视频
         （.contact-video 绝对定位 inset:0 铺满整块），文字浮在片子上方 11svh 处
         —— 整个收尾屏被视频吃掉，没有"收"的感觉。
   改法：只新增一个修饰类 --plate（不动 --film 基线，mulancraft 的
         contact-block--film contact-block--craft 仍走原样），
         视频收进 .cp-frame 装裱框内的 .cp-plate，
         限宽 760px 居中、与素材 720x406 同比例（1.056x，不放大），
         标题「走过世界 / 归来喝茶」落在片子下方当落款。
   关键：.contact-video / .contact-shade 的绝对定位是相对"最近的定位祖先"，
         所以必须多包一层 .cp-plate(position:relative)，
         否则 inset:0 会连装裱卡纸一起盖住，内衬线被埋。
   素材 720x406 30fps 15s：站内无更高清源（媒体体检已确认），故限宽压在 1.06x。
   ============================================================================ */
.contact-block--plate{display:block;min-height:0;overflow:visible;
  padding:clamp(74px,8.2vw,120px) clamp(20px,4vw,72px);
  background:var(--ink);text-align:center}

/* 装裱框：与两处题图的 .gr-frame 同一套语言 */
.contact-block--plate .cp-frame{position:relative;width:min(100%,760px);
  margin:0 auto;padding:clamp(9px,1vw,14px);
  border:1px solid rgba(201,161,90,.30);
  background:linear-gradient(158deg,rgba(201,161,90,.085),rgba(10,10,9,0) 48%),#0d0c0a;
  box-shadow:0 30px 72px -34px rgba(0,0,0,.95),0 2px 0 0 rgba(201,161,90,.05)}
.contact-block--plate .cp-frame::after{content:"";position:absolute;z-index:3;
  inset:clamp(9px,1vw,14px);border:1px solid rgba(201,161,90,.15);pointer-events:none}

/* 画心：720/406 与素材同比例 → object-fit:cover 零裁切 */
.contact-block--plate .cp-plate{position:relative;overflow:hidden;aspect-ratio:720/406;
  background:#0b0a08 url(../images/plate-tower-gold.webp) center/cover no-repeat}

/* 不再承载文字，遮罩从"压黑整屏"降为一道轻暗角 */
.contact-block--plate .contact-shade{background:
  linear-gradient(180deg,rgba(17,17,15,.34) 0%,rgba(17,17,15,.05) 40%,rgba(17,17,15,.38) 100%)}

/* 落款 */
.contact-block--plate .contact-copy{margin:clamp(34px,4.2vw,58px) 0 0;padding:0;z-index:2}
.contact-block--plate h2{font:400 clamp(24px,2.9vw,44px)/1.34 var(--serif);
  letter-spacing:.14em;margin:0;color:var(--paper)}
.contact-block--plate h2::after{content:"";display:block;
  width:clamp(46px,5.4vw,74px);height:1px;margin:clamp(20px,2.4vw,32px) auto 0;
  background:linear-gradient(90deg,rgba(201,161,90,0),rgba(201,161,90,.75),rgba(201,161,90,0))}

@media(max-width:900px){
  .contact-block--plate{padding:clamp(56px,11vw,84px) clamp(18px,5vw,28px)}
  .contact-block--plate .cp-frame{padding:8px}
  .contact-block--plate .cp-frame::after{inset:8px}
  .contact-block--plate h2{font-size:clamp(22px,6.4vw,30px);letter-spacing:.1em}
}
/* reduced-motion 下 .contact-video 被基线规则 display:none，
   画心靠自身的金墨底图兜住，不会留一块纯黑 */
@media(prefers-reduced-motion:reduce){
  .contact-block--plate .cp-plate{background-image:url(../images/plate-tower-gold.webp)}
}


/* ============================================================================
   V5.47 收尾影片区「限宽装裱」下放到 mulancraft / mulancollections
   ----------------------------------------------------------------------------
   用户原话：
     「mulancraft.html 内容页的底下"唧唧复唧唧 · 木兰茶故事"的底图视频把这个地方
      撑太高了，可以缩小一些，居中就可以了，限宽，不要这么大的面积来播放这个视频。」
     「（mulancollections「值得留下的，不止是时间」）视频不要拉得很高，可以限宽，
      这样好一些，精致一些。」
   ----------------------------------------------------------------------------
   做法：复用 V5.42 已为 mulangroup 建好的 .contact-block--plate（限宽 760px 居中装裱，
        min-height:0 不再撑高）。本轮只做两件事：
        ① 两页 class 由 --craft / 裸 contact-block 换成 --plate（保留 --film，
           以复用它对 .contact-video / .contact-shade 的绝对定位与 reduced-motion 隐藏）；
        ② 各页另给一个修饰类，仅覆盖「画心比例 + 兜底底图」。
   为什么必须覆盖兜底底图：--plate 基线兜底是 mulangroup 的 plate-tower-gold.webp，
        放到匠艺 / 臻选页会串页；且 reduced-motion 下 .contact-video 被隐藏，兜底图会露出。
   比例：两页素材都是 1280x720(16:9)；基线 --plate 是 720/406(1.7734)，16:9=1.7778，
        差 0.25%。改用 16/9 实现「零裁切」。
   特异度：本条 (0,2,0) 与基线同，追加在文件末尾 —— 媒体查询不加特异度、只比顺序，
        故它也能压过对方 @media(prefers-reduced-motion) 里的同特异度声明。
   ============================================================================ */
.contact-block--mc-plate .cp-plate{aspect-ratio:16/9;
  background-image:url(../video/web/craft-outro-poster.webp)}
.contact-block--col-plate .cp-plate{aspect-ratio:16/9;
  background-image:url(../video/collections-outro-poster.webp)}


/* ============================================================================
   V5.48  mulangroup.html · 收尾影片区：拆掉装裱框，片子落进黑底，落款压到片子底部
   ----------------------------------------------------------------------------
   用户原话：
     「mulangroup.html 底下的最后一条底视频，区域显示太高了啊，要融到黑色的底框里面去，
      还是一个整体的感觉，不要加边框。走过世界，归来喝茶，放到视频上，
      视频底部的位置就可以了。」
   ----------------------------------------------------------------------------
   只作用于 mulangroup：另加 --seamless 修饰类，**不动 --plate 基线** —— 因为
   mulancraft(--mc-plate) / mulancollections(--col-plate) 仍在用同一套装裱语言
   （V5.47 刚统一），本次不涉及，不得串页。
   三件事：
     ① 去装裱：.cp-frame 的 padding / border / 渐变底 / box-shadow / ::after 内衬线全撤；
        画心底色 #0b0a08 → var(--ink)，与区块同色 → 片子直接坐在黑底上，无"画框"感；
     ② 降高：区块上下 padding clamp(74px,8.2vw,120px) → clamp(48px,5.4vw,80px)；
     ③ 落款从「片子下方独占一行」改为「压在片子底部」—— DOM 也随之移进 .cp-plate，
        成为它的绝对定位子元素（bottom:0），省掉落款那一整段高度。
   高度：原 ≈ 120 + 428(片子) + 58 + 落款 ≈ 816px → 改后 ≈ 80 + 428 + 80 = 588px（约 −28%）。
   遮罩底部加重到 .78，保证压在片上的白字可读。
   ============================================================================ */
.contact-block--seamless{padding:clamp(48px,5.4vw,80px) clamp(20px,4vw,72px)}
.contact-block--seamless .cp-frame{width:min(100%,760px);padding:0;border:0;
  background:none;box-shadow:none;overflow:visible}
.contact-block--seamless .cp-frame::after{content:none}
.contact-block--seamless .cp-plate{background-color:var(--ink)}
.contact-block--seamless .contact-shade{background:
  linear-gradient(180deg,rgba(17,17,15,.20) 0%,rgba(17,17,15,0) 42%,rgba(17,17,15,.78) 100%)}
.contact-block--seamless .contact-copy{position:absolute;left:0;right:0;bottom:0;
  margin:0;padding:0 7% clamp(26px,3.2vw,44px);z-index:2;text-align:center}
.contact-block--seamless h2{text-shadow:0 2px 26px rgba(0,0,0,.62)}
.contact-block--seamless h2::after{margin-top:clamp(14px,1.8vw,22px)}
@media(max-width:900px){
  .contact-block--seamless{padding:clamp(38px,9vw,60px) clamp(18px,5vw,28px)}
  .contact-block--seamless .contact-copy{padding:0 6% clamp(18px,4.2vw,28px)}
}

/* ============================================================================
   【底色改白】「全球女性人物计划」（mulancraft.html）
   原为 .dk--amber 深琥珀底，按要求改为白色底。
   做法：新开独立修饰类 .dk--paper，与该元素上既有的 .dk 并存 ——
   保留 .dk 的顶部菱形、金色描边、kicker 金线等排版语言，
   仅覆盖「底色 / 底纹 / 文字色」三项。
   全部选择器与既有 .dk 规则同特异度，靠"写在文件更末尾"取胜；
   .dk 与 .dk--amber 两条基线一律未动（dk--amber 现全站已无引用，规则保留备用）。
   文字色随白底同步调深，避免米白字压在纯白上看不见。
   ============================================================================ */
.dk--paper{background-color:#ffffff;background-image:none;color:#1a1714}
.dk--paper::before{background-image:none}
.dk--paper .sub-kicker h2{color:#12100e}
.dk--paper .sub-kicker .en{color:#8e8370}
.dk--paper .story-lede{color:#3f3b32}
.dk--paper .sub-quote--inline{color:#8a6a2e;border-left-color:rgba(160,120,60,.45)}
.dk--paper .sub-note{color:#6f6960}
.dk--paper .sub-kicker{border-bottom-color:rgba(160,120,60,.34)}
.dk--paper.dk{border-top-color:rgba(160,120,60,.34);border-bottom-color:rgba(160,120,60,.22)}

/* ============================================================================
   V6.1 木兰序枢纽页（pages/world.html · body.mx）墨黑电影感主题
   纯文字电影感：墨黑底 + 木兰橙点睛 + 衬线大标题；无图片占位
   ============================================================================ */
.mx{background:#0d0d0b;color:#e9e5db}
.mx .subheader{background:#0d0d0b;border-color:#2b2923;color:#cfc9bb}
.mx .submain{max-width:1180px}
.mx .submain>p{color:#a8a194}
.mx h1,.mx h2{color:#f0ede6}
.mx .eyebrow{color:#c9a15a}
.mx .line-link{color:#e9e5db}
/* HERO */
.mx-hero{max-width:900px;padding:34px 0 76px;border-bottom:1px solid #26241e}
.mx-hero .eyebrow{font-size:11px;letter-spacing:.34em;margin-bottom:28px}
.mx .mx-hero h1{font:400 clamp(42px,8vw,104px)/1.12 var(--serif);letter-spacing:.04em;margin:0 0 32px;color:#f0ede6}
.mx .mx-hero h1 em{font-style:normal;color:var(--orange)}
.mx-lead{font:400 clamp(15px,1.6vw,21px)/1.9 var(--serif)!important;color:#d8d2c4!important;letter-spacing:.06em;margin:0}
.mx-lead2{font-size:13px;line-height:2.25;color:#9d9688!important;margin:20px 0 0;max-width:680px}
.mx-lead2 b{color:#e9e5db;font-weight:400;border-bottom:1px solid var(--orange);padding-bottom:2px}
.mx-cta{display:flex;gap:38px;flex-wrap:wrap;margin-top:42px}
/* 仪式选区（沿用 world.js 钩子，改墨黑皮肤） */
.mx .ritual{border-color:#2b2923;padding:76px 0}
.mx .ritual h2{color:#f0ede6}
.mx .ritual>p{color:#a8a194}
.mx .ritual-options button{background:transparent;border:1px solid #5a5444;color:#d8d2c4;transition:border-color .25s,color .25s,background .25s}
.mx .ritual-options button:hover{border-color:var(--orange);color:#fff}
.mx .ritual-options button[aria-pressed=true]{background:var(--orange);border-color:var(--orange);color:#11110f}
.mx .ritual-result{background:rgba(23,22,19,.55);border-left:2px solid var(--orange)}
.mx .ritual-result h2{color:#f0ede6}
.mx .ritual-result p{color:#b3ac9e}
.mx .ritual-tea{border-top-color:#322f27}
.mx .ritual-tea .eyebrow{color:#9a927f}
.mx .ritual-tea h3{color:#f0ede6}
.mx .ritual-tea h3 em{color:#9a927f}
.mx .ritual-tea .tea-note{color:#a39c8d}
.mx .mulan-card{border:1px solid #2a2721;margin-top:48px}
.mx .card-save{border-color:#8a8474;color:#e9e5db;background:transparent}
.mx .card-save:hover{background:var(--orange);border-color:var(--orange);color:#11110f}
.mx .ritual-note{color:#8a8373!important}
.mx .ritual-note a{border-bottom:1px solid currentColor}
/* 三核产品 */
.mx-cores{padding:84px 0 10px}
.mx .mx-cores h2{font:400 clamp(28px,4vw,52px)/1.38 var(--serif);margin:0 0 52px;color:#f0ede6}
.mx .mx-cores h2 em{font-style:normal;color:var(--orange)}
.mx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.mx-card{position:relative;border:1px solid #2b2923;background:#141310;padding:46px 32px 40px;display:flex;flex-direction:column}
.mx-card--lead{border-color:rgba(202,99,29,.45);background:linear-gradient(180deg,#1b160f,#141310)}
.mx-card-no{position:absolute;top:28px;right:30px;font:11px Georgia,serif;letter-spacing:.2em;color:#7d7666}
.mx-card-en{font-size:10px;letter-spacing:.24em;color:#c9a15a;margin:0 0 24px}
.mx-card h3{font:400 clamp(24px,2.4vw,34px) var(--serif);color:#f0ede6;margin:0 0 20px}
.mx-card>p{font-size:12.5px;line-height:2.1;color:#aaa395;margin:0;flex:1}
.mx-card .line-link{margin-top:30px}
.mx-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;list-style:none;margin:28px 0 30px;padding:24px 0;border-top:1px solid #2b2923;border-bottom:1px solid #2b2923}
.mx-stats b{display:block;font:400 26px var(--serif);color:#e9e5db}
.mx-stats span{font-size:9px;letter-spacing:.14em;color:#8a8373}
.mx-ticks{list-style:none;margin:26px 0 30px;padding:0;flex:1}
.mx-ticks li{font-size:11.5px;line-height:1.7;color:#a8a193;padding:10px 0 10px 18px;border-bottom:1px solid #221f1a;position:relative}
.mx-ticks li:before{content:"";position:absolute;left:0;top:19px;width:7px;height:1px;background:var(--orange)}
/* AI 剧矩阵 */
.mx-dramas{padding:88px 0 6px}
.mx .mx-dramas h2{font:400 clamp(28px,4vw,52px)/1.38 var(--serif);margin:0 0 52px;color:#f0ede6}
.mx .mx-dramas h2 em{font-style:normal;color:var(--orange)}
.mx-drama-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.mx-drama{display:flex;flex-direction:column;min-height:240px;border:1px solid #2b2923;padding:40px 36px 36px;color:inherit;transition:border-color .3s,background .3s}
a.mx-drama:hover{border-color:var(--orange);background:#18140f}
.mx-drama-en{font:10px Arial,sans-serif;letter-spacing:.26em;color:#8f8876;margin-bottom:22px}
.mx-drama h3{font:400 clamp(20px,2vw,27px) var(--serif);color:#ece7db;margin:0 0 16px}
.mx-drama p{font-size:12px;line-height:2.05;color:#9d9688;margin:0 0 26px;flex:1}
.mx-tag{align-self:flex-start;font-size:10px;letter-spacing:.18em;color:var(--orange);border:1px solid rgba(202,99,29,.5);padding:7px 15px}
.mx-tag--soon{color:#8a8373;border-color:#3a372f}
.mx-tag--date{color:#c9a15a;border-color:rgba(201,161,90,.45)}
/* 小说 + 寄语 */
.mx-novel{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:center;padding:92px 0;border-bottom:1px solid #26241e}
.mx .mx-novel h2{font:400 clamp(26px,3.4vw,44px)/1.4 var(--serif);margin:0 0 24px;color:#f0ede6}
.mx-novel>div>p{font-size:13px;line-height:2.2;color:#aaa395;margin:0 0 30px;max-width:560px}
.mx-quote{margin:0;border-left:1px solid var(--orange);padding:6px 0 6px 34px}
.mx-quote p{font:400 clamp(18px,2.1vw,27px)/1.95 var(--serif);color:#dcd5c6;margin:0 0 24px}
.mx-quote cite{font-style:normal;font-size:10px;letter-spacing:.2em;color:#87806e}
/* 归来 CTA */
.mx-return{margin:64px 0 0;padding:96px 8vw;text-align:center;background:#141210;border:1px solid #26241e}
.mx .mx-return h2{font:400 clamp(30px,4.6vw,60px)/1.35 var(--serif);margin:0 0 26px;color:#f0ede6}
.mx .mx-return h2 em{font-style:normal;color:var(--orange)}
.mx-return p{margin:0 auto 36px;color:#a8a193;max-width:520px}
.mx-return .line-link{display:inline-block}
/* 引擎 / 合规 / 页脚 */
.mx-engine{text-align:center;font-size:10.5px;letter-spacing:.06em;line-height:2;color:#7d7666;max-width:680px;margin:64px auto 0}
.mx-engine a{color:#a99a72;border-bottom:1px solid rgba(169,154,114,.4)}
.mx-compliance{font-size:10.5px;line-height:2;color:#6f695b;max-width:760px;text-align:center;margin:40px auto 0;border-top:1px solid #24221c;padding-top:32px}
.mx footer{border-color:#2b2923;color:#857e6e}.mx .card-foot{color:#857e6e}
/* 响应式 */
@media(max-width:900px){
.mx-grid{grid-template-columns:1fr}
.mx-drama-grid{grid-template-columns:1fr}
.mx-novel{grid-template-columns:1fr;gap:44px}
.mx-drama{min-height:0}
}
@media(max-width:700px){
.mx-hero{padding:18px 0 54px}
.mx-cta{flex-direction:column;align-items:flex-start;gap:8px;margin-top:34px}
.mx .ritual{padding:60px 0}
.mx-cores{padding:64px 0 0}
.mx-dramas{padding:68px 0 0}
.mx-novel{padding:70px 0}
.mx-card{padding:38px 26px 32px}
.mx-stats{grid-template-columns:repeat(2,1fr);gap:20px 10px}
.mx-drama{padding:32px 26px}
.mx-return{padding:76px 7vw}
.mx-quote{padding-left:24px}
}
