:root{--ink:#172029;--navy:#192633;--orange:#ff793d;--mist:#eef1f2;--line:#cdd5d9;font:18px/1.65 "Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);overflow-wrap:anywhere}a{color:inherit;text-underline-offset:.2em}a:focus-visible{outline:3px solid #e15114;outline-offset:3px}h1,h2,h3,p{margin:0 0 .65em}h1,h2,h3{line-height:1.18}h1{font-size:clamp(2.2rem,5vw,4.6rem);font-weight:850;letter-spacing:-.025em}h2{font-size:clamp(1.65rem,3vw,2.7rem)}h3{font-size:1.3rem}.wrap{width:min(1220px,calc(100% - 48px));margin:auto}.nav{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 22px;padding-block:16px}.brand{font-weight:850;text-decoration:none;border-left:6px solid var(--orange);padding-left:12px}.nav nav,.actions{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.nav nav a,.button,.outline{display:inline-flex;min-height:44px;align-items:center}.nav nav a{text-decoration:none;font-weight:650}.language{border:1px solid var(--line);padding-inline:12px}.hero{background:var(--navy);color:#fff;border-bottom:7px solid var(--orange)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(20px,5vw,70px);align-items:center;padding-block:clamp(32px,7vw,95px)}.place{color:#ffac86;font-weight:800}.hero img{width:100%;max-height:540px;object-fit:contain;background:#f3f4f2;border-bottom:7px solid var(--orange)}.section{padding-block:clamp(32px,6vw,80px)}.button,.outline{padding:10px 16px;text-decoration:none;font-weight:800}.button{background:var(--orange);color:#1b2025}.outline{border:1px solid currentColor}.cards,.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.cards article{padding:20px;background:var(--mist);border-top:4px solid var(--orange)}.note{margin:18px 0 0}.band{background:var(--mist)}.photos a{display:grid;place-items:center;background:#fff;border:1px solid var(--line)}.photos img{width:100%;aspect-ratio:4/3;object-fit:contain}.contact{background:var(--navy);color:white}.contact address{font-style:normal;margin-bottom:20px}iframe{width:min(100%,900px);display:block;aspect-ratio:16/9;border:0;background:var(--mist);margin-bottom:10px}footer{padding-block:24px}.mobile{display:none}@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){:root{font-size:20px}.wrap{width:calc(100% - 36px)}.hero-grid{grid-template-columns:1fr}.nav nav{font-size:.82rem;gap:4px 12px}.photos{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile{display:grid;grid-template-columns:1fr 1fr;position:fixed;inset:auto 0 0;z-index:3;padding-bottom:env(safe-area-inset-bottom);background:var(--navy);color:white}.mobile a{display:grid;place-items:center;text-decoration:none;min-height:54px;font-weight:750}.mobile a:last-child{background:var(--orange);color:var(--ink)}body{padding-bottom:calc(54px + env(safe-area-inset-bottom))}}@media(max-width:420px){.cards{grid-template-columns:1fr}}

:root { --ink:#312322; --navy:#502725; --orange:#963f32; --mist:#f5ede2; --line:#decec1; }
body { background:#fffaf3; }
header { background:#fffaf3; border-bottom:1px solid var(--line); }
.brand { border-left:0; padding:0; color:var(--navy); }
.hero { background:#eadbd0; color:var(--ink); border-bottom:1px solid var(--line); }
.hero-grid { grid-template-columns:1fr; text-align:center; gap:24px; padding-block:clamp(28px,5vw,68px); }
.hero h1 { font-family:"Noto Serif TC","PMingLiU",serif; max-width:20ch; margin-inline:auto; }
.hero p { max-width:46em; margin-inline:auto; }
.hero .actions { justify-content:center; }
.hero img { width:min(420px,100%); max-height:325px; margin:auto; border:1px solid var(--line); background:#fffaf3; }
.place { color:var(--navy); }
.button,.mobile a:last-child { color:white; }
.band { background:#fffaf3; }
.photos { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(10px,2vw,28px); }
.photos a { padding:clamp(4px,1.6vw,18px); background:white; }
.cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cards article { border-top:0; border-left:4px solid var(--orange); }
@media(max-width:680px) {
 :root {font-size:21px;}
 .photos {grid-template-columns:repeat(2,minmax(0,1fr));}
 .cards {grid-template-columns:1fr;}
}
