@layer theme-custom {
div.content.nav-logo nav.navbar .navbar-brand img,
nav.navbar .navbar-brand img {
  width: 320px !important;
  max-width: 42vw !important;
  height: auto !important;
  max-height: none !important;
}

div.content.nav-logo nav.navbar .navbar-brand,
nav.navbar .navbar-brand {
  display: inline-flex !important;
  align-items: center !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

@media (min-width: 1024px) {
  #pjax-container .carousel img,
  #pjax-container .carousel-item img,
  #pjax-container .banner img,
  #pjax-container .index-banner img {
    max-height: 720px !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  section.index-editor > section {
    padding-top: 76px !important;
    padding-bottom: 82px !important;
  }

  section.index-editor > section > div {
    max-width: 1060px !important;
  }

  section.index-editor > section > div > div:first-child {
    margin-bottom: 46px !important;
  }

  section.index-editor [style*="display:grid"],
  section.index-editor [style*="display: grid"] {
    gap: 20px !important;
  }

  section.index-editor .a02-card,
  section.index-editor .a07-story,
  section.index-editor .a07-view {
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  section.index-editor span[style*="padding:14px 12px"],
  section.index-editor span[style*="padding: 14px 12px"] {
    padding-top: 11px !important;
    padding-bottom: 11px !important;
  }

  section.index-editor:last-of-type > section {
    padding-top: 78px !important;
    padding-bottom: 82px !important;
  }
}

@media (max-width: 768px) {
  div.content.nav-logo nav.navbar .navbar-brand img,
  nav.navbar .navbar-brand img {
    width: 230px !important;
    max-width: 68vw !important;
  }

  div.content.nav-logo nav.navbar .navbar-brand,
  nav.navbar .navbar-brand {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
}

/* About Alice｜隱藏登入管理者看到的「編輯頁面」前台按鈕 */
body.blank-page #pjax-container a[href*="/admin/customize/page_list/edit/"],
body.blank-page #pjax-container a[href*="page_list/edit"],
body.blank-page #pjax-container .btn-edit,
body.blank-page #pjax-container .edit-page,
body.blank-page #pjax-container .page-edit {
  display: none !important;
}

/* About Alice｜視覺互動優化 */
body.blank-page #pjax-container .ab2-new,
body.blank-page #pjax-container .ab3,
body.blank-page #pjax-container .ab4,
body.blank-page #pjax-container .ab6,
body.blank-page #pjax-container .ab8 {
  position: relative;
}

body.blank-page #pjax-container .ab2-k,
body.blank-page #pjax-container .ab3-k,
body.blank-page #pjax-container .ab4-k,
body.blank-page #pjax-container .ab6-k,
body.blank-page #pjax-container .ab8-k {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

body.blank-page #pjax-container .ab2-k::before,
body.blank-page #pjax-container .ab3-k::before,
body.blank-page #pjax-container .ab4-k::before,
body.blank-page #pjax-container .ab6-k::before,
body.blank-page #pjax-container .ab8-k::before {
  content: "";
  width: 28px;
  height: 1px;
  background: currentColor;
  opacity: .75;
  transform-origin: left center;
  transition: width .35s ease, opacity .35s ease;
}

body.blank-page #pjax-container .ab2-new:hover .ab2-k::before,
body.blank-page #pjax-container .ab3:hover .ab3-k::before,
body.blank-page #pjax-container .ab4:hover .ab4-k::before,
body.blank-page #pjax-container .ab6:hover .ab6-k::before,
body.blank-page #pjax-container .ab8:hover .ab8-k::before {
  width: 42px;
  opacity: 1;
}

body.blank-page #pjax-container .ab3-card,
body.blank-page #pjax-container .ab4-card,
body.blank-page #pjax-container .ab6-card {
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease, background-color .32s ease;
  will-change: transform;
}

@media (hover:hover) and (pointer:fine) {
  body.blank-page #pjax-container .ab3-card:hover,
  body.blank-page #pjax-container .ab4-card:hover,
  body.blank-page #pjax-container .ab6-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 34px rgba(73, 57, 42, .10);
    border-color: rgba(164,123,60,.42);
    background-color: #FFFDF9;
  }
}

body.blank-page #pjax-container .ab2-highlight,
body.blank-page #pjax-container .ab3-quote,
body.blank-page #pjax-container .ab4-cert,
body.blank-page #pjax-container .ab6-role {
  transition: transform .35s ease, box-shadow .35s ease;
}

@media (hover:hover) and (pointer:fine) {
  body.blank-page #pjax-container .ab2-highlight:hover,
  body.blank-page #pjax-container .ab3-quote:hover,
  body.blank-page #pjax-container .ab4-cert:hover,
  body.blank-page #pjax-container .ab6-role:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(63, 48, 36, .10);
  }
}

body.blank-page #pjax-container .ab8-cta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform .28s ease, box-shadow .28s ease, background-color .28s ease, color .28s ease;
}

@media (hover:hover) and (pointer:fine) {
  body.blank-page #pjax-container .ab8-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0,0,0,.18);
  }
}

@supports (animation-timeline: view()) {
  body.blank-page #pjax-container .ab2-new,
  body.blank-page #pjax-container .ab3,
  body.blank-page #pjax-container .ab4,
  body.blank-page #pjax-container .ab6,
  body.blank-page #pjax-container .ab8 {
    animation: aliceAboutReveal linear both;
    animation-timeline: view();
    animation-range: entry 8% cover 28%;
  }

  @keyframes aliceAboutReveal {
    from { opacity: .25; transform: translateY(28px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (prefers-reduced-motion: reduce) {
  body.blank-page #pjax-container .ab2-new,
  body.blank-page #pjax-container .ab3,
  body.blank-page #pjax-container .ab4,
  body.blank-page #pjax-container .ab6,
  body.blank-page #pjax-container .ab8,
  body.blank-page #pjax-container .ab3-card,
  body.blank-page #pjax-container .ab4-card,
  body.blank-page #pjax-container .ab6-card,
  body.blank-page #pjax-container .ab8-cta {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* About Alice｜桌機版整頁節奏壓縮 15–20%，手機維持原樣 */
@media (min-width: 1024px) {
  body.blank-page:has(.ab2-new) #pjax-container section.index-editor > section {
    padding-top: 60px !important;
    padding-bottom: 62px !important;
  }

  body.blank-page:has(.ab2-new) #pjax-container section.index-editor > section > div {
    max-width: 940px !important;
  }

  body.blank-page:has(.ab2-new) #pjax-container .ab2-new,
  body.blank-page:has(.ab2-new) #pjax-container .ab3,
  body.blank-page:has(.ab2-new) #pjax-container .ab4,
  body.blank-page:has(.ab2-new) #pjax-container .ab6,
  body.blank-page:has(.ab2-new) #pjax-container .ab8 {
    max-width: 940px !important;
  }

  body.blank-page:has(.ab2-new) #pjax-container .ab2-copy,
  body.blank-page:has(.ab2-new) #pjax-container .ab3-lead,
  body.blank-page:has(.ab2-new) #pjax-container .ab3-copy,
  body.blank-page:has(.ab2-new) #pjax-container .ab4-lead,
  body.blank-page:has(.ab2-new) #pjax-container .ab6-copy,
  body.blank-page:has(.ab2-new) #pjax-container .ab8-copy {
    max-width: 720px !important;
  }

  body.blank-page:has(.ab2-new) #pjax-container .ab2-new h2,
  body.blank-page:has(.ab2-new) #pjax-container .ab3 h2,
  body.blank-page:has(.ab2-new) #pjax-container .ab4 h2,
  body.blank-page:has(.ab2-new) #pjax-container .ab6 h2,
  body.blank-page:has(.ab2-new) #pjax-container .ab8 h2 {
    margin-bottom: 20px !important;
  }

  body.blank-page:has(.ab2-new) #pjax-container .ab2-copy p,
  body.blank-page:has(.ab2-new) #pjax-container .ab3-lead,
  body.blank-page:has(.ab2-new) #pjax-container .ab3-copy,
  body.blank-page:has(.ab2-new) #pjax-container .ab4-lead,
  body.blank-page:has(.ab2-new) #pjax-container .ab6-copy,
  body.blank-page:has(.ab2-new) #pjax-container .ab8-copy {
    line-height: 1.72 !important;
  }

  body.blank-page:has(.ab2-new) #pjax-container section.index-editor [style*="display:grid"],
  body.blank-page:has(.ab2-new) #pjax-container section.index-editor [style*="display: grid"],
  body.blank-page:has(.ab2-new) #pjax-container .ab3-q,
  body.blank-page:has(.ab2-new) #pjax-container .ab4-grid,
  body.blank-page:has(.ab2-new) #pjax-container .ab6-flow {
    gap: 12px !important;
  }

  body.blank-page:has(.ab2-new) #pjax-container .ab3-card,
  body.blank-page:has(.ab2-new) #pjax-container .ab4-card,
  body.blank-page:has(.ab2-new) #pjax-container .ab6-card,
  body.blank-page:has(.ab2-new) #pjax-container .a02-card,
  body.blank-page:has(.ab2-new) #pjax-container .a07-story,
  body.blank-page:has(.ab2-new) #pjax-container .a07-view {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  body.blank-page:has(.ab2-new) #pjax-container .ab2-highlight,
  body.blank-page:has(.ab2-new) #pjax-container .ab3-quote,
  body.blank-page:has(.ab2-new) #pjax-container .ab4-cert,
  body.blank-page:has(.ab2-new) #pjax-container .ab4-bottom,
  body.blank-page:has(.ab2-new) #pjax-container .ab6-role,
  body.blank-page:has(.ab2-new) #pjax-container .ab6-end {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  body.blank-page:has(.ab2-new) #pjax-container .ab3-q,
  body.blank-page:has(.ab2-new) #pjax-container .ab6-flow {
    margin-top: 22px !important;
    margin-bottom: 22px !important;
  }
}

/* About Alice｜01 首屏：移除照片、照片容器與右側頭銜，不改文案 */
body.blank-page:has(.ab2-new) #pjax-container section.index-editor:first-of-type img,
body.blank-page:has(.ab2-new) #pjax-container section.index-editor:first-of-type picture,
body.blank-page:has(.ab2-new) #pjax-container section.index-editor:first-of-type figure,
body.blank-page:has(.ab2-new) #pjax-container section.index-editor:first-of-type [style*="display:grid"] > :nth-child(2),
body.blank-page:has(.ab2-new) #pjax-container section.index-editor:first-of-type [style*="display: grid"] > :nth-child(2),
body.blank-page:has(.ab2-new) #pjax-container section.index-editor:first-of-type .row > :nth-child(2) {
  display: none !important;
}

body.blank-page:has(.ab2-new) #pjax-container section.index-editor:first-of-type [style*="display:grid"],
body.blank-page:has(.ab2-new) #pjax-container section.index-editor:first-of-type [style*="display: grid"] {
  grid-template-columns: 1fr !important;
}

body.blank-page:has(.ab2-new) #pjax-container section.index-editor:first-of-type .row > :first-child {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Services｜桌機與手機視覺 / 動態優化 */
body.blank-page:has(.svc-page) #pjax-container .svc-page {
  --svc-gold:#A47B3C;
  --svc-ink:#302B27;
  --svc-cream:#F7F1E8;
}

body.blank-page:has(.svc-page) #pjax-container .svc-k {
  display:inline-flex !important;
  align-items:center;
  gap:10px;
}
body.blank-page:has(.svc-page) #pjax-container .svc-k::before {
  content:"";
  width:26px;
  height:1px;
  background:currentColor;
  opacity:.72;
  transition:width .35s ease, opacity .35s ease;
}

body.blank-page:has(.svc-page) #pjax-container .svc-hero {
  isolation:isolate;
  background:
    radial-gradient(circle at 82% 28%,rgba(164,123,60,.10),transparent 24%),
    radial-gradient(circle at 14% 82%,rgba(255,255,255,.72),transparent 28%),
    linear-gradient(135deg,#F3EEE6 0%,#FBF9F5 58%,#EDE4D8 100%) !important;
}
body.blank-page:has(.svc-page) #pjax-container .svc-hero::before {
  content:"";
  position:absolute;
  right:12%;
  top:24%;
  width:92px;
  height:92px;
  border:1px solid rgba(164,123,60,.25);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(164,123,60,.045),0 0 0 58px rgba(164,123,60,.025);
  pointer-events:none;
  animation:svcOrbFloat 7s ease-in-out infinite;
}
@keyframes svcOrbFloat {
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-10px,0)}
}
body.blank-page:has(.svc-page) #pjax-container .svc-hero h1 {
  max-width:900px;
}
body.blank-page:has(.svc-page) #pjax-container .svc-tag {
  transition:transform .28s ease,background-color .28s ease,border-color .28s ease,color .28s ease;
}

body.blank-page:has(.svc-page) #pjax-container .svc-questions {
  position:relative;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(72,55,39,.045);
  transition:transform .35s ease,box-shadow .35s ease;
}
body.blank-page:has(.svc-page) #pjax-container .svc-questions::after {
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  border:1px solid rgba(164,123,60,.12);
  border-radius:50%;
  right:-46px;
  bottom:-52px;
}

body.blank-page:has(.svc-page) #pjax-container .svc-card {
  overflow:hidden;
  position:relative;
}
body.blank-page:has(.svc-page) #pjax-container .svc-card::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,transparent,rgba(164,123,60,.85),transparent);
  transform:scaleX(.18);
  opacity:.55;
  transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s ease;
}
body.blank-page:has(.svc-page) #pjax-container .svc-card::after {
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  right:-72px;
  bottom:-72px;
  border:1px solid rgba(164,123,60,.13);
  border-radius:50%;
  transition:transform .45s ease,border-color .35s ease;
  pointer-events:none;
}
body.blank-page:has(.svc-page) #pjax-container .svc-card-cta {
  position:relative;
  z-index:2;
  align-self:flex-start;
  border:1px solid #D6C6B0 !important;
  border-bottom:1px solid #D6C6B0 !important;
  padding:10px 15px !important;
  margin-top:22px !important;
  text-decoration:none !important;
  transition:transform .28s ease,background-color .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease;
}
body.blank-page:has(.svc-page) #pjax-container .svc-card:first-child .svc-card-cta {
  background:#9B7844 !important;
  border-color:#9B7844 !important;
  color:#FFF !important;
  box-shadow:0 8px 18px rgba(103,79,44,.12);
}

body.blank-page:has(.svc-page) #pjax-container .svc-method-grid {
  background:rgba(255,255,255,.55);
}
body.blank-page:has(.svc-page) #pjax-container .svc-method-item {
  overflow:hidden;
}
body.blank-page:has(.svc-page) #pjax-container .svc-method-item::after {
  content:"";
  position:absolute;
  right:18px;
  top:12px;
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid rgba(164,123,60,.11);
  transition:transform .42s ease,border-color .35s ease;
}
body.blank-page:has(.svc-page) #pjax-container .svc-method-note {
  background:linear-gradient(90deg,rgba(164,123,60,.055),transparent 72%);
  padding-top:18px !important;
  padding-bottom:18px !important;
}

body.blank-page:has(.svc-page) #pjax-container .svc-quote {
  position:relative;
  padding-left:34px;
}
body.blank-page:has(.svc-page) #pjax-container .svc-quote::before {
  content:"“";
  position:absolute;
  left:-4px;
  top:-22px;
  font-size:72px;
  line-height:1;
  color:rgba(164,123,60,.24);
  font-family:Georgia,serif;
}

body.blank-page:has(.svc-page) #pjax-container .svc-dark {
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#2E2925 0%,#39312A 62%,#2B2723 100%) !important;
}
body.blank-page:has(.svc-page) #pjax-container .svc-dark::after {
  content:"";
  position:absolute;
  right:-90px;
  top:50%;
  width:260px;
  height:260px;
  transform:translateY(-50%);
  border:1px solid rgba(213,180,124,.15);
  border-radius:50%;
  box-shadow:0 0 0 44px rgba(213,180,124,.035);
  pointer-events:none;
}
body.blank-page:has(.svc-page) #pjax-container .svc-dark .svc-narrow {
  position:relative;
  z-index:2;
}
body.blank-page:has(.svc-page) #pjax-container .svc-cta {
  position:relative;
  overflow:hidden;
  z-index:1;
  transition:transform .28s ease,box-shadow .28s ease,background-color .28s ease,color .28s ease;
}

@media (hover:hover) and (pointer:fine) {
  body.blank-page:has(.svc-page) #pjax-container .svc-page section:hover .svc-k::before {width:40px;opacity:1}
  body.blank-page:has(.svc-page) #pjax-container .svc-tag:hover {transform:translateY(-3px);background:#FFF;border-color:#BFA47D;color:#44372B}
  body.blank-page:has(.svc-page) #pjax-container .svc-questions:hover {transform:translateY(-4px);box-shadow:0 16px 38px rgba(72,55,39,.08)}
  body.blank-page:has(.svc-page) #pjax-container .svc-card:hover::before {transform:scaleX(1);opacity:1}
  body.blank-page:has(.svc-page) #pjax-container .svc-card:hover::after {transform:scale(1.38);border-color:rgba(164,123,60,.3)}
  body.blank-page:has(.svc-page) #pjax-container .svc-card-cta:hover {transform:translateY(-2px);background:#9B7844 !important;border-color:#9B7844 !important;color:#FFF !important;box-shadow:0 9px 20px rgba(103,79,44,.14)}
  body.blank-page:has(.svc-page) #pjax-container .svc-method-item:hover::after {transform:scale(1.55);border-color:rgba(164,123,60,.28)}
  body.blank-page:has(.svc-page) #pjax-container .svc-cta:hover {transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.22)}
}

@media (min-width:1024px) {
  body.blank-page:has(.svc-page) #pjax-container .svc-sec {padding-top:88px !important;padding-bottom:88px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-hero {min-height:68vh !important;padding-top:72px !important;padding-bottom:72px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-grid {gap:20px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-card {padding:36px 28px 30px !important}
}

@media (max-width:800px) {
  body.blank-page:has(.svc-page) #pjax-container .svc-sec {padding:58px 20px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-hero {min-height:auto !important;padding-top:72px !important;padding-bottom:64px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-hero::before {width:66px;height:66px;right:-8px;top:20%;box-shadow:0 0 0 20px rgba(164,123,60,.035);animation:none}
  body.blank-page:has(.svc-page) #pjax-container .svc-hero::after {width:84px !important;height:84px !important;right:-22px !important;top:12% !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-hero h1 {font-size:clamp(31px,9vw,42px) !important;line-height:1.46 !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-lead {font-size:17px !important;line-height:1.85 !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-tags {gap:8px !important;margin-top:26px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-tag {font-size:12px !important;padding:8px 12px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-questions {margin:26px 0 !important;padding:21px 18px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-questions p {font-size:17px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-grid {gap:14px !important;margin-top:34px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-card {padding:28px 22px 24px !important;min-height:0 !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-card-cta {display:flex !important;align-items:center;justify-content:center;width:100%;min-height:46px;margin-top:18px !important;text-align:center;line-height:1.45}
  body.blank-page:has(.svc-page) #pjax-container .svc-method-grid {grid-template-columns:1fr !important;margin-top:34px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-method-item {border-right:0 !important;border-bottom:1px solid #DED3C5 !important;padding:25px 20px 27px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-method-item:last-child {border-bottom:0 !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-method-num {margin-bottom:14px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-method-note {margin-top:26px !important;padding-left:18px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-quote {font-size:clamp(24px,7.2vw,31px) !important;padding-left:24px}
  body.blank-page:has(.svc-page) #pjax-container .svc-quote::before {font-size:54px;top:-15px}
  body.blank-page:has(.svc-page) #pjax-container .svc-dark::after {width:160px;height:160px;right:-85px}
  body.blank-page:has(.svc-page) #pjax-container .svc-cta {display:flex !important;align-items:center;justify-content:center;width:100%;min-height:48px;text-align:center}
}

@media (max-width:420px) {
  body.blank-page:has(.svc-page) #pjax-container .svc-sec {padding-left:17px !important;padding-right:17px !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-tag {flex:1 1 calc(50% - 8px);text-align:center}
  body.blank-page:has(.svc-page) #pjax-container .svc-card h3 {font-size:21px !important}
}

@media (prefers-reduced-motion:reduce) {
  body.blank-page:has(.svc-page) #pjax-container .svc-hero::before {animation:none !important}
  body.blank-page:has(.svc-page) #pjax-container .svc-tag,
  body.blank-page:has(.svc-page) #pjax-container .svc-questions,
  body.blank-page:has(.svc-page) #pjax-container .svc-card,
  body.blank-page:has(.svc-page) #pjax-container .svc-card-cta,
  body.blank-page:has(.svc-page) #pjax-container .svc-method-item,
  body.blank-page:has(.svc-page) #pjax-container .svc-cta {transition:none !important;transform:none !important}
}

}
