@charset "UTF-8";

/* ==========================================================================
   VARIABLES
   ========================================================================== */
:root{
    --font-sans: "Paperlogy";
    --font-Oxfam: "Oxfam Global Headline";
    --color-bg-soft: #FFF8E4;
    --color-cream: #FFF3BF;

    --color-green: #2EB14C;
    --color-green-dark: #0C7A34;
    --color-green-deep: #0B6E2F;
    --color-green-light: #B4D335;
    --color-green-mint: #D7E99C;

    --color-yellow: #FEE500;
    --color-yellow-soft: #FFED85;

    --color-red: #E54931;
    --color-heart: #EE3F3B;

    --color-text: #1F1F1F;
    --color-text-soft: #4a4a4a;

    --color00:#ffffff;
    --color01:#2EB14C;
    --color02:#181515;

    --container-width: 1440px;
    --container-padding: 60px;
    --fix-button-height:50px;
}

@media (max-width: 1120px){
    :root{
        --container-padding: 50px;
    }
}
@media (max-width: 960px){
    :root{
        --container-padding: 6.25vw;
    }
}

/* ==========================================================================
   BASE
   ========================================================================== */
*{box-sizing:border-box;}
html, body{background: var(--color-bg);}
@media (hover: hover){
    body{cursor: url('../images/cursor.svg'), auto;}
}
body{font-family: var(--font-sans), sans-serif; color: var(--color-text); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}

.wrap{width:100%; overflow-x: hidden;}
.container{width: 100%; max-width: var(--container-width); margin: 0 auto; padding: 0 var(--container-padding);}

img{max-width:100%; display:block;}

.tx-green{color: var(--color-green-dark);}
.tx-red{color: var(--color-red);}

br.mo{display:none;}
br.pc{display:inline;}
@media (max-width: 960px){
    br.mo{display: inline;}
    br.pc{display: none;}
}

.header-site{position: fixed;left: 50%;transform: translate(-50%);width: 100%;max-width:var(--container-width);display: flex;align-items: center;justify-content: flex-start;padding: 1.875rem var(--container-padding);z-index: 10;}
.header-site .fix-logo{display: block;width: 10rem;height: auto;}
.header-site .fix-logo > img{display: block;width: 100%;}
@media (max-width: 1440px) and (min-width: 940px) {
    .header-site {padding: 30px var(--container-padding);}
    .header-site .fix-logo {width: 150px;}
}
@media (max-width: 939px) {
    .header-site {padding: 15px 32px;transition: padding 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;background-color: rgba(0, 0, 0, 0.55);}
    .header-site.is-scrolled {box-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);}
    .header-site .fix-logo {width: 137px;}
}

@media (max-width: 480px){
    .header-site{padding: 5vw 6.67vw;}
    .header-site.is-scrolled{padding: 2vw 6.67vw;}
    .header-site .fix-logo {width: 28.542vw;}
}


/* ==========================================================================
   HERO
   ========================================================================== */
.section-hero{--bg:#24AC4A;background: var(--bg);}
.section-hero .hero-inner{position: relative;width: 100%;max-width: var(--container-width);aspect-ratio: 1440 / 878;margin: 0 auto;overflow: hidden;display: flex;flex-direction: column;align-items: center;justify-content: flex-start;padding-top: 70px;}
.section-hero .hero-bg{position: absolute;inset: 0;}
.section-hero .hero-bg img{width: 100%;height: 100%;object-fit: cover;}
.section-hero .hero-title{position: relative;z-index: 1;}
.section-hero .hero-title img{width: 496px;height: auto;max-width: 100%;}
.section-hero .hero-badge{position: fixed;top: 550px;right:  calc(((100% - var(--container-width)) / 2) + 40px);width: 279px;z-index: 99;transform: rotate(-8deg);animation: badgeFloat 3.5s ease-in-out infinite;will-change: transform;}
.section-hero .hero-badge img{width: 100%; height: auto;}

@keyframes badgeFloat{ 0%, 100% {transform: rotate(-8deg) translateY(0);} 50% {transform: rotate(-6deg) translateY(-8px);} }
.section-hero .hero-credit{position: absolute;left: 9.3%;bottom: 11%;font-family: "Noto Sans KR", sans-serif;font-weight: 500;font-size: 14px;line-height: 1.3;letter-spacing: -0.01em;text-align: center;color: #343434;-webkit-text-stroke: 1px #ffffff;paint-order: stroke fill;}
@media (max-width: 1440px){
    .section-hero .hero-badge{right:  40px;}
}

@media (max-width: 980px){
    .section-hero .hero-inner{aspect-ratio: 980 / 597;}
    .section-hero .hero-title img {width: 400px;}
}
@media (max-width: 960px){
    .section-hero .hero-inner{aspect-ratio: 32 / 55;}
    .section-hero .hero-title img {width: 84.16666666666667vw;}
    .section-hero .hero-credit{font-size: 2.5vw;bottom: 4%;}
    .section-hero .hero-badge{display: none;}
}
@media (max-width: 480px){

}

/* ==========================================================================
   SECTION — INTRO (GREEN)
   ========================================================================== */
.section-intro{--bg:#24AC4A;position: relative;background: var(--bg);color: #fff;overflow: hidden;padding-top:60px;}
.section-intro .intro-grid{display: flex;gap: 40px;align-items: flex-start;margin: 0 auto;width: 100%;max-width: 1160px;}
.section-intro .intro-grid .intro-text{width: 466px;padding-bottom: 60px;}
.section-intro .intro-heading{font-size: 44px;font-weight: 600;line-height: 1;letter-spacing: 0;margin-bottom: 40px;white-space: nowrap;}
.section-intro .intro-heading .dat{color:#FFDB76;position: relative;}
.section-intro .intro-heading .dat::before{content: "";display: block;width: 9px;height: 9px;background: #146834;border-radius: 50%;position: absolute;left: 50%;top: 0;transform: translate(-50%, -100%);}
.section-intro .intro-bubbles{display: flex;flex-direction: column;gap: 12px;margin-bottom: 20px;}
.section-intro .intro-bubbles li{background-image: url('../images/bubble-bg.svg');background-size: 100% 100%;background-repeat: no-repeat;color: #212121;font-family: 'Paperlogy', sans-serif;font-size: 22px;font-weight: 600;line-height: 1;letter-spacing: -0.01em;padding: 19px 26px 0;max-width: 100%;width: 466px;height: auto;aspect-ratio: 466 / 71;white-space: nowrap;}
.section-intro .intro-bubbles li:nth-child(even){background-image: url('../images/bubble-bg-w.svg');}
.section-intro .intro-close{font-size: 32px;font-weight: 600;line-height: 1.3;letter-spacing: -0.01em;word-break: keep-all;}
.section-intro .intro-close .mark-yellow{color: #FFDB76;}
.section-intro .intro-photo{align-self: flex-end;}
.section-intro .intro-photo img{width: 100%;height: auto;max-width: 476px;margin-left: auto;}
@media (max-width: 1120px){
    .section-intro .container {padding: 0 0 0 var(--container-padding);}
    .section-intro .intro-heading {font-size: 38px;margin-bottom: 46px;}
    .section-intro .intro-grid {gap: 0;}
    .section-intro .intro-grid .intro-text {width: 404px;}
    .section-intro .intro-bubbles li {font-size: 18px;padding: 16px 21px 0;width: 393px;aspect-ratio: 466 / 71;}
    .section-intro .intro-close {font-size: 28px}
}
@media (max-width: 960px){
    .section-intro {padding-top: 9.375vw;}
    .section-intro .container {padding: 0;}
    .section-intro .intro-heading {font-size: 7vw;margin-bottom: 1em;text-align: center;}
    .section-intro .intro-heading .dat::before {width: 1.25vw;height: 1.25vw;}
    .section-intro .intro-grid {flex-direction: column;row-gap: 7.291666666666667vw;}
    .section-intro .intro-grid .intro-text {width: 100%;padding: 0 var(--container-padding);}
    .section-intro .intro-bubbles li {width: 100%;font-size: 3.91304347826087vw;padding: 1em 1.2em 0}
    .section-intro .intro-photo{ margin: 0 auto;}
    .section-intro .intro-photo img{max-width: 360px;}
    .section-intro .intro-close {font-size: 6.3vw;}

}
@media (max-width: 480px){
    .section-intro .intro-heading {font-size: 7.6vw;}
    .section-intro .intro-close {font-size: 6.5vw;}
    .section-intro .intro-photo img {max-width: 80%;margin: 0 auto;}
}

/* ==========================================================================
   SECTION — STORY (우리 집 복덩이, 돼지)
   ========================================================================== */
.section-story{--bg:#FFF2CC;position: relative;background: var(--bg);padding: 100px 0;overflow: hidden;}
.section-story .story-heading{font-weight: 700;text-align: center;font-size: 60px;line-height: 1;letter-spacing: -0.02em;color: #146834;margin-bottom: 70px;word-break: keep-all;}
.section-story .story-heading .heading-underline{background: linear-gradient(to top, #FFE395 0.4423076923076923em, transparent 0.4423076923076923em);display: inline;padding: 0 0.2em;}
.section-story .story-heading .tx-green{color: #24AC4A;}

.section-story .story-row{display: flex;justify-content: center;align-content: center;column-gap: 60px;margin-bottom: 70px;}
.section-story .story-row:last-of-type{margin-bottom: 0;}
.section-story .story-img{position: relative}
.section-story .story-img .img-box{width: 521px;border-radius: 10px;overflow: hidden;aspect-ratio: 521 / 347;}
.section-story .story-img img{width: 100%; height: 100%; object-fit: cover;}
.section-story .story-bubbles{display: flex; flex-direction: column; gap: 27px;justify-content: center}
.section-story .story-bubbles .bubble{font-weight: 500;font-size: 22px;line-height: 1.2;letter-spacing: -0.01em;color:#212121;padding:17px 25px;}
.section-story .story-bubbles .bubble strong{font-weight: 700;}
.section-story .story-bubbles .bubble01,
.section-story .story-bubbles .bubble02{width: 373px;aspect-ratio: 373 / 102;}
.section-story .story-bubbles .bubble03,
.section-story .story-bubbles .bubble04{width: 345px;aspect-ratio: 345 / 102;}
.section-story .story-bubbles .bubble01{background: url('../images/bubble1-bg.png') no-repeat center / 100% 100%;}
.section-story .story-bubbles .bubble02{background: url('../images/bubble2-bg.png') no-repeat center / 100% 100%;}
.section-story .story-bubbles .bubble03{background: url('../images/bubble3-bg.png') no-repeat center / 100% 100%;}
.section-story .story-bubbles .bubble04{background: url('../images/bubble4-bg.png') no-repeat center / 100% 100%;}

.section-story .story-row.row2 {column-gap: 43px;}
.section-story .story-row.row2 .story-bubbles{padding-left: 58px;}
.section-story .story-row.row2 .story-img .img-box{width: 410px;height: auto;aspect-ratio: 41 / 27}
.section-story .deco{width: 213px;height: auto;aspect-ratio: 71 / 76;position: absolute;bottom: -22%;right: -39%;}
.section-story .deco img{width: 100%;height: 100%;display: block;}

@media (max-width: 1120px){
    .section-story {padding: 70px 0;}
    .section-story .story-heading{font-size: 52px;margin-bottom: 50px;}
    .section-story .story-img .img-box {width: 396px;border-radius: 10px;aspect-ratio: 396 / 264;}
    .section-story .story-bubbles .bubble01, .section-story .story-bubbles .bubble02 {width: 326px;aspect-ratio: 326 / 85;}
    .section-story .story-bubbles .bubble03, .section-story .story-bubbles .bubble04 {width: 326px;aspect-ratio: 326 / 85;}
    .section-story .story-row {display: flex;justify-content: center;align-content: center;column-gap: 50px;margin-bottom: 56px;}
    .section-story .story-bubbles .bubble {font-size: 18px;padding: 15px 25px;}
    .section-story .story-row.row2 .story-bubbles {padding-left: 0;}
    .section-story .deco{width: 143px;bottom: -18%;right: -31%;}
    .section-story .story-row.row2 .story-img .img-box{width: 343px;}
}
@media (max-width: 960px){
    .section-story {padding: 10.41666666666667vw 0;}
    .section-story .story-heading {font-size: 6.3vw;margin-bottom: 7.291666666666667vw;}
    .section-story .story-bubbles {gap: 3.541666666666667vw;align-items: center;}
    .section-story .story-bubbles .bubble01{background: url('../images/bubble3-bg.png') no-repeat center / 100% 100%;}
    .section-story .story-bubbles .bubble02{background: url('../images/bubble4-bg.png') no-repeat center / 100% 100%;}
    .section-story .story-bubbles .bubble03{background: url('../images/bubble1-bg.png') no-repeat center / 100% 100%;}
    .section-story .story-bubbles .bubble04{background: url('../images/bubble2-bg.png') no-repeat center / 100% 100%;}
    .section-story .story-bubbles .bubble01,
    .section-story .story-bubbles .bubble02,
    .section-story .story-bubbles .bubble03,
    .section-story .story-bubbles .bubble04{width: 68.95833333333333vw;aspect-ratio: 345 / 102;}
    .section-story .story-bubbles .bubble {font-size: 4.166666666666667vw;padding: 0.9em 1em;}
    .section-story .story-img .img-box {width: 100%;max-width: 420px;aspect-ratio: 396 / 264;margin: 4.166666666666667vw auto 0;}
    .section-story .story-row {flex-direction: column-reverse;margin-bottom: 5.625vw;}
    .section-story .story-row.row2{flex-direction: column;}
    .section-story .story-row.row2 .story-img .img-box{ width: 100%;max-width: 420px;}
    .section-story .deco {display: none;}
}
@media (max-width: 480px){

}

/* ==========================================================================
   SECTION — JOY (기쁨은 여기서 끝이 아니에요!)
   ========================================================================== */
.section-joy{
    position: relative;
    --bg:#FFF2CC;
    background: var(--bg);
    padding: 30px 0 110px;
    overflow: hidden;
}
.section-joy .joy-heading{font-weight: 700;text-align: center;font-size: 60px;line-height: 1;letter-spacing: -0.02em;color: #146834;margin-bottom: 60px;word-break: keep-all;}
.section-joy .joy-heading .heading-underline{background: linear-gradient(to top, #FFE395 .4423076923076923em, transparent .4423076923076923em);display: inline;padding: 0 0.2em;}
.section-joy .joy-heading .tx-green{color: #24AC4A;}
.section-joy .joy-body{position: relative; max-width: 980px; margin: 0 auto;}
.section-joy .joy-photo{border-radius: 16px;overflow: hidden;aspect-ratio: 980 / 438;}
.section-joy .joy-photo img{width: 100%; height: 100%; object-fit: cover;}
.section-joy .deco{position: absolute; pointer-events: none; z-index: 2;}
.section-joy .deco-heart-left{left: -95px;top: -75px; width:168px;}
.section-joy .deco-heart-right{right: -87px;bottom: -17px; width: 133px;}
.section-joy .deco img{width: 100%; height: auto; filter: drop-shadow(2px 3px 0 rgba(0,0,0,0.1));}

.section-joy .joy-bubbles{max-width: 980px;margin: 20px auto 0;display: flex;align-items: stretch;}
.section-joy .joy-bubbles .avatar{width: 113px;height: 113px;}
.section-joy .joy-bubbles .avatar img{width: 100%; height: 100%;display: block;}
.section-joy .joy-bubbles .bubbles{display: flex;column-gap: 27px;transform: translateY(-55px);    align-items: flex-start;}
.section-joy .joy-bubbles .bubble{font-weight: 500;font-size: 22px;line-height: 1.2;letter-spacing: -0.01em;color:#212121;padding:21px 25px;white-space: nowrap;}
.section-joy .joy-bubbles .bubble01{width: 335px;aspect-ratio: 335 / 112;}
.section-joy .joy-bubbles .bubble02{width: 450px;aspect-ratio: 450 / 112;}
.section-joy .joy-bubbles .bubble01{background: url('../images/bubble5-bg.png') no-repeat center / 100% 100%;}
.section-joy .joy-bubbles .bubble02{background: url('../images/bubble6-bg.png') no-repeat center / 100% 100%;}


@media (max-width: 1120px){
    .section-joy{padding:0 0 110px;}
    .section-joy .joy-heading{font-size: 52px;margin-bottom: 50px;}
    .section-joy .joy-body {max-width: 780px;}
    .section-joy .deco-heart-left {left: -56px;top: -33px;width: 93px;}
    .section-joy .deco-heart-right {right: -57px;bottom: -14px;width: 88px;}
    .section-joy .joy-bubbles {max-width: 780px;}
    .section-joy .joy-bubbles .bubbles {column-gap: 18px;}
    .section-joy .joy-bubbles .avatar{width: 90px;height: 90px;}
    .section-joy .joy-bubbles .bubble01{background: url('../images/tablet/bubble5-bg.png') no-repeat center / 100% 100%;}
    .section-joy .joy-bubbles .bubble02{background: url('../images/tablet/bubble6-bg.png') no-repeat center / 100% 100%;}
    .section-joy .joy-bubbles .bubble01 {width: 271px;aspect-ratio: 271 / 91;}
    .section-joy .joy-bubbles .bubble02 {width:363px;aspect-ratio: 363 / 91;}
    .section-joy .joy-bubbles .bubble {font-size: 18px;padding: 18px 20px;}
}
@media (max-width: 960px){
    .section-joy {padding: 0 0;}
    .section-joy .joy-heading {font-size: 6.3vw;margin-bottom: 7.291666666666667vw;line-height: 1.4;}
    .section-joy .joy-bubbles {margin: 8.958333333333333vw auto 0;}
    .section-joy .joy-bubbles .bubbles {flex-direction: column;row-gap: 4.791666666666667vw;transform: translateY(0);}
    .section-joy .joy-bubbles .bubble {font-size: 4.166666666666667vw;padding: 0.9em;}
    .section-joy .joy-bubbles .bubble01{background: url('../images/mobile/bubble5-bg.svg') no-repeat center / 100% 100%;}
    .section-joy .joy-bubbles .bubble01 {width: 58.75vw;aspect-ratio: 141 / 46;}
    .section-joy .joy-bubbles .bubble02{background: url('../images/mobile/bubble6-bg.svg') no-repeat center / 100% 100%;}
    .section-joy .joy-bubbles .bubble02 {width: 79.79166666666667vw;aspect-ratio: 383 / 92;}
    .section-joy .joy-bubbles .avatar{display: none;}
    .section-joy .deco-heart-left {display: none;}
    .section-joy .deco-heart-right {display: none;}
    .section-joy .joy-photo{border-radius: 10px;overflow: hidden;aspect-ratio: 105 / 67;}

}
@media (max-width: 480px){

}

/* ==========================================================================
   SECTION — SECRET (깜짝 놀랄 비밀)
   ========================================================================== */
.section-secret{--bg:#FFF2CC;background: var(--bg);padding: 40px 0 230px;}
.section-secret .secret-heading{font-weight: 700;text-align: center;font-size: 60px;line-height: 1;letter-spacing: -0.02em;color: #146834;margin-bottom: 70px;word-break: keep-all;}
.section-secret .secret-heading .heading-underline{background: linear-gradient(to top, #FFE395 .4423076923076923em, transparent .4423076923076923em);display: inline;padding: 0 0.2em;}
.section-secret .secret-heading .tx-green{color: #24AC4A;}

.section-secret .secret-group{display: flex;justify-content: center;column-gap: 84px;}
.section-secret .secret-item{display: flex; flex-direction: column; gap: 16px;position: relative;}
.section-secret .secret-img{border-radius: 8px;overflow: hidden;width: 420px;height: auto;aspect-ratio: 42 / 28;}
.section-secret .secret-img img{width: 100%; height: 100%; object-fit: cover;}

.section-secret .secret-item .bubble{font-weight: 500;font-size: 22px;white-space: nowrap;line-height: 1.2;letter-spacing: -0.01em;color:#212121;padding:18px 25px;width: 465px;aspect-ratio: 155 / 34;background: url('../images/bubble7-bg.png') no-repeat center / 100% 100%;position: absolute;left: 50%;bottom:15px;transform: translate(-50%,100%);}
.section-secret .secret-item .bubble .avatar{position: absolute;bottom:0;left: 0;transform: translate(-100%,50%);}
.section-secret .secret-item .bubble img{width: 100%; height: 100%;display: block;}
.section-secret .secret-item .deco-earth{position: absolute;top:-49px;right: -87px;width: 168px;height: auto;}
.section-secret .secret-item .deco-earth img{display: block;width: 100%;}

@media (max-width: 1120px){
    .section-secret{padding: 40px 0 140px;}
    .section-secret .secret-heading{font-size: 52px;margin-bottom: 50px;}
    .section-secret .secret-group{column-gap: 57px;}
    .section-secret .secret-img{width: 340px;}
    .section-secret .secret-item .bubble{width: 373px;font-size: 18px;padding: 16px 20px;}
    .section-secret .secret-item .avatar{width: 90px;height: 90px;}
    .section-secret .secret-item .deco-earth{position: absolute;top:-35px;right: -40px;width: 100px;height: auto;}
}
@media (max-width: 960px){
    .section-secret{padding: 6.25vw 0 16.66666666666667vw;}
    .section-secret .secret-heading {font-size: 6.3vw;margin-bottom: 7.291666666666667vw;line-height: 1.4;}
    .section-secret .secret-item .avatar,
    .section-secret .secret-item .deco-earth{display: none;}
    .section-secret .secret-group{flex-direction: column;row-gap: 30px;}
    .section-secret .secret-item {gap: 16px;align-items: center;}
    .section-secret .secret-item:first-of-type{flex-direction: column-reverse}
    .section-secret .secret-item .bubble{position: relative;top:0;left: 0;transform: none;width: 86.04166666666667vw;font-size: 4.166666666666667vw;padding: 0.8em 0.9em;background: none;}
    .section-secret .secret-item .bubble::before{content: '';position: absolute;inset: 0;background: url('../images/bubble7-bg.png') no-repeat center / 100% 100%;z-index: 0;}
    .section-secret .secret-item .bubble > *{position: relative; z-index: 1;}
    .section-secret .secret-img {width: 100%;}
    .section-secret .secret-item:last-of-type .bubble{padding: 1.3em 0.9em 0;}
    .section-secret .secret-item:last-of-type .bubble::before{transform: scaleY(-1);}

}
@media (max-width: 480px){
    .section-secret .secret-group{flex-direction: column;row-gap: 6.25vw;}
}

/* ==========================================================================
   SECTION — TESTIMONIAL SLIDER
   ========================================================================== */
.section-testimonial{--bg:#FFDB76;background: var(--bg);padding: 50px 0 80px;position: relative;}
.section-testimonial .testimonial-heading{text-align: center;font-size: 37px;font-weight: 600;line-height: 1.35;letter-spacing: -0.02em;color:#2C1B00;margin-bottom: 30px;word-break: keep-all;}

.section-testimonial .testimonial-nav-wrap{position: relative;max-width: 920px;margin: 0 auto;padding: 0 60px;}
.section-testimonial .testimonial-slider-wrap{position: relative;}
.section-testimonial .testimonial-swiper{overflow: hidden;}
.section-testimonial .testimonial-card{background: #ffffff;border-radius: 20px;overflow: hidden;display: flex;align-items:center;gap: 27px;aspect-ratio: 860 / 310;padding: 50px;}
.section-testimonial .t-img{width:310px;height:auto;overflow: hidden; border-radius: 8px; aspect-ratio: 310 / 210; flex-shrink: 0;}
.section-testimonial .t-img img{width: 100%; height: 100%; object-fit: cover;}
.section-testimonial .t-body{padding: 0;display: flex;flex-direction: column;justify-content: center;}
.section-testimonial .t-name{font-family: 'Paperlogy', sans-serif;font-weight: 700;font-size: 27px;line-height: 1.3;letter-spacing: -0.06em;color: #24AC4A;margin-bottom: 12px;}
.section-testimonial .t-text{font-family: 'Paperlogy', sans-serif;font-weight: 500;font-size: 22px;line-height: 1.3;letter-spacing: -0.01em;color: #332E2B;white-space: nowrap;}
.section-testimonial .swiper-button-prev,
.section-testimonial .swiper-button-next{width: 54px; height: 54px;background: #24AC4A;border-radius: 50%;border: none;box-shadow: 0 4px 12px rgba(0,0,0,0.15);color: #ffffff;top: 50%;}
.section-testimonial .swiper-button-prev{transform: translate(-50%,-50%)}
.section-testimonial .swiper-button-next{transform: translate(50%,-50%)}

.section-testimonial .swiper-button-prev::after,
.section-testimonial .swiper-button-next::after{font-size: 16px; font-weight: 900; color: #ffffff;}
.section-testimonial .swiper-button-prev{left: 0;}
.section-testimonial .swiper-button-next{right: 0;}
.section-testimonial .swiper-pagination{position: relative; margin-top: 30px; text-align: center;}
.section-testimonial .swiper-pagination-bullet{width: 24px; height: 8px;border-radius: 4px;background: rgba(0,0,0,0.15);opacity: 1;margin: 0 5px !important;transition: background .2s;}
.section-testimonial .swiper-pagination-bullet-active{background: #146834;}

@media (max-width: 1120px){

    .section-testimonial{padding: 60px 0 80px;}
    .section-testimonial .container {padding: 0;}
    .section-testimonial .testimonial-heading{font-size: 32px;margin-bottom: 36px;}
    .section-testimonial .testimonial-nav-wrap {
        position: relative;
        max-width: 920px;
        margin: 0 auto;
        padding: 0 var(--container-padding);
    }
}
@media (max-width: 960px){
    .section-testimonial{padding: 8vw 0 8vw;}
    .section-testimonial .testimonial-heading{font-size: 6.3vw;margin-bottom: 6.666666666666667vw;}

    .section-testimonial .testimonial-card {flex-direction: column;aspect-ratio:auto;padding: 7.5vw 9.375vw;}
    .section-testimonial .t-img{width: 100%;}
    .section-testimonial .t-name{font-size: 5vw;margin-bottom: 3.3333333333333vw;}
    .section-testimonial .t-text{font-size: 3.75vw;}
    .section-testimonial .swiper-pagination {margin-top: 3.75vw;}
    .section-testimonial .swiper-pagination-bullet {width: 5vw;height: 1.666666666666667vw;margin: 0 1.041666666666667vw;}
    .section-testimonial .swiper-button-prev, .section-testimonial .swiper-button-next {width: 6vw;height: 6vw;top: 35vw;}
    .section-testimonial .swiper-button-prev::after, .section-testimonial .swiper-button-next::after {font-size: 2vw;}
}
@media (max-width: 480px){

}


/* ==========================================================================
   SECTION — CTA GREEN (돼지 한 마리로 시작되는 기적)
   ========================================================================== */
.section-cta-green{--bg:#02AE3A;background: var(--bg);padding: 50px 0 0;color: #fff;}
.section-cta-green .cta-grid{display: flex;align-items: flex-start;    min-height: 360px;}
.section-cta-green .cta-img {align-self: flex-end;}
.section-cta-green .cta-img img{width: 100%;max-width: 681px;margin-left: auto;display: block;}
.section-cta-green .cta-body{padding-left: 20px;padding-top:100px;}
.section-cta-green .cta-heading{font-size: 44px;font-weight: 600;line-height: 1;letter-spacing: 0;margin-bottom: 40px;white-space: nowrap;color:#FFDB76;transform: translateX(-68px);}
.section-cta-green .cta-heading .dat{color:#FFFFFF;position: relative;}
.section-cta-green .cta-heading .dat::before{content: "";display: block;width: 9px;height: 9px;background: #146834;border-radius: 50%;position: absolute;left: 50%;top: 0;transform: translate(-50%, -100%);}
.section-cta-green .cta-desc{display: flex;flex-direction: column;row-gap: 15px;font-weight: 500;font-size: 25px;line-height: 1.3;letter-spacing: -0.01em;}

@media (max-width: 1120px){
    .section-cta-green .cta-heading{font-size: 42px;margin-bottom: 35px;transform: translateX(-68px);}
    .section-cta-green .cta-body {padding-left: 20px;padding-top: 22px;}
    .section-cta-green .cta-desc{font-size: 23px;}

}
@media (max-width: 960px){
    .section-cta-green .container {padding: 0;}
    .section-cta-green .cta-body {padding:0 var(--container-padding);}
    .section-cta-green .cta-grid {min-height: auto;flex-direction: column-reverse;row-gap: 10vw;}
    .section-cta-green .cta-heading {font-size: 6.666666666666667vw;margin-bottom: 5.625vw;transform: none;}
    .section-cta-green .cta-heading .dat::before {width: 1.25vw;height: 1.25vw;}
    .section-cta-green .cta-desc {font-size: 4.583333333333333vw;}
    .section-cta-green .cta-img {align-self: center}
    .section-cta-green .cta-img img{max-width: 360px;}
}
@media (max-width: 480px){
    .section-cta-green .cta-img img{max-width: 80%;margin: 0 auto;}
}

.section-cta-green .btn-cream{font-weight: 700;font-size: 20px;line-height: 1;letter-spacing: 0;padding: 16px 19px 17px;color: #146834;background: #FFDB76;border-radius: 0;display: inline-flex;align-items: center;gap: 30px;text-decoration: none;margin-top: 30px;transition: all .2s ease;}
.section-cta-green .btn-cream .arrow{display: block; flex-shrink: 0;transition: all .2s ease;}
@media (hover: hover){
    .btn-cream:hover, .btn-green:hover{transform: translateY(-2px); box-shadow: 0 6px 0 rgba(0,0,0,0.15);}
    .btn-cream:hover .arrow, .btn-green:hover .arrow{transform: translateX(4px);}
}
@media (max-width: 1120px){
    .btn-cream, .btn-green{font-size: 17px; padding: 14px 28px;}
}
@media (max-width: 960px){
    .btn-cream, .btn-green{font-size: 16px; padding: 13px 24px; gap: 10px;}
    .section-cta-green .btn-cream {font-size: 4.166666666666667vw;padding: 3.125vw 3.958333333333333vw ;gap: 7.916666666666667vw;margin-top: 6.25vw;}

}

/* ==========================================================================
   SECTION — STEPS
   ========================================================================== */
.section-steps{--bg:#F1FFE0;background: var(--bg);padding: 60px 0 70px;}
.section-steps .steps-heading{text-align: center;font-size: 43px;font-weight: 700;line-height: 1.35;letter-spacing: -0.02em;color: #01682E;margin-bottom: 32px;word-break: keep-all;}
.section-steps .steps-list{display: flex;justify-content: center;gap: 40px;margin-bottom: 32px;}
.section-steps .step-card{width: 280px;flex-shrink: 0;background: #fff;border-radius: 10px;overflow: hidden;display: flex;flex-direction: column;}
.section-steps .step-label{font-family: var(--font-sans),sans-serif;height: 43px;width: 100%;background: #02AE3A;color: #ffffff;font-weight: 700;font-size: 18px;line-height: 1.3;letter-spacing: 0.05em;text-align: center;display: flex;align-items: center;justify-content: center;}

.section-steps .step-content{padding: 22px 20px;}
.section-steps .step-img{ overflow: hidden; aspect-ratio: 24 / 16;}
.section-steps .step-img img{width: 100%; height: 100%; object-fit: cover;}
.section-steps .step-desc{font-family: var(--font-sans),sans-serif;font-weight: 500;font-size: 18px;line-height: 1.3;letter-spacing: -0.01em;text-align: center;color: #303030;padding: 15px 5px 4px;word-break: keep-all;}
.section-steps .step-desc .arrow{display: inline-flex;align-items: center;margin-right: 6px;transform: translateY(-3px)}
.section-steps .step-desc .arrow::before{content:'';display: inline-block;background-image: url("../images/icon-triangle.svg");width: 5px;height: 8px;}
.section-steps .step-desc .arrow::after{content:'';display: inline-block;background-image: url("../images/icon-triangle.svg");width: 5px;height: 8px;}
.section-steps .steps-swiper{display: none;}
.section-steps .steps-btn-box{text-align: center; margin-top: 10px;}
.section-steps .steps-btn-box .btn-cream{}
.section-steps .steps-btn-box .btn-cream{font-weight: 700;font-size: 20px;line-height: 1;letter-spacing: 0;padding: 16px 19px 17px;background: #01682E; color: #ffffff;border-radius: 0;display: inline-flex;align-items: center;gap: 30px;text-decoration: none;transition: all .2s ease;}
.section-steps .steps-btn-box .btn-cream .arrow{display: block; flex-shrink: 0;transition: all .2s ease;}


@media (max-width: 1120px){
    .section-steps{padding: 60px 0 70px;}
    .section-steps .steps-list {gap: 25px;}
    .section-steps .steps-heading{font-size: 42px;}
    .section-steps .step-card{width: 280px;}
    .section-steps .step-label{font-size: 18px;}
    .section-steps .step-desc{font-size: 18px;}
}
@media (max-width: 960px){
    .section-steps{padding: 12.5vw 0 14.58333333333333vw;}
    .section-steps .container{padding:0;}
    .section-steps .steps-heading{font-size: 6.3vw;margin-bottom: 8.333333333333333vw;}
    .section-steps .steps-list{display: none;}
    .section-steps .steps-swiper{display: block; margin-bottom: 30px; padding: 0 20px; overflow: hidden;}
    .section-steps .steps-swiper .swiper-slide{width: 80%;}
    .section-steps .step-content {padding: 6.25vw;}
    .section-steps .step-card{width: 100%;}
    .section-steps .step-label{font-size: 3.75vw;height: 8.958333333333333vw;}
    .section-steps .step-desc{font-size: 4.166666666666667vw;}
    .section-steps .steps-btn-box .btn-cream {font-size: 4.166666666666667vw;gap: 6.25vw;padding: 3.125vw 3.9vw ;}
    .section-steps .steps-btn-box .btn-cream .arrow {width: 3.75vw;}
}

/* ==========================================================================
   SECTION — GIFT (KEYRING)
   ========================================================================== */
.section-gift{--bg:#EDEDED;background: var(--bg);padding: 100px 0 20px;}
.section-gift .gift-heading{font-family: var(--font-sans),sans-serif;font-weight: 700;font-size: 48px;line-height: 1.2;letter-spacing: 0;text-align: center;color: #24AC4A;margin-bottom: 40px;word-break: keep-all;}
.section-gift .gift-heading .tx-green{color: #01682E;}
.section-gift .gift-main{display: flex;gap: 30px;align-items: center;margin-bottom: 10px;max-width: 827px;margin-left: auto;margin-right: auto;}
.section-gift .gift-main-img{text-align: center;width:565px;max-width: 100%;margin: 0 auto;}
.section-gift .gift-main-img img{width: 100%;height: 100%;display: block}
.section-gift .gift-features{display: flex; flex-direction: column; width:240px;height: stretch;justify-content: space-between;row-gap: 15px;}
.section-gift .gift-features-swiper{display: none;}
.section-gift .gift-feature {display: flex;flex-direction: column;background: #fff;border-radius: 10px;overflow: hidden;}
.section-gift .gift-feature-img{width: 100%; height: 120px;overflow: hidden;display: flex;align-items: center;justify-content: center;}
.section-gift .gift-feature-img img{width: 100%; height: 100%; object-fit: cover;}
.section-gift .gift-feature-body{padding: 10px 15px;}
.section-gift .gift-feature-title{font-family: var(--font-sans), sans-serif;font-weight: 700;font-size: 18px;line-height: 1.3;letter-spacing: -0.01em;text-align: center;color: #01682E;margin-bottom: 6px;}
.section-gift .gift-feature-desc{font-family:  var(--font-sans), sans-serif;font-weight: 500;font-size: 12px;line-height: 1.3;letter-spacing: -0.01em;text-align: center;color: #303030;word-break: keep-all;}
@media (max-width: 1200px){
    .section-gift .gift-main {gap: 34px;}
    .section-gift .gift-main-img{width:720px;}
}
@media (max-width: 1120px){
    .section-gift{padding: 60px 0;}
    .section-gift .gift-heading{font-size: 48px;margin-bottom: 40px;}
    .section-gift .gift-main-img{width:616px;}
    .section-gift .gift-feature-img {height: 127px;}
    .section-gift .gift-feature-title{font-size: 20px;margin-bottom: 6px;}
    .section-gift .gift-feature-desc{font-size: 12px;}
}

@media (max-width: 1040px){
    .section-gift .gift-main {flex-direction: column;}
    .section-gift .gift-features{flex-direction: row;width: 100%;gap: 20px;}
}

@media (max-width: 980px){
    .section-gift .gift-heading{font-size: 52px;margin-bottom: 50px;}
}
@media (max-width: 860px){
    .section-gift{padding: 14.58333333333333vw 0 6vw;}
    .section-gift .container {padding: 0;}
    .section-gift .gift-heading {font-size: 6.666666666666667vw;margin-bottom: 4.791666666666667vw;line-height: 1.4;}
    .section-gift .gift-main{grid-template-columns: 1fr; gap: 30px; margin-bottom: 30px;}
    .section-gift .gift-main-img{max-width: calc(100% - 146px);}
    .section-gift .gift-features{display: none;}
    .section-gift .gift-features-swiper{display: block; overflow: visible; margin-left: calc(-1 * var(--container-padding)); margin-right: calc(-1 * var(--container-padding)); padding: 0 var(--container-padding);}
    .section-gift .gift-features-swiper .swiper-slide{width: 60%;}
    .section-gift .gift-features-swiper .gift-feature{display: flex; flex-direction: column; background: #fff; border-radius: 10px; overflow: hidden;}
    .section-gift .gift-features-swiper .gift-feature-img{width: 100%; height: auto; aspect-ratio: 280 / 157;}
    .section-gift .gift-features-swiper .gift-feature-body{padding: 14px 16px;}
    .section-gift .gift-features-swiper .gift-feature-title{font-size: 4vw; margin-bottom: 6px;}
    .section-gift .gift-features-swiper .gift-feature-desc{font-size: 2vw;}
    .section-gift .gift-gallery{gap: 8px;}
}

/* ==========================================================================
   SECTION — GALLERY
   ========================================================================== */
.section-gallery{overflow: hidden;--bg:#EDEDED;background: var(--bg);padding: 20px 0 70px;}
.section-gallery .gallery-swiper{overflow: visible; width: 100%;}
.section-gallery .swiper-slide{width: 430px; flex-shrink: 0;}
.section-gallery .gallery-img{aspect-ratio: 650 / 600; overflow: hidden;border-radius: 10px;}
.section-gallery .gallery-img img{width: 100%; height: 100%; object-fit: cover;}
@media (max-width: 1120px){
    .section-gallery .swiper-slide{width: 43vw;}
    .section-gallery {padding: 0 0 80px;}
}
@media (max-width: 960px) {
    .section-gallery{padding:0 0 16.66666666666667vw;}
    .section-gallery .gallery-img{border-radius: 6px;}
}



/* ==========================================================================
   SECTION — FAQ
   ========================================================================== */
.section-faq{--bg:#F1FFE0;background-color: var(--bg);padding: 60px 0 120px;}
.section-faq .faq-heading{text-align: center;font-size: 48px;font-weight: 700;color: #01682E;margin-bottom: 32px;letter-spacing: 0.05em;}
.section-faq .faq-tabs{display: flex;justify-content: center;gap: 20px;margin-bottom: 36px;max-width: 760px;margin-left: auto;margin-right: auto;}
.section-faq .faq-tab{flex: 1;padding:4px 16px 6px;border-radius: 999px;background: #959595;border: none;font-size: 21px;font-weight: 700;color: #ffffff;cursor: pointer;transition: background-color .2s, color .2s;letter-spacing: -0.01em;}
.section-faq .faq-tab.is-active{background: var(--color-green); color: #fff;}

.section-faq .faq-panels{max-width: 760px; margin: 0 auto;}
.section-faq .faq-panel{display: none;flex-direction: column;row-gap: 20px;}
.section-faq .faq-panel.is-active{display: flex;}
.section-faq .faq-item{background-color: #ffffff;border-radius: 10px;}
.section-faq .faq-q{width: 100%;display: flex;align-items: flex-start;gap: 12px;padding: 17px 38px;border: none;text-align: left;cursor: pointer;font-family: var(--font-sans), sans-serif;font-weight: 500;font-size: 22px;line-height: 1.3;letter-spacing: -0.01em;color: #303030;}
.section-faq .faq-mark{color: #01682E; font-weight: 800; flex-shrink: 0;}
.section-faq .faq-q-text{flex: 1;}
.section-faq .faq-toggle{flex-shrink: 0;width: 12px; height: 9px;display: flex;align-items: center;justify-content: center;margin-top: 10px;}
.section-faq .faq-toggle img{width: 12px; height: 9px;transition: transform .25s ease;transform: rotate(0deg);}
.section-faq .faq-item.is-open .faq-toggle img{transform: rotate(180deg);}
.section-faq .faq-a{max-height: 0;overflow: hidden;transition: max-height .35s ease;background: #fff;border-radius: 10px;}

.section-faq .faq-item.is-open .faq-a{margin-bottom: 16px;}
.section-faq .faq-a {padding: 0 75px;}
.section-faq .faq-a p{padding: 12px 0 12px; font-size: 16px; font-weight:500;line-height: 1.7; color: #303030; letter-spacing: -0.01em;}
.section-faq .faq-inline-btn{display: inline-block;margin-top: 12px;padding: 7px 12px;background: #02AE3A;color: #fff;border-radius: 3px;font-size: 16px;font-weight: 500;}
.section-faq .faq-dot-list{margin-top: 6px;}
.section-faq .faq-dot-list li{display: flex;align-items: center;gap: 8px;font-size: 16px;font-weight: 500;line-height: 1.7;color: #303030;letter-spacing: -0.01em;}
.section-faq .faq-dot-list li::before{content: '';display: block;flex-shrink: 0;width: 5px;height: 5px;border-radius: 50%;background: #02AE3A;}

@media (max-width: 1120px) {
    .section-faq {padding: 60px 0;}
    .section-faq .faq-heading {font-size: 48px;margin-bottom: 40px;}
    .section-faq .faq-tab{font-size: 21px;padding: 9px 17px;}
}

@media (max-width: 960px){
    .section-faq{padding: 12.5vw 0 25vw;}
    .section-faq .faq-heading{font-size: 10.416666666666666vw;margin-bottom: 4.791666666666667vw;line-height: 1.2;}
    .section-faq .faq-tabs{max-width: 100%;gap: 2.083333333333333vw;margin-bottom: 7.5vw;}
    .section-faq .faq-tab{font-size: 3.541666666666667vw;padding: 1.25vw 0.416666666666667vw;}
    .section-faq .faq-panels{max-width: 100%;}
    .section-faq .faq-panel{row-gap: 4.166666666666667vw;}
    .section-faq .faq-q{font-size: 4.583333333333333vw;padding: 3.541666666666667vw 4.166666666666667vw;gap: 2.5vw;}
    .section-faq .faq-toggle{width: 2.5vw;height: 1.875vw;margin-top: 1.041666666666667vw;}
    .section-faq .faq-toggle img{width: 2.5vw;height: 1.875vw;}
    .section-faq .faq-item.is-open .faq-a{margin-bottom: 3.333333333333333vw;}
    .section-faq .faq-a{padding: 0 4.166666666666667vw 0 11.25vw;}
    .section-faq .faq-q-text{font-size:  4.166666666666667vw;}
    .section-faq .faq-a p{font-size: 3vw;padding: 0 0 3.333333333333333vw;}
    .section-faq .faq-inline-btn{font-size: 3.333333333333333vw;padding: 1.458333333333333vw 2.5vw;margin-top: 2.5vw;}
}

@media (max-width: 480px){

}

/* ==========================================================================
   FIX BUTTON (BOTTOM)
   ========================================================================== */
.fix-button{position: fixed;bottom: 0; left: 0;width: 100%;z-index: 100;display: none;}
.fix-button .button{display: flex;position: relative;width: 100%;height: var(--fix-button-height);background: #8E68EC;color: #fff;justify-content: center;align-items: center;font-weight: 700;font-size: 20px;column-gap: 16px;letter-spacing: -0.02em;text-align: center;transition: background-color .2s;}
.fix-button .button::after{content: '';width: 19px;height: 14px;background: url('../images/icon-arrow-y.svg') no-repeat center / contain;}

@media (max-width: 860px){
    .fix-button{display: block;}
}


/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer{background: var(--color02);width: 100%;padding: var(--fix-button-height) 60px ;}
.site-footer .footer-inner{max-width: var(--container-width);width: 100%;margin: 0 auto;display: flex;justify-content: space-between;align-items: flex-start;}
.site-footer .footer-logo-wrap > img{width: 200px; height: auto; display: block;}
.site-footer .footer-info :is(.footer-addr, .footer-copy){font-family: Noto Sans KR, sans-serif;font-weight: 350;font-size: 17px;line-height: 145%;letter-spacing: -2%;color: rgba(255, 255, 255, 0.5);}
@media (max-width: 1440px) and (min-width: 940px){
    .site-footer .footer-logo-wrap > img{width: 135px;}
    .site-footer .footer-info :is(.footer-addr,.footer-copy) {font-size: 14px;}
}
@media (max-width: 939px){
    .site-footer {padding:24px 32px calc(var(--fix-button-height) + 24px);}
    .site-footer .footer-inner{flex-direction: column;row-gap: 30px;align-items: flex-start;}
    .site-footer .footer-logo-wrap > img{width: 129px;}
    .site-footer .footer-info :is(.footer-addr,.footer-copy) {font-size: 14px;}
}
@media (max-width: 480px){
    .site-footer {padding:5vw 6.67vw calc(var(--fix-button-height) + 5vw);}
    .site-footer .footer-inner{row-gap: 6.25vw;}
    .site-footer .footer-logo-wrap > img{width: 26.88vw;}
    .site-footer .footer-info :is(.footer-addr,.footer-copy) {font-size: 2.92vw;}
}