.elementor-15836 .elementor-element.elementor-element-ecfbb8d{--display:flex;--min-height:620px;}.elementor-15836 .elementor-element.elementor-element-ecfbb8d:not(.elementor-motion-effects-element-type-background), .elementor-15836 .elementor-element.elementor-element-ecfbb8d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FEFAF7;}.elementor-15836 .elementor-element.elementor-element-0363f3f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-15836 .elementor-element.elementor-element-a6596f6 .elementor-heading-title{font-size:60px;font-weight:500;line-height:1.15px;color:#6B4636;}.elementor-15836 .elementor-element.elementor-element-c6e93dd{--display:flex;}.elementor-15836 .elementor-element.elementor-element-f5519be{--display:flex;}.elementor-15836 .elementor-element.elementor-element-2ac615d img{height:620px;object-fit:cover;object-position:center center;}.elementor-15836 .elementor-element.elementor-element-4f52fc0{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-15836 .elementor-element.elementor-element-4c21588{--icon-box-icon-margin:15px;}.elementor-15836 .elementor-element.elementor-element-a01fd02{--icon-box-icon-margin:15px;}.elementor-15836 .elementor-element.elementor-element-62ab8cb{--icon-box-icon-margin:15px;}.elementor-15836 .elementor-element.elementor-element-5772e76{--display:flex;--min-height:900px;}.elementor-15836 .elementor-element.elementor-element-5049fc0{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-15836 .elementor-element.elementor-element-5049fc0 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-15836 .elementor-element.elementor-element-5049fc0:after{content:"0.66";}.elementor-15836 .elementor-element.elementor-element-5049fc0 .elementor-post__thumbnail__link{width:100%;}.elementor-15836 .elementor-element.elementor-element-5049fc0 .elementor-post__meta-data span + span:before{content:"•";}.elementor-15836 .elementor-element.elementor-element-5049fc0 .elementor-post__text{margin-top:20px;}.elementor-15836 .elementor-element.elementor-element-5049fc0 .elementor-post__badge{right:0;}.elementor-15836 .elementor-element.elementor-element-5049fc0 .elementor-post__card .elementor-post__badge{margin:20px;}.elementor-15836 .elementor-element.elementor-element-98f3d1b{--display:flex;--min-height:900px;}.elementor-15836 .elementor-element.elementor-element-0f99949{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-15836 .elementor-element.elementor-element-0f99949 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-15836 .elementor-element.elementor-element-0f99949:after{content:"0.66";}.elementor-15836 .elementor-element.elementor-element-0f99949 .elementor-post__thumbnail__link{width:100%;}.elementor-15836 .elementor-element.elementor-element-0f99949 .elementor-post__meta-data span + span:before{content:"•";}.elementor-15836 .elementor-element.elementor-element-0f99949 .elementor-post__text{margin-top:20px;}.elementor-15836 .elementor-element.elementor-element-0f99949 .elementor-post__badge{right:0;}.elementor-15836 .elementor-element.elementor-element-0f99949 .elementor-post__card .elementor-post__badge{margin:20px;}.elementor-15836 .elementor-element.elementor-element-576d5c1{--display:flex;--min-height:900px;}.elementor-15836 .elementor-element.elementor-element-61f6e39{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-15836 .elementor-element.elementor-element-61f6e39 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-15836 .elementor-element.elementor-element-61f6e39:after{content:"0.66";}.elementor-15836 .elementor-element.elementor-element-61f6e39 .elementor-post__thumbnail__link{width:100%;}.elementor-15836 .elementor-element.elementor-element-61f6e39 .elementor-post__meta-data span + span:before{content:"•";}.elementor-15836 .elementor-element.elementor-element-61f6e39 .elementor-post__text{margin-top:20px;}.elementor-15836 .elementor-element.elementor-element-61f6e39 .elementor-post__badge{right:0;}.elementor-15836 .elementor-element.elementor-element-61f6e39 .elementor-post__card .elementor-post__badge{margin:20px;}.elementor-15836 .elementor-element.elementor-element-da28363{--display:flex;--min-height:900px;}.elementor-15836 .elementor-element.elementor-element-508674f{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-15836 .elementor-element.elementor-element-508674f .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-15836 .elementor-element.elementor-element-508674f:after{content:"0.66";}.elementor-15836 .elementor-element.elementor-element-508674f .elementor-post__thumbnail__link{width:100%;}.elementor-15836 .elementor-element.elementor-element-508674f .elementor-post__meta-data span + span:before{content:"•";}.elementor-15836 .elementor-element.elementor-element-508674f .elementor-post__text{margin-top:20px;}.elementor-15836 .elementor-element.elementor-element-508674f .elementor-post__badge{right:0;}.elementor-15836 .elementor-element.elementor-element-508674f .elementor-post__card .elementor-post__badge{margin:20px;}.elementor-15836 .elementor-element.elementor-element-655d8c1{--display:flex;--min-height:900px;}.elementor-15836 .elementor-element.elementor-element-887da1f{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-15836 .elementor-element.elementor-element-887da1f .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-15836 .elementor-element.elementor-element-887da1f:after{content:"0.66";}.elementor-15836 .elementor-element.elementor-element-887da1f .elementor-post__thumbnail__link{width:100%;}.elementor-15836 .elementor-element.elementor-element-887da1f .elementor-post__meta-data span + span:before{content:"•";}.elementor-15836 .elementor-element.elementor-element-887da1f .elementor-post__text{margin-top:20px;}.elementor-15836 .elementor-element.elementor-element-887da1f .elementor-post__badge{right:0;}.elementor-15836 .elementor-element.elementor-element-887da1f .elementor-post__card .elementor-post__badge{margin:20px;}.elementor-15836 .elementor-element.elementor-element-0b0b429{--display:flex;--min-height:900px;}.elementor-15836 .elementor-element.elementor-element-91ce249{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-15836 .elementor-element.elementor-element-91ce249 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-15836 .elementor-element.elementor-element-91ce249:after{content:"0.66";}.elementor-15836 .elementor-element.elementor-element-91ce249 .elementor-post__thumbnail__link{width:100%;}.elementor-15836 .elementor-element.elementor-element-91ce249 .elementor-post__meta-data span + span:before{content:"•";}.elementor-15836 .elementor-element.elementor-element-91ce249 .elementor-post__text{margin-top:20px;}.elementor-15836 .elementor-element.elementor-element-91ce249 .elementor-post__badge{right:0;}.elementor-15836 .elementor-element.elementor-element-91ce249 .elementor-post__card .elementor-post__badge{margin:20px;}.elementor-15836 .elementor-element.elementor-element-cf069ba{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-15836 .elementor-element.elementor-element-43dfe49{--icon-box-icon-margin:15px;}.elementor-15836 .elementor-element.elementor-element-87855e2{--icon-box-icon-margin:15px;}.elementor-15836 .elementor-element.elementor-element-295cba8{--icon-box-icon-margin:15px;}.elementor-15836 .elementor-element.elementor-element-a8d4aef{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(max-width:767px){.elementor-15836 .elementor-element.elementor-element-5049fc0 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-15836 .elementor-element.elementor-element-5049fc0:after{content:"0.5";}.elementor-15836 .elementor-element.elementor-element-5049fc0 .elementor-post__thumbnail__link{width:100%;}.elementor-15836 .elementor-element.elementor-element-0f99949 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-15836 .elementor-element.elementor-element-0f99949:after{content:"0.5";}.elementor-15836 .elementor-element.elementor-element-0f99949 .elementor-post__thumbnail__link{width:100%;}.elementor-15836 .elementor-element.elementor-element-61f6e39 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-15836 .elementor-element.elementor-element-61f6e39:after{content:"0.5";}.elementor-15836 .elementor-element.elementor-element-61f6e39 .elementor-post__thumbnail__link{width:100%;}.elementor-15836 .elementor-element.elementor-element-508674f .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-15836 .elementor-element.elementor-element-508674f:after{content:"0.5";}.elementor-15836 .elementor-element.elementor-element-508674f .elementor-post__thumbnail__link{width:100%;}.elementor-15836 .elementor-element.elementor-element-887da1f .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-15836 .elementor-element.elementor-element-887da1f:after{content:"0.5";}.elementor-15836 .elementor-element.elementor-element-887da1f .elementor-post__thumbnail__link{width:100%;}.elementor-15836 .elementor-element.elementor-element-91ce249 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-15836 .elementor-element.elementor-element-91ce249:after{content:"0.5";}.elementor-15836 .elementor-element.elementor-element-91ce249 .elementor-post__thumbnail__link{width:100%;}}@media(min-width:768px){.elementor-15836 .elementor-element.elementor-element-0363f3f{--content-width:50%;}.elementor-15836 .elementor-element.elementor-element-f5519be{--content-width:50%;}}/* Start custom CSS *//* =========================================================
   TIME BEAUTY Page 15836
   Permanent class-based responsive layout
   ========================================================= */

.elementor-15836 {
  --tb-paper: #fefdfb;
  --tb-blush: #fcf7f3;
  --tb-coral: #cf8673;
  --tb-coral-2: #dc9d8c;
  --tb-ink: #65483f;
  --tb-muted: #9c8178;
  --tb-line: #efe3de;

  --tb-serif:
    "Noto Serif TC",
    "Songti TC",
    "PMingLiU",
    "Times New Roman",
    serif;

  --tb-sans:
    "Noto Sans TC",
    "PingFang TC",
    "Microsoft JhengHei",
    Arial,
    sans-serif;

  --tb-rose-flow: 0px;

  color: var(--tb-ink);
  font-family: var(--tb-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;

  counter-reset: tb-case-number;
}

.elementor-15836,
.elementor-15836 * {
  box-sizing: border-box;
}

body.elementor-page-15836,
body.page-id-15836 {
  overflow-x: hidden;
}

body.page-id-15836 #page {
  overflow-x: hidden !important;
  overflow-x: clip !important;
}


/* =========================================================
   隱藏放置 JavaScript 的 HTML 元件
   HTML 元件 CSS Class：tb-carousel-code-holder
   ========================================================= */

.elementor-15836 .tb-carousel-code-holder {
  position: absolute !important;

  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* =========================================================
   共同定位與溢位
   ========================================================= */

.elementor-15836 .elementor-element-ecfbb8d,
.elementor-15836 .elementor-element-4f52fc0,
.elementor-15836 .tb-case-section,
.elementor-15836 .elementor-element-cf069ba,
.elementor-15836 .elementor-element-a8d4aef {
  position: relative;
  overflow: hidden;
}


/* =========================================================
   頁面主 Grid 內的全寬區塊
   ========================================================= */

.elementor-15836 .elementor-element-4f52fc0,
.elementor-15836 .tb-case-section,
.elementor-15836 .elementor-element-cf069ba,
.elementor-15836 .elementor-element-a8d4aef {
  grid-column: 1 / -1 !important;

  width: 100% !important;
  max-width: 100% !important;
}


/* =========================================================
   頁面全寬
   ========================================================= */

body.page-id-15836 #content,
body.page-id-15836 #primary,
body.page-id-15836 .site-main,
body.page-id-15836 .elementor-15836,
.elementor-15836 .elementor-element-ecfbb8d {
  width: 100% !important;
  max-width: none !important;

  margin-left: 0 !important;
  margin-right: 0 !important;
}


/* =========================================================
   HERO
   ========================================================= */

.elementor-15836 .elementor-element-ecfbb8d {
  display: grid !important;

  grid-template-columns:
    minmax(0, 0.96fr)
    minmax(0, 1.04fr);

  grid-auto-flow: row;
  grid-auto-rows: auto;
  align-items: stretch;

  min-height: 680px !important;

  background: var(--tb-paper);
  isolation: isolate;

  align-self: stretch !important;

  overflow-x: hidden !important;
  overflow-x: clip !important;
}

.elementor-15836 .elementor-element-ecfbb8d::before,
.elementor-15836 .elementor-element-ecfbb8d::after {
  content: "";

  position: absolute;

  border-radius: 50%;

  pointer-events: none;
  z-index: 0;
}

.elementor-15836 .elementor-element-ecfbb8d::before {
  width: 360px;
  aspect-ratio: 1;

  left: -138px;
  top: 132px;

  border: 34px solid rgba(207, 134, 115, 0.12);
}

.elementor-15836 .elementor-element-ecfbb8d::after {
  width: 430px;
  aspect-ratio: 1;

  right: -270px;
  top: 360px;
  bottom: auto;

  border: 24px solid rgba(255, 255, 255, 0.32);
}


/* Hero 左側 */

.elementor-15836 .elementor-element-0363f3f {
  grid-column: 1;
  grid-row: 1;

  min-height: 680px !important;

  padding:
    112px
    clamp(42px, 6vw, 104px)
    84px;

  justify-content: center;
  align-items: flex-start;

  --content-width: 100% !important;

  z-index: 1;
}

.elementor-15836
.elementor-element-0363f3f
> .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
}


/* Hero 右側圖片 */

.elementor-15836 .elementor-element-f5519be {
  grid-column: 2;
  grid-row: 1;

  min-height: 680px !important;

  padding: 0;
  overflow: hidden;

  --content-width: 100% !important;

  z-index: 1;
}

.elementor-15836
.elementor-element-f5519be
> .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
}

.elementor-15836
.elementor-element-f5519be
.elementor-widget-image,
.elementor-15836
.elementor-element-f5519be
.elementor-widget-image
> .elementor-widget-container,
.elementor-15836
.elementor-element-f5519be
.elementor-widget-image
.elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  height: 100%;

  flex: 1 1 100% !important;
  align-self: stretch !important;
}

.elementor-15836 .elementor-element-f5519be img {
  display: block;

  width: 100% !important;
  height: 680px !important;

  object-fit: cover !important;
  object-position: center 28% !important;
}


/* Hero 文字 */

.elementor-15836
.elementor-element-7881585
.elementor-heading-title {
  font-family: var(--tb-sans);

  font-size: clamp(13px, 0.9vw, 14px) !important;
  font-weight: 500;
  line-height: 1.45 !important;
  letter-spacing: 0.24em !important;

  color: var(--tb-coral);
}

.elementor-15836
.elementor-element-a6596f6
.elementor-heading-title {
  margin: 0.12em 0 0.08em;

  font-family: var(--tb-serif);

  font-size: clamp(52px, 4vw, 62px) !important;
  font-weight: 500;
  line-height: 1.14 !important;
  letter-spacing: 0.075em !important;

  white-space: nowrap;

  color: #60443b;
}

.elementor-15836 .elementor-element-969686e,
.elementor-15836 .elementor-element-5681329,
.elementor-15836 .elementor-element-c6e93dd {
  width: 100% !important;
  max-width: 560px !important;
}

.elementor-15836
.elementor-element-969686e
.elementor-heading-title {
  font-family: var(--tb-serif);

  font-size: clamp(21px, 1.55vw, 24px) !important;
  font-weight: 400;
  line-height: 1.5 !important;
  letter-spacing: 0.055em !important;

  color: #c97e6c;
}

.elementor-15836 .elementor-element-5681329 {
  max-width: 560px !important;

  color: var(--tb-muted);

  font-family: var(--tb-sans);
  font-size: clamp(16px, 1.12vw, 17px) !important;
  font-weight: 400;
  line-height: 1.82 !important;
  letter-spacing: 0.025em !important;
}


/* Hero 按鈕排列 */

.elementor-15836 .elementor-element-c6e93dd {
  display: flex !important;

  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;

  gap: 14px;
  margin-top: 20px;
}

.elementor-15836
.elementor-element-ed92280
.elementor-button,
.elementor-15836
.elementor-element-4bcd6af
.elementor-button {
  min-width: 144px;
  padding: 14px 25px;

  border-radius: 3px;
}

.elementor-15836
.elementor-element-ed92280
.elementor-button {
  border-color: var(--tb-coral);
  background: var(--tb-coral);
  color: #fff;

  box-shadow:
    0 10px 22px
    rgba(150, 92, 77, 0.15);
}

.elementor-15836
.elementor-element-4bcd6af
.elementor-button {
  border-color: rgba(207, 134, 115, 0.52);
  background: #fff;
  color: var(--tb-coral);

  box-shadow: none;
}


/* =========================================================
   TRUST
   ========================================================= */

.elementor-15836 .elementor-element-4f52fc0 {
  display: grid !important;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 0;

  padding:
    24px
    clamp(28px, 6vw, 92px);

  background-color: var(--tb-paper);

  border-top: 1px solid #f3ebe7;
  border-bottom: 1px solid #f3ebe7;
}

.elementor-15836
.elementor-element-4f52fc0
> [data-widget_type="icon-box.default"] {
  padding: 10px 30px;

  border-right:
    1px solid
    var(--tb-line);
}

.elementor-15836
.elementor-element-4f52fc0
> [data-widget_type="icon-box.default"]:last-child {
  border-right: 0;
}

.elementor-15836
.elementor-element-4f52fc0
.elementor-icon {
  font-size: 22px;
  color: var(--tb-coral);
}

.elementor-15836
.elementor-element-4f52fc0
.elementor-icon i,
.elementor-15836
.elementor-element-cf069ba
.elementor-icon i {
  font-family:
    "Font Awesome 5 Free" !important;

  font-weight: 900 !important;
}

.elementor-15836
.elementor-element-4c21588
.elementor-icon i::before {
  content: "\f3ed" !important;
}

.elementor-15836
.elementor-element-a01fd02
.elementor-icon i::before {
  content: "\f004" !important;
}

.elementor-15836
.elementor-element-62ab8cb
.elementor-icon i::before {
  content: "\f5c8" !important;
}

.elementor-15836
.elementor-element-4f52fc0
.elementor-icon-box-title {
  margin: 5px 0;

  font-family: var(--tb-sans);

  font-size: 17px !important;
  font-weight: 500;
  line-height: 1.5 !important;
  letter-spacing: 0.06em;

  color: var(--tb-ink);
}

.elementor-15836
.elementor-element-4f52fc0
.elementor-icon-box-description {
  font-family: var(--tb-sans);

  font-size: 14.5px !important;
  font-weight: 400;
  line-height: 1.72 !important;
  letter-spacing: 0.02em;

  color: var(--tb-muted);
}


/* =========================================================
   CASE SECTIONS
   可複製案例區塊全部使用固定 Class
   ========================================================= */

.elementor-15836 .tb-case-section {
  --width: 100% !important;
  --max-width: 100% !important;
  --flex-grow: 0 !important;
  --flex-shrink: 0 !important;

  position: relative;

  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;

  flex: 0 0 100% !important;
  flex-basis: 100% !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;

  align-self: stretch !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  min-height: auto !important;

  padding:
    96px
    clamp(24px, 5vw, 76px);

  background-color: var(--tb-paper);

  overflow: hidden;
}

.elementor-15836
.tb-case-section.tb-case-blush {
  background-color: var(--tb-blush);
}


/* 自動編號，主案例區塊不編號 */

.elementor-15836
.tb-case-section:not(.tb-case-main) {
  counter-increment: tb-case-number;
}

.elementor-15836
.tb-case-section:not(.tb-case-main)::before {
  content:
    counter(
      tb-case-number,
      decimal-leading-zero
    );

  position: absolute;

  top: 55px;
  left: clamp(24px, 5vw, 76px);

  display: grid;
  place-items: center;

  width: 38px;
  height: 38px;

  border:
    1px solid
    rgba(207, 134, 115, 0.32);

  border-radius: 50%;

  color: var(--tb-coral);

  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.1em;

  pointer-events: none;
  z-index: 2;
}


/* =========================================================
   案例標題
   ========================================================= */

.elementor-15836 .tb-case-heading {
  --width: 100% !important;

  display: flex !important;
  justify-content: center !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.elementor-15836
.tb-case-heading
.elementor-widget-container {
  display: flex;
  justify-content: center;

  width: 100% !important;
  max-width: 100% !important;
}

.elementor-15836
.tb-case-heading
.elementor-heading-title {
  width: max-content;
  min-width: 310px;

  margin: 0 auto 48px;
  padding: 17px 48px;

  text-align: center;

  font-family: var(--tb-serif);

  font-size:
    clamp(28px, 2.05vw, 32px) !important;

  font-weight: 500;
  line-height: 1.35 !important;
  letter-spacing: 0.09em !important;

  color: #fff;

  background:
    linear-gradient(
      135deg,
      var(--tb-coral),
      var(--tb-coral-2)
    );

  border-radius: 4px;

  box-shadow:
    0 13px 28px
    rgba(150, 92, 77, 0.16);
}


/* 48 個真實案例主標題 */

.elementor-15836
.tb-case-heading.tb-case-heading-main
.elementor-heading-title {
  width: auto;
  max-width: 980px;
  min-width: 0;

  margin: 0 auto 46px;
  padding: 0;

  font-size:
    clamp(38px, 2.7vw, 42px) !important;

  line-height: 1.35 !important;
  letter-spacing: 0.055em !important;

  color: var(--tb-ink);

  background: none;
  box-shadow: none;
}


/* =========================================================
   CASE CAROUSELS 基本結構
   ========================================================= */

.elementor-15836 .tb-case-carousel {
  --width: 100% !important;
  --container-widget-width: 100% !important;
  --container-widget-flex-grow: 0 !important;

  flex: 0 0 100% !important;
  align-self: stretch !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.elementor-15836
.tb-case-carousel
> .elementor-widget-container {
  position: relative;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  overflow: visible !important;
}

.elementor-15836
.tb-case-carousel
.elementor-posts-container {
  display: flex !important;

  grid-template-columns: none !important;
  grid-auto-columns: unset !important;
  grid-auto-flow: unset !important;

  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;

  overflow-x: auto !important;
  overflow-y: hidden !important;

  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;

  overscroll-behavior-x: contain;

  scrollbar-width: none;
  -ms-overflow-style: none;

  cursor: grab;
}

.elementor-15836
.tb-case-carousel
.elementor-posts-container:active {
  cursor: grabbing;
}

.elementor-15836
.tb-case-carousel
.elementor-posts-container::-webkit-scrollbar {
  display: none !important;

  width: 0 !important;
  height: 0 !important;
}


/* =========================================================
   案例卡片基本樣式
   ========================================================= */

.elementor-15836
.tb-case-carousel
.elementor-post {
  display: block !important;

  flex-grow: 0 !important;
  flex-shrink: 0 !important;

  width: auto;
  min-width: 0;

  height: 390px !important;
  min-height: 390px !important;

  margin: 0 !important;

  scroll-snap-align: start;

  transform: none !important;
  translate: none !important;
}

.elementor-15836
.tb-case-carousel
.elementor-post__card {
  display: grid !important;

  grid-template-rows:
    minmax(0, 4fr)
    minmax(0, 1fr) !important;

  grid-template-columns:
    minmax(0, 1fr) !important;

  width: 100% !important;
  height: 100% !important;

  gap: 0 !important;

  overflow: hidden;

  border:
    1px solid
    rgba(207, 134, 115, 0.14) !important;

  border-radius: 8px !important;

  background: #fff;

  box-shadow:
    0 15px 36px
    rgba(96, 67, 58, 0.1) !important;

  transform: none !important;
  translate: none !important;
}


/* 卡片圖片 */

.elementor-15836
.tb-case-carousel
.elementor-post__thumbnail__link {
  position: relative;

  display: block !important;

  grid-row: 1 !important;
  grid-column: 1 !important;

  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;

  margin: 0 !important;

  overflow: hidden !important;

  background:
    linear-gradient(
      135deg,
      var(--tb-blush),
      #f1d9d1 55%,
      var(--tb-coral-2)
    );

  aspect-ratio: auto !important;
}

.elementor-15836
.tb-case-carousel
.elementor-post__thumbnail,
.elementor-15836
.tb-case-carousel
.elementor-post__thumbnail img {
  position: absolute !important;

  inset: 0 !important;

  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;

  width: 100% !important;
  height: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
}

.elementor-15836
.tb-case-carousel
.elementor-post__thumbnail {
  overflow: hidden;
}

.elementor-15836
.tb-case-carousel
.elementor-post__thumbnail img {
  display: block !important;

  object-fit: cover !important;
  object-position: center center !important;

  transform: none !important;
  transform-origin: center center !important;
}


/* 卡片文字 */

.elementor-15836
.tb-case-carousel
.elementor-post__text {
  display: flex;

  grid-row: 2 !important;
  grid-column: 1 !important;

  flex-direction: column;
  justify-content: center !important;

  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 12px 18px !important;

  overflow: hidden !important;
}

.elementor-15836
.tb-case-carousel
.elementor-post__badge {
  display: none !important;

  width: 0 !important;
  height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}

.elementor-15836
.tb-case-carousel
.elementor-post__title {
  display: -webkit-box;

  min-height: 0 !important;
  max-height: 2.84em !important;

  margin: 0 !important;

  overflow: hidden;

  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2 !important;

  font-family: var(--tb-sans);

  font-size:
    clamp(17px, 1.2vw, 19px) !important;

  font-weight: 500 !important;
  line-height: 1.42 !important;
  letter-spacing: 0.015em !important;

  color: var(--tb-ink);
}

.elementor-15836
.tb-case-carousel
.elementor-post__title a {
  color: var(--tb-ink) !important;
}

.elementor-15836
.tb-case-carousel
.elementor-pagination {
  display: none !important;
}


/* =========================================================
   DESKTOP：1025px 以上
   ========================================================= */

@media (min-width: 1025px) {

  .elementor-15836
  .tb-case-carousel
  .elementor-posts-container {
    column-gap: 24px !important;
    row-gap: 0 !important;

    padding: 18px 2px 30px !important;
  }


  /* 主輪播：完整顯示三張 */

  .elementor-15836
  .tb-case-carousel:not(.tb-peek)
  .elementor-posts-container
  > article.elementor-post {
    flex:
      0 0
      calc((100% - 48px) / 3) !important;

    width:
      calc((100% - 48px) / 3) !important;

    min-width:
      calc((100% - 48px) / 3) !important;

    max-width:
      calc((100% - 48px) / 3) !important;
  }


  /* 分類輪播：桌機 Peek 效果 */

  .elementor-15836
  .tb-case-carousel.tb-peek
  .elementor-posts-container
  > article.elementor-post {
    flex:
      0 0
      calc((100% - 96px) / 3.45) !important;

    width:
      calc((100% - 96px) / 3.45) !important;

    min-width:
      calc((100% - 96px) / 3.45) !important;

    max-width:
      calc((100% - 96px) / 3.45) !important;
  }

  .elementor-15836
  .tb-case-carousel.tb-peek
  .elementor-posts-container {
    scroll-padding-left: 8% !important;
    scroll-padding-right: 8% !important;
  }
}


/* 桌機圖片 Hover */

@media (min-width: 768px) and (hover: hover) {

  .elementor-15836
  .tb-case-carousel
  .elementor-post__thumbnail img {
    transition:
      transform
      0.38s
      cubic-bezier(0.22, 0.61, 0.36, 1) !important;
  }

  .elementor-15836
  .tb-case-carousel
  .elementor-post:hover
  .elementor-post__thumbnail img,
  .elementor-15836
  .tb-case-carousel
  .elementor-post:focus-within
  .elementor-post__thumbnail img {
    transform: scale(1.05) !important;
  }
}


/* =========================================================
   輪播控制列
   ========================================================= */

.elementor-15836 .tb-carousel-nav {
  display: grid;

  grid-template-columns:
    1fr
    minmax(210px, 390px)
    1fr;

  align-items: center;

  width: 100%;

  min-height: 50px;

  margin: 16px auto 0;

  pointer-events: none;
}

.elementor-15836 .tb-carousel-meter {
  grid-column: 2;

  display: flex;
  align-items: center;

  gap: 14px;

  pointer-events: auto;
}

.elementor-15836 .tb-carousel-fraction {
  min-width: 86px;

  text-align: center;

  color: var(--tb-muted);

  font-size: 13px;
  letter-spacing: 0.1em;
}

.elementor-15836
.tb-carousel-fraction strong {
  color: var(--tb-coral);
  font-weight: 600;
}

.elementor-15836
.tb-carousel-progress {
  flex: 1;

  height: 2px;

  overflow: hidden;

  background:
    rgba(207, 134, 115, 0.2);
}

.elementor-15836
.tb-carousel-progress
> span {
  display: block;

  width: 100%;
  height: 100%;

  background: var(--tb-coral);

  transform: scaleX(0);
  transform-origin: left center;

  transition: none !important;
}

.elementor-15836
.tb-carousel-button {
  position: absolute;

  top: 42%;
  z-index: 5;

  display: grid;
  place-items: center;

  width: 46px;
  height: 46px;

  padding: 0;

  border:
    1px solid
    rgba(207, 134, 115, 0.32);

  border-radius: 50%;

  background:
    rgba(255, 255, 255, 0.95);

  color: var(--tb-coral);

  box-shadow:
    0 9px 24px
    rgba(96, 67, 58, 0.12);

  font:
    400
    30px / 1
    Georgia,
    serif;

  cursor: pointer;
  pointer-events: auto;

  transition:
    transform 0.2s ease,
    opacity 0.2s ease,
    background 0.2s ease;
}

.elementor-15836
.tb-carousel-button:hover,
.elementor-15836
.tb-carousel-button:focus-visible {
  background: #fff;

  transform: scale(1.06);

  outline:
    2px solid
    rgba(207, 134, 115, 0.35);

  outline-offset: 3px;
}

.elementor-15836
.tb-carousel-button[disabled] {
  opacity: 0.32;
  cursor: not-allowed;
  transform: none;
}

.elementor-15836 .tb-carousel-prev {
  left: 6px;
}

.elementor-15836 .tb-carousel-next {
  right: 6px;
}


/* =========================================================
   CONSULTATION PROCESS
   ========================================================= */

.elementor-15836
.elementor-element-cf069ba {
  display: block !important;

  padding:
    100px
    clamp(24px, 7vw, 112px);

  background-color: var(--tb-paper);

  text-align: center;
}

.elementor-15836
.elementor-element-cf069ba
> .e-con-inner {
  display: grid !important;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 40px;

  width: 100%;
  max-width: 1280px;
}

.elementor-15836
.elementor-element-cf069ba
> .e-con-inner
> .elementor-element-89903e6 {
  grid-column: 1 / -1;
}

.elementor-15836
.elementor-element-89903e6
.elementor-heading-title {
  margin-bottom: 32px;

  font-family: var(--tb-serif);

  font-size:
    clamp(38px, 2.7vw, 42px) !important;

  font-weight: 500;
  line-height: 1.35 !important;
  letter-spacing: 0.055em !important;

  color: var(--tb-ink);
}

.elementor-15836 .elementor-element-43dfe49,
.elementor-15836 .elementor-element-87855e2,
.elementor-15836 .elementor-element-295cba8 {
  position: relative;
  padding-top: 38px;
}

.elementor-15836
.elementor-element-43dfe49::before,
.elementor-15836
.elementor-element-87855e2::before,
.elementor-15836
.elementor-element-295cba8::before {
  position: absolute;

  top: 0;
  left: 50%;

  transform: translateX(-50%);

  color: var(--tb-coral);

  font-size: 12px;
  letter-spacing: 0.12em;
}

.elementor-15836
.elementor-element-43dfe49::before {
  content: "01";
}

.elementor-15836
.elementor-element-87855e2::before {
  content: "02";
}

.elementor-15836
.elementor-element-295cba8::before {
  content: "03";
}

.elementor-15836
.elementor-element-43dfe49::after,
.elementor-15836
.elementor-element-87855e2::after {
  content: "";

  position: absolute;

  top: 93px;
  left: calc(50% + 48px);

  width: calc(100% - 56px);
  height: 1px;

  background:
    linear-gradient(
      90deg,
      rgba(207, 134, 115, 0.12),
      rgba(207, 134, 115, 0.38),
      rgba(207, 134, 115, 0.12)
    );
}

.elementor-15836
.elementor-element-43dfe49
.elementor-icon i::before {
  content: "\f086" !important;
}

.elementor-15836
.elementor-element-87855e2
.elementor-icon i::before {
  content: "\f46d" !important;
}

.elementor-15836
.elementor-element-295cba8
.elementor-icon i::before {
  content: "\f004" !important;
}

.elementor-15836
.elementor-element-cf069ba
.elementor-icon {
  display: inline-grid;
  place-items: center;

  width: 78px;
  height: 78px;

  padding: 0 !important;

  border:
    1px solid
    rgba(207, 134, 115, 0.32);

  border-radius: 50%;

  background: #fff;

  color: var(--tb-coral);

  font-size: 29px;
}

.elementor-15836
.elementor-element-cf069ba
.elementor-icon-box-title {
  margin-top: 20px;

  font-family: var(--tb-sans);

  font-size: 18px !important;
  font-weight: 500;
  line-height: 1.5 !important;
  letter-spacing: 0.08em;

  color: var(--tb-ink);
}

.elementor-15836
.elementor-element-cf069ba
.elementor-icon-box-description {
  font-family: var(--tb-sans);

  font-size: 15px !important;
  font-weight: 400;
  line-height: 1.75 !important;
  letter-spacing: 0.02em;

  color: var(--tb-muted);
}


/* =========================================================
   BOTTOM CTA
   ========================================================= */

.elementor-15836
.elementor-element-a8d4aef {
  align-items: center;

  min-height: 300px;

  padding: 76px 24px;

  text-align: center;
  color: #fff;

  background-color: #cf8673 !important;

  background-image:
    linear-gradient(
      135deg,
      #c97867 0%,
      #dc9481 52%,
      #c86d5d 100%
    ) !important;

  background-repeat: no-repeat !important;

  isolation: isolate;
}

.elementor-15836
.elementor-element.elementor-element-a8d4aef::before {
  content: "" !important;

  position: absolute !important;

  inset: 0 !important;

  width: 100% !important;
  height: 100% !important;

  border: 0 !important;
  border-radius: 0 !important;

  background:
    radial-gradient(
      circle at 3% 112%,
      transparent 0 88px,
      rgba(255, 255, 255, 0.13) 89px 112px,
      transparent 113px
    ),
    linear-gradient(
      135deg,
      #c97867 0%,
      #dc9481 52%,
      #c86d5d 100%
    ) !important;

  box-shadow: none !important;

  pointer-events: none !important;

  z-index: 0 !important;
}

.elementor-15836
.elementor-element-a8d4aef::after {
  content: "";

  position: absolute;

  width: 210px;
  aspect-ratio: 1;

  right: -66px;
  top: -92px;

  border:
    22px solid
    rgba(255, 255, 255, 0.12);

  border-radius: 50%;

  box-shadow:
    0 0 0 18px
    rgba(255, 255, 255, 0.04);

  pointer-events: none;

  z-index: 1 !important;
}

.elementor-15836
.elementor-element.elementor-element-a8d4aef
> .e-con-inner,
.elementor-15836
.elementor-element.elementor-element-a8d4aef
> .elementor-element {
  position: relative;
  z-index: 2 !important;
}

.elementor-15836
.elementor-element-b8c7959
.elementor-heading-title {
  font-family: var(--tb-serif);

  font-size:
    clamp(38px, 2.7vw, 42px) !important;

  font-weight: 500;
  line-height: 1.35 !important;
  letter-spacing: 0.055em !important;

  color: #fff;
}

.elementor-15836
.elementor-element-44b53a6 {
  max-width: 650px !important;

  align-self: center !important;

  margin-left: auto !important;
  margin-right: auto !important;

  text-align: center !important;

  color:
    rgba(255, 255, 255, 0.9);

  font-family: var(--tb-sans);

  font-size:
    clamp(16px, 1.12vw, 17px) !important;

  font-weight: 400;
  line-height: 1.82 !important;
  letter-spacing: 0.025em !important;
}

.elementor-15836
.elementor-element-44b53a6 * {
  text-align: center !important;
}

.elementor-15836
.elementor-element-a81532f
.elementor-button {
  min-width: 190px;
  min-height: 48px;

  padding: 15px 30px;

  border-color: #fff;
  border-radius: 3px;

  background: #fff;
  color: #c87564;

  box-shadow:
    0 10px 26px
    rgba(111, 51, 39, 0.12);
}


/* =========================================================
   按鈕共同樣式
   ========================================================= */

.elementor-15836 .elementor-button {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  min-height: 46px;

  border-style: solid;
  border-width: 1px;
  border-radius: 3px;

  font-family: var(--tb-sans);

  font-size:
    clamp(14px, 1vw, 15px) !important;

  font-weight: 500;
  line-height: 1 !important;
  letter-spacing: 0.075em !important;

  text-shadow: none;
}

.elementor-15836
.elementor-element-ed92280
.elementor-button:hover,
.elementor-15836
.elementor-element-ed92280
.elementor-button:focus-visible {
  border-color: #bf7563;
  background: #bf7563;
  color: #fff;
}

.elementor-15836
.elementor-element-4bcd6af
.elementor-button:hover,
.elementor-15836
.elementor-element-4bcd6af
.elementor-button:focus-visible,
.elementor-15836
.elementor-element-a81532f
.elementor-button:hover,
.elementor-15836
.elementor-element-a81532f
.elementor-button:focus-visible {
  border-color: var(--tb-coral);
  background: #fffaf8;
  color: #bd705f;
}

.elementor-15836
.elementor-button:focus-visible {
  outline:
    2px solid
    rgba(207, 134, 115, 0.4);

  outline-offset: 3px;
}


/* =========================================================
   ROSE FLOW 背景
   ========================================================= */

.elementor-15836 .elementor-element-4f52fc0,
.elementor-15836 .tb-case-section,
.elementor-15836 .elementor-element-cf069ba {
  background-image:
    radial-gradient(
      ellipse 62% 52% at 10% 18%,
      rgba(183, 110, 121, 0.07) 0%,
      rgba(231, 194, 183, 0.035) 42%,
      transparent 74%
    ),
    radial-gradient(
      ellipse 56% 46% at 90% 78%,
      rgba(231, 194, 183, 0.095) 0%,
      rgba(217, 165, 168, 0.04) 40%,
      transparent 76%
    ),
    linear-gradient(
      122deg,
      rgba(244, 222, 214, 0.035),
      rgba(217, 165, 168, 0.045) 48%,
      rgba(244, 222, 214, 0.035)
    ) !important;

  background-repeat: no-repeat !important;

  background-size:
    160% 132%,
    154% 128%,
    100% 100% !important;

  background-position:
    calc(-16% + var(--tb-rose-flow)) 12%,
    calc(118% - var(--tb-rose-flow)) 84%,
    50% 50% !important;
}


/* =========================================================
   TABLET：768px～1024px
   顯示：0.5｜1｜1｜0.5
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {

  /* Hero */

  .elementor-15836
  .elementor-element-ecfbb8d {
    grid-template-columns:
      minmax(0, 0.9fr)
      minmax(0, 1.1fr);
  }

  .elementor-15836
  .elementor-element-0363f3f {
    padding: 84px 42px 64px;
  }


  /* 案例輪播軌道 */

  .elementor-15836
  .tb-case-carousel
  .elementor-posts-container {
    display: flex !important;

    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;

    column-gap: 20px !important;
    row-gap: 0 !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 18px 0 30px !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    scroll-snap-type: x mandatory !important;

    scroll-padding-left: 0 !important;
    scroll-padding-right: 0 !important;
  }


  /*
   * 可視範圍：
   * 半張 + 一張 + 一張 + 半張
   *
   * 總卡片寬度 = 3 張
   * 三個間距 = 60px
   */

  .elementor-15836
  .tb-case-carousel.tb-peek
  .elementor-posts-container
  > article.elementor-post,
  .elementor-15836
  .tb-case-carousel:not(.tb-peek)
  .elementor-posts-container
  > article.elementor-post {
    flex:
      0 0
      calc((100% - 60px) / 3) !important;

    flex-basis:
      calc((100% - 60px) / 3) !important;

    flex-grow: 0 !important;
    flex-shrink: 0 !important;

    width:
      calc((100% - 60px) / 3) !important;

    min-width:
      calc((100% - 60px) / 3) !important;

    max-width:
      calc((100% - 60px) / 3) !important;

    height: 390px !important;
    min-height: 390px !important;

    margin: 0 !important;

    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
  }


  /* 平板控制列 */

  .elementor-15836 .tb-carousel-nav {
    grid-template-columns:
      1fr
      minmax(190px, 340px)
      1fr;

    width: 100% !important;

    margin-top: 14px;
  }

  .elementor-15836
  .tb-carousel-button {
    top: 41%;

    width: 44px;
    height: 44px;

    font-size: 28px;
  }

  .elementor-15836
  .tb-carousel-prev {
    left: 4px;
  }

  .elementor-15836
  .tb-carousel-next {
    right: 4px;
  }
}


/* =========================================================
   MOBILE：767px 以下
   一次完整顯示一張
   ========================================================= */

@media (max-width: 767px) {

  .elementor-15836 {
    --tb-rose-flow: 0px !important;

    font-size: 15px;
  }


  /* Hero */

  .elementor-15836
  .elementor-element-ecfbb8d {
    display: block !important;

    min-height: 0 !important;
  }

  .elementor-15836
  .elementor-element-ecfbb8d::before {
    width: 250px;

    left: -138px;
    top: 72px;

    border-width: 24px;
  }

  .elementor-15836
  .elementor-element-0363f3f {
    min-height: 0 !important;

    padding: 68px 24px 44px;
  }

  .elementor-15836
  .elementor-element-f5519be {
    min-height: 430px !important;
  }

  .elementor-15836
  .elementor-element-f5519be img {
    height: 430px !important;

    object-position:
      center 24% !important;
  }

  .elementor-15836
  .elementor-element-7881585
  .elementor-heading-title {
    font-size:
      clamp(12px, 3.3vw, 13px) !important;

    line-height: 1.45 !important;
    letter-spacing: 0.25em !important;
  }

  .elementor-15836
  .elementor-element-a6596f6
  .elementor-heading-title {
    margin: 0.16em 0 0.1em;

    font-size:
      clamp(42px, 11.5vw, 48px) !important;

    line-height: 1.15 !important;
    letter-spacing: 0.045em !important;
  }

  .elementor-15836
  .elementor-element-969686e
  .elementor-heading-title {
    font-size:
      clamp(18px, 5.1vw, 21px) !important;

    line-height: 1.5 !important;
    letter-spacing: 0.04em !important;
  }

  .elementor-15836
  .elementor-element-5681329,
  .elementor-15836
  .elementor-element-44b53a6 {
    font-size:
      clamp(15px, 4vw, 16px) !important;

    line-height: 1.8 !important;
  }

  .elementor-15836
  .elementor-element-c6e93dd {
    flex-wrap: nowrap !important;
  }

  .elementor-15836
  .elementor-element-ed92280,
  .elementor-15836
  .elementor-element-4bcd6af {
    width:
      calc(50% - 7px) !important;

    flex:
      1 1
      calc(50% - 7px) !important;
  }

  .elementor-15836
  .elementor-element-ed92280
  .elementor-button,
  .elementor-15836
  .elementor-element-4bcd6af
  .elementor-button {
    width: 100%;
    min-width: 0;

    padding: 13px 9px;
  }


  /* Trust */

  .elementor-15836
  .elementor-element-4f52fc0 {
    grid-template-columns: 1fr;

    padding: 22px 20px;
  }

  .elementor-15836
  .elementor-element-4f52fc0
  > [data-widget_type="icon-box.default"] {
    padding: 19px 8px;

    border-right: 0;

    border-bottom:
      1px solid
      var(--tb-line);
  }

  .elementor-15836
  .elementor-element-4f52fc0
  > [data-widget_type="icon-box.default"]:last-child {
    border-bottom: 0;
  }


  /* 案例區塊 */

  .elementor-15836
  .tb-case-section {
    --width: 100% !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 68px 20px;
  }

  .elementor-15836
  .tb-case-section:not(.tb-case-main)::before {
    top: 22px;
    left: 20px;

    width: 34px;
    height: 34px;
  }


  /* 案例標題 */

  .elementor-15836
  .tb-case-heading
  .elementor-heading-title {
    width: 100%;
    min-width: 0;

    margin-bottom: 34px;

    padding: 15px 18px;

    font-size:
      clamp(22px, 6.3vw, 26px) !important;

    line-height: 1.4 !important;
    letter-spacing: 0.075em !important;
  }

  .elementor-15836
  .tb-case-heading.tb-case-heading-main
  .elementor-heading-title {
    margin-bottom: 34px;
    padding: 0;

    font-size:
      clamp(28px, 8vw, 34px) !important;

    line-height: 1.4 !important;
    letter-spacing: 0.045em !important;
  }


  /* 手機輪播軌道 */

  .elementor-15836
  .tb-case-carousel
  .elementor-posts-container {
    display: flex !important;

    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;

    column-gap: 16px !important;
    row-gap: 0 !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    padding:
      12px
      0
      24px !important;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    scroll-snap-type:
      x mandatory !important;

    scroll-padding-left: 0 !important;
    scroll-padding-right: 0 !important;

    touch-action: pan-x pan-y;
  }


  /* 手機每次一張 */

  .elementor-15836
  .tb-case-carousel.tb-peek
  .elementor-posts-container
  > article.elementor-post,
  .elementor-15836
  .tb-case-carousel:not(.tb-peek)
  .elementor-posts-container
  > article.elementor-post {
    flex: 0 0 100% !important;
    flex-basis: 100% !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;

    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;

    height: 380px !important;
    min-height: 380px !important;

    margin: 0 !important;

    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
  }

  .elementor-15836
  .tb-case-carousel
  .elementor-post__card {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-15836
  .tb-case-carousel
  .elementor-post__text {
    width: 100% !important;

    padding:
      10px
      14px !important;
  }

  .elementor-15836
  .tb-case-carousel
  .elementor-post__title {
    font-size:
      clamp(16px, 4.4vw, 18px) !important;

    line-height: 1.4 !important;

    max-height: 2.8em !important;
  }


  /* 手機控制列 */

  .elementor-15836
  .tb-carousel-nav {
    grid-template-columns:
      1fr
      minmax(160px, 270px)
      1fr;

    width: 100% !important;

    margin-top: 12px;
  }

  .elementor-15836
  .tb-carousel-button {
    top: 40%;

    width: 40px;
    height: 40px;

    font-size: 26px;
  }

  .elementor-15836
  .tb-carousel-prev {
    left: 3px;
  }

  .elementor-15836
  .tb-carousel-next {
    right: 3px;
  }

  .elementor-15836
  .tb-carousel-fraction {
    min-width: 74px;

    font-size: 12px;
  }


  /* Consultation */

  .elementor-15836
  .elementor-element-cf069ba {
    padding: 74px 24px;
  }

  .elementor-15836
  .elementor-element-cf069ba
  > .e-con-inner {
    grid-template-columns: 1fr;

    gap: 26px;
  }

  .elementor-15836
  .elementor-element-cf069ba
  > .e-con-inner
  > .elementor-element-89903e6 {
    grid-column: auto;
  }

  .elementor-15836
  .elementor-element-89903e6
  .elementor-heading-title,
  .elementor-15836
  .elementor-element-b8c7959
  .elementor-heading-title {
    font-size:
      clamp(28px, 8vw, 34px) !important;

    line-height: 1.4 !important;
    letter-spacing: 0.045em !important;
  }

  .elementor-15836
  .elementor-element-43dfe49::after,
  .elementor-15836
  .elementor-element-87855e2::after {
    display: none;
  }


  /* CTA */

  .elementor-15836
  .elementor-element-a8d4aef {
    min-height: 270px;

    padding: 62px 24px;
  }

  .elementor-15836
  .elementor-element-a81532f
  .elementor-button {
    min-width: 184px;
    min-height: 46px;

    padding: 14px 26px;
  }

  .elementor-15836
  .elementor-button {
    min-height: 44px;

    font-size:
      clamp(14px, 3.8vw, 14.5px) !important;

    letter-spacing: 0.065em !important;
  }


  /* 手機 Rose Flow 固定背景 */

  .elementor-15836
  .elementor-element-4f52fc0,
  .elementor-15836
  .tb-case-section,
  .elementor-15836
  .elementor-element-cf069ba {
    background-image:
      radial-gradient(
        ellipse 70% 48% at 10% 20%,
        rgba(183, 110, 121, 0.045) 0%,
        rgba(231, 194, 183, 0.025) 44%,
        transparent 76%
      ),
      radial-gradient(
        ellipse 64% 44% at 90% 80%,
        rgba(231, 194, 183, 0.06) 0%,
        rgba(217, 165, 168, 0.028) 42%,
        transparent 78%
      ),
      linear-gradient(
        122deg,
        rgba(244, 222, 214, 0.025),
        rgba(217, 165, 168, 0.03) 48%,
        rgba(244, 222, 214, 0.025)
      ) !important;

    background-size:
      172% 136%,
      166% 132%,
      100% 100% !important;

    background-position:
      -16% 12%,
      118% 84%,
      50% 50% !important;
  }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .elementor-15836 {
    --tb-rose-flow: 0px !important;
  }

  .elementor-15836
  .tb-case-carousel
  .elementor-posts-container {
    scroll-behavior: auto !important;
  }

  .elementor-15836
  .tb-case-carousel
  .elementor-post__thumbnail img,
  .elementor-15836
  .tb-carousel-button,
  .elementor-15836
  .tb-carousel-progress
  > span {
    transition: none !important;
  }

  .elementor-15836
  .elementor-element-4f52fc0,
  .elementor-15836
  .tb-case-section,
  .elementor-15836
  .elementor-element-cf069ba {
    background-position:
      -16% 12%,
      118% 84%,
      50% 50% !important;
  }
}/* End custom CSS */