 * {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
 }

 body {
   font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
   line-height: 1.6;
   color: #333;
 }

 .m-only {
   display: none;
 }

 @media (max-width: 768px) {
   .m-only {
     display: inline;
   }
 }

 .subcat__inner {
   width: min(100vw, 1180px);
   margin: 0 auto;
   display: grid;
   grid-template-columns: repeat(3, 1fr);
 }

 /* -------------------------------- Section: sub__ceo --------------------------------- */
 .sub__ceo_bg {
   background: url(../../1x/s1/sub1_1__bg.png);
   background-repeat: no-repeat;
   background-size: cover;
   width: 100%;
   height: 700px;
   background-color: #f0f0f0;
   /* 임시 배경색 */
 }

 .sub__ceo {
   padding-bottom: 150px;
 }

 .sub__ceo_wrap {
   max-width: 1794px;
   background: #fafafa;
   margin-left: auto;
   border-radius: 50px 0 0 0;
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 50px;
 }

 .sub__ceo_text {
   width: 100%;
   padding: 3rem 0 3rem 6rem;
 }

 .sub__ceo_text div {
   font-family: "esamanru";
   font-size: 3rem;
   font-weight: 900;
 }

 .sub__ceo_text h3 {
   font-size: 2.25rem;
   font-weight: 800;
   padding-bottom: 2rem;
 }

 .sub__ceo_text p {
   line-height: 1.6;
 }

 .sub__ceo_text p span {
   font-family: 'KyoboHandwriting2020A';
   font-size: 1.125rem;
 }

 .sub__ceo_img img {
   width: 720px;
 }

 @media (max-width: 1024px) {
   .sub__ceo_wrap {
     flex-direction: column;
     align-items: center;
     padding: 2rem;
   }

   .sub__ceo_text {
     padding: 2rem 1rem;
     text-align: center;
   }

   .sub__ceo_text div {
     font-size: 2.5rem;
   }

   .sub__ceo_text h3 {
     font-size: 2rem;
   }

   .sub__ceo_text p span {
     font-size: 1rem;
   }

   .sub__ceo_img img {
     width: 100%;
     max-width: 600px;
   }
 }

 @media (max-width: 768px) {
   .sub__ceo_bg {
     height: 200px;
   }

   .sub__ceo_wrap {
     border-radius: 30px 0 0 0;
     padding: 1.5rem;
   }

   .sub__ceo_text div {
     font-size: 2rem;
   }

   .sub__ceo_text h3 {
     font-size: 1.5rem;
   }

   .sub__ceo_text p {
     font-size: 0.95rem;
   }

   .sub__ceo_text p span {
     font-size: 0.9rem;
   }

   .sub__ceo_img img {
     max-width: 100%;
   }
 }

 /* ===== 상단 카테고리 바 ===== */
 :root {
   --headerH: 0px;
 }

 .subcat {
   border-top: 1px solid #eaeaea;
   border-bottom: 1px solid #eaeaea;
   z-index: 9000;
 }

 .subcat__inner {
   width: min(100vw, 1180px);
   margin: 0 auto;
   display: grid;
   grid-template-columns: repeat(3, 1fr);
 }

 .subcat__link {
   height: 56px;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   text-decoration: none;
   color: #222;
   font-weight: 800;
   position: relative;
 }

 .subcat__link::after {
   content: "";
   position: absolute;
   left: 50%;
   bottom: 0;
   width: 0;
   height: 2px;
   background: #111;
   transition: width .25s ease, left .25s ease;
 }

 .subcat__link:hover::after {
   width: 60%;
   left: 20%;
 }

 .subcat__link.is-active {
   color: #111;
 }

 .subcat__link.is-active::after {
   width: 68%;
   left: 16%;
 }

 @media (max-width: 768px) {
   .subcat__inner {
     grid-template-columns: 1fr;
   }

   .subcat__link {
     height: 48px;
     border-bottom: 1px solid #eee;
   }

   .subcat__link:last-child {
     border-bottom: 0;
   }
 }

 /* ===== 기술력 섹션 ===== */
 .techsec2 {
   background: #fff;
 }

 .techsec2__inner {
   width: min(100vw, 1180px);
   margin: 0 auto;
   padding: clamp(36px, 5vw, 64px) 20px;
 }

 .techsec2__eyebrow {
   margin: 0 0 8px;
   font-size: 12px;
   font-weight: 800;
   color: #9a9a9a;
   letter-spacing: .12em;
   text-transform: uppercase;
 }

 .techsec2__heading {
   margin: 0 0 14px;
   font-weight: 900;
   font-size: clamp(28px, 4vw, 36px);
   color: #111;
 }

 .techsec2__lead {
   margin: 0 0 20px;
   color: #555;
   line-height: 1.8;
   font-size: 16px;
 }

 /* 헤더 레이아웃 - 좌우 분할 */
 .techsec2__head {
   display: grid;
   grid-template-columns: 1fr auto;
   gap: clamp(20px, 4vw, 50px);
   align-items: end;
   margin: 0 0 clamp(30px, 4vw, 40px);
   margin-left: 4%;
 }

 .techsec2__meta {
   max-width: 600px;
 }

 /* 탭 버튼들 - 우측 정렬 */
 .techsec2__tabs {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 10px;
   margin: 0;
   padding: 0;
 }

 .techsec2__tab {
   height: 36px;
   padding: 0 16px;
   border-radius: 6px;
   border: 1px solid #cfcfcf;
   background: #fff;
   color: #111;
   font-weight: 700;
   font-size: 14px;
   cursor: pointer;
   transition: all 0.2s ease;
   white-space: nowrap;
 }

 .techsec2__tab:hover {
   border-color: #999;
 }

 .techsec2__tab.is-active {
   background: #111;
   border-color: #111;
   color: #fff;
 }

 /* 반응형: 980px 이하에서 세로 스택 */
 @media (max-width: 980px) {
   .techsec2__head {
     grid-template-columns: 1fr;
     align-items: start;
     gap: 20px;
   }

   .techsec2__tabs {
     justify-content: flex-start;
     margin-top: 10px;
   }
 }

 @media (max-width: 680px) {
   .techsec2__tabs {
     gap: 8px;
   }

   .techsec2__tab {
     height: 32px;
     padding: 0 12px;
     font-size: 13px;
   }
 }

 /* 패널 */
 .techsec2__panel {
   position: relative;
   margin-top: 20px;
 }

 .techsec2__panel[hidden] {
   display: none;
 }

 .techsec2__grid {
   position: relative;
   display: block;
 }

 /* 배지와 콘텐츠 박스 레이아웃 */
 .techsec2__badge {
   position: absolute;
   left: 5%;
   top: -18px;
   width: clamp(120px, 12vw, 140px);
   height: clamp(120px, 12vw, 140px);
   background: #111;
   color: #fff;
   border-radius: 6px;
   display: grid;
   place-items: center;
   box-shadow: 0 12px 26px rgba(0, 0, 0, 0.16);
   z-index: 2;
 }

 .techsec2__badge span {
   font-weight: 900;
   font-size: clamp(16px, 2.2vw, 20px);
   letter-spacing: 0.02em;
   text-align: center;
 }

 .techsec2__box {
   background: #efefef;
   border-radius: 8px;
   margin-left: clamp(100px, 10vw, 140px);
   padding: clamp(30px, 4vw, 40px);
   padding-left: clamp(80px, 8vw, 100px);
   min-height: clamp(280px, 30vw, 350px);
 }

 .techsec2__item+.techsec2__item {
   margin-top: clamp(20px, 2.5vw, 30px);
 }

 .techsec2__title {
   margin: 0 0 8px;
   font-weight: 800;
   font-size: 18px;
   color: #111;
 }

 .techsec2__desc {
   margin: 0;
   color: #444;
   line-height: 1.7;
   font-size: 14px;
 }

 /* 경제성 패널 특별 스타일 */
 .techsec2__grid--economics {
   position: relative;
   display: block;
 }

 .techsec2__box--economics {
   background: #fff;
   border-radius: 8px;
   margin-left: clamp(100px, 10vw, 140px);
   padding: clamp(30px, 4vw, 40px);
   padding-left: clamp(80px, 8vw, 100px);
   min-height: auto;
 }

 .techsec2__economics-content {
   width: 100%;
 }

 .techsec2__economics-header {
   margin-bottom: 20px;
 }

 .techsec2__economics-title {
   font-size: 18px;
   font-weight: 700;
   color: #111;
   margin-bottom: 5px;
 }

 .techsec2__economics-subtitle {
   font-size: 12px;
   color: #666;
   margin: 0;
 }

 .techsec2__economics-highlight {
   background: #111;
   color: #fff;
   padding: 12px 20px;
   border-radius: 4px;
   font-weight: 700;
   font-size: 14px;
   text-align: center;
   margin-bottom: 20px;
 }

 .techsec2__economics-chart {
   width: 100%;
   height: auto;
   display: block;
 }


 @media (max-width: 680px) {
   .techsec2__box--uniformity {
     margin-left: 0 !important;
     padding: 30px 24px !important;
   }
 }

 .techsec2__uniformity-content {
   width: 100%;
 }

 .techsec2__uniformity-header {
   margin-bottom: 20px;
 }

 .techsec2__uniformity-title {
   font-size: 18px;
   font-weight: 700;
   color: #111;
   margin-bottom: 5px;
 }

 .techsec2__uniformity-subtitle {
   font-size: 12px;
   color: #666;
   margin: 0;
 }

 .techsec2__uniformity-highlight {
   background: #111;
   color: #fff;
   padding: 12px 20px;
   border-radius: 4px;
   font-weight: 700;
   font-size: 14px;
   text-align: center;
   margin-bottom: 20px;
 }

 .techsec2__uniformity-chart {
   width: 100%;
   height: auto;
   display: block;
 }

 @media (max-width: 680px) {
   .techsec2__grid--uniformity .techsec2__badge {
     position: static;
     width: 120px;
     height: 120px;
     margin: 0 0 15px;
     box-shadow: none;
   }

   .techsec2__box--uniformity {
     margin-left: 0;
     padding: 30px 24px;
   }

   .techsec2__economics-title,
   .techsec2__uniformity-title {
     font-size: 16px;
   }

   .techsec2__economics-subtitle,
   .techsec2__uniformity-subtitle {
     font-size: 11px;
   }

   .techsec2__economics-highlight,
   .techsec2__uniformity-highlight {
     font-size: 12px;
     padding: 10px 15px;
   }
 }

 /* 모바일: 세로 스택으로 변경 */
 @media (max-width: 680px) {
   .techsec2__badge {
     position: static;
     width: 120px;
     height: 120px;
     margin: 0 0 15px;
     box-shadow: none;
   }

   .techsec2__box {
     margin-left: 0;
     padding: 30px 24px;
     min-height: auto;
   }

   .techsec2__box--economics {
     margin-left: 0;
     padding: 30px 24px;
   }

   .techsec2__box--safety {
     margin-left: 0;
     padding: 30px 24px;
   }

   .techsec2__box--uniformity {
     margin-left: 0 !important;
     padding: 30px 24px !important;
   }
 }

 /* 균일성 패널 특별 스타일 */
 .techsec2__grid--uniformity {
   position: relative;
   display: block;
 }

 .techsec2__box--uniformity {
   background: #fff;
   border-radius: 8px;
   margin-left: clamp(100px, 10vw, 140px);
   padding: clamp(30px, 4vw, 40px);
   padding-left: clamp(80px, 8vw, 100px);
   min-height: auto;
 }

 .techsec2__uniformity-content {
   width: 100%;
 }

 .techsec2__uniformity-header {
   margin-bottom: 20px;
 }

 .techsec2__uniformity-title {
   font-size: 18px;
   font-weight: 700;
   color: #111;
   margin-bottom: 5px;
 }

 .techsec2__uniformity-subtitle {
   font-size: 12px;
   color: #666;
   margin: 0;
 }

 .techsec2__uniformity-highlight {
   background: #111;
   color: #fff;
   padding: 12px 20px;
   border-radius: 4px;
   font-weight: 700;
   font-size: 14px;
   text-align: center;
   margin-bottom: 20px;
 }

 .techsec2__uniformity-chart {
   width: 100%;
   height: auto;
   display: block;
 }

 .techsec2__safety-chart {
   width: 100%;
   height: auto;
   display: block;
   margin-top: 5%;
 }







 /* 식미향상 전용: 탭/폰트 전역은 손대지 않음 */
 .t2pal {
   display: flex;
   flex-direction: column;
   gap: 18px
 }

 .t2pal__head.is-center {
   text-align: center
 }

 .t2pal__title {
   display: inline-block;
   font-size: 22px;
   line-height: 1.55;
   font-weight: 700;
   color: #111
 }

 .t2pal__hl {
   background: #ccfff4;
   /* 스샷 같은 하이라이트 */
   padding: 0 .18em;
 }

 .t2pal__sub {
   margin-top: 8px;
   font-size: 14px;
   color: #777
 }

 /* 통이미지 */
 .t2pal__img {
   margin: 14px auto 0;
   width: 100%;
   max-width: 980px
 }

 .t2pal__img img {
   display: block;
   width: 100%;
   height: auto
 }

 /* 반응형 */
 @media (max-width: 640px) {
   .t2pal__title {
     font-size: 18px
   }

   .t2pal__sub {
     font-size: 12px
   }

   .t2pal__img {
     max-width: 100%
   }
 }