/* Scoped partner presentation; the consumer study uses its own stylesheet. */
.partner-demo-page { overflow-x:visible; }
.demo-container { width:min(100% - 3rem, 65rem); margin-inline:auto; }
.demo-header { padding-block:1.5rem; }
.demo-brand { display:inline-flex; align-items:center; gap:.25rem; min-height:44px; color:var(--color-text); text-decoration:none; }
.demo-brand img { width:86px; height:40px; object-fit:contain; }
.demo-brand span { font-family:var(--font-display); font-size:1.625rem; font-weight:700; letter-spacing:-.03em; }
.demo-intro { text-align:center; padding:1.5rem 0 2.5rem; }
.demo-intro h1 { font-family:var(--font-display); font-size:clamp(2.125rem, 4.5vw, 3.75rem); line-height:1.08; letter-spacing:-.04em; font-weight:800; }
.demo-intro h1 span { color:var(--color-gold-light); }
.demo-intro p { max-width:43rem; margin:1.25rem auto 0; font-size:clamp(1rem, 1.5vw, 1.25rem); line-height:1.65; color:#b9b6af; }
.partner-demo-video { width:100%; height:auto; aspect-ratio:16/10; max-height:min(64svh, 42rem); object-fit:contain; background:#030303; border:1px solid var(--color-border); border-radius:1rem; }
.demo-capabilities { padding-top:2.25rem; }
.demo-capabilities h2 { font-family:var(--font-display); font-size:clamp(1.625rem, 3vw, 2.125rem); letter-spacing:-.025em; font-weight:700; text-align:center; }
.demo-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem; margin-top:2rem; }
.demo-points li { position:relative; padding-top:1rem; font-size:1rem; line-height:1.7; color:#c4c1ba; }
.demo-points li::before { content:''; position:absolute; top:0; left:0; width:1.75rem; height:2px; background:var(--color-gold-dark); }
.demo-availability { margin:1.75rem auto 0; color:#aaa69e; font-size:.875rem; text-align:center; }
.demo-contact { margin-top:4rem; padding-block:3.5rem 1rem; border-top:1px solid var(--color-border); text-align:center; }
.demo-contact h2 { max-width:44rem; margin-inline:auto; font-family:var(--font-display); font-weight:500; font-size:clamp(1.5rem, 2.7vw, 2rem); line-height:1.4; letter-spacing:-.025em; }
.demo-contact p { margin:1.5rem auto 0; color:#b9b6af; font-size:1rem; }
.demo-contact-button { display:inline-flex; align-items:center; justify-content:center; min-height:3.25rem; margin-top:1.25rem; padding:.8rem 2.25rem; border-radius:var(--radius-full); background:var(--color-gold); color:var(--color-bg); text-decoration:none; font-size:1rem; font-weight:700; }
.demo-contact-button:hover { background:var(--color-gold-light); }
.partner-demo-page :focus-visible { outline:3px solid var(--color-gold-light); outline-offset:5px; }
.demo-footer { padding-block:2.75rem 1.5rem; }
.demo-footer p { max-width:none; text-align:center; color:#aaa69e; font-size:.875rem; }
@media (max-width:700px) {
  .demo-container { width:calc(100% - 2.25rem); }
  .demo-header { padding-block:1rem; }
  .demo-intro { padding-block:1.25rem 2rem; }
  .partner-demo-video { aspect-ratio:4/5; max-height:none; border-radius:.75rem; }
  .demo-capabilities { padding-top:1.75rem; }
  .demo-points { grid-template-columns:1fr; gap:1.5rem; margin-top:1.75rem; }
  .demo-points li { padding-top:0; padding-left:1.25rem; }
  .demo-points li::before { top:.7em; width:.35rem; height:.35rem; border-radius:50%; }
  .demo-availability { text-align:left; }
  .demo-contact { margin-top:2.5rem; padding-top:2.5rem; }
  .demo-contact-button { width:100%; max-width:18rem; }
}
