
.inner-v3 .inner-hero { margin: 0; border-bottom: 1px solid var(--gray-2); }
.inner-v3 .hero3 h1 { max-width: 100%; margin: 0; }
.inner-v3 .hero-head .crumb { display: block; margin-bottom: 20px; }
.inner-v3 .hero-text > p + p { margin-top: 16px; }
.inner-v3 .hero-text .actions { display: flex; flex-wrap: wrap; gap: 12px; }
.inner-v3 .text-hero .hero-head { padding-bottom: 28px; }
.inner-v3 .text-hero .hero-text { grid-column: 2 / 12; padding-right: 0; }
.inner-v3 .text-hero .standfirst { max-width: 66ch; }
.inner-v3.lib .hero3 h1, .inner-v3[class*="case-"] .hero3 h1 { font-size: clamp(36px, 5vw, 72px); line-height: 1.04; max-width: 28ch; }
.inner-v3 .ph.has-img { border: 0; }
.inner-v3 .ph.has-img .ph-note { align-self: flex-end; font-size: 10px; }
.inner-v3 .ph.diagram-hero { background: var(--white); }
.inner-v3 .ph.diagram-hero > img { object-fit: contain; padding: 32px; }
.inner-v3 .ph-context { aspect-ratio: 3 / 2; }
.inner-v3 .section-content { min-width: 0; }
.inner-v3 .page-sections .block { border: 0; }
.inner-v3 .page-sections .section-content > .label { margin-bottom: 16px; }
.inner-v3 .page-sections h2 { font-size: clamp(30px, 3.5vw, 46px); line-height: 1.08; letter-spacing: -.025em; max-width: 26ch; margin-bottom: 28px; }
.inner-v3 .page-sections .prose .section-content { grid-column: 4 / 12; }
.inner-v3 .page-sections .prose p { max-width: 64ch; font-size: 18px; line-height: 1.65; }
.inner-v3 .page-sections .prose p + p { margin-top: 20px; }
.inner-v3 .page-sections .two { gap: 32px; }
.inner-v3 .page-sections .two > div { background: transparent; border: 0; border-top: 1px solid var(--purple); padding: 28px 0; }
.inner-v3 .page-sections .two h3 { font-size: 26px; line-height: 1.2; }
.inner-v3 .page-sections .two p { font-size: 17px; }
.inner-v3 .page-sections .two .label { margin-bottom: 14px; }
.inner-v3 .page-sections .timeline { max-width: 900px; gap: 0 32px; }
.inner-v3 .page-sections .timeline h3 { font-size: 26px; }
.inner-v3 .page-sections .timeline p { font-size: 18px; padding-bottom: 32px; }
.inner-v3 .principles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.inner-v3 .principles li { padding: 24px 0; border-top: 1px solid var(--purple); }
.inner-v3 .principles h3 { font-size: 22px; }
.inner-v3 .feature-panel { border-top: 1px solid var(--gray-2); border-bottom: 1px solid var(--gray-2); }
.inner-v3 .feature-panel .plan-card { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 0; background: transparent; align-items: start; gap: 32px; }
.inner-v3 .feature-panel .plan-card > div { border: 0; padding: 0; }
.inner-v3 .feature-panel .plan-card h3 { font-size: 28px; }
.inner-v3 .feature-panel .plan-card ul.checks li { font-size: 16px; }
.inner-v3.about .feature-panel .plan-card { grid-template-columns: minmax(0, 4fr) minmax(0, 4fr) minmax(0, 4fr); }
.inner-v3.about .feature-panel .ph-context { grid-row: 1 / span 2; }
.inner-v3.about .feature-panel .ph-portrait > img { object-position: 50% 20%; }
.inner-v3.about .feature-panel .plan-card > div:last-child { grid-column: 2 / 4; max-width: 420px; }
.inner-v3.cases .feature-panel .plan-card { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: center; }

.inner-v3.services .feature-panel .plan-card { align-items: stretch; }
.inner-v3.services .feature-panel .plan-card > div { display: flex; flex-direction: column; }
.inner-v3.services .feature-panel .plan-card > div > .small { flex: 1; }
.inner-v3.services .feature-panel .plan-card .big { display: flex; flex-wrap: wrap; align-content: flex-end; align-items: baseline; gap: 10px; min-height: 36px; }
.inner-v3.services .feature-panel .plan-card .big .meta { font-size: 14px; letter-spacing: 0; }
.inner-v3.cases .lib-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.inner-v3.cases .lib-item { display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 0 0 28px; border-top: 0; }
.inner-v3.cases .lib-item .thumb { width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: contain; background: var(--white); padding: 28px; }
.inner-v3.cases .lib-item .title { font-size: 28px; line-height: 1.2; }
.inner-v3.cases .lib-item .ai-label { text-align: left; }
.inner-v3 .reading-layout { display: grid; grid-template-columns: minmax(0, 8fr) minmax(240px, 3fr); gap: 72px; padding-top: 56px; padding-bottom: 72px; align-items: start; }
.inner-v3 .reading-layout > .main { min-width: 0; }
.inner-v3 .reading-layout > .rail { position: sticky; top: calc(var(--header) + 24px); max-height: calc(100dvh - var(--header) - 48px); overflow-y: auto; scrollbar-width: thin; }
.inner-v3 .reading-layout .plan-card { border: 0; background: transparent; border-top: 2px solid var(--purple); }
.inner-v3 .reading-layout .plan-card > div { padding: 20px 0; }
.inner-v3 .reading-layout .block:first-child, .inner-v3 .reading-layout .doc > section:first-child { padding-top: 0; }
.inner-v3 .reading-layout .block h2, .inner-v3 .doc h2 { font-size: 32px; line-height: 1.2; margin-bottom: 20px; }
.inner-v3 .doc p { font-size: 18px; line-height: 1.7; }
.inner-v3 .doc p + p { margin-top: 18px; }
.inner-v3 .doc > section { padding: 40px 0; }
.inner-v3 .doc h3 { font-size: 22px; margin-top: 28px; }
.inner-v3 .doc figure.wp { margin: 32px 0; }
.inner-v3 .doc figure.wp img { width: 100%; height: auto; }
.inner-v3 .band:not(.g) { padding: 72px 0; }
.inner-v3 .band:not(.g) .wrap { gap: 72px; }
.inner-v3 .band:not(.g) h2 { max-width: 22ch; }
.inner-v3 .band:not(.g) p { font-size: 18px; line-height: 1.6; }
.inner-v3 .pricing-page { padding-top: 24px; padding-bottom: 56px; }
.inner-v3 .stage > div { padding: 28px 32px; }
.inner-v3 .stage-head h2 { font-size: 40px; }
.inner-v3 .stage-fig { font-size: clamp(30px, 3.4vw, 48px); }
.inner-v3 .stage-gets dd { font-size: 17px; }
.inner-v3 .stage-gets dt { font-size: 14px; }
.inner-v3 .stage-n { background: var(--purple); color: var(--white); }
.inner-v3 .pricing-page > .block { padding: 56px 0; }
.inner-v3 .pricing-page > .block h2 { font-size: 40px; }
.inner-v3 .contact-heading .hero-head { padding-bottom: 32px; }
.inner-v3 .contact-page { padding-top: 0; padding-bottom: 72px; gap: 56px; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.inner-v3 .contact-card { padding: 40px 0 0; background: transparent; border: 0; }
.inner-v3 .contact-card .standfirst { font-size: 20px; max-width: 40ch; }
.inner-v3 .ph-contact { min-height: 640px; margin: 0; }
.inner-v3 .lib-layout { display: block; padding-top: 0; }
.inner-v3 .lib-toc { top: var(--header); z-index: 5; background: var(--bg); border-top: 0; border-bottom: 1px solid var(--gray-2); padding: 0; }
.inner-v3 .lib-toc > .label { display: none; }
.inner-v3 .lib-toc ol { flex-direction: row; gap: 32px; margin: 0; overflow-x: auto; }
.inner-v3 .lib-toc a { padding: 20px 0; border-left: 0; border-bottom: 2px solid transparent; white-space: nowrap; }
.inner-v3 .lib-toc a[aria-current] { border-bottom-color: var(--ink); }
.inner-v3 .lib-sec { padding: 56px 0 72px; border-top: 0; scroll-margin-top: calc(var(--header) + 80px); }
.inner-v3 .lib-sec + .lib-sec { border-top: 1px solid var(--gray-2); }
.inner-v3 .lib-sec-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 56px; margin-bottom: 40px; }
.inner-v3 .lib-sec-head .label { grid-column: 1 / -1; }
.inner-v3 .lib-sec-head h2 { font-size: 40px; line-height: 1.1; }
.inner-v3 .lib-sec-head .small { font-size: 17px; }
.inner-v3 .lib-sec-head .ai-label { grid-column: 2; }
.inner-v3 .lib-index .lib-item .title { font-size: 22px; line-height: 1.25; }
.inner-v3 .lib-index .lib-list > .lib-item:first-child .title { font-size: 36px; line-height: 1.12; }
.inner-v3 .lib-index .lib-list > .lib-item:first-child { column-gap: 56px; padding-bottom: 48px; }
.inner-v3 .lib-index .lib-item .thumb { background: var(--white); }
.inner-v3 .lib-index .lib-list > .lib-item:hover .title { text-decoration: underline; text-underline-offset: 5px; }
.inner-v3 .flow { max-width: 1050px; }
.inner-v3 .flow .step h3 { font-size: 24px; }
.inner-v3 .flow .step p { font-size: 17px; }
.inner-v3 .partner .partner-logo { max-width: 400px; }
.inner-v3 .site-footer .legal { grid-column: 1 / -1; }
.inner-v3 input:focus-visible, .inner-v3 textarea:focus-visible, .inner-v3 select:focus-visible { outline: 2px solid var(--purple); outline-offset: 3px; }
@media (max-width: 1100px) {
 .inner-v3 .reading-layout { gap: 40px; grid-template-columns: minmax(0, 7fr) minmax(220px, 3fr); }
 .inner-v3 .principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
 .inner-v3 .text-hero .hero-text, .inner-v3 .page-sections .prose .section-content { grid-column: 2 / 14; }
 .inner-v3 .hero3 .ph-hero { aspect-ratio: 3 / 2; }
 .inner-v3 .reading-layout { grid-template-columns: minmax(0, 1fr); gap: 40px; padding-top: 40px; padding-bottom: 48px; }
 .inner-v3 .reading-layout > .rail { position: static; max-height: none; overflow: visible; }
 .inner-v3 .feature-panel .plan-card, .inner-v3.about .feature-panel .plan-card, .inner-v3.cases .feature-panel .plan-card { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .inner-v3.about .feature-panel .plan-card > div:last-child { grid-column: 1; }
 .inner-v3.about .feature-panel .ph-context { grid-row: auto; }
 .inner-v3.cases .lib-list { grid-template-columns: minmax(0, 1fr); }
 .inner-v3 .band:not(.g) { padding: 48px 0; }
 .inner-v3 .band:not(.g) .wrap { gap: 32px; }
 .inner-v3 .contact-page { grid-template-columns: minmax(0, 1fr); gap: 32px; }
 .inner-v3 .contact-card { padding-top: 28px; }
 .inner-v3 .ph-contact { min-height: 0; aspect-ratio: 3 / 2; }
 .inner-v3 .lib-toc { margin: 0; }
 .inner-v3 .lib-toc ol { gap: 24px; }
 .inner-v3 .lib-toc a { padding: 14px 0; }
 .inner-v3 .lib-sec-head { grid-template-columns: minmax(0, 1fr); gap: 0; }
 .inner-v3 .lib-sec-head .ai-label { grid-column: 1; }
 .inner-v3 .lib-sec-head h2 { font-size: 32px; margin-bottom: 16px; }
 .inner-v3 .lib-index .lib-list > .lib-item:first-child { gap: 16px 28px; }
 .inner-v3 .lib-index .lib-list > .lib-item:first-child .title { font-size: 28px; }
}
@media (max-width: 600px) {
 .inner-v3 .hero3 h1, .inner-v3.lib .hero3 h1, .inner-v3[class*="case-"] .hero3 h1 { font-size: 40px; }
 .inner-v3 .hero-head .label { font-size: 14px; }
 .inner-v3 .hero3 .standfirst { font-size: 18px; }
 .inner-v3 .text-hero .hero-text { padding-bottom: 32px; }
 .inner-v3 .principles { grid-template-columns: minmax(0, 1fr); gap: 0; }
 .inner-v3 .page-sections h2, .inner-v3 .reading-layout .block h2, .inner-v3 .doc h2, .inner-v3 .pricing-page > .block h2 { font-size: 30px; }
 .inner-v3 .page-sections .prose p, .inner-v3 .doc p { font-size: 17px; }
 .inner-v3 .page-sections .two { gap: 0; }
 .inner-v3 .stage > div { padding: 24px 20px; }
 .inner-v3 .stage-head h2 { font-size: 30px; }
 .inner-v3 .stage-fig { font-size: 30px; }
 .inner-v3 .contact-page { padding-left: var(--pad); padding-right: var(--pad); padding-bottom: 40px; }
 .inner-v3 .contact-card { padding-left: 0; padding-right: 0; }
 .inner-v3 .ph.diagram-hero > img { padding: 16px; }
 .inner-v3 .lib-sec { padding: 40px 0 48px; }
 .inner-v3 .lib-index .lib-list > .lib-item:first-child { padding-bottom: 32px; }
}
