/* CCTV page styles. Shared site styles remain in common.css. */

.cctv-page #cctv-main * {
   font-family: 'Pretendard', 'Noto Sans KR', sans-serif !important;
  color: var(--ink);
  line-height: 1.5;
}

/* Page defaults and accessibility */
.cctv-page #cctv-main .small {
   font-size: 0.9rem;
   font-weight: 400;
}

.cctv-page #cctv-main .cctv-page {
   --cc-muted: #333;
   --cc-muted2: #454545;
}

.cctv-page #cctv-main .cc-skip {
   position: fixed;
   top: -80px;
   left: 20px;
   z-index: 100;
   background: #fff;
   color: #111;
   padding: 12px 20px;
}

.cctv-page #cctv-main .cc-skip:focus {
   top: 12px;
}

.cctv-page #cctv-main .cctv-page button {
   cursor: pointer;
}

.cctv-page #cctv-main .cctv-page :focus-visible {
   outline: #e60012 solid 3px;
   outline-offset: 5px;
}

.cctv-page #cctv-main .cctv-page [hidden] {
   display: none !important;
}

/* Hero */
.cctv-page #cctv-main .cc-hero {
   min-height: 800px;
   position: relative;
   overflow: hidden;
   display: flex;
   align-items: center;
   background: #101416;
   color: #fff;
   margin-top: 0;
}

.cctv-page #cctv-main .cc-hero-photo {
   position: absolute;
   inset: 0;
   background: url("/images/front/v2026/cctv/CCTV-hero-bg.jpg") 100% center / cover no-repeat;
}

.cctv-page #cctv-main .cc-hero-inner {
   width: 100%;
   position: relative;
   z-index: 1;
}

.cctv-page #cctv-main .cc-badge {
   display: inline-block;
   border-radius: 40px;
   padding: 9px 24px;
   background: var(--red);
   font-size: 24px;
   font-weight: 400;
   margin-bottom: 24px;
   color: #fff !important;
}

.cctv-page #cctv-main .cc-hero h1 {
   font-size: 58px;
   line-height: 1.4;
   font-weight: 600 !important;
   letter-spacing: -2px;
   color: #fff !important;
}

.cctv-page #cctv-main .cc-hero p {
   margin-top: 30px;
   font-size: 20px;
   line-height: 1.5;
   color: #fff;
}

/* Introduction */
.cctv-page #cctv-main .cc-intro {
   padding-bottom: 0;
}

.cctv-page #cctv-main .cc-info {
   padding: 40px 64px;
   border-radius: 16px;
   box-shadow: rgba(32, 40, 74, 0.07) 0 0 32px;
}

.cctv-page #cctv-main .cc-info-top {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 30px;
   padding-bottom: 24px;
}

.cctv-page #cctv-main .cc-info h2 {
   font-size: 40px;
   color: var(--red);
   margin-bottom: 12px;
   font-weight: 600 !important;
}

.cctv-page #cctv-main .cc-info p {
   color: var(--cc-muted);
   font-size: 20px;
   line-height: 1.5;
   font-weight: 500;
}

.cctv-page #cctv-main .cc-info-bottom {
   border-top: 1px solid #e1e1e1;
   padding-top: 26px;
}

.cctv-page #cctv-main .cc-info h3 {
   font-size: 24px;
   margin-bottom: 10px;
   font-weight: 500 !important;
}

/* Concern tabs */
.cctv-page #cctv-main .cc-pain {
   padding-bottom: 0;
}

.cctv-page #cctv-main .cc-pain h2 {
   font-weight: 500 !important;
}

.cctv-page #cctv-main .cc-tabs {
   margin-top: 58px;
}

.cctv-page #cctv-main .cc-tab-list {
   display: flex;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 10px;
   margin-bottom: 0;
   width: 100%;
   max-width: none;
}

.cctv-page #cctv-main .cc-tab-list button {
   border: 2px solid var(--red);
   border-bottom: 0;
   background: #fff;
   color: #666;
   border-radius: 18px 18px 0 0;
   padding: 23px 12px;
   font-size: 22px;
   font-weight: 600 !important;
   width: calc(25% - 15px);
}

.cctv-page #cctv-main .cc-tab-list button[aria-selected="true"] {
   color: #fff;
   background: var(--red);
   box-shadow: rgba(230, 0, 18, 0.08) 0 8px 24px;
}

.cctv-page #cctv-main .cc-pain-panel {
   position: relative;
   border-radius: 0 16px 16px;
   overflow: hidden;
   border: 2px solid var(--red);
}

.cctv-page #cctv-main .cc-pain-photo {
   aspect-ratio: 860 / 289;
}

.cctv-page #cctv-main #pain-panel-0 .cc-pain-photo {
   background: url("/images/front/v2026/cctv/cctv-pain1.jpg") center center / cover no-repeat;
}

.cctv-page #cctv-main #pain-panel-1 .cc-pain-photo {
   background: url("/images/front/v2026/cctv/cctv-pain2.jpg") center center / cover no-repeat;
}

.cctv-page #cctv-main #pain-panel-2 .cc-pain-photo {
   background: url("/images/front/v2026/cctv/cctv-pain3.jpg") center center / cover no-repeat;
}

.cctv-page #cctv-main #pain-panel-3 .cc-pain-photo {
   background: url("/images/front/v2026/cctv/cctv-pain4.jpg") center center / cover no-repeat;
}

/* Benefit cards */
.cctv-page #cctv-main .cc-methods {
   /* padding-top: 80px; */
   padding-top: 72px;
   /* padding-bottom: 60px; */
   padding-bottom: 40px;
}

.cctv-page #cctv-main .cc-method-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   margin-top: 58px;
}

.cctv-page #cctv-main .cc-card {
   position: relative;
   padding: 38px 30px;
   min-height: 250px;
}

.cctv-page #cctv-main .cc-card h3 {
   font-size: 23px;
   font-weight: 600 !important;
   margin-bottom: 10px;
}

.cctv-page #cctv-main .cc-card p {
   color: var(--cc-muted2);
   font-size: 16px;
   line-height: 1.5;
   font-weight: 300;
}

.cctv-page #cctv-main .cc-method-grid .cc-icon {
   display: flex;
   justify-self: end;
   width: 80px;
   height: 80px;
   margin: inherit;
}

.cctv-page #cctv-main .cc-method-grid .cc-card {
   border-top: 1px solid #e1e1e1;
   border-right: 1px solid #e1e1e1;
}

.cctv-page #cctv-main .cc-method-grid .cc-card:nth-child(3n) {
   border-right: 0;
}

/* AI monitoring */
.cctv-page #cctv-main .cc-management {
   position: relative;
   overflow: hidden;
   background: #080a0b;
   color: #fff;
   padding-top: 72px;
   padding-bottom: 72px;
   /* min-height: 800px; */
}

.cctv-page #cctv-main .cc-management h2 {
   color: #fff !important;
}

.cctv-page #cctv-main .cc-management h3 {
   color: #fff !important;
   font-weight: 500 !important;
}

.cctv-page #cctv-main .cc-management-photo {
   position: absolute;
   inset: 0;
   background: url("/images/front/v2026/cctv/feauture-dark-background.jpg") center / cover no-repeat;
}

.cctv-page #cctv-main .cc-management::after {
   position: absolute;
   content: "";
   inset: 0;
   background: linear-gradient(90deg, #080a0b 8%, rgba(8, 10, 11, 0.66) 48%, transparent);
}

.cctv-page #cctv-main .cc-management .wrap {
   position: relative;
   z-index: 1;
}

.cctv-page #cctv-main .cc-desc {
   color: var(--cc-muted);
   font-size: 20px;
   line-height: 1.5;
   margin-top: 24px;
}

.cctv-page #cctv-main .cc-management .cc-desc {
   color: #fff;
}

.cctv-page #cctv-main .cc-management-grid {
   display: grid;
   grid-template-columns: repeat(5, minmax(0, 1fr));
   margin-top: 55px;
   gap: 50px 0;
}

.cctv-page #cctv-main .cc-management-grid .cc-card {
   display: flex;
   flex-direction: column;
   border-left: 1px solid rgba(255, 255, 255, 0.27);
   min-height: 0;
   padding: 0 20px;
}

.cctv-page #cctv-main .cc-management-grid .cc-card:first-child {
   border: 0;
   /* padding-left: 0; */
}

.cctv-page #cctv-main .cc-management-grid .cc-icon {
   order: -1;
   margin: 0 0 22px;
   color: #ffb1b8;
   width: 55px;
   height: 55px;
}

.cctv-page #cctv-main .cc-card .cc-icon {
   display: block;
   /* margin: 38px 0 0 auto; */
}

.cctv-page #cctv-main .cc-management-grid p {
   color: #fff;
}

/* Installation cases */
.cctv-page #cctv-main .cc-cases {
   background: #272727;
   color: #fff !important;
}

.cctv-page #cctv-main .cc-cases h2 {
   color: #fff !important;
}

/* FAQ */
.cctv-page #cctv-main .cc-faq {
   background: #f8f9fc;
}

.cctv-page #cctv-main .cc-faq .sec-title {
   text-align: center;
}

.cctv-page #cctv-main .cc-faq-list {
   max-width: 1180px;
   margin: 60px auto 0;
}

.cctv-page #cctv-main .cc-faq details {
   margin-top: 12px;
   border: 2px solid transparent;
   background: #fff;
   border-radius: 12px;
   overflow: hidden;
   transition: border-color 0.3s, box-shadow 0.3s;
}

.cctv-page #cctv-main .cc-faq details[open] {
   border-color: var(--red);
   box-shadow: rgba(0, 45, 125, 0.1) 0 0 48px 0;
}

.cctv-page #cctv-main .cc-faq summary {
   cursor: pointer;
   list-style: none;
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 20px 36px;
   gap: 24px;
   font-size: 24px;
   font-weight: 600 !important;
}

.cctv-page #cctv-main .cc-faq summary::-webkit-details-marker {
   display: none;
}

.cctv-page #cctv-main .cc-faq summary span::before {
   content: "+";
   color: var(--red);
   font-size: 28px;
   font-weight: 400;
   display: inline-block;
   transition: transform 0.3s;
}

.cctv-page #cctv-main .cc-faq details[open] summary span::before {
   content: "×";
   transform: rotate(45deg);
}

.cctv-page #cctv-main .cc-faq-answer {
   padding: 20px 36px;
   color: var(--cc-muted2);
   font-size: 20px;
   border-top: 1px solid #f0f0f0;
   line-height: 1.8;
}

/* Accessible table captions */
.cctv-page #cctv-main .cc-sr-only {
   position: absolute;
   width: 1px;
   height: 1px;
   padding: 0;
   margin: -1px;
   overflow: hidden;
   clip-path: inset(50%);
   white-space: nowrap;
   border: 0;
}

/* Reference image windows */
.cctv-page #cctv-main .cc-info-camera {
   width: 200px;
   flex-shrink: 0;
   aspect-ratio: 135 / 110;
   background: url("/images/front/v2026/cctv/reference.jpg") 81.951% 9.338% / 859.259% 5454.545% no-repeat;
}

/* CCTV comparison */
/* Grid rows align the labels and both comparison cards. */
.cctv-page #cctv-main .cc-comparison {
   display: grid;
   grid-template-columns: minmax(150px, .65fr) repeat(2, minmax(0, 1fr));
   grid-template-rows: auto repeat(5, minmax(76px, auto));
   column-gap: 24px;
   max-width: 1060px;
   margin: 48px auto 0;
}

.cctv-page #cctv-main .cc-comparison-labels,
.cctv-page #cctv-main .cc-comparison-card {
   display: grid;
   grid-template-rows: subgrid;
   grid-row: 1 / span 6;
   min-width: 0;
}

.cctv-page #cctv-main .cc-comparison-labels {
   grid-column: 1;
}

.cctv-page #cctv-main .cc-comparison-card {
   grid-column: 2;
   background: #f7f7f8;
   border: 2px solid transparent;
   border-radius: 14px;
   box-shadow: 0 12px 32px rgba(32, 40, 74, .12);
   overflow: hidden;
}

.cctv-page #cctv-main .cc-comparison-card--smart {
   grid-column: 3;
   background: #fff;
   border-color: var(--red);
   color: var(--red);
   box-shadow: 0 12px 32px rgba(32, 40, 74, .12);
}

.cctv-page #cctv-main .cc-comparison-heading {
   padding: 35px 28px 26px;
}

.cctv-page #cctv-main .cc-comparison-heading h3 {
   margin: 0;
   font-size: 26px;
   font-weight: 600 !important;
}

.cctv-page #cctv-main .cc-comparison-heading p {
   margin: 12px 0 0;
   color: #454545;
   font-size: 16px;
}

.cc-comparison-label,
.cctv-page #cctv-main .cc-comparison-value {
   display: flex;
   align-items: center;
   margin: 0;
   padding: 23px 28px;
   font-size: 20px;
   word-break: keep-all;
}

.cctv-page #cctv-main .cc-comparison-label {
   padding-left: 0;
   font-size: 19px;
   font-weight: 500 !important;
}

.cctv-page #cctv-main .cc-comparison-value {
   justify-content: space-between;
   gap: 10px;
   border-top: 1px solid #e1e1e1;
}

.cctv-page #cctv-main .cc-comparison-value:first-of-type {
   border-top: 1px solid #454545;
}

.cctv-page #cctv-main .cc-comparison-value>span[aria-hidden="true"] {
   flex-shrink: 0;
}

.cctv-page #cctv-main .cc-comparison-value img {
   display: block;
   width: 22px;
   height: 22px;
}

.cctv-page #cctv-main .cc-management-grid .cc-card:nth-child(5n+1) {
   border-left: 0;
}

.cctv-page #cctv-main .cc-feature-note {
   margin-top: 35px;
   font-size: 14px;
   color: #bbb;
}

.cctv-page #cctv-main .cc-office-photo {
   width: calc(33.3333% - 13.3333px);
   aspect-ratio: 278 / 206;
}

/* Pricing */
.cctv-page #cctv-main .cc-price-tabs {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 11px;
   margin: 60px 0 0;
   /* border-radius: 14px; */
   /* box-shadow: rgba(32, 40, 74, 0.07) 0 0 30px; */
   overflow: hidden;
}

.cctv-page #cctv-main .cc-price-tabs button {
   border: 0;
   background: #fff;
   padding: 22px 15px;
   font-size: 24px;
   font-weight: 600 !important;
   color: #333;
   border-radius: 16px 16px 0 0;
   border: 2px solid var(--red);
   border-bottom: 0;
}

.cctv-page #cctv-main .cc-price-tabs button[aria-selected="true"] {
   background: var(--red);
   color: #fff;
}

.cctv-page #cctv-main .tabpanel {
   border: 2px solid var(--red);
   padding: 0 60px 40px;
}

.cctv-page #cctv-main .cc-pricing h3 {
   font-size: 28px;
   font-weight: 600 !important;
   margin: 42px 0 24px;
}

.cctv-page #cctv-main .cc-table-scroll {
   overflow-x: auto;
}

.cctv-page #cctv-main .cc-price-table {
   width: 100%;
   border-collapse: collapse;
   font-size: 18px;
   text-align: center;
}

.cctv-page #cctv-main .cc-price-table th {
   border: 1px solid #e5e5e5;
   padding: 8px 18px;
   font-weight: 500 !important;
   vertical-align: middle;
   text-align: center !important;
}

.cctv-page #cctv-main .cc-price-table td {
   border: 1px solid #e5e5e5 !important;
   padding: 8px 18px;
   font-weight: 400;
   vertical-align: middle;
   text-align: center !important;
}

.cctv-page #cctv-main .cc-price-table td .small {
   font-size: 16px !important;
   font-weight: 400 !important;
}

.cctv-page #cctv-main .cc-price-table thead th {
   background: #191919;
   color: #fff !important;
   border-color: #191919;
   font-weight: 500;
}

.cctv-page #cctv-main .cc-price-table thead th .small {
   font-size: 16px !important;
   color: #fff !important;
   font-weight: 400 !important;
}

.cctv-page #cctv-main .cc-price-table td:last-child {
   width: 40%;
}

.cctv-page #cctv-main .cc-price-note {
   margin-top: 22px;
   color: #777;
   font-size: 15px;
}

.cctv-page #cctv-main .cc-price-consult {
   min-height: 400px;
   background: #f8f9fc;
   padding: 50px;
   border-radius: 14px;
}

.cctv-page #cctv-main .cc-price-consult h3 {
   margin-top: 0;
}

.cctv-page #cctv-main .cc-price-consult p {
   font-size: 20px;
   color: #777;
   margin-bottom: 30px;
}

/* Closing message */
.cctv-page #cctv-main .cc-solved {
   background: #272727;
   color: #fff !important;
}

.cctv-page #cctv-main .cc-solved h2 {
   color: #fff !important;
}

.cctv-page #cctv-main .cc-solved .solved-list li {
   color: #333;
   background: #fff;

   display: flex;
   align-items: center;
   gap: 12px;
   font-size: 24px;
   font-weight: 600 !important;
   padding: 16px 20px;
   border-radius: 8px;
   margin-bottom: 12px;
   box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
}

.cctv-page #cctv-main .cc-solved .solved-list li img {
   margin: 0 !important;
}

.cctv-page #cctv-main .cc-benefit-note {
   font-size: 14px;
   color: #bbb;
   margin-top: 20px;
}

/* Case slider */
.cctv-page #cctv-main .solution-cases {
   overflow: hidden;
}

.cctv-page #cctv-main .solution-case-tabs {
   display: flex;
   flex-wrap: wrap;
   gap: 0;
   margin: 46px 0 20px;
}

.cctv-page #cctv-main .solution-case-tabs button {
   border: 0;
   background: transparent;
   color: #ddd;
   padding: 6px 16px;
   font-size: 20px;
   cursor: pointer;
}

.cctv-page #cctv-main .solution-case-tabs button[aria-pressed="true"] {
   background: var(--red);
   color: #fff;
}

.cctv-page #cctv-main .solution-case-tabs button:focus-visible {
   outline: #fff solid 2px;
   outline-offset: 3px;
}

.cctv-page #cctv-main .solution-case-gallery {
   overflow: visible;
   clip-path: inset(0 -100vw 0 0);
   margin-top: 60px;
}

.cctv-page #cctv-main .solution-case-slide {
   height: auto;
}

.cctv-page #cctv-main .solution-case-image {
   position: relative;
   aspect-ratio: 460 / 340;
   background: #333;
   display: flex;
   align-items: center;
   justify-content: center;
}

.cctv-page #cctv-main .solution-case-image::after {
   content: "";
   position: absolute;
   inset: 0;
   box-shadow: inset 0 0 0 2px var(--red);
   opacity: 0;
   transition: opacity 0.25s;
   pointer-events: none;
}

.cctv-page #cctv-main .solution-case-slide.is-selected .solution-case-image::after {
   opacity: 1;
}

.cctv-page #cctv-main .solution-case-image>div[role="img"] {
   width: 100%;
   height: 100%;
   min-height: 0;
   aspect-ratio: auto;
   margin: 0;
}

.cctv-page #cctv-main .solution-case-image>svg {
   width: 65px;
   height: 65px;
   color: var(--red);
}

.cctv-page #cctv-main .solution-case-caption {
   padding: 20px 0;
}

.cctv-page #cctv-main .solution-case-caption p {
   color: #ddd;
   font-size: 16px;
   line-height: 1.7;
}

.cctv-page #cctv-main .solution-case-caption a {
   display: inline-block;
   margin-top: 18px;
   padding-bottom: 6px;
   border-bottom: 1px solid var(--red);
}

.cctv-page #cctv-main .solution-case-gallery:not(.swiper-initialized) .swiper-wrapper {
   overflow-x: auto;
   gap: 20px;
}

.cctv-page #cctv-main .solution-case-gallery:not(.swiper-initialized) .solution-case-slide {
   flex: 0 0 80%;
   max-width: 460px;
}

.cc-cases .solution-case-gallery .swiper-wrapper {
  transition-timing-function: linear !important;
}

.cctv-page #cctv-main [data-solution-faq] details {
   transition: border-color 0.3s, box-shadow 0.3s;
}

.cctv-page #cctv-main [data-solution-faq] summary span::before {
   display: inline-block;
   content: "+";
   transition: transform 0.3s;
}

.cctv-page #cctv-main [data-solution-faq] details[open] summary span::before {
   content: "+";
   transform: rotate(45deg);
}

.cctv-page #cctv-main [data-solution-faq] summary[aria-expanded="false"] span::before {
   transform: rotate(0deg);
}

@media (min-width: 768px) {
   .cctv-page #cctv-main .cc-method-grid .cc-card:nth-child(n+2):nth-child(-n+3)::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -1px;
      height: 1px;
      background: #e1e1e1;
      pointer-events: none;
   }
}

.cctv-page #cctv-main .cc-info p.small {
   color: var(--cc-muted2);
   font-size: 16px;
   line-height: 1.5;
   font-weight: 400;
}

.cctv-page #cctv-main .cc-faq details:hover {
   border-color: var(--red);
}

.cctv-page #cctv-main .cc-faq summary[aria-expanded="false"] span::before {
   transform: rotate(0deg);
}

.cctv-page #cctv-main .solution-case-label {
   position: absolute;
   left: 16px;
   bottom: 10px;
   margin-bottom: 10px;
   padding: 4px 8px;
   background: #fff;
   font-size: 16px;
   color: #333;
   max-width: calc(100% - 32px);
}

/* Tablet */
@media (max-width: 1100px) {
   .cctv-page #cctv-main .cc-hero h1 {
      font-size: 44px;
   }

   .cctv-page #cctv-main .cc-card {
      padding: 28px 22px;
   }

   .cctv-page #cctv-main .cc-management-grid .cc-card {
      padding: 0 16px;
   }

   .cctv-page #cctv-main .cc-management-grid .cc-card:first-child {
      padding-left: 22px;
   }

   .cctv-page #cctv-main .cc-management-grid .cc-card h3 {
      font-size: 19px;
   }

   .cctv-page #cctv-main .solution-case-tabs button {
      font-size: 17px;
   }

   .cctv-page #cctv-main .cc-solved .solved-list li {
      font-size: 16px;
   }
}

/* Mobile */
@media (max-width: 767px) {
   .cctv-page #cctv-main .cc-hero {
      min-height: 560px;
      /* margin-top: 64px; */
   }

   .cctv-page #cctv-main .cc-hero-photo {
      /* inset: 0 0 0 5%; */
      opacity: 0.65;
   }

   .cctv-page #cctv-main .cc-badge {
      padding: 8px 18px;
      font-size: 17px;
      color: #fff !important;
   }

   .cctv-page #cctv-main .cc-hero h1 {
      font-size: clamp(26px, 6vw, 40px);
      letter-spacing: -1px;
   }

   .cctv-page #cctv-main .cc-hero p {
      font-size: 15px;
   }

   .cctv-page #cctv-main .cc-info {
      padding: 28px 22px;
   }

   .cctv-page #cctv-main .cc-info-top {
      gap: 15px;
      padding-bottom: 25px;
   }

   .cctv-page #cctv-main .cc-info h2 {
      font-size: 27px;
   }

   .cctv-page #cctv-main .cc-info p {
      font-size: 16px;
   }

   .cctv-page #cctv-main .cc-info h3 {
      font-size: 18px;
   }

   .cctv-page #cctv-main .cc-tabs {
      margin-top: 30px;
   }

   .cctv-page #cctv-main .cc-tab-list {
      gap: 5px;
   }

   .cctv-page #cctv-main .cc-tab-list button {
      border-radius: 9px 9px 0 0;
      padding: 8px 5px;
      font-size: 14px;
   }

   .cctv-page #cctv-main .cc-methods {
      padding-top: 50px;
   }

   .cctv-page #cctv-main .cc-method-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin-top: 30px;
   }

   .cctv-page #cctv-main .cc-card {
      padding: 23px 16px;
      min-height: 180px;
   }

   .cctv-page #cctv-main .cc-card h3 {
      font-size: 18px;
   }

   .cctv-page #cctv-main .cc-card p {
      font-size: 13px;
   }

   .cctv-page #cctv-main .cc-card .cc-icon {
      /* margin: 25px 0 0 auto; */
      width: 45px;
      height: 45px;
   }

   .cctv-page #cctv-main .cc-method-grid .cc-card:nth-child(3n) {
      border-right: 1px solid #e1e1e1;
   }

   .cctv-page #cctv-main .cc-management-photo {
      inset: 0 0 0 15%;
   }

   .cctv-page #cctv-main .cc-desc {
      font-size: 14px;
   }

   .cctv-page #cctv-main .cc-management-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin-top: 35px;
      gap: 32px 0;
   }

   .cctv-page #cctv-main .cc-management-grid .cc-card:first-child {
      padding-left: 14px;
   }

   .cctv-page #cctv-main .cc-faq-list {
      margin: 30px auto 0;
   }

   .cctv-page #cctv-main .cc-faq summary {
      padding: 12px;
      font-size: 16px;
   }

   .cctv-page #cctv-main .cc-faq-answer {
      padding: 12px;
      font-size: 14px;
   }

   .cctv-page #cctv-main .cctv-page .sec-title {
      font-size: 27px;
   }

   .cctv-page #cctv-main .cc-faq .sec-title {
      font-size: 23px;
   }

   .cctv-page #cctv-main .cc-hero::after {
      background: linear-gradient(90deg, rgba(16, 20, 22, 0.91), rgba(16, 20, 22, 0.333));
   }

   .cctv-page #cctv-main .cc-info p br {
      display: none;
   }

   .cctv-page #cctv-main .cc-method-grid .cc-card:nth-child(2n) {
      border-right: 0;
   }

   .cctv-page #cctv-main .cc-info-camera {
      width: 85px;
   }

   .cctv-page #cctv-main .cc-pain-photo {
      aspect-ratio: 2;
   }

   .cctv-page #cctv-main .cc-comparison {
      grid-template-columns: minmax(68px, .6fr) repeat(2, minmax(0, 1fr));
      grid-template-rows: auto repeat(5, minmax(68px, auto));
      column-gap: 8px;
      margin: 35px auto 0;
   }

   .cctv-page #cctv-main .cc-comparison-heading {
      padding: 20px 10px;
   }

   .cctv-page #cctv-main .cc-comparison-heading h3 {
      font-size: 17px;
   }

   .cctv-page #cctv-main .cc-comparison-heading p {
      font-size: 11px;
   }

   .cctv-page #cctv-main .cc-comparison-label,
   .cctv-page #cctv-main .cc-comparison-value {
      padding: 16px 9px;
      font-size: 12px;
   }

   .cctv-page #cctv-main .cc-comparison-label {
      padding-left: 0;
   }

   .cctv-page #cctv-main .cc-comparison-value>span[aria-hidden="true"] {
      display: none;
   }

   .cctv-page #cctv-main .cc-management-grid .cc-card:nth-child(5n+1) {
      border-left: 1px solid rgba(255, 255, 255, 0.27);
   }

   .cctv-page #cctv-main .cc-management-grid .cc-card:nth-child(2n+1) {
      border-left: 0;
   }

   .cctv-page #cctv-main .cc-office-photo {
      width: min(100%, 450px);
   }

   .cctv-page #cctv-main .cc-price-tabs {
      margin: 32px 0 0;
      /* border-radius: 8px; */
   }

   .cctv-page #cctv-main .cc-price-tabs button {
      padding: 16px 7px;
      font-size: 14px;
   }
   
   .cctv-page #cctv-main .tabpanel {
      padding: 0 24px 40px;
   }

   .cctv-page #cctv-main .cc-pricing h3 {
      font-size: 22px;
      margin: 30px 0 24px;
   }

   .cctv-page #cctv-main .cc-price-table {
      font-size: 14px;
      /* min-width: 620px; */
   }

   .cctv-page #cctv-main .cc-price-table th {
      padding: 12px;
   }

   .cctv-page #cctv-main .cc-price-table td {
      padding: 12px;
   }

   .cctv-page #cctv-main .cc-price-note {
      font-size: 12px;
   }

   .cctv-page #cctv-main .cc-price-consult {
      min-height: 300px;
      padding: 28px 20px;
   }

   .cctv-page #cctv-main .cc-price-consult p {
      font-size: 16px;
   }

   .cctv-page #cctv-main .cc-management-grid .cc-card h3 {
      font-size: 18px;
   }

   .cctv-page #cctv-main .solution-case-tabs {
      gap: 3px;
      margin: 28px 0 20px;
   }

   .cctv-page #cctv-main .solution-case-tabs button {
      padding: 9px 10px;
      font-size: 14px;
   }

   .cctv-page #cctv-main .solution-case-caption p {
      font-size: 14px;
   }

   .cctv-page #cctv-main .solution-case-caption a {
      font-size: 14px;
   }

   .cctv-page #cctv-main .solution-case-label {
      font-size: 18px;
   }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
   .cctv-page #cctv-main .cc-faq details {
      transition: none;
   }

   .cctv-page #cctv-main .cc-faq summary span::before {
      transition: none;
   }

   .cctv-page #cctv-main .solution-case-image::after {
      transition: none;
   }

   .cctv-page #cctv-main [data-solution-faq] details {
      transition: none;
   }

   .cctv-page #cctv-main [data-solution-faq] summary span::before {
      transition: none;
   }
}