/* Font-weight isolation: preserve each component's declared weight.
   Descendant text inherits locally instead of server-wide tag rules. */
.cctv-v2-page #cctv-v2-main {
  font-weight: 400 !important;
}
.cctv-v2-page #cctv-v2-main * {
  font-weight: inherit !important;
}
.cctv-v2-page #cctv-v2-main strong,
.cctv-v2-page #cctv-v2-main b {
  font-weight: 700 !important;
}

/* Laravel integration: isolate content styles from the server layout. */
.cctv-v2-page #cctv-v2-main {
   --red: #e60012;
   --red-dark: #c41c14;
   --navy: #191919;
   --ink: #191919;
   --gray: #6b6f76;
   --line: #cbcbcc;
   --line-light: #e1e1e1;
   --bg-soft: #f6f6f8;
   --white: #fff;
   --title-h2: 40px;
   font-family: 'Pretendard', 'Noto Sans KR', sans-serif;
   font-size: 16px;
   font-weight: 400 !important;
   line-height: 1.5;
   color: #333;
   background: #fff;
   text-align: left;
}

.cctv-v2-page #cctv-v2-main,
.cctv-v2-page #cctv-v2-main * {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
   word-break: keep-all;
   word-spacing: 0 !important;
}

.cctv-v2-page #cctv-v2-main * {
   font-family: inherit !important;
   font-size: inherit;
}

.cctv-v2-page #cctv-v2-main *::before,
.cctv-v2-page #cctv-v2-main *::after {
   box-sizing: border-box;
}

.cctv-v2-page #cctv-v2-main h1,
.cctv-v2-page #cctv-v2-main h2,
.cctv-v2-page #cctv-v2-main h3,
.cctv-v2-page #cctv-v2-main p {
   color: inherit;
   line-height: inherit;
}

.cctv-v2-page #cctv-v2-main h1 {
   font-size: 54px;
   font-weight: 700 !important;
   text-shadow: 1px 4px 4px rgba(0, 0, 0, 0.5);
}

.cctv-v2-page #cctv-v2-main h2 {
   font-size: 40px;
   font-weight: 600 !important;
}

.cctv-v2-page #cctv-v2-main h3 {
   font-size: 24px;
   font-weight: 700 !important;
}

.cctv-v2-page #cctv-v2-main a {
   color: inherit;
   text-decoration: none;
}

.cctv-v2-page #cctv-v2-main img {
   display: block;
   max-width: 100%;
   height: auto;
}

.cctv-v2-page #cctv-v2-main ul {
   list-style: none;
}

.cctv-v2-page #cctv-v2-main button {
   appearance: none;
   font-family: inherit;
   line-height: inherit;
   text-transform: none;
   letter-spacing: normal;
}

.cctv-v2-page #cctv-v2-main table {
   margin: 0;
   border-spacing: 0;
}


.cctv-v2-page #cctv-v2-main {
   --v2-red: #e60012;
   overflow: clip;
}

.cctv-v2-page #cctv-v2-main figure,
.cctv-v2-page #cctv-v2-main dl,
.cctv-v2-page #cctv-v2-main dd {
   margin: 0;
}

.cctv-v2-page #cctv-v2-main li {
   list-style: none;
}

.cctv-v2-page #cctv-v2-main button {
   border: 0;
   background: transparent;
   color: inherit;
   cursor: pointer;
}

.cctv-v2-page #cctv-v2-main h4 {
   font-weight: 700 !important;
}

.cctv-v2-page #cctv-v2-main .reveal {
   opacity: 0;
   transform: translateY(30px);
   transition: opacity .7s ease, transform .7s ease;
}

.cctv-v2-page #cctv-v2-main .reveal.in-view {
   opacity: 1;
   transform: none;
}

.cctv-v2-page #cctv-v2-main {

   --v2-red: #E60012;
   color: #252525;
   font-family: 'Pretendard', 'Noto Sans KR', sans-serif;
}

.cctv-v2-page #cctv-v2-main em {

   color: var(--v2-red);
   font-style: normal;
   font-weight: 800 !important;
}

.cctv-v2-page #cctv-v2-main section {

   padding: 90px 24px;
}

.cctv-v2-page #cctv-v2-main .wrap {

   width: 100%;
   max-width: 1420px;
   margin: 0 auto;
}

.cctv-v2-page #cctv-v2-main h2 {

   font-size: 40px;
   line-height: 1.4;
   font-weight: 600 !important;
   letter-spacing: -1.5px;
}

.cctv-v2-page #cctv-v2-main h3 {

   font-size: 23px;
   line-height: 1.45;
}

.cctv-v2-page #cctv-v2-main button {

   font: inherit;
   cursor: pointer;
}

.cctv-v2-page #cctv-v2-main button:focus-visible,
.cctv-v2-page #cctv-v2-main summary:focus-visible {

   outline: 3px solid #ef5368;
   outline-offset: 4px;
}

.cctv-v2-page #cctv-v2-main [hidden] {

   display: none !important;
}

.cctv-v2-page .v2-skip {

   position: fixed;
   left: 20px;
   top: -100px;
   padding: 12px 24px;
   color: white;
   background: #191919;
   z-index: 10000;
}

.cctv-v2-page .v2-skip:focus {

   top: 20px;
}

.cctv-v2-page #cctv-v2-main .v2-center {

   text-align: center;
}

.cctv-v2-page #cctv-v2-main .v2-desc {

   margin: 22px 0 42px;
   color: #666;
   font-size: 18px;
   line-height: 1.7;
}

.cctv-v2-page #cctv-v2-main .v2-hero {

   min-height: 720px;
   display: flex;
   align-items: center;
   color: #fff;
   background: linear-gradient(90deg, #0009, #0001 75%), url('/images/front/v2026/cctv_v2/cctv-hero-bg.jpg') center/cover;
   background-position: 90%;
}

.cctv-v2-page #cctv-v2-main .v2-badge {

   display: inline-block;
   padding: 8px 24px;
   background: var(--v2-red);
   border-radius: 30px;
   font-size: 18px;
   font-weight: 700 !important;
}

.cctv-v2-page #cctv-v2-main .v2-hero h1 {

   margin: 26px 0;
   font-size: 56px;
   line-height: 1.35;
   letter-spacing: -2px;
   text-shadow: 1px 4px 4px rgba(0, 0, 0, 0.5);
}

.cctv-v2-page #cctv-v2-main .v2-hero p {

   font-size: 24px;
   line-height: 1.65;
}

.cctv-v2-page #cctv-v2-main .v2-spaces {

   padding-left: 0;
   padding-right: 0;
   padding-bottom: 0;
   overflow: hidden;
}

.cctv-v2-page #cctv-v2-main .v2-spaces .v2-heading,
.cctv-v2-page #cctv-v2-main .v2-spaces .v2-desc {

   padding-inline: 24px;
}

.cctv-v2-page #cctv-v2-main .v2-marquee {

   overflow: hidden;
   padding: 12px 0 26px;
}

.cctv-v2-page #cctv-v2-main .v2-marquee-track {

   display: flex;
   width: max-content;
   animation: v2-drift 35s linear infinite;
}

.cctv-v2-page #cctv-v2-main .v2-marquee-group {

   display: flex;
   gap: 24px;
   padding-right: 24px;
   flex-shrink: 0;
}

.cctv-v2-page #cctv-v2-main .v2-space-card {

   width: 270px;
   padding: 26px 20px 8px;
   border: 1px solid #f0f0f0;
   border-radius: 10px;
   box-shadow: 0 6px 20px #17223d08;
   background: #fff;
}

.cctv-v2-page #cctv-v2-main .v2-space-card h3 {

   font-size: 18px;
}

.cctv-v2-page #cctv-v2-main .v2-space-card p {

   font-size: 13px;
   color: #888;
   margin-top: 10px;
}

.cctv-v2-page #cctv-v2-main .v2-space-card img {

   width: 100%;
   height: 190px;
   object-fit: contain;
   margin-top: 15px;
}

.cctv-v2-page #cctv-v2-main .v2-motion {

   background: none;
   border: 1px solid #ddd;
   color: #666;
   padding: 7px 16px;
   border-radius: 24px;
   font-size: 12px !important;
}

.cctv-v2-page #cctv-v2-main .v2-marquee.is-paused .v2-marquee-track {

   animation-play-state: paused;
}

@keyframes v2-drift {

   to {
      transform: translateX(-50%);
   }
}

.cctv-v2-page #cctv-v2-main .v2-tab-list,
.cctv-v2-page #cctv-v2-main .v2-price-tabs {

   display: flex;
   gap: 12px;
}

.cctv-v2-page #cctv-v2-main .v2-tab-list button,
.cctv-v2-page #cctv-v2-main .v2-price-tabs button {

   flex: 1;
   padding: 22px 12px;
   border: 1px solid #e5a1a8;
   background: white;
   border-radius: 12px 12px 0 0;
   font-weight: 600 !important;
   color: #444;
}

.cctv-v2-page #cctv-v2-main .v2-tab-list button[aria-selected='true'],
.cctv-v2-page #cctv-v2-main .v2-price-tabs button[aria-selected='true'] {

   background: var(--v2-red);
   color: white;
   border-color: var(--v2-red);
}

.cctv-v2-page #cctv-v2-main .v2-service [role='tabpanel'] {

   border: 2px solid var(--v2-red);
}

.cctv-v2-page #cctv-v2-main .v2-service-photo {

   position: relative;
}

.cctv-v2-page #cctv-v2-main .v2-service-photo>img {

   width: 100%;
   height: 500px;
   object-fit: cover;
}

.cctv-v2-page #cctv-v2-main .v2-service-photo>div {

   position: absolute;
   bottom: 0;
   left: 0;
   padding: 28px 35px;
   background: #fffffff0;
   width: 48%;
}

.cctv-v2-page #cctv-v2-main .v2-service-photo p {

   color: #666;
   margin-top: 10px;
}

.cctv-v2-page #cctv-v2-main .v2-dark {

   background: #191919;
   color: #fff;
}

.cctv-v2-page #cctv-v2-main .v2-dark .v2-desc,
.cctv-v2-page #cctv-v2-main .v2-ai .v2-desc {

   color: #fff;
}

.cctv-v2-page #cctv-v2-main .v2-grid {

   display: grid;
   gap: 24px;
}

.cctv-v2-page #cctv-v2-main .v2-three {

   grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cctv-v2-page #cctv-v2-main .v2-four {

   grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cctv-v2-page #cctv-v2-main .v2-photo-card {

   background: white;
   color: #252525;
   border-radius: 16px;
   overflow: hidden;
   border: 1px solid #e1e1e1;
}

.cctv-v2-page #cctv-v2-main .v2-photo-card>img {

   width: 100%;
   aspect-ratio: 1.35;
   object-fit: cover;
}

.cctv-v2-page #cctv-v2-main .v2-photo-card>div {

   padding: 24px;
}

.cctv-v2-page #cctv-v2-main .v2-security .v2-security-card {

   border: none;
}

.cctv-v2-page #cctv-v2-main .v2-security .v2-security-card img {

   border-radius: 16px;
   border: 1px solid #e1e1e1;
   aspect-ratio: 460 / 310;
}

.cctv-v2-page #cctv-v2-main .v2-eyebrow {
   display: block;
   color: var(--v2-red);
   font-size: 16px;
   letter-spacing: 1px;
   margin-bottom: 12px;
   font-weight: 600 !important;
}

.cctv-v2-page #cctv-v2-main .v2-photo-card p {

   font-size: 15px;
   color: #777;
   margin-top: 12px;
}

.cctv-v2-page #cctv-v2-main .v2-management-card {

   border: 0;
}

.cctv-v2-page #cctv-v2-main .v2-management-card img {

   aspect-ratio: 1 !important;
   border-radius: 16px;
}

.cctv-v2-page #cctv-v2-main .v2-management .v2-management-card>div {

   padding: 24px 10px 0;
}

.cctv-v2-page #cctv-v2-main .v2-management-card h3 {

   font-size: 24px;
}

.cctv-v2-page #cctv-v2-main .v2-management-card .v2-eyebrow {

   display: none;
}

.cctv-v2-page #cctv-v2-main .v2-comparison {

   max-width: 940px;
   margin: 0 auto;
   display: grid;
   grid-template-columns: 1fr 1fr;
   /* gap: 20px; */
   gap: 100px;
   position: relative;
}

.cctv-v2-page #cctv-v2-main .v2-compare-card {

   overflow: hidden;
   border-radius: 16px;


}

.cctv-v2-page #cctv-v2-main .v2-compare-card>img {

   width: 100%;

   aspect-ratio: 460 / 310;
   object-fit: cover;
   border-radius: 16px;

}

.cctv-v2-page #cctv-v2-main .v2-grayscale {

   filter: grayscale(1);
}

.cctv-v2-page #cctv-v2-main .v2-compare-card>div {

   padding: 26px;
}

.cctv-v2-page #cctv-v2-main .v2-comparison p {

   margin: 12px 0 22px;
   font-size: 15px;
   color: #777;
}

.cctv-v2-page #cctv-v2-main .v2-comparison ul {

   display: flex;
   gap: 10px;
   flex-wrap: wrap;
   font-size: 13px;
}

.cctv-v2-page #cctv-v2-main .v2-comparison li {

   padding: 4px 16px;
   border: 1px solid #e1e1e1;
   border-radius: 5px;
}

.cctv-v2-page #cctv-v2-main .v2-compare-card--standard {
   transform: scale(0.95);
}

.cctv-v2-page #cctv-v2-main .v2-compare-card--smart {

   border-color: #e1e1e1;
   box-shadow: 0 0 48px 0 rgba(230, 0, 18, 0.1);
}

.cctv-v2-page #cctv-v2-main .v2-compare-card--smart h3,
.cctv-v2-page #cctv-v2-main .v2-compare-card--smart li.sp {

   color: var(--v2-red);
}

.cctv-v2-page #cctv-v2-main .v2-vs {

   position: absolute;
   /* left: 50%; */
   /* top: 30%; */
   left: 49.4%;
   top: 48%;
   transform: translate(-50%, -50%);
   display: grid;
   place-items: center;
   width: 64px;
   height: 64px;
   border: 2px solid var(--v2-red);
   border-radius: 50%;
   background: white;
   color: var(--v2-red);
   font-weight: 800 !important;
   z-index: 1;
}

.cctv-v2-page #cctv-v2-main .v2-ai {

   background: linear-gradient(90deg, #061014ee, #06101455), url('/images/front/v2026/cctv_v2/feauture-dark-background.jpg') center/cover;
   color: white;
}

.cctv-v2-page #cctv-v2-main .v2-chips {

   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   margin: 25px 0 20px;
}

.cctv-v2-page #cctv-v2-main .v2-chips span {

   padding: 5px 16px;
   font-size: 13px;
   background: white;
   color: #333;
   border-radius: 5px;
}

.cctv-v2-page #cctv-v2-main .v2-ai-card {

   background: white;
   color: #222;
   border-radius: 12px;
   display: flex;
   align-items: start;
   padding: 25px;
   min-width: 0;
}

.cctv-v2-page #cctv-v2-main .v2-ai-card>div {

   flex: 1;
}

.cctv-v2-page #cctv-v2-main .v2-ai-card h3 {

   font-size: 20px;
}

.cctv-v2-page #cctv-v2-main .v2-ai-card p {

   margin-top: 12px;
   font-size: 14px;
   color: #777;
}

.cctv-v2-page #cctv-v2-main .v2-ai-card img {

   width: 48%;
   height: auto;
   object-fit: contain;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-tabs {

   margin-top: 35px;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-tab-list {

   gap: 5px;
   overflow: auto;
   margin-bottom: 22px;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-tab-list button {

   flex: 0 0 auto;
   border: 0;
   background: transparent;
   color: #ccc;
   border-radius: 5px;
   padding: 10px 18px;
   white-space: nowrap;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-tab-list button[aria-selected='true'] {

   background: var(--v2-red);
   color: white;
}

.cctv-v2-page #cctv-v2-main .v2-case-grid {

   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 12px;
}

.cctv-v2-page #cctv-v2-main .v2-case-grid figure {

   position: relative;
}

.cctv-v2-page #cctv-v2-main .v2-case-grid img {

   width: 100%;
   height: 290px;
   object-fit: cover;
}

.cctv-v2-page #cctv-v2-main .v2-case-grid figcaption {

   position: absolute;
   bottom: 16px;
   left: 16px;
   padding: 6px 16px;
   background: white;
   color: #333;
   border-radius: 5px;
   font-size: 14px;
}

.cctv-v2-page #cctv-v2-main .v2-install {

   max-width: 940px;
   margin: 0 auto;
   display: grid;
   grid-template-columns: 1fr 1fr;
   border-radius: 12px;
   overflow: hidden;
   box-shadow: 0 6px 35px #00000009;
}

.cctv-v2-page #cctv-v2-main .v2-install>div {

   padding: 36px;
}

.cctv-v2-page #cctv-v2-main .v2-install>img {

   width: 100%;
   height: 100%;
   object-fit: cover;
}

.cctv-v2-page #cctv-v2-main .v2-install dl {

   margin: 28px 0;
}

.cctv-v2-page #cctv-v2-main .v2-install dl>div {

   display: flex;
   justify-content: space-between;
   gap: 15px;
   padding: 14px 0;
   border-bottom: 1px solid #eee;
   font-size: 15px;
}

.cctv-v2-page #cctv-v2-main .v2-install dd {

   color: #777;
}

.cctv-v2-page #cctv-v2-main .v2-install dd em {

   font-size: 27px;
}

.cctv-v2-page #cctv-v2-main .v2-install p {

   color: #888;
   font-size: 12px;
}

.cctv-v2-page #cctv-v2-main .v2-pricing {

   background: #191919;
   color: white;
}

.cctv-v2-page #cctv-v2-main .v2-pricing [data-v2-tabs] {

   margin-top: 40px;
}

.cctv-v2-page #cctv-v2-main .v2-pricing [role='tabpanel'] {

   background: white;
   color: #333;
   padding: 35px 45px;
   border: 2px solid var(--v2-red);
}

.cctv-v2-page #cctv-v2-main .v2-pricing h3 {

   margin-bottom: 20px;
}

.cctv-v2-page #cctv-v2-main .v2-table-scroll {

   overflow-x: auto;
   margin-bottom: 32px;
}

.cctv-v2-page #cctv-v2-main .v2-price-table {

   width: 100%;
   border-collapse: collapse;
   min-width: 560px;
   font-size: 15px;
   text-align: center;
}

.cctv-v2-page #cctv-v2-main .v2-price-table th,
.cctv-v2-page #cctv-v2-main .v2-price-table td {

   padding: 14px 18px;
   border-bottom: 1px solid #e1e1e1 !important;
}

.cctv-v2-page #cctv-v2-main .v2-price-table thead {

   background: #292929;
   color: white;
}

.cctv-v2-page #cctv-v2-main .v2-price-table tbody th {

   font-weight: 500 !important;
   background: #fafafa;
}

.cctv-v2-page #cctv-v2-main .v2-price-note {

   font-size: 12px;
   color: #888;
   margin-top: 20px;
}

.cctv-v2-page #cctv-v2-main .v2-sr-only {

   position: absolute;
   width: 1px;
   height: 1px;
   padding: 0;
   overflow: hidden;
   clip-path: inset(50%);
   white-space: nowrap;
}

.cctv-v2-page #cctv-v2-main .v2-solved-grid {

   display: grid;
   grid-template-columns: 1fr 2fr;
   gap: 24px;
   margin-top: 42px;
}

.cctv-v2-page #cctv-v2-main .v2-solved-grid ul {

   display: grid;
   gap: 12px;
}

.cctv-v2-page #cctv-v2-main .v2-solved-card {

   background: #f8f8fb;
   padding: 20px 24px;
   border-radius: 8px;
   font-size: 18px;
}

.cctv-v2-page #cctv-v2-main .v2-solved-card span {

   color: var(--v2-red);
   margin-right: 18px;
}

.cctv-v2-page #cctv-v2-main .v2-solved-grid img {

   width: 100%;
   height: 100%;
   max-height: 400px;
   object-fit: cover;
   border-radius: 12px;
}

.cctv-v2-page #cctv-v2-main .v2-faq {

   background: #f8f9fc;
}

.cctv-v2-page #cctv-v2-main .v2-faq h2 {

   text-align: center;
}

.cctv-v2-page #cctv-v2-main .v2-faq-list {

   max-width: 1180px;
   margin: 45px auto 0;
}

.cctv-v2-page #cctv-v2-main .v2-faq details {

   border-bottom: 1px solid #e3e3e3;
   background: white;
   padding: 0 25px;
   overflow: hidden;
}

.cctv-v2-page #cctv-v2-main .v2-faq details[open] {

   border: 1px solid #ff7786;
   border-radius: 8px;
   box-shadow: 0 5px 20px #e6001208;
}

.cctv-v2-page #cctv-v2-main .v2-faq summary {

   cursor: pointer;
   padding: 24px 35px 24px 0;
   font-weight: 600 !important;
   list-style: none;
   position: relative;
}

.cctv-v2-page #cctv-v2-main .v2-faq summary::-webkit-details-marker {

   display: none;
}

.cctv-v2-page #cctv-v2-main .v2-faq summary::after {

   content: '+';
   position: absolute;
   right: 0;
   color: var(--v2-red);
}

.cctv-v2-page #cctv-v2-main .v2-faq details[open] summary::after {

   content: '−';
}

.cctv-v2-page #cctv-v2-main .v2-faq-answer {

   padding: 0 0 26px;
   font-size: 15px;
   color: #777;
   line-height: 1.8;
}

@media (min-width: 1600px) {
   .cctv-v2-page #cctv-v2-main section {

      padding-top: 100px;
      padding-bottom: 100px;
   }

}

@media (max-width: 1100px) {
   .cctv-v2-page #cctv-v2-main h2 {

      font-size: 32px;
   }

   .cctv-v2-page #cctv-v2-main .v2-hero h1 {

      font-size: 44px;
   }

   .cctv-v2-page #cctv-v2-main .v2-ai-card {

      flex-direction: column;
      align-items: start;
   }

   .cctv-v2-page #cctv-v2-main .v2-ai-card img {

      width: 100%;
      height: 140px;
   }

   .cctv-v2-page #cctv-v2-main .v2-four {

      grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .cctv-v2-page #cctv-v2-main .v2-case-grid img {

      height: 220px;
   }

}

@media (max-width: 991px) {
   .cctv-v2-page #cctv-v2-main .v2-comparison {
      gap: 64px;
   }

   .cctv-v2-page #cctv-v2-main .v2-vs {
      width: 48px;
      height: 48px;
   }

   .cctv-v2-page #cctv-v2-main .v2-vs svg {
      width: 24px;
      height: 24px;
   }
}

@media (max-width: 767px) {
   .cctv-v2-page #cctv-v2-main section {

      padding: 60px 20px;
   }

   .cctv-v2-page #cctv-v2-main h2 {

      font-size: 26px;
      letter-spacing: -1px;
   }

   .cctv-v2-page #cctv-v2-main .v2-hero {

      min-height: 580px;
      background-position: 65% center;
   }

   .cctv-v2-page #cctv-v2-main .v2-hero h1 {

      font-size: 33px;
      letter-spacing: -1.5px;
   }

   .cctv-v2-page #cctv-v2-main .v2-hero p {

      font-size: 17px;
   }

   .cctv-v2-page #cctv-v2-main .v2-badge {

      font-size: 14px;
   }

   .cctv-v2-page #cctv-v2-main .v2-desc {

      font-size: 15px;
      margin: 18px 0 28px;
   }

   .cctv-v2-page #cctv-v2-main .v2-space-card {

      width: 230px;
   }

   .cctv-v2-page #cctv-v2-main .v2-marquee-group {

      gap: 16px;
      padding-right: 16px;
   }

   .cctv-v2-page #cctv-v2-main .v2-tab-list,
   .cctv-v2-page #cctv-v2-main .v2-price-tabs {

      gap: 4px;
   }

   .cctv-v2-page #cctv-v2-main .v2-tab-list button,
   .cctv-v2-page #cctv-v2-main .v2-price-tabs button {

      font-size: 13px;
      padding: 16px 6px;
      border-radius: 7px 7px 0 0;
   }

   .cctv-v2-page #cctv-v2-main .v2-service-photo>img {

      height: 350px;
   }

   .cctv-v2-page #cctv-v2-main .v2-service-photo>div {

      width: 100%;
      padding: 18px;
   }

   .cctv-v2-page #cctv-v2-main .v2-service-photo h3 {

      font-size: 20px;
   }

   .cctv-v2-page #cctv-v2-main .v2-service-photo p {

      font-size: 14px;
   }

   .cctv-v2-page #cctv-v2-main .v2-three {

      grid-template-columns: 1fr;
   }

   .cctv-v2-page #cctv-v2-main .v2-photo-card>img {

      aspect-ratio: 1.6;
   }

   .cctv-v2-page #cctv-v2-main .v2-grid {

      gap: 18px;
   }

   .cctv-v2-page #cctv-v2-main .v2-management-card h3 {

      font-size: 17px;
   }

   .cctv-v2-page #cctv-v2-main .v2-management-card p {

      font-size: 13px;
   }

   .cctv-v2-page #cctv-v2-main .v2-comparison {

      gap: 10px;
   }

   .cctv-v2-page #cctv-v2-main .v2-compare-card>img {

      /* height: 165px; */
   }

   .cctv-v2-page #cctv-v2-main .v2-compare-card>div {

      padding: 18px 12px;
   }

   .cctv-v2-page #cctv-v2-main .v2-comparison h3 {

      font-size: 19px;
   }

   .cctv-v2-page #cctv-v2-main .v2-comparison p {

      font-size: 13px;
   }

   .cctv-v2-page #cctv-v2-main .v2-comparison ul {


      font-size: 11px;
   }

   .cctv-v2-page #cctv-v2-main .v2-vs {

      /* top: 82px; */
      width: 40px;
      height: 40px;
      font-size: 12px;
   }

   .cctv-v2-page #cctv-v2-main .v2-ai-card {

      flex-direction: row;
      align-items: center;
   }

   .cctv-v2-page #cctv-v2-main .v2-ai-card img {

      width: 40%;
      height: 125px;
   }

   .cctv-v2-page #cctv-v2-main .v2-case-grid {

      grid-template-columns: 1fr 1fr;
   }

   .cctv-v2-page #cctv-v2-main .v2-case-grid img {

      height: 180px;
   }

   .cctv-v2-page #cctv-v2-main .v2-case-grid figcaption {

      left: 10px;
      bottom: 10px;
      font-size: 12px;
      padding: 5px 10px;
   }

   .cctv-v2-page #cctv-v2-main .v2-install {

      grid-template-columns: 1fr;
   }

   .cctv-v2-page #cctv-v2-main .v2-install>div {

      padding: 26px;
   }

   .cctv-v2-page #cctv-v2-main .v2-install>img {

      height: 260px;
   }

   .cctv-v2-page #cctv-v2-main .v2-pricing [role='tabpanel'] {

      padding: 24px 14px;
   }

   .cctv-v2-page #cctv-v2-main .v2-pricing h3 {

      font-size: 20px;
   }

   .cctv-v2-page #cctv-v2-main .v2-price-table {

      font-size: 13px;
   }

   .cctv-v2-page #cctv-v2-main .v2-price-table td,
   .cctv-v2-page #cctv-v2-main .v2-price-table th {

      padding: 12px;
   }

   .cctv-v2-page #cctv-v2-main .v2-solved-grid {

      grid-template-columns: 1fr;
   }

   .cctv-v2-page #cctv-v2-main .v2-solved-card {

      font-size: 16px;
      padding: 15px 18px;
   }

   .cctv-v2-page #cctv-v2-main .v2-solved-grid img {

      height: 240px;
   }

   .cctv-v2-page #cctv-v2-main .v2-faq details {

      padding: 0 16px;
   }

   .cctv-v2-page #cctv-v2-main .v2-faq summary {

      font-size: 14px;
   }

   .cctv-v2-page #cctv-v2-main .v2-faq-answer {

      font-size: 13px;
   }

}

@media (prefers-reduced-motion: reduce) {
   .cctv-v2-page #cctv-v2-main .v2-marquee-track {

      animation: none;
   }

   .cctv-v2-page #cctv-v2-main .v2-marquee {

      overflow-x: auto;
   }

   .cctv-v2-page #cctv-v2-main .v2-marquee-group[aria-hidden='true'] {

      display: none;
   }

   .cctv-v2-page #cctv-v2-main .v2-motion {

      display: none;
   }

}

.cctv-v2-page #cctv-v2-main .v2-case-buttons {

   display: flex;
   gap: 5px;
   overflow-x: auto;
   margin: 35px 0 22px;
}

.cctv-v2-page #cctv-v2-main .v2-case-buttons button {

   flex: 0 0 auto;
   padding: 10px 18px;
   border: 0;
   border-radius: 5px;
   background: transparent;
   color: #ccc;
   white-space: nowrap;
}

.cctv-v2-page #cctv-v2-main .v2-case-buttons button[aria-pressed='true'] {

   background: var(--v2-red);
   color: white;
}

.cctv-v2-page #cctv-v2-main .v2-case-gallery {

   overflow: hidden;
}

.cctv-v2-page #cctv-v2-main .v2-case-gallery .swiper-wrapper {

   display: flex;
}

.cctv-v2-page #cctv-v2-main .v2-case-slide {

   flex-shrink: 0;
   width: 32%;
}

.cctv-v2-page #cctv-v2-main .v2-case-card {

   position: relative;
   overflow: hidden;
   border-radius: 8px;
}

.cctv-v2-page #cctv-v2-main .v2-case-slide img {

   width: 100%;
   height: 330px;
   object-fit: cover;
}

.cctv-v2-page #cctv-v2-main .v2-case-slide figcaption {

   position: absolute;
   bottom: 20px;
   left: 20px;
   background: white;
   color: #333;
   padding: 8px 16px;
   font-size: 20px;
   font-weight: 600 !important;
}

.cctv-v2-page #cctv-v2-main .v2-case-slide.is-selected .v2-case-card {

   box-shadow: inset 0 0 0 2px var(--v2-red);
}

.cctv-v2-page #cctv-v2-main .v2-case-gallery:not(.swiper-initialized) .swiper-wrapper {

   overflow-x: auto;
   gap: 20px;
   scroll-snap-type: x mandatory;
}

.cctv-v2-page #cctv-v2-main .v2-case-gallery:not(.swiper-initialized) .v2-case-slide {

   scroll-snap-align: start;
}

@media (max-width: 767px) {
   .cctv-v2-page #cctv-v2-main .v2-case-slide {

      width: 87%;
   }

   .cctv-v2-page #cctv-v2-main .v2-case-slide img {

      height: 260px;
   }

   .cctv-v2-page #cctv-v2-main .v2-case-buttons button {

      font-size: 13px;
      padding: 10px 14px;
   }

}

@media (prefers-reduced-motion: reduce) {
   .cctv-v2-page #cctv-v2-main .reveal {

      opacity: 1;
      transform: none;
      transition: none;
   }

}

.cctv-v2-page #cctv-v2-main {

   --v2-red: #e60012;
   color: #333;
   line-height: 1.5;
}

.cctv-v2-page #cctv-v2-main {

   overflow: clip;
}

.cctv-v2-page #cctv-v2-main [id] {

   scroll-margin-top: 100px;
}

.cctv-v2-page #cctv-v2-main section {

   padding: 80px 24px;
}

.cctv-v2-page #cctv-v2-main h2 {

   font-size: 40px;
   line-height: 1.5;
   letter-spacing: -.5px;
}

.cctv-v2-page #cctv-v2-main h3 {

   font-size: 24px;
   line-height: 1.5;
}

.cctv-v2-page #cctv-v2-main em {

   font-weight: 750 !important;
}

.cctv-v2-page #cctv-v2-main :focus-visible {

   outline: 3px solid var(--v2-red);
   outline-offset: 5px;
}

.cctv-v2-page #cctv-v2-main .v2-desc {

   margin: 26px 0 60px;
   color: inherit;
   font-size: 20px;
   line-height: 1.6;
}

.cctv-v2-page #cctv-v2-main .v2-desc span.big {

   font-size: 21px;
   font-weight: 700 !important;
}

.cctv-v2-page #cctv-v2-main .v2-hero {

   min-height: 800px;
   background-image: linear-gradient(90deg, rgba(0, 0, 0, .8), rgba(0, 0, 0, .47) 60%, transparent), url('/images/front/v2026/cctv_v2/cctv-hero-bg.jpg');
   background-position: 90%;
}

.cctv-v2-page #cctv-v2-main .v2-badge {

   padding: 10px 26px;
   border-radius: 40px;
   font-size: 22px;
}

.cctv-v2-page #cctv-v2-main .v2-hero h1 {

   margin: 26px 0 30px;
   font-size: 54px;

   letter-spacing: -1px;
   text-shadow: 1px 4px 4px #0008;
}

.cctv-v2-page #cctv-v2-main .v2-hero p {

   line-height: 1.6;
}

.cctv-v2-page #cctv-v2-main .v2-space-card {

   width: 300px;
   padding: 30px 24px 12px;
   border: 1px solid #e5e7eb;
   border-radius: 16px;
   box-shadow: 0 8px 22px rgba(24, 31, 44, .07);
}

.cctv-v2-page #cctv-v2-main .v2-space-card h3 {

   font-size: 22px;
}

.cctv-v2-page #cctv-v2-main .v2-space-card p {

   margin-top: 12px;
   color: #6b6f76;
   font-size: 17px;
}

.cctv-v2-page #cctv-v2-main .v2-tab-list,
.cctv-v2-page #cctv-v2-main .v2-price-tabs {

   gap: 20px;
}

.cctv-v2-page #cctv-v2-main .v2-tab-list button,
.cctv-v2-page #cctv-v2-main .v2-price-tabs button {

   padding: 24px 12px;
   border: 2px solid var(--v2-red);
   border-bottom: 0;
   border-radius: 16px 16px 0 0;
   font-size: 24px;
   font-weight: 700 !important;
   color: #454545;
}

.cctv-v2-page #cctv-v2-main .v2-service [role='tabpanel'] {

   border-radius: 0 0 16px 16px;
   overflow: hidden;
}

.cctv-v2-page #cctv-v2-main .v2-service-photo>img {

   height: 496px;
}

.cctv-v2-page #cctv-v2-main .v2-service-photo>div {

   width: auto;
   min-width: 41%;
   max-width: 60%;
   padding: 24px 36px;
   border-radius: 0 16px 0 0;
}

.cctv-v2-page #cctv-v2-main .v2-service-photo p {

   margin-top: 8px;
   font-size: 20px;
   color: #333;
   line-height: 1.6;
}

.cctv-v2-page #cctv-v2-main .v2-grid {

   gap: 20px;
}

.cctv-v2-page #cctv-v2-main .v2-photo-card {

   border-radius: 16px;
   color: #454545;
}

.cctv-v2-page #cctv-v2-main .v2-photo-card>div {

   padding: 30px;
}

.cctv-v2-page #cctv-v2-main .v2-eyebrow {

   font-size: 16px;
   letter-spacing: 0;
}

.cctv-v2-page #cctv-v2-main .v2-photo-card p {

   font-size: 17px;
   color: #454545;
   line-height: 1.6;
}

.cctv-v2-page #cctv-v2-main .v2-comparison {

   max-width: 960px;
}

.cctv-v2-page #cctv-v2-main .v2-compare-card {

   border: 1px solid #e0e1e4;
   border-radius: 16px;
   /* box-shadow: 0 0 48px rgba(0, 45, 125, .1); */
}

.cctv-v2-page #cctv-v2-main .v2-compare-card>div {

   padding: 30px;
}

.cctv-v2-page #cctv-v2-main .v2-comparison p {

   font-size: 17px;
   color: #454545;
   line-height: 1.6;
}

.cctv-v2-page #cctv-v2-main .v2-comparison ul {

   font-size: 16px;
   gap: 8px;
}

.cctv-v2-page #cctv-v2-main .v2-comparison li {

   border-radius: 24px;
   padding: 2px 12px;
}

.cctv-v2-page #cctv-v2-main .v2-chips {

   gap: 16px;
   margin: 26px 0 20px;
}

.cctv-v2-page #cctv-v2-main .v2-chips span {

   padding: 4px 16px;
   border-radius: 8px;
   font-size: 17px;
   font-weight: 600 !important;
   color: #454545;
}

.cctv-v2-page #cctv-v2-main .v2-ai-card {

   padding: 30px;
   min-height: 238px;
   border-radius: 16px;
   color: #454545;
}

.cctv-v2-page #cctv-v2-main .v2-ai-card p {

   font-size: 17px;
   line-height: 1.6;
   color: #454545;
}

.cctv-v2-page #cctv-v2-main .v2-cases {

   background: #282828;
}

.cctv-v2-page #cctv-v2-main .v2-case-buttons {

   flex-wrap: wrap;
   gap: 8px;
   margin: 60px 0 24px;
}

.cctv-v2-page #cctv-v2-main .v2-case-buttons button {

   padding: 12px 20px;
   font-size: 22px;
   border-radius: 0;
   color: white;
}

.cctv-v2-page #cctv-v2-main .v2-case-card {

   border-radius: 0;
}

.cctv-v2-page #cctv-v2-main .v2-case-slide img {

   height: auto;
   aspect-ratio: 1.35;
}

.cctv-v2-page #cctv-v2-main .v2-install {

   max-width: 960px;
   border: 1px solid #e0e1e4;
   border-radius: 16px;
   box-shadow: 0 0 48px rgba(0, 45, 125, .1);
}

.cctv-v2-page #cctv-v2-main .v2-install h3 {

   font-size: 32px;
}

.cctv-v2-page #cctv-v2-main .v2-install dl>div {

   align-items: center;
   padding: 24px 0;
   border-color: #ddd;
   font-size: 20px;
   font-weight: 600 !important;
}

.cctv-v2-page #cctv-v2-main .v2-install dd {

   color: var(--v2-red);
   font-size: 20px;
   font-weight: 700 !important;
}

.cctv-v2-page #cctv-v2-main .v2-install p {

   font-size: 16px;
   color: #6b6f76;
   line-height: 1.6;
}

.cctv-v2-page #cctv-v2-main .v2-pricing [data-v2-tabs] {

   margin-top: 60px;
}

.cctv-v2-page #cctv-v2-main .v2-pricing [role='tabpanel'] {

   padding: 42px 56px 38px;
}

.cctv-v2-page #cctv-v2-main .v2-pricing h3 {

   font-size: 30px;
   margin-bottom: 16px;
}

.cctv-v2-page #cctv-v2-main .v2-price-table {

   min-width: 780px;
   font-size: 16px;
}

.cctv-v2-page #cctv-v2-main .v2-price-table th,
.cctv-v2-page #cctv-v2-main .v2-price-table td {

   border: 1px solid #e1e1e1 !important;
   padding: 9px 12px;
   font-weight: 400 !important;
   text-align: center;
}

.cctv-v2-page #cctv-v2-main .v2-price-table thead th {

   background: #191919;
   font-weight: 600 !important;
}

.cctv-v2-page #cctv-v2-main .v2-price-table tbody th {

   background: white;
}

.cctv-v2-page #cctv-v2-main .v2-price-note {

   font-size: 14px;
}

.cctv-v2-page #cctv-v2-main .v2-solved-grid {

   gap: 20px;
   margin-top: 60px;
}

.cctv-v2-page #cctv-v2-main .v2-solved-card {

   display: flex;
   align-items: center;
   gap: 10px;
   background: white;
   border-radius: 16px;
   padding: 20px 28px;
   font-size: 24px;
   font-weight: 600 !important;
   box-shadow: 0 0 36px #18387712;
}

.cctv-v2-page #cctv-v2-main .v2-solved-card img {

   max-width: inherit !important;
   width: inherit !important;
   height: auto !important;
}

.cctv-v2-page #cctv-v2-main .v2-solved-grid img {

   border-radius: 16px;
   max-height: 450px;
}

.cctv-v2-page #cctv-v2-main .v2-faq {

   background: #FAFBFD;
}

.cctv-v2-page #cctv-v2-main .v2-faq-list {

   margin-top: 60px;
}

.cctv-v2-page #cctv-v2-main .v2-faq details {

   border: 2px solid white;
   border-radius: 16px;
   margin-top: 12px;
   padding: 0 48px;
   transition: border-color .2s;
}

.cctv-v2-page #cctv-v2-main .v2-faq details[open],
.cctv-v2-page #cctv-v2-main .v2-faq details:hover {

   border: 2px solid var(--v2-red);
   border-radius: 16px;
   box-shadow: 0 0 35px #18387710;
}

.cctv-v2-page #cctv-v2-main .v2-faq summary {

   padding: 20px 40px 20px 5px;
   font-size: 23px;
}

.cctv-v2-page #cctv-v2-main .v2-faq summary::after {

   right: 6px;
   top: 13px;
   font-size: 32px;
   font-weight: 400 !important;
}

.cctv-v2-page #cctv-v2-main .v2-faq details[open] summary::after {

   content: '+';
}

.cctv-v2-page #cctv-v2-main .v2-faq summary[aria-expanded='true']::after {

   content: '×';
}

.cctv-v2-page #cctv-v2-main .v2-faq-answer {

   padding: 22px 5px;
   border-top: 1px solid #ddd;
   font-size: 18px;
   color: #454545;
   line-height: 1.7;
}

.cctv-v2-page #cctv-v2-main .v2-faq-answer .bold {

   font-weight: 700 !important;
}

@media (max-width: 1100px) {
   .cctv-v2-page #cctv-v2-main h2 {

      font-size: 32px;
   }

   .cctv-v2-page #cctv-v2-main .v2-hero h1 {

      font-size: 42px;
   }

   .cctv-v2-page #cctv-v2-main .v2-tab-list button,
   .cctv-v2-page #cctv-v2-main .v2-price-tabs button {

      font-size: 20px;
   }

   .cctv-v2-page #cctv-v2-main .v2-pricing [role='tabpanel'] {

      padding: 32px 24px;
   }

   .cctv-v2-page #cctv-v2-main .v2-solved-card {

      font-size: 18px;
      padding: 18px;
   }

}

@media (max-width: 767px) {
   .hide-768 {
      display: none !important;
   }

   .cctv-v2-page #cctv-v2-main section {

      padding: 52px 20px;
   }

   .cctv-v2-page #cctv-v2-main h2 {

      font-size: 28px;
      letter-spacing: -.5px;
   }

   .cctv-v2-page #cctv-v2-main h3,
   .cctv-v2-page #cctv-v2-main .v2-space-card h3,
   .cctv-v2-page #cctv-v2-main .v2-install h3 {

      font-size: 20px;
   }

   .cctv-v2-page #cctv-v2-main .v2-desc {

      font-size: 16px;
      margin: 20px 0 40px;
   }

   .cctv-v2-page #cctv-v2-main .v2-hero {

      min-height: 600px;
      background-position: 90% center;
   }

   .cctv-v2-page #cctv-v2-main .v2-hero h1 {

      font-size: 32px;
   }

   .cctv-v2-page #cctv-v2-main .v2-badge {

      padding: 7px 20px;
      font-size: 16px;
   }

   .cctv-v2-page #cctv-v2-main .v2-space-card {

      width: 250px;
      padding: 24px 20px 12px;
   }

   .cctv-v2-page #cctv-v2-main .v2-space-card p,
   .cctv-v2-page #cctv-v2-main .v2-photo-card p,
   .cctv-v2-page #cctv-v2-main .v2-ai-card p {

      font-size: 16px;
   }

   .cctv-v2-page #cctv-v2-main .v2-tab-list,
   .cctv-v2-page #cctv-v2-main .v2-price-tabs {

      gap: 5px;
   }

   .cctv-v2-page #cctv-v2-main .v2-tab-list button,
   .cctv-v2-page #cctv-v2-main .v2-price-tabs button {

      padding: 15px 5px;
      font-size: 14px;
      border-radius: 10px 10px 0 0;
   }

   .cctv-v2-page #cctv-v2-main .v2-service-photo>img {

      height: 255px;
   }

   .cctv-v2-page #cctv-v2-main .v2-service-photo>div {

      position: static;
      max-width: none;
      width: 100%;
      padding: 20px;
      border-radius: 0;
   }

   .cctv-v2-page #cctv-v2-main .v2-service-photo h3 {

      font-size: 18px;
   }

   .cctv-v2-page #cctv-v2-main .v2-service-photo p {

      font-size: 16px;
   }

   .cctv-v2-page #cctv-v2-main .v2-photo-card>div {

      padding: 24px;
   }

   .cctv-v2-page #cctv-v2-main .v2-management-card>div {

      padding: 20px 0;
   }

   .cctv-v2-page #cctv-v2-main .v2-management-card h3 {

      font-size: 18px;
   }

   .cctv-v2-page #cctv-v2-main .v2-management-card p {

      font-size: 14px;
   }

   .cctv-v2-page #cctv-v2-main .v2-compare-card>div {

      padding: 24px;
   }

   .cctv-v2-page #cctv-v2-main .v2-comparison p,
   .cctv-v2-page #cctv-v2-main .v2-comparison ul {

      font-size: 14px;
   }

   .cctv-v2-page #cctv-v2-main .v2-ai-card {

      min-height: 0;
      padding: 24px;
   }

   .cctv-v2-page #cctv-v2-main .v2-chips {

      gap: 8px;
   }

   .cctv-v2-page #cctv-v2-main .v2-chips span {

      font-size: 14px;
      padding: 4px 9px;
   }

   .cctv-v2-page #cctv-v2-main .v2-case-buttons {

      flex-wrap: nowrap;
      overflow-x: auto;
      margin-top: 30px;
   }

   .cctv-v2-page #cctv-v2-main .v2-case-buttons button {

      font-size: 16px;
      padding: 10px 14px;
   }

   .cctv-v2-page #cctv-v2-main .v2-install dl>div {

      padding: 14px 0;
      font-size: 15px;
   }

   .cctv-v2-page #cctv-v2-main .v2-install dd {

      font-size: 16px;
   }

   .cctv-v2-page #cctv-v2-main .v2-install p {

      font-size: 12px;
   }

   .cctv-v2-page #cctv-v2-main .v2-pricing [role='tabpanel'] {

      padding: 24px 14px;
   }

   .cctv-v2-page #cctv-v2-main .v2-pricing h3 {

      font-size: 20px;
   }

   .cctv-v2-page #cctv-v2-main .v2-price-table {

      font-size: 14px;
   }

   .cctv-v2-page #cctv-v2-main .v2-solved-grid {

      margin-top: 30px;
   }

   .cctv-v2-page #cctv-v2-main .v2-faq details {

      padding: 0 20px;
   }

   .cctv-v2-page #cctv-v2-main .v2-faq summary {

      padding: 18px 28px 18px 0;
      font-size: 16px;
   }

   .cctv-v2-page #cctv-v2-main .v2-faq-answer {

      font-size: 15px;
   }

}

.cctv-v2-page #cctv-v2-main .sec-title {

   font-size: 40px;
   font-weight: 600 !important;
   line-height: 1.5;
}

.cctv-v2-page #cctv-v2-main .sec-title-bg {

   font-size: 40px;
   font-weight: 600 !important;
   line-height: 1.4;
   text-shadow: 1px 4px 4px rgba(0, 0, 0, 0.5);
}

.cctv-v2-page #cctv-v2-main .accent {

   color: var(--red);
   font-weight: 700 !important;
}

.cctv-v2-page #cctv-v2-main .accent-black {

   color: var(--ink);
   font-weight: 700 !important;
}

.cctv-v2-page #cctv-v2-main .accent-white {

   color: var(--white);
   font-weight: 700 !important;
}

.cctv-v2-page #cctv-v2-main .accent2 {

   color: var(--red);
   font-weight: 700 !important;
   font-size: 48px;
}

.cctv-v2-page #cctv-v2-main .accent3 {

   color: var(--red);
   font-weight: 700 !important;
   font-size: 52px;
}

.cctv-v2-page #cctv-v2-main .accent4 {

   color: var(--red);
   font-weight: 900 !important;
   font-size: 62px;
}

@media (max-width: 1100px) {

   .cctv-v2-page #cctv-v2-main .sec-title,
   .cctv-v2-page #cctv-v2-main .sec-title-bg {

      font-size: 32px;
   }

   .cctv-v2-page #cctv-v2-main .accent2 {

      font-size: 40px;
   }

   .cctv-v2-page #cctv-v2-main .accent3,
   .cctv-v2-page #cctv-v2-main .accent4 {

      font-size: 48px;
   }

}

@media (max-width: 767px) {

   .cctv-v2-page #cctv-v2-main .sec-title,
   .cctv-v2-page #cctv-v2-main .sec-title-bg {

      font-size: 28px;
      letter-spacing: -.5px;
   }

   .cctv-v2-page #cctv-v2-main .accent2 {

      font-size: 32px;
   }

   .cctv-v2-page #cctv-v2-main .accent3 {

      font-size: 40px;
   }

   .cctv-v2-page #cctv-v2-main .accent4 {

      font-size: 36px;
      font-weight: 800 !important;
   }

}

.cctv-v2-page #cctv-v2-main .v2-cases {

   background: #282828;
   color: white;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-case-buttons {

   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   margin: 60px 0 24px;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-case-buttons button {

   border: 0;
   background: transparent;
   color: white;
   padding: 12px 20px;
   font-size: 22px;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-case-buttons button[aria-pressed="true"] {

   background: var(--red);
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-case-gallery {

   margin-left: max(0px, calc((100% - 1420px) / 2));
   overflow: hidden;
}

.cctv-v2-page #cctv-v2-main .v2-cases .swiper-wrapper {

   transition-timing-function: linear !important;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-case-slide {

   height: auto;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-case-card {

   overflow: hidden;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-case-card img {

   width: 100%;
   aspect-ratio: 1.35;
   object-fit: cover;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-case-gallery:not(.swiper-initialized) .swiper-wrapper {

   display: flex;
   gap: 20px;
   overflow-x: auto;
   scroll-snap-type: x mandatory;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-case-gallery:not(.swiper-initialized) .v2-case-slide {

   flex: 0 0 32%;
   min-width: 260px;
   scroll-snap-align: start;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-case-buttons {
   overflow: visible;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-case-card {
   margin: 0;
   border-radius: 0;
   box-shadow: none;
}

.cctv-v2-page #cctv-v2-main .v2-cases .v2-case-card img {
   height: auto;
}

@media (max-width: 767px) {
   .cctv-v2-page #cctv-v2-main .v2-cases .v2-case-buttons {
      margin-top: 28px;
      gap: 4px;
   }

   .cctv-v2-page #cctv-v2-main .v2-cases .v2-case-buttons button {
      padding: 10px;
      font-size: 14px;
   }

   .cctv-v2-page #cctv-v2-main .v2-case-slide figcaption {
      font-size: 14px;
   }

}

.cctv-v2-page #cctv-v2-main .v2-installation .v2-install {

   max-width: 960px;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 20px;
   align-items: stretch;
   border: 0;
   border-radius: 0;
   box-shadow: none;
   overflow: visible;
   background: transparent;
}

.cctv-v2-page #cctv-v2-main .v2-installation .v2-install-card {

   padding: 36px;
   background: #fff;
   border-radius: 16px;
   box-shadow: 0 0 48px rgba(0, 45, 125, .08);
   min-width: 0;
}

.cctv-v2-page #cctv-v2-main .v2-installation .v2-install-card h3 {
   font-size: 24px;
   font-weight: 700 !important;
}

.cctv-v2-page #cctv-v2-main .v2-installation .v2-install-card dl {
   margin: 24px 0 32px;
   border-top: 1px solid #e9e9e9;
}

.cctv-v2-page #cctv-v2-main .v2-installation .v2-install-card dl>div {
   padding: 14px 0;
   font-size: 18px;
   font-weight: 400 !important;
   border-color: #e9e9e9;
}

.cctv-v2-page #cctv-v2-main .v2-installation .v2-install-card dt,
.cctv-v2-page #cctv-v2-main .v2-installation .v2-install-card dd {
   font-size: 20px;
   font-weight: 600 !important;
   color: #454545;
   text-align: right;
}

.cctv-v2-page #cctv-v2-main .v2-installation .v2-install-card dd em {
   font-size: 32px;
   font-weight: 800 !important;
}

.cctv-v2-page #cctv-v2-main .v2-install-visit h4 {
   font-size: 22px;
   font-weight: 700 !important;
}

.cctv-v2-page #cctv-v2-main .v2-install-visit h4 span {
   display: inline-grid;
   place-items: center;
   width: 20px;
   height: 20px;
   margin-right: 6px;
   border: 1px solid var(--v2-red);
   border-radius: 50%;
   font-size: 13px;
   color: var(--v2-red);
   vertical-align: middle;
}

.cctv-v2-page #cctv-v2-main .v2-installation .v2-install-visit p {
   margin-top: 12px;
   font-size: 17px;
   color: #454545;
}

.cctv-v2-page #cctv-v2-main .v2-installation .v2-install>.v2-install-image {
   width: 100%;
   height: 100%;
   min-height: 0;
   aspect-ratio: 1;
   object-fit: cover;
   border: 0;
   border-radius: 16px;
   box-shadow: none;
}

@media (max-width: 767px) {
   .cctv-v2-page #cctv-v2-main .v2-installation .v2-install {
      grid-template-columns: 1fr;
      gap: 20px;
      max-width: 460px;
   }

   .cctv-v2-page #cctv-v2-main .v2-installation .v2-install-card {
      padding: 24px;
   }

   .cctv-v2-page #cctv-v2-main .v2-installation .v2-install-card h3 {
      font-size: 20px;
   }

   .cctv-v2-page #cctv-v2-main .v2-installation .v2-install-card dl>div,
   .cctv-v2-page #cctv-v2-main .v2-installation .v2-install-card dd {
      font-size: 15px;
   }

   .cctv-v2-page #cctv-v2-main .v2-install-visit h4 {
      font-size: 18px;
   }

   .cctv-v2-page #cctv-v2-main .v2-installation .v2-install-visit p {
      font-size: 15px;
   }

   .cctv-v2-page #cctv-v2-main .v2-installation .v2-install>.v2-install-image {
      height: auto;
   }

}
/* Keep server-wide font declarations from overriding CCTV text. */
.cctv-v2-page #cctv-v2-main,
.cctv-v2-page #cctv-v2-main * {
  font-family: 'Pretendard', 'Pretendard Variable', 'Noto Sans KR', sans-serif !important;
}

/* Stack comparison cards and point the transition arrow down on small screens. */
@media (max-width: 680px) {
  .cctv-v2-page #cctv-v2-main .v2-comparison {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .cctv-v2-page #cctv-v2-main .v2-comparison > .v2-vs {
    position: relative;
    left: auto;
    top: auto;
    justify-self: center;
    width: 40px;
    height: 40px;
    transform: rotate(90deg);
    margin-top: -2%;
  }
  .cctv-v2-page #cctv-v2-main .v2-compare-card > img {
    height: auto;
    aspect-ratio: 1.75;
    object-fit: cover;
  }
  .cctv-v2-page #cctv-v2-main .v2-comparison ul {
    display: flex;
    flex-wrap: wrap;
  }
}
