.elementor-kit-6{--e-global-color-primary:#E8472C;--e-global-color-secondary:#1A1815;--e-global-color-text:#F2EDE3;--e-global-color-accent:#C53E26;--e-global-color-1c80314:#0E0D0C;--e-global-color-f8d5254:#050504;--e-global-color-b29da62:#B5AEA4;--e-global-color-516e6e3:#908A80;--e-global-color-5470279:#2D2A26;--e-global-color-58ce5cb:#1C1A18;--e-global-typography-primary-font-family:"Fraunces";--e-global-typography-primary-font-weight:300;--e-global-typography-secondary-font-family:"Noto Serif TC";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Noto Serif TC";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:400;background-color:#0E0D0C;color:#F2EDE3;font-family:"Noto Sans TC", Sans-serif;font-size:15px;font-weight:400;line-height:1.6px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ====== 凝視設計 全站樣式 Token ====== */

/* 朱赤斜體強調 — 在標題裡包 <span class="em">vision.</span> */
.em {
  font-style: italic;
  color: var(--e-global-color-primary);
  font-variation-settings: "opsz" 144, "SOFT" 80;
}

/* Fraunces 大標的 SOFT 軸 — 讓字看起來更有編輯感 */
.elementor h1,
.elementor h1.elementor-heading-title,
.elementor h2.elementor-heading-title {
  font-variation-settings: "opsz" 144, "SOFT" 30;
}

/* 中英文混排:Fraunces 沒中文,自動 fallback 到 Noto Serif TC */
.elementor h1,
.elementor h2,
.elementor h3,
.elementor .elementor-heading-title {
  font-family: 'Fraunces', 'Noto Serif TC', 'PingFang TC', serif !important;
}

/* 平滑捲動到錨點(內頁跳轉用) */
html { scroll-behavior: smooth; }

/* Eyebrow 標籤(小斜體大寫字,我們會大量用到)*/
.eyebrow {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 12px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--e-global-color-secondary);
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.eyebrow::before {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--e-global-color-primary);
}

/* 朱赤左邊框引文(設計哲學那種引用樣式) */
.pull-quote {
  font-family: 'Fraunces', 'Noto Serif TC', serif;
  font-style: italic;
  color: var(--e-global-color-primary);
  border-left: 2px solid var(--e-global-color-primary);
  padding-left: 24px;
}
.ning-scroll-line {
  display: inline-block !important;
  width: 2px !important;
  height: 40px !important;
  background: #E8472C !important;
  margin-left: 16px !important;
  vertical-align: middle !important;
  animation: ningScrollPulse 2s ease-in-out infinite;
  transform-origin: top center;
}

@keyframes ningScrollPulse {
  0%, 100% { transform: scaleY(0.4); opacity: 0.35; }
  50%      { transform: scaleY(1);   opacity: 1; }
}


/* === Hero 底部 meta row + 閃爍指示 === */

/* 讓 HTML widget 佔滿寬度 + 推到底部 */
.hero-meta-widget {
  margin-top: auto !important;
  width: 100% !important;
  align-self: stretch !important;
}

.ning-hero-meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100%;
  padding-top: 80px;
  font-family: 'Fraunces', serif;
  font-style: italic;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.3em;
  color: #908A80;
}

.ning-hero-meta-right {
  display: inline-flex !important;
  align-items: center !important;
}

.ning-scroll-line {
  display: inline-block !important;
  width: 2px !important;
  height: 40px !important;
  background: #E8472C !important;
  margin-left: 16px !important;
  vertical-align: middle !important;
  animation: ningScrollPulse 2s ease-in-out infinite;
  transform-origin: top center;
}

@keyframes ningScrollPulse {
  0%, 100% { transform: scaleY(0.4); opacity: 0.35; }
  50%      { transform: scaleY(1);   opacity: 1; }
}

/* 手機版 */
@media (max-width: 768px) {
  .ning-hero-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding-top: 40px;
    font-size: 10px;
    letter-spacing: 0.25em;
  }
  .ning-scroll-line { height: 30px; }
}


/* ═══ 萬用版 hover 互動(不靠自訂 class)═══ */

/* 所有圖片 hover 放大 + 加深 */
.elementor-widget-image {
  overflow: hidden !important;
}

.elementor-widget-image img,
.elementor-widget-image .elementor-image,
.elementor-widget-image a {
  display: block;
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
              filter 0.5s ease !important;
}

.elementor-widget-image:hover img {
  transform: scale(1.06);
  filter: brightness(0.82);
}

/* 所有按鈕 hover 上抬 + 紅光暈 */
a.elementor-button {
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

a.elementor-button:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(232, 71, 44, 0.3);
}

/* 所有非首頁/作品圖以外的 hover 用「父容器:hover」+ 內部標題變色 */
/* 這個比較通用 — 任何 e-con 容器 hover 時,內部 H3 變朱赤 */
.elementor-section:hover > .elementor-container > .elementor-column .elementor-heading-title,
.e-con-inner > .e-con:hover .elementor-heading-title,
.e-con > .e-con:hover h3,
.e-con > .e-con:hover .elementor-heading-title {
  transition: color 0.4s ease;
}

.e-con-inner > .e-con:hover h3,
.e-con-inner > .e-con:hover .elementor-heading-title {
  color: #E8472C !important;
}

/* Footer 連結 hover 變朱赤 */
.elementor-icon-list-item:hover a,
.elementor-icon-list-item:hover .elementor-icon-list-text {
  color: #E8472C !important;
}

/* ═══════════════════════════════════════════ */
/* === 通用「列」hover:左到右刷入 + 箭頭右移 === */
/* ═══════════════════════════════════════════ */

/* 所有 row 樣式元素統一處理 */
.service-row,
.process-step,
.svc-detail-row,
.about-char-row {
  background-image: linear-gradient(to right,
    rgba(232, 71, 44, 0.08) 50%,
    transparent 50%) !important;
  background-size: 200% 100% !important;
  background-position: 100% 0 !important;
  background-repeat: no-repeat !important;
  transition: background-position 0.7s cubic-bezier(0.22, 1, 0.36, 1),
              padding 0.5s cubic-bezier(0.22, 1, 0.36, 1) !important;
  cursor: default;
}

.service-row:hover,
.process-step:hover,
.svc-detail-row:hover,
.about-char-row:hover {
  background-position: 0% 0 !important;
  padding-left: 24px !important;
}


/* === 有「→ 箭頭」的列(服務列、製程):箭頭右移 + 變朱赤 === */

.service-row > .e-con-inner > .e-con:last-child .elementor-heading-title,
.service-row > .e-con:last-child .elementor-heading-title,
.process-step > .e-con-inner > .e-con:last-child .elementor-heading-title,
.process-step > .e-con:last-child .elementor-heading-title {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
              color 0.4s ease !important;
  display: inline-block !important;
}

.service-row:hover > .e-con-inner > .e-con:last-child .elementor-heading-title,
.service-row:hover > .e-con:last-child .elementor-heading-title,
.process-step:hover > .e-con-inner > .e-con:last-child .elementor-heading-title,
.process-step:hover > .e-con:last-child .elementor-heading-title {
  transform: translateX(12px) !important;
  color: #E8472C !important;
}/* End custom CSS */