/* Pitch-only styles. The shared Believe branding remains in believe.css. */
.pitch-page { --pitch-accent: #9ac6d6; --pitch-rule: rgba(16, 25, 35, 0.18); }
.pitch-page main { overflow: clip; }
.pitch-page h3 { margin: 0 0 1rem; font-size: 1.5rem; font-weight: 400; line-height: 1.25; letter-spacing: -0.02em; }
.pitch-hero .banner-content { padding-top: 4rem; padding-bottom: 4rem; }
.pitch-hero h1 { font-size: clamp(2.8rem, 4.5vw, 5.2rem); }
.pitch-hero .banner-intro { font-size: 1.2rem; }
.pitch-hero .banner-media img { object-position: center 65%; }
.pitch-hero .hero-meta { margin-top: 2rem; font-size: 0.8rem; color: var(--muted); }
.pitch-hero .hero-meta span { display: block; }
.pitch-target { display: inline-block; margin-top: 1.75rem; padding: 0.4rem 0.8rem; border: 1px solid var(--line); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; }
.pitch-nav { display: flex; flex-wrap: wrap; gap: 0.25rem 2rem; padding: 1.25rem var(--page-gutter); border-bottom: 1px solid var(--line); }
.pitch-nav a { display: inline-flex; align-items: center; min-height: 2.75rem; text-decoration: none; font-size: 0.8rem; color: var(--muted); }
.pitch-nav a:hover { color: var(--white); }
.pitch-section { padding: clamp(4rem, 7vw, 7rem) var(--page-gutter); background: var(--paper); color: var(--navy); }
.pitch-section--dark { background: var(--navy); color: var(--white); }
.pitch-section--ink { background: var(--ink); color: var(--white); }
.pitch-section-header { max-width: none; margin-bottom: 3rem; }
.pitch-section-header h2 { margin-bottom: 1.5rem; }
.pitch-section-header > p:last-child { font-size: 1.2rem; }
#problem .pitch-section-header { margin-bottom: 1.5rem; }
#problem .pitch-section-header h2 { margin-bottom: 0; }
.pitch-columns { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.pitch-note { margin-top: 1.5rem; font-size: 0.8rem; line-height: 1.6; opacity: 0.78; }
.pitch-cite { font-size: 0.65em; vertical-align: super; white-space: nowrap; }
.pitch-cite a { text-decoration: none; }
.pitch-rule { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--pitch-rule); }
.pitch-section--dark .pitch-rule { border-color: var(--line); }
.pitch-section blockquote { margin: 2rem 0 0; padding-left: 1.5rem; border-left: 2px solid currentColor; font-size: clamp(1.35rem, 2vw, 2rem); line-height: 1.4; }
.pitch-ascent-photo { margin: 2rem 0 0; }
.pitch-ascent-photo img { width: 100%; height: clamp(24rem, 42vw, 38rem); object-fit: cover; object-position: center 65%; }
.pitch-ascent-photo figcaption, .pitch-flight-panorama figcaption { margin-top: 0.75rem; font-size: 0.8rem; opacity: 0.75; }
.iteration-heading { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: stretch; }
.iteration-heading .pitch-section-header { margin-bottom: 0; }
.pitch-flight-panorama { position: relative; min-width: 0; min-height: 14rem; margin: 0; overflow: hidden; }
.pitch-flight-panorama img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.solution-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin-top: 3rem; }
.solution-principles div { padding-top: 1.5rem; border-top: 1px solid var(--pitch-rule); }
.solution-principles strong { font-size: 1.1rem; }
.solution-principles p { margin-top: 0.75rem; font-size: 1rem; }
.solution-image { margin: 0; }
.solution-image img { width: 100%; max-height: 35rem; object-fit: cover; object-position: center 65%; }
.solution-image figcaption { font-size: 0.75rem; margin-top: 0.75rem; opacity: 0.7; }
.solution-image--liftoff img { height: auto; max-height: none; aspect-ratio: 2 / 3; object-fit: contain; }
.solution-section { padding: 0; }
.solution-layout { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); }
.solution-photo { position: relative; min-width: 0; min-height: 38rem; margin: 0; overflow: hidden; }
.solution-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 65%; }
.solution-copy { min-width: 0; padding: clamp(2rem, 4vw, 5rem); }
.solution-copy .pitch-section-header { margin-bottom: 2.5rem; }
.solution-copy h2 { font-size: clamp(2rem, 2.8vw, 3.4rem); }
.solution-copy .pitch-section-header > p:last-child { font-size: 1.05rem; }
.solution-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; list-style: none; padding: 0; margin: 0; }
.solution-flow > li { position: relative; min-width: 0; border: 1px solid #c9d3dc; }
.solution-flow > li:not(:last-child)::after { content: '\2192'; position: absolute; top: 50%; right: -0.9rem; font-size: 1.1rem; }
.solution-flow h3 { margin: 0; padding: 1rem 0.75rem; background: var(--navy); color: var(--white); font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; }
.solution-flow > li:nth-child(2) { background: #e1ebf1; border-color: #335b73; }
.solution-flow > li:nth-child(2) h3 { background: #335b73; }
.solution-flow p { margin: 0; padding: 1.25rem 0.75rem; font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.solution-benefits { display: grid; grid-template-columns: 0.8fr 1fr 1.3fr; gap: 1.5rem; margin-top: 2rem; padding: 1.5rem; background: var(--navy); color: var(--white); }
.solution-benefits strong { display: block; font-size: 1.1rem; text-transform: uppercase; }
.solution-benefits p { margin-top: 0.5rem; font-size: 0.9rem; line-height: 1.5; color: var(--muted); }
.founder { display: grid; grid-template-columns: 8rem 1fr; gap: 1.75rem; border-top: 1px solid var(--pitch-rule); padding-top: 2rem; }
.founder img { width: 8rem; height: 10rem; object-fit: cover; }
.founder-role { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; margin: 0.5rem 0 1rem; }
.founder ul { margin: 0; padding-left: 1.1rem; font-size: 1rem; }
.founder li + li { margin-top: 0.75rem; }
.founder-impact { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--pitch-rule); }
.founder-impact strong { font-size: 1.4rem; }
.market-progression { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; padding: 0; margin: 2rem 0 0; list-style: none; }
.market-progression > li::before { content: ''; position: absolute; top: 0.75rem; left: 1.75rem; right: 0; height: 1px; background: var(--line); }
.market-progression > li { position: relative; min-width: 0; padding-top: 2.5rem; }
.market-stage { position: absolute; top: 0; left: 0; padding-right: 0.75rem; background: var(--navy); color: var(--pitch-accent); font-size: 0.75rem; line-height: 1.5rem; letter-spacing: 0.1em; }
.market-progression p { font-size: 1.15rem; line-height: 1.6; }
.market-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin: 0; }
.market-stats div { border-top: 1px solid var(--line); padding-top: 2rem; }
.market-stats dt { font-size: 0.9rem; color: var(--muted); }
.market-stats dd { font-size: clamp(2.5rem, 5vw, 5.5rem); line-height: 1.2; letter-spacing: -0.04em; margin: 0 0 0.75rem; }
.market-stats div { display: flex; flex-direction: column-reverse; justify-content: flex-end; }
.market-wedge { margin-top: 3rem; display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.market-entry > h3 { letter-spacing: 0.08em; }
.entry-group { margin-top: 1.75rem; }
.entry-group + .entry-group { padding-top: 1.5rem; border-top: 1px solid var(--line); }
.entry-group h4 { margin: 0 0 1.25rem; font-size: 1rem; font-weight: 600; }
.entry-organisations { display: grid; gap: 1rem; list-style: none; padding: 0; margin: 0; }
.entry-organisation { display: flex; align-items: center; gap: 1.5rem; min-height: 3.25rem; text-decoration: none; font-size: 1.05rem; }
.entry-organisation:hover > span:last-child { text-decoration: underline; text-underline-offset: 0.25em; }
.entry-logo { display: flex; align-items: center; justify-content: flex-start; width: 7rem; min-height: 3.25rem; flex: 0 0 7rem; }
.entry-logo img { display: block; width: 100%; height: auto; max-height: 3.25rem; object-fit: contain; object-position: left center; }
.entry-logo .entry-logo--cambridge { width: 3.25rem; }
.entry-logo--thales { filter: brightness(0) invert(1); }
.tailwinds { list-style: none; padding: 0; margin: 0; }
.tailwinds li + li { margin-top: 1.5rem; }
.tailwinds strong { display: block; }
.tailwind-figure { font-weight: 600; }
.economics { margin: 0; }
.economics figcaption { font-size: 0.9rem; margin-bottom: 1.5rem; }
.economics-bar { display: flex; min-height: 4rem; width: 100%; }
.economics-cost { flex: 95.5; background: #bac7d0; }
.economics-profit { flex: 36.64; background: #263f50; }
.economics-values { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 1.5rem; }
.economics-values strong { display: block; font-size: 2rem; font-weight: 400; }
.economics-values span { display: block; font-size: 0.85rem; }
.economics-total { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--pitch-rule); }
.economics-total strong { display: block; font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 400; }
.economics-total span { display: block; font-size: 0.85rem; }
.moat-list { padding: 0; margin: 0; list-style: none; }
.moat-list li + li { margin-top: 1.5rem; }
.moat-list h3 { font-size: 1.15rem; margin-bottom: 0.5rem; }
.moat-list p { font-size: 1rem; }
.funding-summary { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 4rem; align-items: center; }
.funding-amount { margin: 0; font-size: clamp(5rem, 10vw, 10rem); letter-spacing: -0.06em; line-height: 1; }
.funding-amount--range { font-size: clamp(2.5rem, 6vw, 6.5rem); white-space: nowrap; }
.funding-next-round { padding-top: clamp(3rem, 5vw, 5rem); padding-bottom: clamp(3rem, 5vw, 5rem); }
.funding-next-round + .funding-next-round { border-top: 1px solid var(--line); }
.funding-allocation { margin-top: 2rem; }
.allocation-bar { display: flex; height: 1rem; background: #36434c; }
.allocation-technical { flex: 350; background: var(--pitch-accent); }
.allocation-preparation { flex: 250; background: #586d7e; }
.allocation-labels { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 1rem; }
.allocation-labels strong { display: block; font-size: 2rem; font-weight: 400; }
.allocation-labels span { font-size: 0.85rem; color: var(--muted); }
.pitch-interest { border-top: 1px solid var(--line); margin-top: 3rem; padding-top: 2rem; }
.interest-names { font-size: clamp(1.2rem, 2vw, 2rem); line-height: 1.5; }
.roadmap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; list-style: none; margin: 0; padding: 0; }
.roadmap > li { position: relative; padding-top: 2rem; border-top: 1px solid var(--pitch-rule); }
.roadmap > li::before { content: ''; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--navy); }
.roadmap time { display: block; font-size: 0.8rem; letter-spacing: 0.08em; margin-bottom: 1rem; }
.roadmap ul { padding-left: 1.2rem; font-size: 1rem; }
.budget-overview { margin: 0 0 3rem; font-size: 1.2rem; max-width: 48rem; }
.budget-tabs { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 2rem; }
.budget-tabs button { padding: 0.7rem 1rem; border: 1px solid var(--line); background: transparent; color: var(--white); cursor: pointer; font-size: 0.9rem; }
.budget-tabs button[aria-pressed='true'] { background: var(--white); color: var(--navy); }
.budget-chart { margin: 2rem 0; }
.budget-chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.budget-chart text { fill: var(--muted); font-family: inherit; font-size: 14px; }
.budget-chart .chart-grid { stroke: var(--line); stroke-dasharray: 4 6; }
.budget-chart .chart-line { fill: none; stroke: var(--pitch-accent); stroke-width: 3; }
.budget-chart .chart-point { fill: var(--pitch-accent); }
.budget-chart figcaption { color: var(--muted); font-size: 0.8rem; }
.budget-table-wrap { overflow-x: auto; }
.budget-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 0.95rem; }
.budget-table th, .budget-table td { padding: 0.9rem 0; border-bottom: 1px solid var(--line); }
.budget-table th { font-weight: 400; padding-right: 1.5rem; }
.budget-table td { text-align: right; white-space: nowrap; }
.budget-table thead { color: var(--muted); font-size: 0.8rem; }
.budget-details summary { cursor: pointer; padding: 1rem 0; font-size: 0.9rem; }
.budget-details[open] summary { margin-bottom: 1rem; }
.pitch-ending { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--pitch-rule); text-align: center; }
.pitch-ending-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; max-width: 52rem; margin: 2rem auto 0; }
.pitch-ending-button { display: flex; align-items: center; justify-content: center; gap: 1rem; min-height: 5rem; padding: 1.25rem; background: var(--navy); color: var(--white); font-size: 0.8rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none; }
.pitch-ending-button:hover { background: #263f50; }
.pitch-ending-button:focus-visible { outline-color: var(--navy); }
.pitch-closing-statement { margin: 0; text-align: center; font-size: clamp(2rem, 4.5vw, 5rem); line-height: 1.2; }
.pitch-sources { font-size: 0.85rem; }
.pitch-sources h2 { font-size: 1.8rem; margin-bottom: 1.5rem; }
.pitch-sources ol { padding-left: 1.25rem; max-width: 62rem; }
.pitch-sources li + li { margin-top: 1rem; }
.pitch-sources a { overflow-wrap: anywhere; }

@media (min-width: 801px) {
	#problem .pitch-columns { align-items: stretch; }
	.problem-story { display: flex; flex-direction: column; min-width: 0; }
	.problem-story .pitch-ascent-photo { position: relative; flex: 1; min-height: 0; }
	.problem-story .pitch-ascent-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-position: center 45%; }
}

@media (max-width: 1100px) {
	.solution-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.solution-flow > li::after { display: none; }
	.solution-benefits { grid-template-columns: 1fr; gap: 1rem; }
	.founder { grid-template-columns: 6rem 1fr; gap: 1.25rem; }
	.founder img { width: 6rem; height: 8rem; }
	.market-stats dd { font-size: clamp(2.5rem, 5vw, 4rem); }
}
@media (max-width: 800px) {
	.solution-layout { grid-template-columns: 1fr; }
	.solution-photo { min-height: 0; height: clamp(18rem, 65vw, 28rem); }
	.solution-copy { padding: 3rem var(--page-gutter); }
	.solution-benefits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.iteration-heading { grid-template-columns: 1fr; }
	.pitch-flight-panorama { height: clamp(11rem, 35vw, 18rem); min-height: 0; }
	.pitch-columns, .funding-summary { grid-template-columns: 1fr; gap: 3rem; }
	.market-stats { grid-template-columns: 1fr 1fr; }
	.market-stats > div:first-child { grid-column: 1 / -1; }
	.market-stats dd { font-size: 3.5rem; }
}
@media (max-width: 600px) {
	.pitch-ending-links { grid-template-columns: 1fr; }
	.market-progression { grid-template-columns: 1fr; gap: 1.5rem; }
	.market-progression::before { content: ''; position: absolute; top: 0.75rem; bottom: 0.75rem; left: 0.65rem; width: 1px; background: var(--line); }
	.market-progression > li::before { display: none; }
	.market-progression > li { padding-top: 0; padding-left: 2.5rem; }
	.market-stage { width: 1.5rem; padding-right: 0; text-align: center; }
	.solution-flow, .solution-benefits { grid-template-columns: 1fr; }
	.pitch-ascent-photo img { height: auto; aspect-ratio: 3 / 4; }
	.pitch-nav { gap: 0 1.5rem; }
	.pitch-hero .banner-content { min-height: 0; }
	.solution-principles, .roadmap, .market-wedge { grid-template-columns: 1fr; }
	.market-stats { gap: 1.5rem; }
	.market-stats dd { font-size: 2.7rem; }
	.founder { grid-template-columns: 1fr; }
	.founder img { width: 8rem; height: 9rem; }
	.allocation-labels { gap: 1rem; }
	.allocation-labels strong { font-size: 1.6rem; }
	.budget-chart text { font-size: 17px; }
	.budget-chart { margin-left: -0.5rem; margin-right: -0.5rem; overflow-x: auto; }
	.budget-chart svg { min-width: 36rem; }
}
