@font-face {
    font-family: 'InkLiquid';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_one@1.0/InkLipquid.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

/* ==============================
    메인비주얼
============================== */

/* 메인비주얼 높이 */
#dn_main-visual {
  width: 100%;
  position: relative;
  overflow: hidden;
  background-color: #999;
  margin-top: 99px;
}

#dn_m-main-youtube {
  display: none;
}
#dn_main-visual .dn_mainSwiper,
#dn_main-visual .swiper-wrapper,
#dn_main-visual .swiper-slide {
  width: 100%;
}

#dn_main-visual .swiper-slide .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.video_banner .main_video,
.dn_mainSwiper .pc_visual img {
  aspect-ratio: 1920 / 800;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.video_banner {
  overflow: hidden;
  position: relative;
}
.video_banner .main_video {
  transform: scale(1.22);
  pointer-events: none;
}
.video_banner .video_cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  z-index: 2;
  pointer-events: none;
  transition: opacity 0.6s;
  /* opacity: 0; */
}
.video_banner .video_cover.hidden {
  opacity: 0;
}
.video_banner .hero-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  text-align: center;
  color: white;
}
.video_banner .hero-content p {
  font-size: 40px;
  font-weight: 400;
  font-family: "Museum";
  margin-bottom: 20px;
}
.video_banner .hero-content img {
  max-width: 620px;
  width: calc(100% - 80px);
  margin: 0 auto;
}

/* 화살표 흰색 */
.dn_mainSwiper .swiper-button-next,
.dn_mainSwiper .swiper-button-prev {
  color: #fff;
}
.dn_mainSwiper .mo_visual {
  display: none;
}

@media (max-width: 1100px) {
  #dn_main-visual {
    margin-top: 59px;
  }
}

@media (max-width: 768px) {
  .dn_mainSwiper .pc_visual {
    display: none;
  }
  .dn_mainSwiper .mo_visual {
    display: block;
  }
  .video_banner .main_video,
  .dn_mainSwiper .mo_visual img {
    aspect-ratio: 768 / 900;
  }
  .video_banner .main_video {
    transform: scale(2.1);
  }
}

/* ==============================
    시세표
============================== */
.section--price .inner {
    padding: clamp(80px, 10.4vw, 120px) clamp(20px, 6.25vw, 120px) 0;
}
.title_box {
  margin: 0 atuo;
  text-align: center;
}
.section--price .sec-title {
  width: fit-content;
  margin: 0 auto;
  position: relative;
}
.section--price .sec-title::after {
  content: '사장님!';
  position: absolute;
  top: -3.5vw;
  left: -5.5vw;
  font-family: 'InkLiquid';
  color: var(--color-primary);
  
  opacity: 0;
  transform: rotate(-15deg) scale(0);
}

.section--price .sec-title.aos-animate::after {
  animation: popText 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
  animation-delay: 0.3s; 
}

@keyframes popText {
  0% {
    opacity: 0;
    transform: rotate(-15deg) scale(0);
  }
  100% {
    opacity: 1;
    transform: rotate(-15deg) scale(1);
  }
}

@media (max-width: 768px) {
  .section--price .sec-title::after {
    top: -5vw;
    left: -6vw;
  }
}
@media (max-width: 480px) {
  .section--price .sec-title::after {
    top: -8vw;
    left: -7vw;
  }
}
@media (max-width: 347px) {
  .section--price .sec-title::after {
    top: -10vw;
    left: 8vw;
  }
}
/* ==============================
    인트로
============================== */
.section--brand-intro {
    position: relative;
    width: 100%;
    min-height: 100vh;
    background-color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 150px 20px;
    overflow: hidden;
}

.brand-intro__inner {
    max-width: 1200px;
    width: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 텍스트 영역 */
.brand-intro__text-wrap {
    position: relative;
    z-index: 10;
    width: 100%; 
}

.brand-intro__text {
    font-size: clamp(35px, 3vw, 68px); 
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap; 
}

.brand-intro__text .word {
    display: inline-block;
    color: #E2E2E2;
    transition: color 0.1s;
}

.brand-intro__circle {
    position: absolute;
    z-index: 5;
    opacity: 0;
    transform: scale(0);
}

.brand-intro__circle img {
    display: block;
    width: 100%;
    height: auto;
}


.circle-1 {
    top: 35vh;
    left: 5vw;
}

.circle-2 {
    top: 10vh;
    right: 8vw;
}

.circle-3 {
    bottom: 6vh;
    right: 28vw;
}

/* ==============================
    인트로 반응형
============================== */
@media (max-width: 1200px) {
    .brand-intro__circle { max-width: 220px; }
    .circle-1 {
      top: 8vh;
      left: 8vw;
    }
    .circle-3 { right: 30vw; bottom: 8vh;}
}

@media (max-width: 768px) {
    .brand-intro__text {
        font-size: clamp(20px, 5vw, 30px);
        line-height: 1.7;
    }
    .circle-1 {
        top: 17vh;
        left: 8vw;
    }

    .circle-2 {
        top: 5vh;
        right: 8vw;
    }

    .circle-3 {
        bottom: 10vh;
        right: 28vw;
    }
}

@media (max-width: 480px) {
    .brand-intro__text {
        font-size: clamp(18px, 5vw, 24px);
    }
    .circle-1 {
        top: 20vh;
        left: 8vw;
        width: 25vw;
    }

    .circle-2 {
        top: 5vh;
        right: 8vw;
        width: 40vw;
    }

    .circle-3 {
        bottom: 10vh;
        right: 28vw;
        width: 40vw;
    }
}


/* ==============================
    외식업부터 기업 급식까지
============================== */
.dn_page-content section.section--business-scope {
    background-color: var(--color-white);
    overflow: unset;
    clip-path: inset(0);
}

.business-scope__inner {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    padding: 0 clamp(20px, 6.25vw, 120px) clamp(80px, 10.4vw, 200px);
}

.business-scope__left {
    flex: 0 0 50%;
    position: sticky;
    top: 140px;
}

.scope-title {
    color: var(--color-primary-dark);
}

.scope-sub {
    margin-bottom: 40px;
}

.scope-building {
    position: relative;
    height: 500px; 
}

.scope-building img {
    width: clamp(500px, 72vw, 1366px);
    height: auto;
    position: absolute;
    left: -20vw;
    max-width: 150vw; 
}

.business-scope__right {
    margin-top: clamp(100px, 12vw, 200px);
    flex: 1;
}

.scope-grid {
    display: flex;
    gap: 24px;
}

.scope-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 100px;
}

.scope-col--right {
    margin-top: 25%; 
}

.scope-card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.scope-card img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    display: block;
}

.scope-card::after {
    content: "";
    position: absolute;
    bottom: 0; left: 0;
    width: 100%; height: 50%;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    pointer-events: none;
}

.card-label {
    position: absolute;
    bottom: 24px;
    left: 24px;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    z-index: 2;
}

/* ==============================
    스틱키 섹션 반응형
============================== */
@media (max-width: 1024px) {
    .dn_page-content section.section--business-scope {
      overflow: hidden;
    }
    .business-scope__inner {
        flex-direction: column;
        gap: 60px;
        padding: 0;
    }

    .business-scope__left {
        width: 100%;
        position: relative;
        top: auto;
    }

    .scope-title ,
    .scope-sub {
        text-align: center;
    }

    .scope-building {
        height: auto;
    }

    .scope-building img {
        position: relative; 
        left: 0; 
        
        width: 100%; 
        max-width: 600px; 
        margin: 0 auto; 
    }
    
    .scope-grid {
        padding: 0 clamp(0px, 12vw, 200px) clamp(0px, 12vw, 200px);
    }
    .business-scope__right {
        width: 100%;
        margin-top: 0;
    }
}

@media (max-width: 768px) {
    .section--business-scope {
        padding: 0 20px 80px;
    }

    .scope-title {
        font-size: 32px;
        margin-bottom: 16px;
    }

    .scope-sub {
        font-size: 15px;
    }

    .scope-grid {
        gap: 16px;
        padding: 0;
    }

    .scope-col {
        gap: 16px;
    }
    .scope-building img {
        width: calc(100% + 80px);
        margin-left: -40px;
        max-width: none;
    }
    .scope-col--right {
        margin-top: 40px;
    }

    .card-label {
        font-size: 18px;
        bottom: 16px;
        left: 16px;
    }
    
    .scope-card img {
        aspect-ratio: 4 / 5;
    }
}


/* ==============================
    인삿말 섹션
============================== */
.section--greeting {
    position: relative;
    background-color: var(--color-white);
    overflow: hidden;
}

.greeting__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.greeting__content {
    flex: 0 0 50%;
    position: relative;
    z-index: 2;
    filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.8));
}

.greeting__logo {
    margin-bottom: 24px;
}

.greeting__logo img {
    height: clamp(32px, 7vw, 50px);
    width: auto;
}

.greeting__content .sec-title {
    margin-bottom: 24px;
    white-space: nowrap;
}

.greeting__content .sec-desc {
    color: #333;
    margin-bottom: 20px;
}

.greeting__highlight {
    font-size: clamp(16px, 1.8vw, 24px);
    font-weight: 700;
    margin-top: 10px;
}

.greeting__highlight .highlight-bg {
    background-color: var(--color-primary);
    color: var(--color-white);
    padding: 4px 12px;
    display: inline-block;
    line-height: 1.4;
}

.greeting__vege {
    margin-top: 40px;
    max-width: 90%;
}

.greeting__vege img {
    width: clamp(260px, 30vw, 550px);
    height: auto;
    display: block;
}

.greeting__visual {
    flex: 1; 
    position: relative;
    align-self: stretch;
    z-index: 1;
}

.greeting__crew-img {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: clamp(320px, 48vw, 900px);
    max-width: none; 
    height: auto;
    display: block;
}

/* ==============================
    인삿말 반응형
============================== */
@media (max-width: 1024px) {
    .greeting__inner {
        flex-direction: column;
        gap: 60px;
    }

    .greeting__content {
        width: 100%;
        text-align: center;
    }

    .greeting__logo {
        display: flex;
        justify-content: center;
    }

    .greeting__vege {
        display: none;
    }

    .greeting__visual {
        align-self: auto;
    }
    .greeting__crew-img {
        position: relative; 
        right: auto;
        top: auto;
        transform: none;
        
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .greeting__inner {
        gap: 40px;
    }

    .greeting__vege {
        max-width: 100%;
    }
}

/* ==============================
    왜 청운농산인가
============================== */

.section--why {
    background: 
    linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.5) 80%, rgba(255, 255, 255, 0) 100%), 
    url('../img/bg_why.png') bottom center / cover no-repeat;
    background-size: cover;
    padding: 0 0 clamp(80px, 10.4vw, 200px);
    text-align: center;
}

.why__swiper .swiper-wrapper {
    display: flex;
    align-items: stretch;
}
.why__swiper {
    margin-top: clamp(60px, 7vw, 100px);
}

.why__card {
    height: auto;
    display: flex;
    flex-direction: column;
    background: linear-gradient(to bottom right, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.2));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: clamp(20px, 3vw, 40px);
    position: relative;
}
.why__card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    
    background: linear-gradient(to right bottom, #ffffff, #dddddd, #ffffff);
    
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    
    pointer-events: none;
}

.card-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: clamp(20px, 2vw, 30px);
}

.card-img {
    border-radius: 12px;
    overflow: hidden;
}

.card-img img {
    width: 100%;
    aspect-ratio: 320/180;
    object-fit: cover;
}

.card-inner h3 {
    font-size: clamp(18px, 2vw, 28px);
    font-weight: 700;
}

.card-inner p {
    flex-grow: 1;
    font-size: clamp(16px, 1.5vw, 22px);
    line-height: 1.6;
    padding: clamp(0px, 1vw, 10px);
    word-break: keep-all;
}

@media (max-width: 768px) {
    .why__card {
        padding: 24px;
    }
}

/* ==============================
    유통과정
============================== */
.dn_page-content section.dn_supply-system {
    width: 100%;
    padding-top: clamp(80px, 10vw, 120px);
    overflow: visible;
}

.dn_supply-system .title_box {
    text-align: center;
    margin-bottom: clamp(50px, 8vw, 80px);
}

.dn_supply-system .main_title {
    margin-bottom: 20px;
}

.dn_supply-system .highlight_g {
    color: var(--color-primary);
}

.supply-list {
    display: grid;
    grid-auto-rows: 1fr;
    width: 100%;
}

.step-row {
    position: relative;
    width: 100%;
    padding: clamp(60px, 10vw, 100px) 20px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    
    display: flex;
    flex-direction: column;
    justify-content: center; 
}

.step-row .dim {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 1;
    transition: background-color 0.4s ease, box-shadow 0.4s ease;
}

.step-row.active .dim {
    background-color: rgba(94, 160, 9, 0.85);
    box-shadow: inset 0 0 0 5px rgba(116, 195, 11, 0.8);
}

.step-row .text-wrap {
    position: relative;
    z-index: 2;
    text-align: center;
    color: var(--color-white);
}

.step-row .num {
    display: block;
    font-size: clamp(24px, 3vw, 32px);
    font-weight: 500;
    margin-bottom: 10px;
}

.step-row h4 {
    font-size: clamp(28px, 4vw, 46px);
    font-weight: 800;
    line-height: 1.4;
    word-break: keep-all;
}

.step-row .circle-img {
    position: absolute;
    top: 50%;
    right: 15%;
    transform: translateY(-50%) scale(0.5);
    opacity: 0;
    width: clamp(220px, 25vw, 400px);
    aspect-ratio: 1/1;
    border-radius: 50%;
    overflow: hidden;
    z-index: 5;
    transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}

.step-row .circle-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.step-row.active .circle-img {
    transform: translateY(-50%) scale(1);
    opacity: 1;
}
@media (max-width: 1919px) {
    .step-row .text-wrap {
        text-align: left;
        padding-left: 10%;
        padding-right: 350px; 
    }
    
    .step-row .circle-img {
        right: 5%;
    }
}
@media (max-width: 1024px) {
  .step-row .circle-img { right: 5%; }
}

@media (max-width: 768px) {
    .dn_page-content section.dn_supply-system {
        overflow: hidden;
    }
    .step-row .text-wrap {
        text-align: center;
        padding-left: 0;
        padding-right: 0;
    }
    
    .step-row .circle-img { 
        display: none;
    }
    .step-row .circle-img { display: none; }
}


/* =========================
    4가지 핵심 경쟁력 섹션
========================= */
.section--comp {
    position: relative;
    height: clamp(680px, 56vw, 860px);
    min-height: 680px;
    overflow: hidden;
}

.comp__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    transform: scale(1.04);
    transition: opacity 0.55s ease, transform 1.2s ease;
}

.comp__bg.is-active {
    opacity: 1;
    transform: scale(1);
}

.comp__bg--1 { background-image: url("../img/comp_bg1.jpg"); }
.comp__bg--2 { background-image: url("../img/comp_bg2.jpg"); }
.comp__bg--3 { background-image: url("../img/comp_bg3.jpg"); }
.comp__bg--4 { background-image: url("../img/comp_bg4.jpg"); }

.comp__dim {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.comp__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    min-height: inherit;
    margin: 0;
    padding: 0;
}

.comp__title-box {
    position: absolute;
    top: clamp(60px, 8vw, 100px);
    left: 50%;
    z-index: 5;
    width: clamp(400px, 40vw, 600px);
    transform: translateX(-50%);
    pointer-events: none;
    text-align: center;
    }

    .comp__title-img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.comp__list {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;

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

    list-style: none;
    margin: 0;
    padding: 0;
}

.comp__item {
    position: relative;
    min-width: 0;
    height: 100%;
    border-left: 1px solid rgba(19, 56, 38, 0.1);
}

.comp__item:first-child {
    border-left: 0;
}

.comp__btn {
    width: 100%;
    height: 100%;
    padding: 0 20px clamp(30px, 5vw, 60px);

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;

    background: transparent;
    border: 0;
    color: rgba(19, 56, 38, 0.3);
    text-align: center;
    cursor: pointer;
    font: inherit;
    transition: color 0.35s ease, background 0.35s ease;
}

.comp__num {
    display: block;
    font-size: clamp(20px, 1.6vw, 28px);
    font-weight: 700;
    line-height: 1;
    margin-bottom: 14px;
    transition: color 0.35s ease;
}

.comp__name {
    display: block;
    font-size: clamp(22px, 1.8vw, 32px);
    font-weight: 800;
    line-height: 1.3;
    word-break: keep-all;
    transition: color 0.35s ease;
}

.comp__desc {
    min-height: 180px;
    margin-top: 18px;
    opacity: 0;
    overflow: hidden;
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.6;
    color: var(--color-primary-dark);
    transition: opacity 0.35s ease;
    word-break: keep-all;
}

/* active일 때 */
.comp__item.is-active .comp__btn { color: #fff; }

.comp__item.is-active .comp__num,
.comp__item.is-active .comp__name {
    color: var(--color-primary-dark);
}

.comp__item.is-active .comp__desc {
opacity: 1;
}

.comp__btn:focus { outline: none; }
.comp__btn:focus-visible {
    outline: 2px solid rgba(94, 160, 9, 0.9);
    outline-offset: -8px;
}

@media (max-width: 768px) {
    .section--comp {
        height: auto;
        min-height: 800px;
    }

    .comp__inner {
        height: auto;
        min-height: 800px;
        display: flex;
        flex-direction: column;
        padding-top: 40px;
    }

    .comp__title-box {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        width: min(400px, calc(100% - 40px));
        margin: 0 auto 30px;
    }

    .comp__list {
        position: relative;
        inset: auto;
        width: 100%;
        height: 700px;
        
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: repeat(4, minmax(0, 1fr));
    }

    .comp__item {
        border-left: 0;
        border-top: 1px solid rgba(19, 56, 38, 0.1);
    }
    .comp__item:first-child { border-top: 0; }

    .comp__btn {
        height: 100%;
        min-height: 0;
        overflow: hidden;
        justify-content: center;
        padding: 24px 20px;
    }

    .comp__name { font-size: 22px; }

    .comp__desc {
        min-height: 0;
        max-height: 0;
        margin-top: 0;
        opacity: 0;
        font-size: 15px;
        transition: max-height 0.4s ease, margin-top 0.3s ease, opacity 0.3s ease;
    }

    .comp__item.is-active .comp__desc {
        max-height: 120px;
        margin-top: 12px;
        opacity: 1;
    }
}


/* =========================
    수상/신뢰 섹션
========================= */
.dn_trust-section {
    padding: clamp(80px, 10vw, 120px) 0;
    background-color: #fff;
    text-align: center;
    overflow: hidden;
}

.trust-title-box {
    margin-bottom: clamp(40px, 8vw, 60px);
    padding: 0 20px;
}

.trust-swiper {
    width: 100%;
    padding-top: 20px;
    padding-bottom: 60px;
}

.trust-swiper .swiper-slide {
    transition: opacity 0.4s ease;
    opacity: 0.4;
}

.trust-swiper .swiper-slide-active {
    opacity: 1; 
}

.cert-img-box {
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1); 
}

.cert-img-box img {
    width: 100%;
    height: auto;
    display: block;
}

.trust-swiper .swiper-pagination-bullet-active {
    background-color: #5EA009; 
}


/* ==============================
    거래처 후기, vS섹션
============================== */
.dn_review-partner-wrapper {
    position: relative;
    width: 100%;
    overflow-x: hidden; 
    overflow-y: visible;
    background-color: #fff;
}

.bg-veg {
    position: absolute;
    z-index: 1;
    pointer-events: none;
}

.veg-top-right {
    top: 5%;
    right: -5%;
    width: clamp(250px, 20vw, 490px);
}

.veg-mid-left {
    top: 27%;
    left: -10%;
    width: clamp(400px, 25vw, 700px);
}

.dn_review-section {
    position: relative;
    z-index: 10;
}

.dn_review-section .inner {
    width: 100%;
    margin: 0 auto;
    padding-bottom: clamp(80px, 10.4vw, 200px);
}

.review-title-box {
    text-align: center;
    margin-bottom: clamp(40px, 6vw, 60px);
}

.review-title-box .stars {
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: -1.5vw;
}

.stars .star {
    display: inline-block;
    filter: drop-shadow(0 5px 5px rgba(159, 215, 37, 0.3));
    margin: 0 2px;
    opacity: 0;
    transform: scale(0);
    width: clamp(30px, 4vw, 55px);
}
.stars .star1 {width: clamp(20px, 4vw, 45px);}
.stars .star2 {width: clamp(25px, 4vw, 50px);}
.stars .star4 {width: clamp(25px, 4vw, 50px);}
.stars .star5 {width: clamp(20px, 4vw, 45px);}

.review-title-box.aos-animate .star {
    animation: starPop 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.review-title-box.aos-animate .star1 { animation-delay: 0s; width: clamp(20px, 4vw, 45px);}
.review-title-box.aos-animate .star2 { animation-delay: 0.1s; width: clamp(25px, 4vw, 50px);}
.review-title-box.aos-animate .star3 { animation-delay: 0.2s; }
.review-title-box.aos-animate .star4 { animation-delay: 0.3s; width: clamp(25px, 4vw, 50px);}
.review-title-box.aos-animate .star5 { animation-delay: 0.4s; width: clamp(20px, 4vw, 45px);}


@keyframes starPop {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.review-swiper {
    width: 100%;
    padding: 20px 0;
}

.review-swiper .swiper-wrapper {
    align-items: stretch;
}
.review-swiper .swiper-slide {
    height: auto;
    display: flex;
}

.review-card {
    position: relative;
    flex: 1; 
    width: 100%;
    display: flex;
    flex-direction: column;
    
    background: linear-gradient(to bottom right, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.2));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    
    border-radius: 20px;
    padding: clamp(20px, 3vw, 40px) clamp(16px, 3vw, 30px);
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    gap: 20px;
}

.review-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    
    background: linear-gradient(to right bottom, #ffffff, #dddddd, #ffffff);
    
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    
    pointer-events: none;
}

.review-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 5px 20px rgba(0,0,0,0.12);
}

.reviewer-header {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.reviewer-header .avatar {
    width: clamp(60px, 5vw, 80px);
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    background-color: #f5f5f5;
    flex-shrink: 0;
}

.reviewer-header .avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.reviewer-info {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.reviewer-info .role {
    font-size: 14px;
}

.reviewer-info .quote {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 700;
    word-break: keep-all;
}

/* 🎯 하단 상세 줄글 */
.review-card .desc {
    font-size: 15px;
    line-height: 1.6;
    word-break: keep-all;
}


/* =========================================
  경쟁력 - VS 섹션
========================================= */

.dn_partner-section {
    position: relative;
    z-index: 10;
    width: 100%;
}

.dn_color_green {
    color: var(--color-primary);
}

.partner_title {
    text-align: center;
    word-break: keep-all;
    margin-bottom: clamp(50px, 8vw, 80px);
}

.vs_img_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    max-width: 1440px;
    width: calc(100% - 40px);
    margin: 0 auto;
}

.vs_img_box .img_L {
    width: 45%;
    border-radius: 25px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.vs_img_box .img_R_wrap {
    position: relative;
    width: 51%;
    z-index: 1;
}
.vs_img_box .img_R {
    width: 100%;
    display: block;
    border: 15px solid #5EA009;
    border-radius: 25px;
    box-shadow: 0 15px 40px rgba(94, 160, 9, 0.2);
    animation: borderBlink 1.2s ease-in-out infinite;
}

.vs_img_box .img_tag {
    position: absolute;
    width: clamp(120px, 75%, 500px);
    top: -10%;
    right: -8%;
    z-index: 10;
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.15));
    animation: floatingTag 3s ease-in-out infinite;
}
@keyframes borderBlink {
    0%, 100% {
        border-color: var(--color-primary);
    }
    50% {
        border-color: rgba(94, 160, 9, 0.5);
    }
}

.vs_img_box .img_vs {
    position: absolute;
    width: clamp(70px, 9vw, 130px);
    top: 50%;
    left: 47%;
    transform: translate(-50%, -50%);
    z-index: 5;
    filter: drop-shadow(0 5px 10px rgba(0,0,0,0.15));
}

@keyframes floatingTag {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}

@media (max-width: 1024px) {
    .veg-top-right {
        top: 5%;
        right: -5%;
        width: clamp(250px, 20vw, 490px);
    }

    .veg-mid-left {
        top: 30%;
        left: -10%;
        width: clamp(400px, 25vw, 700px);
    }
}
@media (max-width: 768px) {
    .veg-top-right {
        top: 5%;
        right: -15%;
        width: clamp(180px, 20vw, 490px);
    }

    .veg-mid-left {
        top: 28%;
        left: -25%;
        width: clamp(280px, 25vw, 700px);
    }

    .vs_img_box {
        flex-direction: column;
        align-items: center;
        gap: 40px;
        width: calc(100% - 20px);
    }
    
    .vs_img_box .img_L {
        width: 85%;
    }
    
    .vs_img_box .img_R_wrap {
        width: 95%;
    }
    
    .vs_img_box .img_R {
        border-width: 10px;
    }
    
    .vs_img_box .img_vs {
        top: 45%; 
        left: 50%;
    }
    
    .vs_img_box .img_tag {
        width: clamp(80px, 75%, 300px);
        top: auto;
        bottom: -8%;
        right: -8%;
        z-index: 6;
    }
}

@media (max-width: 500px) {
    .partner_title p br {
        display: none;
    }
    .vs_img_box .img_L { width: 90%; }
    .vs_img_box .img_R_wrap { width: 100%; }
    .vs_img_box .img_R { border-width: 6px; }
    .vs_img_box .img_vs { width: 80px; }
    
}
@media (max-width: 480px) {
    .veg-top-right {
        top: 8%;
        right: -20%;
        width: clamp(180px, 20vw, 490px);
    }

    .veg-mid-left {
        top: 26%;
        left: -35%;
        width: clamp(280px, 25vw, 700px);
    }
}


/* =========================================
  주문 및 CS 대응 섹션
========================================= */

.dn_convenience-section {
    width: 100%;
    overflow: hidden;
}

.conv_wrap {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(40px, 6vw, 80px);
}

.conv_img_box {
    text-align: center;
    position: relative;
}

.conv_img_box .mockup_img {
    width: clamp(300px, 33vw, 600px);
    height: auto;
    display: block;
    margin: 0 auto;
}

.conv_text_box {
    word-break: keep-all;
    max-width: 50%;
}

.conv_text_box .card_wrap {
    display: flex;
    gap: 20px;
    margin-top: clamp(40px, 4vw, 60px);
}

.conv_card {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: clamp(20px, 2vw, 28px) clamp(16px, 2vw, 24px);
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 16px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    transition: all 0.3s ease;
}

.conv_card:hover {
    border-color: var(--color-primary);
    box-shadow: 0 10px 25px rgba(94, 160, 9, 0.1);
    transform: translateY(-5px);
}

.conv_card .icon {
    width: clamp(48px, 4vw, 100px);
    height: clamp(48px, 4vw, 100px);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.conv_card .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.conv_card .card_info h4 {
    font-size: clamp(16px, 1.4vw, 24px);
    font-weight: 700;
    color: #111;
    margin-bottom: 6px;
}

.conv_card .card_info p {
    font-size: clamp(14px, 1.4vw, 18px);
    color: #666;
    line-height: 1.4;
    margin: 0;
}

@media (max-width: 992px) {
    .conv_wrap {
        flex-direction: column;
        gap: 50px;
    }

    .conv_img_box {
        width: 70%;
    }

    .conv_text_box {
        max-width: 100%;
        width: 100%;
        text-align: center;
    }

    .conv_text_box .dn_pc {
        display: none;
    }

    .conv_text_box .card_wrap {
        justify-content: center;
        text-align: left;
    }
    .conv_card {
        flex: unset;
    }
}

@media (max-width: 600px) {
    .conv_img_box {
        max-width: 300px;
        width: 100%;
    }

    .conv_text_box .card_wrap {
        flex-direction: column;
        gap: 15px;
    }

    .conv_card {
        width: 100%;
        justify-content: space-evenly;
    }
    .conv_card .card_info p br {
      display: none;
    }
}


/* ==============================
    기사섹션
============================== */

.dn_press {
  padding: 0 clamp(20px, 6.25vw, 120px) clamp(80px, 10.4vw, 200px);
}

.dn_press .title_box {
    margin-bottom: clamp(50px, 8vw, 80px);
}
.press_card {
  display: block;
  overflow: hidden;
  transition: 0.2s;
}

.press_thumb {
  position: relative;
  padding-top: 75%;
  overflow: hidden;
}
.press_thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: 0.35s;
}
.press_card:hover .press_thumb img {
  transform: scale(1.04);
}

.press_body {
  padding-top: 15px;
}
.press_title_sm {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: #222;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-height: auto;
}
.press_meta {
  margin-top: 8px;
  font-size: 12px;
  color: #666666;
}
.press_swiper {
  position: relative;
}

/******* 반응형 ******/

@media (max-width: 1200px) {
  /* 메인비주얼 */
  .video_banner .hero-content p {
    font-size: 24px;
  }
}

@media (max-width: 980px) {
  /* 메인비주얼 */
  .video_banner .hero-content p {
    font-size: 16px;
  }
  .video_banner .hero-content img {
    min-width: 230px;
  }

  /* 큰 타이틀 */
  .dn_menu1 .textbox .dn_color_red {
    font-size: 24px;
  }
}
@media (max-width: 768px) {
  .press_title {
    padding-bottom: 40px;
  }
  /* 큰 타이틀 설명 20 */
  .section--info .dn_store-wrapper > p,
  .press_title_sm {
    font-size: 16px;
  }
}

@media (max-width: 599px) {
  .dn_press {
    padding: 0 0 clamp(80px, 10.4vw, 200px);
  } 
}
@media (max-width: 500px) {
  /* 메인비주얼 */
  .video_banner .hero-content p {
    font-size: 14px;
  }
  .dn_mainSwiper .swiper-button-next:after,
  .dn_mainSwiper .swiper-button-prev:after {
    font-size: 25px;
  }
}


/* =========================================
    최하단 CTA
========================================= */

.dn_cta-section {
    width: 100%;
    height: clamp(640px, 90vw, 960px);
    background: url('../img/cta_bg.jpg') center center / cover no-repeat;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dn_cta-section .cta_content {
    padding: clamp(120px, 11vw, 220px) 0 0;
    filter: drop-shadow(0 0 5px #F2F2F4);
    word-break: keep-all;
}

.cta_content .title {
    font-size: clamp(32px, 4.5vw, 56px);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: -1px;
    margin-bottom: 20px;
}

.cta_content .dn_color_green {
    color: #5EA009;
}

.cta_content .dn_color_dark {
    color: #1a3c22;
}

.cta_content .desc {
    font-size: clamp(15px, 1.5vw, 18px);
    color: #555;
    line-height: 1.6;
    margin-bottom: clamp(35px, 4vw, 50px);
}

/* 전화 걸기 버튼 */
.btn_call {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: clamp(24px, 2.5vw, 36px);
    font-weight: 800;
    color: #5EA009;
    border: 2px solid #5EA009;
    border-radius: 50px;
    padding: clamp(12px, 2vw, 16px) clamp(20px, 4vw, 30px);
    text-decoration: none;
    filter: drop-shadow(0 10px 25px rgba(94, 160, 9, 0.15));
    transition: all 0.3s ease;
}

.btn_call .icon_phone {
    width: clamp(24px, 2.5vw, 36px);
    height: clamp(24px, 2.5vw, 36px);
    stroke: currentColor; 
}

.btn_call:hover {
    background-color: #5EA009;
    color: #ffffff;
    box-shadow: 0 15px 35px rgba(94, 160, 9, 0.35);
    transform: translateY(-5px);
}

.btn_call:hover .icon_phone {
    filter: brightness(99);
}

@media (max-width: 768px) {
    .cta_content .br_cta {
        display: none;
    }
    .cta_content .title {
        font-size: 28px;
    }
    .cta_content .desc {
        font-size: 14px;
        margin-bottom: 30px;
    }
    .cta_content .dn_pc { 
        display: none; 
    }
}