.cctv-page { background:#0b1730; color:#c4d3eb; font-family:Arial,Helvetica,sans-serif; }
.cctv-page h1,.cctv-page h2 { color:#fff; font-weight:700; letter-spacing:-1px; line-height:1.15; }
.cctv-page h1 { font-size:clamp(34px,4.5vw,60px); max-width:19ch; margin:0 0 24px; }
.cctv-page h2 { font-size:clamp(26px,3vw,38px); margin:0 0 28px; max-width:30ch; }
.cctv-page p,.cctv-page li { font-size:17px; line-height:1.8; }
.cctv-page p { margin:0 0 20px; }
.cctv-hero { position:relative; isolation:isolate; padding:140px max(24px,calc((100% - 1200px)/2)) 80px; min-height:650px; display:flex; align-items:center; }
.cctv-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 65%; z-index:-2; }
.cctv-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(6,19,42,.98),rgba(6,19,42,.9) 42%,rgba(6,19,42,.3)); }
.cctv-hero-content { max-width:760px; }
.cctv-hero-content > p:not(.cctv-label) { max-width:52ch; color:#dbeafe; }
.cctv-page .cctv-label { font-size:12px; text-transform:uppercase; letter-spacing:2px; font-weight:700; color:#93c5fd; margin-bottom:24px; }
.cctv-content { max-width:1248px; padding:0 24px 64px; margin:auto; }
.cctv-section { padding:72px 0; scroll-margin-top:100px; }
.cctv-section:first-child { max-width:880px; }
.cctv-includes { border-top:1px solid #2a3b57; }
.cctv-includes ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; list-style:none; margin:0; padding:0; }
.cctv-includes li { position:relative; padding:22px 0 22px 28px; border-bottom:1px solid #2a3b57; }
.cctv-includes li::before { content:"✓"; position:absolute; left:0; color:#93c5fd; font-weight:700; }
.cctv-why { padding:48px; background:#142442; border-radius:8px; margin:24px 0; }
.cctv-why p { max-width:90ch; }
.cctv-process ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; list-style:none; counter-reset:step; margin:0; padding:0; }
.cctv-process li { counter-increment:step; border-top:2px solid #3b82f6; padding-top:24px; font-size:16px; }
.cctv-process li::before { content:"0" counter(step); display:block; font-size:32px; font-weight:700; color:#93c5fd; margin-bottom:18px; }
.cctv-coverage { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:64px; align-items:center; }
.cctv-coverage figure { margin:0; }
.cctv-coverage img { width:100%; height:auto; border-radius:8px; }
.cctv-coverage figcaption { font-size:14px; color:#a7bbd9; line-height:1.6; margin-top:16px; }
.cctv-page p a { color:#93c5fd; text-decoration:underline; text-underline-offset:4px; }
.cctv-faq { max-width:900px; border-top:1px solid #2a3b57; }
.cctv-page details { padding:24px 0; border-bottom:1px solid #2a3b57; }
.cctv-page summary { cursor:pointer; color:#fff; font-size:19px; font-weight:600; line-height:1.5; }
.cctv-page details p { margin:18px 0 0; }
.cctv-quote { padding:48px; background:#142442; border-left:4px solid #3b82f6; border-radius:8px; }
.cctv-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.cctv-actions a { display:inline-flex; justify-content:center; align-items:center; min-height:50px; padding:14px 22px; border-radius:6px; font-weight:700; color:white; text-decoration:none; transition:background .2s,transform .2s; }
.cctv-primary { background:#1d4ed8; border:1px solid #1d4ed8; }
.cctv-primary:hover { background:#2563eb; transform:translateY(-2px); }
.cctv-secondary { background:#102747; border:1px solid #7d9abc; }
.cctv-secondary:hover { background:#1e3a5f; }
.cctv-page a:focus-visible,.cctv-page summary:focus-visible { outline:3px solid #93c5fd; outline-offset:4px; }
@media(max-width:900px) { .cctv-process ol { grid-template-columns:repeat(2,minmax(0,1fr)); } .cctv-coverage { gap:32px; } }
@media(max-width:640px) {
 .cctv-hero { min-height:0; padding:120px 24px 56px; }
 .cctv-hero::after { background:rgba(6,19,42,.86); }
 .cctv-hero h1 { max-width:100%; }
 .cctv-section { padding:48px 0; }
 .cctv-includes ul,.cctv-coverage { grid-template-columns:1fr; }
 .cctv-why,.cctv-quote { padding:28px 24px; }
 .cctv-process ol { grid-template-columns:1fr; }
 .cctv-actions { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { .cctv-actions a { transition:none; transform:none; } }
