/* 特色款・大理石精品：白色大理石紋（CSS 漸層畫的）、香檳金細框與分隔線、襯線字、全部置中對稱、封面照片在拱形框裡。 */
.s-luxe { --bg: #f7f5f1; --bg2: #efebe4; --fg: #262320; --muted: #807a70; --line: #d9cfbd; --accent: #a8874f; --on-accent: #fff; --card: #fffdf9;
  --radius: 0; --radius-btn: 0; --font-head: var(--serif); --head-weight: 500; --h1: clamp(2.2rem, 6.5vw, 4.2rem); --gold: linear-gradient(90deg, #b8975c, #e6cf98, #a8874f); }
.s-luxe body, .s-luxe { background:
  linear-gradient(115deg, transparent 40%, rgba(160, 150, 140, .14) 41%, transparent 43%),
  linear-gradient(160deg, transparent 62%, rgba(150, 140, 130, .12) 63%, transparent 64.5%),
  linear-gradient(35deg, transparent 20%, rgba(170, 160, 150, .1) 21%, transparent 22%),
  radial-gradient(ellipse at 20% 30%, #fff, transparent 60%), var(--bg); background-attachment: fixed; }
.s-luxe .top { background: rgba(247, 245, 241, .92); border-bottom: 1px solid var(--line); }
.s-luxe .top-in { justify-content: center; flex-direction: column; gap: 6px; padding-block: 10px; }
.s-luxe .brand { align-items: center; }
.s-luxe .brand b { letter-spacing: .35em; font-weight: 500; }
.s-luxe .nav { justify-content: center; }
.luxe-hero { text-align: center; padding-block: clamp(40px, 7vw, 90px); display: grid; justify-items: center; }
.s-luxe .hero-en { color: var(--accent); letter-spacing: .6em; font-size: .75rem; }
.s-luxe .hero h1 { letter-spacing: .2em; }
.luxe-rule { display: block; width: 120px; height: 1px; background: var(--gold); margin: 22px auto; position: relative; }
.luxe-rule::after { content: "◆"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -52%); font-size: 10px; color: var(--accent); background: var(--bg); padding: 0 8px; }
.luxe-arch { width: min(420px, 82vw); aspect-ratio: 3 / 4; border-radius: 999px 999px 0 0; overflow: hidden; padding: 10px; border: 1px solid var(--accent); margin: 10px auto 26px; background: var(--card); }
.luxe-arch img { width: 100%; height: 100%; object-fit: cover; border-radius: 999px 999px 0 0; }
.s-luxe .hero-lede { margin-inline: auto; font-family: var(--serif); }
.s-luxe .hero-act { justify-content: center; }
.s-luxe .btn { background: transparent; color: var(--fg); border: 1px solid var(--accent); letter-spacing: .3em; font-weight: 500; padding: 13px 34px; }
.s-luxe .btn:hover { background: var(--accent); color: #fff; transform: none; }
.s-luxe .btn-2 { border-color: transparent; }
.luxe-main .sec { text-align: center; }
.luxe-main .sec .wrap { width: min(860px, 100% - 40px); }
.luxe-main .sec-h { letter-spacing: .4em; font-weight: 500; }
.luxe-main .sec-h::after { content: ""; display: block; width: 60px; height: 1px; margin: 18px auto 0; background: var(--gold); }
.luxe-main .menu, .luxe-main .about, .luxe-main .info, .luxe-main .days { margin-inline: auto; text-align: left; }
.luxe-main .menu { padding: 28px clamp(20px, 4vw, 40px); background: var(--card); border: 1px solid var(--line); outline: 1px solid var(--line); outline-offset: 6px; }
.s-luxe .menu i { border-color: var(--line); }
.s-luxe .price { color: var(--accent); font-family: var(--serif); }
.s-luxe .grp-h { color: var(--accent); text-align: center; }
.s-luxe .pics { justify-content: center; }
.s-luxe .pic { background: var(--card); padding: 8px; border: 1px solid var(--line); }
.s-luxe .card, .s-luxe .person { text-align: center; background: var(--card); border-color: var(--line); }
.s-luxe .person .ini { margin-inline: auto; background: none; color: var(--accent); border: 1px solid var(--accent); font-family: var(--serif); }
.s-luxe .sec-act { justify-content: center; }
.s-luxe .day i { border-color: var(--line); background: var(--card); }
.s-luxe .notice { background: var(--fg); color: #eadfc8; }
.s-luxe .notice .wrap { justify-content: center; }
.s-luxe .foot { background: #262320; color: #b9b0a0; border: 0; text-align: center; }
.s-luxe .foot-in { justify-content: center; flex-direction: column; align-items: center; }
.s-luxe .foot-side { justify-items: center; }
.s-luxe .foot-name { color: #e6cf98; letter-spacing: .3em; }
