 * {
   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;
   }
 }

 /* -------------------------------- Section: sub__ceo --------------------------------- */
 .sub__ceo_bg0 {
   background: url(../../1x/s1/sub1_0__bg.png);
   background-repeat: no-repeat;
   background-size: cover;
   width: 100%;
   height: 780px;
   position: relative;
 }

 /* ===== 텍스트 영역 (시안처럼 더 아래) ===== */
 .ceo-text {
   position: absolute;
   top: 48% !important;
   left: 15% !important;
   transform: translateY(-50%);
   color: #fff;
   font-family: "SUIT Variable", -apple-system, BlinkMacSystemFont, "Segoe UI",
     system-ui, sans-serif;
   font-variation-settings: "wght" 500;
   /* 굵기 조절 (300~900 사이로 조절 가능) */
 }

 .ceo-text h2 {
   font-size: 4rem !important;
   font-weight: 900;
   line-height: 1.35;
 }

 .ceo-text p {
   margin-top: 1.2rem;
   font-size: 1.5rem;
   font-weight: 700;
   color: #ffffff;
 }

 /* 노란 하이라이트 */
 .ceo-text p .highlight {
   display: inline-block;
   background: #ffe97a;
   color: #0070c9;
   padding: 4px 10px;
   border-radius: 4px;
   font-weight: 800;
 }

 /* ====== 나비 위치 ====== */
 .ceo-butterfly {
   position: absolute;
   left: 14%;
   bottom: 2%;
   width: 120px;
   animation: fly 3.2s ease-in-out infinite;
 }

 /* 나비 움직임 */
 @keyframes fly {
   0% {
     transform: translateY(0) rotate(0deg);
   }

   50% {
     transform: translateY(-10px) rotate(3deg);
   }

   100% {
     transform: translateY(0) rotate(0deg);
   }
 }

 /* ---------------- 반응형 ---------------- */
 @media (max-width:1024px) {
   .sub__ceo_bg0 {
     height: 520px;
   }

   .ceo-text {
     top: 42%;
     left: 6%;
   }

   .ceo-text h2 {
     font-size: 2.2rem;
   }

   .ceo-text p {
     font-size: 1.2rem;
   }

   .ceo-butterfly {
     width: 90px;
     bottom: 6%;
     left: 10%;
   }
 }

 @media (max-width:768px) {
   .sub__ceo_bg0 {
     height: 380px;
   }

   .ceo-text {
     top: 46%;
     left: 5%;
   }

   .ceo-text h2 {
     font-size: 1.6rem;
   }

   .ceo-text p {
     font-size: 1rem;
   }

   .ceo-butterfly {
     width: 70px;
     bottom: 5%;
     left: 7%;
   }
 }



 /* ===== 상단 카테고리 바 ===== */
 :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(4, 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;
   }
 }

 /* ========= 추가 CSS: 시안 그대로 레이아웃 ========= */
 /* 상단 텍스트 영역(좌측 좁게) */

 .aging-hero__inner {
   width: min(100vw, 1180px);
   margin: 0 auto;
   padding: clamp(40px, 6vw, 80px) 20px 0;
 }

 .aging-hero__content {
   max-width: 1060px;
 }

 .aging-hero__eyebrow {
   font-size: 13px;
   color: #8a8a8a;
   margin-bottom: 10px;
 }

 .aging-hero__title {
   font-size: 38px;
   font-weight: 900;
   line-height: 1.25;
   margin: 0 0 18px;
 }

 .aging-hero__desc {
   font-size: 14px;
   color: #333;
 }

 /* 아래 풀사이즈 이미지 (시안처럼 화면 전체 가로) */
 .aging-visual {
   width: 100%;
   margin-top: clamp(14px, 2vw, 24px);
   overflow: hidden;
   background: #000;
 }

 .aging-visual img {
   width: 100%;
   height: 700px;
   /* 시안 높이감 */
   object-fit: cover;
   display: block;
 }

 /* 스크롤 리빌 (이미지 위로 스르륵) */
 .reveal-up {
   transform: translateY(40px);
   opacity: 0;
   transition: transform .9s cubic-bezier(.22, 1, .36, 1), opacity .9s ease-out;
   will-change: transform, opacity;
 }

 .reveal-up.is-inview {
   transform: translateY(0);
   opacity: 1;
 }

 @media (max-width: 768px) {
   .aging-hero__inner {
     padding: 28px 16px 0;
   }

   .aging-hero__content {
     max-width: none;
   }

   .aging-hero__title {
     margin-bottom: 12px;
   }

   .aging-visual img {
     height: 42vh;
   }
 }

 @media (prefers-reduced-motion: reduce) {
   .reveal-up {
     transform: none !important;
     opacity: 1 !important;
     transition: none !important;
   }
 }


 /* 에이징 기술 특징 섹션 */
 .aging-features {
   background: #fff;
   padding: clamp(60px, 8vw, 120px) 0;
 }

 .aging-features__inner {
   width: min(100vw, 1180px);
   margin: 0 auto;
   padding: 0 20px;
   position: relative;
 }

 .aging-feature {
   display: block;
   margin-bottom: clamp(80px, 10vw, 120px);
   max-width: 460px;
   position: relative;
 }

 .aging-feature--left {
   margin-left: 0;
   margin-right: auto;
 }

 .aging-feature--right {
   margin-left: auto;
   margin-right: 0;
   margin-top: clamp(60px, 8vw, 100px);
 }

 .aging-feature:last-child {
   margin-bottom: 0;
 }

 .aging-feature__content {
   padding: clamp(20px, 3vw, 30px);
   text-align: center;
   width: 535px;
 }

 .aging-feature__title {
   font-size: clamp(20px, 2.4vw, 28px);
   font-weight: 900;
   color: #111;
   margin-bottom: 14px;
   text-transform: none;
   letter-spacing: -0.5px;
   text-align: left;
 }

 .aging-feature__subtitle {
   font-size: clamp(16px, 1.8vw, 23px);
   font-weight: 800;
   color: #333333;
   margin-bottom: clamp(8px, 1.2vw, 12px);
   line-height: 1.3;
   text-align: left;
   position: relative;


 }

 .aging-feature__subtitle::after {
   content: "————";
   margin-left: 12px;
   color: #666;
   font-weight: 300;
 }

 .aging-feature__text {
   font-size: clamp(11px, 1.3vw, 14px);
   line-height: 1.6;
   color: #333333;
   text-align: left;
   font-weight: 800;
   margin-top: clamp(12px, 1.6vw, 16px);
 }

 .aging-feature__image {
   position: relative;
   overflow: hidden;
   border-radius: 12px;
   box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
   margin: 16px 0 20px 0;
 }

 .aging-feature__image img {
   width: 100%;
   height: 690px;
   object-fit: cover;
   transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
 }

 .aging-feature__image:hover img {
   transform: scale(1.05);
 }

 .aging-features {
   background: #fff;
   padding: clamp(60px, -3vw, 120px) 0;
   position: relative;
   background: url('../../1x/s1/ceo_back.png') no-repeat right bottom;
   background-size: 100%;
   /* 이미지 크기 40%로 축소 */
   background-position: 0px 1675px;
 }

 .aging-features::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: 0;
 }

 .aging-features__inner {
   position: relative;
   z-index: 1;
 }

 @media (max-width: 1024px) {
   .aging-background {
     height: clamp(250px, 35vw, 450px);
   }
 }

 @media (max-width: 768px) {
   .aging-background {
     height: clamp(200px, 30vw, 300px);
     margin-top: clamp(40px, 6vw, 60px);
   }
 }

 /* 스크롤 애니메이션 향상 */
 .reveal-up {
   transform: translateY(40px);
   opacity: 0;
   transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.9s ease-out;
   will-change: transform, opacity;
 }

 .reveal-up[data-delay="100"] {
   transition-delay: 0.1s;
 }

 .reveal-up[data-delay="200"] {
   transition-delay: 0.2s;
 }

 .reveal-up[data-delay="300"] {
   transition-delay: 0.3s;
 }

 .reveal-up[data-delay="400"] {
   transition-delay: 0.4s;
 }

 .reveal-up.is-inview {
   transform: translateY(0);
   opacity: 1;
 }

 /* 태블릿 반응형 */
 @media (max-width: 1024px) {
   .aging-feature {
     max-width: 400px;
     margin-bottom: clamp(60px, 8vw, 90px);
   }

   .aging-feature--right {
     margin-top: clamp(40px, 6vw, 70px);
   }

   .aging-feature__image img {
     height: 260px;
   }

   .aging-feature__title {
     font-size: clamp(18px, 2.2vw, 24px);
   }

   .aging-feature__subtitle {
     font-size: clamp(15px, 1.7vw, 18px);
   }

   .aging-feature__text {
     font-size: clamp(10px, 1.2vw, 12px);
   }
 }

 /* 모바일 반응형 */
 @media (max-width: 768px) {
   .aging-features {
     padding: clamp(40px, 6vw, 80px) 0;
   }

   .aging-feature,
   .aging-feature--left,
   .aging-feature--right {
     margin-left: auto !important;
     margin-right: auto !important;
     margin-top: 0 !important;
     margin-bottom: clamp(50px, 8vw, 70px);
     max-width: none;
     max-width: 340px;
   }

   .aging-feature__content {
     padding: 0;
     margin-top: 0% !important;
   }

   .aging-feature__image img {
     height: 240px;
   }

   .aging-feature__title {
     font-size: 20px;
     margin-bottom: 12px;
   }

   .aging-feature__subtitle {
     font-size: 16px;
     margin-bottom: 10px;
   }

   .aging-feature__subtitle::after {
     margin-left: 8px;
   }

   .aging-feature__text {
     font-size: 12px;
   }

   .aging-feature__text br {
     display: none;
   }
 }

 /* 접근성 개선 */
 @media (prefers-reduced-motion: reduce) {
   .reveal-up {
     transform: none !important;
     opacity: 1 !important;
     transition: none !important;
   }

   .aging-feature__image img {
     transition: none !important;
   }

   .aging-feature__image:hover img {
     transform: none !important;
   }
 }

 /* 다크모드 지원 */
 @media (prefers-color-scheme: dark) {
   .aging-features {
     background: #1a1a1a;
   }

   .aging-feature__title {
     color: #999;
   }

   .aging-feature__subtitle {
     color: #fff;
   }

   .aging-feature__text {
     color: #ccc;
   }
 }

 /* Certificate 섹션 스타일 */
 .certificate-section {
   padding: 0px 0px 180px;
   overflow: hidden;
 }

 .certificate-section__inner {
   max-width: 1200px;
   margin: 0 auto;
   padding: 0 20px;
 }

 .certificate-header {
   text-align: left;
   margin-bottom: 80px;
 }

 .certificate-header__eyebrow {
   font-size: 14px;
   color: #666;
   font-weight: 500;
   letter-spacing: 2px;
   text-transform: uppercase;
   margin-bottom: 16px;
 }

 .certificate-header__title {
   font-size: 48px;
   font-weight: 700;
   color: #000;
   line-height: 1.2;
   margin-bottom: 24px;
 }

 .certificate-header__desc {
   font-size: 16px;
   color: #666;
   line-height: 1.8;
   max-width: 600px;
 }

 /* 아이콘 섹션 */
 .certificate-icons {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
   gap: 60px;
   margin: 0 -100vw 100px -100vw;
   padding: 100px calc(50vw - 50%);
   background: linear-gradient(135deg, #2c2c2c 0%, #1a1a1a 100%);
   width: 200vw;
   position: relative;
   left: 50%;
   transform: translateX(-50%);
 }

 .certificate-icon {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   color: white;
   transition: transform 0.3s ease, filter 0.3s ease;
   flex: 0 0 auto;
   min-width: 160px;
 }

 .certificate-icon:hover {
   transform: translateY(-10px);
   filter: brightness(1.2);
 }

 .certificate-icon__image {
   width: 150px;
   height: 150px;
   border-radius: 50%;
   background-color: #fff;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 30px;
   backdrop-filter: blur(10px);
   border: 1px solid rgba(255, 255, 255, 0.2);
   transition: all 0.3s ease;
 }

 .certificate-icon:hover .certificate-icon__image {
   background-color: #fff;
   transform: scale(1.1);
 }

 .certificate-icon__image img {
   width: 60px;
   height: 60px;

 }

 .certificate-icon__text {
   font-size: 20px;
   font-weight: 500;
   letter-spacing: 1px;
 }

 /* 특허 섹션 */
 .patent-section {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 80px;
   align-items: start;
   padding-top: 60px;
 }

 .patent-content {
   padding-right: 40px;
 }

 .patent-content__title {
   font-size: 64px;
   font-weight: 900;
   color: #000;
   line-height: 1.1;
   margin-bottom: 40px;
   letter-spacing: -2px;
 }

 .patent-content__desc {
   font-size: 16px;
   color: #333333;
   line-height: 1.8;
   margin-bottom: 12px;
   font-weight: 500;
 }

 .patent-content__highlight {
   font-weight: 600;
   color: #2c5aa0;
 }

 .patent-images {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 30px;
   align-items: start;
 }

 .patent-image {
   position: relative;
   aspect-ratio: 3/4;
   border-radius: 16px;
   overflow: hidden;
   box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
   transition: all 0.3s ease;
 }

 .patent-image:hover {
   transform: translateY(-10px);
   box-shadow: 0 30px 60px rgba(0, 0, 0, 0.2);
 }

 .patent-image img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform 0.3s ease;
 }

 .patent-image:hover img {
   transform: scale(1.05);
 }

 /* 스크롤 애니메이션 */
 .reveal-up {
   opacity: 0;
   transform: translateY(60px);
   transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
 }

 .reveal-up.is-inview {
   opacity: 1;
   transform: translateY(0);
 }

 .reveal-up[data-delay="100"] {
   transition-delay: 0.1s;
 }

 .reveal-up[data-delay="200"] {
   transition-delay: 0.2s;
 }

 .reveal-up[data-delay="300"] {
   transition-delay: 0.3s;
 }

 .reveal-up[data-delay="400"] {
   transition-delay: 0.4s;
 }

 /* 반응형 디자인 */
 @media (max-width: 1024px) {
   .certificate-section {
     padding: 80px 0;
   }

   .certificate-section__inner {
     padding: 0 30px;
   }

   .certificate-header__title {
     font-size: 40px;
   }

   .certificate-icons {
     margin: 0 -100vw 80px -100vw;
     padding: 80px calc(50vw - 50%);
     width: 200vw;
     gap: 40px;
   }

   .patent-section {
     gap: 60px;
   }

   .patent-content {
     padding-right: 20px;
   }

   .patent-content__title {
     font-size: 48px;
   }
 }

 @media (max-width: 768px) {
   .certificate-section {
     padding: 60px 0;
   }

   .certificate-header {
     margin-bottom: 60px;
   }

   .certificate-header__title {
     font-size: 32px;
   }

   .certificate-icons {
     margin: 0 -100vw 60px -100vw;
     padding: 40px calc(50vw - 50%);
     width: 200vw;
     flex-direction: column;
     gap: 40px;
   }

   .certificate-icon__image {
     width: 60px;
     height: 60px;
   }

   .certificate-icon__image img {
     width: 30px;
     height: 30px;
   }

   .patent-section {
     grid-template-columns: 1fr;
     gap: 50px;
   }

   .patent-content {
     padding-right: 0;
     text-align: center;
   }

   .patent-content__title {
     font-size: 36px;
   }

   .patent-images {
     grid-template-columns: 1fr;
     gap: 20px;
     max-width: 400px;
     margin: 0 auto;
   }
 }

 @media (max-width: 480px) {
   .certificate-section__inner {
     padding: 0 20px;
   }

   .certificate-header__title {
     font-size: 28px;
   }

   .certificate-icons {
     margin: 0 -100vw 60px -100vw;
     padding: 30px calc(50vw - 50%);
     width: 200vw;
     gap: 20px;
   }

   .certificate-icon {
     min-width: 100px;
   }

   .patent-content__title {
     font-size: 28px;
   }

   .patent-content__desc {
     font-size: 14px;
   }
 }

 /* 아이콘 그리드 모바일에서 2x3 레이아웃 */
 @media (max-width: 640px) {
   .certificate-icons {
     gap: 15px;
   }

   .certificate-icon {
     min-width: 80px;
   }

   .certificate-icon__image {
     width: 60px;
     height: 60px;
   }

   .certificate-icon__image img {
     width: 30px;
     height: 30px;
   }

   .certificate-icon__text {
     font-size: 12px;
   }
 }





 html,
 body {
   overflow-x: hidden;
 }




 /* ============ Overview Section ============ */
 .fm-overview {
   width: min(100%, 1180px);
   margin: 80px auto;
   text-align: center;
 }

 .ov-title {
   font-size: 28px;
   font-weight: 900;
   color: #27a5f2;
   margin-bottom: 40px;
   position: relative;
 }

 .ov-title::after {
   content: "";
   display: block;
   width: 60px;
   height: 2px;
   background: #d9d9d9;
   margin: 10px auto 0;
 }

 /* 좌우 텍스트 */
 .ov-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 20px;
   margin-bottom: 40px;
   align-items: center;
 }

 .ov-left {
   text-align: left;
 }

 .ov-label {
   font-size: 14px;
   /* letter-spacing: 1.5px; */
   font-weight: 600;
   color: #383838;
 }

 .ov-main {
   font-size: 28px;
   font-weight: 900;
   margin-top: 10px;
   line-height: 1.4;
 }

 .ov-blue {
   color: #27a5f2;
 }

 .ov-right {
   text-align: right;
   font-size: 14px;
   line-height: 1.6;
   color: #000;
   font-weight: 800;
 }

 /* 영상 */
 .ov-video {
   width: 100%;
 }

 .video-wrap {
   position: relative;
   width: 100%;
   padding-bottom: 56.25%;
   /* 16:9 비율 */
   height: 0;
   overflow: hidden;
   border-radius: 10px;
 }

 .video-wrap iframe {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
 }

 /* ============ 반응형 ============ */
 @media (max-width: 900px) {
   .ov-grid {
     grid-template-columns: 1fr;
     text-align: center;
   }

   .ov-left,
   .ov-right {
     text-align: center;
   }

   .ov-main {
     font-size: 22px;
   }
 }


 /* ========== CEO 전체 이미지 풀블리드 ========== */
 .ceo-fullimg {
   width: 100dvw;
   margin-left: calc(50% - 50dvw);
   margin-right: calc(50% - 50dvw);
   line-height: 0;
   background: #fff;
 }

 @supports not (width: 100dvw) {
   .ceo-fullimg {
     width: 100vw;
     margin-left: calc(50% - 50vw);
     margin-right: calc(50% - 50vw);
   }
 }

 .ceo-fullimg__wrap img {
   width: 100%;
   height: auto;
   /* 이미지 세로비율 유지 */
   display: block;
 }


 .ceo-mv-section {
   width: min(100%, 1280px);
   margin: 120px auto;
   padding: 0 20px;
 }

 .mv-row {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 120px;
   gap: 80px;
 }

 /* 이미지 */
 .mv-img img {
   width: 100%;
   height: auto;
   display: block;
 }

 /* 텍스트 */
 .mv-label {
   color: #27a5f2;
   font-weight: 900;
   font-size: 20px;
   margin-bottom: 10px;
   position: relative;
 }

 .mv-label::after {
   content: "";
   width: 50px;
   height: 2px;
   background: #d9d9d9;
   display: block;
   margin-top: 8px;
 }

 .mv-title {
   font-size: 32px;
   font-weight: 800;
   margin: 10px 0 20px;
   line-height: 1.4;
 }

 .mv-title span {
   color: #27a5f2;
 }

 .mv-desc {
   font-size: 15px;
   color: #444;
   line-height: 1.7;
 }

 /* ===== 반응형 ===== */
 @media (max-width: 900px) {
   .mv-row {
     flex-direction: column;
     text-align: center;
   }

   .mv-desc {
     text-align: center;
   }

   .mv-label::after {
     margin-left: auto;
     margin-right: auto;
   }

   .mv-title {
     font-size: 26px;
   }
 }

 /* ===== 스크롤 시 스르륵 효과 ===== */
 .fade-up {
   opacity: 0;
   transform: translateY(40px);
   transition: all .8s ease;
 }

 .fade-up.on {
   opacity: 1;
   transform: translateY(0);
 }








 /* ===== 풀배경 섹션 ===== */
 .fmg-ceo-intro {
   width: 100dvw;
   margin-left: calc(50% - 50dvw);
   margin-right: calc(50% - 50dvw);
   background: #fbf2dd;
   /* 시안 비슷한 아이보리색 */
 }

 @supports not (width: 100dvw) {
   .fmg-ceo-intro {
     width: 100vw;
     margin-left: calc(50% - 50vw);
     margin-right: calc(50% - 50vw);
   }
 }

 .fmg-ceo-inner {
   width: min(1180px, 100%);
   margin: 0 auto;
   padding: 80px 20px 100px;
   text-align: center;
   font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
   color: #111;
 }

 /* 로고 */
 .fmg-logo img {
   max-width: 260px;
   width: 40%;
   min-width: 200px;
   height: auto;
   display: block;
   margin: 0 auto 40px;
 }

 /* 텍스트 */
 .fmg-text p {
   font-size: 15px;
   line-height: 1.7;
   margin: 6px 0;
 }

 .fmg-bold {
   font-weight: 700;
   margin-bottom: 18px;
 }

 .fmg-highlight {
   color: #1f86ff;
   font-weight: 800;
 }

 .fmg-ceo {
   margin-top: 32px;
   font-size: 16px;
 }

 .fmg-ceo-label {
   color: #1f86ff;
   font-weight: 600;
   margin-right: 4px;
 }

 /* ===== 반응형 ===== */
 @media (max-width: 768px) {
   .fmg-ceo-inner {
     padding: 60px 16px 70px;
   }

   .fmg-text p {
     font-size: 14px;
   }

   .fmg-ceo {
     font-size: 15px;
   }
 }