/*
Theme Name: Kai Chu Base
Theme URI: https://new.kaichu.com.tw/
Author: Kai Chu Computer
Description: 凱鉅電腦企業網站專用佈景主題。
Version: 1.3.6
Requires at least: 6.9
Requires PHP: 7.3
Text Domain: kaichu-base
*/

:root {
  /* 凱鉅 CIS 正式色票（2026-07-17） */
  --kc-blue: #1D4ED8;
  --kc-teal: #14B8A6;
  --kc-green: #22C55E;
  --kc-orange: #F59E0B;
  --kc-blue-soft: #EFF6FF;
  --kc-teal-soft: #F0FDFA;
  --kc-green-soft: #F0FDF4;
  --kc-orange-soft: #FFFBEB;
  --kc-ink: #1F2933;
  --kc-ink-soft: #475569;
  --kc-brand: var(--kc-blue);
  --kc-brand-dark: #1E40AF;
  --kc-accent: var(--kc-orange);
  --kc-paper: #ffffff;
  --kc-soft: #F8FAFC;
  --kc-mist: #F8FAFC;
  --kc-line: #E2E8F0;
  --kc-shadow: 0 18px 50px rgba(31, 41, 51, .09);
  --kc-radius: 18px;
  --kc-shell: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.kc-redesign {
  margin: 0;
  color: var(--kc-ink);
  background: var(--kc-paper);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
body.kc-redesign.admin-bar .kc-header { top: 32px; }
img { max-width: 100%; height: auto; }
a { color: var(--kc-brand-dark); text-underline-offset: .2em; }
button, input, textarea, select { font: inherit; }
h1, h2, h3, h4, h5, h6 { color: var(--kc-ink); line-height: 1.25; letter-spacing: -.025em; }
h1 { font-size: clamp(2.55rem, 6vw, 5rem); }
h2 { font-size: clamp(2rem, 4vw, 3.2rem); }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1.25rem; }

.kc-shell { width: min(calc(100% - 40px), var(--kc-shell)); margin-inline: auto; }
.kc-skip-link { position: absolute; left: 1rem; top: -100px; z-index: 99999; padding: .6rem 1rem; background: var(--kc-paper); }
.kc-skip-link:focus { top: 1rem; }
.kc-eyebrow { display: inline-block; color: var(--kc-brand); font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

.kc-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid rgba(220, 229, 232, .9);
  background: rgba(255, 255, 255, .95);
  backdrop-filter: blur(16px);
}
.kc-header-row { min-height: 78px; display: grid; grid-template-columns: auto 1fr auto; gap: 2rem; align-items: center; }
.kc-brand { display: inline-flex; gap: .72rem; align-items: center; color: var(--kc-ink); text-decoration: none; }
.kc-brand-logo { width: 250px; height: auto; display: block; }
.kc-brand-logo-footer { width: 280px; }
.kc-brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--kc-paper); background: linear-gradient(145deg, var(--kc-blue) 0%, var(--kc-teal) 62%, var(--kc-green) 100%); box-shadow: inset 0 3px 0 rgba(245,158,11,.95); font-weight: 900; font-size: 1.35rem; }
.kc-brand strong, .kc-brand small { display: block; line-height: 1.2; }
.kc-brand strong { font-size: 1.05rem; }
.kc-brand small { margin-top: .2rem; color: var(--kc-ink-soft); font-size: .62rem; letter-spacing: .08em; }
.kc-nav { display: flex; justify-content: flex-end; align-items: center; gap: .25rem; }
.kc-nav a { position: relative; padding: .75rem .72rem; color: var(--kc-ink-soft); font-size: .93rem; font-weight: 700; text-decoration: none; }
.kc-nav a::after { content: ""; position: absolute; left: .72rem; right: .72rem; bottom: .35rem; height: 2px; transform: scaleX(0); background: var(--kc-brand); transition: transform .2s ease; }
.kc-nav a:hover, .kc-nav a.is-active { color: var(--kc-brand-dark); }
.kc-nav a:hover::after, .kc-nav a.is-active::after { transform: scaleX(1); }
.kc-menu-toggle { display: none; align-items: center; gap: .55rem; min-height: 46px; border: 1px solid var(--kc-line); border-radius: 12px; padding: .55rem .82rem; color: var(--kc-ink); background: var(--kc-paper); font-size: .92rem; font-weight: 800; line-height: 1; box-shadow: 0 5px 18px rgba(11,31,51,.05); cursor: pointer; transition: color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.kc-menu-toggle::before { content: ""; width: 19px; height: 14px; background: linear-gradient(var(--kc-brand),var(--kc-brand)) 0 0/100% 2px no-repeat, linear-gradient(var(--kc-brand),var(--kc-brand)) 0 6px/100% 2px no-repeat, linear-gradient(var(--kc-brand),var(--kc-brand)) 0 12px/100% 2px no-repeat; transition: transform .2s ease; }
.kc-menu-toggle:hover { color: var(--kc-brand-dark); border-color: rgba(8,122,117,.4); background: var(--kc-soft); }
.kc-menu-toggle[aria-expanded="true"] { color: var(--kc-paper); border-color: var(--kc-brand); background: var(--kc-brand); box-shadow: 0 10px 24px rgba(8,122,117,.2); }
.kc-menu-toggle[aria-expanded="true"]::before { background: linear-gradient(var(--kc-paper),var(--kc-paper)) 0 6px/100% 2px no-repeat, linear-gradient(var(--kc-paper),var(--kc-paper)) 0 6px/100% 2px no-repeat; transform: rotate(45deg); }
.kc-menu-toggle[aria-expanded="true"]::after { content: ""; position: absolute; width: 19px; height: 2px; background: var(--kc-paper); transform: rotate(-45deg); }

.kc-button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: .75rem 1.3rem; border: 1px solid var(--kc-brand); border-radius: 10px; color: var(--kc-paper); background: var(--kc-brand); font-weight: 800; text-decoration: none; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.kc-button:hover { color: var(--kc-paper); background: var(--kc-brand-dark); transform: translateY(-2px); box-shadow: 0 10px 25px rgba(8, 122, 117, .18); }
.kc-button-small { min-height: 42px; padding: .55rem 1rem; font-size: .9rem; }
.kc-button-outline { color: var(--kc-ink); border-color: var(--kc-line); background: transparent; }
.kc-button-outline:hover { color: var(--kc-brand-dark); border-color: var(--kc-brand); background: var(--kc-soft); }
.kc-button-light { color: var(--kc-ink); border-color: var(--kc-paper); background: var(--kc-paper); }
.kc-button-light:hover { color: var(--kc-ink); background: var(--kc-soft); }
.kc-button-block { width: 100%; }
.kc-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.kc-text-link { color: var(--kc-brand-dark); font-weight: 800; text-decoration: none; }
.kc-text-link span { display: inline-block; transition: transform .2s ease; }
.kc-text-link:hover span { transform: translateX(4px); }

.kc-hero { overflow: hidden; position: relative; padding: clamp(4.5rem, 9vw, 8.5rem) 0; background: radial-gradient(circle at 88% 20%, rgba(20,184,166,.15), transparent 32%), linear-gradient(145deg, var(--kc-blue-soft) 0%, #fff 55%, var(--kc-teal-soft) 100%); }
.kc-hero::before { content: ""; position: absolute; inset: 0; opacity: .36; background-image: linear-gradient(rgba(11,31,51,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(11,31,51,.04) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to right, transparent, #000); }
.kc-hero-grid { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.kc-hero-copy { max-width: 680px; }
.kc-hero h1 { margin: .9rem 0 1.5rem; }
.kc-hero-copy > p { max-width: 650px; color: var(--kc-ink-soft); font-size: clamp(1.05rem, 1.8vw, 1.28rem); }
.kc-ai-hero-visual { position: relative; z-index: 1; min-height: 430px; margin: 0; border: 1px solid rgba(255,255,255,.85); border-radius: 30px; background: var(--kc-paper); box-shadow: 0 32px 80px rgba(11,31,51,.17); transform: rotate(1.2deg); }
.kc-ai-hero-visual::before { content: ""; position: absolute; z-index: -1; inset: 12% -7% -8% 11%; border-radius: 32px; background: linear-gradient(145deg, rgba(20,184,166,.2), rgba(245,158,11,.18)); filter: blur(1px); transform: rotate(-3deg); }
.kc-ai-hero-visual > img { width: 100%; height: 430px; display: block; object-fit: cover; object-position: 54% center; border-radius: 29px; }
.kc-ai-hero-visual figcaption { position: absolute; left: 1.2rem; bottom: 1.2rem; display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: .55rem; padding: .72rem .95rem; border: 1px solid rgba(255,255,255,.75); border-radius: 14px; color: var(--kc-ink); background: rgba(255,255,255,.9); box-shadow: 0 14px 36px rgba(11,31,51,.16); backdrop-filter: blur(12px); }
.kc-ai-hero-visual figcaption small { grid-column: 2; color: var(--kc-ink-soft); font-size: .7rem; }
.kc-live-dot { grid-row: 1 / 3; width: 10px; height: 10px; border-radius: 50%; background: #19a974; box-shadow: 0 0 0 5px rgba(25,169,116,.13); animation: kc-pulse 2.2s ease-in-out infinite; }
.kc-float-chip { position: absolute; display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .75rem; border: 1px solid rgba(8,122,117,.18); border-radius: 999px; color: var(--kc-ink); background: rgba(255,255,255,.92); box-shadow: 0 12px 32px rgba(11,31,51,.13); font-size: .78rem; font-weight: 800; backdrop-filter: blur(10px); animation: kc-float 4.5s ease-in-out infinite; }
.kc-float-chip .kc-solution-icon { width: 24px; height: 24px; padding: .25rem; border-radius: 8px; }
.kc-float-chip-a { right: -1.2rem; top: 13%; }.kc-float-chip-b { right: 1.5rem; bottom: 10%; animation-delay: -2.2s; }
@keyframes kc-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes kc-pulse { 0%,100% { box-shadow: 0 0 0 4px rgba(25,169,116,.12); } 50% { box-shadow: 0 0 0 9px rgba(25,169,116,.03); } }
.kc-data-visual { position: relative; min-height: 430px; }
.kc-data-visual svg { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: rgba(8, 122, 117, .35); stroke-width: 2; }
.kc-data-core { position: absolute; z-index: 2; left: 50%; top: 50%; width: 150px; height: 150px; display: grid; place-content: center; text-align: center; transform: translate(-50%, -50%); border: 10px solid rgba(255,255,255,.82); border-radius: 50%; color: var(--kc-paper); background: linear-gradient(145deg, var(--kc-blue), var(--kc-teal)); box-shadow: 0 26px 60px rgba(29,78,216,.18); }
.kc-data-core strong { font-size: 3rem; line-height: 1; }
.kc-data-core span { margin-top: .4rem; font-size: .82rem; letter-spacing: .08em; }
.kc-data-node { position: absolute; z-index: 2; min-width: 92px; padding: .75rem 1rem; text-align: center; border: 1px solid rgba(8,122,117,.2); border-radius: 999px; color: var(--kc-ink); background: rgba(255,255,255,.92); box-shadow: var(--kc-shadow); font-weight: 800; }
.node-a { left: 2%; top: 12%; }.node-b { right: 2%; top: 10%; }.node-c { left: 0; bottom: 12%; }.node-d { right: 0; bottom: 12%; }

.kc-proof { border-block: 1px solid var(--kc-line); background: var(--kc-paper); }
.kc-proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.kc-proof-grid > div { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; padding: 1.6rem clamp(1rem, 3vw, 2.5rem); }
.kc-proof-grid > div + div { border-left: 1px solid var(--kc-line); }
.kc-proof-grid strong { color: var(--kc-brand-dark); font-size: 1.8rem; }
.kc-proof-grid span { color: var(--kc-ink-soft); font-size: .9rem; }

.kc-section { padding: clamp(4.5rem, 8vw, 7.5rem) 0; }
.kc-section-soft { background: var(--kc-soft); }
.kc-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin-bottom: 2.5rem; }
.kc-section-head h2 { margin: .55rem 0 0; }
.kc-section-head > p { max-width: 540px; margin: 0; color: var(--kc-ink-soft); }
.kc-solution-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; }
.kc-solution { overflow: hidden; grid-column: span 2; min-height: 280px; display: grid; grid-template-columns: minmax(122px, .9fr) minmax(0, 1.25fr); padding: 0; border: 1px solid var(--kc-line); border-radius: var(--kc-radius); color: var(--kc-ink); background: var(--kc-paper); text-decoration: none; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.kc-solution:nth-child(4), .kc-solution:nth-child(5) { grid-column: span 3; }
.kc-solution:hover { border-color: rgba(8,122,117,.45); box-shadow: var(--kc-shadow); }
.kc-solution-icon { width: 46px; height: 46px; padding: .65rem; border-radius: 12px; color: var(--kc-brand-dark); background: var(--kc-soft); }
.kc-solution-visual { overflow: hidden; position: relative; min-width: 0; display: grid; place-items: center; padding: 1rem .25rem; background: radial-gradient(circle at 28% 24%, rgba(255,255,255,.9), transparent 26%), linear-gradient(145deg, #dff5f2, #c9e9ee 58%, #d7ddf7); }
.kc-solution:nth-child(2) .kc-solution-visual { background: radial-gradient(circle at 28% 24%, rgba(255,255,255,.9), transparent 26%), linear-gradient(145deg, #eee5ff, #d8e5fb 55%, #ccefeb); }
.kc-solution:nth-child(3) .kc-solution-visual { background: radial-gradient(circle at 28% 24%, rgba(255,255,255,.9), transparent 26%), linear-gradient(145deg, #fff0d9, #ffe0b9 52%, #d9efea); }
.kc-solution:nth-child(4) .kc-solution-visual { background: radial-gradient(circle at 28% 24%, rgba(255,255,255,.9), transparent 26%), linear-gradient(145deg, #dff4ed, #c6ebe1 52%, #f9e2c9); }
.kc-solution:nth-child(5) .kc-solution-visual { background: radial-gradient(circle at 28% 24%, rgba(255,255,255,.9), transparent 26%), linear-gradient(145deg, #e4e9ff, #d5e8fa 54%, #caeee8); }
.kc-solution-visual::after { content: ""; position: absolute; width: 88px; height: 88px; right: -45px; bottom: -42px; border: 18px solid rgba(255,255,255,.35); border-radius: 50%; }
.kc-solution-illustration { position: relative; z-index: 2; width: min(100%, 168px); height: auto; overflow: visible; filter: drop-shadow(0 14px 18px rgba(11,31,51,.12)); transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.kc-solution:hover .kc-solution-illustration { transform: translateY(-4px) scale(1.035); }
.kc-i-panel { fill: rgba(255,255,255,.7); stroke: rgba(255,255,255,.9); stroke-width: 2; }
.kc-i-paper { fill: #fff; }.kc-i-teal { fill: #14B8A6; }.kc-i-blue { fill: #1D4ED8; }.kc-i-orange { fill: #F59E0B; }.kc-i-navy { fill: #1F2933; }.kc-i-soft { fill: #CCFBF1; }
.kc-i-orbit { fill: #fff; stroke: rgba(23,59,89,.08); stroke-width: 2; }
.kc-i-line, .kc-i-navy-line, .kc-i-white-line, .kc-i-soft-line { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.kc-i-line { stroke: #14B8A6; stroke-width: 4; }.kc-i-navy-line { stroke: #1F2933; stroke-width: 3; }.kc-i-white-line { stroke: #fff; stroke-width: 3; }.kc-i-soft-line { stroke: #99F6E4; stroke-width: 4; }
.kc-i-teal-stroke, .kc-i-orange-stroke { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; }
.kc-i-teal-stroke { stroke: #14B8A6; }.kc-i-orange-stroke { stroke: #F59E0B; }
.kc-visual-spark { position: absolute; z-index: 1; width: 9px; height: 9px; border-radius: 3px; background: var(--kc-accent); transform: rotate(18deg); }
.kc-visual-spark.spark-a { left: 12%; top: 14%; }.kc-visual-spark.spark-b { right: 12%; bottom: 15%; width: 6px; height: 6px; background: var(--kc-blue); }
.kc-solution-content { min-width: 0; display: flex; flex-direction: column; padding: 1.55rem 1.4rem; }
.kc-solution-no { align-self: flex-start; padding: .3rem .65rem; border-radius: 999px; color: var(--kc-brand-dark); background: var(--kc-soft); font-size: .73rem; font-weight: 900; letter-spacing: .04em; }
.kc-solution h3 { margin: 1rem 0 .65rem; font-size: 1.42rem; }
.kc-solution p { color: var(--kc-ink-soft); font-size: .94rem; }
.kc-solution .kc-text-link { margin-top: auto; }

.kc-process-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2rem, 8vw, 7rem); align-items: start; }
.kc-process-grid h2 { margin: .6rem 0 1.4rem; }
.kc-process-grid > div > p { color: var(--kc-ink-soft); font-size: 1.08rem; }
.kc-process-visual { overflow: hidden; margin: 2rem 0 0; border: 8px solid rgba(255,255,255,.72); border-radius: 20px; background: var(--kc-paper); box-shadow: 0 18px 45px rgba(11,31,51,.1); }
.kc-process-visual img { width: 100%; display: block; aspect-ratio: 3 / 2; object-fit: cover; }
.kc-process { margin: 0; padding: 0; list-style: none; }
.kc-process li { display: grid; grid-template-columns: 108px 1fr; gap: 1.35rem; align-items: center; padding: 1.1rem 0; border-bottom: 1px solid rgba(8,122,117,.2); }
.kc-process-scene { overflow: hidden; position: relative; width: 102px; height: 88px; display: grid; place-items: center; border: 3px solid rgba(255,255,255,.75); border-radius: 20px; background: linear-gradient(145deg, #dff5f2, #cbe7f4); box-shadow: 0 12px 28px rgba(11,31,51,.1); }
.kc-process li:nth-child(2) .kc-process-scene { background: linear-gradient(145deg, #e8e4ff, #d7e8f8); }
.kc-process li:nth-child(3) .kc-process-scene { background: linear-gradient(145deg, #fff0d8, #f8dec8); }
.kc-process li:nth-child(4) .kc-process-scene { background: linear-gradient(145deg, #dff2e9, #d8e3fa); }
.kc-process-illustration { width: 112px; height: auto; filter: drop-shadow(0 8px 10px rgba(11,31,51,.1)); transition: transform .3s ease; }
.kc-process li:hover .kc-process-illustration { transform: translateY(-3px) scale(1.035); }
.kc-process-scene small { position: absolute; right: 6px; bottom: 6px; min-width: 28px; padding: 2px 6px; border: 2px solid rgba(255,255,255,.8); border-radius: 999px; color: var(--kc-paper); background: var(--kc-brand); box-shadow: 0 4px 10px rgba(11,31,51,.14); font-size: .65rem; font-weight: 900; text-align: center; }
.kc-process strong { font-size: 1.12rem; }
.kc-process p { margin: .25rem 0 0; color: var(--kc-ink-soft); }

.kc-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.kc-card { overflow: hidden; display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--kc-line); border-radius: var(--kc-radius); background: var(--kc-paper); box-shadow: 0 8px 28px rgba(11,31,51,.05); transition: transform .25s ease, box-shadow .25s ease; }
.kc-card:hover { transform: translateY(-5px); box-shadow: var(--kc-shadow); }
.kc-card-media { min-height: 210px; display: grid; place-items: center; overflow: hidden; color: var(--kc-brand-dark); background: linear-gradient(145deg, var(--kc-soft), var(--kc-mist)); text-decoration: none; font-weight: 900; }
.kc-card-media img { width: 100%; height: 220px; object-fit: cover; transition: transform .35s ease; }
.kc-card:hover .kc-card-media img { transform: scale(1.035); }
.kc-card-body { display: flex; flex: 1; flex-direction: column; padding: 1.5rem; }
.kc-card-label, .kc-type-label { display: inline-flex; align-items: center; gap: .5rem; color: var(--kc-brand); font-size: .75rem; font-weight: 900; letter-spacing: .08em; }
.kc-content-icon { width: 29px; height: 29px; flex: 0 0 auto; padding: .18rem; border-radius: 9px; background: linear-gradient(145deg, #e8f6f4, #edf1fb); box-shadow: 0 6px 16px rgba(11,31,51,.08); }
.kc-card h2 { margin: .55rem 0 .75rem; font-size: 1.35rem; }
.kc-card h2 a { color: var(--kc-ink); text-decoration: none; }
.kc-card p { color: var(--kc-ink-soft); }
.kc-card-body > .kc-text-link { margin-top: auto; }
.kc-card-compact .kc-card-media { min-height: 180px; }
.kc-card-compact .kc-card-media img { height: 190px; }

.kc-home-resource { background: var(--kc-mist); }
.kc-resource-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 2rem; }
.kc-resource-grid > section { padding: clamp(1.5rem, 4vw, 3rem); border-radius: var(--kc-radius); background: var(--kc-paper); }
.kc-news-list a { display: grid; grid-template-columns: 92px 1fr auto; gap: 1rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--kc-line); color: var(--kc-ink); text-decoration: none; }
.kc-news-list time { color: var(--kc-ink-soft); font-size: .85rem; }
.kc-news-list a:hover strong { color: var(--kc-brand-dark); }
.kc-support-panel { color: var(--kc-ink); border: 1px solid #BFDBFE; background: linear-gradient(145deg, var(--kc-blue-soft), var(--kc-teal-soft)) !important; }
.kc-support-panel h2 { color: var(--kc-ink); }
.kc-support-panel .kc-eyebrow { color: var(--kc-blue); }
.kc-support-panel p { color: var(--kc-ink-soft); }
.kc-support-panel { overflow: hidden; position: relative; display: grid; grid-template-columns: 1fr 150px; gap: 1rem; align-content: start; }
.kc-support-copy { position: relative; z-index: 2; }
.kc-support-visual { overflow: hidden; align-self: start; margin: 0; border: 4px solid rgba(255,255,255,.86); border-radius: 18px; box-shadow: 0 12px 30px rgba(29,78,216,.1); transform: rotate(2deg); }
.kc-support-visual img { width: 100%; aspect-ratio: 4 / 5; display: block; object-fit: cover; object-position: 58% center; }
.kc-support-links { display: grid; gap: .6rem; margin-top: 2rem; }
.kc-support-links { position: relative; z-index: 2; grid-column: 1 / -1; }
.kc-support-links a { display: grid; grid-template-columns: 34px 1fr auto; gap: .7rem; align-items: center; padding: .75rem .85rem; border: 1px solid #BFDBFE; border-radius: 12px; color: var(--kc-ink); background: rgba(255,255,255,.78); font-weight: 800; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.kc-support-links a:hover { color: var(--kc-blue); background: var(--kc-paper); transform: translateX(4px); }
.kc-support-links .kc-solution-icon { width: 30px; height: 30px; padding: .35rem; color: var(--kc-teal); background: var(--kc-paper); }
.kc-support-links b { font-size: 1.1rem; }

.kc-reveal { opacity: 1; translate: 0 0; }
.kc-js .kc-reveal { opacity: 0; translate: 0 22px; transition: opacity .6s ease, translate .6s cubic-bezier(.2,.7,.2,1); }
.kc-js .kc-reveal.is-visible { opacity: 1; translate: 0 0; }
.kc-interactive-card { --kc-tilt-x: 0deg; --kc-tilt-y: 0deg; transform: perspective(900px) rotateX(var(--kc-tilt-x)) rotateY(var(--kc-tilt-y)) translateY(0); transform-style: preserve-3d; }
.kc-interactive-card:hover { transform: perspective(900px) rotateX(var(--kc-tilt-x)) rotateY(var(--kc-tilt-y)) translateY(-6px); }

.kc-cta { padding: clamp(3rem, 7vw, 5.5rem) 0; color: var(--kc-ink); border-block: 1px solid #BFDBFE; background: linear-gradient(115deg, var(--kc-blue-soft), #fff 55%, var(--kc-teal-soft)); }
.kc-cta-row { display: flex; justify-content: space-between; align-items: center; gap: 2rem; }
.kc-cta h2 { margin: .5rem 0; color: var(--kc-ink); }
.kc-cta p { margin: 0; color: var(--kc-ink-soft); }
.kc-cta .kc-eyebrow { color: var(--kc-teal); }
.kc-cta .kc-button-light { color: var(--kc-paper); border-color: var(--kc-blue); background: var(--kc-blue); }
.kc-cta .kc-button-light:hover { color: var(--kc-paper); border-color: var(--kc-teal); background: var(--kc-teal); }

.kc-page-hero { padding: clamp(3.8rem, 8vw, 7rem) 0; background: radial-gradient(circle at 85% 15%, rgba(20,184,166,.14), transparent 28%), linear-gradient(145deg,var(--kc-blue-soft),#fff 58%,var(--kc-teal-soft)); }
.kc-page-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .62fr); gap: clamp(2rem, 7vw, 6rem); align-items: center; }
.kc-page-hero-grid h1 { margin: .7rem 0 1rem; font-size: clamp(2.6rem, 6vw, 4.8rem); }
.kc-page-hero-grid > div:first-child > p { max-width: 680px; color: var(--kc-ink-soft); font-size: 1.15rem; }
.kc-page-visual { overflow: hidden; position: relative; min-height: 240px; display: grid; place-items: center; border: 8px solid rgba(255,255,255,.72); border-radius: 28px; background: radial-gradient(circle at 18% 15%, rgba(255,255,255,.9), transparent 24%), linear-gradient(145deg, #dff4f0, #dbe8fa 58%, #f9dfc8); box-shadow: 0 24px 58px rgba(11,31,51,.13); }
.kc-page-visual::before, .kc-page-visual::after { content: ""; position: absolute; border-radius: 50%; border: 16px solid rgba(255,255,255,.32); }
.kc-page-visual::before { width: 92px; height: 92px; left: -48px; top: -44px; }.kc-page-visual::after { width: 120px; height: 120px; right: -62px; bottom: -65px; }
.kc-section-illustration { position: relative; z-index: 2; width: min(94%, 340px); height: auto; filter: drop-shadow(0 15px 18px rgba(11,31,51,.12)); transition: transform .35s ease; }
.kc-page-visual:hover .kc-section-illustration { transform: translateY(-4px) scale(1.02); }
.kc-page-hero-simple { padding-bottom: 4rem; }
.kc-breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2rem; color: var(--kc-ink-soft); font-size: .86rem; }
.kc-breadcrumb a { color: inherit; text-decoration: none; }
.kc-list-section { padding-top: 2.5rem; }
.kc-filters { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 2.5rem; }
.kc-filters a { display: inline-flex; gap: .45rem; padding: .6rem .9rem; border: 1px solid var(--kc-line); border-radius: 999px; color: var(--kc-ink-soft); background: var(--kc-paper); text-decoration: none; }
.kc-filters a:hover, .kc-filters a.is-active { color: var(--kc-paper); border-color: var(--kc-brand); background: var(--kc-brand); }
.kc-filters span { opacity: .72; }
.kc-result-line { margin-bottom: 1rem; color: var(--kc-ink-soft); }
.kc-result-line strong { color: var(--kc-brand-dark); }
.kc-support-remote { padding: clamp(2.2rem,5vw,4.2rem) 0 0; background: linear-gradient(180deg,#f4f9f8 0%,#fff 100%); }
.kc-remote-card { overflow: hidden; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(340px,.95fr); border: 1px solid #BFDBFE; border-radius: 24px; color: var(--kc-ink); background: linear-gradient(135deg,var(--kc-blue-soft) 0%,#fff 48%,var(--kc-teal-soft) 100%); box-shadow: 0 22px 50px rgba(29,78,216,.12); }
.kc-remote-copy { padding: clamp(1.8rem,5vw,3.3rem); }
.kc-remote-copy .kc-eyebrow { color: var(--kc-teal); }
.kc-remote-copy h2 { max-width: 650px; margin: .8rem 0 1rem; color: var(--kc-ink); font-size: clamp(2rem,4vw,3rem); }
.kc-remote-copy > p { max-width: 650px; color: var(--kc-ink-soft); }
.kc-remote-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.kc-remote-download, .kc-remote-contact { display: inline-flex; justify-content: center; align-items: center; min-height: 50px; padding: .72rem 1.15rem; border: 1px solid rgba(255,255,255,.72); border-radius: 11px; font-weight: 900; text-decoration: none; }
.kc-remote-download { color: var(--kc-paper); border-color: var(--kc-blue); background: var(--kc-blue); }
.kc-remote-download:hover { color: var(--kc-paper); border-color: var(--kc-teal); background: var(--kc-teal); }
.kc-remote-contact { color: var(--kc-blue); border-color: #93C5FD; background: var(--kc-paper); }
.kc-remote-contact:hover { color: var(--kc-paper); border-color: var(--kc-teal); background: var(--kc-teal); }
.kc-remote-note { display: block; margin-top: 1.15rem; color: var(--kc-ink-soft); font-size: .78rem; line-height: 1.65; }
.kc-remote-guide { position: relative; display: grid; align-content: center; gap: .8rem; padding: clamp(1.6rem,4vw,2.8rem); background: rgba(20,184,166,.08); }
.kc-remote-device { display: flex; align-items: center; gap: .8rem; margin-bottom: .35rem; padding: .85rem 1rem; border: 1px solid #99F6E4; border-radius: 16px; background: rgba(255,255,255,.82); }
.kc-remote-device span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: var(--kc-brand-dark); background: linear-gradient(145deg,#fff,#baf1e9); font-size: 1.2rem; font-weight: 950; }
.kc-remote-device strong { color: var(--kc-ink); letter-spacing: .08em; }
.kc-remote-step { display: grid; grid-template-columns: 38px 1fr; gap: .75rem; align-items: center; padding: .8rem .9rem; border-radius: 14px; background: rgba(255,255,255,.92); }
.kc-remote-step span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--kc-paper); background: linear-gradient(145deg,var(--kc-blue),var(--kc-teal)); font-size: .78rem; font-weight: 900; }
.kc-remote-step strong { display: block; color: var(--kc-ink); font-size: .95rem; }
.kc-remote-step small { display: block; color: var(--kc-ink-soft); font-size: .75rem; }
.kc-pagination { display: flex; justify-content: center; gap: .4rem; margin-top: 3rem; }
.kc-pagination .page-numbers { min-width: 42px; min-height: 42px; display: grid; place-items: center; padding: .4rem .7rem; border: 1px solid var(--kc-line); border-radius: 8px; color: var(--kc-ink); text-decoration: none; }
.kc-pagination .current, .kc-pagination a:hover { color: var(--kc-paper); border-color: var(--kc-brand); background: var(--kc-brand); }
.kc-empty { padding: 3rem; text-align: center; background: var(--kc-mist); }

.kc-detail-hero { padding: 2rem 0 clamp(3.5rem, 7vw, 6rem); background: var(--kc-mist); }
.kc-detail-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(2rem, 7vw, 6rem); align-items: center; }
.kc-detail-grid h1 { margin: .7rem 0 1.2rem; font-size: clamp(2.45rem, 5vw, 4.4rem); }
.kc-detail-grid > div:first-child > p { color: var(--kc-ink-soft); font-size: 1.12rem; }
.kc-detail-media { min-height: 360px; position: relative; display: grid; place-items: center; overflow: hidden; border-radius: var(--kc-radius); color: var(--kc-brand-dark); background: linear-gradient(145deg, var(--kc-soft), #dfecef); font-size: 1.3rem; font-weight: 900; box-shadow: var(--kc-shadow); }
.kc-detail-media img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.kc-type-label { align-self: flex-start; padding: .45rem .7rem .45rem .5rem; border: 1px solid var(--kc-line); border-radius: 999px; background: rgba(255,255,255,.78); }
.kc-type-label .kc-content-icon { width: 31px; height: 31px; }
.kc-media-type { position: absolute; left: 1rem; bottom: 1rem; display: inline-flex; align-items: center; gap: .55rem; padding: .55rem .75rem; border: 1px solid rgba(255,255,255,.74); border-radius: 12px; color: var(--kc-ink); background: rgba(255,255,255,.9); box-shadow: 0 10px 25px rgba(11,31,51,.14); font-size: .75rem; font-weight: 900; backdrop-filter: blur(10px); }
.kc-media-type .kc-content-icon { width: 30px; height: 30px; }
.kc-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: clamp(2rem, 7vw, 6rem); align-items: start; }
.kc-content-shell { max-width: 880px; }
.kc-entry-content { min-width: 0; color: var(--kc-ink-soft); font-size: 1.04rem; }
.kc-entry-content > * { max-width: 100%; }
.kc-entry-content h1 { font-size: 2.35rem; }
.kc-entry-content h2 { margin-top: 2.6rem; display: flex; align-items: flex-start; gap: .7rem; font-size: 1.85rem; }
.kc-entry-content h2::before { content: ""; width: 30px; height: 30px; flex: 0 0 auto; margin-top: .08em; border: 7px solid #CCFBF1; border-radius: 10px 50% 50% 50%; background: linear-gradient(145deg, var(--kc-blue), var(--kc-teal)); box-shadow: 7px 7px 0 -3px rgba(245,158,11,.65); transform: rotate(8deg); }
.kc-entry-content h3 { margin-top: 2rem; font-size: 1.4rem; }
.kc-entry-content p, .kc-entry-content li { color: var(--kc-ink-soft); }
.kc-entry-content p:empty, .kc-entry-content .wp-block-spacer { display: none; }
.kc-entry-content p[style], .kc-entry-content span[style], .kc-entry-content div[style] { font-family: inherit !important; color: inherit !important; }
.kc-entry-content p[style], .kc-entry-content span[style] { font-size: inherit !important; line-height: inherit !important; }
.kc-entry-content img { margin-block: 1rem; border-radius: 10px; }
.kc-entry-content iframe { max-width: 100%; }
.kc-entry-content table { width: 100%; display: block; overflow-x: auto; border-collapse: collapse; }
.kc-entry-content td, .kc-entry-content th { padding: .65rem; border: 1px solid var(--kc-line); }
.kc-entry-content a { overflow-wrap: anywhere; }
.kc-entry-content .kc-editorial-intro {
  margin: 0 0 2rem;
  padding: 1.1rem 1.25rem;
  border-left: 4px solid var(--kc-brand);
  border-radius: 0 10px 10px 0;
  color: var(--kc-ink);
  background: var(--kc-soft);
  font-size: 1.06rem;
  line-height: 1.85;
}
.kc-entry-content .kc-editorial-note {
  margin-top: 3rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--kc-line);
  border-radius: 10px;
  color: var(--kc-ink-soft);
  background: var(--kc-mist);
  font-size: .92rem;
  line-height: 1.75;
}
.kc-entry-content .kc-contact-intro { margin: 0 0 2rem; padding: clamp(1.5rem,4vw,2.5rem); border: 1px solid #cfe5e2; border-radius: 20px; background: linear-gradient(135deg,#eff9f7 0%,#fff 62%,#f3f6fb 100%); box-shadow: 0 16px 42px rgba(11,31,51,.07); }
.kc-entry-content .kc-contact-intro h2 { margin-top: 0; }
.kc-entry-content .kc-contact-kicker { margin-bottom: .55rem; color: var(--kc-brand); font-size: .75rem; font-weight: 900; letter-spacing: .16em; }
.kc-entry-content .kc-contact-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.72fr); gap: 1.25rem; align-items: stretch; margin-block: 2rem; }
.kc-entry-content .kc-contact-offices { display: grid; gap: 1rem; }
.kc-entry-content .kc-contact-card { padding: 1.35rem 1.45rem; border: 1px solid var(--kc-line); border-radius: 16px; background: var(--kc-paper); box-shadow: 0 12px 34px rgba(11,31,51,.06); }
.kc-entry-content .kc-contact-card h3 { margin: 0 0 .75rem; font-size: 1.25rem; }
.kc-entry-content .kc-contact-card p { margin-bottom: .55rem; }
.kc-entry-content .kc-contact-card p:last-child { margin-bottom: 0; }
.kc-entry-content .kc-contact-card a { color: var(--kc-brand-dark); font-weight: 850; text-decoration: none; }
.kc-entry-content .kc-contact-label { display: inline-flex; margin-bottom: .8rem; padding: .3rem .62rem; border-radius: 999px; color: var(--kc-brand-dark); background: var(--kc-soft); font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.kc-entry-content .kc-line-service { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 1.4rem; align-items: center; margin: 2rem 0; padding: clamp(1.4rem,4vw,2.2rem); border: 1px solid #BFDBFE; border-radius: 20px; background: linear-gradient(145deg,var(--kc-blue-soft),#fff 58%,var(--kc-teal-soft)); box-shadow: 0 18px 42px rgba(29,78,216,.12); }
.kc-entry-content .kc-line-service h2 { margin: 0 0 .75rem; color: var(--kc-ink); }
.kc-entry-content .kc-line-service h2::before { border-color: rgba(255,255,255,.38); background: linear-gradient(145deg,#fff,var(--kc-teal)); box-shadow: 7px 7px 0 -3px rgba(245,158,11,.85); }
.kc-entry-content .kc-line-service p { margin-bottom: .7rem; color: var(--kc-ink-soft); }
.kc-entry-content .kc-line-service strong { color: var(--kc-ink); }
.kc-entry-content .kc-line-qr { margin: 0; padding: 12px; border-radius: 16px; background: var(--kc-paper); box-shadow: 0 12px 30px rgba(0,0,0,.18); }
.kc-entry-content .kc-line-qr img { display: block; width: 100%; margin: 0; border-radius: 4px; }
.kc-entry-content .kc-line-button { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; margin-top: .35rem; padding: .65rem 1rem; border: 1px solid var(--kc-orange); border-radius: 10px; color: var(--kc-ink); background: var(--kc-orange); font-weight: 900; text-decoration: none; }
.kc-entry-content .kc-line-button:hover { color: var(--kc-ink); background: #FBBF24; }
.kc-entry-content .kc-contact-hours { margin: 2rem 0 0; padding: 1.3rem 1.45rem; border-left: 5px solid var(--kc-accent); border-radius: 0 14px 14px 0; background: var(--kc-mist); }
.kc-entry-content .kc-contact-layout .kc-contact-hours { margin: 0; }
.kc-entry-content .kc-contact-hours h2 { margin-top: 0; }
.kc-entry-content .kc-contact-hours p:last-child { margin-bottom: 0; }
.kc-detail-aside { position: sticky; top: 110px; padding: 1.5rem; border-top: 4px solid var(--kc-brand); background: var(--kc-mist); }
.kc-detail-aside h2 { margin: 1.4rem 0 .2rem; font-size: 1rem; }
.kc-detail-aside p { color: var(--kc-ink-soft); }
.kc-detail-aside .kc-text-link { display: block; margin-top: 1.1rem; }

.kc-error-page { min-height: 65vh; display: grid; align-items: center; padding: 5rem 0; background: var(--kc-mist); }
.kc-error-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr); gap: clamp(2rem, 7vw, 6rem); align-items: center; }
.kc-error-page h1 { margin: .8rem 0; font-size: clamp(2.4rem, 6vw, 4.5rem); }
.kc-error-page p { color: var(--kc-ink-soft); }
.kc-error-visual { min-height: 300px; }

.kc-footer { padding: 4.5rem 0 1.5rem; color: rgba(255,255,255,.86); background: linear-gradient(125deg,var(--kc-blue) 0%,#2563EB 48%,var(--kc-teal) 100%); }
.kc-footer-grid { display: grid; grid-template-columns: 1.1fr 1fr .8fr; gap: clamp(2rem, 6vw, 5rem); }
.kc-brand-footer { width: fit-content; padding: .7rem .85rem; border: 1px solid rgba(255,255,255,.78); border-radius: 14px; color: var(--kc-ink); background: rgba(255,255,255,.96); box-shadow: 0 12px 28px rgba(31,41,51,.12); }
.kc-brand-footer small { color: rgba(255,255,255,.58); }
.kc-footer h2 { margin-top: 0; color: var(--kc-paper); font-size: 1rem; }
.kc-footer p { font-size: .92rem; }
.kc-footer a { color: var(--kc-paper); }
.kc-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .82rem; }

@media (max-width: 1020px) {
  .kc-header-row { position: relative; grid-template-columns: auto auto 1fr; gap: 1rem; }
  .kc-menu-toggle { position: relative; display: inline-flex; justify-self: end; }
  .kc-header-row > .kc-button { justify-self: end; }
  .kc-nav { position: absolute; left: 50%; right: auto; top: 100%; width: calc(100% + 40px); display: none; grid-template-columns: repeat(3,minmax(0,1fr)); justify-content: stretch; gap: .65rem; padding: 1.15rem 20px 1.35rem; border-top: 1px solid rgba(220,229,232,.75); border-bottom: 1px solid var(--kc-line); background: rgba(255,255,255,.98); box-shadow: 0 22px 45px rgba(11,31,51,.12); transform: translateX(-50%); backdrop-filter: blur(18px); }
  .kc-nav::before { content: "網站導覽"; grid-column: 1 / -1; margin-bottom: .05rem; color: var(--kc-brand); font-size: .72rem; font-weight: 900; letter-spacing: .14em; }
  .kc-nav.is-open { display: grid; }
  .kc-nav a { display: flex; align-items: center; min-height: 52px; padding: .75rem 1rem; border: 1px solid var(--kc-line); border-radius: 12px; color: var(--kc-ink); background: var(--kc-mist); font-size: 1rem; font-weight: 800; }
  .kc-nav a:hover { border-color: rgba(8,122,117,.3); background: var(--kc-soft); }
  .kc-nav a.is-active { color: var(--kc-paper); border-color: var(--kc-brand); background: linear-gradient(135deg,var(--kc-brand),var(--kc-brand-dark)); box-shadow: 0 8px 20px rgba(8,122,117,.18); }
  .kc-nav a::after { display: none; }
  .kc-hero-grid, .kc-detail-grid, .kc-page-hero-grid, .kc-error-grid { grid-template-columns: 1fr; }
  .kc-page-visual { width: min(100%, 640px); min-height: 220px; }
  .kc-ai-hero-visual { width: min(100%, 680px); margin-inline: auto; transform: none; }
  .kc-data-visual { width: min(100%, 560px); margin-inline: auto; }
  .kc-solution-grid { grid-template-columns: repeat(2, 1fr); }
  .kc-solution, .kc-solution:nth-child(4), .kc-solution:nth-child(5) { grid-column: span 1; }
  .kc-solution:last-child { grid-column: 1 / -1; }
  .kc-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kc-card-grid-three .kc-card:last-child { grid-column: 1 / -1; }
  .kc-resource-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  body.kc-redesign.admin-bar .kc-header { top: 46px; }
  .kc-shell { width: min(calc(100% - 28px), var(--kc-shell)); }
  .kc-header-row { min-height: 68px; }
  .kc-brand-mark { width: 38px; height: 38px; }
  .kc-brand-logo { width: 205px; }
  .kc-brand-logo-footer { width: min(280px, 100%); }
  .kc-brand small { display: none; }
  .kc-header-row > .kc-button { display: none; }
  .kc-header-row { grid-template-columns: 1fr auto; }
  .kc-menu-toggle { grid-column: 2; }
  .kc-nav { width: calc(100% + 28px); grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; padding: 1rem 14px 1.15rem; }
  .kc-nav a { min-height: 50px; padding: .72rem .85rem; font-size: .96rem; }
  .kc-hero { padding-top: 4rem; }
  .kc-data-visual { min-height: 340px; }
  .kc-ai-hero-visual { min-height: 330px; }
  .kc-ai-hero-visual > img { height: 360px; }
  .kc-float-chip { display: none; }
  .kc-support-panel { grid-template-columns: 1fr 110px; }
  .kc-data-core { width: 120px; height: 120px; }
  .kc-data-core strong { font-size: 2.4rem; }
  .kc-data-node { min-width: 76px; padding: .55rem .7rem; font-size: .82rem; }
  .kc-proof-grid { grid-template-columns: 1fr; }
  .kc-proof-grid > div { grid-template-columns: 92px 1fr; }
  .kc-proof-grid > div + div { border-left: 0; border-top: 1px solid var(--kc-line); }
  .kc-section-head, .kc-cta-row { align-items: flex-start; flex-direction: column; }
  .kc-solution-grid, .kc-card-grid, .kc-card-grid-three, .kc-process-grid, .kc-detail-layout, .kc-footer-grid { grid-template-columns: 1fr; }
  .kc-solution:last-child, .kc-card-grid-three .kc-card:last-child { grid-column: auto; }
  .kc-solution { min-height: 230px; grid-template-columns: 112px minmax(0, 1fr); }
  .kc-solution-visual { padding: .55rem 0; }
  .kc-solution-illustration { width: 126px; max-width: none; transform: translateX(4px); }
  .kc-solution:hover .kc-solution-illustration { transform: translateX(4px); }
  .kc-solution-content { padding: 1.15rem 1rem; }
  .kc-solution h3 { margin: .8rem 0 .45rem; font-size: 1.2rem; }
  .kc-solution p { margin-bottom: .8rem; font-size: .88rem; line-height: 1.65; }
  .kc-solution-no { font-size: .68rem; }
  .kc-solution .kc-text-link { font-size: .9rem; }
  .kc-process li { grid-template-columns: 92px minmax(0, 1fr); gap: 1rem; padding: 1rem 0; }
  .kc-process-scene { width: 88px; height: 80px; border-radius: 17px; }
  .kc-process-illustration { width: 100px; }
  .kc-process strong { font-size: 1.02rem; }
  .kc-process p { font-size: .88rem; line-height: 1.65; }
  .kc-detail-aside { position: static; }
  .kc-news-list a { grid-template-columns: 1fr auto; }
  .kc-news-list time { grid-column: 1 / -1; }
  .kc-footer-bottom { flex-direction: column; }
  .kc-page-hero { padding-block: 3.2rem; }
  .kc-page-hero-grid { gap: 1.5rem; }
  .kc-page-visual { min-height: 170px; border-width: 6px; border-radius: 22px; }
  .kc-section-illustration { width: min(92%, 280px); }
  .kc-entry-content h2::before { width: 26px; height: 26px; border-width: 6px; }
  .kc-remote-card { grid-template-columns: 1fr; }
  .kc-remote-guide { padding-top: .5rem; }
  .kc-remote-actions a { width: 100%; }
  .kc-entry-content .kc-contact-layout { grid-template-columns: 1fr; }
  .kc-entry-content .kc-line-service { grid-template-columns: 1fr; text-align: center; }
  .kc-entry-content .kc-line-service h2 { justify-content: center; }
  .kc-entry-content .kc-line-qr { width: min(210px,72%); margin-inline: auto; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
  .kc-live-dot, .kc-float-chip { animation: none !important; }
  .kc-js .kc-reveal { opacity: 1 !important; translate: none !important; }
}
