/* Inner pages share the general AI homepage's color and reading system. */
.tpl-general_ai:not(.page-home) .page-header { padding:58px 0; background:#f5f7f9; border-bottom:1px solid #e6ecf1; }
.tpl-general_ai:not(.page-home) .page-header h1 { margin:0; color:#1c2f42; font-size:clamp(28px,3vw,40px); line-height:1.35; letter-spacing:-.02em; overflow-wrap:anywhere; }
.tpl-general_ai:not(.page-home) .page-header p { margin:12px 0 0; color:#5d7080; font-size:15px; line-height:1.8; }
/* theme.css sets white text with !important for dark headers; this header is light. */
.tpl-general_ai:not(.page-home) .page-header h1 { color:#1c2f42 !important; }
.tpl-general_ai:not(.page-home) .page-header p { color:#526779 !important; }
.tpl-general_ai:not(.page-home) .page-header .page-eyebrow { color:var(--gai-safe) !important; }
.tpl-general_ai:not(.page-home) .page-eyebrow { color:var(--gai-safe); font-size:12px; letter-spacing:.12em; font-weight:700; }
.tpl-general_ai:not(.page-home) .site-main > .section { padding:56px 0; }
.tpl-general_ai:not(.page-home) .section-light,.tpl-general_ai:not(.page-home) .section-alt { background:#f7f8f9; }
.tpl-general_ai:not(.page-home) .breadcrumb { border-bottom:1px solid #e6ecf1; color:#667b8d; font-size:13px; }
.tpl-general_ai:not(.page-home) .breadcrumb a { color:#536f86; }
.tpl-general_ai:not(.page-home) .card { border:1px solid #dfe8ef; border-radius:14px; background:#fff; box-shadow:0 6px 24px rgba(24,48,78,.045); overflow:hidden; }
.tpl-general_ai:not(.page-home) a.card { text-decoration:none; transition:border-color .2s,box-shadow .2s,transform .2s; }
.tpl-general_ai:not(.page-home) a.card:hover { border-color:#b6cbe1; box-shadow:0 12px 28px rgba(24,48,78,.09); transform:translateY(-2px); }
.tpl-general_ai:not(.page-home) .card-body { padding:22px 24px; }
.tpl-general_ai:not(.page-home) .card h3 { color:#20374c; font-size:18px; line-height:1.5; overflow-wrap:anywhere; }
.tpl-general_ai:not(.page-home) .card-desc,.tpl-general_ai:not(.page-home) .prose { color:#526a7b; font-size:15px; line-height:1.85; overflow-wrap:anywhere; }
.tpl-general_ai:not(.page-home) .card-arrow,.tpl-general_ai:not(.page-home) .tag { color:var(--gai-safe); }
.tpl-general_ai:not(.page-home) .card-img-placeholder { display:flex; align-items:center; justify-content:center; padding:24px; background:#f4f7f9; color:#536f83; text-align:center; }
.tpl-general_ai:not(.page-home) .category-bar { background:#fff; border-bottom:1px solid #e8edf2; }
.tpl-general_ai:not(.page-home) .category-row { display:flex; flex-wrap:wrap; gap:9px; padding-top:16px; padding-bottom:16px; }
.tpl-general_ai:not(.page-home) .cat-chip { border:1px solid #dbe5ed; border-radius:999px; background:#fff; color:#4c6173; }
.tpl-general_ai:not(.page-home) .cat-chip.is-active { background:var(--gai-safe); border-color:var(--gai-safe); color:#fff; }
.tpl-general_ai:not(.page-home) .about-overview { align-items:start; }
.tpl-general_ai:not(.page-home) .about-overview .prose,.tpl-general_ai:not(.page-home) .contact-info { padding:28px; border:1px solid #e1e9f0; border-radius:14px; background:#fff; }
.tpl-general_ai:not(.page-home) .about-overview-media { border-radius:14px; }
.tpl-general_ai:not(.page-home) .info-grid { margin-top:28px; }
.tpl-general_ai:not(.page-home) .empty-state { padding:40px 24px; border:1px solid #e1e9f0; border-radius:14px; background:#fff; color:#63778a; text-align:center; }
.tpl-general_ai:not(.page-home) .btn-primary { background:var(--gai-safe); border-color:var(--gai-safe); color:#fff; }
.tpl-general_ai:not(.page-home) .faq-cats { display:flex; flex-wrap:wrap; gap:8px; padding:0; background:transparent; margin:0 0 32px; }
.tpl-general_ai:not(.page-home) .faq-cat-tag { display:inline-flex; padding:8px 14px; border:1px solid #dce5ed; border-radius:999px; background:#fff; color:var(--gai-safe); font-size:14px; text-decoration:none; }
.tpl-general_ai:not(.page-home) .faq-group { margin:30px 0 44px; scroll-margin-top:100px; }
.tpl-general_ai:not(.page-home) .faq-evidence { margin-top:52px; }
.tpl-general_ai:not(.page-home) .faq-cta { margin-top:36px; padding:28px; border:1px solid #dfe8ef; border-radius:14px; background:#f7f9fb; }
.tpl-general_ai:not(.page-home) .faq-cta h2 { margin:0 0 8px; color:#20374c; }
.tpl-general_ai:not(.page-home) .faq-cta p { color:#536a7c; }
.tpl-general_ai:not(.page-home) .contact-grid { display:block; }
.tpl-general_ai:not(.page-home) .contact-info { max-width:850px; }
.tpl-general_ai:not(.page-home) .contact-list-large { list-style:none; margin:20px 0 0; padding:0; }
.tpl-general_ai:not(.page-home) .contact-list-large li { display:grid; grid-template-columns:minmax(100px,160px) minmax(0,1fr); gap:14px; padding:14px 0; border-top:1px solid #e5ebf0; overflow-wrap:anywhere; }
.tpl-general_ai:not(.page-home) .contact-list-large .label { color:#667b8c; }
.tpl-general_ai:not(.page-home) .contact-list-large .value { color:#20374c; }
.tpl-general_ai:not(.page-home) .case-detail-layout,.tpl-general_ai:not(.page-home) .service-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,300px); gap:28px; align-items:start; }
.tpl-general_ai:not(.page-home) .case-main,.tpl-general_ai:not(.page-home) .service-main,.tpl-general_ai:not(.page-home) .pd-info { min-width:0; }
.tpl-general_ai:not(.page-home) .side-card { padding:22px; margin-bottom:16px; border:1px solid #dfe8ef; border-radius:14px; background:#fff; }
.tpl-general_ai:not(.page-home) .side-card h3 { margin:0 0 12px; color:#20374c; }
.tpl-general_ai:not(.page-home) .side-card ul { padding-left:20px; line-height:1.8; }
.tpl-general_ai:not(.page-home) .side-card small { color:#617789; }
.tpl-general_ai:not(.page-home) .side-card.cta-card { background:var(--gai-deep) !important; }
.tpl-general_ai:not(.page-home) .side-card.cta-card h3 { color:#fff !important; }
.tpl-general_ai:not(.page-home) .side-card.cta-card p { color:#e1eaf1 !important; }
.tpl-general_ai:not(.page-home) .pd-highlights,.tpl-general_ai:not(.page-home) .pd-usp { padding:0; list-style:none; background:transparent; }
.tpl-general_ai:not(.page-home) .pd-highlights li,.tpl-general_ai:not(.page-home) .pd-usp li { padding:8px 0; border-bottom:1px solid #e6edf2; line-height:1.65; }
.tpl-general_ai:not(.page-home) .pd-tabs { display:grid; gap:18px; }
.tpl-general_ai:not(.page-home) .pd-tab { padding:28px; border:1px solid #e1e9f0; border-radius:14px; background:#fff; }
.tpl-general_ai:not(.page-home) .pd-tab .section-title { text-align:left; margin:0 0 16px; }
.tpl-general_ai:not(.page-home) .info-grid { display:grid; grid-template-columns:minmax(110px,180px) minmax(0,1fr); gap:0; border:1px solid #e1e9f0; border-radius:14px; overflow:hidden; }
.tpl-general_ai:not(.page-home) .info-grid dt,.tpl-general_ai:not(.page-home) .info-grid dd { margin:0; padding:12px 16px; border-bottom:1px solid #e8eef3; overflow-wrap:anywhere; }
.tpl-general_ai:not(.page-home) .info-grid dt { background:#f7f9fb; color:#617789; }
.tpl-general_ai:not(.page-home) .honor-img-placeholder { display:none; }
.tpl-general_ai:not(.page-home) .honor-card { border:1px solid #dfe8ef; border-radius:14px; overflow:hidden; background:#fff; }
.tpl-general_ai:not(.page-home) .honor-body { padding:22px; }
.tpl-general_ai:not(.page-home) .honor-body h4 { margin:0 0 10px; color:#20374c; line-height:1.5; }
.tpl-general_ai:not(.page-home) .honor-body p { color:#536a7c; line-height:1.8; }
.tpl-general_ai.page-article_detail .faq-list { max-width:820px; margin:0 auto; }
.tpl-general_ai.page-article_detail .faq-list + p { max-width:820px; margin:18px auto 0; }
@media(max-width:800px){.tpl-general_ai:not(.page-home) .case-detail-layout,.tpl-general_ai:not(.page-home) .service-detail {grid-template-columns:1fr}.tpl-general_ai:not(.page-home) .pd-tab {padding:20px}}
.tpl-general_ai:not(.page-home) a:focus-visible,.tpl-general_ai:not(.page-home) button:focus-visible,.tpl-general_ai:not(.page-home) input:focus-visible { outline:3px solid #80aaf0; outline-offset:3px; }
@media(max-width:700px){.tpl-general_ai:not(.page-home) .page-header {padding:38px 0}.tpl-general_ai:not(.page-home) .site-main > .section {padding:36px 0}.tpl-general_ai:not(.page-home) .card-body,.tpl-general_ai:not(.page-home) .about-overview .prose,.tpl-general_ai:not(.page-home) .contact-info {padding:20px}.tpl-general_ai:not(.page-home) .card h3 {font-size:17px}}
