/* Intro film uses the existing agency player and universal personal endcard. */
.vc-intro { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; gap:clamp(24px,4vw,48px); padding:12px 0 32px; }
.vc-intro-copy { min-width:0; }
.vc-intro-eyebrow { margin:0 0 10px; color:var(--rep-green-dark,#007a28); font-size:12px; font-weight:700; }
.vc-intro h2 { max-width:23ch; margin:0 0 16px; color:var(--rep-ink,#203329); font-size:clamp(25px,3vw,36px); line-height:1.16; letter-spacing:-.025em; }
.vc-intro-lead { max-width:66ch; color:var(--rep-muted,#596a60); font-size:16px; line-height:1.65; }
.vc-calculator-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-top:8px; padding-block:8px; font-size:15px; font-weight:700; text-underline-offset:3px; }
.vc-calculator-link span { font-size:20px; line-height:1; }
.vc-video-privacy { margin:6px 0 0; color:var(--rep-muted,#596a60); font-size:12px; line-height:1.5; }
.vc-film { min-width:0; width:100%; margin:0; }
.vc-film-player { position:relative; aspect-ratio:16 / 9; overflow:hidden; background:#009b31; border:1px solid rgb(0 0 0 / .08); border-radius:4px; }
.vc-film-player video { display:block; width:100%; height:100%; aspect-ratio:16 / 9; object-fit:contain; }
.vc-film-player video:focus-visible { outline:3px solid var(--rep-green-dark,#007a28); outline-offset:-4px; }
.vc-film-play { position:absolute; left:16px; bottom:16px; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border:1px solid rgb(255 255 255 / .7); border-radius:4px; background:#fff; color:var(--rep-ink,#203329); font-size:14px; font-weight:700; box-shadow:0 2px 8px rgb(0 0 0 / .1); touch-action:manipulation; transition:transform 160ms cubic-bezier(.23,1,.32,1),background-color 160ms ease; }
.vc-film-play:active { transform:scale(.97); }
.vc-film-play:focus-visible { outline-offset:-4px; transition:none; }
.vc-film-play:focus-visible:active { transform:none; }
.vc-film figcaption { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 16px; margin-top:12px; font-size:13px; color:var(--rep-muted,#596a60); }
.vc-film figcaption strong { color:var(--rep-ink,#203329); font-size:14px; font-weight:700; }
.vc-film figcaption>span { white-space:nowrap; font-variant-numeric:tabular-nums; }
.vc-film-summary { margin-top:4px; font-size:13px; color:var(--rep-muted,#596a60); }
.vc-film-summary summary { min-height:44px; padding-block:10px; font-size:13px; font-weight:400; cursor:pointer; }
.vc-film-summary p { margin-bottom:0; max-width:65ch; line-height:1.6; }
.vc-film-error { margin:12px 0 0; font-size:14px; color:var(--rep-muted,#596a60); }
.vc-film [hidden] { display:none !important; }
@media(max-width:900px) { .vc-intro { grid-template-columns:minmax(0,1fr); gap:24px; } .vc-film { max-width:640px; } }
@media(max-width:520px) { .vc-intro { padding-bottom:24px; } .vc-film-play { left:12px; bottom:12px; padding-inline:12px; } }
@media(hover:hover) { .vc-film-play:hover { background:#edf6ed; } }
@media(prefers-reduced-motion:reduce) { .vc-film-play { transition:background-color 160ms ease; } .vc-film-play:active { transform:none; } }
@media print { .vc-intro { display:block; } .vc-film,.vc-calculator-link,.vc-video-privacy { display:none !important; } }
