@font-face{font-family:"Bodoni Moda";src:url(fonts/bodoni-moda.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(fonts/bodoni-moda-italic.woff2) format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url(fonts/jost.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--sand:#F4EBE2;--shell:#FBF6F1;--ink:#231E1A;--drift:#7A6D62;--line:rgba(35,30,26,.14);--frond:#56632A;--frond-dk:#414C1E;--blush:#E6D3C6;
--serif:'Fraunces','Noto Serif TC',Georgia,serif;--sans:'Jost','Noto Sans TC',system-ui,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--sand);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.8;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--frond);outline-offset:3px}
.wrap{max-width:820px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}

/* header */
.topbar{position:sticky;top:0;z-index:50;background:rgba(244,235,226,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar .in{max-width:1480px;margin:0 auto;padding:14px clamp(20px,3vw,40px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.topbar .back{font-size:15px;text-decoration:none}
.topbar .back:hover{text-decoration:underline;text-underline-offset:4px}
.logo{justify-self:center;text-decoration:none;font-family:'Fraunces',Georgia,serif;font-size:26px;line-height:1;padding:8px 22px 10px;border:1.4px solid currentColor;border-radius:50%}
.pill{justify-self:end;display:inline-block;background:var(--frond);color:#fff;text-decoration:none;font-size:15px;font-weight:500;padding:12px 24px;border-radius:999px}
.pill:hover{background:var(--frond-dk)}

/* venue banner */
.hero{position:relative;height:min(78vh,760px);min-height:420px;overflow:hidden;display:flex;align-items:flex-end;color:#fff}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,10,0) 45%,rgba(20,14,10,.6) 100%)}
.hero .cap{position:relative;z-index:2;width:100%;padding-bottom:44px}
.hero .cap .wrap{max-width:1240px}
.hero .region{font-size:15px;opacity:.9}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(46px,7.5vw,112px);line-height:1;letter-spacing:-.02em;margin-top:8px}

article.wrap{padding-top:64px;padding-bottom:90px}
.lede{font-family:var(--serif);font-size:clamp(24px,2.6vw,32px);line-height:1.4;margin-bottom:40px}
.facts{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);margin-bottom:26px}
.fact{padding:18px 0;border-bottom:1px solid var(--line)}
.fact:nth-child(odd){padding-right:20px}
.fact .k{font-size:13px;color:var(--drift)}
.fact .v{font-size:17px}
article h2{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.25;margin:52px 0 14px}
article h3{font-family:var(--serif);font-weight:400;font-size:22px;margin:30px 0 10px}
article p{margin-bottom:16px}
article ul,article ol{margin:0 0 20px 22px}
article li{margin-bottom:8px}
.feat-list{list-style:none;margin:0 0 20px;border-top:1px solid var(--line)}
.feat-list li{padding:12px 0;border-bottom:1px solid var(--line);margin:0}
.official{color:var(--frond);text-underline-offset:4px}
.kicker{font-size:14px;color:var(--drift);margin-bottom:10px}
article h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,56px);line-height:1.15;margin-bottom:14px}
.meta{font-size:14px;color:var(--drift);padding-bottom:26px;margin-bottom:30px;border-bottom:1px solid var(--line)}
article strong{font-weight:500}
.tbl{width:100%;border-collapse:collapse;margin:22px 0;font-size:15px;display:block;overflow-x:auto}
.tbl th,.tbl td{text-align:left;padding:12px 14px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-weight:500}
.callout{background:var(--shell);padding:24px 26px;margin:30px 0}
.callout p{margin:0}
.cta{background:var(--ink);color:var(--sand);padding:48px clamp(24px,5vw,56px);margin:56px 0 0}
.cta h3{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.2;margin:0 0 12px;color:var(--sand)}
.cta p{color:rgba(244,235,226,.75)}
.cta a{display:inline-block;background:var(--frond);color:#fff;text-decoration:none;font-weight:500;padding:14px 28px;border-radius:999px;margin-top:8px}
.cta a:hover{background:var(--frond-dk)}
.other{padding-top:64px}
.other h2{margin-top:0}
.other-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.other-card{text-decoration:none;display:block}
.other-card img{aspect-ratio:4/5;object-fit:cover;width:100%;margin-bottom:10px}
.other-card .r{font-size:13px;color:var(--drift)}
.other-card .n{font-family:var(--serif);font-size:18px;line-height:1.25}
.disc{font-size:13px;color:var(--drift);margin-top:50px;padding-top:18px;border-top:1px solid var(--line);line-height:1.6}
.backlink{display:inline-block;margin-top:20px;text-underline-offset:4px}

/* blog index */
.hero-b{padding-top:80px;padding-bottom:20px}
.hero-b h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,7vw,84px);line-height:1.05;margin-bottom:16px}
.hero-b p{color:var(--drift);max-width:34em}
.hero-b .kicker{font-size:14px;color:var(--drift);margin-bottom:10px}
.posts{display:grid;gap:56px;padding:40px 0 100px}
.post-card{display:block;text-decoration:none}
.post-card img{aspect-ratio:16/9;object-fit:cover;width:100%;margin-bottom:22px}
.post-card .tag{font-size:14px;color:var(--drift)}
.post-card h2{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,36px);line-height:1.25;margin:6px 0 10px}
.post-card p{color:var(--drift)}
.post-card .rd{display:inline-block;margin-top:12px;color:var(--frond);border-bottom:1px solid currentColor}

footer{background:var(--ink);color:rgba(244,235,226,.65);text-align:center;padding:60px 20px 40px;font-size:14px}
footer .big{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:clamp(90px,18vw,220px);line-height:.85;letter-spacing:-.05em;color:var(--sand);margin-bottom:24px}
.fab{position:fixed;right:22px;bottom:22px;z-index:40;width:56px;height:56px;border-radius:50%;background:var(--frond);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(35,30,26,.25)}
.fab svg{width:27px;height:27px;fill:#fff}
@media(max-width:700px){
  .topbar .pill{display:none}
  .topbar .in{grid-template-columns:1fr auto 1fr}
  .facts{grid-template-columns:1fr}
  .other-grid{grid-template-columns:1fr 1fr}
}

/* ---- colour layers & depth ---- */
:root{--lagoon:#0E3B3C;--lagoon-2:#15585A;--dusk:#2B1726;--plum:#4A2440;--champ:#EBCB97;--gold:#C9A064;
--gold-grad:linear-gradient(100deg,#B8864E 0%,#EBCB97 28%,#FFF3DC 45%,#E3B97F 62%,#B8864E 100%);
--deep-shadow:0 2px 4px rgba(43,23,38,.06),0 14px 28px rgba(43,23,38,.10),0 40px 70px -20px rgba(43,23,38,.28)}
body{background:radial-gradient(900px 600px at 8% 12%,rgba(217,153,138,.16),transparent 60%),radial-gradient(800px 700px at 95% 40%,rgba(235,203,151,.18),transparent 60%),var(--sand);background-attachment:fixed}
.logo{color:var(--plum);border-color:var(--gold)}
.pill,.cta a{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--lagoon-2),var(--lagoon));box-shadow:0 8px 22px rgba(14,59,60,.35)}
.pill:after,.cta a:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:sweep 4.5s ease-in-out infinite}
@keyframes sweep{0%,60%{left:-60%}85%,100%{left:130%}}
.hero:after{background:linear-gradient(180deg,rgba(43,23,38,.25) 0%,rgba(0,0,0,0) 35%,rgba(43,23,38,.35) 60%,rgba(14,59,60,.8) 100%)}
.hero h1{background:linear-gradient(100deg,#fff 0%,#fff 38%,#FFE3B5 48%,#fff 58%,#fff 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 6s ease-in-out infinite;filter:drop-shadow(0 6px 30px rgba(43,23,38,.45))}
.hero .region{color:var(--champ)}
@keyframes shimmer{0%{background-position:100% 0}50%{background-position:0 0}100%{background-position:100% 0}}
.lede,article h2,article h1,.hero-b h1,.post-card h2,.other-card .n{color:var(--plum)}
.cta{border-radius:24px;background:radial-gradient(600px 300px at 90% 0%,rgba(201,139,114,.45),transparent 70%),linear-gradient(135deg,var(--dusk),var(--plum) 50%,var(--lagoon));box-shadow:var(--deep-shadow)}
.cta h3{background:var(--gold-grad);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.callout{border-radius:18px;border:1px solid rgba(201,160,100,.4);background:linear-gradient(160deg,rgba(251,246,241,.9),rgba(235,203,151,.18))}
.other-card img,.post-card img{border-radius:18px;box-shadow:var(--deep-shadow)}
[data-tilt]{position:relative;transform:perspective(800px) rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .5s cubic-bezier(.2,.7,.2,1)}
[data-tilt].tilting{transition:transform .08s linear;transform:perspective(800px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) scale(1.03)}
.glare{position:absolute;inset:0 0 auto 0;aspect-ratio:4/5;pointer-events:none;border-radius:18px;opacity:0;transition:opacity .4s;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,250,238,.55) 0%,rgba(255,236,200,.2) 20%,transparent 45%)}
.post-card .glare{aspect-ratio:16/9}
[data-tilt].tilting .glare{opacity:1}
footer{background:linear-gradient(180deg,#1E1019,var(--dusk) 40%,var(--lagoon))}
footer .big{background:var(--gold-grad);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 9s ease-in-out infinite}
.fab{background:linear-gradient(135deg,var(--lagoon-2),var(--lagoon))}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}
html,body{overflow-x:clip}

/* ---- sunset sky like the first screen ---- */
:root{--ink:#FBF1E6;--drift:rgba(251,241,230,.74);--line:rgba(255,226,190,.22);--glass-bd:rgba(255,222,180,.30)}
body{background:#2A1426;color:var(--ink)}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:url(../images/sky-2.jpg) center/cover no-repeat}
body:after{content:"";position:fixed;inset:-10%;z-index:-1;pointer-events:none;background:
  radial-gradient(40% 35% at 78% 18%,rgba(255,176,96,.5),transparent 70%),
  radial-gradient(38% 40% at 12% 55%,rgba(240,110,120,.38),transparent 70%),
  radial-gradient(45% 40% at 70% 92%,rgba(20,120,125,.45),transparent 70%),
  linear-gradient(180deg,rgba(42,20,38,.4),rgba(14,50,55,.55));animation:skydrift 24s ease-in-out infinite alternate}
@keyframes skydrift{to{transform:translate3d(-3%,2%,0) scale(1.06)}}
.topbar{background:rgba(42,20,38,.55);backdrop-filter:blur(18px) saturate(1.5);border-bottom-color:var(--line);color:#FFF6EA}
.logo{color:#FFF6EA;border-color:var(--champ)}
article.wrap{background:linear-gradient(160deg,rgba(42,20,38,.55),rgba(42,20,38,.35));backdrop-filter:blur(14px);border:1px solid var(--glass-bd);border-radius:28px;margin-top:-60px;position:relative;z-index:3;padding:56px clamp(24px,5vw,56px) 64px;margin-bottom:80px;box-shadow:0 40px 80px -30px rgba(10,4,10,.6)}
.hero-b+.wrap,.wrap.hero-b{background:none;border:0}
.lede,article h2,article h1,.hero-b h1,.post-card h2,.other-card .n,article h3{color:#FFF6EA}
.meta,.kicker,.fact .k,.other-card .r,.post-card .tag,.post-card p,.hero-b p,.disc{color:var(--drift)}
.official,.post-card .rd,.backlink{color:var(--champ)}
.fact,.facts,.feat-list,.feat-list li,.tbl th,.tbl td,.meta,.disc{border-color:var(--line)!important}
.callout{background:rgba(255,222,180,.10);border-color:var(--glass-bd)}
.posts{padding-top:20px}
.post-card{background:linear-gradient(160deg,rgba(42,20,38,.5),rgba(42,20,38,.3));backdrop-filter:blur(12px);border:1px solid var(--glass-bd);border-radius:24px;padding:14px 14px 28px}
.post-card>*:not(img):not(.glare){padding:0 12px}
.post-card .glare{inset:14px 14px auto 14px;width:auto}
footer{background:linear-gradient(180deg,rgba(30,16,25,.9),rgba(43,23,38,.92) 40%,rgba(14,59,60,.95))}
article.wrap{margin-top:48px}
.hero+article.wrap{margin-top:-40px}
.hero .cap{padding-bottom:84px}

/* ---- LAYER 4: fresh couture (matches homepage) ---- */
:root{--mint:#EAF6EF;--sage:#9FD0B8;--green:#4E9E7E;--green-2:#3C8A6C;--forest:#24493D;--powder:#E3EFFA;--blue-deep:#4F82B3;
  --ink:#24493D;--drift:#5B6F68;--line:rgba(79,130,179,.18);
  --serif:'Bodoni Moda','Noto Serif TC',Georgia,serif;
  --fresh-grad:linear-gradient(100deg,#2E6E57 0%,#4E9E7E 28%,#6FA8D6 52%,#4E9E7E 74%,#2E6E57 100%);
  --x3d:drop-shadow(0 1px 0 #CFE9DC) drop-shadow(0 1px 0 #B5DDCB) drop-shadow(0 1px 0 #9FC9E8) drop-shadow(0 12px 16px rgba(36,73,61,.18));
  --card-shadow:0 1px 2px rgba(36,73,61,.06),0 18px 40px -16px rgba(36,73,61,.28),0 40px 80px -40px rgba(79,130,179,.35)}
body{background:#F6FBF8;color:var(--ink)}
body:before{background:radial-gradient(55% 45% at 8% 6%,rgba(191,230,210,.85),transparent 70%),radial-gradient(50% 45% at 95% 22%,rgba(212,236,248,.95),transparent 70%),radial-gradient(45% 40% at 12% 78%,rgba(247,217,200,.55),transparent 70%),radial-gradient(50% 45% at 88% 92%,rgba(159,208,184,.55),transparent 70%),linear-gradient(180deg,#F4FAF7,#EEF5FB)}
body:after{background:radial-gradient(30% 28% at 70% 20%,rgba(255,255,255,.9),transparent 70%),radial-gradient(30% 30% at 60% 80%,rgba(227,239,250,.85),transparent 70%)}
.topbar{background:rgba(255,255,255,.86);color:var(--forest);border-bottom-color:var(--line)}
.logo{border:0;padding:0;border-radius:0;line-height:0}
.logo img{height:46px;width:auto}
.pill,.cta a{background:linear-gradient(135deg,#5FB08D 0%,#3C8A6C 60%,#2E6E57 100%);box-shadow:0 10px 24px -8px rgba(60,138,108,.65),inset 0 1px 0 rgba(255,255,255,.45)}
.hero:after{background:linear-gradient(180deg,rgba(16,44,36,.25) 0%,rgba(0,0,0,0) 35%,rgba(24,64,52,.35) 60%,rgba(24,64,52,.82) 100%)}
.hero h1{background:linear-gradient(100deg,#fff 0%,#fff 38%,#DDF1E6 46%,#FFF3DC 52%,#fff 60%,#fff 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 1px 0 #BFE6D2) drop-shadow(0 1px 0 #9FD0B8) drop-shadow(0 2px 0 #5FB08D) drop-shadow(0 16px 30px rgba(16,44,36,.5))}
.hero .region{color:#DDF1E6}
article.wrap{background:rgba(255,255,255,.82);border-color:rgba(79,158,126,.22);box-shadow:var(--card-shadow),inset 0 1px 0 #fff}
.lede,article h2,article h1,.hero-b h1,article h3{color:var(--forest);filter:var(--x3d)}
.post-card h2,.other-card .n{color:var(--forest)}
.meta,.kicker,.fact .k,.other-card .r,.post-card .tag,.post-card p,.hero-b p,.disc{color:var(--drift)}
.fact .k,.kicker,.post-card .tag{color:var(--blue-deep)}
.official,.post-card .rd,.backlink{color:var(--green-2)}
.callout{background:linear-gradient(160deg,#EAF6EF,#E3EFFA);border-color:rgba(79,158,126,.3)}
.cta{background:radial-gradient(800px 400px at 50% 0%,rgba(255,255,255,.35),transparent 70%),linear-gradient(135deg,#3C8A6C 0%,#4E9E7E 42%,#4F82B3 100%);box-shadow:0 30px 60px -25px rgba(60,120,110,.55)}
.cta h3{background:none;color:#fff;filter:drop-shadow(0 1px 0 rgba(36,73,61,.3)) drop-shadow(0 8px 16px rgba(36,73,61,.25))}
.cta p{color:rgba(255,255,255,.92)}
.cta a{background:#fff;color:var(--forest)}
.other-card img,.post-card img{box-shadow:var(--card-shadow)}
.post-card{background:rgba(255,255,255,.8);border-color:rgba(79,158,126,.22);box-shadow:var(--card-shadow)}
footer{background:linear-gradient(180deg,#E3F2EA 0%,#DCEAF6 100%);color:var(--drift);border-top:1px solid rgba(79,130,179,.2)}
.big-logo{display:block;margin:0 auto 18px;width:min(360px,80%);height:auto}
.fab{background:linear-gradient(135deg,#5FB08D,#3C8A6C);border:1.5px solid #fff}
@media(max-width:700px){.logo img{height:36px}}
.hero img{object-position:center 38%}
.film{margin:10px 0 24px;display:flex;flex-direction:column;align-items:center}
.film video{width:min(420px,100%);aspect-ratio:3/4;object-fit:cover;border-radius:24px;background:#2E6E57;box-shadow:var(--card-shadow),0 0 0 8px rgba(255,255,255,.6)}
.film figcaption{font-size:14px;color:var(--drift);margin-top:14px}
footer .reg{display:block;margin-top:6px;font-size:12.5px;letter-spacing:.02em}
html[lang="zh-Hans"]{--serif:'Bodoni Moda','Noto Serif SC','Noto Serif TC',Georgia,serif;--sans:'Jost','Noto Sans SC','Noto Sans TC',system-ui,sans-serif}
article a:not(.backlink):not(.official){color:var(--green-2);text-underline-offset:3px}

/* language switch on guide pages */
.topbar .tb-r{justify-self:end;display:flex;align-items:center;gap:12px}
.topbar .tb-r .pill{justify-self:auto}
.topbar .langs{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:999px;background:rgba(234,246,239,.92);border:1px solid rgba(79,158,126,.3)}
.topbar .langs a{font-size:13.5px;line-height:1;padding:7px 12px;border-radius:999px;text-decoration:none;color:var(--forest);transition:background .2s}
.topbar .langs a:hover{background:rgba(79,158,126,.12)}
.topbar .langs a[aria-current="page"]{background:linear-gradient(135deg,#5FB08D,#3C8A6C);color:#fff;font-weight:500;box-shadow:0 4px 10px -4px rgba(36,73,61,.45)}
@media(max-width:700px){
  .topbar .in{grid-template-columns:auto 1fr auto;gap:8px;padding:10px 12px}
  .topbar .back{font-size:13px}
  .topbar .logo{justify-self:center}
  .topbar .langs a{font-size:12.5px;padding:6px 9px}
}
@media(max-width:400px){.topbar .back{font-size:0}.topbar .back:before{content:"←";font-size:18px}}

/* CRISP TYPE (matches homepage) */
:root{--x3d-ts:0 1px 0 #BFE2D0,0 2px 0 #A6D3BE,0 3px 0 #9FC9E8,0 10px 18px rgba(36,73,61,.16)}
.lede,article h2,article h1,.hero-b h1,article h3{filter:none!important;text-shadow:var(--x3d-ts)}
.lede{text-shadow:none}
.hero h1{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;color:#fff!important;-webkit-text-fill-color:#fff;
  filter:none!important;animation:none;font-weight:400;
  text-shadow:0 1px 0 #2E6E57,0 2px 0 #24493D,0 3px 0 rgba(36,73,61,.7),0 8px 22px rgba(8,24,20,.45)}
.cta h3{filter:none!important;text-shadow:0 1px 0 rgba(36,73,61,.35),0 8px 16px rgba(36,73,61,.25)}
