/* ═══════════════════════════════════════════════════════════════
   de nuit — site v5（2026-09-28）手機優先；v6.2 起中英兩語
   參照 Ikoyi／Frantzén：全站只有一個模組反覆出現（.mod）——
   置中窄欄 → 金色小標籤 → 標題 → 一段短文 → 細框按鈕；照片留邊、一段一張。
   顏色讀 denuit_tokens.css；v5 另加更深的灰（見下），待網站定案再收進品牌規範。
   ═══════════════════════════════════════════════════════════════ */
:root{
  --deep:#303032;                  /* v5.8 頁首色＝深灰 86%＋午夜藍 14%（灰藍）；頁尾對調成藍灰｜待收進規範 */
  --deep-line:rgba(252,252,252,.14);
  --col:34rem;                     /* 文字欄寬 */
  --img:30rem;                     /* 照片最大寬 */
  --gap:18vh;                      /* 模組之間的距離 */
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
/* 背景＝藝術漆牆（v5.1）：灰藍斑駁＋霧面顆粒（_make_wall.py 生成，牆色 78BG 12/032），從頁首到頁尾一路對調：深灰 86%／午夜藍 14%（灰藍）→ 深灰 14%／午夜藍 86%（藍灰）（v5.3：灰到藍是整個捲動，不是只有最後一頁；v5.4 頁尾更藍；v5.5 一開始就是藍灰混色、紋理對比壓低）；不再用純色 */
body,.wall{background:linear-gradient(180deg,rgba(28,32,45,.14) 0%,rgba(28,32,45,.86) 100%) no-repeat 0 0/100% 100%,url(../img/wall-texture.jpg) repeat 0 0/512px 512px,var(--deep)}
body{color:var(--text-bright);font-family:var(--font-latin);font-weight:400;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nw{white-space:nowrap}
.dn{text-transform:none;letter-spacing:.08em}   /* 「de nuit」永遠小寫（規範規則 1），全大寫標籤裡也一樣 */
p,h1,h2{text-wrap:balance}

/* ── 一道光：捲動進度 ── */
.progress{position:fixed;top:0;left:0;height:1px;width:100%;z-index:60;background:var(--or);box-shadow:var(--light-line-shadow);transform-origin:left;transform:scaleX(0)}

/* ── 按鈕：1 px 金細框、小大寫（金色拉細節） ── */
.btn{display:inline-block;font-size:11px;letter-spacing:.28em;text-transform:uppercase;line-height:1;padding:1.15em 1.5em 1.05em;border:1px solid var(--or-line);color:var(--text-bright);transition:border-color .5s,box-shadow .5s}
.btn:hover{border-color:var(--or);box-shadow:0 0 14px -4px var(--or-glow)}
.btn-s{font-size:10px;padding:1em 1.2em .9em}

/* ── 頁首：左目錄、中字標、右訂位 ── */
.top{position:fixed;top:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 18px;padding-top:max(14px,env(safe-area-inset-top))}
body.scrolled .top{background:rgba(44,44,48,.72);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1)}
.top .btn-s{justify-self:end}
.top .brand img{height:24px;transition:opacity .8s}
body.home:not(.scrolled) .top .brand img{opacity:0}
.top-left{justify-self:start;display:flex;align-items:center;gap:16px}
.menu-btn{background:none;border:none;cursor:pointer;color:var(--text-bright);font-family:var(--font-latin);font-size:10px;letter-spacing:.3em;text-transform:uppercase;padding:1em 0}

/* ── 聲音（v5.9）：配樂取自 ON 曲庫 A14 和弦版（Suno Pro），客人按了才播 ── */
.sound-btn{display:flex;align-items:flex-end;gap:3px;height:14px;padding:0 2px;background:none;border:none;cursor:pointer}
.sound-btn i{display:block;width:1px;height:4px;background:var(--or);box-shadow:0 0 4px var(--or-glow);transition:height .4s}
.sound-on .sound-btn i{animation:eq 1.1s ease-in-out infinite alternate}
.sound-on .sound-btn i:nth-child(2){animation-duration:.8s;animation-delay:-.3s}
.sound-on .sound-btn i:nth-child(3){animation-duration:1.4s;animation-delay:-.6s}
@keyframes eq{from{height:3px}to{height:13px}}
.sound-invite{margin-top:2.2em;background:none;border:none;border-bottom:1px solid var(--or-line);padding:0 0 .5em;color:var(--text-bright);font-family:var(--font-latin);font-size:10px;letter-spacing:.34em;text-transform:uppercase;cursor:pointer;opacity:0;transition:opacity .8s}
.intro .sound-invite{display:none}                                  /* v6.4：開場時由 Enter 決定聲音 */
.intro-skip .sound-invite{opacity:1}
.sound-on .sound-invite{opacity:0!important;pointer-events:none;animation:none!important}

/* ── 目錄（全螢幕） ── */
.overlay{position:fixed;inset:0;z-index:55;background:url(../img/wall-texture.jpg) repeat 0 0/512px 512px,var(--deep);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;opacity:0;pointer-events:none;transition:opacity .6s ease}
body.menu-open .overlay{opacity:1;pointer-events:auto}
body.menu-open{overflow:hidden}
.overlay nav a{display:block;font-style:italic;font-size:31px;line-height:2;opacity:.85}
.overlay nav a small{display:block;font-style:normal;font-size:10px;letter-spacing:.3em;color:var(--or);line-height:1;margin-top:1.4em}
.overlay nav a[aria-current]{opacity:1}
.overlay .meta{margin-top:7vh;font-size:12px;letter-spacing:.12em;line-height:2;opacity:.8}
.overlay .close{position:absolute;top:max(14px,env(safe-area-inset-top));left:18px}

/* ── 首頁開場（v5.6）：全黑 → 霓虹在黑暗中點亮 → 黑褪成牆面 → 拉出一道光 → 標語、解鎖（6 秒，與 _build_v5.py 的 setTimeout 一致） ── */
.hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20vh 24px 0;position:relative}   /* 上方多 20vh＝整組往下 10% */
.hero>*:not(.veil){position:relative;z-index:2}
.veil{position:fixed;top:-25vh;bottom:-25vh;left:0;right:0;z-index:1;background:#0E0C0B;opacity:0;pointer-events:none}   /* 比螢幕大：蓋過網址列、工具列那一圈 */
.intro,.intro body{background:#0E0C0B}   /* 開場期間整個網頁底色也是暖黑，手機瀏覽器上下列不會露藍邊 */   /* 夜：開場的暖黑（v5.7，跟金色霓虹、黃銅同一個溫度） */
.neon{width:min(66vw,330px);height:auto;overflow:visible}
.neon .tube{fill:var(--or);opacity:.07}                       /* 沒通電的燈管：黑暗裡只看得到一點玻璃管 */
.draw{width:0;height:1px;margin:6.5vh 0 4.5vh;background:var(--or);box-shadow:var(--light-line-shadow);opacity:0}
.hero .line{font-style:italic;font-size:20px;opacity:0}
.hero .hint{position:absolute;bottom:calc(5vh + env(safe-area-inset-bottom,0px));font-size:10px;letter-spacing:.34em;text-transform:uppercase;opacity:0}

/* 暖黑裡，7 段燈管由左到右，一段一段閃兩三下再亮穩 */
.intro .veil{opacity:1}                                             /* v6.4：暖黑停住，等 Enter */
.intro .neon .tube{animation:ignite .8s linear forwards;animation-delay:calc(.3s + var(--i) * .12s)}
.t1{--i:0}.t2{--i:1}.t3{--i:2}.t4{--i:3}.t5{--i:4}.t6{--i:5}.t7{--i:6}
@keyframes ignite{0%{opacity:.07}5%{opacity:.95}8%{opacity:.1}14%{opacity:.9}17%{opacity:.15}23%{opacity:.12}30%{opacity:1}100%{opacity:1}}
/* 亮著的時候偶爾抖一下：霓虹的生命力 */
/* v5.8（Mo：閃爍感再強一點）：整組約每 5 秒閃一次、暗到一半；另外 t5 那根像接觸不良，自己偶爾抖 */
.intro .neon,.intro-skip .neon{animation:hum 5s linear 2.4s infinite}
@keyframes hum{0%,36%,41%,71%,74%,100%{opacity:1}37%{opacity:.5}38%{opacity:.95}39%{opacity:.42}40%{opacity:.9}72%{opacity:.72}73%{opacity:.96}}
.intro .neon .t5{animation:ignite .8s linear calc(.3s + 4 * .12s) forwards,buzz 3.4s linear 3.4s infinite}
.intro-skip .neon .t5{animation:buzz 3.4s linear 1s infinite}
@keyframes buzz{0%,52%,61%,100%{opacity:1}53%{opacity:.18}54%{opacity:.9}56%{opacity:.25}58%{opacity:.85}60%{opacity:.35}}
/* v6.4 順序：0.3–1.8 秒燈管點亮 → 1.5 秒拉出一道光 → 2.4 秒標語 → 2.9 秒 Enter，停住；按了才黑褪成灰藍（1 秒） */
.intro .draw{animation:draw 1.1s var(--ease-line) 1.5s forwards}
@keyframes draw{0%{opacity:1;width:0}100%{opacity:1;width:min(46vw,420px)}}
.intro .hero .line{animation:fade 1s ease 2.4s forwards}
@keyframes fade{to{opacity:1}}
/* 開場期間：頁首藏起來、不能捲（按 Enter 才進站，見 _build_v5.py） */
.intro body{overflow:hidden;touch-action:none}
.intro .top{opacity:0;pointer-events:none}
.top{transition:opacity .9s,background .6s}
/* 站內點回首頁、上一頁，或減少動態：直接是亮好的畫面 */
.intro-skip .neon .tube{opacity:1}
.intro-skip .draw{width:min(46vw,420px);opacity:1}
.intro-skip .hero .line,.intro-skip .hero .hint{opacity:1}

/* ── v6.4 Enter：停在霓虹那一幕 ── */
.gate{display:none}
.intro .gate{display:flex;flex-direction:column;align-items:center;gap:.5em;margin-top:2.4em;opacity:0;visibility:hidden;animation:gatein .9s ease 2.9s forwards}
@keyframes gatein{from{opacity:0;visibility:visible}to{opacity:1;visibility:visible}}
/* v6.5（Mo）：不要按鈕框、不要底色——「Enter」只是一行淡金小字，「不開聲音進入」再小、再淡；
   hover／focus 只微微變亮並出一條細底線（焦點看得見，但不用框）。顏色只用 tokens 裡的 --or（字標金）與 --text-soft（灰） */
.enter,.enter-quiet{position:relative;min-height:44px;background:none;border:0;border-radius:0;box-shadow:none;outline:1px solid transparent;font-family:var(--font-latin);line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .5s,color .5s}
.enter::after,.enter-quiet::after{content:'';position:absolute;left:50%;bottom:10px;height:1px;width:0;background:currentColor;transform:translateX(-50%);opacity:.7;transition:width .5s var(--ease-line)}
.hero .gate .enter{padding:0 .4em;color:var(--or);opacity:.86;font-size:12px;letter-spacing:.42em;text-indent:.42em;text-transform:uppercase}   /* .hero .gate：壓過中文頁 [lang=en] 字距歸零 */
.hero .gate .enter-quiet{padding:0 .4em;color:var(--text-soft);opacity:.8;font-size:10px;letter-spacing:.16em;text-indent:.16em}
.hero .gate .enter:hover,.hero .gate .enter:focus-visible,.hero .gate .enter-quiet:hover,.hero .gate .enter-quiet:focus-visible{opacity:1}
.enter:hover::after,.enter:focus-visible::after{width:calc(100% - .8em)}
.enter-quiet:hover::after,.enter-quiet:focus-visible::after{width:calc(100% - .8em)}
:lang(zh) .hero .gate .enter-quiet{letter-spacing:.2em;text-indent:.2em}
/* 點一下畫面、或減少動態：直接是 Enter 那一幕 */
.intro.ff .neon .tube{animation:none;opacity:1}
.intro.ff .neon .t5{animation:buzz 3.4s linear 1s infinite}
.intro.ff .draw{animation:none;width:min(46vw,420px);opacity:1}
.intro.ff .hero .line{animation:none;opacity:1}
.intro.ff .gate{animation:none;opacity:1;visibility:visible}
/* 按了 Enter：黑褪成灰藍、頁首淡入（.top 的 transition）、Scroll 與聲音邀請晚一點出現 */
.intro-out .veil{animation:veilout 1s ease forwards}
@keyframes veilout{from{opacity:1}to{opacity:0}}
.intro-out .hero .hint{opacity:0;animation:fade 1.2s ease .6s forwards}
.intro-out .sound-invite{opacity:0;animation:fade 1s ease .8s forwards}

/* ═══ 唯一的模組 ═══ */
.mod{padding:var(--gap) 24px 0;text-align:center;max-width:calc(var(--col) + 48px);margin:0 auto}
.mod figure{margin:0 auto 2.6em;max-width:var(--img);aspect-ratio:4/5;overflow:hidden}
.mod figure img{width:100%;height:100%;object-fit:cover}
.mod.photo-only figure{margin-bottom:0}
.label{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--or);line-height:1;margin-bottom:1.8em}
.num{font-style:italic;font-size:20px;color:var(--or);line-height:1;margin-bottom:.8em}
.mod h2{font-weight:400;font-style:italic;font-size:25px;line-height:1.3;margin-bottom:.7em}
.sub{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--or);margin:0 0 1.2em}
.mod p{max-width:var(--col);margin-left:auto;margin-right:auto}
.mod p+p{margin-top:1em}
.mod p a{border-bottom:1px solid var(--or-line)}
.btns{margin-top:2.4em !important;display:flex;flex-wrap:wrap;justify-content:center;gap:.8em}
.mod.quote h2{font-size:22px;line-height:1.45}
.mod.photo-cap{padding-top:10vh}
.mod.photo-cap figure{margin-bottom:1.2em}

/* ── 獎項：只出現一次，放在最後 ── */
.awards{padding:var(--gap) 24px;text-align:center}
.awards .ln,.page-head .ln{width:min(38vw,240px);height:1px;margin:0 auto 3.4em;background:var(--or);box-shadow:var(--light-line-shadow)}
.awards p{font-size:11px;letter-spacing:.24em;text-transform:uppercase;line-height:2.2}
.awards p+p{margin-top:1.2em}

/* ── 內頁開頭 ── */
.page-head{padding:calc(var(--gap) + 40px) 24px 0;text-align:center;max-width:calc(var(--col) + 48px);margin:0 auto}
.page-head h1{font-weight:400;font-style:italic;font-size:49px;line-height:1.1;margin-bottom:.5em}
.page-head .lede{margin:0 auto 2.6em;max-width:26rem}
.page-head .ln{margin:0 auto}

/* ── 訂位頁：訂位系統 ── */
.resv{padding:10vh 16px 0;max-width:760px;margin:0 auto}
.resv iframe{display:block;width:100%;height:900px;border:0;background:var(--papier)}

/* ── 頁尾：不再是一塊純藍，跟著整頁的漸層沉進夜色 ── */
.site-foot{margin-top:var(--gap);padding:14vh 24px 10vh;text-align:center;font-size:13px;letter-spacing:.06em;line-height:2}
.site-foot .mark{width:120px;margin:0 auto 3em}
.site-foot p+p{margin-top:1.8em}
.site-foot a{border-bottom:1px solid var(--or-line)}
.site-foot .word{font-style:italic;font-size:18px;letter-spacing:0;margin-top:3.4em}
.site-foot .fine{font-size:10px;letter-spacing:.24em;text-transform:uppercase;opacity:.7}

/* ── v6.2：語言切換（頁首左、目錄、頁尾） ── */
.lang-s{font-size:10px;letter-spacing:.2em;padding:1em 0;opacity:.85}
.lang a{border-bottom:1px solid transparent;opacity:.75}
.lang a[aria-current]{opacity:1;border-bottom-color:var(--or-line)}
.overlay .lang{margin-top:1.4em}
.site-foot .lang{font-size:12px;letter-spacing:.14em}

/* ── v6.2：料理頁 本季章節／典藏、News ── */
.mod .alt{font-style:italic;font-size:15px;opacity:.82;margin-top:-.3em}
.mod.threads{padding-top:10vh}
.mod.threads p+p{margin-top:1.6em}
.mod .k{display:inline-block;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--or);line-height:1;margin-bottom:.6em}
.mod.dish{padding-top:12vh}
.mod.dish figure{margin-bottom:1.8em}
.mod.sig-head{padding-top:var(--gap)}
.mod.sig-head h2{margin-bottom:0}
.mod.news .sub{margin-bottom:.9em}
[id]{scroll-margin-top:80px}

/* ── v6.3：酒單頁 本季佐餐搭配 ── */
.mod.glass-head{padding-top:var(--gap)}
.mod.glass{padding-top:9vh}
.mod.glass h2{font-size:21px}
.mod .meta-l{font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.8;margin:-.2em auto 1.2em}
:lang(zh) .mod .meta-l{letter-spacing:.12em}
:lang(zh) .mod h2 [lang="fr"]{letter-spacing:0}

/* ── v6.5：料理頁 本季菜單（照 9/29 紙本菜單：置中一道一行，「或」那道寫加價） ── */
.mod.menu-card{padding-top:12vh}
.menu-card .sub{margin-bottom:2em}
.courses{list-style:none;max-width:var(--col);margin:0 auto}
.courses li{font-style:italic;font-size:17px;line-height:1.45;padding:.5em 0}
.courses li .en{display:block;font-size:13px;opacity:.75;margin-top:.15em}
.courses li.or{font-size:12px;letter-spacing:.2em;color:var(--or);padding:.1em 0;font-style:italic}
.courses .add{font-style:normal;font-size:11px;letter-spacing:.12em;color:var(--or);white-space:nowrap;margin-left:.4em}
.menu-card .pair{margin:2.6em auto 0;padding-top:2.2em;border-top:1px solid var(--line);max-width:22rem}
.menu-card .pair .label{margin-bottom:1.4em}
.menu-card .pair p+p{margin-top:1.2em}
.menu-card .k{display:inline-block;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--or);line-height:1;margin-bottom:.7em}
.mod .fine{margin-top:2em;font-size:11px;letter-spacing:.08em;color:var(--text-soft)}
:lang(zh) .courses li{font-style:normal;letter-spacing:.08em}
:lang(zh) .courses li .en{font-style:italic;letter-spacing:0}

/* ── v6.5：酒單（主檔 → 網站）國家可收合 → 產區 → 類別 → 子產區；手機一行：酒名｜年份｜價格 ── */
.wl{max-width:44rem;margin:0 auto;padding:var(--gap) 16px 0;text-align:center}
.wl .wl-note{font-size:12px;letter-spacing:.06em;color:var(--text);max-width:var(--col);margin:0 auto}
.wl .wl-note+.wl-note{margin-top:.4em}
.wl-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:.4em .6em;margin:2.4em auto 2em}
.wl-filter button{min-height:40px;background:none;border:0;border-bottom:1px solid transparent;padding:0 .5em;color:var(--text);font:inherit;font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;opacity:.8}
.wl-filter button[aria-pressed="true"]{opacity:1;color:var(--text-bright);border-bottom-color:var(--or)}
.wl-filter button:focus-visible{outline:1px solid var(--or);outline-offset:3px}
.wl-country{text-align:left;border-top:1px solid var(--line)}
.wl-country:last-of-type{border-bottom:1px solid var(--line)}
.wl-country summary{list-style:none;display:flex;align-items:baseline;justify-content:space-between;gap:1em;padding:1.15em 2px;cursor:pointer;font-style:italic;font-size:22px;line-height:1.3}
.wl-country summary::-webkit-details-marker{display:none}
.wl-country summary::after{content:'+';font-style:normal;font-size:16px;color:var(--or);margin-left:.6em}
.wl-country[open] summary::after{content:'–'}
.wl-country summary:focus-visible{outline:1px solid var(--or);outline-offset:2px}
.wl-country .cn{flex:1}
.wl-country .cn [lang="en"]{font-size:14px;opacity:.7}
.wl-country .ct{font-style:normal;font-size:11px;letter-spacing:.14em;color:var(--text-soft)}
.wl-region{padding:.4em 0 2.2em}
.wl-region h3{font-weight:400;font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--or);margin:1.4em 0 .2em}
.wl-cat h4{display:flex;justify-content:space-between;align-items:baseline;font-weight:400;font-style:italic;font-size:17px;margin:1.2em 0 .3em;padding-bottom:.35em;border-bottom:1px solid var(--line)}
.wl-cat h4 .cols{display:flex;gap:0;font-style:normal;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft)}
.wl-cat h4 .cols span:first-child{width:3.2em;text-align:right}
.wl-cat h4 .cols span:last-child{width:4.6em;text-align:right}
.wl-sub{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-soft);margin:1.1em 0 .1em}
.wl ul{list-style:none}
.w{position:relative;display:flex;align-items:baseline;gap:0;padding:.5em 0;font-size:14px;line-height:1.45;border-bottom:1px solid rgba(238,232,220,.06)}
.w .n{flex:1;min-width:0;padding-right:.6em;overflow-wrap:anywhere}
.w .n small{font-size:11px;letter-spacing:.06em;color:var(--text-soft);white-space:nowrap}
.w .v,.w .p{flex:none;text-align:right;font-variant-numeric:tabular-nums lining-nums;font-size:13px}
.w .v{width:3.2em;color:var(--text)}
.w .p{width:6.9em;color:var(--text-bright)}
:lang(zh) .wl,:lang(zh) .wl .n{letter-spacing:0}
:lang(zh) .wl .wl-note{letter-spacing:.06em}
:lang(zh) .wl-country summary{font-style:normal;letter-spacing:.12em}
:lang(zh) .wl-cat h4{font-style:normal;letter-spacing:.12em}
.wl [hidden]{display:none!important}

/* ── v6.5：售完＝復古酒單的劃線（Mo 指定紅線，品牌色的例外）──
   整行保留，一條略斜、輕微不規則的單線劃過酒名到價格（像紙本上用筆劃掉）；顏色是沉的酒紅，不用鮮紅。
   線用 SVG 背景（preserveAspectRatio=none 拉滿整行），字還讀得到。列印酒單照同一套：線色、粗細、斜度、Sold＋日期小字。 */
:root{--sold-ink:#A8454B}   /* 沉酒紅：在灰藍底上看得到（對比約 3:1，線不是字），又不像警示紅｜品牌色例外，只用在售完線 */
.w.sold .n,.w.sold .v,.w.sold .p{color:var(--text-soft)}
.w.sold::after{content:'';position:absolute;left:-4px;right:-2px;top:calc(.5em + .725em - 6px);height:14px;   /* 劃在第一行字的中間（酒名換行時也只劃一條） */pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 14' preserveAspectRatio='none'%3E%3Cpath d='M1 9.2 C 60 8.4 110 7.9 170 7.1 S 290 5.6 340 5.2 S 385 4.4 399 4.9' fill='none' stroke='%23A8454B' stroke-width='1.7' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") no-repeat 0 0/100% 100%}
.sold-tag{position:absolute;right:0;top:100%;margin-top:-.55em;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-soft);line-height:1;white-space:nowrap}   /* 小字用米灰（字要讀得到）；紅色只給線 */
.w.sold{padding-bottom:.95em}
@media (min-width:640px){
  .w{font-size:15px}
  .wl-country summary{font-size:25px}
}

/* ── v6.2：中文頁 ── 標題不准斜體（規範）；中文內文 Regular、字距略開 */
:lang(zh) body{letter-spacing:.04em}
:lang(zh) .mod h2,:lang(zh) .page-head h1,:lang(zh) .overlay nav a,:lang(zh) .hero .line,:lang(zh) .site-foot .word{font-style:normal}
:lang(zh) .page-head h1{letter-spacing:.12em}
:lang(zh) .mod h2{letter-spacing:.06em}
:lang(zh) .overlay nav a{font-size:25px;letter-spacing:.14em}
:lang(zh) .label,:lang(zh) .sub,:lang(zh) .k{letter-spacing:.24em}
:lang(zh) .alt,:lang(zh) [lang="en"]{letter-spacing:0}
:lang(zh) .mod .alt{font-style:italic}

/* ── 淡入 ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 1.2s ease,transform 1.4s var(--ease-reveal)}
.reveal.in{opacity:1;transform:none}

/* ── 大螢幕：同一條欄，只放大字與留白 ── */
@media (min-width:900px){
  :root{--gap:22vh}
  .top{padding:22px 40px}
  .mod h2{font-size:31px}
  .page-head h1{font-size:76px}
  .hero .line{font-size:25px}
}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .neon,.neon .tube{animation:none!important}
  .intro .gate{animation:none;opacity:1;visibility:visible}
}
