@charset "UTF-8";
/* ========================
  🎨 Design Tokens - Variables
======================== */
/* Theme semantic colors */
/* Libraries fixed colors：不隨 Theme 切換。 */
/* v1 migration aliases：案件檔案完成遷移前保留，不是新的正式命名。 */
/* Viewport breakpoints */
/* Font Family */
/* Content Spacing */
/*
  content-px：內容版心與瀏覽器邊界的預設距離
  content-py：承接內容之容器的上下留白
  Section 自身構圖需要的 padding 使用案件 Node override，不建立 section-py Token。
*/
/* Content Spacing - Mobile */
/* Content Spacing - Desktop */
/* Text Block Padding */
/* Layout Pattern */
/* 舊單值 alias；新 layout 應分別使用 X / Y。 */
/* Form Structure v1（DDWPS-FORM-CONTRACT-v1.md §4.2）
   Starter 泛用預設值，非任何特定案件設計稿；案件依自己的設計覆寫這些 Token，
   不需要新增第二套 Form class。*/
/* ==========================================================================
  中正金澤 — Project stylesheet

  Theme override、Text Style 覆寫與 #pageXX 精準版型。
  共用元件與 utilities 在 scss/_*.scss；此檔不複製、不改寫共用層。
  Mobile 為 base（設計稿寬 610），Desktop 以 min-width: $bp-desktop 覆寫（設計稿寬 1920）。
========================================================================== */
/* --------------------------------------------------------------------------
  Theme：色彩（設計稿全稿取樣，詳見 docs/CASE-BRIEF.md Color Usage Inventory）
-------------------------------------------------------------------------- */
:root {
  --color-brand-primary: #e84714;
  --color-brand-primary-hover: #bf4a2b;
  --color-brand-secondary: #40210f;
  --color-text-primary: #231815;
  --color-background-secondary: #efefef;
  --color-border-primary: #b6b6b6;
  --focus-ring-color: var(--color-brand-primary);
  --form-control-border-color: #374151;
  --form-control-focus-color: var(--color-brand-primary);
  --form-submit-background: var(--color-brand-primary);
  --form-label-color: var(--color-text-primary);
}

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

a:focus:not(:focus-visible),
a:active {
  outline: none;
}

/* 圖片燈箱連結：燈箱關閉後焦點會回到觸發圖，不畫外框（使用者要求） */
.img-lightbox:focus,
.img-lightbox:focus-visible {
  outline: none;
}

/*
  Mobile fixed Nav 的底部保留量（Starter 預設值不保證吻合本案 Nav）。
  ⚠ 更動 Nav 後須重新量測。
*/
@media (max-width: 991.98px) {
  :root {
    --site-nav-height: calc(81 * var(--vw-base));
  }
}
/* --------------------------------------------------------------------------
  Text Style 覆寫：全案文字一律 Noto Serif TC（設計稿全稿單一襯線字體）。
  只覆寫 --text-* 度量，不改共用 .text-style-* 規則本身。
-------------------------------------------------------------------------- */
#page02 .txt-heading__eyebrow, #page03 .txt-heading__eyebrow, #page04 .txt-heading__eyebrow, #page05 .txt-heading__eyebrow, #page06 .txt-heading__eyebrow, #page07 .txt-heading__eyebrow, #page08 .txt-heading__eyebrow, #page09 .txt-heading__eyebrow, #page10 .txt-heading__eyebrow, #page11 .txt-heading__eyebrow {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(18 * var(--vw-base));
  --text-font-weight: 400;
  --text-line-height: 1.15;
  --text-letter-spacing: calc(3 * var(--vw-base));
}
@media (min-width: 992px) {
  #page02 .txt-heading__eyebrow, #page03 .txt-heading__eyebrow, #page04 .txt-heading__eyebrow, #page05 .txt-heading__eyebrow, #page06 .txt-heading__eyebrow, #page07 .txt-heading__eyebrow, #page08 .txt-heading__eyebrow, #page09 .txt-heading__eyebrow, #page10 .txt-heading__eyebrow, #page11 .txt-heading__eyebrow {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(2.23 * var(--vw-base));
  }
}
#page02 .txt-heading__eyebrow, #page03 .txt-heading__eyebrow, #page04 .txt-heading__eyebrow, #page05 .txt-heading__eyebrow, #page06 .txt-heading__eyebrow, #page07 .txt-heading__eyebrow, #page08 .txt-heading__eyebrow, #page09 .txt-heading__eyebrow, #page10 .txt-heading__eyebrow, #page11 .txt-heading__eyebrow {
  color: var(--color-text-primary);
}
#page02 .txt-heading__title, #page03 .txt-heading__title, #page04 .txt-heading__title, #page05 .txt-heading__title, #page06 .txt-heading__title, #page07 .txt-heading__title, #page08 .txt-heading__title, #page09 .txt-heading__title, #page10 .txt-heading__title, #page11 .txt-heading__title {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(40 * var(--vw-base));
  --text-font-weight: 500;
  --text-line-height: 1.75;
  --text-letter-spacing: calc(8.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page02 .txt-heading__title, #page03 .txt-heading__title, #page04 .txt-heading__title, #page05 .txt-heading__title, #page06 .txt-heading__title, #page07 .txt-heading__title, #page08 .txt-heading__title, #page09 .txt-heading__title, #page10 .txt-heading__title, #page11 .txt-heading__title {
    --text-font-size: calc(50 * var(--vw-base));
    --text-line-height: 1.6;
    --text-letter-spacing: calc(10 * var(--vw-base));
  }
}
#page02 .txt-heading__title, #page03 .txt-heading__title, #page04 .txt-heading__title, #page05 .txt-heading__title, #page06 .txt-heading__title, #page07 .txt-heading__title, #page08 .txt-heading__title, #page09 .txt-heading__title, #page10 .txt-heading__title, #page11 .txt-heading__title {
  color: var(--color-text-primary);
}
#page02 .txt-heading__title em, #page03 .txt-heading__title em, #page04 .txt-heading__title em, #page05 .txt-heading__title em, #page06 .txt-heading__title em, #page07 .txt-heading__title em, #page08 .txt-heading__title em, #page09 .txt-heading__title em, #page10 .txt-heading__title em, #page11 .txt-heading__title em {
  font-style: normal;
  color: var(--color-brand-primary);
}
#page02 .txt-heading__subtitle, #page03 .txt-heading__subtitle, #page04 .txt-heading__subtitle, #page05 .txt-heading__subtitle, #page06 .txt-heading__subtitle, #page07 .txt-heading__subtitle, #page08 .txt-heading__subtitle, #page09 .txt-heading__subtitle, #page10 .txt-heading__subtitle, #page11 .txt-heading__subtitle {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(24 * var(--vw-base));
  --text-font-weight: 700;
  --text-line-height: 1.15;
  --text-letter-spacing: calc(4.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page02 .txt-heading__subtitle, #page03 .txt-heading__subtitle, #page04 .txt-heading__subtitle, #page05 .txt-heading__subtitle, #page06 .txt-heading__subtitle, #page07 .txt-heading__subtitle, #page08 .txt-heading__subtitle, #page09 .txt-heading__subtitle, #page10 .txt-heading__subtitle, #page11 .txt-heading__subtitle {
    --text-font-size: calc(28 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(5 * var(--vw-base));
  }
}
#page02 .txt-heading__subtitle, #page03 .txt-heading__subtitle, #page04 .txt-heading__subtitle, #page05 .txt-heading__subtitle, #page06 .txt-heading__subtitle, #page07 .txt-heading__subtitle, #page08 .txt-heading__subtitle, #page09 .txt-heading__subtitle, #page10 .txt-heading__subtitle, #page11 .txt-heading__subtitle {
  color: var(--color-text-primary);
}
#page02 .txt-content, #page03 .txt-content, #page04 .txt-content, #page05 .txt-content, #page06 .txt-content, #page07 .txt-content, #page08 .txt-content, #page09 .txt-content, #page10 .txt-content, #page11 .txt-content {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(18 * var(--vw-base));
  --text-font-weight: 600;
  --text-line-height: 2.22;
  --text-letter-spacing: calc(3.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page02 .txt-content, #page03 .txt-content, #page04 .txt-content, #page05 .txt-content, #page06 .txt-content, #page07 .txt-content, #page08 .txt-content, #page09 .txt-content, #page10 .txt-content, #page11 .txt-content {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 2.62;
    --text-letter-spacing: calc(4.4 * var(--vw-base));
  }
}
#page02 .txt-content, #page03 .txt-content, #page04 .txt-content, #page05 .txt-content, #page06 .txt-content, #page07 .txt-content, #page08 .txt-content, #page09 .txt-content, #page10 .txt-content, #page11 .txt-content {
  color: var(--color-text-primary);
}
#page02 .txt-content p, #page03 .txt-content p, #page04 .txt-content p, #page05 .txt-content p, #page06 .txt-content p, #page07 .txt-content p, #page08 .txt-content p, #page09 .txt-content p, #page10 .txt-content p, #page11 .txt-content p {
  margin: 0;
}

/* ==========================================================================
  page01 Hero
========================================================================== */
#page01 {
  position: relative;
  overflow: hidden;
  background-color: var(--color-fixed-white);
  height: calc(1084 * var(--vw-base));
}
@media (min-width: 992px) {
  #page01 {
    height: calc(1080 * var(--vw-base));
  }
}
#page01 .page01-stage {
  position: absolute;
  inset: 0;
}
#page01 .page01-img-1,
#page01 .page01-img-2,
#page01 .page01-slogan {
  position: absolute;
}
#page01 .page01-img-1 {
  --ratio: 853 / 252;
  --ratio-m: 336 / 348;
  left: calc(135 * var(--vw-base));
  top: calc(311 * var(--vw-base));
  width: calc(336 * var(--vw-base));
}
@media (min-width: 992px) {
  #page01 .page01-img-1 {
    left: calc(562 * var(--vw-base));
    top: calc(369 * var(--vw-base));
    width: calc(853 * var(--vw-base));
  }
}
#page01 .page01-img-2 {
  --ratio: 336 / 35;
  --ratio-m: 214 / 22;
  left: calc(196 * var(--vw-base));
  top: calc(1023 * var(--vw-base));
  width: calc(214 * var(--vw-base));
}
@media (min-width: 992px) {
  #page01 .page01-img-2 {
    left: calc(820 * var(--vw-base));
    top: calc(1011 * var(--vw-base));
    width: calc(336 * var(--vw-base));
  }
}
#page01 .page01-slogan {
  left: 0;
  top: calc(745 * var(--vw-base));
  width: 100%;
  text-align: center;
}
@media (min-width: 992px) {
  #page01 .page01-slogan {
    top: calc(655 * var(--vw-base));
  }
}
#page01 .txt-heading__title {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(47 * var(--vw-base));
  --text-font-weight: 700;
  --text-line-height: 1.15;
  --text-letter-spacing: calc(27 * var(--vw-base));
}
@media (min-width: 992px) {
  #page01 .txt-heading__title {
    --text-font-size: calc(67 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(33 * var(--vw-base));
  }
}
#page01 .txt-heading__title {
  position: relative;
  left: calc(6 * var(--vw-base));
  color: var(--color-brand-secondary);
}
@media (min-width: 992px) {
  #page01 .txt-heading__title {
    left: calc(30 * var(--vw-base));
  }
}
#page01 .txt-heading__description {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(26 * var(--vw-base));
  --text-font-weight: 700;
  --text-line-height: 1.3;
  --text-letter-spacing: calc(2.6 * var(--vw-base));
}
@media (min-width: 992px) {
  #page01 .txt-heading__description {
    --text-font-size: calc(33 * var(--vw-base));
    --text-line-height: 1.52;
    --text-letter-spacing: calc(5 * var(--vw-base));
  }
}
#page01 .txt-heading__description {
  position: relative;
  left: calc(-6 * var(--vw-base));
  margin-top: calc(24 * var(--vw-base));
  color: var(--color-brand-secondary);
}
@media (min-width: 992px) {
  #page01 .txt-heading__description {
    left: calc(18 * var(--vw-base));
    margin-top: calc(36 * var(--vw-base));
  }
}
#page01 .txt-content p {
  margin: 0;
}
#page01 .txt-content {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(70 * var(--vw-base));
  --text-font-weight: 700;
  --text-line-height: 1.15;
  --text-letter-spacing: calc(0 * var(--vw-base));
}
@media (min-width: 992px) {
  #page01 .txt-content {
    --text-font-size: calc(82 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(-2 * var(--vw-base));
  }
}
#page01 .txt-content {
  position: relative;
  left: calc(-5 * var(--vw-base));
  margin-top: calc(7 * var(--vw-base));
}
@media (min-width: 992px) {
  #page01 .txt-content {
    left: calc(27 * var(--vw-base));
    margin-top: calc(17 * var(--vw-base));
  }
}
#page01 .txt-content a {
  color: var(--color-brand-primary);
}

/* ==========================================================================
  page02 理念（深色照片背景）
========================================================================== */
#page02 {
  position: relative;
  height: calc(1082 * var(--vw-base));
  background: #111414 url("../images/img/page02-bg-m.webp") center/cover no-repeat;
  color: var(--color-fixed-white);
}
@media (min-width: 992px) {
  #page02 {
    height: calc(1080 * var(--vw-base));
    background-image: url("../images/img/page02-bg.webp");
  }
}
#page02 .page02-stage {
  position: absolute;
  inset: 0;
}
#page02 .page02-txt,
#page02 .page02-sign {
  position: absolute;
  left: calc(57 * var(--vw-base));
  width: auto;
}
@media (min-width: 992px) {
  #page02 .page02-txt,
  #page02 .page02-sign {
    left: calc(90 * var(--vw-base));
  }
}
#page02 .page02-txt {
  top: calc(219 * var(--vw-base));
}
@media (min-width: 992px) {
  #page02 .page02-txt {
    top: calc(203 * var(--vw-base));
  }
}
#page02 .page02-sign {
  top: calc(790 * var(--vw-base));
}
@media (min-width: 992px) {
  #page02 .page02-sign {
    top: calc(832 * var(--vw-base));
  }
}
#page02 .txt-heading__eyebrow,
#page02 .txt-heading__subtitle,
#page02 .txt-content {
  color: var(--color-fixed-white);
}
#page02 .txt-heading__eyebrow {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(18 * var(--vw-base));
  --text-font-weight: 400;
  --text-line-height: 1.15;
  --text-letter-spacing: calc(1.9 * var(--vw-base));
}
@media (min-width: 992px) {
  #page02 .txt-heading__eyebrow {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(2.25 * var(--vw-base));
  }
}
#page02 .txt-heading__title {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(40 * var(--vw-base));
  --text-font-weight: 500;
  --text-line-height: 1.775;
  --text-letter-spacing: calc(8.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page02 .txt-heading__title {
    --text-font-size: calc(50 * var(--vw-base));
    --text-line-height: 1.6;
    --text-letter-spacing: calc(10 * var(--vw-base));
  }
}
#page02 .txt-heading__title {
  color: var(--color-fixed-white);
  margin-top: calc(33 * var(--vw-base));
}
@media (min-width: 992px) {
  #page02 .txt-heading__title {
    margin-top: calc(56 * var(--vw-base));
  }
}
#page02 .txt-heading__subtitle {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(24 * var(--vw-base));
  --text-font-weight: 700;
  --text-line-height: 1.7;
  --text-letter-spacing: calc(4.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page02 .txt-heading__subtitle {
    --text-font-size: calc(28 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(5.65 * var(--vw-base));
  }
}
#page02 .txt-heading__subtitle {
  margin-top: calc(74 * var(--vw-base));
}
@media (min-width: 992px) {
  #page02 .txt-heading__subtitle {
    margin-top: calc(88 * var(--vw-base));
  }
}
#page02 .txt-content {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(18 * var(--vw-base));
  --text-font-weight: 400;
  --text-line-height: 2.22;
  --text-letter-spacing: calc(3.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page02 .txt-content {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 2.62;
    --text-letter-spacing: calc(4.15 * var(--vw-base));
  }
}
#page02 .txt-content {
  margin-top: calc(31 * var(--vw-base));
}
@media (min-width: 992px) {
  #page02 .txt-content {
    margin-top: calc(19 * var(--vw-base));
  }
}
#page02 .page02-sign .txt-content {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(18 * var(--vw-base));
  --text-font-weight: 400;
  --text-line-height: 2.22;
  --text-letter-spacing: calc(4.8 * var(--vw-base));
}
@media (min-width: 992px) {
  #page02 .page02-sign .txt-content {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 2.62;
    --text-letter-spacing: calc(4.95 * var(--vw-base));
  }
}
#page02 .page02-sign .txt-content {
  margin-top: 0;
}
#page02 .page02-sign .txt-content span {
  display: inline-block;
  line-height: 1.3;
  padding-bottom: calc(10 * var(--vw-base));
  border-bottom: 1px solid currentColor;
}
#page02 .page02-sign .txt-content strong {
  font-size: 1.58em;
  font-weight: 400;
  letter-spacing: 0.12em;
}
@media (min-width: 992px) {
  #page02 .page02-sign .txt-content strong {
    font-size: 1.4em;
  }
}

/* ==========================================================================
  page03 一脈金澤，兩代經典（灰底＋水彩裝飾背景）
========================================================================== */
#page03 {
  position: relative;
  height: calc(2802 * var(--vw-base));
  overflow: hidden;
  background: var(--color-background-secondary) url("../images/img/page03-bg-m.webp") center bottom/100% auto no-repeat;
}
@media (min-width: 992px) {
  #page03 {
    height: calc(1755 * var(--vw-base));
    background-image: url("../images/img/page03-bg.webp");
    background-size: 100% 100%;
  }
}
#page03 .page03-txt {
  padding-top: calc(69 * var(--vw-base));
  text-align: center;
}
#page03 .txt-heading__eyebrow {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(18 * var(--vw-base));
  --text-font-weight: 400;
  --text-line-height: 1.15;
  --text-letter-spacing: calc(3 * var(--vw-base));
}
@media (min-width: 992px) {
  #page03 .txt-heading__eyebrow {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(2.23 * var(--vw-base));
  }
}
#page03 .txt-heading__title {
  margin-top: calc(64 * var(--vw-base));
}
@media (min-width: 992px) {
  #page03 .txt-heading__title {
    margin-top: calc(54 * var(--vw-base));
  }
}
#page03 .txt-heading__subtitle {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(24 * var(--vw-base));
  --text-font-weight: 700;
  --text-line-height: 1.15;
  --text-letter-spacing: calc(4.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page03 .txt-heading__subtitle {
    --text-font-size: calc(28 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(5 * var(--vw-base));
  }
}
#page03 .txt-heading__subtitle {
  margin-top: calc(61 * var(--vw-base));
}
@media (min-width: 992px) {
  #page03 .txt-heading__subtitle {
    margin-top: calc(56 * var(--vw-base));
  }
}
#page03 .txt-content {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(18 * var(--vw-base));
  --text-font-weight: 600;
  --text-line-height: 2.22;
  --text-letter-spacing: calc(3.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page03 .txt-content {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 2.62;
    --text-letter-spacing: calc(4 * var(--vw-base));
  }
}
#page03 .txt-content {
  margin-top: calc(32 * var(--vw-base));
}
@media (min-width: 992px) {
  #page03 .txt-content {
    margin-top: calc(22 * var(--vw-base));
  }
}
#page03 .page03-works {
  --layout-split-columns: minmax(0, 1fr);
  --layout-split-columns-desktop: calc(587 * var(--vw-base)) calc(594 * var(--vw-base));
  --layout-gap-x: calc(42 * var(--vw-base));
  --layout-gap-y: calc(119 * var(--vw-base));
  margin-top: calc(70 * var(--vw-base));
  padding-inline: calc(58 * var(--vw-base));
}
@media (min-width: 992px) {
  #page03 .page03-works {
    margin-top: calc(50 * var(--vw-base));
    padding-inline: calc(367 * var(--vw-base)) 0;
  }
}
#page03 .page03-img-1,
#page03 .page03-img-2 {
  --ratio: 587 / 796;
}
#page03 .page03-img-1 {
  overflow: hidden;
}
#page03 .page03-img-1 .img-cover {
  transform: scale(1.131);
  transform-origin: 75.5% 90%;
}
@media (min-width: 992px) {
  #page03 .page03-img-2 {
    margin-left: calc(7 * var(--vw-base));
  }
}
#page03 .page03-img-2 .img-cover {
  object-position: 50% 39%;
}
#page03 .page03-spec {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(17 * var(--vw-base));
  --text-font-weight: 500;
  --text-line-height: 2.06;
  --text-letter-spacing: calc(0 * var(--vw-base));
}
@media (min-width: 992px) {
  #page03 .page03-spec {
    --text-font-size: calc(18 * var(--vw-base));
    --text-line-height: 2;
    --text-letter-spacing: calc(0 * var(--vw-base));
  }
}
#page03 .page03-spec {
  margin: calc(22 * var(--vw-base)) 0 0;
}
@media (min-width: 992px) {
  #page03 .page03-spec {
    margin-top: calc(26 * var(--vw-base));
  }
}
#page03 .page03-spec {
  color: var(--color-text-primary);
}
#page03 .page03-spec dt,
#page03 .page03-spec dd {
  margin: 0;
}
#page03 .page03-spec ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#page03 .page03-spec li::before {
  content: "・";
}
#page03 .page03-work:last-child .page03-spec {
  margin-top: calc(48 * var(--vw-base));
}
@media (min-width: 992px) {
  #page03 .page03-work:last-child .page03-spec {
    margin-top: calc(26 * var(--vw-base));
  }
}
#page03 .page03-spec__row {
  display: grid;
  grid-template-columns: calc(128 * var(--vw-base)) minmax(0, 1fr);
  align-items: center;
  min-height: calc(48 * var(--vw-base));
  border-bottom: 1px solid var(--color-border-primary);
}
@media (min-width: 992px) {
  #page03 .page03-spec__row {
    grid-template-columns: calc(150 * var(--vw-base)) minmax(0, 1fr);
  }
}
#page03 .page03-spec__row--list {
  min-height: calc(92 * var(--vw-base));
}
@media (min-width: 992px) {
  #page03 .page03-spec__row--list {
    min-height: calc(88 * var(--vw-base));
  }
}

/* ==========================================================================
  page04 在國家核心（白底）
========================================================================== */
#page04 {
  position: relative;
  height: calc(1298 * var(--vw-base));
  overflow: hidden;
  background-color: var(--color-fixed-white);
}
@media (min-width: 992px) {
  #page04 {
    height: calc(1080 * var(--vw-base));
  }
}
#page04 .page04-stage {
  position: absolute;
  inset: 0;
}
#page04 .page04-txt {
  position: absolute;
  left: calc(52 * var(--vw-base));
  top: calc(53 * var(--vw-base));
  width: calc(517 * var(--vw-base));
}
@media (min-width: 992px) {
  #page04 .page04-txt {
    left: calc(93 * var(--vw-base));
    top: calc(158 * var(--vw-base));
    width: calc(900 * var(--vw-base));
  }
}
#page04 .txt-heading__eyebrow {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(18 * var(--vw-base));
  --text-font-weight: 400;
  --text-line-height: 1.15;
  --text-letter-spacing: calc(3 * var(--vw-base));
}
@media (min-width: 992px) {
  #page04 .txt-heading__eyebrow {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(2.23 * var(--vw-base));
  }
}
#page04 .txt-heading__title {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(40 * var(--vw-base));
  --text-font-weight: 500;
  --text-line-height: 1.75;
  --text-letter-spacing: calc(8.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page04 .txt-heading__title {
    --text-font-size: calc(50 * var(--vw-base));
    --text-line-height: 1.62;
    --text-letter-spacing: calc(10 * var(--vw-base));
  }
}
#page04 .txt-heading__title {
  margin-top: calc(45 * var(--vw-base));
}
@media (min-width: 992px) {
  #page04 .txt-heading__title {
    margin-top: calc(54 * var(--vw-base));
  }
}
@media (min-width: 992px) {
  #page04 .page04-title-tail::before {
    width: calc(75 * var(--vw-base));
    margin: 0 calc(15 * var(--vw-base)) 0 calc(10 * var(--vw-base));
  }
}
#page04 .page04-title-tail::before {
  content: "";
  display: inline-block;
  width: calc(57 * var(--vw-base));
  height: 1px;
  margin-right: calc(12 * var(--vw-base));
  margin-left: calc(7 * var(--vw-base));
  vertical-align: middle;
  background-color: currentColor;
}
#page04 .txt-heading__subtitle {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(24 * var(--vw-base));
  --text-font-weight: 500;
  --text-line-height: 1.15;
  --text-letter-spacing: calc(4.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page04 .txt-heading__subtitle {
    --text-font-size: calc(28 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(5.7 * var(--vw-base));
  }
}
#page04 .txt-heading__subtitle {
  margin-top: calc(39 * var(--vw-base));
}
@media (min-width: 992px) {
  #page04 .txt-heading__subtitle {
    margin-top: calc(70 * var(--vw-base));
  }
}
#page04 .txt-content {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(18 * var(--vw-base));
  --text-font-weight: 600;
  --text-line-height: 2.22;
  --text-letter-spacing: calc(3.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page04 .txt-content {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 2.62;
    --text-letter-spacing: calc(4.4 * var(--vw-base));
  }
}
#page04 .txt-content {
  margin-top: calc(31 * var(--vw-base));
}
@media (min-width: 992px) {
  #page04 .txt-content {
    margin-top: calc(22 * var(--vw-base));
  }
}
#page04 .page04-img-1 {
  --ratio: 845 / 908;
  --ratio-m: 501 / 536;
  position: absolute;
  left: calc(57 * var(--vw-base));
  top: calc(717 * var(--vw-base));
  width: calc(501 * var(--vw-base));
}
@media (min-width: 992px) {
  #page04 .page04-img-1 {
    left: calc(995 * var(--vw-base));
    top: calc(86 * var(--vw-base));
    width: calc(845 * var(--vw-base));
  }
}
#page04 .page04-deco-1 {
  position: absolute;
  left: 0;
  top: calc(550 * var(--vw-base));
  width: calc(307 * var(--vw-base));
  height: auto;
  pointer-events: none;
}
@media (min-width: 992px) {
  #page04 .page04-deco-1 {
    left: calc(-13 * var(--vw-base));
    top: calc(654 * var(--vw-base));
    width: calc(669 * var(--vw-base));
  }
}

/* ==========================================================================
  page05 位於和平西路（手繪地圖滿版）
========================================================================== */
#page05 {
  position: relative;
  height: calc(1720 * var(--vw-base));
  overflow: hidden;
  background-color: var(--color-fixed-white);
}
@media (min-width: 992px) {
  #page05 {
    height: calc(1400 * var(--vw-base));
  }
}
#page05 .page05-stage {
  position: absolute;
  inset: 0;
}
#page05 .page05-map {
  --aerial-h: calc(1720 * var(--vw-base));
  --aerial-min-h: calc(1720 * var(--vw-base));
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
@media (min-width: 992px) {
  #page05 .page05-map {
    --aerial-h: calc(1400 * var(--vw-base));
    --aerial-min-h: calc(1400 * var(--vw-base));
  }
}
#page05 .page05-map .aerial-map-inner picture {
  display: block;
  height: 100%;
}
@media (min-width: 992px) {
  #page05 .page05-map .aerial-map-inner {
    width: 100%;
  }
  #page05 .page05-map .aerial-map-inner img {
    width: 100%;
    object-fit: cover;
  }
}
#page05 .page05-map .aerial-hint {
  bottom: calc(60 * var(--vw-base));
  color: var(--color-text-primary);
  text-shadow: none;
}
#page05 .page05-txt,
#page05 .page05-note {
  position: absolute;
  pointer-events: none;
}
#page05 .page05-txt {
  left: calc(57 * var(--vw-base));
  top: calc(42 * var(--vw-base));
}
@media (min-width: 992px) {
  #page05 .page05-txt {
    left: calc(98 * var(--vw-base));
    top: calc(60 * var(--vw-base));
  }
}
#page05 .txt-heading__title {
  margin-top: calc(42 * var(--vw-base));
}
@media (min-width: 992px) {
  #page05 .txt-heading__title {
    margin-top: calc(45 * var(--vw-base));
  }
}
#page05 .page05-note {
  left: calc(57 * var(--vw-base));
  top: calc(348 * var(--vw-base));
  width: calc(500 * var(--vw-base));
}
@media (min-width: 992px) {
  #page05 .page05-note {
    left: calc(1036 * var(--vw-base));
    top: calc(115 * var(--vw-base));
    width: calc(750 * var(--vw-base));
  }
}
#page05 .txt-heading__subtitle {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(24 * var(--vw-base));
  --text-font-weight: 500;
  --text-line-height: 2.08;
  --text-letter-spacing: calc(5.4 * var(--vw-base));
}
@media (min-width: 992px) {
  #page05 .txt-heading__subtitle {
    --text-font-size: calc(28 * var(--vw-base));
    --text-line-height: 1.786;
    --text-letter-spacing: calc(5.6 * var(--vw-base));
  }
}
#page05 .txt-content {
  margin-top: calc(22 * var(--vw-base));
}
@media (min-width: 992px) {
  #page05 .txt-content {
    margin-top: calc(24 * var(--vw-base));
  }
}

/* ==========================================================================
  page06 捷運萬大線（白底）
========================================================================== */
#page06 {
  position: relative;
  height: calc(1214 * var(--vw-base));
  overflow: hidden;
  background-color: var(--color-fixed-white);
}
@media (min-width: 992px) {
  #page06 {
    height: calc(1080 * var(--vw-base));
  }
}
#page06 .page06-stage {
  position: absolute;
  inset: 0;
}
#page06 .page06-deco-1 {
  position: absolute;
  left: 0;
  top: calc(60 * var(--vw-base));
  width: calc(363 * var(--vw-base));
  height: auto;
  pointer-events: none;
}
@media (min-width: 992px) {
  #page06 .page06-deco-1 {
    left: calc(-10 * var(--vw-base));
    top: calc(126 * var(--vw-base));
    width: calc(663 * var(--vw-base));
  }
}
#page06 .page06-txt {
  position: absolute;
  left: calc(57 * var(--vw-base));
  top: calc(269 * var(--vw-base));
  width: calc(512 * var(--vw-base));
}
@media (min-width: 992px) {
  #page06 .page06-txt {
    left: calc(797 * var(--vw-base));
    top: calc(123 * var(--vw-base));
    width: calc(1100 * var(--vw-base));
  }
}
#page06 .txt-heading__title {
  margin-top: calc(64 * var(--vw-base));
}
@media (min-width: 992px) {
  #page06 .txt-heading__title {
    margin-top: calc(55 * var(--vw-base));
  }
}
#page06 .txt-content {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(18 * var(--vw-base));
  --text-font-weight: 600;
  --text-line-height: 2.22;
  --text-letter-spacing: calc(3.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page06 .txt-content {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 2.62;
    --text-letter-spacing: calc(3.9 * var(--vw-base));
  }
}
#page06 .txt-content {
  margin-top: calc(24 * var(--vw-base));
}
@media (min-width: 992px) {
  #page06 .txt-content {
    margin-top: calc(18 * var(--vw-base));
  }
}
#page06 .page06-gallery {
  --layout-grid-gap-x: calc(10 * var(--vw-base));
  --layout-grid-gap-y: calc(7 * var(--vw-base));
  position: absolute;
  left: 0;
  top: calc(771 * var(--vw-base));
  width: 100%;
}
@media (min-width: 992px) {
  #page06 .page06-gallery {
    --layout-grid-gap-x: calc(15 * var(--vw-base));
    top: calc(563 * var(--vw-base));
  }
}
#page06 .page06-gallery .img-wrap {
  --ratio: 300 / 188;
}
@media (min-width: 992px) {
  #page06 .page06-gallery .img-wrap {
    --ratio: 630 / 393;
  }
}
#page06 .page06-gallery .page06-img-3 {
  --ratio: 610 / 188;
}
@media (min-width: 992px) {
  #page06 .page06-gallery .page06-img-3 {
    --ratio: 630 / 393;
  }
}
#page06 .page06-gallery .img-wrap {
  overflow: hidden;
}
#page06 .page06-img-1 .img-cover {
  object-position: 50% 100%;
}
@media (min-width: 992px) {
  #page06 .page06-img-1 .img-cover {
    object-position: 50% 0;
    transform: scale(1.06);
  }
}
#page06 .page06-img-2 .img-cover {
  object-position: 100% 0;
}
@media (min-width: 992px) {
  #page06 .page06-img-2 .img-cover {
    object-position: 50% 50%;
    transform: scale(1.12);
  }
}
#page06 .page06-img-3 .img-cover {
  object-position: 50% 100%;
}

/* ==========================================================================
  page07 讀一座城（白底）
========================================================================== */
#page07 {
  position: relative;
  height: calc(1288 * var(--vw-base));
  overflow: hidden;
  background-color: var(--color-fixed-white);
}
@media (min-width: 992px) {
  #page07 {
    height: calc(1078 * var(--vw-base));
  }
}
#page07 .page07-stage {
  position: absolute;
  inset: 0;
}
#page07 .page07-txt {
  position: absolute;
  left: calc(57 * var(--vw-base));
  top: calc(37 * var(--vw-base));
  width: calc(505 * var(--vw-base));
}
@media (min-width: 992px) {
  #page07 .page07-txt {
    left: calc(90 * var(--vw-base));
    top: calc(89 * var(--vw-base));
    width: calc(1300 * var(--vw-base));
  }
}
#page07 .txt-heading__eyebrow {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(18 * var(--vw-base));
  --text-font-weight: 400;
  --text-line-height: 1.15;
  --text-letter-spacing: calc(2.1 * var(--vw-base));
}
@media (min-width: 992px) {
  #page07 .txt-heading__eyebrow {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(2.23 * var(--vw-base));
  }
}
#page07 .txt-heading__title {
  white-space: nowrap;
  margin-top: calc(55 * var(--vw-base));
}
@media (min-width: 992px) {
  #page07 .txt-heading__title {
    margin-top: calc(54 * var(--vw-base));
  }
}
#page07 .txt-heading__subtitle {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(24 * var(--vw-base));
  --text-font-weight: 500;
  --text-line-height: 1.667;
  --text-letter-spacing: calc(4.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page07 .txt-heading__subtitle {
    --text-font-size: calc(28 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(5.5 * var(--vw-base));
  }
}
#page07 .txt-heading__subtitle {
  max-width: calc(430 * var(--vw-base));
  margin-top: calc(33 * var(--vw-base));
}
@media (min-width: 992px) {
  #page07 .txt-heading__subtitle {
    max-width: none;
    margin-top: calc(66 * var(--vw-base));
  }
}
#page07 .txt-content {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(18 * var(--vw-base));
  --text-font-weight: 600;
  --text-line-height: 2.22;
  --text-letter-spacing: calc(3.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page07 .txt-content {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 2.62;
    --text-letter-spacing: calc(4.15 * var(--vw-base));
  }
}
#page07 .txt-content {
  margin-top: calc(37 * var(--vw-base));
}
@media (min-width: 992px) {
  #page07 .txt-content {
    margin-top: calc(16 * var(--vw-base));
  }
}
#page07 .page07-deco-1 {
  position: absolute;
  left: calc(446 * var(--vw-base));
  top: calc(640 * var(--vw-base));
  width: calc(164 * var(--vw-base));
  height: auto;
  pointer-events: none;
}
@media (min-width: 992px) {
  #page07 .page07-deco-1 {
    left: calc(1408 * var(--vw-base));
    top: calc(149 * var(--vw-base));
    width: calc(513 * var(--vw-base));
  }
}
#page07 .page07-gallery {
  --layout-grid-gap-x: calc(10 * var(--vw-base));
  --layout-grid-gap-y: calc(8 * var(--vw-base));
  position: absolute;
  left: 0;
  top: calc(801 * var(--vw-base));
  width: 100%;
}
@media (min-width: 992px) {
  #page07 .page07-gallery {
    --layout-grid-gap-x: calc(8 * var(--vw-base));
    top: calc(673 * var(--vw-base));
  }
}
#page07 .page07-gallery .img-wrap {
  --ratio: 300 / 188;
}
@media (min-width: 992px) {
  #page07 .page07-gallery .img-wrap {
    --ratio: 474 / 295;
  }
}

/* ==========================================================================
  page08 大矩聯合建築師事務所（灰底＋全幅輪播）
========================================================================== */
#page08 {
  position: relative;
  height: calc(2094 * var(--vw-base));
  overflow: hidden;
  background-color: var(--color-background-secondary);
}
@media (min-width: 992px) {
  #page08 {
    height: calc(1580 * var(--vw-base));
  }
}
#page08 .page08-txt {
  padding-top: calc(71 * var(--vw-base));
  text-align: center;
}
@media (min-width: 992px) {
  #page08 .page08-txt {
    padding-top: calc(91 * var(--vw-base));
  }
}
#page08 .txt-heading__eyebrow {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(18 * var(--vw-base));
  --text-font-weight: 400;
  --text-line-height: 1.15;
  --text-letter-spacing: calc(1.9 * var(--vw-base));
}
@media (min-width: 992px) {
  #page08 .txt-heading__eyebrow {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(2.23 * var(--vw-base));
  }
}
#page08 .txt-heading__title {
  margin-top: calc(15 * var(--vw-base));
}
@media (min-width: 992px) {
  #page08 .txt-heading__title {
    margin-top: calc(23 * var(--vw-base));
  }
}
#page08 .page08-slider {
  --swiper-pagination-color: var(--color-text-primary);
  --swiper-pagination-bullet-inactive-color: transparent;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-width: calc(13 * var(--vw-base));
  --swiper-pagination-bullet-height: calc(13 * var(--vw-base));
  --swiper-pagination-bullet-horizontal-gap: calc(8 * var(--vw-base));
  height: calc(555 * var(--vw-base));
  margin-top: calc(64 * var(--vw-base));
  overflow: visible;
  background-color: #ddd;
}
@media (min-width: 992px) {
  #page08 .page08-slider {
    height: calc(692 * var(--vw-base));
    margin-top: calc(100 * var(--vw-base));
  }
}
#page08 .page08-slider .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}
#page08 .page08-slider .swiper-pagination {
  bottom: calc(-69 * var(--vw-base));
}
@media (min-width: 992px) {
  #page08 .page08-slider .swiper-pagination {
    bottom: calc(-31 * var(--vw-base));
  }
}
#page08 .page08-slider .swiper-pagination-bullet {
  border: 1px solid var(--color-text-primary);
}
#page08 .page08-slider .img-wrap {
  --ratio: 3 / 2;
  width: calc(610 * var(--vw-base));
}
@media (min-width: 992px) {
  #page08 .page08-slider .img-wrap {
    width: calc(1038 * var(--vw-base));
  }
}
#page08 .page08-slider .img-caption {
  text-align: center;
}
#page08 .page08-intro {
  margin-top: calc(126 * var(--vw-base));
  text-align: center;
}
@media (min-width: 992px) {
  #page08 .page08-intro {
    margin-top: calc(100 * var(--vw-base));
  }
}
#page08 .page08-intro .txt-heading__subtitle {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(21 * var(--vw-base));
  --text-font-weight: 700;
  --text-line-height: 1.9;
  --text-letter-spacing: calc(4.2 * var(--vw-base));
}
@media (min-width: 992px) {
  #page08 .page08-intro .txt-heading__subtitle {
    --text-font-size: calc(28 * var(--vw-base));
    --text-line-height: 1.786;
    --text-letter-spacing: calc(5.6 * var(--vw-base));
  }
}
#page08 .page08-features {
  --layout-grid-gap-y: calc(60.5 * var(--vw-base));
  margin-top: calc(73 * var(--vw-base));
  padding-inline: calc(94 * var(--vw-base));
}
@media (min-width: 992px) {
  #page08 .page08-features {
    --layout-grid-gap-x: 0;
    margin-top: calc(52 * var(--vw-base));
    padding-inline: calc(113 * var(--vw-base)) calc(123 * var(--vw-base));
  }
}
#page08 .page08-feature {
  padding: calc(6 * var(--vw-base)) calc(45 * var(--vw-base)) 0 calc(60 * var(--vw-base));
  border-inline: 1px solid var(--color-text-primary);
  height: calc(190 * var(--vw-base));
}
@media (min-width: 992px) {
  #page08 .page08-feature {
    height: calc(191 * var(--vw-base));
    padding: calc(22 * var(--vw-base)) calc(54 * var(--vw-base)) 0 calc(52 * var(--vw-base));
    border-inline-width: 1px 0;
  }
}
@media (min-width: 992px) {
  #page08 .page08-feature:last-child {
    border-inline-width: 1px 1px;
  }
}
#page08 .page08-feature .txt-heading__title {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(21 * var(--vw-base));
  --text-font-weight: 600;
  --text-line-height: 1.9;
  --text-letter-spacing: calc(4.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page08 .page08-feature .txt-heading__title {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 1.9;
    --text-letter-spacing: calc(4.5 * var(--vw-base));
  }
}
#page08 .page08-feature .txt-heading__title {
  margin-top: 0;
  color: var(--color-brand-primary);
}
#page08 .page08-feature .txt-content {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(18 * var(--vw-base));
  --text-font-weight: 600;
  --text-line-height: 2.22;
  --text-letter-spacing: calc(1.1 * var(--vw-base));
}
@media (min-width: 992px) {
  #page08 .page08-feature .txt-content {
    --text-font-size: calc(18 * var(--vw-base));
    --text-line-height: 2.22;
    --text-letter-spacing: calc(0.1 * var(--vw-base));
  }
}
#page08 .page08-feature .txt-content {
  margin-top: calc(8 * var(--vw-base));
}
@media (min-width: 992px) {
  #page08 .page08-feature .txt-content {
    margin-top: calc(2 * var(--vw-base));
  }
}

/* ==========================================================================
  page09 真正的稀有（全幅照片背景）
========================================================================== */
#page09 {
  position: relative;
  height: calc(1082 * var(--vw-base));
  overflow: hidden;
  background: #0b2a5e url("../images/img/page09-bg-m.webp") center/cover no-repeat;
}
@media (min-width: 992px) {
  #page09 {
    height: calc(1083 * var(--vw-base));
    background-image: url("../images/img/page09-bg.webp");
  }
}
#page09 .page09-txt {
  padding-top: calc(79 * var(--vw-base));
  text-align: center;
}
@media (min-width: 992px) {
  #page09 .page09-txt {
    padding-top: calc(104 * var(--vw-base));
  }
}
#page09 .txt-heading__eyebrow,
#page09 .txt-heading__title {
  color: var(--color-fixed-white);
}
#page09 .txt-heading__eyebrow {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(14 * var(--vw-base));
  --text-font-weight: 400;
  --text-line-height: 1.15;
  --text-letter-spacing: calc(3.4 * var(--vw-base));
}
@media (min-width: 992px) {
  #page09 .txt-heading__eyebrow {
    --text-font-size: calc(16 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(4.2 * var(--vw-base));
  }
}
#page09 .txt-heading__title {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(30 * var(--vw-base));
  --text-font-weight: 500;
  --text-line-height: 1.667;
  --text-letter-spacing: calc(4 * var(--vw-base));
}
@media (min-width: 992px) {
  #page09 .txt-heading__title {
    --text-font-size: calc(50 * var(--vw-base));
    --text-line-height: 1.6;
    --text-letter-spacing: calc(9.8 * var(--vw-base));
  }
}
#page09 .txt-heading__title {
  margin-top: calc(47 * var(--vw-base));
}
@media (min-width: 992px) {
  #page09 .txt-heading__title {
    margin-top: calc(60 * var(--vw-base));
  }
}

/* ==========================================================================
  page10 流金歲月（白底＋輪播）
========================================================================== */
#page10 {
  position: relative;
  height: calc(1746 * var(--vw-base));
  overflow: hidden;
  background-color: var(--color-fixed-white);
}
@media (min-width: 992px) {
  #page10 {
    height: calc(1077 * var(--vw-base));
  }
}
#page10 .page10-stage {
  position: absolute;
  inset: 0;
}
#page10 .page10-txt {
  position: absolute;
  left: calc(48 * var(--vw-base));
  top: calc(71 * var(--vw-base));
  width: calc(512 * var(--vw-base));
}
@media (min-width: 992px) {
  #page10 .page10-txt {
    left: calc(112 * var(--vw-base));
    top: calc(109 * var(--vw-base));
    width: calc(870 * var(--vw-base));
  }
}
#page10 .txt-heading__title {
  margin-top: calc(46 * var(--vw-base));
}
@media (min-width: 992px) {
  #page10 .txt-heading__title {
    margin-top: calc(54 * var(--vw-base));
  }
}
#page10 .txt-heading__subtitle {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(24 * var(--vw-base));
  --text-font-weight: 500;
  --text-line-height: 1.667;
  --text-letter-spacing: calc(5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page10 .txt-heading__subtitle {
    --text-font-size: calc(28 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(5.7 * var(--vw-base));
  }
}
#page10 .txt-heading__subtitle {
  max-width: calc(410 * var(--vw-base));
  margin-top: calc(40 * var(--vw-base));
}
@media (min-width: 992px) {
  #page10 .txt-heading__subtitle {
    max-width: none;
    margin-top: calc(60 * var(--vw-base));
  }
}
#page10 .txt-content {
  margin-top: calc(47 * var(--vw-base));
}
@media (min-width: 992px) {
  #page10 .txt-content {
    margin-top: calc(16 * var(--vw-base));
  }
}
#page10 .txt-content p + p {
  margin-top: calc(40 * var(--vw-base));
}
@media (min-width: 992px) {
  #page10 .txt-content p + p {
    margin-top: calc(55 * var(--vw-base));
  }
}
#page10 .page10-deco-1 {
  position: absolute;
  left: 0;
  top: calc(886 * var(--vw-base));
  width: calc(334 * var(--vw-base));
  height: auto;
  pointer-events: none;
}
@media (min-width: 992px) {
  #page10 .page10-deco-1 {
    top: calc(924 * var(--vw-base));
    width: calc(337 * var(--vw-base));
  }
}
#page10 .page10-slider {
  --swiper-pagination-color: var(--color-text-primary);
  --swiper-pagination-bullet-inactive-color: transparent;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-width: calc(13 * var(--vw-base));
  --swiper-pagination-bullet-height: calc(13 * var(--vw-base));
  --swiper-pagination-bullet-horizontal-gap: calc(8 * var(--vw-base));
  position: absolute;
  left: calc(52 * var(--vw-base));
  top: calc(1098 * var(--vw-base));
  width: calc(500 * var(--vw-base));
  height: calc(535 * var(--vw-base));
  overflow: visible;
}
@media (min-width: 992px) {
  #page10 .page10-slider {
    left: calc(993 * var(--vw-base));
    top: calc(83 * var(--vw-base));
    width: calc(846 * var(--vw-base));
    height: calc(904 * var(--vw-base));
  }
}
#page10 .page10-slider .swiper-pagination {
  bottom: calc(-57 * var(--vw-base));
}
@media (min-width: 992px) {
  #page10 .page10-slider .swiper-pagination {
    bottom: calc(-38 * var(--vw-base));
  }
}
#page10 .page10-slider .swiper-pagination-bullet {
  border: 1px solid var(--color-text-primary);
}
#page10 .page10-slider .img-wrap {
  --ratio: 500 / 535;
  height: 100%;
}
@media (min-width: 992px) {
  #page10 .page10-slider .img-wrap {
    --ratio: 846 / 904;
  }
}
#page10 .page10-slider .img-wrap .img-cover {
  height: 100%;
}
#page10 .page10-img-1 .img-cover {
  object-position: 48% 50%;
}
#page10 .page10-img-2 .img-cover {
  object-position: 32% 58%;
}
#page10 .page10-img-3 .img-cover {
  object-position: 49% 60%;
}
#page10 .page10-img-4 .img-cover {
  object-position: 50% 55%;
}
#page10 .page10-img-5 .img-cover {
  object-position: 100% 50%;
}

/* ==========================================================================
  page11 預約表單與接待資訊（灰底）
========================================================================== */
#page11 {
  position: relative;
  height: calc(1792 * var(--vw-base));
  background-color: var(--color-background-secondary);
}
@media (min-width: 992px) {
  #page11 {
    height: calc(1429 * var(--vw-base));
  }
}
#page11 .page11-txt {
  padding-top: calc(84 * var(--vw-base));
  text-align: center;
}
@media (min-width: 992px) {
  #page11 .page11-txt {
    padding-top: calc(90 * var(--vw-base));
  }
}
#page11 .txt-heading__title {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(45 * var(--vw-base));
  --text-font-weight: 400;
  --text-line-height: 1.15;
  --text-letter-spacing: calc(4.9 * var(--vw-base));
}
@media (min-width: 992px) {
  #page11 .txt-heading__title {
    --text-font-size: calc(60 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(7 * var(--vw-base));
  }
}
#page11 .txt-heading__title {
  color: var(--color-brand-primary);
  text-transform: none;
}
#page11 .txt-heading__subtitle {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(27 * var(--vw-base));
  --text-font-weight: 700;
  --text-line-height: 1.85;
  --text-letter-spacing: calc(2.8 * var(--vw-base));
}
@media (min-width: 992px) {
  #page11 .txt-heading__subtitle {
    --text-font-size: calc(35 * var(--vw-base));
    --text-line-height: 1.43;
    --text-letter-spacing: calc(3.6 * var(--vw-base));
  }
}
#page11 .txt-heading__subtitle {
  margin-top: calc(50 * var(--vw-base));
  color: var(--color-brand-secondary);
}
@media (min-width: 992px) {
  #page11 .txt-heading__subtitle {
    margin-top: calc(43 * var(--vw-base));
  }
}
#page11 .contact-form {
  --form-grid-gap-x: calc(14 * var(--vw-base));
  --form-grid-gap-y: calc(14.5 * var(--vw-base));
  --form-control-height: calc(46 * var(--vw-base));
  --form-control-radius: calc(6 * var(--vw-base));
  --form-control-border-color: #343434;
  --form-control-border-width: 1px;
  --form-control-color: var(--color-text-primary);
  --form-control-placeholder-color: #333;
  --form-control-font-size: calc(17 * var(--vw-base));
  --form-control-padding-x: calc(14 * var(--vw-base));
  --form-recaptcha-scale: 0.8;
  --form-submit-height: calc(58 * var(--vw-base));
  --form-submit-radius: calc(6 * var(--vw-base));
  --form-submit-background: var(--color-brand-primary);
  --form-label-font-size: calc(17 * var(--vw-base));
  margin: calc(54 * var(--vw-base)) calc(52 * var(--vw-base)) 0 calc(47 * var(--vw-base));
}
@media (min-width: 992px) {
  #page11 .contact-form {
    margin: calc(73 * var(--vw-base)) 0 0 calc(394 * var(--vw-base));
    width: calc(1166 * var(--vw-base));
  }
}
#page11 .contact-form .contact-form__group {
  margin-bottom: calc(-2 * var(--vw-base));
}
@media (min-width: 992px) {
  #page11 .contact-form .contact-form__group {
    margin-bottom: calc(-16 * var(--vw-base));
  }
}
#page11 .contact-form .form-check-label {
  font-size: calc(17 * var(--vw-base));
}
#page11 .contact-form .form-check-input {
  accent-color: var(--color-text-primary);
}
#page11 .contact-form textarea.form-control {
  margin-top: calc(4 * var(--vw-base));
  height: calc(141 * var(--vw-base));
}
@media (min-width: 992px) {
  #page11 .contact-form textarea.form-control {
    height: calc(142 * var(--vw-base));
  }
}
#page11 .contact-form .contact-form__verify {
  margin-top: calc(16 * var(--vw-base));
  row-gap: calc(36 * var(--vw-base));
}
@media (min-width: 992px) {
  #page11 .contact-form .contact-form__verify {
    margin-top: calc(26 * var(--vw-base));
    row-gap: calc(14 * var(--vw-base));
  }
}
#page11 .contact-form .contact-form__consent {
  font-size: calc(17 * var(--vw-base));
  line-height: 1.41;
}
#page11 .contact-form .contact-form__consent-list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: consent;
}
#page11 .contact-form .contact-form__consent-list li {
  counter-increment: consent;
}
#page11 .contact-form .contact-form__consent-list li::before {
  content: "(" counter(consent, cjk-ideographic) ")";
}
#page11 .contact-form .contact-form__agree {
  margin-top: calc(39 * var(--vw-base));
}
@media (min-width: 992px) {
  #page11 .contact-form .contact-form__agree {
    margin-top: calc(14 * var(--vw-base));
  }
}
#page11 .contact-form .contact-form__policy-trigger {
  text-decoration: none;
  color: var(--color-brand-primary);
}
#page11 .contact-form .contact-form__submit {
  margin-top: calc(47 * var(--vw-base));
}
@media (min-width: 992px) {
  #page11 .contact-form .contact-form__submit {
    margin-top: calc(31 * var(--vw-base));
  }
}
#page11 .contact-form .contact-form__submit {
  font-size: calc(17 * var(--vw-base));
  font-family: inherit;
}
#page11 .page11-info {
  --layout-split-columns: minmax(0, 1fr);
  --layout-split-columns-desktop: calc(458 * var(--vw-base)) calc(460 * var(--vw-base));
  --layout-gap-x: calc(241 * var(--vw-base));
  --layout-gap-y: calc(52 * var(--vw-base));
  align-items: start;
  margin: calc(87 * var(--vw-base)) calc(52 * var(--vw-base)) calc(0 * var(--vw-base)) calc(47 * var(--vw-base));
}
@media (min-width: 992px) {
  #page11 .page11-info {
    margin: calc(88 * var(--vw-base)) 0 0 calc(394 * var(--vw-base));
  }
}
#page11 .page11-map {
  height: calc(255 * var(--vw-base));
}
@media (min-width: 992px) {
  #page11 .page11-map {
    order: 2;
    height: calc(231 * var(--vw-base));
  }
}
#page11 .page11-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
@media (min-width: 992px) {
  #page11 .page11-info-txt {
    order: 1;
    padding-top: calc(13 * var(--vw-base));
  }
}
#page11 .page11-info-txt .txt-heading__title {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(15 * var(--vw-base));
  --text-font-weight: 400;
  --text-line-height: 1.15;
  --text-letter-spacing: calc(3 * var(--vw-base));
}
@media (min-width: 992px) {
  #page11 .page11-info-txt .txt-heading__title {
    --text-font-size: calc(16 * var(--vw-base));
    --text-line-height: 1.15;
    --text-letter-spacing: calc(3 * var(--vw-base));
  }
}
#page11 .page11-info-txt .txt-heading__title {
  color: var(--color-text-primary);
}
#page11 .page11-info-list {
  --text-font-family: var(--font-zh-serif);
  --text-font-size: calc(21 * var(--vw-base));
  --text-font-weight: 500;
  --text-line-height: 2.3;
  --text-letter-spacing: calc(0.5 * var(--vw-base));
}
@media (min-width: 992px) {
  #page11 .page11-info-list {
    --text-font-size: calc(21 * var(--vw-base));
    --text-line-height: 2.3;
    --text-letter-spacing: calc(0.5 * var(--vw-base));
  }
}
#page11 .page11-info-list {
  margin: calc(44 * var(--vw-base)) 0 0;
  color: var(--color-text-primary);
}
@media (min-width: 992px) {
  #page11 .page11-info-list {
    margin-top: calc(45 * var(--vw-base));
  }
}
#page11 .page11-info-list dt,
#page11 .page11-info-list dd {
  margin: 0;
}
#page11 .page11-info-list a {
  color: inherit;
}
#page11 .page11-info-list__row {
  display: grid;
  grid-template-columns: calc(140 * var(--vw-base)) minmax(0, 1fr);
  height: calc(48 * var(--vw-base));
  align-items: center;
  border-bottom: 1px solid var(--color-border-primary);
}

/*# sourceMappingURL=style.css.map */
