/* 全站變數、字體、重設、容器與無障礙 */
:root {
  --ink:#183d49;
  --muted:#5a6b6c;
  --paper:#fcfaf5;
  --orange:#d85d3c;
  --line:#e5e4db;
  --serif:"Noto Serif TC Web","Noto Serif TC","Noto Serif CJK TC","Source Han Serif TC","Songti TC","PMingLiU","新細明體",serif;
  --sans:"Microsoft JhengHei","PingFang TC","Noto Sans TC",sans-serif;
  --ink-soft:#3f5d66;
  --orange-deep:#c54d2c;
  --orange-text:#b9482a;
  --surface:#fffdfa;
  --line-soft:#eeebe2;
  --radius-s:8px;
  --radius-m:12px;
  --radius-l:18px;
  --section-gap:clamp(44px,5.6vw,76px);
  --shadow-soft:0 14px 34px -22px rgba(24,61,73,.35);
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:95px;
  accent-color:var(--orange);
  caret-color:var(--orange);
  -webkit-text-size-adjust:100%;
}

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.75;
  font-variant-emoji:text;
}

a {
  color:inherit;
  text-decoration:none;
  text-underline-offset:.22em;
}

::selection {
  background:#f6d9cc;
  color:var(--ink);
}

button,input,select {
  font:inherit;
}

button,a,select {
  -webkit-tap-highlight-color:transparent;
}

button {
  cursor:pointer;
  color:inherit;
}

button:disabled {
  cursor:default;
}

button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible {
  outline:3px solid var(--orange-deep);
  outline-offset:4px;
}

img {
  display:block;
  width:100%;
  object-fit:cover;
}

h1,h2,h3,p {
  margin:0;
}

h1,h2,h3 {
  font-family:var(--serif);
  letter-spacing:.04em;
  text-wrap:balance;
}

button {
  border:0;
  background:none;
}

small {
  font-size:12px;
}

.container {
  width:min(1240px,calc(100% - 64px));
  margin:auto;
}

.skip {
  position:fixed;
  top:-100px;
  left:20px;
  background:white;
  padding:12px;
  z-index:100;
}

.skip:focus {
  top:10px;
}
