/*
Theme Name: Kai Chu Base
Theme URI: https://new.kaichu.com.tw/
Author: Kai Chu Computer
Description: 凱鉅電腦企業網站專用佈景主題。
Version: 2.4.4
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: 1160px;
}

*, *::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(2rem, 3.4vw, 3.25rem); }
h2 { font-size: clamp(1.6rem, 2.5vw, 2.25rem); }
h3 { font-size: 1.35rem; }
p { margin: 0 0 1.25rem; }

.kc-shell { width: min(calc(100% - 48px), 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(3.5rem, 5.5vw, 5.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; font-size: clamp(2.4rem, 3.6vw, 3.25rem); }
.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; overflow: hidden; border: 1px solid rgba(255,255,255,.9); border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(240,253,250,.9)); box-shadow: 0 28px 70px rgba(11,31,51,.13); }
.kc-data-visual::before { content: ""; position: absolute; inset: 13% 10%; border: 1px solid rgba(20,184,166,.13); border-radius: 24px; background: linear-gradient(145deg, rgba(239,246,255,.72), rgba(255,255,255,.2)); }
.kc-data-visual svg { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: rgba(8, 122, 117, .35); stroke-width: 2; }
.kc-dashboard-bar, .kc-dashboard-metrics, .kc-dashboard-chart, .kc-dashboard-sources { position: relative; z-index: 2; }
.kc-dashboard-bar { display: flex; align-items: center; gap: .65rem; margin: 1.4rem 1.5rem 1rem; padding-bottom: .9rem; border-bottom: 1px solid var(--kc-line); }
.kc-dashboard-bar strong { color: var(--kc-ink); font-size: .95rem; }
.kc-dashboard-bar small { margin-left: auto; color: var(--kc-ink-soft); font-size: .68rem; }
.kc-dashboard-status { width: 9px; height: 9px; border-radius: 50%; background: var(--kc-teal); box-shadow: 0 0 0 4px rgba(20,184,166,.14); }
.kc-dashboard-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin: 0 1.5rem 1rem; }
.kc-dashboard-metrics > div { padding: .85rem .9rem; border: 1px solid rgba(226,232,240,.95); border-radius: 12px; background: rgba(255,255,255,.82); }
.kc-dashboard-metrics small, .kc-dashboard-metrics strong, .kc-dashboard-metrics span { display: block; }
.kc-dashboard-metrics small { color: var(--kc-ink-soft); font-size: .67rem; }
.kc-dashboard-metrics strong { margin: .28rem 0 .12rem; color: var(--kc-ink); font-size: 1.35rem; line-height: 1; }
.kc-dashboard-metrics strong span { display: inline; font-size: .8rem; }
.kc-dashboard-metrics span { color: #168267; font-size: .66rem; font-weight: 800; }
.kc-dashboard-chart { margin: 0 1.5rem 1rem; padding: 1rem; border: 1px solid rgba(226,232,240,.95); border-radius: 14px; background: rgba(255,255,255,.74); }
.kc-chart-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: .75rem; }
.kc-chart-head strong { font-size: .8rem; }.kc-chart-head span { color: var(--kc-ink-soft); font-size: .65rem; }
.kc-chart-bars { height: 105px; display: flex; align-items: flex-end; gap: .7rem; padding: .3rem .4rem 0; border-bottom: 1px solid var(--kc-line); background: repeating-linear-gradient(to top, transparent 0 25px, rgba(226,232,240,.58) 26px); }
.kc-chart-bars i { flex: 1; height: var(--bar); min-width: 12px; border-radius: 5px 5px 0 0; background: linear-gradient(180deg, var(--kc-teal), var(--kc-blue)); box-shadow: 0 5px 12px rgba(29,78,216,.12); }
.kc-dashboard-sources { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; margin: 0 1.5rem 1.4rem; }
.kc-dashboard-sources span { padding: .3rem .5rem; border: 1px solid #D9E4EE; border-radius: 6px; color: var(--kc-ink-soft); background: #fff; font-size: .64rem; font-weight: 800; }
.kc-dashboard-sources b { margin-left: auto; color: var(--kc-teal); font-size: .68rem; }
.kc-data-core { position: absolute; z-index: 2; left: 50%; top: 50%; width: 178px; height: 132px; display: grid; place-content: center; text-align: center; transform: translate(-50%, -50%); border: 1px solid rgba(29,78,216,.2); border-radius: 22px; color: var(--kc-ink); background: rgba(255,255,255,.97); box-shadow: 0 20px 45px rgba(29,78,216,.16); }
.kc-data-core::before { content: ""; width: 42px; height: 4px; margin: 0 auto .8rem; border-radius: 999px; background: linear-gradient(90deg, var(--kc-blue), var(--kc-teal)); }
.kc-data-core strong { font-size: 1.45rem; line-height: 1.1; }
.kc-data-core span { margin-top: .35rem; color: var(--kc-ink-soft); font-size: .78rem; 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: 12px; color: var(--kc-ink); background: rgba(255,255,255,.95); box-shadow: 0 12px 28px rgba(11,31,51,.1); 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; font-size: clamp(1.8rem, 2.5vw, 2.25rem); }
.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.2rem, 3.5vw, 3.1rem); }
.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.15rem, 3.3vw, 3rem); }
.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-hero h1 { font-size: clamp(2.35rem, 5.2vw, 2.8rem); }
  .kc-process-grid h2 { font-size: clamp(1.85rem, 4.2vw, 2.15rem); }
  .kc-page-hero-grid h1 { font-size: clamp(2.2rem, 4.8vw, 2.7rem); }
  .kc-detail-grid h1 { font-size: clamp(2.15rem, 4.6vw, 2.65rem); }
  .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-hero h1 { font-size: clamp(2rem, 8.6vw, 2.2rem); line-height: 1.2; }
  .kc-process-grid h2 { font-size: clamp(1.65rem, 7vw, 1.9rem); line-height: 1.25; }
  .kc-page-hero-grid h1 { font-size: clamp(1.9rem, 8vw, 2.15rem); line-height: 1.2; }
  .kc-detail-grid h1 { font-size: clamp(1.9rem, 7.8vw, 2.1rem); line-height: 1.22; }
  .kc-data-visual { min-height: 340px; }
  .kc-dashboard-bar, .kc-dashboard-metrics, .kc-dashboard-chart, .kc-dashboard-sources { margin-left: 1rem; margin-right: 1rem; }
  .kc-dashboard-metrics { gap: .45rem; }.kc-dashboard-metrics > div { padding: .65rem .55rem; }.kc-dashboard-metrics strong { font-size: 1rem; }
  .kc-chart-bars { gap: .4rem; }
  .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: 142px; height: 112px; }
  .kc-data-core strong { font-size: 1.15rem; }
  .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; }
}

/* Kai Chu Corporate Design System 2.0.1 — CIS light palette */
:root {
  --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: #526273;
  --kc-brand: #1D4ED8;
  --kc-brand-dark: #1E40AF;
  --kc-accent: #14B8A6;
  --kc-paper: #FFFFFF;
  --kc-soft: #F8FAFC;
  --kc-mist: #F8FAFC;
  --kc-line: #DCE5EF;
  --kc-shadow: 0 18px 46px rgba(29,78,216,.09);
  --kc-radius: 8px;
  --kc-shell: 1160px;
}

body.kc-redesign { color: var(--kc-ink); background: #fff; font-size: 16px; line-height: 1.75; }
h1, h2, h3, h4, h5, h6 { letter-spacing: -.035em; }
.kc-eyebrow { color: var(--kc-teal); font-size: .72rem; letter-spacing: .18em; }

.kc-header { border-bottom: 1px solid rgba(220,227,232,.95); background: rgba(255,255,255,.98); backdrop-filter: none; }
.kc-header-row { min-height: 76px; gap: 1.6rem; }
.kc-brand-logo { width: 226px; }
.kc-nav { gap: .1rem; }
.kc-nav a { padding: .72rem .68rem; color: #425365; font-size: .92rem; }
.kc-nav a::after { left: .68rem; right: .68rem; bottom: .25rem; background: linear-gradient(90deg,var(--kc-blue),var(--kc-teal)); }
.kc-header .kc-button-small { min-height: 42px; padding: .55rem 1rem; border-radius: 5px; }

.kc-button { min-height: 48px; padding: .72rem 1.25rem; border-radius: 5px; background: var(--kc-brand); box-shadow: none; }
.kc-button:hover { background: var(--kc-brand-dark); box-shadow: 0 8px 20px rgba(29,78,216,.18); transform: translateY(-1px); }
.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: #fff; }
.kc-home-hero .kc-button-outline { color: var(--kc-ink); border-color: #C9D6E5; background: rgba(255,255,255,.72); }
.kc-home-hero .kc-button-outline:hover { color: var(--kc-brand-dark); border-color: var(--kc-blue); background: #fff; }
.kc-text-link { color: var(--kc-brand); }

.kc-home-hero { padding: clamp(4.5rem,7vw,6.8rem) 0; color: var(--kc-ink); background: linear-gradient(135deg,#FFFFFF 0%,#EFF6FF 58%,#F0FDFA 100%); }
.kc-home-hero::before { opacity: .52; background-image: linear-gradient(rgba(29,78,216,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(20,184,166,.07) 1px,transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to right,transparent 22%,#000 100%); }
.kc-home-hero .kc-hero-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(2.5rem,6vw,5.25rem); align-items: start; }
.kc-home-hero .kc-hero-copy { max-width: 690px; }
.kc-home-hero .kc-eyebrow { color: var(--kc-blue); }
.kc-home-hero h1 { max-width: 680px; margin: 1rem 0 1.35rem; color: var(--kc-ink); font-size: clamp(2.65rem,4.4vw,4.25rem); line-height: 1.12; letter-spacing: -.055em; }
.kc-home-hero .kc-hero-copy > p { max-width: 660px; color: var(--kc-ink-soft); font-size: clamp(1.05rem,1.4vw,1.2rem); line-height: 1.9; }
.kc-home-hero .kc-actions { margin-top: 2rem; }
.kc-hero-assurance { display: flex; flex-wrap: wrap; gap: .7rem 1.3rem; margin-top: 1.6rem; color: #64748B; font-size: .8rem; }
.kc-hero-assurance span { display: inline-flex; align-items: center; gap: .45rem; }
.kc-hero-assurance span::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--kc-teal); }

.kc-hero-media { width: 100%; min-width: 0; max-width: none; }
.kc-hero-photo, .kc-editorial-photo { margin: 0; overflow: hidden; border-radius: 8px; background: #E8EEF4; }
.kc-hero-photo { aspect-ratio: 3 / 2; height: auto; box-shadow: 0 24px 55px rgba(29,78,216,.12); }
.kc-hero-photo img, .kc-editorial-photo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.kc-hero-photo img { object-position: 50% 50%; }
.kc-hero-media .kc-integration-panel { width: 100%; margin: 1rem 0 0; padding: 1.35rem 1.5rem; }
.kc-hero-media .kc-integration-head { padding-bottom: .85rem; }
.kc-hero-media .kc-integration-flow > div { padding: .68rem 0; }
.kc-hero-media .kc-integration-result { margin-top: .9rem; padding: .85rem 1rem; }

.kc-integration-panel { position: relative; padding: 2rem; border: 1px solid #D7E5F2; border-top: 4px solid var(--kc-blue); border-radius: 8px; background: rgba(255,255,255,.92); box-shadow: 0 28px 60px rgba(29,78,216,.12); }
.kc-integration-panel::after { content: ""; position: absolute; top: -4px; right: 0; width: 38%; height: 4px; border-radius: 0 8px 0 0; background: linear-gradient(90deg,var(--kc-teal),var(--kc-orange)); }
.kc-integration-head { padding-bottom: 1.25rem; border-bottom: 1px solid var(--kc-line); }
.kc-integration-head span, .kc-integration-head strong { display: block; }
.kc-integration-head span { color: var(--kc-blue); font-size: .65rem; font-weight: 800; letter-spacing: .18em; }
.kc-integration-head strong { margin-top: .4rem; color: var(--kc-ink); font-size: 1.25rem; }
.kc-integration-flow { display: grid; margin-top: .4rem; }
.kc-integration-flow > div { display: grid; grid-template-columns: 138px 1fr; gap: 1rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--kc-line); }
.kc-integration-flow span { color: var(--kc-blue); font-size: .9rem; font-weight: 800; }
.kc-integration-flow b { position: relative; padding-left: 1.35rem; color: var(--kc-ink-soft); font-size: .8rem; font-weight: 600; }
.kc-integration-flow b::before { content: "→"; position: absolute; left: 0; color: var(--kc-teal); }
.kc-integration-result { margin-top: 1.3rem; padding: 1.15rem 1.2rem; border-left: 3px solid var(--kc-teal); background: linear-gradient(135deg,var(--kc-blue-soft),var(--kc-teal-soft)); }
.kc-integration-result small, .kc-integration-result strong { display: block; }
.kc-integration-result small { color: var(--kc-teal); font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.kc-integration-result strong { margin-top: .3rem; color: var(--kc-ink); font-size: 1rem; }
.kc-integration-result p { margin: .35rem 0 0; color: var(--kc-ink-soft); font-size: .78rem; }

.kc-proof { border-block: 0; background: #fff; }
.kc-proof-grid { grid-template-columns: repeat(3,1fr); }
.kc-proof-grid > div { min-height: 112px; padding: 1.5rem 2rem; }
.kc-proof-grid > div + div { border-left: 1px solid var(--kc-line); }
.kc-proof-grid strong { color: var(--kc-brand-dark); font-size: 1.55rem; letter-spacing: -.03em; }
.kc-proof-grid > div:nth-child(2) strong { color: #0F8F82; }
.kc-proof-grid > div:nth-child(3) strong { color: #C87B00; }
.kc-proof-grid span { color: var(--kc-ink-soft); font-size: .82rem; line-height: 1.55; }

.kc-section { padding: clamp(4.5rem,7vw,6.5rem) 0; }
.kc-section-soft { background: #F8FAFC; }
.kc-section-head { margin-bottom: 2.2rem; }
.kc-section-head h2, .kc-process-grid h2 { color: var(--kc-ink); font-size: clamp(1.9rem,2.8vw,2.65rem); line-height: 1.2; }
.kc-section-head > p { max-width: 500px; }

.kc-process-grid { grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: clamp(3rem,8vw,7rem); }
.kc-process-intro { position: sticky; top: 112px; }
.kc-process-grid > div > p { font-size: 1rem; }
.kc-service-principles { display: grid; gap: .6rem; margin-top: 2rem; }
.kc-service-principles span { padding: .7rem 0 .7rem 1rem; border-left: 2px solid var(--kc-teal); color: var(--kc-ink); font-size: .86rem; font-weight: 750; }
.kc-process-banner { width: 100%; aspect-ratio: 2.4 / 1; height: auto; margin: 0 auto clamp(2.5rem,4vw,3.75rem); border: 1px solid #D7E5F2; box-shadow: 0 14px 34px rgba(29,78,216,.08); }
.kc-process-banner img { object-position: 50% 50%; }
.kc-process li { grid-template-columns: 82px 1fr; gap: 1.2rem; min-height: 108px; padding: 1rem 0; border-color: var(--kc-line); }
.kc-process-scene { width: 70px; height: 70px; border: 1px solid var(--kc-line); border-radius: 4px; background: #fff !important; box-shadow: none; }
.kc-process-illustration { display: none; }
.kc-process-scene small { position: static; min-width: 0; padding: 0; border: 0; border-radius: 0; color: var(--kc-brand); background: transparent; box-shadow: none; font-size: 1.35rem; letter-spacing: -.04em; }
.kc-process strong { font-size: 1.08rem; }

.kc-solution-grid { grid-template-columns: repeat(3,1fr); gap: 1.25rem; }
.kc-solution, .kc-solution:nth-child(4), .kc-solution:nth-child(5) { grid-column: auto; min-height: 330px; grid-template-columns: 1fr; grid-template-rows: 98px 1fr; border-radius: 6px; box-shadow: none; }
.kc-solution:hover { border-color: #AAB8C4; box-shadow: 0 14px 34px rgba(18,34,53,.08); transform: translateY(-3px); }
.kc-solution-visual { display: flex; justify-content: space-between; align-items: flex-start; padding: 1.25rem 1.35rem; border-bottom: 1px solid var(--kc-line); background: linear-gradient(135deg,var(--kc-blue-soft),var(--kc-teal-soft)) !important; }
.kc-solution-visual::after, .kc-visual-spark { display: none; }
.kc-solution-code { color: var(--kc-brand); font-size: 2rem; font-weight: 800; line-height: 1; letter-spacing: -.06em; }
.kc-solution-visual small { color: #8392A0; font-size: .62rem; font-weight: 800; letter-spacing: .16em; }
.kc-solution-content { padding: 1.45rem 1.35rem 1.35rem; }
.kc-solution-no { padding: 0; color: var(--kc-teal); background: transparent; font-size: .7rem; }
.kc-solution h3 { margin: .7rem 0 .65rem; font-size: 1.35rem; }
.kc-solution p { font-size: .9rem; line-height: 1.7; }

.kc-card-grid { gap: 1.25rem; }
.kc-card { border-radius: 6px; box-shadow: none; }
.kc-card:hover { box-shadow: 0 14px 34px rgba(18,34,53,.09); transform: translateY(-3px); }
.kc-card-media { min-height: 0; aspect-ratio: 3 / 2; background: #EAEFF3; }
.kc-card-media img { width: 100%; height: 100%; object-fit: contain; filter: saturate(.86) contrast(1.02); }
.kc-card-body { padding: 1.35rem; }
.kc-content-icon { display: none; }
.kc-card-label, .kc-type-label { color: var(--kc-teal); }

.kc-home-resource { background: #F8FAFC; }
.kc-resource-grid { grid-template-columns: 1.12fr .88fr; gap: 1.25rem; }
.kc-resource-grid > section { padding: clamp(1.5rem,3vw,2.35rem); border: 1px solid var(--kc-line); border-radius: 6px; }
.kc-support-panel { display: block; 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 p { color: var(--kc-ink-soft); opacity: 1; }
.kc-support-panel .kc-eyebrow { color: var(--kc-blue); }
.kc-support-photo { aspect-ratio: 3 / 2; height: auto; margin-bottom: 1.45rem; border: 1px solid #D7E5F2; }
.kc-support-photo img { object-position: 50% 50%; }
.kc-support-visual { display: none; }
.kc-support-links { margin-top: 1.5rem; }
.kc-support-links a { border-color: #C9DDF2; border-radius: 4px; color: var(--kc-ink); background: rgba(255,255,255,.76); }
.kc-support-links a:hover { color: var(--kc-brand-dark); border-color: var(--kc-blue); background: #fff; transform: none; }
.kc-support-links .kc-solution-icon { color: var(--kc-teal); background: transparent; }

.kc-interactive-card, .kc-interactive-card:hover { transform: none; transform-style: flat; }
.kc-cta { color: var(--kc-ink); border-block: 1px solid #D7E5F2; background: linear-gradient(135deg,#fff 0%,var(--kc-blue-soft) 58%,var(--kc-teal-soft) 100%); }
.kc-cta h2 { color: var(--kc-ink); }
.kc-cta p { color: var(--kc-ink-soft); opacity: 1; }
.kc-cta .kc-eyebrow { color: var(--kc-blue); }
.kc-cta .kc-button-light { color: #fff; border-color: var(--kc-blue); background: var(--kc-blue); }
.kc-cta .kc-button-light:hover { color: #fff; border-color: var(--kc-brand-dark); background: var(--kc-brand-dark); }

.kc-page-hero { padding: clamp(3.5rem,6vw,5.5rem) 0; background: linear-gradient(135deg,#fff,var(--kc-blue-soft),var(--kc-teal-soft)); }
.kc-page-visual { min-height: 220px; border-radius: 6px; background: linear-gradient(90deg,rgba(29,78,216,.1) 1px,transparent 1px),linear-gradient(rgba(20,184,166,.1) 1px,transparent 1px),#F3F8FF; background-size: 32px 32px; box-shadow: none; }
.kc-page-visual .kc-section-illustration { display: none; }
.kc-detail-hero { background: linear-gradient(135deg,#fff,var(--kc-blue-soft)); }
.kc-detail-media { border-radius: 6px; box-shadow: none; }
.kc-detail-aside { border-top-color: var(--kc-teal); }
.kc-breadcrumb { margin-bottom: 1.5rem; color: #6B7B89; }
.kc-breadcrumb a:hover { color: var(--kc-brand); }
.kc-filters { gap: .45rem; margin-bottom: 2rem; }
.kc-filters a { padding: .52rem .8rem; border-radius: 4px; font-size: .85rem; }
.kc-filters a:hover, .kc-filters a.is-active { border-color: var(--kc-brand); background: var(--kc-brand); }
.kc-result-line { margin-bottom: 1.25rem; font-size: .86rem; }
.kc-pagination .page-numbers { border-radius: 4px; }
.kc-empty { border: 1px solid var(--kc-line); background: #F5F7F9; }
.kc-remote-card { border-color: var(--kc-line); border-radius: 6px; background: #fff; box-shadow: none; }
.kc-remote-copy .kc-eyebrow { color: var(--kc-teal); }
.kc-remote-guide { background: #EEF3F7; }
.kc-remote-device, .kc-remote-step { border-radius: 4px; box-shadow: none; }
.kc-remote-step span { border-radius: 3px; background: var(--kc-brand); }
.kc-remote-download { border-radius: 4px; background: var(--kc-brand); }
.kc-remote-contact { border-radius: 4px; color: var(--kc-brand); }
.kc-detail-grid h1 { color: var(--kc-ink); }
.kc-detail-grid > div:first-child > p { color: var(--kc-ink-soft); }
.kc-type-label { border-radius: 4px; background: #fff; }
.kc-media-type { border-radius: 4px; }
.kc-entry-content h2::before { width: 5px; height: 26px; margin-top: .12em; border: 0; border-radius: 0; background: var(--kc-teal); box-shadow: none; transform: none; }
.kc-entry-content img { border-radius: 4px; }
.kc-entry-content .kc-editorial-intro { border-left-color: var(--kc-teal); border-radius: 0 4px 4px 0; }
.kc-detail-aside { top: 100px; padding: 1.3rem; background: #F5F7F9; }
.kc-detail-aside .kc-button { border-radius: 4px; }

.kc-footer { padding: 2.6rem 0 1.2rem; color: var(--kc-ink-soft); border-top: 0; background: linear-gradient(90deg,var(--kc-blue),var(--kc-teal) 72%,var(--kc-orange)) top/100% 3px no-repeat,linear-gradient(135deg,#fff 0%,#F8FAFC 62%,var(--kc-teal-soft) 100%); }
.kc-brand-footer { padding: .55rem .65rem; border: 1px solid var(--kc-line); border-radius: 4px; background: #fff; box-shadow: none; }
.kc-brand-footer small, .kc-footer p { color: var(--kc-ink-soft); }
.kc-footer h2 { color: var(--kc-ink); }
.kc-footer a { color: var(--kc-brand-dark); }
.kc-footer a:hover { color: var(--kc-teal); }
.kc-footer-grid { grid-template-columns: 1.15fr 1fr .8fr; }
.kc-footer-bottom { color: #64748B; border-top-color: var(--kc-line); }
.kc-footer-minimal { display: flex; justify-content: flex-start; align-items: center; gap: 2rem; padding-bottom: 1.5rem; }
.kc-footer-minimal .kc-footer-label { margin: 0; color: var(--kc-ink); font-size: .92rem; font-weight: 800; letter-spacing: .04em; }
.kc-footer-bottom { margin-top: 0; }
@media (max-width: 760px) {
  .kc-footer-minimal { align-items: flex-start; flex-direction: column; gap: 1rem; }
}

@media (max-width: 1020px) {
  .kc-home-hero .kc-hero-grid { grid-template-columns: 1fr; }
  .kc-integration-panel { max-width: 720px; }
  .kc-hero-media { max-width: 720px; }
  .kc-process-intro { position: static; }
  .kc-solution-grid { grid-template-columns: repeat(2,1fr); }
  .kc-nav { border-color: var(--kc-line); background: rgba(255,255,255,.99); box-shadow: 0 16px 36px rgba(18,34,53,.12); }
  .kc-nav a { border-radius: 4px; background: #F5F7F9; }
  .kc-nav a.is-active { border-color: var(--kc-brand); background: var(--kc-brand); box-shadow: none; }
}

@media (max-width: 760px) {
  .kc-header-row { min-height: 68px; }
  .kc-brand-logo { width: 205px; }
  .kc-home-hero { padding: 3.6rem 0; }
  .kc-home-hero h1 { font-size: clamp(2.25rem,11vw,3rem); }
  .kc-integration-panel { padding: 1.3rem; }
  .kc-hero-photo { aspect-ratio: 3 / 2; }
.kc-hero-media .kc-integration-panel { width: 100%; margin-top: 1rem; padding: 1.15rem; }
  .kc-integration-flow > div { grid-template-columns: 1fr; gap: .2rem; }
  .kc-integration-flow b { padding-left: 0; }
  .kc-integration-flow b::before { display: none; }
  .kc-proof-grid { grid-template-columns: 1fr; }
  .kc-proof-grid > div { min-height: 88px; grid-template-columns: 104px 1fr; }
  .kc-proof-grid > div + div { border-left: 0; border-top: 1px solid var(--kc-line); }
  .kc-solution-grid { grid-template-columns: 1fr; }
  .kc-solution { min-height: 280px; grid-template-columns: 1fr; grid-template-rows: 80px 1fr; }
  .kc-resource-grid { grid-template-columns: 1fr; }
  .kc-process-banner { width: 100%; aspect-ratio: 3 / 2; }
  .kc-support-photo { aspect-ratio: 3 / 2; }
}

/* Homepage alignment contract: keep this last so it wins over legacy styles. */
.kc-home-hero > .kc-shell,
.kc-proof > .kc-shell,
.kc-section > .kc-shell,
.kc-home-resource > .kc-shell,
.kc-cta > .kc-shell,
.kc-footer > .kc-shell {
  width: min(calc(100% - 48px), 1160px);
  margin-inline: auto;
}
.kc-home-hero .kc-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
}
.kc-home-hero .kc-hero-media,
.kc-home-hero .kc-integration-panel {
  width: 100%;
  max-width: none;
  min-width: 0;
}
.kc-process-banner { width: 100%; max-width: none; }
.kc-support-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .85rem;
  white-space: nowrap;
}
.kc-support-links a span { min-width: 0; white-space: nowrap; }
.kc-support-links a b { flex: 0 0 auto; margin-left: auto; }

@media (max-width: 1020px) {
  .kc-home-hero .kc-hero-grid { grid-template-columns: 1fr; }
  .kc-home-hero .kc-hero-media,
  .kc-home-hero .kc-integration-panel { max-width: none; }
}

@media (max-width: 760px) {
  .kc-home-hero > .kc-shell,
  .kc-proof > .kc-shell,
  .kc-section > .kc-shell,
  .kc-home-resource > .kc-shell,
  .kc-cta > .kc-shell,
  .kc-footer > .kc-shell { width: min(calc(100% - 28px), 1160px); }
}

/* Apply the approved homepage layout system to every internal page. */
.kc-page-hero > .kc-shell,
.kc-detail-hero > .kc-shell,
.kc-list-section > .kc-shell,
.kc-support-remote > .kc-shell,
.kc-error-page > .kc-shell {
  width: min(calc(100% - 48px), 1160px);
  margin-inline: auto;
}
.kc-page-hero-grid,
.kc-detail-grid,
.kc-detail-layout,
.kc-error-grid {
  gap: clamp(2rem, 5vw, 4.5rem);
}
.kc-page-hero-grid,
.kc-detail-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, .86fr);
  align-items: center;
}
.kc-page-visual {
  width: 100%;
  min-height: 260px;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.kc-page-visual .kc-section-illustration {
  display: block;
  width: min(88%, 276px);
  height: auto;
  margin: auto;
}
.kc-page-visual .kc-page-photo {
  width: 100%;
  height: 100%;
  margin: 0;
}
.kc-page-visual .kc-page-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.kc-detail-media,
.kc-card-media {
  background: #F4F8FB;
}
.kc-detail-media img,
.kc-card-media img {
  object-position: center;
}
.kc-list-section .kc-card-grid,
.kc-section-soft .kc-card-grid {
  align-items: stretch;
}

@media (max-width: 1020px) {
  .kc-page-hero-grid,
  .kc-detail-grid,
  .kc-detail-layout,
  .kc-error-grid { grid-template-columns: 1fr; }
  .kc-page-visual { width: 100%; max-width: none; }
}

@media (max-width: 760px) {
  .kc-page-hero > .kc-shell,
  .kc-detail-hero > .kc-shell,
  .kc-list-section > .kc-shell,
  .kc-support-remote > .kc-shell,
  .kc-error-page > .kc-shell { width: min(calc(100% - 28px), 1160px); }
  .kc-page-visual { min-height: 210px; }
}

/* 2.4.4 visual refinement: remove generic proof strip and tighten page rhythm. */
.kc-home-hero { padding-block: clamp(2rem, 3.2vw, 3rem); }
.kc-section { padding-block: clamp(1.9rem, 3.3vw, 3rem); }
.kc-section-head { margin-bottom: 1rem; }
.kc-process-banner { margin-bottom: clamp(1rem, 2vw, 1.5rem); }
.kc-home-resource { padding-top: clamp(1.9rem, 3.2vw, 2.75rem); }
.kc-cta { padding-block: clamp(1.9rem, 3.2vw, 2.75rem); }

@media (max-width: 760px) {
}
