/* 特色款・和風留白：米白和紙色、墨色細線、朱紅落款；店名直書，區塊標題在電腦上直書靠左。 */
.s-zen { --bg: #f7f4ec; --bg2: #efebe0; --fg: #232120; --muted: #74706a; --line: #d8d2c4; --accent: #b23a2a; --on-accent: #fff; --card: #fbf9f3;
  --radius: 0; --radius-btn: 0; --font-head: var(--serif); --font-body: var(--serif); --head-weight: 600; --h1: clamp(2.4rem, 7vw, 4.6rem); --wrap: 1120px; }
.s-zen .top { background: rgba(247, 244, 236, .94); border-bottom: 1px solid var(--line); }
.s-zen .brand b { letter-spacing: .4em; font-weight: 500; }
.zen-hero { display: grid; gap: 28px; padding-block: clamp(40px, 8vw, 110px); align-items: start; }
.zen-title h1 { letter-spacing: .3em; }
.zen-title .hero-en { margin-top: 12px; letter-spacing: .5em; }
.zen-img { aspect-ratio: 3 / 4; overflow: hidden; max-width: 460px; }
.zen-img img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85); }
.zen-side .hero-lede { line-height: 2.2; max-width: 22em; }
@media (min-width: 900px) {
  .zen-hero { grid-template-columns: auto minmax(260px, 420px) 1fr; gap: clamp(32px, 6vw, 90px); }
  .zen-title { writing-mode: vertical-rl; display: flex; gap: 18px; align-items: flex-start; }
  .zen-title h1 { position: relative; padding-left: 18px; }
  .zen-title h1::after { content: ""; position: absolute; right: -14px; top: 0; bottom: 0; width: 1px; background: var(--fg); }
  .zen-title .hero-en { margin: 0; font-size: .72rem; }
  .zen-side { align-self: end; padding-bottom: 20px; }
}
/* 朱紅落款印 */
.zen-title h1::before { content: ""; display: inline-block; width: 1.3em; height: 1.3em; font-size: .32em; background: var(--accent); box-shadow: inset 0 0 0 3px var(--accent), inset 0 0 0 5px rgba(255, 255, 255, .5);
  border-radius: 3px; letter-spacing: 0; margin: 0 0 .6em; writing-mode: horizontal-tb; vertical-align: top; opacity: .9; }
.s-zen .btn { background: transparent; color: var(--fg); border: 1px solid var(--fg); letter-spacing: .3em; font-weight: 500; }
.s-zen .btn:hover { background: var(--fg); color: var(--bg); transform: none; }
.s-zen .btn-2 { border-color: transparent; text-decoration: underline; text-underline-offset: 6px; }
/* 區塊：電腦上標題直書靠左 */
.zen-main .sec { border-top: 1px solid var(--line); }
@media (min-width: 900px) {
  .zen-main .sec .wrap { display: grid; grid-template-columns: 90px 1fr; gap: 40px; align-items: start; }
  .zen-main .sec .wrap > .sec-h { writing-mode: vertical-rl; grid-row: span 20; letter-spacing: .5em; margin: 0; font-weight: 500;
    padding-left: 16px; border-left: 1px solid var(--fg); min-height: 8em; }
  .zen-main .sec .wrap > :not(.sec-h) { grid-column: 2; }
}
.s-zen .sec-h span::before { content: "〇 "; color: var(--accent); font-size: .6em; }
.s-zen .menu { max-width: 640px; }
.s-zen .menu li { padding: 14px 0; border-bottom: 1px solid var(--line); }
.s-zen .menu i { border: 0; }
.s-zen .grp-h { color: var(--accent); }
.s-zen .about { line-height: 2.2; }
.s-zen .pic { background: none; }
.s-zen .pic img { filter: saturate(.85); }
.s-zen .card, .s-zen .person { background: transparent; border: 0; border-top: 1px solid var(--fg); padding-inline: 0; }
.s-zen .person .ini { background: none; color: var(--accent); border: 1px solid var(--accent); }
.s-zen .day i { border-color: var(--line); }
.s-zen .notice { background: var(--bg2); color: var(--fg); }
.s-zen .foot { background: var(--bg2); }
