/* Inner pages only; homepage styling remains in styles.css. */
body.inner-page { background: radial-gradient(ellipse at 100% 15%, #edf5ff, transparent 48%), #fbfdff; }
.inner-page .site-header { min-height:92px; height:auto; gap:26px; }
.inner-page .brand img { width:245px; }
.inner-page .main-nav { gap:clamp(16px,2.2vw,30px); font-size:14px; }
.inner-page a:focus-visible { outline:3px solid #7d4bdd; outline-offset:5px; border-radius:4px; }
.inner-page .main-nav a:hover { color:#075ff0; }
.subpage { width:min(100% - 64px,1200px); margin:0 auto 64px; }
.subpage p { line-height:1.55; }
.page-hero { display:grid; grid-template-columns:1.12fr 1fr; align-items:center; gap:40px; padding:40px 0; min-height:400px; }
.hero-copy { min-width:0; }
.hero-copy .eyebrow,.contact-copy .eyebrow { font-size:12px; letter-spacing:.28em; margin-bottom:18px; }
.hero-copy h1 { font-size:clamp(34px,3.6vw,48px); line-height:1.12; letter-spacing:-.04em; text-wrap:balance; }
.hero-copy h1 span,.contact-copy h1 span { color:#075ff0; }
.hero-copy > p:not(.eyebrow) { max-width:60ch; margin:20px 0 0; color:#26385b; font-size:18px; }
.hero-art { display:block; width:100%; aspect-ratio:3 / 2; height:auto; object-fit:cover; border-radius:24px; box-shadow:0 12px 40px #274a8610; }
.panel { border:1px solid #dce7f6; border-radius:22px; background:#fff; box-shadow:0 6px 24px #28497508; }
.panel h2,.panel-heading h2 { margin:0; font-size:26px; line-height:1.2; letter-spacing:-.03em; color:#0b1743; }
.panel-heading { display:flex; align-items:center; gap:24px; margin-bottom:26px; }
.panel-heading > span { height:1px; flex:1; background:#c8daf5; }
.technology-process { padding:30px; }
.tech-flow { display:grid; grid-template-columns:1fr 28px 1.15fr 28px 1.15fr 28px 1fr; gap:8px; align-items:start; text-align:center; }
.tech-flow article { min-width:0; }
.tech-flow article > img,.landing-pad-diagram,.gene-cassette { width:100%; height:155px; object-fit:contain; margin-bottom:16px; }
.tech-flow article > img { mix-blend-mode:multiply; }
.tech-flow h3 { margin:0; font-size:19px; line-height:1.3; }
.tech-flow p { margin:0; font-size:15px; color:#26385b; }
.tech-flow h3 + p { margin-top:6px; }
.blue-arrow { color:#0878ec; font-size:28px; line-height:155px; text-align:center; }
.landing-pad-diagram { display:flex; justify-content:center; align-items:center; gap:6px; }
.chromosome { position:relative; width:40px; height:96px; border:4px solid #70b5ff; border-radius:50%; transform:rotate(-18deg); }
.chromosome::before { content:''; position:absolute; left:12px; top:-4px; height:96px; width:6px; border:3px solid #70b5ff; border-radius:50%; transform:rotate(36deg); }
.chromosome i { position:absolute; left:6px; top:38px; width:22px; height:9px; border-radius:6px; background:#a746dd; }
.landing-pad-diagram > span { width:18px; border-top:2px dashed #5f6b8c; }
.landing-pad-diagram > b { padding:9px; border-radius:5px; color:#fff; background:#8748dc; font-size:10px; }
.gene-cassette { display:flex; align-items:center; justify-content:center; gap:3px; padding:0 8px; }
.gene-cassette i { height:34px; flex:1; background:#3488f4; clip-path:polygon(0 0,78% 0,100% 50%,78% 100%,0 100%,18% 50%); }
.gene-cassette i:nth-child(2) { background:#bb4fea; }
.gene-cassette i:nth-child(3) { background:#8250e5; }
.gene-cassette i:nth-child(4) { background:#15b8bb; }
.advantages { margin-top:24px; padding:28px 30px; background:linear-gradient(110deg,#f1f7ff,#fff); }
.advantages h2,.benefits h2,.possibilities h2,.models h2 { color:#0755d8; }
.advantage-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:24px; }
.advantage-grid article { display:flex; align-items:center; gap:16px; padding:0 20px; border-right:1px solid #cbdcf5; }
.advantage-grid article:first-child { padding-left:0; }
.advantage-grid article:last-child { border:0; padding-right:0; }
.advantage-grid img { width:48px; height:48px; flex-shrink:0; object-fit:contain; }
.advantage-grid p { margin:0; font-size:15px; }
.cell-line-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.line-card { display:flex; flex-direction:column; align-items:center; text-align:center; padding:26px 18px 24px; background:linear-gradient(145deg,#fff,#f3f7ff); }
.line-card:nth-child(even) { background:linear-gradient(145deg,#fff,#f4efff); }
.line-card > img { width:145px; height:100px; object-fit:contain; mix-blend-mode:multiply; margin-bottom:18px; }
.line-card h2 { min-height:52px; display:flex; align-items:center; justify-content:center; font-size:21px; }
.line-card p { flex:1; margin:14px 0 30px; font-size:15px; color:#26385b; }
.line-card small { font-size:inherit; }
.gene-line { width:100%; display:flex; justify-content:center; align-items:center; gap:4px; min-height:44px; }
.gene-line i { flex:1; min-width:3px; height:3px; background:#a96ae4; }
.gene-line b { border:1px solid #70b8f6; border-radius:8px; background:#e5f4ff; padding:8px 6px; font-size:10px; line-height:1.2; }
.gene-line .gene-tag { background:#8741d5; border-color:#8741d5; color:#fff; }
.availability-strip { display:grid; grid-template-columns:1.35fr 1px 64px 1fr 64px 1.3fr; align-items:center; gap:20px; margin-top:24px; padding:30px; background:#f3f7ff; }
.availability-strip h2 { color:#0755d8; font-size:23px; }
.divider { display:block; height:64px; width:1px; background:#c9b8ee; }
.availability-strip img { width:64px; height:64px; object-fit:contain; }
.availability-strip p { font-size:17px; font-weight:700; margin:0; }
.values-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:30px 12px; }
.values-grid article { display:grid; grid-template-columns:68px 1fr; align-items:start; gap:18px; padding:0 24px; border-right:1px solid #ddd0f5; }
.values-grid article:last-child { border:0; }
.values-grid img { width:68px; height:68px; object-fit:contain; }
.values-grid h2 { font-size:22px; }
.values-grid p { font-size:15px; color:#26385b; margin:10px 0 0; }
.company-stories { display:grid; grid-template-columns:1fr 1.25fr; gap:24px; margin-top:24px; }
.story-card,.team-card { padding:30px; }
.story-card h2,.team-card h2 { color:#0755d8; font-size:30px; }
.story-card p,.team-card p { margin:16px 0 0; color:#26385b; font-size:17px; }
.team-card { display:grid; grid-template-columns:1.3fr 1fr; gap:20px; align-items:center; overflow:hidden; }
.team-card img { width:100%; height:100%; min-height:170px; object-fit:cover; border-radius:14px; }
.location-strip { display:flex; align-items:center; justify-content:center; gap:28px; padding:24px; margin-top:24px; }
.location-strip img { width:56px; height:56px; object-fit:contain; }
.location-strip h2 { font-size:22px; }
.location-strip h3 { margin:0 0 6px; font-size:20px; }
.location-strip p { margin:0; font-size:16px; color:#26385b; }
.collaboration-flow { display:grid; grid-template-columns:1fr 24px 1fr 24px 1fr; gap:12px; padding:24px; align-items:stretch; }
.collab-item { padding:24px; border-radius:18px; display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.collab-item h2 { font-size:24px; }
.collab-item h3 { font-size:17px; color:#0755d8; margin:6px 0 12px; }
.collab-item p { margin:10px 0 0; font-size:16px; }
.strength { background:#eaf3ff; }
.expertise { background:#f1ebfc; }
.shared { background:linear-gradient(130deg,#8350db,#2144bf); color:#fff; }
.shared h2 { color:#fff; }
.collab-item > img,.collab-item > svg { width:54px; height:54px; object-fit:contain; }
.plus,.chevrons { align-self:center; font-size:32px; color:#9250cf; text-align:center; }
.models { margin-top:24px; padding:30px; }
.centered { justify-content:center; }
.model-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.model-grid article { display:grid; grid-template-columns:64px 1fr; gap:20px; padding:0 24px; border-right:1px solid #ddd0f5; }
.model-grid article:first-child { padding-left:0; }
.model-grid article:last-child { padding-right:0; border:0; }
.model-grid img { width:64px; height:64px; object-fit:contain; }
.model-grid h3 { margin:0 0 12px; font-size:21px; }
.model-grid p { margin:0; font-size:15px; color:#26385b; }
.immune-hero { grid-template-columns:1.15fr 1fr; }
.immune-hero h1 { font-size:clamp(30px,3vw,41px); }
.immune-hero h1 em { font-style:normal; }
.hero-proof { display:flex; align-items:center; gap:12px; margin-top:24px; }
.hero-proof b { background:#7635bb; color:#fff; padding:9px 14px; border-radius:20px; font-size:13px; white-space:nowrap; }
.hero-proof p { margin:0; font-size:13px; color:#514568; }
.immune-process { padding:30px; }
.immune-flow { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:30px; align-items:start; text-align:center; }
.immune-flow article { position:relative; min-width:0; }
.immune-flow article:not(:last-child)::after { content:'→'; position:absolute; top:60px; right:-25px; font-size:24px; color:#0878ec; }
.immune-flow article:first-child::after { content:'+'; }
.immune-flow article > img,.immune-modifiers { width:100%; height:145px; object-fit:contain; margin-bottom:16px; mix-blend-mode:multiply; }
.immune-flow h3 { margin:0; font-size:16px; line-height:1.35; }
.immune-flow article p { margin:6px 0 0; font-size:13px; color:#26385b; }
.immune-modifiers { display:flex; flex-direction:column; justify-content:center; gap:8px; }
.immune-modifiers span { padding:7px 8px; border-radius:10px; background:#f1eafb; text-align:left; font-size:13px; }
.immune-modifiers b,.immune-modifiers small { display:block; }
.immune-modifiers small { font-size:12px; color:#514568; margin-top:2px; }
.outcomes { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:28px; padding-top:24px; border-top:1px solid #dce7f6; }
.outcomes article { background:#eff5ff; border-radius:12px; padding:16px 18px; text-align:center; }
.outcomes h3 { margin:0 0 5px; font-size:16px; }
.outcomes p { margin:0; color:#26385b; font-size:14px; }
.immune-panels { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:24px; }
.benefits,.possibilities { padding:28px; }
.immune-panels h2 { font-size:23px; min-height:58px; }
.benefit-list,.cell-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
.benefit-list p { display:flex; gap:12px; align-items:flex-start; margin:0; }
.benefit-list img { width:36px; height:36px; object-fit:contain; }
.benefit-list span { font-size:14px; }
.cell-options p { display:flex; flex-direction:column; align-items:flex-start; margin:0; font-size:15px; font-weight:700; }
.cell-options .cell-example { display:block; margin:6px 0 16px; font-size:13px; font-weight:400; color:#26385b; }
.cell-options small { display:block; width:fit-content; font-size:11px; font-weight:500; background:#edf1fb; border-radius:10px; padding:5px 8px; margin:0 0 12px; }
.cell-options p:first-child small { background:#e1f4da; color:#286024; }
.pipeline { display:grid; grid-template-columns:1fr 1.5fr 2.4fr; align-items:center; gap:20px; margin-top:24px; padding:28px; }
.pipeline h2 { color:#0755d8; font-size:22px; }
.pipeline > b { font-size:24px; }
.pipeline p { font-size:13px; margin:0; }
.pipeline-program strong, .pipeline-program > span, .pipeline-program > small { display:block; }
.pipeline-program strong { font-size:21px; line-height:1.3; }
.pipeline-program > span { margin-top:6px; font-size:14px; }
.pipeline-program > small { margin-top:8px; font-size:12px; color:#26385b; }
.pipeline > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-radius:20px; overflow:hidden; background:#e8edf6; }
.pipeline > div span { text-align:center; font-size:12px; padding:12px 4px; color:#445574; }
.pipeline > div span:first-child { background:#7635bb; color:#fff; }
.contact-page { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:56px; padding:64px 0; }
.contact-copy h1 { font-size:clamp(48px,5vw,68px); }
.contact-lede { font-size:20px; color:#26385b; margin:24px 0 44px; max-width:44ch; }
.contact-detail { display:flex; align-items:center; gap:22px; margin-top:28px; }
.contact-symbol { display:flex; align-items:center; justify-content:center; flex:0 0 54px; color:#075ff0; }
.contact-symbol svg { width:36px; height:36px; }
.contact-detail > div,.email-detail > p { border-left:1px solid #cbb7ec; padding-left:22px; }
.contact-detail h2 { margin:0; font-size:22px; }
.contact-detail p { margin:5px 0 0; font-size:17px; overflow-wrap:anywhere; }
.email-detail > p { margin:0; min-width:0; }
.email-detail:hover { color:#075ff0; }
.contact-art { width:100%; height:auto; aspect-ratio:1.2; object-fit:cover; border-radius:28px; box-shadow:0 10px 30px #275ba518; }
.active-contact { background:#093c8c; }
@media (max-width:1100px) {
.inner-page .site-header { flex-wrap:wrap; padding:16px 0; }
.inner-page .main-nav { order:3; width:100%; justify-content:center; }
.cell-line-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.values-grid article,.model-grid article { display:flex; flex-direction:column; }
.advantage-grid article { flex-direction:column; align-items:flex-start; }
.availability-strip { grid-template-columns:1fr 54px 1fr; }
.availability-strip h2 { grid-row:span 2; }
.availability-strip .divider { display:none; }
.availability-strip img { width:54px; height:54px; }
.collab-item { padding:20px 16px; }
.collab-item h2 { font-size:21px; }
.pipeline { grid-template-columns:1fr 2fr; }
.pipeline > div { grid-column:1 / -1; }
.contact-page { gap:32px; }
}
@media (max-width:760px) {
.subpage { width:calc(100% - 40px); margin-bottom:40px; }
.page-hero { grid-template-columns:1fr; gap:28px; padding:32px 0; min-height:0; }
.hero-copy h1,.immune-hero h1 { font-size:clamp(32px,6vw,44px); }
.hero-copy h1 br { display:none; }
.hero-copy > p:not(.eyebrow) { font-size:17px; }
.hero-art { max-height:340px; }
.technology-process,.immune-process,.advantages,.models { padding:24px; }
.tech-flow { grid-template-columns:1fr; gap:12px; }
.tech-flow article { max-width:340px; width:100%; margin:auto; }
.tech-flow .blue-arrow { line-height:1; transform:rotate(90deg); }
.tech-flow article > img,.landing-pad-diagram,.gene-cassette { height:140px; }
.advantage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.advantage-grid article { padding:0; border:0; flex-direction:row; }
.values-grid,.model-grid { grid-template-columns:1fr; padding:24px; gap:24px; }
.values-grid article,.model-grid article { display:grid; grid-template-columns:64px 1fr; padding:0 0 24px; border:0; border-bottom:1px solid #ddd0f5; }
.values-grid article:last-child,.model-grid article:last-child { padding:0; border:0; }
.models .model-grid { padding:0; }
.company-stories { grid-template-columns:1fr; }
.location-strip { justify-content:flex-start; flex-wrap:wrap; gap:16px; }
.location-strip > div { flex-basis:100%; }
.location-strip .divider { height:40px; }
.location-strip .divider:nth-of-type(2) { display:none; }
.collaboration-flow { grid-template-columns:1fr; gap:16px; }
.collab-item { flex-direction:row; padding:24px; align-items:flex-start; }
.collab-item > img,.collab-item > svg { flex:0 0 48px; }
.chevrons { transform:rotate(90deg); }
.immune-flow { grid-template-columns:1fr; gap:42px; }
.immune-flow article { width:100%; max-width:300px; margin:auto; }
.immune-flow article:not(:last-child)::after { top:auto; bottom:-34px; right:calc(50% - 10px); transform:rotate(90deg); }
.outcomes,.immune-panels { grid-template-columns:1fr; }
.immune-panels h2 { min-height:0; }
.hero-proof { flex-wrap:wrap; }
.contact-page { grid-template-columns:1fr; padding:36px 0; gap:36px; }
.contact-art { max-height:430px; }
}
@media (max-width:440px) {
.inner-page .site-header { width:calc(100% - 32px); gap:10px; }
.inner-page .brand img { width:195px; }
.inner-page .contact-button { padding:10px 12px; }
.inner-page .main-nav { display:grid; grid-template-columns:repeat(3,auto); gap:8px 18px; justify-content:start; white-space:normal; font-size:12px; overflow:visible; }
.subpage { width:calc(100% - 32px); }
.hero-copy h1,.immune-hero h1 { font-size:32px; }
.hero-copy .eyebrow,.contact-copy .eyebrow { font-size:11px; }
.panel h2 { font-size:23px; }
.panel-heading { gap:12px; }
.cell-line-grid { grid-template-columns:1fr; }
.line-card h2 { min-height:0; }
.line-card p { margin-bottom:24px; }
.availability-strip { padding:24px; grid-template-columns:48px 1fr; gap:18px; }
.availability-strip h2 { grid-column:1 / -1; grid-row:auto; }
.availability-strip p { font-size:16px; }
.advantage-grid { grid-template-columns:1fr; }
.team-card { grid-template-columns:1fr; }
.team-card img { height:180px; min-height:0; }
.pipeline { grid-template-columns:.7fr 1fr; padding:24px; }
.pipeline h2 { grid-column:1 / -1; }
.pipeline-program { grid-column:1 / -1; }
.pipeline > div { grid-template-columns:repeat(2,1fr); border-radius:12px; }
.benefit-list,.cell-options { gap:20px 16px; }
.contact-copy h1 { font-size:48px; }
.contact-lede { font-size:18px; }
.contact-detail { gap:14px; }
.contact-symbol { flex-basis:34px; }
.contact-detail > div,.email-detail > p { padding-left:14px; }
.contact-detail h2 { font-size:20px; }
.contact-detail p { font-size:15px; }
}
/* Keep companion cards and process captions on common baselines. */
.team-card { align-items:start; }
.immune-flow .immune-modifiers { box-sizing:border-box; }
.immune-modifiers span { padding:5px 8px; }
.line-illustration { position:relative; width:156px; height:112px; margin-bottom:18px; }
.line-illustration > img { width:100%; height:100%; object-fit:contain; }
.line-illustration .cell-badge { position:absolute; right:0; bottom:4px; width:45px; height:45px; background:#f6f0ff; border:2px solid #fff; border-radius:50%; padding:7px; color:#873cce; }
.line-illustration .cell-badge + .cell-badge { right:32px; }
.inner-page .site-header { width:min(100% - 64px,1200px); }
@media (max-width:760px) { .inner-page .site-header { width:calc(100% - 40px); } }
@media (max-width:440px) { .inner-page .site-header { width:calc(100% - 32px); } }
.landing-pad-diagram .chromosome-art { width:64px; height:110px; object-fit:contain; flex-shrink:0; }
@media (max-width:440px) { .inner-page .brand img { width:min(195px,55vw); } }
body.inner-page { min-height:100vh; }
.brand-crisp { --logo-width:245px; }
.brand-crisp .brand-lockup { display:block; width:var(--logo-width); }
.brand-crisp .brand-wordmark { display:block; height:calc(var(--logo-width) * 35 / 272); overflow:hidden; }
.inner-page .brand-crisp .brand-wordmark img { width:100%; height:auto; }
.brand-crisp .brand-tagline { display:block; margin:3px 0 0 19.85%; color:#16356e; font-family:Arial,sans-serif; font-size:calc(var(--logo-width) * 7.6 / 272); line-height:1.2; font-weight:700; letter-spacing:.01em; text-transform:uppercase; white-space:nowrap; }
@media (max-width:440px) { .brand-crisp { --logo-width:min(195px,55vw); } }
