   @import url('https://hangeul.pstatic.net/hangeul_static/css/nanum-square-neo.css');

   body {
       font-family: 'NanumSquareNeo', sans-serif;
       font-weight: 400;
   }

   /* 공통  */
   .visual-box.aos-init {
       opacity: 0;
       transform: translateY(80px);
   }

   .visual-box.aos-animate {
       opacity: 1;
       transform: translateY(0);
       transition: all .8s ease;
   }

   img {
       max-width: 100%;
       height: auto;
       display: block;
       margin: 0 auto;
   }

   .w1200 {
       max-width: 1200px;
       margin: 0 auto;
   }

   .bold {
       font-weight: 800;
        font-size: inherit;
   }

   .header-box {
       text-align: center;
   }

   .point-title {
       font-size: clamp(14px, 2.5vw, 30px);
       font-weight: 800;
       margin-bottom: 15px;
   }

   .num {
       padding: 6px 40px;
       border-radius: 30px;
       background-color: #630c17;
       color: #fff;
       font-size: clamp(20px, 2.5vw, 35px);
   }

   .sub-title {
       font-size: clamp(14px, 2.5vw, 30px);
       font-weight: 800;
       color: #630c17;
       margin: 30px;
   }

   .main-title {
       font-size: clamp(16px, 2.5vw, 55px);
       font-weight: 400;
   }

   .description {
       font-size: clamp(22px, 2.5vw, 55px);
       margin-bottom: 40px;
   }

   img {
       margin: 0 auto;
   }

   .red {
       color: #f51633;
   }

   /* 약관 팝업 */
   .popup-overlay {
       position: fixed;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;

       background: rgba(0, 0, 0, 0.5);
       display: flex;
       justify-content: center;
       align-items: center;
       z-index: 99999;
   }

   .popup-content {
       background: #fff;
       padding: 30px;
       width: 90%;
       max-width: 600px;
       max-height: 80vh;
       border-radius: 8px;
       display: flex;
       flex-direction: column;
       overflow: hidden;
   }


   .popup-body {
       padding: 20px;
       overflow-y: auto;
       font-size: 14px;
       line-height: 2;
   }

   .popup-footer {
       padding: 30px 0 0;
       display: flex;
       gap: 10px;
       justify-content: flex-end;
   }

   .popup-overlay .close-btn,
   .popup-overlay .confirm-btn {
       background-color: #f1f1f1;
       padding: 10px 20px;
       border-radius: 4px;
   }

   /* 플로팅메뉴 */
   .floating-menu {
       position: fixed;
       right: 30px;
       bottom: 50%;
       width: 100px;
       background-color: #1a1a1a;
       border-radius: 50px;
       padding: 15px 10px;
       display: flex;
       flex-direction: column;
       align-items: center;
       box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
       z-index: 9999;
       color: #ffffff;
       text-align: center;
   }

   @media (max-width: 768px) {
       .floating-menu {
           display: none !important;
       }
   }

   .floating-menu .menu-item {
       background: none;
       border: none;
       color: #ffffff;
       cursor: pointer;
       text-decoration: none;
       font-size: 11px;
       line-height: 1.3;
       padding: 8px 0;
       display: flex;
       flex-direction: column;
       align-items: center;
       width: 100%;
       transition: opacity 0.2s ease;
   }

   .floating-menu .menu-item:hover {
       opacity: 0.7;
   }

   .floating-menu .icon {
       font-size: 16px;
       margin-bottom: 4px;
   }

   .floating-menu .divider {
       width: 50%;
       height: 1px;
       background-color: #444444;
       margin: 4px 0;
   }

   .floating-menu .top-btn {
       font-weight: bold;
       font-size: 13px;
       letter-spacing: 0.5px;
       white-space: nowrap;
   }


   /* consulting-container */
   .consulting-container {
       position: fixed;
       left: 0;
       top: 0;
       width: 100%;
       z-index: 9999;
   }

   .cta__box {
       max-width: 350px;
       margin: 0 auto;
       padding: 20px 60px;
       border-radius: 0 0 40px 40px;
       background-color: #630c17;
       color: white;
        box-sizing: content-box;
   }

   .cta__box .cta__box-inner {
       display: flex;
       align-items: center;
       justify-content: center;
       flex-wrap: nowrap;
       text-align: center;
        box-sizing: content-box;
   }

   .cta__box .cta__box-inner .toggle__btn {
       font-size: 20px;
       margin-right: 20px;
       white-space: nowrap;
       cursor: pointer;

    /* 아래 추가 — 공통 버튼 스타일 무력화 */
        border: none;
        outline: none;
        background-color: transparent;
        color: inherit;
        text-align: left;
        font-weight: normal;
        letter-spacing: normal;
        padding: 0;
        margin: 0;
        box-sizing: content-box;
   }

   .cta__box-open {
       width: 100%;
       color: white;
   }

   .cta__box-open .cta__form {
       background-color: #630c17;
       padding: 20px;
       display: flex;
       flex-direction: column;
       gap: 15px;
       align-items: center;

   }

   .form__row-top,
   .form__row-bottom {
       display: flex;
       flex-wrap: wrap;
       gap: 10px;
       align-items: center;
       justify-content: center;
       width: 100%;
       max-width: 900px;
   }

   .input-field {
       color: #000;
       padding: 10px;
       border-radius: 4px;
       border: none;
       flex: 1 1 200px;
   }

   .gender-group {
       color: white;
       border-radius: 4px;
       display: flex;
       gap: 10px;
       white-space: nowrap;
   }

   .flex__left {
       flex: 6;
       display: flex;
       align-items: center;
       gap: 10px;
   }

   .phone {
       flex: 2 1 400px;
   }

   .submit__btn {
       background-color: #200e11;
       color: white;
       padding: 15px 30px;
       cursor: pointer;
       flex: 1 1 200px;
       font-weight: bold;
   }

   .cta__box-open .close-btn {
       display: block;
       margin: 0 auto;
       font-size: 20px;
       padding: 15px 40px;
       background-color: #630c17;
       border-radius: 0 0 18px 18px;
   }

   @media (max-width: 768px) {

       .cta__box-open .cta__form {
           padding: 20px 16px;
           gap: 14px;
       }

       .form__row-top {
           display: flex;
           flex-direction: column;
           align-items: stretch;
           gap: 14px;
           width: 100%;
           max-width: 100%;
       }

       .flex__left {
           display: flex;
           flex-direction: column;
           gap: 12px;
           width: 100%;
       }

       .input-field,
       .phone,
       .submit__btn {
           width: 100%;
           height: 50px;
           flex: none;
           box-sizing: border-box;
       }

       .gender-group {
           width: 100%;
           display: flex;
           gap: 10px;
       }

       .gender-group label {
           flex: 1;
           height: 48px;
           border: 1px solid #fff;
           border-radius: 6px;
           display: flex;
           justify-content: center;
           align-items: center;
           cursor: pointer;
           color: #fff;
           font-size: 15px;
           font-weight: 600;
       }

       .gender-group input[type="radio"] {
           display: none;
       }

       .gender-group label:has(input:checked) {
           background: #fff;
           color: #630c17;
       }

       .form__row-bottom {
           display: flex;
           flex-direction: column;
           gap: 12px;
           width: 100%;
       }

       .submit__btn {
           padding: 0;
           font-size: 16px;
           font-weight: 700;
       }

       .checkbox-group {
           order: 99;
           width: 100%;
           font-size: 13px;
           line-height: 1.5;
           margin-top: 4px;
       }

       .checkbox-group label {
           display: inline;
       }

       .cta__box-open .close-btn {
           width: 100%;
           height: 46px;
           padding: 0;
           border-radius: 0;
           font-size: 15px;
       }

       .gender-group {
           width: 100%;
           display: flex;
           gap: 12px;
       }

       .gender-group label {
           flex: 1;
           height: 48px;
           border: 2px solid #e6d8ca;
           border-radius: 4px;
           background: #fff;
           color: #6b5a52;
           font-size: 18px;
           font-weight: 700;
           display: flex;
           justify-content: center;
           align-items: center;
           cursor: pointer;
           transition: .25s;
       }

       .gender-group input[type="radio"] {
           display: none;
       }

       .gender-group label:has(input:checked) {
           background: #7b1f39;
           border-color: #7b1f39;
           color: #fff;
       }

       .gender-group label:active {
           transform: scale(.98);
       }

       .flex__left {
           font-size: 0;
       }

       .flex__left>* {
           font-size: initial;
       }
   }

   /* interview-section */
   .interview-section {
       text-align: center;
   }

   /*.interview-section .video-container {
       width: 100%;
       max-width: 1200px;
       position: relative;
       padding-bottom: 56.25%;
       height: 0;
       margin: 0 auto 30px;
       overflow: hidden;
   }

   .interview-section .video-placeholder {
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
   }

   .interview-section .video-placeholder iframe {
       width: 100%;
       height: 100%;
       display: block;
       border: 0;
   }*/

   @media (max-width: 768px) {
       .interview-section .video-container {
           margin-bottom: 20px;
       }
   }

   .interview-section .card-flex {
       display: flex;
       justify-content: space-between;
       margin-bottom: 120px;
   }


   .card.aos-init {
       opacity: 0;
       transform: translateY(50px);
       transition: opacity 0.8s ease, transform 0.8s ease;
   }

   .card.aos-animate {
       opacity: 1;
       transform: translateY(0);
   }

   @media (max-width: 768px) {
       .interview-section .card-flex {
           display: flex;
           flex-direction: column;
           gap: 20px;
           justify-content: space-between;
           margin-bottom: 120px;
       }

       .interview-section .card-flex .card {
           width: 80%;
           margin: 0 auto;
       }
   }

   /* content-section */
   .content-section {
       position: relative;
       text-align: center;
       padding-bottom: 130px;
   }

   .content-section .header-box {
       position: absolute;
       top: 0;
       left: 50%;
       transform: translateX(-50%);
       z-index: 999;
       width: 100%;

   }

   .content-section .header-box .main-title {
       font-weight: 400;
       white-space: nowrap;
   }

   @media (max-width: 768px) {
       .content-section {
           padding-bottom: 50px;
       }
   }

   /* point-section */
   .point-section .point01 {
       /*padding-top: 170px;*/
   }

   .point-section .point01 .oil-info {
       display: flex;
       justify-content: center;
       align-items: center;
       gap: 40px;
       margin-bottom: 200px;
   }

   .point-section .point01 .oil-info img {
       padding-right: 40px;
       border-right: 3px solid #333;
   }

   .point-section .point01 .oil-desc {
       text-align: left;
       font-size: clamp(12px, 2.5vw, 30px);
       font-weight: 800;
   }

   @media (max-width: 768px) {
       .point-section .point01 {
           padding-top: 50px;
       }

       .point-section .point01 .oil-info {
           flex-direction: column;
           gap: 30px;
           margin-bottom: 80px;
           text-align: center;
       }

       .point-section .point01 .oil-info img {
           width: 40%;
           max-width: 400px;
           height: auto;
           padding-right: 0;
           border: none;
       }

       .point-section .point01 .oil-desc {
           line-height: 1.6;
           text-align: center;
       }
   }

   .point-section .point02 {
       background-color: #f6f3e9;

   }

   .point-section .point02 .header-box {
       padding-top: 170px;
       background-color: #f6f3e9;
   }

   .point-section .point02 .visual-box {
       background-color: #f6f3e9;
   }

   @media (max-width: 768px) {
       .point-section .point02 .header-box {
           padding-top: 50px;
           background-color: #f6f3e9;
       }
   }

   .point-section .point03 {
       padding-top: 140px;
   }

   @media (max-width: 768px) {
       .point-section .point03 {
           padding-top: 50px;
       }
   }

   .point-section .point04 {
       padding-top: 140px;
   }

   @media (max-width: 768px) {
       .point-section .point04 {
           padding-top: 50px;
       }
   }

   .point-section .point05 {
       background-color: #f3f3f3;
       padding-top: 120px;
   }

   @media (max-width: 768px) {
       .point-section .point05 {
           padding-top: 50px;
       }
   }

   .point-section .point06 {

       background-color: #6d1621;
   }

   .point-section .point06 .header-box {
       color: #fff;
       background-color: #6d1621;
       padding-top: 120px;
   }

   .point-section .point06 .num {
       background-color: #26080f;

   }

   .point-section .point06 .sub-title {
       color: #fff;
   }

   .point-section .point06 .visual-box {
       background-color: #6d1621;
   }

   @media (max-width: 768px) {
       .point-section .point06 .header-box {
           padding-top: 50px;
       }
   }

   .haccp-box img {
       margin: 0 auto;

   }

   .point-section .point07 {
       position: relative;
   }

   .point-section .point07 .header-box {
       position: absolute;
       top: 30px;
       left: 50%;
       transform: translateX(-50%);
       z-index: 999;
       width: 100%;
   }

   @media (max-width: 768px) {
       .point-section .point07 {
           padding-top: 50px;
       }
   }

   /* banner-section */
   .banner-section {
       background-color: #fcf9f4;
       padding: 150px 0;
   }

   .banner-section .header-box {
       padding-bottom: 70px;
   }

   .swiper-wrapper {
       height: auto;
   }

   .review-wrap {
       position: relative;
       width: 1200px;
       margin: 0 auto;
   }

   .reviewSwiper {
       overflow: hidden;
   }

   .card-header {
       background-color: #4a4544;
       color: #fff;
       padding: 15px 20px;
       font-size: 14px;
   }

   .swiper-button-next,
   .swiper-button-prev {
       color: #fff;
       font-weight: bold;
   }

   .swiper-button-prev {
       left: -80px;
   }

   .swiper-button-next {
       right: -80px;
   }

   @media (max-width:1200px) {

       .banner-section {
           padding: 100px 0;
       }

       .banner-section .header-box {
           padding-bottom: 50px;
       }

       .review-wrap {
           width: 90%;
       }

       .swiper-button-prev,
       .swiper-button-next {
           display: none;
       }
   }

   @media (max-width:768px) {

       .banner-section {
           padding: 60px 0;
       }

       .banner-section .header-box {
           padding-bottom: 30px;
       }

       .review-wrap {
           width: 95%;
       }

       .card-header {
           padding: 12px;
           font-size: 12px;
       }


   }

   @media (max-width:480px) {

       .banner-section {
           padding: 40px 0;
       }

       .review-wrap {
           width: 100%;
           padding: 0 15px;
           box-sizing: border-box;
       }

       .card-header {
           font-size: 11px;
           padding: 10px;
       }

   }

   :root {
       --maroon-900: #5c1526;
       --maroon-800: #6f1b2f;
       --maroon-700: #7f2038;
       --maroon-600: #8f2540;
       --gold: #c9a35b;
       --cream: #faf6f1;
       --ink: #2b2320;
       --ink-soft: #6b5f5a;
       --line: #e7ded3;
       --danger: #d64550;
       --radius: 20px;
   }

   .stage {
       position: relative;
       overflow: hidden;
       background:
           radial-gradient(1200px 800px at 85% 10%, #ffffff 0%, #f3ede4 45%, var(--cream) 75%);
   }

   .stage .wrap{
       max-width: 100%;
   }

   .beams {
       position: absolute;
       inset: 0;
       background:
           linear-gradient(100deg, transparent 0%, transparent 12%, rgba(255, 255, 255, .55) 14%, rgba(255, 255, 255, .55) 18%, transparent 20%),
           linear-gradient(100deg, transparent 45%, rgba(255, 255, 255, .4) 47%, rgba(255, 255, 255, .4) 52%, transparent 54%),
           linear-gradient(100deg, transparent 78%, rgba(255, 255, 255, .5) 80%, rgba(255, 255, 255, .5) 85%, transparent 88%);
       pointer-events: none;
   }

   .wrap {
       position: relative;
       max-width: 1080px;
       margin: 0 auto;
       padding: 56px 24px 80px;
   }

   /* hero */
   .hero {
       display: grid;
       grid-template-columns: 420px 1fr;
       align-items: center;
       gap: 24px;
       margin-bottom: 40px;
   }

   .hero-photo {
       position: relative;
       display: flex;
       align-items: flex-end;
       justify-content: center;
       height: 460px;
   }

   .hero-photo img {
       max-height: 460px;
       width: auto;
       object-fit: contain;
       filter: drop-shadow(0 30px 40px rgba(92, 21, 38, .18));
   }

   .hero-copy {
       padding-left: 8px;
   }

   .eyebrow {
       font-family: 'Noto Serif KR', serif;
       font-size: clamp(22px, 2.6vw, 30px);
       font-weight: 500;
       color: var(--ink);
       margin: 0 0 6px;
   }

   .headline {
       font-family: 'Noto Serif KR', serif;
       font-size: clamp(28px, 3.6vw, 40px);
       font-weight: 900;
       color: var(--maroon-800);
       margin: 0 0 24px;
       line-height: 1.25;
   }

   .promo {
       font-size: clamp(18px, 2vw, 22px);
       color: var(--ink);
       margin: 0 0 2px;
       font-weight: 500;
   }

   .promo strong {
       display: block;
       font-family: 'Noto Serif KR', serif;
       font-size: clamp(24px, 3vw, 32px);
       font-weight: 900;
       color: var(--maroon-700);
       margin-top: 4px;
   }

   .phone-pill {
       display: inline-flex;
       align-items: center;
       gap: 12px;
       margin-top: 28px;
       padding: 16px 30px;
       border-radius: 999px;
       border: 2px solid var(--maroon-700);
       background: #fff;
       font-size: clamp(20px, 2.6vw, 28px);
       font-weight: 900;
       color: var(--maroon-800);
       letter-spacing: .5px;
   }

   .phone-pill svg {
       flex: none;
   }

   /* form */
   form .stage .card {
       position: relative;
       background: #fff;
       border-radius: 28px;
       box-shadow: 0 30px 60px -20px rgba(92, 21, 38, .18), 0 2px 8px rgba(0, 0, 0, .04);
       padding: 44px 48px 40px;
   }

   .field-row {
       display: grid;
       grid-template-columns: 1fr 1fr;
       gap: 20px 28px;
       margin-bottom: 20px;
   }

   .field label {
       display: block;
       font-size: 15px;
       font-weight: 700;
       color: var(--ink);
       margin-bottom: 10px;
   }

   .field label .req {
       color: var(--danger);
       margin-left: 2px;
   }

   .input,
   .select-btn,
   textarea {
       width: 100%;
       border: 1.5px solid var(--line);
       border-radius: var(--radius);
       background: #fff;
       font-family: inherit;
       font-size: 15px;
       color: var(--ink);
       padding: 14px 16px;
       box-sizing: border-box;
       transition: border-color .15s ease, box-shadow .15s ease;
   }

   .input:focus,
   textarea:focus {
       outline: none;
       border-color: var(--maroon-600);
       box-shadow: 0 0 0 3px rgba(143, 37, 64, .12);
   }

   .tel-group {
       display: flex;
       gap: 2px;
   }

   .gender-group {
       display: grid;
       grid-template-columns: 1fr 1fr;
       gap: 10px;
   }

   .gender-btn {
       border: 1.5px solid var(--line);
       background: #fff;
       border-radius: var(--radius);
       padding: 14px 16px;
       font-size: 15px;
       font-weight: 700;
       color: var(--ink-soft);
       cursor: pointer;
       transition: all .15s ease;
   }

   .gender-btn.active {
       background: var(--maroon-700);
       border-color: var(--maroon-700);
       color: #fff;
   }

   .field.full {
       margin-bottom: 18px;
   }

   textarea {
       resize: vertical;
       min-height: 130px;
       line-height: 1.6;
   }

   .consent {
       display: flex;
       align-items: flex-start;
       gap: 8px;
       font-size: 13px;
       color: var(--ink-soft);
       margin-bottom: 26px;
       flex-wrap: wrap;
   }

   .consent input {
       margin-top: 2px;
       accent-color: var(--maroon-700);
       flex: none;
   }

   .consent a {
       color: var(--maroon-700);
       font-weight: 700;
       text-decoration: none;
   }

   .consent .note {
       display: block;
       width: 100%;
       margin-top: 4px;
       font-size: 12px;
       color: #9a9089;
   }

   .submit-btn {
       width: 100%;
       border: none;
       border-radius: var(--radius);
       background: linear-gradient(135deg, var(--maroon-700), var(--maroon-900));
       color: #fff;
       font-size: 19px;
       font-weight: 900;
       padding: 18px;
       cursor: pointer;
       letter-spacing: .5px;
       box-shadow: 0 14px 30px -10px rgba(92, 21, 38, .5);
       transition: transform .12s ease, box-shadow .12s ease;
   }

   .submit-btn:hover {
       transform: translateY(-1px);
       box-shadow: 0 18px 34px -8px rgba(92, 21, 38, .55);
   }

   .submit-btn:active {
       transform: translateY(0);
   }

   .toast {
       position: fixed;
       left: 50%;
       bottom: 32px;
       transform: translateX(-50%) translateY(20px);
       background: var(--ink);
       color: #fff;
       padding: 14px 22px;
       border-radius: 999px;
       font-size: 14px;
       font-weight: 700;
       opacity: 0;
       pointer-events: none;
       transition: opacity .25s ease, transform .25s ease;
       z-index: 50;
       white-space: nowrap;
   }

   .toast.show {
       opacity: 1;
       transform: translateX(-50%) translateY(0);
   }

   .error-msg {
       font-size: 12px;
       color: var(--danger);
       margin-top: 6px;
       display: none;
   }

   .field.has-error .input,
   .field.has-error textarea {
       border-color: var(--danger);
   }

   .field.has-error .error-msg {
       display: block;
   }

   @media (max-width:760px) {
       .wrap {
           padding: 0 0 48px;
       }

       .hero {
           grid-template-columns: 1fr;
           gap: 0;
           margin-bottom: 0;
           padding: 32px 20px 8px;
           text-align: center;
       }

       .hero-photo {
           height: 260px;
           order: 1;
       }

       .hero-photo img {
           max-height: 260px;
       }

       .hero-copy {
           order: 2;
           padding-left: 0;
       }

       .eyebrow {
           font-size: 19px;
       }

       .headline {
           font-size: 23px;
           margin-bottom: 18px;
       }

       .promo {
           font-size: 16px;
       }

       .promo strong {
           font-size: 20px;
       }

       .phone-pill {
           display: flex;
           justify-content: center;
           width: 100%;
           margin-top: 20px;
           padding: 14px 18px;
           font-size: 19px;
       }

       .stage .card {
           border-radius: 24px 24px 0 0;
           margin-top: -30px;
           padding: 28px 20px 32px;
           box-shadow: 0 -10px 30px rgba(92, 21, 38, .1);
       }

       .stage .wrap{
            padding: 0px;
        }

       .sub-title{
            margin: 16px 0 10px;
        }

       .field-row {
           grid-template-columns: 1fr;
           gap: 16px;
           margin-bottom: 16px;
       }

       .tel-group {
           gap: 8px;
       }

       .input,
       .select-btn,
       textarea,
       .gender-btn {
           font-size: 16px;
           padding: 13px 14px;
       }

       .consent {
           font-size: 12.5px;
       }

       .submit-btn {
           font-size: 17px;
           padding: 16px;
       }
   }

   @media (max-width:400px) {
       .tel-group {
           grid-template-columns: 1fr 1fr 1fr;
           gap: 6px;
       }
   }
   
   

   .content-section .header-box{
    	margin-top:130px;    
    }

   .interview-section .video-container {
        width: 100%;
        max-width: 1200px;
        margin: 0 auto 30px;
        overflow: hidden;
    }
    
   .video-container .video-player {
        width: 1200px;
        max-width: 100%;
        height: 675px;
        border: 0;
        display: block;
        transform: scale(1.003);
        transform-origin: left center;
    }

    @media (max-width:1280px) {
    	 .video-container .video-player {
            width: 100%;
            height: auto;
            aspect-ratio: 16 / 9;
        }
    }