/* ============================================================
   全域基底 Base（reset/body/連結/.container/.section-/.accent）
   來源 style.css 行 77-197（純搬移，內容未改）
   ============================================================ */

/* ============================================================
   GLOBAL
   ============================================================ */
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--f-body);
  font-size: var(--fs-md);
  line-height: 1.5;
  color: var(--c-text);
  background: var(--c-bg-page);
  overflow-x: hidden;
  position: relative;
}

img {
  max-width: 100%;
  display: block;
  image-rendering:-moz-crisp-edges;          /* Firefox        */
  image-rendering:-o-crisp-edges;            /* Opera          */
  image-rendering:-webkit-optimize-contrast; /* Safari         */
  image-rendering:optimize-contrast;         /* CSS3 Proposed  */
  -ms-interpolation-mode:nearest-neighbor;   /* IE8+           */
}

a {
  color: inherit;
  text-decoration: none;
  transition: color .2s;
}

a:hover {
  color: var(--c-brand);
}

.container {
  position: relative;
  z-index: 10;
}

/* ≥1400px：採用本站設計寬度 1470px；
   1400px 以下不覆寫 max-width，交還給 Bootstrap 各斷點的容器寬度（1140 / 960 / 720 / 540） */
@media (min-width: 1400px) {
  .container {
    max-width: 1470px;
  }
}

/* ---- Typography helpers ---- */
.section-h1 {
  font-family: var(--f-display);
  font-weight: 500;
  font-size: clamp(48px, 6vw, var(--fs-6xl));
  line-height: 1.1;
  letter-spacing: -.02em;
  margin: 0;
}

.section-h2 {
  font-family: var(--f-display);
  font-weight: 500;
  font-size: clamp(36px, 4.2vw, var(--fs-5xl));
  line-height: 1.2;
  margin: 0;
}

.section-h3 {
  font-family: var(--f-display);
  font-weight: 600;
  font-size: clamp(28px, 3vw, var(--fs-2xl));
  margin: 0;
}

.section-h4 {
  font-family: var(--f-display);
  font-weight: 500;
  font-size: clamp(22px, 2vw, var(--fs-xl));
  margin: 0;
}

.section-eyebrow {
  font-family: var(--f-body);
  font-weight: 700;
  font-size: var(--fs-lg);
  letter-spacing: 2.88px;
  color: var(--c-brand);
  text-transform: uppercase;
  margin: 0 0 .5rem;
}

.section-lead {
  font-family: var(--f-body);
  font-weight: 700;
  font-size: clamp(20px, 2.2vw, var(--fs-lg));
  line-height: 1.5;
  margin: 0;
}

.body-l {
  font-size: var(--fs-md);
  line-height: 1.5;
}

.text-muted-soft {
  color: var(--c-text-muted);
}

.text-white-70 {
  color: var(--c-on-dark-muted);
}

.accent {
  color: var(--c-brand);
}

.ckeditor-block {
  min-height: 600px;
  max-width: 800px;
  margin: 0 auto;
}

@media(max-width: 575px) {
  .ckeditor-block {
    min-height: 320px;
  }
}

