/* ============ TGM Site — Shared Stylesheet ============ */
:root {
  --beige: #f0e7d8;
  --beige-light: #f7f1e6;
  --ink: #1a1a1a;
  --line: #d9d4cb;
  --muted: #8a8580;
}
html { scroll-behavior: smooth; }
body {
  font-family: 'Noto Sans TC', system-ui, sans-serif;
  color: var(--ink);
  background: #fff;
  font-weight: 300;
  letter-spacing: 0.02em;
}
.logo-serif { font-family: 'Cormorant Garamond', serif; }
.en-serif { font-family: 'Cormorant Garamond', serif; letter-spacing: 0.15em; }

.diagonal-beige {
  background:
    linear-gradient(115deg, transparent 0 30%, var(--beige) 30% 55%, transparent 55% 70%, var(--beige-light) 70% 100%);
}

details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details .plus::before { content: "+"; }
details[open] .plus::before { content: "−"; }
details > div { max-height: 0; overflow: hidden; transition: max-height 0.5s ease; }
details[open] > div { max-height: 1600px; }

.fab {
  position: fixed; bottom: 20px; right: 20px; z-index: 50;
  background: #25d366; color: #fff;
  padding: 12px 20px; border-radius: 999px;
  display: inline-flex; align-items: center; gap: 8px;
  box-shadow: 0 4px 14px rgba(0,0,0,.15);
  font-size: 14px;
}

nav a { position: relative; }
nav a::after {
  content: ""; position: absolute; left: 0; bottom: -4px;
  height: 1px; width: 0; background: currentColor;
  transition: width .3s;
}
nav a:hover::after { width: 100%; }
nav a.active::after { width: 100%; }

.index-num {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: 5rem;
  line-height: 1;
  color: #a08872;
  letter-spacing: 0.02em;
}
.index-num-xl {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 300;
  font-size: clamp(6rem, 15vw, 14rem);
  line-height: 0.85;
  color: var(--beige);
}

.rule-dot::before {
  content: ""; display: inline-block; width: 5px; height: 5px;
  background: #1a1a1a; margin-right: 12px; vertical-align: middle;
}

/* Treatment page — internal nav to prev/next */
.treatment-nav a { transition: opacity .3s; }
.treatment-nav a:hover { opacity: 0.6; }
