/* Functional expansion layer for the current Runway visual system. */
.wordmark img { width: 30px; height: 36px; object-fit: contain; }
.wordmark,.footer-wordmark { text-rendering: geometricPrecision; }
body { font-size: 17px; }
.wordmark > span { display: flex; flex-direction: column; font-size: 17px; line-height: 1.05; }
.wordmark small { margin-top: 5px; color: #64708a; font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.hero h1 br { display: none; }
.hero h1 { white-space: nowrap; }
.hero-meta p { max-width: none; white-space: nowrap; }
.nav { font-size: 15px; }
.plain-link,.dark-button,.light-button,.outline-button,.text-button { font-size: 15px; }
.platform-copy > p:not(.platform-lead),.platform-copy small,.use-heading p,.research p,.company-copy > p,.news article p,.contact-copy p { font-size: 17px; line-height: 1.75; }
.platform-name { font-size: 17px; }
.platform-lead { font-size: 22px; }
.platform-copy small { display: block; }
.company-stats small,.research-list small { font-size: 15px; }
.research-list b { font-size: 19px; }
.news article > span { font-size: 14px; }
.news article a,.footer-top div a,.footer-bottom { font-size: 15px; }
.partner-line p { font-size: 15px; }
.partner-line > div { font-size: 15px; }
.platform-media { position: relative; }
.platform-media img,.runway-slide > img,.news article img,.hero-image { image-rendering: auto; backface-visibility: hidden; }
.platform-media img,.news article img { filter: saturate(.94) contrast(1.02); }
.company-more { display: inline-flex; margin-top: 28px; }

.runway-carousel { position: relative; margin-top: 54px; }
.runway-tabs { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; padding: 1px; background: #373737; border-radius: 10px 10px 0 0; overflow: hidden; }
.runway-tabs button { min-height: 68px; padding: 15px 19px; border: 0; color: #aaa; background: #1b1b1b; font-size: 15px; font-weight: 700; text-align: left; cursor: pointer; transition: background .2s,color .2s; }
.runway-tabs button:hover { color: #fff; background: #252525; }
.runway-tabs button.active { color: #111; background: #fff; }
.runway-viewport { position: relative; min-height: 620px; overflow: hidden; border-radius: 0 0 12px 12px; background: #1c1c1c; }
.runway-slide { position: absolute; inset: 0; display: grid; grid-template-columns: 62% 38%; visibility: hidden; opacity: 0; transform: translateX(24px); pointer-events: none; transition: opacity .38s ease,transform .38s ease,visibility .38s; }
.runway-slide.active { position: relative; visibility: visible; opacity: 1; transform: none; pointer-events: auto; }
.runway-slide > img { width: 100%; height: 620px; display: block; object-fit: cover; filter: saturate(.96) contrast(1.02); }
.runway-slide > div { display: flex; flex-direction: column; justify-content: center; padding: 52px 44px 90px; background: #202020; }
.runway-slide > div > span { color: #8ca1ff; font-size: 14px; font-weight: 800; }
.runway-slide h3 { margin: 22px 0 18px; color: #fff; font-size: clamp(32px,3vw,46px); line-height: 1.08; letter-spacing: -.035em; }
.runway-slide p { margin: 0; color: #bbb; font-size: 17px; line-height: 1.75; }
.runway-slide a { margin-top: 30px; color: #fff; font-size: 15px; font-weight: 750; }
.runway-slide a b { margin-left: 8px; color: #8ca1ff; }
.runway-controls { position: absolute; z-index: 4; right: 44px; bottom: 28px; display: flex; align-items: center; gap: 12px; }
.runway-controls button { width: 42px; height: 42px; border: 1px solid #555; border-radius: 50%; color: #fff; background: transparent; font-size: 17px; cursor: pointer; }
.runway-controls button:hover { color: #111; background: #fff; }
.runway-controls span { min-width: 66px; color: #777; font-size: 13px; text-align: center; }
.runway-controls b { color: #fff; font-size: 17px; }

.footer-wordmark { display: flex; align-items: center; gap: 12px; }
.footer-wordmark img { width: 38px; height: 46px; object-fit: contain; }
.footer-wordmark span { display: flex; flex-direction: column; color: #fff; font-size: 25px; line-height: 1; }
.footer-wordmark small { margin-top: 7px; color: #65758c; font-size: 10px; letter-spacing: .15em; }

.page-progress { position: fixed; z-index: 160; top: 0; left: 0; width: 100%; height: 2px; transform: scaleX(0); transform-origin: 0 50%; background: var(--accent); animation: runway-progress linear both; animation-timeline: scroll(root block); }
@keyframes runway-progress { to { transform: scaleX(1); } }

@media(prefers-reduced-motion:no-preference) {
  .platform-media.reveal,.news article.reveal img,.runway-carousel.reveal { clip-path: inset(0 0 10% 0 round 10px); transition: opacity .8s var(--ease),transform .8s var(--ease),clip-path 1s var(--ease); }
  .platform-media.reveal.visible,.news article.reveal.visible img,.runway-carousel.reveal.visible { clip-path: inset(0 0 0 0 round 10px); }
}

@media(max-width:1040px) {
  .runway-viewport { min-height: 840px; }
  .runway-slide { grid-template-columns: 1fr; }
  .runway-slide > img { height: 500px; }
  .runway-slide > div { min-height: 340px; padding: 38px 40px 78px; }
}
@media(max-width:760px) {
  .wordmark img { width: 27px; height: 32px; }
  .wordmark > span { font-size: 15px; }
  .hero h1 { font-size: 46px; line-height: .98; }
  .hero h1 { white-space: normal; }
  .hero-meta p { white-space: normal; }
  .runway-tabs { grid-template-columns: 1fr 1fr; }
  .runway-tabs button { min-height: 58px; padding: 11px 13px; font-size: 13px; }
  .runway-viewport { min-height: 720px; }
  .runway-slide > img { height: 330px; }
  .runway-slide > div { min-height: 390px; padding: 32px 24px 82px; }
  .runway-slide h3 { font-size: 36px; }
  .runway-slide p { font-size: 16px; }
  .runway-controls { left: 24px; right: auto; bottom: 24px; }
  .footer-wordmark span { font-size: 21px; }
}

@media(prefers-reduced-motion:reduce) {
  .page-progress { animation:none; transform:scaleX(1); opacity:.25; }
}
