.info-page {
    --info-ink: #143f45;
    --info-copy: #526d70;
    --info-line: rgba(20, 63, 69, .13);
    --info-paper: #fffdf8;
    --info-warm: #f7ead6;
    --info-mint: #dfeee9;
    color: var(--info-ink);
    overflow: clip;
    background: #f8f5ee;
}

.info-page *,
.info-page *::before,
.info-page *::after { box-sizing: border-box; }

.info-page a { text-underline-offset: 3px; }
.info-page p { color: var(--info-copy); }
.info-page section[id],
.info-page h2[id],
.info-page .application-result-card { scroll-margin-top: 100px; }

/* 數值來自 site.css 的標題單一來源；這裡不再自訂尺寸與顏色 */
.info-eyebrow {
    margin: 0 0 var(--eyebrow-gap);
    color: var(--eyebrow-color) !important;
    font-size: var(--eyebrow-size);
    font-weight: var(--eyebrow-weight);
    letter-spacing: var(--eyebrow-ls);
    text-transform: uppercase;
}

/* header 在 hero 上透明浮著，捲動後才實體化。
   對齊首頁（homepage-v5.css:10）、商品目錄（product-catalog.css:3）與
   商品書頁（product-book-pages.css:53）——原本只有這兩頁沒有，所以 header 長得不一樣。 */
.page-application .site-header:not(.is-scrolled),
.page-safety .site-header:not(.is-scrolled) {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

.info-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    /* 與首頁／商品目錄一致的滿版；原本是 min(760px, 100svh - 72px)，
       那個 72px 是手寫的魔術數字，header 高度一改就對不上，改用 --header-h。 */
    min-height: 100svh;
    padding: calc(var(--header-h) + clamp(38px, 6vh, 72px)) 0 clamp(48px, 7vh, 82px);
    border-bottom: 1px solid var(--info-line);
}

.info-hero::before,
.info-hero::after {
    position: absolute;
    z-index: -1;
    content: "";
    pointer-events: none;
}

.application-info-hero {
    background:
        radial-gradient(circle at 75% 15%, rgba(119, 171, 161, .22), transparent 31%),
        linear-gradient(132deg, #fffaf1 0%, #f5ead7 48%, #e7f0ed 100%);
}

.application-info-hero::before {
    width: min(48vw, 720px);
    aspect-ratio: 1;
    right: -8%;
    bottom: -47%;
    border: 1px solid rgba(20, 63, 69, .1);
    border-radius: 50%;
}

.safety-info-hero {
    background:
        radial-gradient(circle at 82% 18%, rgba(229, 174, 94, .2), transparent 28%),
        linear-gradient(130deg, #f3f7f4 0%, #e7f0ec 54%, #fbf4e9 100%);
}

.safety-info-hero::before {
    inset: 0;
    opacity: .36;
    background-image: radial-gradient(rgba(20, 63, 69, .17) .7px, transparent .7px);
    background-size: 20px 20px;
}

.info-hero-layout {
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(440px, .84fr);
    align-items: center;
    gap: clamp(48px, 7vw, 112px);
}

.info-hero-copy { min-width: 0; }
.info-hero-copy h1 {
    max-width: 850px;
    margin: 0;
    color: var(--info-ink);
    font-size: var(--title-hero);
    font-weight: var(--title-hero-weight);
    line-height: var(--title-hero-lh);
    letter-spacing: var(--title-hero-ls);
    text-wrap: balance;
}

/* 安心頁原本自己再寫一套字級（46-72px），改了共用來源它不會跟著動。
   已移除，統一吃 --title-hero。 */

.info-hero-intro {
    max-width: 720px;
    margin-top: clamp(24px, 3.5vh, 38px);
}

.info-hero-intro p {
    margin: 0;
    font-size: clamp(16px, 1.15vw, 20px);
    line-height: 1.8;
}

.info-hero-intro p + p { margin-top: 8px; }
.info-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.info-hero-actions .button { min-height: 52px; padding-inline: 24px; }

.application-path-map {
    position: relative;
    min-width: 0;
    padding: clamp(24px, 3vw, 38px);
    border: 1px solid rgba(255, 255, 255, .78);
    border-radius: 32px;
    background: rgba(255, 253, 248, .82);
    box-shadow: 0 30px 80px rgba(42, 74, 72, .12);
    backdrop-filter: blur(16px);
}

.application-path-source { padding-bottom: 18px; border-bottom: 1px solid var(--info-line); }
.application-path-source span { display: block; margin-bottom: 6px; color: #8d6c55; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.application-path-source strong { font-size: clamp(22px, 2vw, 30px); line-height: 1.25; }
.application-path-lanes { display: grid; gap: 12px; margin: 18px 0; }
.application-path-lanes article { display: grid; grid-template-columns: 42px 1fr; gap: 13px; align-items: start; padding: 14px 16px; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px rgba(20, 63, 69, .08); }
.application-path-number { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--info-ink); color: #fff; font-size: 11px; font-weight: 850; }
.application-path-lanes strong { display: block; margin: 1px 0 3px; font-size: 17px; }
.application-path-lanes p { margin: 0; font-size: 14px; line-height: 1.55; }
.application-path-outcomes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.application-path-outcomes span { display: grid; min-height: 55px; place-items: center; border-radius: 15px; background: var(--info-mint); font-size: 15px; font-weight: 850; }
.application-path-outcomes span:nth-child(2n) { background: var(--info-warm); }
.application-path-map > small { display: block; margin-top: 14px; color: #738284; font-size: 12px; line-height: 1.55; }

.safety-hero-layout { grid-template-columns: minmax(0, 1.06fr) minmax(430px, .74fr); }
.safety-lifecycle { margin: 0; padding: clamp(18px, 2.5vw, 30px); list-style: none; border: 1px solid rgba(255,255,255,.84); border-radius: 30px; background: rgba(255,253,248,.83); box-shadow: 0 28px 76px rgba(37,68,66,.1); }
.safety-lifecycle li { position: relative; display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; padding: 14px 0; }
.safety-lifecycle li + li { border-top: 1px solid var(--info-line); }
.safety-lifecycle li > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #dcece6; color: var(--info-ink); font-size: 11px; font-weight: 900; }
.safety-lifecycle strong { display: block; margin-bottom: 2px; font-size: 17px; }
.safety-lifecycle p { margin: 0; font-size: 13px; line-height: 1.5; }

.info-section { padding: clamp(72px, 9vw, 132px) 0; }
.info-section + .info-section { border-top: 1px solid var(--info-line); }
.info-section-heading { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); align-items: end; gap: 48px; margin-bottom: clamp(38px, 5vw, 70px); }
.info-section-heading.compact { grid-template-columns: 1fr; }
.info-section-heading h2,
.application-workflow-new h2 {
    max-width: 880px;
    margin: 0;
    color: var(--info-ink);
    font-size: var(--title-section);
    font-weight: var(--title-section-weight);
    line-height: var(--title-section-lh);
    letter-spacing: var(--title-section-ls);
    text-wrap: balance;
}
.info-section-heading > p { margin: 0; font-size: 17px; line-height: 1.75; }

.application-personalization { background: #fffdf8; }
.application-personal-process { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.application-personal-process li { display: grid; grid-template-columns: 42px 1fr; gap: 13px; min-width: 0; padding: 22px; border: 1px solid var(--info-line); border-radius: 20px; background: #f6f1e8; }
.application-personal-process li > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: #fff; background: var(--info-ink); font-size: 10px; font-weight: 900; }
.application-personal-process strong { display: block; margin: 2px 0 6px; font-size: 17px; line-height: 1.35; }
.application-personal-process p { margin: 0; font-size: 14px; line-height: 1.65; }
.application-personal-scope { margin-top: 28px; border-top: 1px solid var(--info-line); }
.application-personal-scope article { display: grid; grid-template-columns: 42px minmax(180px, .58fr) minmax(0, 1.42fr); gap: 18px; align-items: baseline; padding: 19px 0; border-bottom: 1px solid var(--info-line); }
.application-personal-scope article > span { color: #a65e30; font-size: 11px; font-weight: 900; }
.application-personal-scope h3 { margin: 0; font-size: 20px; }
.application-personal-scope p { margin: 0; line-height: 1.68; }
.application-public-evidence { display: grid; grid-template-columns: minmax(240px, .68fr) minmax(0, 1.32fr); gap: 34px; margin-top: 32px; padding: clamp(24px, 3vw, 38px); border-radius: 26px; color: #fff; background: var(--info-ink); }
.application-public-evidence > div:first-child > span { color: #efc58f; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.application-public-evidence h3 { margin: 10px 0 12px; color: #fff; font-size: clamp(25px, 2.3vw, 34px); line-height: 1.2; }
.application-public-evidence p { margin: 0; color: rgba(255,255,255,.74); line-height: 1.65; }
.application-evidence-keys { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.application-evidence-keys article { min-width: 0; padding: 18px; border: 1px solid rgba(255,255,255,.14); border-radius: 17px; background: rgba(255,255,255,.07); }
.application-evidence-keys small { display: block; color: #b8d9d0; font-size: 10px; font-weight: 850; }
.application-evidence-keys strong { display: block; margin: 8px 0; color: #fff; font-size: 17px; line-height: 1.3; overflow-wrap: anywhere; }
.application-evidence-keys p { font-size: 12px; }
.application-ai-origin { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 28px; margin-top: 18px; padding: 23px 26px; border: 1px solid rgba(166,94,48,.22); border-radius: 20px; background: #fbf0df; }
.application-ai-origin span { color: #a65e30; font-size: 12px; font-weight: 900; letter-spacing: .05em; }
.application-ai-origin p { margin: 0; line-height: 1.72; }

.application-needs { background: #f8f5ee; }
.application-need-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.application-need-list > a { position: relative; display: grid; grid-template-columns: 34px 1fr 52px; gap: 18px; min-width: 0; padding: clamp(22px, 2.6vw, 34px); border: 1px solid var(--info-line); border-radius: 24px; color: inherit; background: rgba(255,255,255,.7); text-decoration: none; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.application-need-list > a:hover { transform: translateY(-3px); border-color: rgba(20,63,69,.3); background: #fff; }
.application-need-list > a > span { color: #a65e30; font-size: 12px; font-weight: 850; }
.application-need-list small { color: #78908e; font-size: 12px; font-weight: 800; }
.application-need-list h3 { margin: 6px 0 8px; font-size: clamp(23px, 2vw, 30px); }
.application-need-list p { margin: 0; line-height: 1.7; }
.application-need-list b { display: grid; width: 48px; height: 48px; place-items: center; align-self: center; border-radius: 50%; background: var(--info-warm); font-size: 14px; }
.application-need-list > a:nth-child(2n) b { background: var(--info-mint); }

.application-results { background: #fffdf8; }
.application-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.application-result-card { min-width: 0; padding: clamp(24px, 3vw, 38px); border: 1px solid var(--info-line); border-radius: 28px; background: #fff; box-shadow: 0 18px 55px rgba(42,60,55,.06); scroll-margin-top: 88px; }
.application-result-card > header > span { color: #a65e30; font-size: 12px; font-weight: 850; letter-spacing: .08em; }
.application-result-card h3 { margin: 9px 0 10px; font-size: clamp(25px, 2.35vw, 36px); line-height: 1.15; }
.application-result-card > header p { margin: 0 0 24px; line-height: 1.7; }
.application-audio-switch { display: flex; flex-wrap: wrap; gap: 8px; }
.application-audio-switch button { min-height: 38px; padding: 8px 13px; border: 1px solid var(--info-line); border-radius: 999px; color: var(--info-ink); background: #f8f5ee; font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.application-audio-switch button.is-active { border-color: var(--info-ink); color: #fff; background: var(--info-ink); }
.application-audio-player { margin-top: 18px; padding: 18px; border-radius: 18px; background: var(--info-mint); }
.application-audio-player strong { display: block; margin-bottom: 11px; font-size: 15px; }
.application-audio-player audio { display: block; width: 100%; }
.application-qa-preview { padding: 20px; border-radius: 18px; background: #f7f1e6; }
.application-qa-preview small { display: block; margin-bottom: 7px; color: #a65e30; font-weight: 800; }
.application-qa-preview > strong { display: block; font-size: 18px; line-height: 1.5; }
.application-qa-preview p { margin: 11px 0; line-height: 1.65; }
.application-qa-preview b { color: #496d6e; font-size: 12px; }
.info-text-button { margin-top: 15px; padding: 0; border: 0; color: var(--info-ink); background: transparent; font: inherit; font-weight: 850; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.application-map-trigger { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; border: 0; border-radius: 18px; background: #e8efeb; cursor: zoom-in; }
.application-map-trigger img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; object-position: top; }
.application-map-trigger span { position: absolute; right: 12px; bottom: 12px; padding: 8px 12px; border-radius: 999px; color: #fff; background: rgba(20,63,69,.9); font-size: 12px; font-weight: 800; }
.application-day-one { display: grid; grid-template-columns: 64px 1fr; gap: 16px; padding: 20px; border-radius: 18px; background: #e7f0ec; }
.application-day-one > span { color: #a65e30; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.application-day-one strong { font-size: 17px; }
.application-day-one p { margin: 7px 0 0; line-height: 1.65; }
.application-practice-more { margin-top: 12px; border-top: 1px solid var(--info-line); }
.application-practice-more summary { padding: 16px 0 4px; font-weight: 850; cursor: pointer; }
.application-practice-more ol { display: grid; gap: 9px; margin: 13px 0 0; padding: 0; list-style: none; }
.application-practice-more li { display: grid; grid-template-columns: 58px 1fr; gap: 13px; padding: 13px; border-radius: 14px; background: #f8f5ee; }
.application-practice-more li > span { color: #a65e30; font-size: 10px; font-weight: 900; }
.application-practice-more li strong { font-size: 14px; }
.application-practice-more li p { margin: 3px 0 0; font-size: 13px; line-height: 1.55; }
.application-more-results { margin-top: 20px; border: 1px solid var(--info-line); border-radius: 20px; background: #f8f5ee; }
.application-more-results summary { padding: 19px 22px; font-weight: 850; cursor: pointer; }
.application-more-results > div { padding: 0 22px 20px; }
.application-more-results p { margin-top: 0; line-height: 1.7; }
.application-more-results ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px 28px; margin: 0; padding-left: 20px; color: var(--info-copy); line-height: 1.6; }

.application-depth { background: #edf3f0; }
.application-depth-layout { display: grid; grid-template-columns: .85fr .85fr 1.3fr; gap: 16px; }
.application-depth-layout article { min-width: 0; padding: clamp(24px, 3vw, 36px); border: 1px solid rgba(20,63,69,.12); border-radius: 26px; background: rgba(255,255,255,.8); }
.application-depth-layout article > span { color: #a65e30; font-size: 12px; font-weight: 850; letter-spacing: .08em; }
.application-depth-layout h3 { margin: 9px 0; font-size: 25px; }
.application-depth-layout p { margin: 0; line-height: 1.75; }
.application-depth-oracle { color: #fff; background: var(--info-ink) !important; }
.application-depth-oracle h3, .application-depth-oracle p { color: #fff; }
.application-depth-oracle > span { color: #f4c07a !important; }
.application-depth-oracle a { display: inline-block; margin-top: 18px; color: #fff; font-weight: 850; }

.application-workflow-new { background: #fffdf8; }
.application-workflow-new-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr); gap: clamp(48px, 8vw, 112px); align-items: start; }
.application-workflow-new h2 { margin-bottom: 22px; }
.application-workflow-new-layout > div > p:not(.info-eyebrow) { font-size: 17px; line-height: 1.75; }
.application-starter-copy { margin-top: 28px; padding: 22px; border-radius: 22px; background: #f2e8d8; }
.application-starter-copy small { color: #a65e30; font-weight: 850; }
.application-starter-copy p { margin: 10px 0 15px; color: var(--info-ink); font-size: 14px; line-height: 1.7; }
.application-starter-copy button { min-height: 40px; padding: 8px 15px; border: 0; border-radius: 999px; color: #fff; background: var(--info-ink); font: inherit; font-size: 13px; font-weight: 850; cursor: pointer; }
.application-workflow-steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--info-line); }
.application-workflow-steps li { display: grid; grid-template-columns: 54px 1fr; gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--info-line); }
.application-workflow-steps li > span { color: #a65e30; font-size: 12px; font-weight: 900; }
.application-workflow-steps strong { font-size: 19px; }
.application-workflow-steps p { margin: 5px 0 0; line-height: 1.65; }

.application-boundary-new { background: #f8f5ee; }
.application-boundary-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.application-boundary-list article { padding: 22px; border-radius: 20px; background: #fff; box-shadow: inset 0 0 0 1px var(--info-line); }
.application-boundary-list span { color: #a65e30; font-size: 11px; font-weight: 900; }
.application-boundary-list strong { display: block; margin: 8px 0; font-size: 17px; }
.application-boundary-list p { margin: 0; font-size: 14px; line-height: 1.6; }
.info-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 36px; padding: 28px; border-radius: 24px; color: #fff; background: var(--info-ink); }
.info-final-cta span { display: block; margin-bottom: 4px; color: #efc07f; font-size: 12px; font-weight: 850; }
.info-final-cta strong { font-size: 21px; }
.info-final-cta > div:last-child { display: flex; flex-wrap: wrap; gap: 10px; }
.info-final-cta .button-ghost { border-color: rgba(255,255,255,.4); color: #fff; background: transparent; }

.application-info-dialog .media-lightbox-viewport { background: #f5f1e9; }
.application-qa-full { display: grid; gap: 10px; padding: 20px; }
.application-qa-full details { padding: 16px 18px; border-radius: 15px; background: #fff; }
.application-qa-full summary { display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-items: start; cursor: pointer; }
.application-qa-full summary span { color: #a65e30; font-size: 11px; font-weight: 900; }
.application-qa-full p { margin: 13px 0 8px; line-height: 1.7; }
.application-qa-full small { color: #4b706f; font-weight: 800; }

.safety-collection { background: #fffdf8; }
.safety-collection-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.safety-collection-grid article { padding: clamp(24px, 3vw, 36px); border: 1px solid var(--info-line); border-radius: 26px; background: #fff; }
.safety-collection-grid article > span,
.safety-boundary-grid article > span { display: inline-grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #dcece6; color: var(--info-ink); font-size: 11px; font-weight: 900; line-height: 1; }
.safety-collection-grid h3 { margin: 10px 0; font-size: 26px; }
.safety-collection-grid p { margin: 0; line-height: 1.7; }
.safety-personal-purpose { margin-top: 20px; padding: clamp(24px, 3vw, 38px); border: 1px solid rgba(20,63,69,.15); border-radius: 26px; background: #edf3f0; }
.safety-personal-purpose-copy { display: grid; grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr); gap: 28px; align-items: end; }
.safety-personal-purpose-copy > span { grid-column: 1 / -1; color: #a65e30; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.safety-personal-purpose-copy h3 { margin: 0; font-size: clamp(25px, 2.5vw, 36px); line-height: 1.2; }
.safety-personal-purpose-copy p { margin: 0; line-height: 1.72; }
.safety-purpose-books { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 28px 0 0; padding: 0; border-top: 1px solid var(--info-line); border-bottom: 1px solid var(--info-line); list-style: none; }
.safety-purpose-books li { min-width: 0; padding: 18px; }
.safety-purpose-books li + li { border-left: 1px solid var(--info-line); }
.safety-purpose-books strong { display: block; margin-bottom: 7px; font-size: 15px; line-height: 1.4; }
.safety-purpose-books p { margin: 0; font-size: 13px; line-height: 1.6; }

.safety-boundaries { background: #f8f5ee; }
.safety-boundary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.safety-boundary-grid article { padding: 22px; border: 1px solid var(--info-line); border-radius: 20px; background: #fff; }
.safety-boundary-grid strong { display: block; margin: 9px 0; font-size: 17px; line-height: 1.45; }
.safety-boundary-grid p { margin: 0; font-size: 14px; line-height: 1.6; }

.safety-custom-work { padding: 70px 0; background: #fffdf8; }
.safety-custom-work-layout { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: clamp(36px, 7vw, 92px); align-items: start; border-top: 1px solid var(--info-line); padding-top: 42px; }
.safety-custom-work h2 { max-width: 520px; margin: 8px 0 0; font-size: clamp(27px, 2.5vw, 36px); line-height: 1.35; }
.safety-custom-work-copy { display: grid; gap: 16px; }
.safety-custom-work-copy p { margin: 0; color: var(--info-muted); font-size: 15px; line-height: 1.8; }
.safety-custom-work-copy p + p { padding-top: 16px; border-top: 1px solid var(--info-line); }

@media (max-width: 1100px) {
    .info-hero-layout,
    .safety-hero-layout { grid-template-columns: minmax(0, 1fr) minmax(380px, .86fr); gap: 42px; }
    .application-depth-layout { grid-template-columns: repeat(2, 1fr); }
    .application-depth-oracle { grid-column: 1 / -1; }
    .application-boundary-list,
    .safety-boundary-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 820px) {
    /* 手機不強制滿版（內容比高度重要）；上內距改用 --header-h 推導，不寫死 101px */
    .info-hero { min-height: auto; padding: calc(var(--header-h) + 35px) 0 46px; }
    .safety-info-hero { min-height: 100vh; min-height: 100svh; }
    .info-hero-layout,
    .safety-hero-layout { grid-template-columns: 1fr; gap: 28px; }
    .safety-hero-layout { align-content: center; }
    .info-hero-copy h1,
    .safety-info-hero .info-hero-copy h1 { max-width: 700px; }
    .info-hero-intro { margin-top: 20px; }
    .info-hero-intro p { font-size: 16px; line-height: 1.7; }
    .application-path-map { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 20px; }
    .application-path-source { grid-column: 1 / -1; padding-bottom: 12px; }
    .application-path-lanes { margin: 0; }
    .application-path-outcomes { align-self: stretch; grid-template-columns: repeat(2, 1fr); }
    .application-path-map > small { grid-column: 1 / -1; margin-top: 0; }
    .safety-lifecycle { display: grid; grid-template-columns: repeat(4, 1fr); padding: 16px; }
    .safety-lifecycle li { display: block; min-width: 0; padding: 8px; text-align: center; }
    .safety-lifecycle li + li { border-top: 0; border-left: 1px solid var(--info-line); }
    .safety-lifecycle li > span { margin: 0 auto 8px; }
    .safety-lifecycle p { font-size: 11px; }
    .info-section { padding: 74px 0; }
    .info-section-heading { grid-template-columns: 1fr; gap: 18px; }
    .application-personal-process { grid-template-columns: 1fr; }
    .application-public-evidence { grid-template-columns: 1fr; }
    .application-ai-origin { grid-template-columns: 1fr; gap: 8px; }
    .application-need-list,
    .application-result-grid { grid-template-columns: 1fr; }
    .application-depth-layout { grid-template-columns: 1fr; }
    .application-depth-oracle { grid-column: auto; }
    .application-workflow-new-layout { grid-template-columns: 1fr; gap: 44px; }
    .safety-collection-grid { grid-template-columns: 1fr; }
    .safety-personal-purpose-copy { grid-template-columns: 1fr; gap: 10px; }
    .safety-purpose-books { grid-template-columns: repeat(2, 1fr); }
    .safety-purpose-books li + li { border-left: 0; }
    .safety-purpose-books li:nth-child(even) { border-left: 1px solid var(--info-line); }
    .safety-purpose-books li:nth-child(n+3) { border-top: 1px solid var(--info-line); }
    .safety-custom-work-layout { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 560px) {
    .info-hero { padding: 89px 0 32px; }
/* 小標由 --eyebrow-* 統一 */
    .info-hero-copy h1 { display: block; white-space: nowrap; }
    .safety-info-page .info-hero-copy h1 { white-space: normal; }
    .info-hero-intro { margin-top: 15px; }
    .info-hero-intro p { font-size: 14px; line-height: 1.55; }
    .info-hero-intro p + p { margin-top: 5px; }
    .info-hero-actions { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 17px; }
    .info-hero-actions .button { min-height: 42px; padding: 9px 15px; font-size: 13px; }
    .application-path-map { grid-template-columns: 1fr; gap: 8px; padding: 14px; border-radius: 20px; }
    .application-path-source { grid-column: auto; }
    .application-path-source span { margin-bottom: 2px; font-size: 10px; }
    .application-path-source strong { font-size: 18px; }
    .application-path-lanes { grid-template-columns: repeat(2, 1fr); gap: 7px; }
    .application-path-lanes article { display: block; padding: 10px; border-radius: 13px; }
    .application-path-number { width: 25px; height: 25px; margin-bottom: 6px; font-size: 9px; }
    .application-path-lanes strong { font-size: 13px; }
    .application-path-lanes p { display: none; }
    .application-path-outcomes { grid-template-columns: repeat(4, 1fr); gap: 5px; }
    .application-path-outcomes span { min-height: 36px; border-radius: 10px; font-size: 11px; }
    .application-path-map > small { grid-column: auto; font-size: 10px; }
    .safety-lifecycle { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; padding: 10px 12px; border-radius: 18px; }
    .safety-lifecycle li { padding: 13px 10px; }
    .safety-lifecycle li + li { border-left: 0; }
    .safety-lifecycle li:nth-child(even) { border-left: 1px solid var(--info-line); }
    .safety-lifecycle li:nth-child(n + 3) { border-top: 1px solid var(--info-line); }
    .safety-lifecycle li > span { width: 28px; height: 28px; margin-bottom: 7px; font-size: 9px; }
    .safety-lifecycle strong { font-size: 13px; line-height: 1.45; }
    .safety-lifecycle p { display: block; margin-top: 5px; font-size: 11px; line-height: 1.55; }
    .info-section { padding: 58px 0; }
    .info-section-heading { margin-bottom: 28px; }
    .info-section-heading h2,
    .application-workflow-new h2,
    .info-section-heading > p { font-size: 15px; }
    .application-personal-process li { padding: 18px; }
    .application-personal-scope article { grid-template-columns: 30px 1fr; gap: 8px 10px; }
    .application-personal-scope article p { grid-column: 2; }
    .application-public-evidence { gap: 22px; padding: 21px; }
    .application-evidence-keys { grid-template-columns: 1fr; }
    .application-evidence-keys article { padding: 15px; }
    .application-ai-origin { padding: 19px; }
    .application-need-list > a { grid-template-columns: 25px 1fr; gap: 10px; padding: 18px; border-radius: 18px; }
    .application-need-list h3 { font-size: 22px; }
    .application-need-list p { font-size: 14px; }
    .application-need-list b { display: none; }
    .application-result-card { padding: 19px; border-radius: 21px; }
    .application-result-card h3 { font-size: 25px; }
    .application-audio-switch button { flex: 1 1 calc(50% - 4px); }
    .application-day-one { grid-template-columns: 1fr; }
    .application-more-results ul { grid-template-columns: 1fr; }
    .safety-personal-purpose { padding: 20px; }
    .safety-purpose-books { grid-template-columns: 1fr; }
    .safety-purpose-books li,
    .safety-purpose-books li:nth-child(even),
    .safety-purpose-books li:nth-child(n+3) { padding: 15px 0; border: 0; border-top: 1px solid var(--info-line); }
    .application-depth-layout h3 { font-size: 22px; }
    .application-workflow-new-layout { gap: 34px; }
    .application-workflow-steps li { grid-template-columns: 38px 1fr; gap: 10px; }
    .application-boundary-list,
    .safety-boundary-grid { grid-template-columns: 1fr; }
    .safety-custom-work { padding: 48px 0; }
    .safety-custom-work-layout { padding-top: 30px; }
    .safety-custom-work h2 { font-size: 25px; }
    .safety-custom-work-copy p { font-size: 14px; line-height: 1.75; }
    .info-final-cta { display: grid; padding: 22px; }
    .info-final-cta > div:last-child { display: grid; }
}

@media (max-width: 380px) {
    .info-hero-layout { gap: 14px; }
    .info-hero-intro p { font-size: 13px; }
    .application-path-map { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 6px; padding: 10px; }
    .application-path-source { grid-column: 1 / -1; padding-bottom: 6px; }
    .application-path-lanes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
    .application-path-lanes article { padding: 4px; }
    .application-path-number { width: 22px; height: 22px; margin-bottom: 4px; }
    .application-path-lanes strong { font-size: 11px; white-space: nowrap; }
    .application-path-outcomes { grid-template-columns: repeat(2, 1fr); gap: 4px; }
    .application-path-outcomes span { min-height: 29px; }
    .application-path-map > small { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .info-page *,
    .info-page *::before,
    .info-page *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

@media print {
    .info-page { background: #fff; }
    .info-hero { min-height: 0; }
    .info-hero-actions,
    .info-final-cta { display: none; }
}
