/* Platform first: shared chrome and the v18 homepage. */
:root { --pf-paper:#f7f5ef; --pf-ink:#102039; --pf-muted:#56657a; --pf-blue:#1b50ff; --pf-line:#d7dce4; --pf-tint:#eaf0ff; }
html { scroll-padding-top:28px; }
body { background:var(--pf-paper); }
.v18-site .page-shell { width:min(1200px,calc(100% - 80px)); }
[hidden] { display:none !important; }
.skip-link { position:absolute; top:12px; left:16px; transform:translateY(-180%); padding:12px 18px; background:var(--pf-ink); color:white; z-index:100; }
.skip-link:focus { transform:translateY(0); }
.v18-header { max-width:1280px; margin:auto; padding:0 40px; }
.v18-header-inner { min-height:96px; display:flex; justify-content:space-between; align-items:center; gap:24px; border-bottom:1px solid var(--pf-line); }
.v18-brand { font-size:32px; font-weight:750; letter-spacing:-2px; color:var(--pf-ink); white-space:nowrap; }
.v18-brand sup { color:var(--pf-blue); font-size:17px; letter-spacing:-.5px; margin-left:2px; }
.v18-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:22px; font-size:13px; font-weight:550; }
.v18-nav a { padding:12px 0; color:var(--pf-ink); }
.v18-nav a:hover,.v18-nav a[aria-current=page] { color:var(--pf-blue); }
.v18-version { color:var(--pf-muted); font:400 11px/1.5 var(--font-geist-mono),monospace; letter-spacing:.04em; white-space:nowrap; }
.v18-version a { text-underline-offset:4px; }
.v18-version a:hover { text-decoration:underline; }
.v18-license { margin:0; padding:22px 0 32px; border-top:1px solid #ffffff28; color:#b5c1d5; font-size:12px; line-height:1.7; }
.v18-license a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.platform-home { color:var(--pf-ink); background:var(--pf-paper); }
.pf-shell { width:100%; max-width:1280px; padding-inline:40px; margin-inline:auto; }
.platform-home h1,.platform-home h2,.platform-home h3 { font-weight:600; letter-spacing:-.045em; }
.platform-home h2 { font-size:clamp(28px,3vw,40px); line-height:1.12; }
.platform-home h3 { font-size:23px; line-height:1.25; }
.pf-kicker { font:500 11px/1.5 var(--font-geist-mono),monospace; color:var(--pf-blue); letter-spacing:.11em; text-transform:uppercase; margin:0 0 20px; }
.pf-hero { --pf-content-offset:clamp(0px,calc((100vw - 1100px) / 3),100px); display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,1fr); align-items:center; gap:12px; text-align:left; padding-block:62px 58px; }
/* Center the visible composition, accounting for the airship's transparent edges. */
.pf-hero-copy { position:relative; left:var(--pf-content-offset); z-index:1; }
.pf-hero h1 { font-size:clamp(40px,4.15vw,62px); line-height:1.06; letter-spacing:-.055em; margin:0; }
.pf-hero h1 span { display:block; }
.pf-hero h1 span:last-child { color:var(--pf-blue); }
.pf-hero .pf-actions,.pf-hero .pf-facts { justify-content:flex-start; }
.pf-hero-visual { position:relative; left:var(--pf-content-offset); min-width:0; margin:0 0 0 clamp(-140px,calc(60px - 14vw),-60px); transform:translateX(clamp(-90px,calc(360px - 30vw),0px)); }
.pf-hero-scene { position:relative; aspect-ratio:1190 / 900; margin-bottom:-17%; overflow:hidden; mix-blend-mode:multiply; mask-image:radial-gradient(ellipse 33% 35% at 50% 38%,#000 25%,rgb(0 0 0 / .98) 40%,rgb(0 0 0 / .82) 58%,rgb(0 0 0 / .5) 73%,rgb(0 0 0 / .18) 86%,rgb(0 0 0 / .035) 94%,transparent 100%); }
/* Frame the upper-right gallery in the original 3840 x 2160 screenshot. */
.pf-hero-scene img { position:absolute; width:322.689%; max-width:none; height:auto; left:-186.555%; top:-27.222%; }
.pf-hero-visual figcaption { text-align:center; color:var(--pf-muted); font-size:11px; line-height:1.6; margin-top:8px; }
.pf-create-line { margin-top:30px; font-size:clamp(21px,2.4vw,28px); line-height:1.3; letter-spacing:-.03em; font-weight:550; }
.pf-production-line { margin-top:10px; color:var(--pf-muted); font-size:15px; line-height:1.6; }
.pf-description { margin-top:16px; color:var(--pf-muted); font-size:16px; line-height:1.8; }
.pf-description strong { color:var(--pf-ink); font-weight:550; }
.pf-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:28px; }
.pf-button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:14px; padding:13px 22px; border:1px solid var(--pf-line); border-radius:5px; background:white; color:var(--pf-ink); font-size:14px; font-weight:550; transition:background .15s, border-color .15s; }
.pf-button:hover { border-color:var(--pf-blue); background:var(--pf-tint); }
.pf-button.pf-primary { background:var(--pf-blue); color:white; border-color:var(--pf-blue); }
.pf-button.pf-primary:hover { background:#123ddd; }
.pf-facts { display:flex; justify-content:center; gap:12px 30px; flex-wrap:wrap; padding:0; margin:25px 0 0; list-style:none; color:var(--pf-muted); font-size:12px; }
.pf-facts li { white-space:nowrap; }
.pf-facts li::before { content:'·'; color:var(--pf-blue); margin-right:10px; }
.pf-section-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; margin-bottom:28px; }
.pf-section-heading h2 { font-size:26px; margin:0; }
.pf-section-heading > a,.pf-text-link { color:var(--pf-blue); font-size:13px; line-height:1.6; font-weight:550; text-underline-offset:4px; }
.pf-section-heading > a:hover,.pf-text-link:hover { text-decoration:underline; }
.pf-model-library { padding-block:30px 40px; position:relative; }
.pf-model-library::before { content:''; display:block; border-top:1px solid var(--pf-line); position:absolute; top:0; left:40px; right:40px; }
.pf-model-columns { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.pf-model-column { border-top:2px solid var(--pf-blue); padding-top:18px; }
.pf-model-column h3 { color:var(--pf-blue); font-size:28px; margin-bottom:9px; }
.pf-model-column h3 a,.pf-hero .pf-kicker a { color:inherit; text-underline-offset:5px; }
.pf-model-column h3 a:hover,.pf-model-column h3 a:focus-visible,.pf-hero .pf-kicker a:hover,.pf-hero .pf-kicker a:focus-visible { text-decoration:underline; }
.pf-model-column > p { color:var(--pf-muted); font-size:13px; line-height:1.5; min-height:40px; margin-bottom:16px; }
.pf-model-column ul { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.pf-model-column li { font-size:15px; line-height:1.5; font-weight:550; }
.pf-model-column small { font-size:11px; font-weight:400; color:var(--pf-muted); display:inline-block; margin-left:4px; }
.pf-small { color:var(--pf-muted); font-size:12px; line-height:1.65; }
.pf-model-library > .pf-small { margin-top:26px; }
.pf-pipeline { padding-block:26px 44px; }
.pf-pipeline-heading { display:grid; grid-template-columns:1.15fr 1fr; align-items:end; gap:48px; }
.pf-pipeline-heading .pf-kicker { margin-bottom:16px; }
.pf-pipeline-heading > p { color:var(--pf-muted); font-size:15px; line-height:1.75; max-width:500px; }
.pf-pipeline-stages { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:24px; padding:0; margin:34px 0 0; list-style:none; }
.pf-pipeline-stages li { border-top:2px solid var(--pf-blue); padding-top:16px; }
.pf-pipeline-stages li > span { color:var(--pf-blue); font:500 11px/1.5 var(--font-geist-mono),monospace; }
.pf-pipeline-stages h3 { font-size:21px; margin:14px 0 12px; }
.pf-pipeline-stages p { color:var(--pf-muted); font-size:13px; line-height:1.7; }
.pf-pipeline-footer { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:16px 30px; margin-top:28px; }
.pf-pipeline-footer > p { color:var(--pf-muted); font-size:13px; line-height:1.7; }
.pf-bridge { display:grid; grid-template-columns:1fr 1fr; border-block:1px solid var(--pf-line); }
.pf-bridge > div { padding:32px 40px 34px 0; }
.pf-bridge > div + div { border-left:1px solid var(--pf-line); padding-left:40px; padding-right:0; }
.pf-bridge .pf-kicker { margin-bottom:12px; }
.pf-bridge h2 { font-size:clamp(27px,2.65vw,35px); }
.pf-bridge p:not(.pf-kicker) { max-width:480px; margin:18px 0; color:var(--pf-muted); font-size:15px; line-height:1.75; }
.pf-sharing { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:16px; font:400 11px/1.5 var(--font-geist-mono),monospace; color:var(--pf-muted); }
.pf-workspace { padding-block:42px 60px; }
.pf-mode-switch { display:flex; gap:6px; flex-wrap:wrap; }
.pf-mode-switch button { font-family:inherit; font-size:13px; line-height:1.5; font-weight:500; min-height:44px; padding:9px 16px; color:var(--pf-ink); background:white; border:1px solid var(--pf-line); border-radius:4px; cursor:pointer; }
.pf-mode-switch button[aria-pressed=true] { color:var(--pf-paper); background:var(--pf-ink); border-color:var(--pf-ink); }
.pf-mode-panel + .pf-mode-panel { margin-top:30px; }
.pf-workspace.is-interactive .pf-mode-panel { margin-top:0; }
.pf-mode-copy { display:grid; grid-template-columns:1fr 1fr; gap:45px; background:var(--pf-tint); padding:30px; border-radius:6px; }
.pf-mode-copy p { color:var(--pf-muted); font-size:14px; line-height:1.7; margin-top:12px; }
.pf-mode-copy .pf-text-link { display:inline-block; margin-top:14px; }
.pf-shared-memory { margin:28px 0; padding:4px 0 4px 22px; border-left:2px solid var(--pf-blue); }
.pf-shared-memory h3 { color:var(--pf-ink); font-size:23px; font-weight:600; letter-spacing:-.035em; line-height:1.25; margin:0 0 10px; }
.pf-shared-memory p { color:var(--pf-muted); font-size:14px; line-height:1.75; max-width:780px; margin:0; }
.pf-mode-copy ol { align-self:center; display:grid; gap:15px; list-style:none; counter-reset:steps; margin:0; padding:0; }
.pf-mode-copy li { display:flex; align-items:baseline; gap:14px; font-size:13px; line-height:1.6; counter-increment:steps; }
.pf-mode-copy li::before { content:'0' counter(steps); font:500 11px/1.5 var(--font-geist-mono),monospace; color:var(--pf-blue); }
.pf-screenshot { margin:26px 0 0; }
.pf-screenshot img { display:block; width:100%; height:auto; min-height:0; aspect-ratio:16/9; object-fit:contain; }
.v18-site .product-frame .platform-workspace-image { width:100%; height:auto; min-height:0; aspect-ratio:16/9; object-fit:contain; }
.pf-screenshot figcaption { margin-top:14px; color:var(--pf-muted); font-size:12px; line-height:1.6; }
.pf-agent-detail { display:grid; grid-template-columns:1fr 1fr; gap:48px; padding:38px 0 20px; }
.pf-agent-detail h3 { font-size:30px; }
.pf-agent-detail p:not(.pf-kicker) { color:var(--pf-muted); font-size:14px; line-height:1.75; margin-top:18px; }
.pf-connection { background:var(--pf-ink); padding:28px; border-radius:6px; color:var(--pf-paper); min-width:0; }
.pf-connection p:not(.pf-kicker) { color:#bcc8dc; font-size:12px; margin:0 0 14px; }
.pf-connection pre { margin:0 0 24px; white-space:pre-wrap; overflow-wrap:anywhere; }
.pf-connection code { font-family:var(--font-geist-mono),monospace; font-size:13px; overflow-wrap:anywhere; }
.pf-connection p.pf-small { margin:24px 0 0; }
.pf-dimensions { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; padding-block:30px 70px; }
.pf-dimensions > .pf-screenshot { grid-column:1 / -1; margin-top:0; min-width:0; }
.deepy-browser-shot + .deepy-browser-shot { margin-top:40px; }
.pf-dimensions-heading > p:not(.pf-kicker) { color:var(--pf-muted); font-size:15px; line-height:1.75; margin:22px 0; max-width:430px; }
.pf-flow { display:grid; grid-template-columns:1fr 1fr; gap:30px; list-style:none; padding:0; margin:0; }
.pf-flow li { border-top:2px solid var(--pf-blue); padding-top:16px; }
.pf-flow span { color:var(--pf-blue); font:500 11px/1.5 var(--font-geist-mono),monospace; }
.pf-flow h3 { font-size:22px; margin:15px 0 8px; }
.pf-flow p { color:var(--pf-muted); font-size:13px; line-height:1.65; }
.pf-performance { background:var(--pf-tint); padding-block:60px; }
.pf-performance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; margin:34px 0 28px; }
.pf-performance-grid h3 { font-size:22px; }
.pf-performance-grid p { color:var(--pf-muted); font-size:14px; line-height:1.75; margin-top:16px; }
.pf-audio { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:60px; padding-block:70px; }
.pf-audio .pf-screenshot { margin:0; min-width:0; }
.pf-audio > div > p:not(.pf-kicker) { color:var(--pf-muted); font-size:15px; line-height:1.75; margin:22px 0; }
.v18-three-d { border-top:1px solid var(--line); }
.v18-three-d .release-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.v18-three-d .release-card h3 { font-size:26px; }
.v18-home .install-section .section-heading .section-index,.v18-home #faq .section-index { font-variant-numeric:tabular-nums; }
@media (min-width:1600px) { .pf-hero { padding-top:82px; } }
@media (max-width:1050px) {
  .v18-header-inner { gap:18px; }
  .v18-nav { gap:15px; font-size:12px; }
  .v18-version { font-size:10px; }
  .pf-dimensions { gap:40px; }
  .pf-audio { gap:35px; }
}
@media (max-width:800px) {
  .v18-site .page-shell { width:calc(100% - 48px); }
  .v18-header,.pf-shell { padding-inline:24px; }
  .v18-header-inner { flex-wrap:wrap; gap:8px 20px; padding-block:16px 12px; }
  .v18-nav { order:3; flex-basis:100%; justify-content:flex-start; gap:8px 24px; }
  .v18-version { font-size:11px; }
  .pf-hero { grid-template-columns:1fr; gap:24px; padding-block:48px 40px; }
  .pf-hero-visual { width:min(100%,560px); justify-self:center; margin:0; }
  .pf-hero h1 { font-size:clamp(39px,6.2vw,52px); }
  .pf-description { font-size:14px; }
  .pf-pipeline-heading { grid-template-columns:1fr; gap:20px; }
  .pf-pipeline-stages { grid-template-columns:1fr; gap:0; margin-top:28px; }
  .pf-pipeline-stages li { display:grid; grid-template-columns:30px 160px 1fr; align-items:baseline; gap:20px; padding:20px 0; border-top:1px solid var(--pf-line); }
  .pf-pipeline-stages h3 { margin:0; font-size:21px; }
  .pf-model-library::before { left:24px; right:24px; }
  .pf-model-columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; }
  .pf-bridge > div { padding:26px 24px 28px 0; }
  .pf-bridge > div + div { padding-left:24px; }
  .pf-bridge h2 { font-size:28px; }
  .pf-mode-copy { gap:28px; padding:24px; }
  .pf-dimensions { grid-template-columns:1fr; gap:30px; padding-bottom:48px; }
  .pf-dimensions-heading > p:not(.pf-kicker) { max-width:600px; }
  .pf-performance-grid { grid-template-columns:1fr; gap:28px; }
  .pf-audio { grid-template-columns:1fr; gap:28px; padding-block:48px; }
  .pf-agent-detail { gap:28px; }
  .pf-agent-detail h3 { font-size:26px; }
  .v18-three-d .release-grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .v18-site .page-shell { width:calc(100% - 40px); }
  .v18-header,.pf-shell { padding-inline:20px; }
  .v18-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 16px; }
  .v18-nav a { font-size:12px; min-height:44px; display:flex; align-items:center; }
  .pf-hero h1 { font-size:clamp(34px,8.4vw,46px); }
  .pf-create-line { font-size:22px; margin-top:26px; }
  .pf-description { font-size:14px; line-height:1.75; }
  .pf-production-line { font-size:14px; }
  .pf-pipeline { padding-block:20px 34px; }
  .pf-pipeline-stages li { grid-template-columns:26px 1fr; gap:8px 14px; }
  .pf-pipeline-stages p { grid-column:2; }
  .pf-hero { padding-block:38px; }
  .pf-actions { gap:10px; }
  .pf-button { padding-inline:16px; font-size:13px; }
  .pf-facts { column-gap:20px; font-size:11px; }
  .pf-model-library::before { left:20px; right:20px; }
  .pf-model-column h3 { font-size:25px; }
  .pf-model-column > p { font-size:12px; }
  .pf-model-column li { font-size:13px; }
  .pf-model-column small { margin-left:0; }
  .pf-model-columns { gap:30px 18px; }
  .pf-section-heading h2 { font-size:25px; }
  .pf-bridge { grid-template-columns:1fr; }
  .pf-bridge > div,.pf-bridge > div + div { padding:26px 0; border-left:0; }
  .pf-bridge > div + div { border-top:1px solid var(--pf-line); }
  .pf-mode-copy,.pf-agent-detail { grid-template-columns:1fr; gap:24px; }
  .pf-mode-copy { padding:22px; }
  .pf-mode-copy h3 { font-size:23px; }
  .pf-workspace { padding-block:34px 42px; }
  .pf-sharing { font-size:10px; }
  .pf-flow { gap:26px 20px; }
  .pf-flow h3 { font-size:20px; }
  .pf-connection { padding:22px; }
  .pf-performance { padding-block:42px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .pf-button { transition:none; } }
