/* 首頁 AI 商業需求診斷：精品黑、象牙白與香檳金的單欄互動工作台 */
.diagnosis-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.ma-diagnosis-section {
  --diag-bg: #060606;
  --diag-panel: #101010;
  --diag-ink: #f5f2ec;
  --diag-muted: #aaa59d;
  --diag-gold: #c7a86b;
  --diag-line: rgba(199, 168, 107, .25);
  position: relative;
  overflow: hidden;
  padding: clamp(74px, 8vw, 108px) 0 clamp(84px, 10vw, 138px);
  color: var(--diag-ink);
  background:
    radial-gradient(circle at 50% 0%, rgba(199, 168, 107, .065), transparent 31%),
    linear-gradient(180deg, #0a0a0a 0%, var(--diag-bg) 58%, #030303 100%);
  isolation: isolate;
}
.ma-diagnosis-section::before { content: ''; position: absolute; z-index: -1; inset: 0; opacity: .22; background-image: linear-gradient(rgba(199,168,107,.022) 1px, transparent 1px), linear-gradient(90deg, rgba(199,168,107,.022) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent); }
.diagnosis-frame { max-width: 1000px; margin: 0 auto; }
.diagnosis-intro { max-width: 720px; margin: 0 auto; text-align: center; }
.diagnosis-kicker, .diagnosis-eyebrow { margin: 0 0 15px; color: var(--diag-gold); font-size: 11px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.diagnosis-intro h2 { margin: 0; font-family: var(--serif); font-size: clamp(2rem, 4.4vw, 3.7rem); font-weight: 500; letter-spacing: .025em; line-height: 1.38; text-wrap: balance; }
.diagnosis-intro > p:last-child { max-width: 600px; margin: 24px auto 0; color: var(--diag-muted); font-size: 15px; line-height: 2; }

#diagnosis-app { min-height: 470px; margin-top: clamp(34px, 4.5vw, 52px); border-top: 1px solid var(--diag-line); border-bottom: 1px solid var(--diag-line); scroll-margin-top: 78px; }
.diagnosis-start { display: grid; min-height: 470px; padding-bottom: 86px; place-content: center; justify-items: center; text-align: center; animation: diagnosis-stage-in .7s cubic-bezier(.2,.8,.2,1) both; }
.diagnosis-orb { position: relative; display: grid; width: 184px; height: 184px; padding: 0; place-content: center; border: 1px solid rgba(199,168,107,.76); border-radius: 50%; color: var(--diag-ink); background: rgba(8,8,8,.82); box-shadow: 0 0 0 18px rgba(199,168,107,.025), 0 28px 80px rgba(0,0,0,.42); cursor: pointer; transition: transform .45s cubic-bezier(.2,.8,.2,1), background .45s, box-shadow .45s; }
.diagnosis-orb::before, .diagnosis-orb::after { content: ''; position: absolute; border-radius: inherit; pointer-events: none; }
.diagnosis-orb::before { inset: -18px; border: 1px solid rgba(199,168,107,.2); animation: diagnosis-orbit 4s ease-in-out infinite; }
.diagnosis-orb::after { inset: 12px; border: 1px solid rgba(255,255,255,.07); }
.diagnosis-orb:hover { background: #161616; box-shadow: 0 0 0 26px rgba(199,168,107,.045), 0 30px 90px rgba(0,0,0,.52); transform: scale(1.04); }
.diagnosis-orb:focus-visible { outline: 3px solid rgba(199,168,107,.42); outline-offset: 14px; }
.diagnosis-orb strong { display: block; font-family: var(--serif); font-size: 25px; font-weight: 500; letter-spacing: .12em; }
.diagnosis-orb span { display: block; margin-top: 9px; color: var(--diag-gold); font-size: 10px; letter-spacing: .18em; }
.diagnosis-start-note { margin: 40px 0 0; color: #8f8980; font-size: 12px; letter-spacing: .12em; }

.diagnosis-stage { max-width: 800px; min-height: 570px; margin: 0 auto; padding: clamp(50px, 7vw, 80px) 0; animation: diagnosis-stage-in .62s cubic-bezier(.2,.8,.2,1) both; transition: opacity .19s ease, transform .19s ease, filter .19s ease; }
.diagnosis-stage.is-leaving { opacity: 0; filter: blur(6px); transform: translateY(-12px); }
.diagnosis-progress { margin-top: 26px; padding: 17px 19px 18px; border: 1px solid rgba(199,168,107,.19); background: rgba(199,168,107,.045); }
.diagnosis-progress-copy { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; color: #918b82; }
.diagnosis-progress-copy > span { font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.diagnosis-progress-copy strong { color: var(--diag-gold); font-family: var(--serif); font-size: 21px; font-weight: 500; letter-spacing: .08em; line-height: 1; }
.diagnosis-progress-copy small { color: #777168; font-family: inherit; font-size: 11px; font-weight: 500; }
.diagnosis-progress-track { height: 4px; margin-top: 13px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.1); }
.diagnosis-progress-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #9f8046, #e2ca99); box-shadow: 0 0 14px rgba(199,168,107,.28); transition: width .4s ease; }
.diagnosis-stage h3 { max-width: 19em; margin: 0; outline: 0; font-family: var(--serif); font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 500; letter-spacing: .025em; line-height: 1.48; text-wrap: balance; }
.diagnosis-help { max-width: 610px; margin: 17px 0 34px; color: var(--diag-muted); font-size: 14px; line-height: 1.9; }
.diagnosis-question-stage fieldset { margin: 0; padding: 0; border: 0; }
.diagnosis-question-stage.is-adaptive h3 { max-width: 24em; font-size: clamp(1.55rem, 3vw, 2.25rem); line-height: 1.5; }
.diagnosis-composite-stage { max-width: 840px; }
.diagnosis-composite-stage .diagnosis-simple-field { display: block; margin-bottom: 31px; }
.diagnosis-composite-stage .diagnosis-reason-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.diagnosis-context-fields { display: grid; gap: 28px; }
.diagnosis-context-fields .diagnosis-voice-field { padding-bottom: 4px; }
.diagnosis-context-fields textarea { min-height: 96px; }
.diagnosis-options { display: grid; gap: 9px; }
.diagnosis-option { opacity: 0; transform: translateY(15px); animation: diagnosis-option-in .45s cubic-bezier(.2,.8,.2,1) forwards; animation-delay: calc(var(--option-index) * 65ms + 140ms); }
.diagnosis-option input { position: absolute; opacity: 0; pointer-events: none; }
.diagnosis-option label { display: grid; min-height: 64px; padding: 15px 18px; grid-template-columns: 22px 1fr; gap: 14px; align-items: center; border: 1px solid rgba(255,255,255,.1); color: #ded9d1; background: rgba(255,255,255,.025); cursor: pointer; font-size: 14px; line-height: 1.65; transition: border-color .25s, color .25s, background .25s, transform .25s; }
.diagnosis-option label:hover { border-color: rgba(199,168,107,.45); background: rgba(199,168,107,.05); transform: translateX(4px); }
.diagnosis-choice-mark { width: 18px; height: 18px; border: 1px solid #756f66; border-radius: 50%; box-shadow: inset 0 0 0 4px var(--diag-bg); transition: .25s; }
.diagnosis-option input:checked + label { color: #fff; border-color: var(--diag-gold); background: rgba(199,168,107,.11); }
.diagnosis-option input:checked + label .diagnosis-choice-mark { border-color: var(--diag-gold); background: var(--diag-gold); }
.diagnosis-option input:focus-visible + label { outline: 3px solid rgba(199,168,107,.3); outline-offset: 2px; }
.diagnosis-question-stage form.has-selection .diagnosis-option:not(:has(input:checked)) { opacity: .3 !important; transition: opacity .2s; }

.diagnosis-field-label, .diagnosis-lead-form label > span:first-child { display: block; margin-bottom: 9px; color: var(--diag-gold); font-size: 11px; font-weight: 700; letter-spacing: .13em; }
.diagnosis-field-heading { display: flex; min-height: 42px; align-items: center; justify-content: space-between; gap: 18px; }
.diagnosis-field-heading .diagnosis-field-label { margin: 0; }
.diagnosis-voice-controls { display: flex; align-items: center; gap: 9px; }
.diagnosis-voice-languages { display: inline-flex; padding: 3px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(255,255,255,.025); }
.diagnosis-voice-languages button { min-width: 34px; height: 28px; padding: 0 8px; border: 0; border-radius: 999px; color: #7f7a72; background: transparent; cursor: pointer; font: inherit; font-size: 9px; font-weight: 700; letter-spacing: .08em; transition: color .2s, background .2s; }
.diagnosis-voice-languages button.is-selected { color: #090909; background: var(--diag-gold); }
.diagnosis-voice-languages button:focus-visible, .diagnosis-voice-toggle:focus-visible { outline: 2px solid rgba(199,168,107,.55); outline-offset: 3px; }
.diagnosis-voice-languages button:disabled { cursor: not-allowed; opacity: .45; }
.diagnosis-voice-toggle { position: relative; display: grid; width: 40px; height: 40px; padding: 0; place-content: center; border: 1px solid rgba(199,168,107,.48); border-radius: 50%; color: var(--diag-gold); background: rgba(199,168,107,.045); cursor: pointer; transition: color .25s, background .25s, border-color .25s, transform .25s, box-shadow .25s; }
.diagnosis-voice-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.diagnosis-voice-toggle:hover { color: #080808; border-color: var(--diag-gold); background: var(--diag-gold); transform: translateY(-1px); }
.diagnosis-voice-toggle.is-listening { color: #080808; border-color: #dfc895; background: #dfc895; box-shadow: 0 0 0 7px rgba(199,168,107,.11); animation: diagnosis-voice-pulse 1.5s ease-in-out infinite; }
.diagnosis-voice-toggle:disabled { cursor: not-allowed; opacity: .36; transform: none; }
.diagnosis-voice-status { min-height: 19px; margin: 9px 0 0; color: #767169; font-size: 10px; line-height: 1.65; }
.diagnosis-voice-status[data-state='listening'], .diagnosis-voice-status[data-state='complete'] { color: var(--diag-gold); }
.diagnosis-voice-status[data-state='error'] { color: #b58b83; }
.diagnosis-voice-field.is-unavailable .diagnosis-voice-languages { opacity: .45; }
.diagnosis-stage input[type='text'], .diagnosis-stage input[type='email'], .diagnosis-stage textarea { width: 100%; padding: 17px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.2); border-radius: 0; color: #fff; background: transparent; font: inherit; font-size: 17px; line-height: 1.75; outline: 0; transition: border-color .25s; }
.diagnosis-stage textarea { min-height: 150px; resize: vertical; }
.diagnosis-stage input::placeholder, .diagnosis-stage textarea::placeholder { color: #777168; }
.diagnosis-stage input:focus, .diagnosis-stage textarea:focus { border-color: var(--diag-gold); }
/* 瀏覽器自動填寫仍可使用，但不能用預設淺色底破壞暗色診斷介面。 */
.diagnosis-stage input[type='text']:-webkit-autofill,
.diagnosis-stage input[type='text']:-webkit-autofill:hover,
.diagnosis-stage input[type='text']:-webkit-autofill:focus,
.diagnosis-stage input[type='email']:-webkit-autofill,
.diagnosis-stage input[type='email']:-webkit-autofill:hover,
.diagnosis-stage input[type='email']:-webkit-autofill:focus,
.diagnosis-stage textarea:-webkit-autofill,
.diagnosis-stage textarea:-webkit-autofill:hover,
.diagnosis-stage textarea:-webkit-autofill:focus,
.diagnosis-stage input[type='text']:autofill,
.diagnosis-stage input[type='email']:autofill,
.diagnosis-stage textarea:autofill {
  border-bottom-color: var(--diag-gold);
  caret-color: var(--diag-ink);
  -webkit-text-fill-color: var(--diag-ink);
  -webkit-box-shadow: 0 0 0 1000px var(--diag-bg) inset;
  box-shadow: 0 0 0 1000px var(--diag-bg) inset;
}
.diagnosis-error { min-height: 22px; margin: 15px 0 0; color: #ef9a8c; font-size: 13px; }
.diagnosis-nav { display: flex; min-height: 54px; margin-top: 17px; justify-content: space-between; align-items: center; gap: 20px; }
.diagnosis-back, .diagnosis-restart { padding: 9px 0; border: 0; color: #918b82; background: transparent; cursor: pointer; font: inherit; font-size: 12px; text-decoration: underline; text-underline-offset: 5px; }
.diagnosis-back:disabled { opacity: .25; cursor: not-allowed; }
.diagnosis-auto-note { color: #817b72; font-size: 11px; letter-spacing: .08em; }
.diagnosis-next, .diagnosis-line-button { display: inline-flex; min-height: 50px; padding: 0 24px; align-items: center; justify-content: center; border: 1px solid var(--diag-gold); color: #080808; background: var(--diag-gold); cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-decoration: none; transition: transform .25s, background .25s, border-color .25s, color .25s; }
.diagnosis-next:hover, .diagnosis-line-button:hover { background: #dbc38f; transform: translateY(-2px); }
.diagnosis-secondary { min-height: 48px; padding: 0 20px; border: 1px solid rgba(245,242,236,.28); color: #b7b1a8; background: transparent; cursor: pointer; font: inherit; font-size: 12px; transition: border-color .25s, color .25s; }
.diagnosis-secondary:hover { color: var(--diag-ink); border-color: rgba(245,242,236,.6); }

.diagnosis-lead-stage { max-width: 720px; }
.diagnosis-lead-form { display: grid; grid-template-columns: 1fr 1fr; gap: 25px 34px; margin-top: 36px; }
.diagnosis-lead-form.is-email-only { grid-template-columns: 1fr; }
.diagnosis-lead-form .diagnosis-consent, .diagnosis-lead-form .diagnosis-error, .diagnosis-lead-form .diagnosis-nav { grid-column: 1 / -1; }
.diagnosis-field-note { display: block; margin-top: 9px; color: #8f897f; font-size: 12px; line-height: 1.65; }
.diagnosis-consent { display: grid; grid-template-columns: 20px 1fr; gap: 11px; color: #a9a39a; font-size: 12px; line-height: 1.75; }
.diagnosis-consent input { width: 17px; height: 17px; margin-top: 3px; accent-color: var(--diag-gold); }
.diagnosis-consent a { color: var(--diag-gold); }
.diagnosis-line-helper { max-width: 48em; margin: 15px auto 0 !important; color: #938c82; font-size: 13px !important; line-height: 1.75 !important; text-align: center; }

.diagnosis-loading { display: grid; place-content: center; justify-items: center; text-align: center; }
.diagnosis-loading h3 { max-width: 18em; }
.diagnosis-spinner { display: block; width: 52px; height: 52px; margin-bottom: 34px; border: 1px solid rgba(215,189,142,.25); border-top-color: var(--diag-gold); border-radius: 50%; animation: diagnosis-spin .85s linear infinite; }
.diagnosis-case-loading { max-width: 760px; }
.diagnosis-case-loading h3 { font-size: clamp(1.45rem, 3.2vw, 2.15rem); }
.diagnosis-case-card { width: min(100%, 610px); margin-top: 31px; padding: 25px 27px 22px; border: 1px solid rgba(199,168,107,.22); text-align: left; background: linear-gradient(115deg, rgba(199,168,107,.095), rgba(255,255,255,.025)); box-shadow: 0 24px 70px rgba(0,0,0,.25); }
.diagnosis-case-card > span { display: block; color: var(--diag-gold); font-size: 9px; font-weight: 700; letter-spacing: .18em; }
.diagnosis-case-card > strong { display: block; margin-top: 10px; color: var(--diag-ink); font-family: var(--serif); font-size: clamp(1.2rem, 2.6vw, 1.6rem); font-weight: 500; line-height: 1.5; }
.diagnosis-case-card > p { margin: 9px 0 0; color: var(--diag-muted); font-size: 12px; line-height: 1.8; }
.diagnosis-case-dots { display: flex; margin-top: 19px; gap: 7px; }
.diagnosis-case-dots i { width: 20px; height: 2px; background: rgba(255,255,255,.13); transition: width .3s, background .3s; }
.diagnosis-case-dots i.is-active { width: 38px; background: var(--diag-gold); }
.diagnosis-case-source { margin: 13px 0 0; color: #6f6a62; font-size: 9px; letter-spacing: .04em; }

.diagnosis-checkpoint { max-width: 760px; }
.diagnosis-checkpoint-value { display: grid; margin-top: 32px; grid-template-columns: 1fr 1fr; gap: 10px; }
.diagnosis-checkpoint-value > div { padding: 22px 23px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.025); }
.diagnosis-checkpoint-value > div:last-child { border-color: rgba(199,168,107,.31); background: rgba(199,168,107,.07); }
.diagnosis-checkpoint-value span { display: block; color: #888279; font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.diagnosis-checkpoint-value strong { display: block; margin-top: 10px; color: #d9d4cc; font-size: 13px; line-height: 1.65; }
.diagnosis-checkpoint-actions { display: grid; margin-top: 20px; gap: 9px; }
.diagnosis-checkpoint-actions .diagnosis-next, .diagnosis-checkpoint-actions .diagnosis-secondary { width: 100%; }
.diagnosis-checkpoint > .diagnosis-back { display: block; margin: 15px auto 0; }

.diagnosis-result { max-width: 860px; }
.diagnosis-result-simple { max-width: 720px; }
.diagnosis-result-simple .diagnosis-report-ready { margin-top: 36px; }
.diagnosis-result > h3 { max-width: 18em; }
.diagnosis-result-summary { max-width: 680px; margin: 22px 0 0; color: #d1ccc4; font-family: var(--serif); font-size: clamp(1.1rem, 2.3vw, 1.4rem); line-height: 1.85; }
.diagnosis-maturity-hero { display: grid; grid-template-columns: 132px 1fr; gap: 34px; align-items: center; padding-bottom: 42px; border-bottom: 1px solid var(--diag-line); }
.diagnosis-maturity-hero > div:last-child > p:first-child { margin: 0 0 8px; color: #8f8980; font-size: 11px; letter-spacing: .12em; }
.diagnosis-maturity-hero .diagnosis-result-summary { margin-top: 13px; }
.diagnosis-level-seal { position: relative; display: grid; width: 128px; height: 128px; place-content: center; justify-items: center; border: 1px solid rgba(199,168,107,.7); border-radius: 50%; color: var(--diag-gold); box-shadow: 0 0 0 11px rgba(199,168,107,.035), inset 0 0 45px rgba(199,168,107,.035); }
.diagnosis-level-seal::after { content: ''; position: absolute; inset: 12px; border: 1px solid rgba(255,255,255,.07); border-radius: 50%; }
.diagnosis-level-seal strong { font-family: var(--serif); font-size: 42px; font-weight: 500; line-height: 1; }
.diagnosis-level-seal span { margin-top: 7px; color: #817b72; font-size: 10px; letter-spacing: .14em; }
.diagnosis-maturity-ladder { position: relative; display: grid; margin: 36px 0 0; padding: 0; grid-template-columns: repeat(5, 1fr); gap: 8px; list-style: none; }
.diagnosis-maturity-ladder::before { content: ''; position: absolute; top: 21px; right: 7%; left: 7%; height: 1px; background: rgba(255,255,255,.1); }
.diagnosis-maturity-ladder li { position: relative; z-index: 1; padding: 0 8px 13px; color: #777168; background: var(--diag-bg); }
.diagnosis-maturity-ladder li > span { display: grid; width: 42px; height: 42px; margin: 0 auto 13px; place-content: center; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; background: var(--diag-bg); font-size: 10px; letter-spacing: .1em; }
.diagnosis-maturity-ladder li div { text-align: center; }
.diagnosis-maturity-ladder strong { display: block; color: #928c83; font-size: 11px; font-weight: 600; letter-spacing: .06em; }
.diagnosis-maturity-ladder small { display: none; }
.diagnosis-maturity-ladder .is-passed > span { color: #a59f96; border-color: rgba(199,168,107,.3); }
.diagnosis-maturity-ladder .is-current { color: var(--diag-gold); }
.diagnosis-maturity-ladder .is-current > span { color: #060606; border-color: var(--diag-gold); background: var(--diag-gold); box-shadow: 0 0 0 7px rgba(199,168,107,.09); }
.diagnosis-maturity-ladder .is-current strong { color: var(--diag-ink); }
.diagnosis-insight-grid { display: grid; margin-top: 44px; grid-template-columns: 1.15fr .85fr; gap: 12px; }
.diagnosis-insight-grid section { padding: 26px 27px; border: 1px solid rgba(255,255,255,.075); background: rgba(255,255,255,.025); }
.diagnosis-insight-grid ul { display: grid; margin: 0; padding: 0; gap: 10px; list-style: none; }
.diagnosis-insight-grid li { position: relative; padding-left: 20px; color: #d0cbc3; font-size: 13px; line-height: 1.75; }
.diagnosis-insight-grid li::before { content: '·'; position: absolute; left: 3px; color: var(--diag-gold); font-size: 19px; line-height: 1.1; }
.diagnosis-insight-grid section > p:last-child { margin: 0; color: #e2ddd5; font-family: var(--serif); font-size: 18px; line-height: 1.75; }
.diagnosis-next-stage-card { display: grid; margin-top: 12px; padding: 29px 30px; grid-template-columns: .72fr 1.28fr; gap: 35px; align-items: center; border-left: 2px solid var(--diag-gold); background: linear-gradient(110deg, rgba(199,168,107,.12), rgba(255,255,255,.025)); }
.diagnosis-next-stage-card h4 { margin: 0; font-family: var(--serif); font-size: clamp(1.35rem, 2.6vw, 1.85rem); font-weight: 500; line-height: 1.45; }
.diagnosis-next-stage-card > p { margin: 0; color: #d1ccc4; font-size: 13px; line-height: 1.85; }
.diagnosis-public-diagnosis { margin-top: 48px; padding: clamp(28px, 5vw, 46px); border: 1px solid rgba(199,168,107,.24); background: rgba(5,5,5,.68); box-shadow: 0 25px 70px rgba(0,0,0,.28); }
.diagnosis-public-diagnosis > h4 { max-width: 26em; margin: 0; font-family: var(--serif); font-size: clamp(1.25rem, 2.8vw, 1.8rem); font-weight: 500; line-height: 1.7; }
.diagnosis-public-points { display: grid; margin-top: 29px; gap: 0; }
.diagnosis-public-points > div { display: grid; padding: 20px 0; grid-template-columns: 132px 1fr; gap: 24px; border-top: 1px solid rgba(255,255,255,.08); }
.diagnosis-public-points span { color: #8b857c; font-size: 10px; font-weight: 700; letter-spacing: .12em; }
.diagnosis-public-points p { margin: 0; color: #cec9c1; font-size: 13px; line-height: 1.85; }
.diagnosis-public-points .is-action span, .diagnosis-public-points .is-action p { color: var(--diag-gold); }
.diagnosis-result-value { display: grid; margin: 42px 0 0; padding: 28px 0; grid-template-columns: .85fr 1.15fr; gap: 38px; border-top: 1px solid var(--diag-line); border-bottom: 1px solid var(--diag-line); }
.diagnosis-result-value > p { margin: 0; color: var(--diag-gold); font-family: var(--serif); font-size: 20px; line-height: 1.65; }
.diagnosis-result-value ul { display: grid; margin: 0; padding: 0; gap: 11px; list-style: none; }
.diagnosis-result-value li { position: relative; padding-left: 25px; color: #d0cbc3; font-size: 13px; line-height: 1.7; }
.diagnosis-result-value li::before { content: '✓'; position: absolute; left: 0; color: var(--diag-gold); }
.diagnosis-report-ready { margin-top: 42px; padding: clamp(27px, 5vw, 45px); border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.035); }
.diagnosis-report-ready h4 { margin: 0; font-family: var(--serif); font-size: clamp(1.5rem, 3vw, 2.15rem); font-weight: 500; line-height: 1.5; }
.diagnosis-report-ready > p:not(.diagnosis-eyebrow):not(.diagnosis-preview-note) { max-width: 620px; margin: 13px 0 0; color: var(--diag-muted); font-size: 13px; line-height: 1.85; }
.diagnosis-full-report-list { display: grid; margin: 22px 0 28px; padding: 0; grid-template-columns: repeat(3, 1fr); gap: 8px; list-style: none; }
.diagnosis-full-report-list li { padding: 13px 14px; border: 1px solid rgba(255,255,255,.07); color: var(--diag-muted); background: rgba(0,0,0,.16); font-size: 11px; line-height: 1.65; }
.diagnosis-result-actions { display: grid; grid-template-columns: 1.08fr .92fr; gap: 10px; }
.diagnosis-result-actions.is-single { grid-template-columns: 1fr; }
.diagnosis-consult-button, .diagnosis-product-link { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.diagnosis-consult-button { min-height: 54px; padding: 0 18px; color: #060606; background: var(--diag-gold); font-size: 12px; font-weight: 700; letter-spacing: .04em; transition: transform .25s, background .25s; }
.diagnosis-consult-button:hover { background: #dbc38f; transform: translateY(-2px); }
.diagnosis-result-actions .diagnosis-line-button { min-height: 54px; padding-inline: 16px; font-size: 11px; letter-spacing: .03em; }
.diagnosis-product-link { margin-top: 18px; justify-content: flex-start; color: #969087; font-size: 11px; text-decoration: underline; text-underline-offset: 5px; }
.diagnosis-match { display: flex; margin: 24px 0; padding: 13px 15px; align-items: center; gap: 13px; border-left: 2px solid var(--diag-gold); background: rgba(0,0,0,.16); font-size: 12px; }
.diagnosis-match span { color: #8f8980; }
.diagnosis-match strong { color: #fff; font-weight: 600; }
.diagnosis-match button { margin-left: auto; border: 0; color: var(--diag-gold); background: transparent; cursor: pointer; font: inherit; font-size: 11px; text-decoration: underline; }
.diagnosis-preview-note { margin: 0 0 18px; padding: 10px 13px; color: var(--diag-gold); background: rgba(199,168,107,.09); font-size: 11px; line-height: 1.7; }
.diagnosis-line-button { color: var(--diag-ink); border-color: rgba(245,242,236,.48); background: transparent; }
.diagnosis-line-button:hover { color: #080808; border-color: var(--diag-gold); background: var(--diag-gold); }
.diagnosis-restart { display: block; margin: 24px auto -22px; }
.diagnosis-failure { display: grid; place-content: center; justify-items: start; }
.diagnosis-failure > p:not(.diagnosis-eyebrow) { color: var(--diag-muted); }
.diagnosis-failure-actions { display: flex; margin-top: 24px; align-items: center; gap: 12px; flex-wrap: wrap; }

/* 首頁收尾：讓診斷區與頁尾共用同一套精品黑色視覺，不再透出灰色底。 */
.ma-page .footer {
  position: relative;
  padding: 84px 0 40px;
  border-top: 1px solid rgba(199,168,107,.28);
  color: #f5f2ec;
  background:
    radial-gradient(circle at 18% 0%, rgba(199,168,107,.045), transparent 26%),
    #030303;
}
.ma-page .footer-grid2 { gap: 0; }
.ma-page .footer-brand-col { padding-right: clamp(34px, 5vw, 72px); }
.ma-page .footer-brand-title {
  margin-bottom: 0;
  color: #f5f2ec;
  font-family: "Noto Serif TC", "Songti TC", serif;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: .16em;
}
.ma-page .footer-brand-desc {
  max-width: 320px;
  margin-top: 19px;
  color: rgba(245,242,236,.58);
  font-size: 14px;
  line-height: 1.95;
}
.ma-page .footer-col {
  min-height: 100%;
  padding-left: clamp(22px, 2.6vw, 36px);
  border-left: 1px solid rgba(245,242,236,.14);
}
.ma-page .footer-col h4 {
  margin: 0 0 22px;
  color: #c7a86b;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .23em;
}
.ma-page .footer-col a,
.ma-page .footer-col a:visited {
  margin-bottom: 12px;
  color: rgba(245,242,236,.72);
  font-size: 14px;
  line-height: 1.7;
  text-decoration: none;
}
.ma-page .footer-col a:hover,
.ma-page .footer-col a:focus-visible {
  color: #f5f2ec;
  text-decoration: underline;
  text-decoration-color: #c7a86b;
  text-underline-offset: 5px;
}
.ma-page .footer-bottom2 {
  margin-top: 54px;
  padding-top: 25px;
  border-top: 1px solid rgba(245,242,236,.14);
}
.ma-page .footer-bottom p {
  color: rgba(245,242,236,.42);
  font-size: 12px;
  letter-spacing: .05em;
}
.ma-page .footer-social a,
.ma-page .footer-social a:visited {
  width: 42px;
  height: 42px;
  border-color: rgba(245,242,236,.28);
  color: rgba(245,242,236,.78);
  background: transparent;
}
.ma-page .footer-social a:hover,
.ma-page .footer-social a:focus-visible {
  border-color: #f5f2ec;
  color: #030303;
  background: #f5f2ec;
}
.ma-page .footer a:focus-visible { outline: 1px solid #c7a86b; outline-offset: 4px; }

@keyframes diagnosis-stage-in { from { opacity: 0; filter: blur(8px); transform: translateY(22px); } to { opacity: 1; filter: blur(0); transform: none; } }
@keyframes diagnosis-option-in { to { opacity: 1; transform: none; } }
@keyframes diagnosis-orbit { 0%,100% { opacity: .55; transform: scale(.98); } 50% { opacity: 1; transform: scale(1.04); } }
@keyframes diagnosis-spin { to { transform: rotate(360deg); } }
@keyframes diagnosis-voice-pulse { 0%,100% { box-shadow: 0 0 0 6px rgba(199,168,107,.08); } 50% { box-shadow: 0 0 0 12px rgba(199,168,107,.02); } }

@media (max-width: 760px) {
  .ma-diagnosis-section { padding: 78px 0 82px; }
  .diagnosis-intro { text-align: left; }
  .diagnosis-intro h2 { font-size: 34px; line-height: 1.35; }
  .diagnosis-intro > p:last-child { margin-left: 0; }
  #diagnosis-app { min-height: 470px; margin-top: 38px; }
  .diagnosis-start { min-height: 470px; padding-bottom: 66px; }
  .diagnosis-orb { width: 158px; height: 158px; }
  .diagnosis-stage { min-height: 560px; padding: 48px 0; }
  .diagnosis-stage h3 { font-size: 29px; line-height: 1.45; }
  .diagnosis-question-stage.is-adaptive h3 { font-size: 24px; line-height: 1.5; }
  .diagnosis-help { margin-bottom: 28px; }
  .diagnosis-composite-stage .diagnosis-reason-options, .diagnosis-checkpoint-value { grid-template-columns: 1fr; }
  .diagnosis-context-fields { gap: 24px; }
  .diagnosis-field-heading { align-items: flex-start; }
  .diagnosis-case-card { padding: 22px 20px 19px; }
  .diagnosis-option label { min-height: 59px; padding: 13px 14px; }
  .diagnosis-nav { align-items: stretch; flex-direction: column-reverse; }
  .diagnosis-next { width: 100%; }
  .diagnosis-auto-note { align-self: flex-end; }
  .diagnosis-back { align-self: center; }
  .diagnosis-lead-form { grid-template-columns: 1fr; gap: 24px; }
  .diagnosis-lead-form .diagnosis-consent, .diagnosis-lead-form .diagnosis-error, .diagnosis-lead-form .diagnosis-nav { grid-column: auto; }
  .diagnosis-result-value { grid-template-columns: 1fr; gap: 20px; }
  .diagnosis-maturity-hero { grid-template-columns: 92px 1fr; gap: 20px; padding-bottom: 34px; }
  .diagnosis-level-seal { width: 88px; height: 88px; box-shadow: 0 0 0 7px rgba(199,168,107,.035); }
  .diagnosis-level-seal strong { font-size: 31px; }
  .diagnosis-maturity-ladder { grid-template-columns: 1fr; gap: 0; margin-top: 28px; }
  .diagnosis-maturity-ladder::before { top: 15px; bottom: 15px; right: auto; left: 16px; width: 1px; height: auto; }
  .diagnosis-maturity-ladder li { display: grid; min-height: 48px; padding: 5px 0; grid-template-columns: 34px 1fr; gap: 13px; align-items: center; }
  .diagnosis-maturity-ladder li > span { width: 32px; height: 32px; margin: 0; font-size: 9px; }
  .diagnosis-maturity-ladder li div { text-align: left; }
  .diagnosis-maturity-ladder small { display: block; margin-top: 3px; color: #777168; font-size: 10px; line-height: 1.55; }
  .diagnosis-maturity-ladder .is-current small { color: #aaa39a; }
  .diagnosis-insight-grid { grid-template-columns: 1fr; margin-top: 32px; }
  .diagnosis-insight-grid section { padding: 23px 21px; }
  .diagnosis-next-stage-card { grid-template-columns: 1fr; gap: 14px; padding: 25px 22px; }
  .diagnosis-public-diagnosis { margin-top: 36px; }
  .diagnosis-public-points > div { grid-template-columns: 1fr; gap: 8px; }
  .diagnosis-full-report-list, .diagnosis-result-actions { grid-template-columns: 1fr; }
  .diagnosis-consult-button { width: 100%; text-align: center; }
  .diagnosis-match { align-items: flex-start; flex-wrap: wrap; }
  .diagnosis-match button { margin-left: 0; }
  .diagnosis-line-button { width: 100%; padding-inline: 14px; text-align: center; }
  .diagnosis-failure-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .diagnosis-failure-actions .diagnosis-next { width: 100%; }
  .ma-page .footer { padding: 64px 0 34px; }
  .ma-page .footer-grid2 { grid-template-columns: 1fr; }
  .ma-page .footer-brand-col { grid-column: auto; padding: 0 0 30px; }
  .ma-page .footer-col { padding: 25px 0 11px; border-top: 1px solid rgba(245,242,236,.14); border-left: 0; }
  .ma-page .footer-bottom2 { align-items: flex-start; flex-direction: column; margin-top: 30px; }
}

@media (prefers-reduced-motion: reduce) {
  .diagnosis-orb::before, .diagnosis-spinner, .diagnosis-stage, .diagnosis-option, .diagnosis-voice-toggle.is-listening { animation: none; }
  .diagnosis-stage, .diagnosis-progress i, .diagnosis-option label { transition: none; }
}
