/* 低階・純白極簡：大量留白、細線條、區塊編號。 */
.s-clean { --bg: #ffffff; --bg2: #fafafa; --fg: #161616; --muted: #7a7a7a; --line: #e8e8e8; --accent: #161616; --on-accent: #fff;
  --head-weight: 300; --h1: clamp(2.2rem, 6.4vw, 4.2rem); --h2: clamp(1.5rem, 3vw, 2.1rem); --sec-pad: clamp(72px, 11vw, 136px); }
.s-clean .top { background: rgba(255,255,255,.94); }
.s-clean .brand b { font-weight: 600; letter-spacing: .12em; }
.s-clean .hero h1 { letter-spacing: .08em; }
.s-clean .hero-side .hero-img { filter: grayscale(.15) contrast(1.02); }
.s-clean .btn { font-weight: 500; letter-spacing: .12em; padding: 12px 30px; }
/* 區塊標題前面加編號：01 ── 價目 */
.s-clean main { counter-reset: sec; }
.s-clean .sec { border-top: 1px solid var(--line); }
.s-clean .sec-h { counter-increment: sec; display: flex; align-items: center; gap: 18px; font-size: var(--h2); }
.s-clean .sec-h::before { content: counter(sec, decimal-leading-zero); font: 400 .8rem/1 var(--sans); letter-spacing: .2em; color: var(--muted); }
.s-clean .sec-h::after { content: ""; flex: 0 0 48px; height: 1px; background: var(--fg); order: -1; display: none; }
.s-clean .price-tb th { font-weight: 400; }
.s-clean .price-tb td { font-weight: 500; }
.s-clean .pic img { aspect-ratio: 4 / 5; }
.s-clean .person .ini { background: none; color: var(--fg); border: 1px solid var(--fg); }
.s-clean .notice { background: #f4f4f4; color: var(--fg); }
