/* ============================================================
   永邦漢堡王 · 明快清新編輯器風 · 公共樣式
   ============================================================ */
:root{
  --cream:#F7F1E6;      /* 淺暖底（輸入框/裝飾面） */
  --sky-bg:#FBF9F3;     /* 主背景（奶油與白之間） */
  --paper:#FFFEFB;      /* 卡片紙面 */
  --ink:#241F18;        /* 主墨色 */
  --ink-soft:#4A4338;
  --muted:#7E7668;
  --line:#E4DCCB;
  --accent:#F2593B;     /* 珊瑚橙 */
  --accent-soft:#FFD9CD;
  --sun:#F5B841;        /* 暖陽黃 */
  --mint:#9CCBB0;       /* 清淺綠 */
  --sky:#7FB6D6;        /* 淺藍 */
  --serif:"Iowan Old Style","Songti SC","Noto Serif SC","STSong","SimSun",serif;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
  --radius:18px;
  --shadow:0 18px 40px -22px rgba(36,31,24,.35);
  --container:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background:var(--sky-bg);
  color:var(--ink);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit;cursor:pointer}

.container{width:min(var(--container),92%);margin-inline:auto}

/* ---------- 排版 ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent);font-weight:600;
}
.eyebrow::before{content:"";width:2.4rem;height:2px;background:var(--accent);display:block}
.serif{font-family:var(--serif)}
.display{
  font-family:var(--serif);
  font-weight:600;line-height:1.12;letter-spacing:.01em;
}
h2.sec-title{
  font-family:var(--serif);
  font-size:clamp(1.9rem,4vw,2.9rem);
  font-weight:600;line-height:1.15;
}
.lead{color:var(--ink-soft);max-width:56ch;font-size:1.05rem}
.muted{color:var(--muted)}

/* ---------- 按鈕 ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.85rem 1.6rem;border-radius:999px;
  font-weight:600;font-size:.95rem;border:0;background:none;
  transition:.25s;white-space:nowrap;
}
.btn-solid{background:var(--ink);color:var(--cream)}
.btn-solid:hover{background:var(--accent);transform:translateY(-2px)}
.btn-ghost{border:1.5px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--cream);transform:translateY(-2px)}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:var(--ink);transform:translateY(-2px)}
.btn .arr{transition:transform .25s}
.btn:hover .arr{transform:translateX(4px)}

/* ---------- 頂部導航 ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(251,249,243,.85);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px}
.logo{display:flex;align-items:center;gap:.7rem;font-family:var(--serif);font-weight:700;font-size:1.15rem}
.logo-mark{
  width:40px;height:40px;border-radius:12px;
  display:grid;place-items:center;color:#fff;background:var(--ink);
  font-family:var(--serif);font-weight:700;
}
.logo small{display:block;font-family:var(--sans);font-weight:500;font-size:.6rem;letter-spacing:.28em;color:var(--muted);text-transform:uppercase}
.nav-links{display:flex;gap:1.6rem;align-items:center}
.nav-links a{position:relative;font-weight:500;font-size:.95rem;padding:.4rem 0}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:0;
  background:var(--accent);transition:width .25s;
}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-links a.active{color:var(--accent)}
.nav-toggle{display:none;background:none;border:0;color:var(--ink);cursor:pointer;width:40px;height:40px;align-items:center;justify-content:center}
.lang-switch{display:flex;align-items:center;gap:.3rem;font-size:.85rem;flex-wrap:nowrap;flex-shrink:0;white-space:nowrap}
.lang-btn{background:none;border:0;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--muted);padding:.2rem .35rem;border-radius:6px;transition:.2s}
.lang-btn:hover{color:var(--ink)}
.lang-btn.on{color:var(--accent);background:var(--accent-soft)}
.lang-sep{color:var(--line);font-size:.75rem}

/* ---------- 頁腳 ---------- */
.footer{background:var(--ink);color:var(--cream);padding:4.5rem 0 0;margin-top:5rem}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:2.5rem}
.footer h4{font-family:var(--serif);font-size:1.05rem;margin-bottom:1rem}
.footer a{display:block;color:#C9C1B2;padding:.25rem 0;transition:.2s}
.footer a:hover{color:var(--sun);padding-left:4px}
.footer .logo{color:var(--cream);margin-bottom:1rem;display:flex;align-items:center;gap:.7rem}
.footer-cta{color:#C9C1B2;max-width:34ch}
.footer-bottom{
  border-top:1px solid rgba(252,250,244,.15);
  margin-top:3rem;padding:1.4rem 0;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  font-size:.85rem;color:#A59B8A;
}

/* ---------- 頁面頭圖 ---------- */
.page-hero{
  padding:4.5rem 0 3rem;display:flex;flex-direction:column;gap:1rem;
}
.page-hero h1{
  font-family:var(--serif);font-size:clamp(2.5rem,6vw,4.2rem);
  font-weight:600;line-height:1.05;
}
.crumbs{font-size:.85rem;color:var(--muted)}
.crumbs a:hover{color:var(--accent)}

/* ---------- 滾動入場 ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}
.reveal[data-d="2"]{transition-delay:.16s}
.reveal[data-d="3"]{transition-delay:.24s}
.reveal[data-d="4"]{transition-delay:.32s}

/* ---------- 通用卡片 ---------- */
.card{
  background:var(--paper);border-radius:var(--radius);
  padding:1.8rem;box-shadow:var(--shadow);
  border:1px solid var(--line);
  transition:transform .3s ease,box-shadow .3s ease;
}
.card:hover{transform:translateY(-6px);box-shadow:0 26px 48px -22px rgba(36,31,24,.42)}
.tag{
  display:inline-block;padding:.3rem .8rem;border-radius:999px;
  font-size:.72rem;font-weight:600;letter-spacing:.06em;
}
.tag-coral{background:var(--accent-soft);color:var(--accent)}
.tag-mint{background:#DFF0E5;color:#3E8A64}
.tag-sun{background:#FCEFCB;color:#B07A12}
.tag-sky{background:#DFEEF6;color:#3B789B}

/* ---------- 移動端 ---------- */
@media (max-width:900px){
  .nav-links{
    position:absolute;top:74px;left:0;right:0;
    background:var(--paper);flex-direction:column;align-items:flex-start;
    padding:1.4rem 4%;gap:1rem;border-bottom:1px solid var(--line);
    transform:translateY(-120%);transition:.3s;pointer-events:none;
  }
  .nav-links.open{transform:none;pointer-events:auto}
  .nav-toggle{display:flex}
  .lang-switch{margin-left:auto;margin-right:1rem}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .footer-grid{grid-template-columns:1fr}
  :root{--radius:14px}
}