/* CCTV: layout only. Heading sizes inherit the shared site typography. */
.cctv-page{color:var(--ink);background:#fff;overflow:clip}
.cctv-section{padding-block:24px}
.cctv-section+.cctv-section:not(.cctv-soft){padding-top:12px}
.cctv-soft{background:#f5f6f7}
.cctv-page figure{margin:0}
.cctv-page p{font-size:16px;line-height:1.55}
.cctv-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:16px}
.cctv-heading h2{margin-bottom:8px}
.cctv-heading p,.cctv-lead{color:var(--muted);margin-bottom:0}
.cctv-heading>p{max-width:350px}
.cctv-heading>.text-link{flex-shrink:0}
.cctv-hero{position:relative;background:#111b24;color:#fff;isolation:isolate}
.cctv-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.cctv-hero__inner{position:relative;min-height:var(--service-hero-min-height);padding-block:18px 26px;display:flex;flex-direction:column}
.cctv-hero .breadcrumbs{margin:0 0 30px;color:#eee;font-size:14px}
.cctv-hero__content{max-width:590px;margin-block:auto}
.cctv-hero h1{max-width:580px;margin-bottom:14px}
.cctv-hero__content>p{max-width:565px;margin-bottom:24px;font-size:18px}
.cctv-hero .button-outline{color:#fff;border-color:#fff;background:#1115}
.cctv-hero__mark{position:absolute;right:25px;bottom:36px;padding-left:14px;border-left:3px solid var(--red);font-weight:600;margin:0}
.cctv-benefits{border-bottom:1px solid var(--line);background:#fff}
.cctv-benefits__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;padding-block:20px}
.cctv-benefits__grid>div{display:flex;gap:16px;align-items:flex-start}
.cctv-benefits .icon{width:38px;height:38px}
.cctv-benefits strong{display:block;line-height:1.35;margin-bottom:5px}
.cctv-benefits p{font-size:14px;color:var(--muted);margin:0}
.cctv-system__grid{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:38px}
.cctv-system__grid li{position:relative;min-width:0}
.cctv-system__product{height:112px;margin-bottom:12px;display:flex;align-items:center;justify-content:center}
.cctv-system__product img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.cctv-system__grid li:not(:last-child)::after{content:'';position:absolute;top:56px;left:calc(100% + 4px);width:30px;height:2px;background:var(--red)}
.cctv-system__grid h3{margin-bottom:8px}
.cctv-system__grid p{font-size:14px;margin:0;color:var(--muted)}
.cctv-coverage{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}
.cctv-coverage h2{margin-bottom:10px}
.cctv-coverage__plan{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:center;margin-top:18px}
.cctv-coverage__plan>img{width:100%;height:230px;object-fit:cover}
.cctv-coverage__plan ol{list-style:none;margin:0;padding:0;display:grid;gap:22px}
.cctv-coverage__plan li{display:flex;align-items:flex-start;gap:12px}
.cctv-coverage__plan li>span,.cctv-steps li>span{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--red);color:#fff;font-size:16px;font-weight:650}
.cctv-coverage__plan h3{color:var(--red);margin-bottom:5px}
.cctv-coverage__plan p{font-size:14px;color:var(--muted);margin:0}
.cctv-sectors{border-left:1px solid var(--line);padding-left:30px}
.cctv-sectors__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.cctv-sectors img{width:100%;height:100px;object-fit:cover}
.cctv-sectors figcaption{font-size:14px;font-weight:650;line-height:1.35;margin-top:6px}
.cctv-cameras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cctv-cameras article{background:#fff;border:1px solid var(--line);padding:20px 24px}
.cctv-cameras__head{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:16px;margin-bottom:18px}
.cctv-cameras__head img{width:100%;height:90px;object-fit:contain}
.cctv-cameras__head h3{margin:0}
.cctv-cameras dl{margin:0;font-size:14px}
.cctv-cameras dl>div{display:grid;grid-template-columns:1fr 1.35fr;gap:12px;padding:7px 0;border-top:1px solid var(--line);line-height:1.4}
.cctv-cameras dt{color:var(--muted)}
.cctv-cameras dd{margin:0}
.cctv-access{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.cctv-access>img{width:100%;height:250px;object-fit:cover}
.cctv-access__features{display:grid;gap:14px}
.cctv-access article{display:flex;gap:20px}
.cctv-access .icon{width:32px;height:32px}
.cctv-access h3{margin-bottom:5px}
.cctv-access p{font-size:14px;margin:0;color:var(--muted)}
.cctv-price{display:grid;grid-template-columns:1.5fr .75fr .78fr;gap:26px;align-items:stretch}
.cctv-price h2{margin-bottom:10px}
.cctv-price .cctv-lead{margin-bottom:18px}
.cctv-table table{width:100%;border-collapse:collapse;background:#fff;text-align:left;font-size:14px;line-height:1.4}
.cctv-table th,.cctv-table td{padding:10px 14px;border-bottom:1px solid var(--line)}
.cctv-table thead{background:#e9ecef}
.cctv-table tbody th{font-weight:500}
.cctv-table td{font-weight:650;white-space:nowrap}
.cctv-table td span{font-weight:400;color:var(--muted);font-size:14px;margin-left:4px}
.cctv-page .cctv-note{font-size:14px;color:var(--muted);margin:14px 0}
.cctv-price__photo{width:100%;height:100%;min-height:340px;object-fit:cover;object-position:48% center}
.cctv-price__aside{background:#fff;padding:24px;align-self:center}
.cctv-price__aside>.icon{width:36px;height:36px;margin-bottom:22px}
.cctv-price__aside p{font-size:14px;color:var(--muted)}
.cctv-price__aside .button{width:100%;margin-top:8px}
.cctv-supply{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;list-style:none;padding:0;margin:0}
.cctv-supply img{width:100%;height:110px;object-fit:contain}
.cctv-supply span{display:block;text-align:center;font-size:14px;color:var(--muted);margin-top:10px}
.cctv-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cctv-projects>a{min-width:0}
.cctv-projects img{width:100%;height:200px;object-fit:cover}
.cctv-projects h3{margin:12px 0 5px}
.cctv-projects p{font-size:14px;color:var(--muted);margin:0}
.cctv-projects a:hover h3{color:var(--red)}
.cctv-steps{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}
.cctv-steps li{display:flex;align-items:flex-start;gap:13px;border-right:1px solid var(--line);padding-right:14px}
.cctv-steps li:last-child{border:0;padding-right:0}
.cctv-steps h3{margin:0 0 6px}
.cctv-steps p{font-size:14px;color:var(--muted);margin:0}
.cctv-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cctv-checks img{width:100%;height:160px;object-fit:cover}
.cctv-checks h3{margin:12px 0 6px}
.cctv-checks p{font-size:14px;color:var(--muted);margin:0}
.cctv-faq{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:10px 24px}
.cctv-faq details{border:1px solid var(--line)}
.cctv-faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;cursor:pointer;font-size:16px;line-height:1.5;list-style:none}
.cctv-faq summary::-webkit-details-marker{display:none}
.cctv-faq summary .icon{width:18px;height:18px}
.cctv-faq details[open] summary .icon{transform:rotate(180deg)}
.cctv-faq details>div{padding:0 18px 18px;color:var(--muted)}
.cctv-faq details p{margin:0}
.cctv-seo__copy{max-width:none;column-count:auto;color:var(--muted)}
.cctv-seo__copy p:last-child{margin-bottom:0}
.cctv-seo{padding-bottom:48px}
@media(max-width:1100px){
 .cctv-hero__content{max-width:52%}.cctv-hero__content>p{font-size:16px}.cctv-hero__inner{min-height:var(--service-hero-min-height)}
 .cctv-benefits__grid{grid-template-columns:1fr 1fr}
 .cctv-coverage{grid-template-columns:1fr 1fr;gap:24px}.cctv-coverage__plan{grid-template-columns:1fr}.cctv-coverage__plan>img{height:235px}.cctv-sectors__grid{grid-template-columns:1fr 1fr}.cctv-sectors img{height:170px}
 .cctv-cameras article{padding:16px}.cctv-cameras__head{grid-template-columns:1fr}.cctv-cameras__head img{height:110px}
 .cctv-price{grid-template-columns:1.4fr 1fr}.cctv-price__aside{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr 2fr 1fr;gap:20px;align-items:center}.cctv-price__aside>*{margin:0!important}.cctv-price__photo{min-height:0}
 .cctv-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.cctv-steps li:nth-child(3){border:0}
}
@media(max-width:700px){
 .cctv-section{padding-block:30px}.cctv-section+.cctv-section:not(.cctv-soft){padding-top:20px}.cctv-heading{display:block;margin-bottom:20px}.cctv-heading>p,.cctv-heading>.text-link{margin-top:12px}
 .cctv-hero__inner{min-height:max(var(--service-hero-min-height),calc(100svh - 80px));padding-block:20px 28px}.cctv-hero__image{object-position:center;filter:brightness(.85)}.cctv-hero__content{max-width:100%;margin-top:auto;margin-bottom:0}.cctv-hero__content>p{font-size:16px;max-width:100%}.cctv-hero__content .button-row{display:grid}.cctv-hero__mark{display:none}.cctv-hero .breadcrumbs{font-size:14px;margin-bottom:60px}
 .cctv-benefits__grid{gap:24px 18px}.cctv-benefits__grid>div{display:block}.cctv-benefits .icon{width:30px;height:30px;margin-bottom:10px}.cctv-benefits strong{font-size:14px}
 .cctv-system__grid{grid-template-columns:1fr;gap:24px}.cctv-system__grid li{display:grid;grid-template-columns:100px 1fr;column-gap:20px}.cctv-system__product{grid-row:1/3;height:88px;margin:0}.cctv-system__grid li:not(:last-child)::after{left:49px;top:calc(100% + 3px);height:18px;width:2px}.cctv-system__grid h3{align-self:end;margin:0 0 5px}.cctv-system__grid p{align-self:start}
 .cctv-coverage{grid-template-columns:1fr;gap:30px}.cctv-coverage__plan{grid-template-columns:1fr}.cctv-coverage__plan>img{height:auto;aspect-ratio:1.45;object-fit:contain}.cctv-sectors{padding:0;border:0}.cctv-sectors img{height:115px}
 .cctv-cameras{grid-template-columns:1fr;gap:16px}.cctv-cameras article{padding:20px}.cctv-cameras__head{grid-template-columns:1fr 1.25fr}.cctv-cameras dl>div{grid-template-columns:1fr 1.3fr}
 .cctv-access{grid-template-columns:1fr;gap:24px}.cctv-access>img{height:auto;aspect-ratio:2.1}.cctv-access__features{gap:20px}
 .cctv-price{grid-template-columns:1fr;gap:20px}.cctv-price__photo{height:310px;object-position:50% 26%}.cctv-price__aside{display:block;grid-column:auto}.cctv-price__aside>.icon{margin-bottom:16px!important}.cctv-price__aside h3,.cctv-price__aside p{margin-bottom:14px!important}.cctv-table th,.cctv-table td{padding:10px}.cctv-table td{white-space:normal;width:34%}
 .cctv-supply{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}.cctv-supply img{height:82px}
 .cctv-projects,.cctv-checks{grid-template-columns:1fr;gap:24px}.cctv-projects img{height:auto;aspect-ratio:1.65}.cctv-checks img{height:auto;aspect-ratio:2.25}
 .cctv-steps{grid-template-columns:1fr}.cctv-steps li{border-right:0;padding:0}.cctv-steps li>span{width:36px;height:36px}
 .cctv-faq{grid-template-columns:1fr}.cctv-faq summary{padding:14px;font-size:16px}
 .cctv-seo{padding-bottom:40px}
}
