/* Thai Siam menu.html v2 — premium relaxing redesign (ASTRA 2026-09-11) */
/* Palette: dark ink #14100C / cream #F7EFE4 / gold #C6A15B */

.menu-v2{
  --ink:#14100C;
  --ink2:#1D1712;
  --cream2:#F7EFE4;
  --gold:#C6A15B;
  --ease:cubic-bezier(.22,.61,.36,1);
  background:var(--cream2);
}
.menu-v2 h1,.menu-v2 h2,.menu-v2 h3{
  font-family:"Playfair Display","Noto Serif TC",serif;
  font-weight:500;
  letter-spacing:.06em;
}
.menu-v2 p{font-family:"Poppins","Noto Sans TC",sans-serif;font-weight:300;letter-spacing:.05em}

/* ---------- reveal motion ---------- */
.fade-seq{opacity:0;transform:translateY(24px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.fade-seq.in{opacity:1;transform:none}
.reveal-slow{opacity:0;transform:translateY(30px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.reveal-slow.in{opacity:1;transform:none}

/* ---------- hero ---------- */
.v2-hero{position:relative;height:92vh;min-height:560px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.v2-hero-img{position:absolute;inset:-12% 0;background-size:cover;background-position:center;filter:brightness(.62) saturate(.85);will-change:transform}
.v2-hero-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,12,.35),rgba(20,16,12,.15) 45%,rgba(20,16,12,.65))}
.v2-hero-in{position:relative;z-index:2;color:var(--cream2);padding:0 24px}
.v2-eyebrow{font-family:"Poppins",sans-serif;font-size:12px;letter-spacing:.5em;opacity:.85;margin-bottom:26px}
.v2-hero h1{font-size:clamp(34px,5.6vw,72px);color:var(--cream2);margin:0;line-height:1.25}
.v2-hero-line{width:64px;height:1px;background:var(--gold);margin:32px auto}
.v2-hero-sub{font-size:15px;letter-spacing:.3em;opacity:.85;margin:0}
.v2-scrollcue{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:2}
.v2-scrollcue span{display:block;width:1px;height:56px;background:linear-gradient(180deg,var(--gold),transparent);animation:cue 3s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- breath sections ---------- */
.v2-breath{padding:140px 24px;text-align:center}
.v2-breath p{font-family:"Playfair Display","Noto Serif TC",serif;font-size:clamp(20px,2.6vw,32px);line-height:2;margin:0 auto;max-width:760px;font-weight:400}
.v2-cream{background:var(--cream2);color:var(--ink)}
.v2-dark{background:var(--ink);color:var(--cream2)}
.v2-dark h2,.v2-dark h3{color:var(--cream2)}
.v2-quote p{font-style:italic}
.v2-quote .v2-quote-src{display:block;margin-top:28px;font-size:12.5px;letter-spacing:.2em;opacity:.55;font-family:"Poppins","Noto Sans TC",sans-serif}

/* ---------- category blocks ---------- */
.v2-cat{display:grid;grid-template-columns:1.15fr 1fr;min-height:82vh;align-items:stretch;overflow:hidden}
.v2-cat.flip .v2-cat-visual{order:2}
.v2-cat-visual{position:relative;overflow:hidden;min-height:420px}
.v2-cat-img{position:absolute;inset:-10% 0;background-size:cover;background-position:center;transition:transform 1.5s var(--ease),filter 1.5s var(--ease);will-change:transform}
.v2-dark .v2-cat-img{filter:brightness(.75) saturate(.9)}
.v2-cream .v2-cat-img{filter:brightness(.92) sepia(.12)}
.v2-cat-visual:hover .v2-cat-img{transform:scale(1.045)}
.v2-cat-copy{display:flex;flex-direction:column;justify-content:center;padding:96px 8vw;gap:6px}
.v2-kicker{font-family:"Poppins",sans-serif;font-size:11.5px;letter-spacing:.45em;color:var(--gold);text-transform:uppercase;margin-bottom:18px}
.v2-cat-copy h2{font-size:clamp(30px,3.8vw,52px);margin:0 0 20px;line-height:1.3}
.v2-cat-copy p{font-size:15.5px;line-height:2;opacity:.8;margin:0 0 44px;max-width:380px}
.v2-reveal-btn,.v2-fold-btn{
  align-self:flex-start;background:none;border:1px solid var(--gold);color:inherit;
  font-family:"Poppins","Noto Sans TC",sans-serif;font-size:13px;letter-spacing:.3em;
  padding:16px 38px;cursor:pointer;transition:background 1s var(--ease),color 1s var(--ease)
}
.v2-reveal-btn:hover,.v2-fold-btn:hover{background:var(--gold);color:var(--ink)}
.v2-reveal-btn[aria-expanded="true"],.v2-fold-btn[aria-expanded="true"]{background:var(--gold);color:var(--ink)}

/* ---------- treatment list (revealed) ---------- */
.v2-list{grid-column:1 / -1;padding:24px 8vw 120px;display:grid;gap:56px;
  opacity:0;transform:translateY(28px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.v2-list.open{opacity:1;transform:none}
.v2-item{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:center}
.v2-item-im{height:220px;background-size:cover;background-position:center;filter:brightness(.85) saturate(.9);transition:transform 1.5s var(--ease);overflow:hidden}
.v2-item:hover .v2-item-im{transform:scale(1.03)}
.v2-tag{display:inline-block;font-family:"Poppins",sans-serif;font-size:10.5px;letter-spacing:.35em;color:var(--gold);border:1px solid rgba(198,161,91,.5);padding:6px 14px;margin-bottom:16px}
.v2-item h3{font-size:24px;margin:0 0 12px;letter-spacing:.08em}
.v2-item-tx>p{font-size:14px;line-height:1.95;opacity:.78;margin:0 0 18px;max-width:520px}
.v2-more{background:none;border:none;color:var(--gold);font-family:"Poppins","Noto Sans TC",sans-serif;font-size:12.5px;letter-spacing:.3em;cursor:pointer;padding:4px 0;border-bottom:1px solid rgba(198,161,91,.4);transition:opacity .8s var(--ease)}
.v2-more:hover{opacity:.7}
.v2-detail{max-height:0;overflow:hidden;opacity:0;transition:max-height 1.1s var(--ease),opacity 1.1s var(--ease)}
.v2-detail.open{max-height:320px;opacity:1}
.v2-detail p{font-size:13.5px;line-height:2;opacity:.7;margin:20px 0 18px;max-width:520px}
.v2-cta{display:flex;gap:28px;flex-wrap:wrap}
.v2-link{font-family:"Poppins","Noto Sans TC",sans-serif;font-size:12.5px;letter-spacing:.28em;text-decoration:none;color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:4px;transition:opacity .8s var(--ease)}
.v2-link:hover{opacity:.65}
.v2-link.alt{color:inherit;border-bottom-color:currentColor;opacity:.75}
.v2-link.gold{font-size:14px;color:var(--gold);border-color:var(--gold)}
.v2-link.sm{font-size:11.5px;letter-spacing:.18em}

/* ---------- price list ---------- */
.v2-price{padding:130px 24px;text-align:center}
.v2-price-in{max-width:880px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.v2-price h2{font-size:clamp(28px,3.4vw,44px);margin:0 0 20px}
.v2-price-note{font-size:12.5px;letter-spacing:.08em;opacity:.6;max-width:560px;line-height:1.9;margin:0 0 40px}
.v2-fold{width:100%;max-height:0;overflow:hidden;opacity:0;transition:max-height 1.3s var(--ease),opacity 1.3s var(--ease)}
.v2-fold.open{max-height:1200px;opacity:1}
.v2-table{width:100%;border-collapse:collapse;margin-top:56px;font-family:"Poppins","Noto Sans TC",sans-serif}
.v2-table th{font-size:11.5px;letter-spacing:.35em;font-weight:500;color:var(--gold);padding:0 16px 18px;border-bottom:1px solid rgba(20,16,12,.18);text-align:left}
.v2-table td{padding:20px 16px;border-bottom:1px solid rgba(20,16,12,.1);font-size:14px;letter-spacing:.05em;text-align:left}
.v2-table td:first-child{font-family:"Playfair Display","Noto Serif TC",serif;font-size:15.5px}

/* ---------- closing ---------- */
.v2-close{position:relative;height:70vh;min-height:440px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.v2-close-img{position:absolute;inset:-12% 0;background-size:cover;background-position:center;filter:brightness(.55) saturate(.85);will-change:transform}
.v2-close-ov{position:absolute;inset:0;background:rgba(20,16,12,.35)}
.v2-close-in{position:relative;z-index:2;color:var(--cream2);padding:0 24px}
.v2-close-in h2{font-size:clamp(26px,3.6vw,48px);color:var(--cream2);margin:0 0 40px;line-height:1.5}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .v2-cat{grid-template-columns:1fr;min-height:0}
  .v2-cat.flip .v2-cat-visual{order:0}
  .v2-cat-visual{min-height:52vw}
  .v2-cat-copy{padding:64px 7vw 72px}
  .v2-list{padding:0 7vw 96px}
  .v2-item{grid-template-columns:1fr;gap:20px}
  .v2-item-im{height:52vw;max-height:300px}
  .v2-breath{padding:96px 24px}
  .v2-hero{height:78vh}
  .v2-table th:nth-child(2),.v2-table td:nth-child(2){display:none}
}
@media (min-width:641px){.mb{display:none}}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .fade-seq,.reveal-slow,.v2-list{opacity:1;transform:none;transition:none}
  .v2-detail,.v2-fold{transition:none}
  .parallax{transform:none !important}
  .v2-scrollcue span{animation:none}
  .v2-cat-img,.v2-item-im{transition:none}
}
