﻿@charset "UTF-8";

.s-root{
  margin:0;
  background:var(--s-cream);
  color:var(--s-ink);
  font-family:"Noto Serif TC","Microsoft JhengHei",serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.9;
}
.s-root h1,.s-root h2,.s-root h3{
  font-family:"Noto Serif TC","Microsoft JhengHei",serif;
  font-weight:700; letter-spacing:.04em; margin:0;
}
.s-root a{ color:inherit; text-decoration:none; }
.s-root img{ max-width:100%; display:block; }
.s-wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}
.s-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.78rem; font-weight:700; letter-spacing:.16em;
  color:var(--s-coral-deep); text-transform:uppercase;
  margin-bottom:12px;
}
.s-eyebrow::before{
  content:""; width:18px; height:2px; background:var(--s-coral-deep); display:inline-block;
}
/* ===== Hero ===== */

 a { text-decoration: none !important; }

.s-rhero{
  position:relative;
  background:
    radial-gradient(ellipse at 18% 20%, rgba(186,216,160,0.35), transparent 55%),
    radial-gradient(ellipse at 85% 75%, rgba(234,147,137,0.28), transparent 55%),
    var(--s-cream);
  padding:64px 0 56px;
  overflow:hidden;
  border-bottom:1px solid rgba(60,74,51,0.08);
}
.s-rhero-inner{
  display:block;
  max-width:760px;
}
.s-rhero h1{
  font-family:"Noto Serif TC",serif;
  font-size:clamp(1.9rem,3.4vw,2.6rem);
  line-height:1.4;
  color:var(--s-ink);
  margin:0 0 16px;
}
.s-rhero h1 .s-accent{ color:var(--s-coral-deep); }
.s-rhero p.s-lead{
  font-size:1.02rem; line-height:1.95; color:var(--s-ink-soft);
  margin:0 0 22px; max-width:560px;
}
.s-rhero-badges{ display:flex; flex-wrap:wrap; gap:10px; }
.s-badge{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--s-white); border:1px solid rgba(60,74,51,0.12);
  border-radius:999px; padding:8px 16px; font-size:.85rem; font-weight:600;
  color:var(--s-ink); box-shadow:var(--s-shadow);
}
.s-badge .s-dot{
  width:8px; height:8px; border-radius:50%; background:var(--s-leaf-deep); flex:0 0 auto;
}
/* ===== 區塊通用 ===== */
.s-section{ padding:64px 0; }
.s-section + .s-section{ border-top:1px solid rgba(60,74,51,0.08); }
.s-section-head{ max-width:680px; margin:0 0 38px; }
.s-section-head h2{
  font-family:"Noto Serif TC",serif;
  font-size:clamp(1.5rem,2.4vw,1.9rem);
  color:var(--s-ink); margin:0 0 14px; line-height:1.5;
}
.s-section-head p{
  color:var(--s-ink-soft); line-height:1.9; margin:0; font-size:.98rem;
}
/* ===== 經驗 / 環境：交錯卡片 ===== */
.s-exp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.s-exp-card{
  background:var(--s-white); border-radius:var(--s-radius);
  padding:26px 24px; box-shadow:var(--s-shadow);
  border-top:4px solid var(--s-leaf-deep);
}
.s-exp-card:nth-child(2){ border-top-color:var(--s-coral); }
.s-exp-card:nth-child(3){ border-top-color:var(--s-leaf-deep); }
.s-exp-card h3{
  font-size:1.08rem; margin:0 0 10px; color:var(--s-ink);
  display:flex; align-items:center; gap:10px;
}
.s-exp-num{ font-family:"Noto Serif TC",serif; font-size:1.3rem; color:var(--s-coral-deep); }
.s-exp-card p{ margin:0; color:var(--s-ink-soft); font-size:.92rem; line-height:1.85; }
/* ===== 專業與信任：左右對照 ===== */
.s-trust{ background:var(--s-white); }
.s-trust-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.s-trust-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px; }
.s-trust-list li{
  display:flex; gap:14px; align-items:flex-start;
  background:var(--s-cream); border-radius:14px; padding:16px 18px;
}
.s-trust-icon{
  flex:0 0 auto; width:34px; height:34px; border-radius:50%;
  background:var(--s-leaf); color:var(--s-ink); font-weight:700;
  display:flex; align-items:center; justify-content:center; font-size:.95rem;
}
.s-trust-list strong{ display:block; color:var(--s-ink); margin-bottom:3px; font-size:.96rem; }
.s-trust-list span{ color:var(--s-ink-soft); font-size:.88rem; line-height:1.7; }
.s-quote{
  background:var(--s-ink); color:#EFF3E9; border-radius:var(--s-radius);
  padding:30px 28px; position:relative;
}
.s-quote::before{
  content:"\201C"; font-family:"Noto Serif TC",serif; font-size:3.4rem;
  color:var(--s-coral); position:absolute; top:6px; left:18px; opacity:.6;
}
.s-quote p{ margin:0 0 14px; line-height:1.95; font-size:.98rem; padding-left:6px; }
.s-quote footer{ font-size:.82rem; color:#A9B79C; padding-left:6px; }
/* ===== 場地服務（不含菜色與價格） ===== */
.s-venue{
  background:
    linear-gradient(0deg, var(--s-cream), var(--s-cream)),
    radial-gradient(circle at 90% 10%, rgba(186,216,160,0.4), transparent 45%);
}
.s-venue-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.s-venue-card{
  background:var(--s-white); border-radius:var(--s-radius);
  padding:28px 24px; box-shadow:var(--s-shadow);
  text-align:left;
}
.s-venue-card .s-venue-tag{
  display:inline-block; font-size:.72rem; font-weight:700; letter-spacing:.08em;
  color:var(--s-coral-deep); background:rgba(234,147,137,0.14);
  border-radius:999px; padding:4px 12px; margin-bottom:14px;
}
.s-venue-card h3{ margin:0 0 10px; font-size:1.08rem; color:var(--s-ink); }
.s-venue-card p{ margin:0; color:var(--s-ink-soft); font-size:.9rem; line-height:1.85; }
/* ===== 常見問題（GEO／語音搜尋優化） ===== */
.s-faq{ background:var(--s-white); }
.s-faq-list{ display:flex; flex-direction:column; gap:14px; }
.s-faq-item{
  border:1px solid rgba(60,74,51,0.12); border-radius:14px; padding:20px 22px;
  background:var(--s-cream);
}
.s-faq-item h3{
  margin:0 0 8px; font-size:1rem; color:var(--s-ink);
  display:flex; gap:10px; align-items:flex-start;
}
.s-faq-item h3::before{
  content:"Q"; color:var(--s-white); background:var(--s-coral);
  width:24px; height:24px; border-radius:50%; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center; font-size:.78rem; font-weight:700;
}
.s-faq-item p{ margin:0 0 0 34px; color:var(--s-ink-soft); font-size:.9rem; line-height:1.85; }
/* ===== 預訂 CTA ===== */
.s-cta{ background:linear-gradient(120deg, var(--s-leaf) 0%, var(--s-cream) 50%, var(--s-coral) 100%); }
.s-cta-box{
  background:var(--s-white); border-radius:var(--s-radius);
  box-shadow:var(--s-shadow);
  padding:40px 36px;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px;
}
.s-cta-box h2{ font-family:"Noto Serif TC",serif; font-size:1.5rem; margin:0 0 8px; color:var(--s-ink); }
.s-cta-box p{ margin:0; color:var(--s-ink-soft); font-size:.95rem; max-width:480px; line-height:1.8; }
.s-cta-actions{ display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.s-cta-phone{
  font-size:1.5rem; font-weight:700; color:var(--s-coral-deep);
  font-family:"Noto Serif TC",serif; letter-spacing:.02em;
}
.s-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--s-coral-deep); color:var(--s-white);
  padding:12px 26px; border-radius:999px; font-weight:700; font-size:.92rem;
  text-decoration:none; transition:.25s;
}
.s-btn:hover{ background:var(--s-ink); }
/* ===== Responsive ===== */
@media (max-width: 980px){
  .s-exp-grid, .s-venue-grid{ grid-template-columns:1fr 1fr; }
  .s-trust-grid{ grid-template-columns:1fr; }
}
@media (max-width: 680px){
  .s-section{ padding:48px 0; }
  .s-exp-grid, .s-venue-grid{ grid-template-columns:1fr; }
  .s-cta-box{ flex-direction:column; align-items:flex-start; }
  .s-rhero{ padding:48px 0 40px; }
}