/* 内页共用：保持首页品牌色、字体与玻璃胶囊导航。 */
.inner-page { background: #f1f4f9; font-size: 16px; line-height: 1.85; }
.inner-page .desktop-nav { gap: 25px; }
.inner-page .nav-cta { white-space: nowrap; padding-inline: 12px; font-size: 14px; }
.inner-page .desktop-nav [aria-current="page"], .inner-page .mobile-menu [aria-current="page"] { color: var(--brand-blue); opacity: 1; }
.inner-page .desktop-nav [aria-current="page"] { text-decoration: none; }
.inner-page main { overflow: clip; }
.ip-skip { position: fixed; z-index: 200; left: 24px; top: -90px; padding: 12px 20px; background: white; border: 2px solid var(--brand-blue); border-radius: 10px; }
.ip-skip:focus { top: 12px; }
.inner-page h1, .inner-page h2, .inner-page h3 { line-height: 1.4; font-weight: 600; letter-spacing: -.035em; }
.inner-page h1 { font-size: clamp(34px, 3.5vw, 50px); margin: 15px 0 25px; max-width: 1000px; }
.inner-page h2 { font-size: clamp(28px, 2.6vw, 36px); margin: 0 0 22px; }
.inner-page h3 { font-size: 23px; margin: 0 0 12px; }
.inner-page p { color: var(--muted); }
.inner-page em { font-style: normal; color: var(--brand-blue); }
.ip-intro { max-width: 1240px; margin: 0 auto; padding: 177px 0 65px; }
.ip-eyebrow { font-size: 14px; color: var(--brand-blue) !important; font-weight: 650; letter-spacing: .07em; margin: 0 0 16px; }
.ip-lead { max-width: 670px; margin: 0; font-size: 18px; line-height: 1.9; }
.ip-breadcrumb { max-width: 1240px; margin: 0 auto; padding-top: 137px; display: flex; gap: 14px; align-items: center; font-size: 14px; color: var(--muted); }
.ip-breadcrumb a:hover { color: var(--brand-blue); }
.ip-breadcrumb + .ip-intro { padding-top: 34px; }
.ip-section { max-width: 1240px; margin: 0 auto; padding: 92px 0; }
.ip-two { display: grid; grid-template-columns: 1fr 1.3fr; gap: 90px; }
.ip-two p:first-child { margin-top: 0; }
.ip-link { display: inline-flex; align-items: center; gap: 25px; color: var(--brand-blue); border-bottom: 1px solid #b8c7db; padding: 7px 0; font-weight: 600; font-size: 15px; }
.ip-link:hover { border-color: var(--brand-blue); }
.ip-solution-list { max-width: 1240px; margin: 0 auto 80px; }
.ip-solution-row { display: grid; grid-template-columns: .85fr 1.25fr; gap: 70px; align-items: center; border-top: 1px solid #d1dae5; padding: 48px 0; }
.ip-solution-row:nth-child(2) { grid-template-columns: 1.25fr .85fr; }
.ip-solution-row:nth-child(2) > div { order: 2; }
.ip-solution-row p { max-width: 440px; }
.ip-image-link { display: block; border-radius: 25px; overflow: hidden; background: #f1f4f9; }
.ip-image-link img { width: 100%; aspect-ratio: 1.55; object-fit: cover; transition: transform .35s ease; }
.ip-image-link:hover img { transform: scale(1.025); }
.ip-dark { background: var(--deep); color: white; padding: 82px max(calc((100vw - 1240px) / 2), 32px); }
.ip-dark p { color: #becada; }
.ip-dark .ip-eyebrow { color: #ffad64 !important; }
.ip-section-heading { max-width: 710px; margin-bottom: 40px; }
.ip-rows article { display: grid; grid-template-columns: 80px 1fr; gap: 25px; padding: 30px 0; border-top: 1px solid #2d3b4e; }
.ip-rows article > div { display: grid; grid-template-columns: 1fr 1.35fr; gap: 0 65px; }
.ip-rows article p { margin: 0; }
.ip-rows small { grid-column: 2; color: #ffba7c; font-size: 14px; margin-top: 14px; }
.ip-number { font-size: 17px; color: #94a8c2; padding-top: 2px; }
.ip-visual { max-width: 1240px; margin: 0 auto; }
.ip-visual img { width: 100%; max-height: 520px; object-fit: cover; border-radius: 26px; }
.ip-visual figcaption { font-size: 12px; color: var(--muted); padding: 12px 0; }
.ip-faq details { padding: 21px 0; border-top: 1px solid #d0d8e2; }
.ip-faq summary { cursor: pointer; font-weight: 600; font-size: 17px; }
.ip-faq p { margin-bottom: 0; }
.ip-cta { max-width: 1240px; margin: 0 auto; padding: 105px 0 110px; border-top: 1px solid #d0d8e2; display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.ip-cta > div:last-child { display: flex; flex-direction: column; align-items: center; padding-right: 10%; }
.ip-cta img { height: 120px; width: 145px; object-fit: contain; margin-bottom: 10px; }
.ip-cta h2 { margin-bottom: 0; }
.ip-cta .primary-action { font-size: 15px; }
.ip-case-feature { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 70px; }
.ip-case-art { min-height: 390px; background: #f1f4f9; border-radius: 28px; display: flex; flex-wrap: wrap; align-content: center; justify-content: center; gap: 18px; padding: 45px 28px; border: 1px solid white; }
.ip-case-art > span { background: #fff9; border: 1px solid white; padding: 9px 15px; border-radius: 30px; font-size: 14px; }
.ip-case-core { flex: 0 0 100%; text-align: center; font-size: 19px; border-top: 1px solid #b2c2d7; padding-top: 32px; margin-top: 10px; }
.ip-case-core strong { font-size: 30px; font-weight: 550; color: var(--brand-blue); }
.ip-case-art small { font-size: 14px; color: var(--muted); }
.ip-editorial-links > a { display: block; border-top: 1px solid #cbd5e1; position: relative; padding: 23px 40px 23px 0; }
.ip-editorial-links span { font-size: 24px; font-weight: 600; }
.ip-editorial-links p { margin: 8px 0 0; }
.ip-editorial-links b { position: absolute; right: 0; top: 25px; color: var(--brand-blue); }
.ip-note { font-size: 14px; line-height: 1.9; padding: 18px 22px; background: #ebeff5; border-radius: 12px; }
.ip-case-strip { max-width: 1240px; margin: 0 auto; display: flex; border-block: 1px solid #d1dae6; padding: 30px 0; gap: 60px; justify-content: space-between; }
.ip-case-strip small { display: block; font-size: 14px; color: var(--muted); margin-bottom: 8px; }
.ip-case-strip strong { font-weight: 550; font-size: 22px; }
.ip-magazine { max-width: 1240px; margin: 0 auto 90px; display: grid; grid-template-columns: 1.35fr 1fr; gap: 55px; align-items: start; }
.ip-cover { background: white; border-radius: 25px; overflow: hidden; }
.ip-cover > img { width: 100%; aspect-ratio: 1.2; object-fit: cover; }
.ip-cover > div { padding: 35px; }
.ip-magazine-side { display: grid; gap: 35px; }
.ip-magazine-side > a { border-bottom: 1px solid #ced8e4; padding-bottom: 25px; }
.ip-magazine-side img { width: 100%; height: 170px; object-fit: cover; border-radius: 18px; margin-bottom: 22px; }
.ip-magazine-side h2 { font-size: 24px; margin: 10px 0; }
.ip-magazine-side p { margin: 10px 0; }
.ip-article-layout { max-width: 1240px; margin: 0 auto 80px; display: grid; grid-template-columns: 240px minmax(0, 790px); gap: 100px; align-items: start; }
.ip-toc { position: sticky; top: 118px; display: flex; flex-direction: column; gap: 17px; font-size: 14px; border-top: 1px solid #c8d2e0; padding-top: 20px; }
.ip-toc a { color: var(--muted); }
.ip-toc a:hover { color: var(--brand-blue); }
.ip-toc small { font-size: 12px; color: var(--muted); margin-top: 18px; }
.ip-article section { margin: 42px 0; scroll-margin-top: 115px; }
.ip-article h2 { font-size: 28px; }
.ip-article p { line-height: 2; margin: 20px 0; color: #47576c; }
.ip-article .ip-visual img { max-height: 350px; }
.ip-article-next { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 25px; border-top: 1px solid #cfd7e2; padding-top: 25px; }
.ip-about-banner { background: var(--brand-blue); color: white; padding: 65px max(calc((100vw - 1240px) / 2), 32px); display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.ip-about-banner span, .ip-about-banner strong { display: block; font-size: 38px; font-weight: 550; }
.ip-about-banner strong { margin-left: 80px; color: #ffbe86; }
.ip-about-banner p { color: #d9e4f2; font-size: 18px; }
.ip-policy { max-width: 790px; margin: 0 auto 90px; }
@media (max-width: 1360px) {
.ip-intro,.ip-section,.ip-breadcrumb,.ip-solution-list,.ip-visual,.ip-cta,.ip-case-feature,.ip-case-strip,.ip-magazine,.ip-article-layout { margin-left: 5%; margin-right: 5%; }
.ip-article .ip-visual { margin: 0; }
.ip-two { gap: 60px; }
}
@media (max-width: 1000px) {
.inner-page .desktop-nav { gap: 16px; }
.ip-solution-row, .ip-solution-row:nth-child(2), .ip-case-feature { gap: 35px; }
.ip-two { gap: 35px; }
.ip-rows article > div { gap: 0 30px; }
.ip-magazine { gap: 30px; }
.ip-article-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 40px; }
}
@media (max-width: 760px) {
.ip-intro { padding-top: 143px; padding-bottom: 40px; }
.ip-lead { font-size: 16px; }
.ip-breadcrumb { padding-top: 112px; }
.ip-breadcrumb + .ip-intro { padding-top: 28px; }
.ip-solution-row, .ip-solution-row:nth-child(2), .ip-two, .ip-case-feature, .ip-magazine, .ip-article-layout { grid-template-columns: 1fr; }
.ip-solution-row:nth-child(2) > div { order: 0; }
.ip-solution-row { padding: 32px 0; gap: 25px; }
.ip-solution-list { margin-bottom: 40px; }
.ip-image-link img { aspect-ratio: 1.45; }
.ip-section { padding: 55px 0; gap: 15px; }
.ip-dark { padding: 55px 5%; }
.ip-rows article { grid-template-columns: 30px 1fr; gap: 15px; padding: 25px 0; }
.ip-rows article > div { display: block; }
.ip-rows small { display: block; }
.ip-cta { padding: 55px 0; align-items: start; }
.ip-cta > div:last-child { padding-right: 0; }
.ip-cta h2 { font-size: 26px; }
.ip-cta img { height: 90px; width: 100px; }
.ip-cta .primary-action { padding: 0 14px; font-size: 14px; white-space: nowrap; }
.ip-case-art { min-height: 320px; padding: 30px 18px; gap: 10px; }
.ip-case-art > span { font-size: 12px; padding: 7px 10px; }
.ip-case-strip { gap: 18px; flex-direction: column; padding: 24px 0; }
.ip-case-strip > div { display: flex; align-items: baseline; gap: 25px; }
.ip-case-strip strong { font-size: 18px; }
.ip-magazine { margin-bottom: 50px; }
.ip-cover > img { aspect-ratio: 1.5; }
.ip-cover > div { padding: 25px; }
.ip-magazine-side img { height: 220px; }
.ip-toc { position: static; gap: 10px; }
.ip-toc small { margin-top: 0; }
.ip-article h2 { font-size: 25px; }
.ip-article section { margin: 32px 0; }
.ip-visual img { border-radius: 18px; }
.ip-about-banner { padding: 45px 5%; display: block; }
.ip-about-banner strong { margin-left: 45px; }
.ip-about-banner p { font-size: 16px; margin: 25px 0 0; }
.ip-policy { margin: 0 5% 60px; }
}
@media (max-width: 420px) {
.ip-cta { flex-direction: column; gap: 24px; }
.ip-cta > div:last-child { flex-direction: row; gap: 18px; }
.ip-case-strip strong { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
.inner-page *, .inner-page *::before, .inner-page *::after { scroll-behavior: auto !important; transition: none !important; }
}
