/* Section pattern kit (2026-10-08). Owner: "a lot of repeating card sections with small icons ... vary the designs between pages".
   Ten distinct layouts so no page leans on icon-card grids. Markup for each is in scroll-landing-work/docs/PATTERNS.md.
   All inside .rwh-wrap (1280 container). Light by default; add .rw-dark on the section for the black variant. */

html.t-runway .rp-sec{ padding:clamp(40px,6vw,88px) 0; }
html.t-runway .rp-alt{ background:#f6f7f9; }
html.t-runway .rp-eyebrow{ margin:0 0 10px; font-size:14px; font-weight:500; color:#5f6772; }
html.t-runway .rp-h{ margin:0 0 16px; font-size:var(--t-h2); font-weight:400; letter-spacing:-.03em; line-height:1.1; text-wrap:balance; }
html.t-runway .rp-p{ margin:0; max-width:60ch; font-size:var(--t-lede); line-height:1.5; color:#5f6772; }
html.t-runway .rw-dark .rp-p, html.t-runway .rw-dark .rp-eyebrow{ color:rgba(255,255,255,.72); }
html.t-runway .rw-dark{ background:#000; color:#fff; }

/* P1 INDEX LIST: hairline rows, big title left, text right, arrow (no icons) */
html.t-runway .rp-index{ margin:0; padding:0; list-style:none; border-top:1px solid #dfe3e8; }
html.t-runway .rp-index li{ border-bottom:1px solid #dfe3e8; }
html.t-runway .rp-index a, html.t-runway .rp-index .rp-row{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 24px; gap:24px; align-items:baseline; padding:24px 0; color:inherit; text-decoration:none; }
html.t-runway .rp-index b{ font-size:clamp(20px,2vw,28px); font-weight:400; letter-spacing:-.025em; }
html.t-runway .rp-index span{ font-size:16px; line-height:1.5; color:#5f6772; }
html.t-runway .rp-index a:hover b{ text-decoration:underline; text-underline-offset:4px; }
html.t-runway .rw-dark .rp-index, html.t-runway .rw-dark .rp-index li{ border-color:rgba(255,255,255,.22); }
html.t-runway .rw-dark .rp-index span{ color:rgba(255,255,255,.7); }

/* P2 SPLIT MEDIA: large rounded image/video one side, stacked points other side; .rp-split.is-flip swaps sides */
html.t-runway .rp-split{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:clamp(28px,5vw,80px); align-items:center; }
html.t-runway .rp-split.is-flip > :first-child{ order:2; }
html.t-runway .rp-media{ position:relative; aspect-ratio:4/3; border-radius:16px; overflow:hidden; background:#0b0b0c; }
html.t-runway .rp-media img, html.t-runway .rp-media video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
html.t-runway .rp-points{ margin:24px 0 0; padding:0; list-style:none; display:grid; gap:18px; }
html.t-runway .rp-points li{ padding-left:18px; border-left:2px solid #0c0c0c; }
html.t-runway .rp-points b{ display:block; font-size:18px; font-weight:500; letter-spacing:-.015em; }
html.t-runway .rp-points span{ display:block; margin-top:4px; font-size:15.5px; line-height:1.5; color:#5f6772; }

/* P3 BIG STATEMENT: one large sentence, optional small caption and button */
html.t-runway .rp-statement{ max-width:24ch; margin:0 auto; text-align:center; font-size:clamp(30px,4.4vw,64px); font-weight:400; letter-spacing:-.025em; word-spacing:.05em; line-height:1.14; text-wrap:balance; }
html.t-runway .rp-statement-sub{ margin:20px auto 0; max-width:56ch; text-align:center; font-size:var(--t-lede); color:#5f6772; }
html.t-runway .rw-dark .rp-statement-sub{ color:rgba(255,255,255,.72); }

/* P4 STEPS RAIL: horizontal line with nodes, title and line under each (no numbers) */
html.t-runway .rp-rail{ position:relative; display:grid; grid-template-columns:repeat(var(--n,4),minmax(0,1fr)); gap:24px; margin:0; padding:28px 0 0; list-style:none; }
html.t-runway .rp-rail::before{ content:""; position:absolute; left:0; right:0; top:7px; height:1px; background:#c9ccd1; }
html.t-runway .rp-rail li{ position:relative; }
html.t-runway .rp-rail li::before{ content:""; position:absolute; top:-27px; left:0; width:13px; height:13px; border-radius:50%; background:#fff; border:2px solid #0c0c0c; }
html.t-runway .rp-rail b{ display:block; font-size:18px; font-weight:500; letter-spacing:-.015em; }
html.t-runway .rp-rail span{ display:block; margin-top:6px; font-size:15px; line-height:1.5; color:#5f6772; }

/* P5 ACCORDION FEATURES: large-type rows that open (details), with a media panel beside on desktop */
html.t-runway .rp-acc{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,72px); align-items:start; }
html.t-runway .rp-acc details{ border-top:1px solid #dfe3e8; padding:18px 0; }
html.t-runway .rp-acc details:last-of-type{ border-bottom:1px solid #dfe3e8; }
html.t-runway .rp-acc summary{ display:flex; justify-content:space-between; gap:20px; cursor:pointer; list-style:none; font-size:clamp(19px,1.8vw,24px); letter-spacing:-.02em; line-height:1.25; }
html.t-runway .rp-acc summary::-webkit-details-marker{ display:none; }
html.t-runway .rp-acc summary::after{ content:"+"; flex:none; font-size:24px; line-height:1; color:#5f6772; }
html.t-runway .rp-acc details[open] summary::after{ content:"\2212"; }
html.t-runway .rp-acc details p{ margin:10px 0 0; max-width:56ch; font-size:16px; line-height:1.55; color:#5f6772; }

/* P6 COMPARE: two columns, before and after (or two approaches), hairline rows */
html.t-runway .rp-compare{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid #e3e6ea; border-radius:16px; overflow:hidden; }
html.t-runway .rp-compare > div{ padding:clamp(20px,3vw,36px); }
html.t-runway .rp-compare > div + div{ border-left:1px solid #e3e6ea; background:#f6f7f9; }
html.t-runway .rp-compare h3{ margin:0 0 16px; font-size:var(--t-h3); font-weight:450; }
html.t-runway .rp-compare ul{ margin:0; padding:0; list-style:none; }
html.t-runway .rp-compare li{ padding:12px 0; border-top:1px solid #e3e6ea; font-size:16px; line-height:1.45; }

/* P7 MEDIA ROW: tall rounded media cards in a sideways row (posters or video), caption under */
html.t-runway .rp-mrow{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(280px,1fr); gap:20px; margin:0; padding:0 0 8px; list-style:none; overflow-x:auto; scroll-snap-type:x proximity; }
html.t-runway .rp-mrow li{ scroll-snap-align:start; }
html.t-runway .rp-mrow .rp-media{ aspect-ratio:3/4; }
html.t-runway .rp-mrow b{ display:block; margin-top:14px; font-size:18px; font-weight:500; }
html.t-runway .rp-mrow span{ display:block; margin-top:4px; font-size:15px; color:#5f6772; }

/* P8 LOGO WALL: real brand marks in a bordered grid */
html.t-runway .rp-logos{ display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); margin:0; padding:0; list-style:none; border-top:1px solid #e3e6ea; border-left:1px solid #e3e6ea; }
html.t-runway .rp-logos li{ display:grid; place-items:center; gap:8px; min-height:112px; padding:16px; border-right:1px solid #e3e6ea; border-bottom:1px solid #e3e6ea; text-align:center; font-size:13px; color:#5f6772; }
html.t-runway .rp-logos img{ max-height:32px; max-width:120px; width:auto; height:auto; object-fit:contain; filter:grayscale(1); }

/* P9 QUESTION GRID: big question left, short answer right, soft rows (for 'what it answers' content) */
html.t-runway .rp-qa{ margin:0; padding:0; list-style:none; display:grid; gap:12px; }
html.t-runway .rp-qa li{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; padding:24px; border-radius:14px; background:#f6f7f9; }
html.t-runway .rp-qa b{ font-size:clamp(18px,1.6vw,22px); font-weight:400; letter-spacing:-.02em; line-height:1.3; }
html.t-runway .rp-qa span{ font-size:16px; line-height:1.5; color:#5f6772; }

/* P10 DARK PANEL ROWS: rounded colour-graded panel, text left, hairline link rows right; .is-blue / .is-warm tints */
html.t-runway .rp-band{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,5vw,72px); align-items:center; padding:clamp(28px,5vw,64px); border-radius:16px; background:#0b1210 linear-gradient(120deg,#17261f 0%,#0a0f0d 60%); color:#fff; }
html.t-runway .rp-band.is-blue{ background:#0a0f1a linear-gradient(120deg,#16233a 0%,#0a0d14 60%); }
html.t-runway .rp-band.is-warm{ background:#140f0a linear-gradient(120deg,#2b1e12 0%,#0f0b08 60%); }
html.t-runway .rp-band .rp-index, html.t-runway .rp-band .rp-index li{ border-color:rgba(255,255,255,.5); }
html.t-runway .rp-band .rp-index a, html.t-runway .rp-band .rp-index .rp-row{ grid-template-columns:minmax(0,1fr) 20px; gap:12px; padding:16px 0; }
html.t-runway .rp-band .rp-index b{ font-size:18px; }
html.t-runway .rp-band .rp-index span{ grid-column:1; color:rgba(255,255,255,.7); font-size:14px; }

@media (max-width:860px){
  html.t-runway .rp-split, html.t-runway .rp-acc, html.t-runway .rp-band, html.t-runway .rp-compare{ grid-template-columns:1fr; }
  html.t-runway .rp-split.is-flip > :first-child{ order:0; }
  html.t-runway .rp-compare > div + div{ border-left:0; border-top:1px solid #e3e6ea; }
  html.t-runway .rp-index a, html.t-runway .rp-index .rp-row{ grid-template-columns:1fr 20px; gap:6px 12px; }
  html.t-runway .rp-index span{ grid-column:1; }
  html.t-runway .rp-rail{ grid-template-columns:1fr; padding:0 0 0 28px; }
  html.t-runway .rp-rail::before{ left:6px; right:auto; top:0; bottom:0; width:1px; height:auto; }
  html.t-runway .rp-rail li::before{ top:4px; left:-28px; }
  html.t-runway .rp-qa li{ grid-template-columns:1fr; gap:8px; }
}

/* ---- Patterns 11 to 15 (structure studied from the owner's runway.com export; no Runway copy or images used) ---- */

/* P11 FEATURE SWITCHER: list of features left (active dark, rest grey), large media right that swaps; runway.js wires it */
html.t-runway .rp-switch{ display:grid; grid-template-columns:280px minmax(0,1fr); gap:clamp(24px,3vw,40px); padding:clamp(24px,3.4vw,44px); border:1px solid #e3e6ea; border-radius:16px; }
html.t-runway .rp-switch-list{ display:flex; flex-direction:column; gap:4px; margin:0; padding:0; list-style:none; }
html.t-runway .rp-switch-list button{ appearance:none; width:100%; min-height:44px; padding:8px 0; border:0; background:none; text-align:left; font:inherit; font-size:clamp(16px,1.4vw,19px); letter-spacing:-.015em; color:#9aa1ab; cursor:pointer; }
html.t-runway .rp-switch-list button[aria-selected="true"], html.t-runway .rp-switch-list button:hover{ color:#0c0c0c; }
html.t-runway .rp-switch-stage{ position:relative; min-height:clamp(280px,32vw,450px); border-radius:12px; overflow:hidden; background:#0b0b0c; }
html.t-runway .rp-switch-pane{ position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(20px,3vw,36px); color:#fff; }
html.t-runway .rp-switch-pane[hidden]{ display:none; }
html.t-runway .rp-switch-pane img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-1; filter:brightness(.55); }
html.t-runway .rp-switch-pane b{ font-size:clamp(22px,2.4vw,34px); font-weight:400; letter-spacing:-.03em; line-height:1.1; max-width:20ch; }
html.t-runway .rp-switch-pane span{ margin-top:10px; max-width:52ch; font-size:16px; line-height:1.5; color:rgba(255,255,255,.82); }
html.t-runway .rp-switch-pane{ isolation:isolate; }

/* P12 WORKFLOW CANVAS: dark nodes on a soft field joined by a line, left to right (agent steps, data flow) */
html.t-runway .rp-flow{ position:relative; display:grid; grid-template-columns:repeat(var(--n,4),minmax(0,1fr)); gap:clamp(16px,3vw,48px); align-items:center; padding:clamp(28px,4vw,56px); border-radius:16px; background:radial-gradient(circle at 50% 40%,#fff 0%,#f3f4f6 70%); }
html.t-runway .rp-flow::before{ content:""; position:absolute; left:8%; right:8%; top:50%; height:1px; background:repeating-linear-gradient(90deg,#9aa1ab 0 6px,transparent 6px 12px); }
html.t-runway .rp-node{ position:relative; padding:18px; border-radius:10px; background:#101718; color:#fff; }
html.t-runway .rp-node:nth-child(even){ transform:translateY(28px); }
html.t-runway .rp-node small{ display:block; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.6); }
html.t-runway .rp-node b{ display:block; margin-top:6px; font-size:17px; font-weight:450; }
html.t-runway .rp-node span{ display:block; margin-top:6px; font-size:14px; line-height:1.45; color:rgba(255,255,255,.75); }

/* P13 APP CARDS: bordered card, title and line on top, visual at the bottom */
html.t-runway .rp-apps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin:0; padding:0; list-style:none; }
html.t-runway .rp-app{ display:flex; flex-direction:column; padding:20px; border:1px solid #ccd3dc; border-radius:12px; color:inherit; text-decoration:none; }
html.t-runway a.rp-app:hover{ border-color:#0c0c0c; }
html.t-runway .rp-app b{ font-size:var(--t-h3); font-weight:450; letter-spacing:-.02em; }
html.t-runway .rp-app span{ margin-top:8px; font-size:15px; line-height:1.5; color:#5f6772; }
html.t-runway .rp-app .rp-app-vis{ margin-top:auto; padding-top:20px; }
html.t-runway .rp-app .rp-app-vis > *{ display:block; width:100%; height:140px; border-radius:8px; object-fit:cover; background:#f1f3f6; }

/* P14 LEDGER ROWS: label | title | description | action, hairline rows (frameworks, documents, resources) */
html.t-runway .rp-ledger{ margin:0; padding:0; list-style:none; }
html.t-runway .rp-ledger li{ display:grid; grid-template-columns:140px minmax(0,1fr) minmax(0,1.4fr) auto; gap:24px; align-items:baseline; padding:24px 0; border-top:1px solid #c9ccd1; }
html.t-runway .rp-ledger li:last-child{ border-bottom:1px solid #c9ccd1; }
html.t-runway .rp-ledger small{ font-size:13px; color:#5f6772; }
html.t-runway .rp-ledger b{ font-size:19px; font-weight:450; letter-spacing:-.015em; }
html.t-runway .rp-ledger span{ font-size:15.5px; line-height:1.5; color:#5f6772; }

/* P15 SOFT CTA PANEL: centred grey panel, heading, line, one button */
html.t-runway .rp-soft{ display:grid; place-items:center; min-height:210px; padding:clamp(28px,4vw,48px); border-radius:16px; background:#eef0f3; text-align:center; }
html.t-runway .rp-soft h2{ margin:0; font-size:clamp(24px,2.4vw,34px); font-weight:400; letter-spacing:-.03em; }
html.t-runway .rp-soft p{ margin:10px auto 18px; max-width:56ch; font-size:16px; color:#5f6772; }

@media (max-width:860px){
  html.t-runway .rp-switch{ grid-template-columns:1fr; }
  html.t-runway .rp-switch-list{ flex-direction:row; overflow-x:auto; gap:18px; }
  html.t-runway .rp-switch-list button{ white-space:nowrap; }
  html.t-runway .rp-flow{ grid-template-columns:1fr; }
  html.t-runway .rp-flow::before{ left:50%; right:auto; top:8%; bottom:8%; width:1px; height:auto; background:repeating-linear-gradient(180deg,#9aa1ab 0 6px,transparent 6px 12px); }
  html.t-runway .rp-node:nth-child(even){ transform:none; }
  html.t-runway .rp-ledger li{ grid-template-columns:1fr; gap:6px; }
}

/* ---- Patterns 16 to 18 (structure from the owner's second runway.com replica; no Runway copy or art) ---- */

/* P16 CENTRED HERO: hero text centred over the video (add class is-center on .pghero; apply_theme sets it per page) */
html.t-runway .pghero.is-center{ align-items:center; justify-content:center; min-height:min(72svh,700px); }
html.t-runway .pghero.is-center .pghero-in{ align-items:center; text-align:center; max-width:880px; margin:0 auto; padding-top:clamp(80px,12vh,140px); }
html.t-runway .pghero.is-center h1{ margin-left:auto; margin-right:auto; max-width:16ch; font-size:clamp(34px,4.6vw,64px); letter-spacing:-.045em; line-height:1; }
html.t-runway .pghero.is-center .pghero-sub{ margin-left:auto; margin-right:auto; text-align:center; }
html.t-runway .pghero.is-center .pghero-cta{ justify-content:center; }
html.t-runway .pghero.is-center .pghero-veil{ background:radial-gradient(ellipse at 50% 55%,rgba(0,0,0,.55) 0%,rgba(0,0,0,.25) 60%,rgba(0,0,0,.45) 100%) !important; }

/* P17 PILL-TAB STAGE: centred pill tabs, then a two-column stage (text left, visual right); role=tablist markup like P11 */
html.t-runway .rp-ptabs{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px 10px; margin:0 0 clamp(28px,4vw,48px); padding:0; list-style:none; }
html.t-runway .rp-ptabs button{ appearance:none; min-height:40px; padding:0 14px; border:0; border-radius:8px; background:none; font:inherit; font-size:15px; color:#5f6772; cursor:pointer; }
html.t-runway .rp-ptabs button:hover{ color:#0c0c0c; }
html.t-runway .rp-ptabs button[aria-selected="true"]{ background:#0c0c0c; color:#fff; }
html.t-runway .rp-stage{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,5vw,64px); align-items:center; max-width:1170px; margin:0 auto; }
html.t-runway .rp-stage[hidden]{ display:none; }
html.t-runway .rp-stage h3{ margin:0 0 12px; font-size:var(--t-h3); font-weight:450; letter-spacing:-.02em; }
html.t-runway .rp-stage p{ margin:0; font-size:16px; line-height:1.55; color:#5f6772; }
html.t-runway .rp-stage .rp-media{ aspect-ratio:16/9; }

/* P18 MARK GRID: light four-column list of names, each with a small mark (models, systems, standards) */
html.t-runway .rp-marks{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 40px; max-width:900px; margin:0 auto; padding:0; list-style:none; }
html.t-runway .rp-marks li{ display:flex; align-items:center; gap:12px; font-size:15.5px; }
html.t-runway .rp-marks img, html.t-runway .rp-marks svg{ width:22px; height:22px; object-fit:contain; flex:none; filter:grayscale(1); }

@media (max-width:860px){
  html.t-runway .rp-stage{ grid-template-columns:1fr; }
  html.t-runway .rp-marks{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; }
}

/* P19 SHOWCASE CAROUSEL: tall rounded image cards in a snapping row; the centred card grows and shows its description and button,
   neighbours show the name only; arrow buttons either side (runway.js wires .rp-carousel). Native swipe on touch. */
html.t-runway .rp-carousel{ position:relative; }
html.t-runway .rp-car-track{ display:flex; gap:16px; margin:0; padding:24px max(var(--rw-gut), calc(50% - 300px)); list-style:none; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
html.t-runway .rp-car-track::-webkit-scrollbar{ display:none; }
html.t-runway .rp-car{ position:relative; flex:0 0 clamp(240px,26vw,380px); height:clamp(380px,40vw,560px); border-radius:28px 28px 22px 22px; overflow:hidden; scroll-snap-align:center; background:#0b0b0c; transform:scale(.92); transition:transform .45s cubic-bezier(.22,.61,.36,1), flex-basis .45s cubic-bezier(.22,.61,.36,1); }
html.t-runway .rp-car.is-active{ flex-basis:clamp(300px,44vw,640px); transform:none; border-radius:90px 28px 22px 22px; }
html.t-runway .rp-car img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
html.t-runway .rp-car-panel{ position:absolute; left:12px; right:12px; bottom:12px; padding:20px 22px; border-radius:16px; background:rgba(12,12,12,.78); color:#fff; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
html.t-runway .rp-car-panel small{ display:block; margin-bottom:6px; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.6); }
html.t-runway .rp-car-panel b{ display:block; font-size:clamp(18px,1.6vw,24px); font-weight:500; letter-spacing:-.02em; line-height:1.2; }
html.t-runway .rp-car-panel p{ display:none; margin:12px 0 16px; font-size:16px; line-height:1.5; color:rgba(255,255,255,.86); max-width:46ch; }
html.t-runway .rp-car-panel .pill{ display:none; height:36px; padding:0 14px; font-size:14px; background:transparent; color:#fff; -webkit-text-fill-color:#fff; border:1px solid rgba(255,255,255,.7); }
html.t-runway .rp-car-panel .pill:hover{ background:#fff; color:#000; -webkit-text-fill-color:#000; }
html.t-runway .rp-car.is-active .rp-car-panel p{ display:block; }
html.t-runway .rp-car.is-active .rp-car-panel .pill{ display:inline-flex; }
html.t-runway .rp-car-btn{ position:absolute; top:50%; z-index:2; width:48px; height:48px; margin-top:-24px; border:0; border-radius:50%; background:#fff; color:#0c0c0c; display:grid; place-items:center; cursor:pointer; }
html.t-runway .rp-car-btn:hover{ background:#e9ecf2; }
html.t-runway .rp-car-btn.is-prev{ left:max(12px, calc(50% - 360px)); }
html.t-runway .rp-car-btn.is-next{ right:max(12px, calc(50% - 360px)); }
html.t-runway .rp-car-btn svg{ width:22px; height:22px; }
@media (max-width:720px){
  html.t-runway .rp-car-track{ padding:16px 20px; }
  html.t-runway .rp-car, html.t-runway .rp-car.is-active{ flex-basis:82vw; height:440px; transform:none; border-radius:28px 28px 20px 20px; }
  html.t-runway .rp-car .rp-car-panel p, html.t-runway .rp-car .rp-car-panel .pill{ display:block; }
  html.t-runway .rp-car .rp-car-panel .pill{ display:inline-flex; }
  html.t-runway .rp-car-btn{ display:none; }
}
@media (prefers-reduced-motion:reduce){ html.t-runway .rp-car{ transition:none; } }
/* the theme's generic [class*="-panel"] surface rule must not repaint the carousel caption */
html.t-runway .rp-car > .rp-car-panel{ background:rgba(12,12,12,.8) !important; border:0 !important; border-radius:16px !important; color:#fff !important; }

/* ---- containment fixes (owner: "still bleeding texts next to visuals", "image keeps moving when clicking") ---- */
/* every pattern block sits inside the 1280 column with equal side padding, wherever it is nested */
html.t-runway :is(.rp-split,.rp-switch,.rp-acc,.rp-band,.rp-flow,.rp-compare,.rp-index,.rp-ledger,.rp-qa,.rp-apps,.rp-logos,.rp-rail,.rp-stage,.rp-soft,.rp-marks){
  width:min(1280px, calc(100% - 2 * var(--rw-gut))); margin-left:auto; margin-right:auto; box-sizing:border-box; }
html.t-runway .rwh-wrap :is(.rp-split,.rp-switch,.rp-acc,.rp-band,.rp-flow,.rp-compare,.rp-index,.rp-ledger,.rp-qa,.rp-apps,.rp-logos,.rp-rail,.rp-stage,.rp-soft,.rp-marks){ width:100%; }
/* split: text column keeps a readable measure and breathing room from the image and the edge */
html.t-runway .rp-split{ align-items:center; padding-block:clamp(8px,2vw,24px); }
html.t-runway .rp-split > :not(.rp-media){ max-width:560px; padding-right:clamp(0px,2vw,24px); }
html.t-runway .rp-split.is-flip > :not(.rp-media){ padding-right:0; padding-left:clamp(0px,2vw,24px); }
/* every pattern section has vertical padding so labels never touch the section edge */
html.t-runway main section:has(> .rp-split, > .rp-switch, > .rp-acc, > .rp-band, > .rp-flow, > .rp-compare){ padding-top:clamp(40px,6vw,88px); padding-bottom:clamp(40px,6vw,88px); }
/* switcher: the stage never resizes between tabs, panes always overlay it */
html.t-runway .rp-switch-stage{ aspect-ratio:16/9; min-height:0 !important; height:auto !important; }
html.t-runway .rp-switch-stage > .rp-switch-pane{ position:absolute !important; inset:0 !important; }
html.t-runway .rp-switch-stage > .rp-switch-pane img{ position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover; transform:none !important; }
/* hover is a hint, selected is black */
html.t-runway .rp-switch-list button:hover:not([aria-selected="true"]){ color:#4d5560; }
html.t-runway .rp-switch-list button[aria-selected="true"]{ color:#0c0c0c; }
/* no image anywhere scales or shifts on hover or click */
html.t-runway .rwh-media:hover img, html.t-runway .rwh-media:hover video, html.t-runway .rp-media:hover img{ transform:none !important; }
@media (max-width:860px){ html.t-runway .rp-split > :not(.rp-media){ max-width:none; padding:0; } }

/* logo walls: tiles centre on every row (no orphan alone on the left), marks share one optical size */
html.t-runway .rp-logos{ display:flex !important; flex-wrap:wrap; justify-content:center; border:0 !important; gap:0; }
html.t-runway .rp-logos li{ flex:0 1 170px; min-width:140px; margin:0 -1px -1px 0; border:1px solid #e3e6ea !important; }
html.t-runway .rp-logos img{ height:32px; max-height:32px; width:auto; min-width:28px; max-width:130px; object-fit:contain; }
html.t-runway .rp-logos img[src$=".svg"]:is([src*="/home/brand/"],[src*="googlecalendar"],[src*="zendesk"],[src*="stripe"],[src*="quickbooks"],[src*="zapier"],[src*="mailchimp"],[src*="hubspot"],[src*="atlassian"],[src*="databricks"],[src*="googlecloud"],[src*="oracle"],[src*="teams"],[src*="sharepoint"],[src*="xero"],[src*="slack"]){ width:32px; height:32px; }

/* logo walls (final): full-width grid aligned with the heading; small sets split into even rows */
html.t-runway .rp-logos{ display:grid !important; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); justify-content:stretch; width:100% !important; border-top:1px solid #e3e6ea !important; border-left:1px solid #e3e6ea !important; }
html.t-runway .rp-logos li{ flex:none; min-width:0; margin:0; border:0 !important; border-right:1px solid #e3e6ea !important; border-bottom:1px solid #e3e6ea !important; }
@media (min-width:861px){
  html.t-runway .rp-logos:has(> li:nth-child(4):last-child){ grid-template-columns:repeat(4,1fr); }
  html.t-runway .rp-logos:has(> li:nth-child(5):last-child){ grid-template-columns:repeat(5,1fr); }
  html.t-runway .rp-logos:has(> li:nth-child(6):last-child){ grid-template-columns:repeat(3,1fr); }
  html.t-runway .rp-logos:has(> li:nth-child(7):last-child){ grid-template-columns:repeat(4,1fr); }
  html.t-runway .rp-logos:has(> li:nth-child(8):last-child){ grid-template-columns:repeat(4,1fr); }
  html.t-runway .rp-logos:has(> li:nth-child(9):last-child){ grid-template-columns:repeat(3,1fr); }
  html.t-runway .rp-logos:has(> li:nth-child(10):last-child){ grid-template-columns:repeat(5,1fr); }
  html.t-runway .rp-logos:has(> li:nth-child(12):last-child){ grid-template-columns:repeat(6,1fr); }
  html.t-runway .rp-logos:has(> li:nth-child(13)){ grid-template-columns:repeat(7,1fr); }
}

/* split and accordion: the visual spans the full height of the text beside it (text never runs past the image) */
@media (min-width:861px){
  html.t-runway .rp-split, html.t-runway .rp-acc{ align-items:stretch !important; }
  html.t-runway .rp-split > .rp-media, html.t-runway .rp-acc > .rp-media{ aspect-ratio:auto !important; height:auto !important; min-height:360px; align-self:stretch; }
  html.t-runway .rp-split > :not(.rp-media){ align-self:center; }
}

/* accordion with no media: heading left, items right (was stuck in one half) */
html.t-runway .rp-acc:has(> div:only-child) > div{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); column-gap:clamp(32px,6vw,96px); align-items:start; grid-column:1 / -1; }
html.t-runway .rp-acc:has(> div:only-child) > div > .rp-h{ grid-column:1; grid-row:1 / span 12; position:sticky; top:110px; margin:0; max-width:14ch; }
html.t-runway .rp-acc:has(> div:only-child) > div > :not(.rp-h){ grid-column:2; }
@media(max-width:860px){ html.t-runway .rp-acc:has(> div:only-child) > div{ display:block; } html.t-runway .rp-acc:has(> div:only-child) > div > .rp-h{ position:static; margin-bottom:20px; } }

/* tab switch: stop min-content width stretching the grid on phones (Integrations, Operate) */
@media(max-width:1000px){ html.t-runway .rp-switch{ grid-template-columns:minmax(0,1fr) !important; } html.t-runway .rp-switch > *{ min-width:0; } html.t-runway .rp-switch-list{ max-width:100%; } html.t-runway .rp-switch-stage{ min-width:0; max-width:100%; } }

html.t-runway .rp-band.is-green{ background:#0a140f linear-gradient(120deg,#143a2a 0%,#08100c 60%); }
html.t-runway .rp-band.is-purple{ background:#0d0b1c linear-gradient(120deg,#26225a 0%,#0a0916 60%); }
html.t-runway .rp-band.is-amber{ background:#140f0a linear-gradient(120deg,#3a2a12 0%,#0f0b08 60%); }

/* Operate page carries the amber service colour */
html.t-runway main:has(#op-h) .rp-eyebrow{ color:#b4761c; }
html.t-runway main:has(#op-h) .rp-switch-stage{ background:#140f0a linear-gradient(135deg,#3a2a12 0%,#0f0b08 70%); }
html.t-runway main:has(#op-h) .rp-switch-list button[aria-selected="true"]{ color:#0c0c0c; box-shadow:inset 3px 0 0 #c2862a; padding-left:12px; }
@media(max-width:1000px){ html.t-runway main:has(#op-h) .rp-switch-list button[aria-selected="true"]{ box-shadow:inset 0 -3px 0 #c2862a; padding-left:0; } }
/* Secure page carries purple */
html.t-runway main:has(#trism-h) .rp-eyebrow{ color:#5b61d6; }

html.t-runway .sx-trio{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(16px,2vw,28px); max-width:1000px; margin:clamp(24px,3vw,40px) auto 0; text-align:left; }
html.t-runway .sx-trio li{ border-left:2px solid #5b61d6; }
@media(max-width:860px){ html.t-runway .sx-trio{ grid-template-columns:1fr; } }
