/* Shared pages keep the campaign quiet while giving the product room. */
.site-header nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px}
.site-footer nav{flex-wrap:wrap;row-gap:15px;max-width:570px}
.page-intro{padding-top:65px}
.page-intro>.eyebrow{margin-bottom:26px}
.page-intro h1,.page-main .section-heading h1,.page-download h1{font-size:clamp(48px,6.8vw,104px);line-height:.98;letter-spacing:-.055em;font-weight:500}
.page-intro .page-lead{max-width:780px;font-size:19px;color:var(--muted);line-height:1.6;margin-top:30px}
.page-actions{display:flex;align-items:center;gap:28px;margin-top:28px;flex-wrap:wrap}
.page-actions .text-link{margin:0}
.page-main>.section:first-child{padding-top:65px}
.page-main .connected-vision{padding-top:65px}
.page-main .connected-vision .section-heading{grid-template-columns:1.3fr 1fr}
.page-main .connected-vision h1{font-size:clamp(44px,5.2vw,80px)}
.page-features .product{padding-top:80px}
.hero-film{border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#e9e8e1}
.hero-film video,.film-story video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#151515}
.hero-film figcaption{padding:16px 21px;line-height:1.5}
.hero-film figcaption a{flex-shrink:0}
.hero-film-link{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;font-size:13px}
.home-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-path-grid>a{display:flex;flex-direction:column;text-decoration:none;padding:30px;border:1px solid var(--line);border-radius:26px;min-width:0;transition:background .2s}
.home-path-grid>a:hover{background:#e9e8e1}
.home-path-grid .eyebrow{font-size:10px;color:#626954;margin-bottom:28px}
.home-path-grid h3{font-size:32px;letter-spacing:-.045em;line-height:1.1;margin-bottom:20px}
.home-path-grid p{font-size:15px;line-height:1.65;color:var(--muted);margin-bottom:28px}
.path-action{font-size:13px;margin-top:auto}
.page-cta{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end;padding-bottom:10px}
.page-cta .eyebrow{margin-bottom:24px}
.page-cta p:not(.eyebrow){font-size:17px;color:var(--muted);max-width:400px;margin-bottom:26px}
.page-download #download{padding-top:70px}
.page-download .download h1{max-width:950px;margin-inline:auto}
.page-download .download>.eyebrow{margin-bottom:24px}
.page-download .download>p:not(.eyebrow){margin-top:26px}
.film-library{padding-top:75px}
.film-story{scroll-margin-top:35px}
.film-story+.film-story{margin-top:100px}
.film-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-bottom:30px}
.film-heading .eyebrow{margin-bottom:21px}
.film-heading h2{font-size:clamp(36px,4.3vw,64px)}
.film-heading>p{font-size:17px;line-height:1.65;color:var(--muted);max-width:480px}
.film-story video{border:1px solid var(--line);border-radius:24px}
.film-links{display:flex;gap:28px;justify-content:flex-start;flex-wrap:wrap;margin-top:18px;font-size:13px}
.film-links a{min-height:40px;display:inline-flex;align-items:center}
.film-note{font-size:13px;line-height:1.7;color:var(--muted);margin-top:34px;max-width:1050px}
.legacy-links{font-size:14px;color:var(--muted)}
@media(max-width:1100px){.home-path-grid{gap:18px}.home-path-grid>a{padding:25px}.home-path-grid h3{font-size:28px}.film-heading{gap:36px}}
@media(max-width:900px){.home-path-grid{grid-template-columns:1fr}.home-path-grid>a{padding:30px}.home-path-grid p{max-width:650px}.page-main .connected-vision .section-heading{grid-template-columns:1fr}.page-main .connected-vision .section-heading>p{max-width:650px;justify-self:start}.page-cta{gap:35px}.site-footer nav{max-width:100%}}

@media(prefers-reduced-motion:reduce){.home-path-grid>a{transition:none}}

/* A still invitation on Home; the full player belongs on the Films page. */
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.hero-actions .text-link { margin-top: 0; }
.hero-film-preview { position: relative; display: block; color: #fff; background: #e8e6df; text-decoration: none; }
.hero-film-still { display: block; }
.hero-film-still img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }
.hero-film-overlay { position: absolute; inset: auto 24px 24px; display: flex; align-items: center; justify-content: center; gap: 12px; width: fit-content; max-width: calc(100% - 48px); min-height: 48px; padding: 13px 20px; background: #191919; border: 1px solid #ffffff66; border-radius: 999px; font-size: 16px; line-height: 1.4; }
.hero-film-overlay::before { content: ''; width: 0; height: 0; border-left: 9px solid currentColor; border-top: 6px solid transparent; border-bottom: 6px solid transparent; }
.hero-film-preview:focus-visible { outline-offset: -5px; outline-color: #fff; }
.mobile-demo-card { display: none; }
.film-player { width: 100%; overflow: hidden; border-radius: 24px; background: #161616; }
.film-player video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; border-radius: 0; }

@media (max-width: 760px) {
  .page-intro, .page-main .connected-vision, .page-download #download { padding-top: 26px; }
  .page-intro > .eyebrow { margin-bottom: 14px; }
  .page-intro h1, .page-main .section-heading h1, .page-download h1, .page-main .connected-vision h1 { font-size: clamp(34px, 10vw, 46px); line-height: 1.06; letter-spacing: -.04em; }
  .page-intro .page-lead { font-size: 16px; line-height: 1.65; margin-top: 18px; max-width: 42ch; }
  .page-actions { display: grid; grid-template-columns: 1fr; gap: 10px; align-items: stretch; margin-top: 22px; }
  .page-actions .button, .page-actions .text-link { width: 100%; justify-content: center; min-height: 48px; text-align: center; }
  .page-actions .text-link { border: 1px solid var(--line); border-radius: 999px; padding: 12px 18px; }
  .hero-actions { display: grid; grid-template-columns: 1fr; gap: 10px; align-items: stretch; }
  .hero-actions .button, .hero-actions .text-link { justify-content: center; width: 100%; min-height: 48px; margin: 0; text-align: center; }
  .hero-actions .text-link { padding: 12px 18px; border: 1px solid var(--line); border-radius: 999px; }
  .hero-film { border-radius: 20px; }
  .hero-film-still img { aspect-ratio: 4 / 3; object-fit: cover; object-position: center; border-radius: 0; }
  .hero-film-overlay { inset: auto 16px 16px; max-width: calc(100% - 32px); min-height: 48px; font-size: 15px; padding: 12px 16px; }
  .hero-film figcaption { display: block; padding: 16px; font-size: 14px; line-height: 1.55; }
  .hero-film figcaption a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 4px; font-size: 14px; }
  .home-path-grid { grid-template-columns: 1fr; gap: 16px; }
  .home-path-grid > a { padding: 24px; border-radius: 20px; }
  .home-path-grid .eyebrow { font-size: 12px; margin-bottom: 16px; }
  .home-path-grid h3 { font-size: 27px; line-height: 1.18; margin-bottom: 14px; }
  .home-path-grid p { font-size: 16px; line-height: 1.65; margin-bottom: 16px; }
  .path-action { display: flex; align-items: center; min-height: 44px; font-size: 15px; line-height: 1.4; }
  .page-features .product { padding-top: 32px; }
  .demo-desktop { display: none; }
  .mobile-demo-card { display: block; padding: 24px; border-radius: 20px; border: 1px solid #c9cebf; background: #e7e9df; }
  .mobile-demo-card h3 { font-size: 27px; line-height: 1.2; letter-spacing: -.035em; margin-bottom: 14px; }
  .mobile-demo-card p { font-size: 16px; line-height: 1.65; margin-bottom: 18px; color: #51564b; }
  .mobile-demo-card .button { width: 100%; justify-content: center; text-align: center; }
  .mobile-demo-card .eyebrow { font-size: 12px; }
  .mobile-demo-links { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 14px; }
  .mobile-demo-links a { display: flex; align-items: center; min-height: 48px; padding: 10px 0; font-size: 16px; line-height: 1.4; border-top: 1px solid #c9cebf; text-decoration: none; }
  .page-main .connected-vision .section-heading { display: block; }
  .page-main .connected-vision .section-heading > p { margin-top: 18px; }
  .page-cta { grid-template-columns: 1fr; gap: 22px; padding-bottom: 52px; }
  .page-cta .eyebrow { margin-bottom: 14px; }
  .page-cta p:not(.eyebrow) { font-size: 16px; line-height: 1.65; margin-bottom: 20px; }
  .page-cta .button { width: 100%; justify-content: center; text-align: center; }
  .page-download .preview-download { text-align: left; }
  .film-library { padding-top: 32px; }
  .film-story { scroll-margin-top: 20px; }
  .film-story + .film-story { margin-top: 52px; }
  .film-heading { grid-template-columns: 1fr; gap: 16px; margin-bottom: 22px; }
  .film-heading .eyebrow { margin-bottom: 12px; }
  .film-heading h2 { font-size: 34px; line-height: 1.1; }
  .film-heading > p { font-size: 16px; line-height: 1.65; }
  .film-player { max-width: 430px; margin-inline: auto; border-radius: 20px; }
  .film-player video { aspect-ratio: 9 / 16; object-fit: contain; }
  .film-links { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 14px; font-size: 16px; }
  .film-links a { min-height: 48px; padding: 10px 0; border-bottom: 1px solid var(--line); line-height: 1.4; }
  .film-note { font-size: 14px; line-height: 1.65; margin-top: 24px; }
  .legacy-links { font-size: 16px; line-height: 1.65; }
}

.hero-actions .hero-film-link { margin-top: 0; }
.film-scene-note { margin-top: 14px; font-size: 13px; line-height: 1.5; color: var(--muted); }
.film-links > .text-link { margin-top: 0; }
.film-extras { flex: 1; font-size: 14px; }
.film-extras summary { cursor: pointer; min-height: 44px; padding: 12px 0; line-height: 1.45; }
.film-extras > div { display: grid; gap: 0; padding: 4px 0; }
.film-extras a { display: flex; align-items: center; min-height: 48px; padding: 10px 0; font-size: 15px; }
/* A playing film keeps its selected format when the device rotates. */
.film-player video[data-film-format="portrait"] { aspect-ratio: 9 / 16; max-height: none; }
.film-player video[data-film-format="landscape"] { aspect-ratio: 16 / 9; }
.film-player:has(video[data-film-format="portrait"]) { max-width: 430px; margin-inline: auto; }
@media (max-width: 760px) {
  .hero-actions .hero-film-link { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin: 0; padding: 12px 18px; border: 1px solid var(--line); border-radius: 999px; font-size: 16px; line-height: 1.35; text-align: center; text-decoration: none; }
  .mobile-demo-card .mobile-demo-note { font-size: 14px; line-height: 1.6; margin-top: 16px; margin-bottom: 0; }
  .film-scene-note { font-size: 14px; line-height: 1.55; margin-top: 14px; }
  .film-extras { font-size: 16px; }
  .film-extras summary { min-height: 48px; padding: 12px 0; border-bottom: 1px solid var(--line); }
  .film-extras a { min-height: 48px; font-size: 16px; line-height: 1.45; }
}

.film-jump-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.film-jump-links a { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border: 1px solid var(--line); border-radius: 999px; font-size: 16px; line-height: 1.4; text-align: center; text-decoration: none; }
.film-jump-links a:hover { background: #e9e8e1; }
@media (max-width: 760px) {
  .film-jump-links { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
  .film-jump-links a { min-height: 48px; padding: 12px; font-size: 15px; }
}
@media (max-width: 359px) {
  .film-jump-links { grid-template-columns: 1fr; }
}
