.ai-cctv h1{font-size:clamp(38px,4.4vw,64px);line-height:1.08}.ai-cctv .hero-grid{align-items:center;gap:48px}.ai-image{margin:0;min-width:0}.ai-image img{width:100%;height:auto;aspect-ratio:1.25;object-fit:cover;display:block}.ai-image figcaption{font-size:13px;line-height:1.6;padding:16px 20px;background:var(--navy);color:#fff}.ai-call-note{font-size:14px;margin-top:18px}.ai-call-note a,.ai-split a,.ai-note a{color:#1649b0;text-decoration:underline;text-underline-offset:3px}.ai-definition{max-width:1000px}.ai-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:35px 0}.ai-cards article{border-top:2px solid var(--blue);padding-top:24px}.ai-cards h3,.ai-flow h3,.ai-panel h3{font-size:25px;line-height:1.25}.ai-note{font-size:13px;line-height:1.7}.ai-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding:0;list-style:none;counter-reset:steps;margin:35px 0}.ai-flow li:before{counter-increment:steps;content:'0' counter(steps);color:var(--blue);display:block;margin-bottom:20px;font-weight:700}.ai-split{display:grid;grid-template-columns:1fr 1fr;gap:60px}.ai-panel{background:white;padding:30px;border:1px solid var(--line)}.ai-split ul{padding-left:22px}.ai-split li{margin-bottom:12px}.ai-mobile-call{display:none}.cta .button.primary{background:white;color:#1649b0}body:has(.ai-cctv) .faq summary span{align-self:flex-start;width:1em;height:1em;line-height:1}body:has(.ai-cctv) .section>p:not(.eyebrow){max-width:850px}@media(max-width:760px){.ai-cards,.ai-flow,.ai-split{grid-template-columns:1fr;gap:24px}.ai-cctv .hero-grid{gap:30px}.ai-image img{aspect-ratio:1.5}.ai-panel{padding:22px}.ai-mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;padding:8px 16px max(8px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.ai-mobile-call a{display:block;text-align:center;background:#2058d4;color:#fff;font-weight:700;padding:13px;border-radius:3px;min-height:48px}body:has(.ai-cctv){padding-bottom:76px}body:has(.ai-cctv) .analytics-settings{bottom:80px}body:has(.ai-cctv):has(.analytics-choice:not([hidden])) .ai-mobile-call{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Real-photo CCTV scenario carousel. */
.cctv-carousel{min-width:0}.cctv-carousel [hidden]{display:none!important}.cctv-carousel .industry-slide{animation:cctv-photo-in .45s ease}.cctv-carousel figcaption{min-height:148px}.cctv-carousel figcaption strong,.cctv-carousel figcaption span{display:block}.cctv-carousel figcaption strong{font-size:18px;margin-bottom:7px}.cctv-carousel .industry-controls{padding:14px;background:#fff;border:1px solid var(--line)}.cctv-carousel .industry-toolbar{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.cctv-carousel .industry-toolbar>div{display:flex;gap:6px}.cctv-carousel button{font:inherit;font-size:12px;font-weight:650;padding:10px 12px;min-height:44px;cursor:pointer;border:1px solid #b8c6d7;border-radius:3px;color:#142b43;background:#fff}.cctv-carousel button:hover{background:#edf3fa}.cctv-carousel button:focus-visible{outline:3px solid #2058d4;outline-offset:3px}.cctv-carousel button[aria-pressed=true]{background:#2058d4;color:#fff;border-color:#2058d4}.cctv-carousel .industry-selectors{display:flex;gap:6px;flex-wrap:wrap}.industry-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cctv-photo-note{font-size:12px;line-height:1.5;color:#465a70;margin:12px 0 0}.ai-cctv .hero-grid{align-items:start}@keyframes cctv-photo-in{from{opacity:.5}to{opacity:1}}@media(max-width:760px){.cctv-carousel figcaption{min-height:160px}.cctv-carousel .industry-toolbar{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.cctv-carousel .industry-slide{animation:none}}



.cctv-example-image{display:block;background:#edf3f8}.cctv-carousel .cctv-example-image img{aspect-ratio:4/3;width:100%;height:auto;object-fit:contain;object-position:center}.cctv-example-image:focus-visible{outline:3px solid #2058d4;outline-offset:3px}.cctv-carousel .cctv-source{display:inline-block;margin-top:12px;color:#fff;text-decoration:underline;text-underline-offset:3px;font-size:13px}.cctv-carousel figcaption{min-height:210px}

.cctv-carousel .cctv-example-image img{aspect-ratio:3/2}.cctv-carousel span.cctv-source{text-decoration:none;font-weight:600}
