* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
body {
    font-family:
        "Nanum Myeongjo",
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Apple SD Gothic Neo",
        "Malgun Gothic",
        sans-serif;
    color: #222;
    background: #faf8f5;
}
a {
    color: inherit;
    text-decoration: none;
}
ul {
    list-style: none;
}

.page-wrap {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* 헤더 */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;

    border-bottom: 0;
    background-image: url(images/common/pattern_01.png);
    background-repeat: repeat-x;
    background-size: auto 18px;
    background-position: 0 -8px;
}

.site-header.is-scrolled {
    border-bottom: 1px solid #eee;
    background-color: #fff; /* 변경할 색상 */
    box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}


.header-inner,
.mega-inner,
.body-inner,
.footer-inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
}

.header-inner {
    /* height: 88px; */
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 14px;
}

.logo {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.16em;
}
.logo img {
    height: 98px;
}
.logo span.sub {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.12em;
    color: #a38a6a;
}

.gnb {
    flex: 1;
    display: flex;
    justify-content: center;
    gap: 72px;
    font-size: 16px;
    font-weight: 500;
}
.gnb > li {
    position: relative;
    cursor: pointer;
    padding: 8px 0;
}
.gnb > li::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    transform-origin: center;
    transform: scaleX(0);
    background: #c89f56;
    transition: transform 0.2s ease-out;
}
.gnb > li:hover::after {
    transform: scaleX(1);
}

.header-utils {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 14px;
}
.search-btn {
    width: 30px;
    height: 30px;
    border-radius: 6px;
    border: 1px solid #c0aca1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    background: #c0aca1;
}

.lang-button:before {
    display: block;
    position: absolute;
    width: 0.6rem;
    height: 0.6rem;
    right: 1rem;
    margin-top: 7px;
    border: 1px solid #b2b2b2;
    border-top: 0;
    border-left: 0;
    content: "";
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(45deg);
}

.lang-select {
    position: relative;
    font-size: 14px;
    color: #666;
}

.lang-button {
    min-width: 130px;
    padding: 7px 14px;
    border-radius: 6px;
    border: 1px solid #d5d8dd;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    cursor: pointer;
    font-family: "Montserrat";
    font-size: 13px;
    color: #666;
}

.lang-arrow {
    font-size: 12px;
}

/* 드롭다운 */
.lang-list {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 130px;
    background: #fff;
    border-radius: 6px;
    border: 1px solid #d5d8dd;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    padding: 10px 0;
    list-style: none;
    z-index: 1000;

    opacity: 0;
    visibility: hidden;
    transform: translateY(4px);
    transition:
        opacity 0.18s ease,
        transform 0.18s ease,
        visibility 0s linear 0.18s;
}

.lang-select.is-open .lang-list {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
}

.lang-option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 14px;
    cursor: pointer;
    white-space: nowrap;
}

.lang-option:hover {
    background: #f5f7fa;
}

.lang-option.is-active span:last-child {
    font-weight: 600;
}

/* 플래그 (심플 스타일) */
.flag {
    width: 21px;
    height: 21px;
    border-radius: 50%;
    display: inline-block;
}

.flag-kr,
.flag-us,
.flag-jp,
.flag-tw,
.flag-cn {
    background-repeat: no-repeat;
    background-size: cover;
}

.flag-kr {
    background-image: url(images/icon/kr.png);
}
.flag-us {
    background-image: url(images/icon/us.png);
}
.flag-jp {
    background-image: url(images/icon/jp.png);
}
.flag-tw {
    background-image: url(images/icon/tw.png);
}
.flag-cn {
    background-image: url(images/icon/cn.png);
}

/* 메가 메뉴 */
.mega-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: #fff;
    border-bottom: 1px solid #eee;
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.04);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition:
        opacity 0.18s ease-out,
        transform 0.18s ease-out,
        visibility 0s linear 0.18s;
    pointer-events: none;
}

/* 헤더에 마우스가 올라가 있으면 전체 펼침 */
.site-header:hover .mega-menu,
.site-header:focus-within .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(1px);
    transition-delay: 0s;
    pointer-events: auto;
}

.mega-inner {
    /* display: grid; */
    /* grid-template-columns: repeat(6, minmax(0, 1fr)); */
    padding: 32px 40px 36px;
    font-size: 13px;
    width: 1200px;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

.mega-col h3 {
    font-size: 15px;
    font-weight: 600;
    margin-top: 24px;
    margin-bottom: 12px;
    color: #b1833f;
}
.mega-col h3:first-child {
    margin-top: 0;
}

.mega-col ul li + li {
    margin-top: 6px;
}
.mega-col li {
    color: #666;
}
.mega-col li::before {
    content: "• ";
    color: #bcb3a5;
}

/* 바디 */
main {
    flex: 1;
    background: #f9f7f4;
}
.body-inner {
    padding: 0 40px 40px;
}

.body-placeholder {
    max-width: 720px;
}
.body-placeholder h1 {
    font-size: 32px;
    margin-bottom: 16px;
}
.body-placeholder p {
    font-size: 15px;
    line-height: 1.7;
    color: #666;
}

.sns-wrap {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
    padding: 16px 0;
}

.sns-item {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.25s ease;
    cursor: pointer;
}

.sns-item svg {
    width: 40px;
    height: 40px;
    fill: #fff;
    opacity: 0.9;
    transition: 0.25s ease;
}
.sns-item img {
    width: 24px;
    height: 24px;
    opacity: 0.9;
    transition: 0.25s ease;
}
/* 호버 시 강조 */
.sns-item:hover {
    border-color: #fff;
}
.sns-item:hover svg {
    opacity: 1;
    transform: scale(1.08);
}

/* 푸터 */
footer {
    background: #333;
    color: #f5f5f5;
    padding: 0;
    font-size: 11px;
    font-family: Montserrat;
    letter-spacing: 0.03rem;
    line-height: 1.4;
}
.footer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
}
.footer-actions {
    display: flex;
    gap: 12px;
}
.footer-actions a {
    width: 98px;
    height: 28px;
    background: rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}
.footer-contact strong {
    display: block;
    margin-bottom: 4px;
    font-family: "Montserrat";
    font-weight: 700;
    font-size: 36px;
    letter-spacing: 0.06rem;
}
.footer-contact p {
    letter-spacing: 0;
    color: #cfcfcf;
}

.footer-contact p b {
    color: #fff;
}
.footer-middle {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    padding: 18px 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.footer-bottom {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-end;
    text-align: right;
    color: #cfcfcf;
}
.footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 4px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
}
.footer-copy {
    color: #aaa;
}

@media (max-width: 1024px) {
    .header-inner {
        padding: 0 20px;
    }
    .mega-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 24px 20px 28px;
    }
    .gnb {
        gap: 32px;
        font-size: 15px;
    }
    .footer-top {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* 우측 퀵메뉴 */
.quick-right {
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 900;
}

.quick-right ul {
    list-style: none;
    margin: 0;
    padding: 20px 7px;
    width: 65px;
    background: #ffffff;
    border-radius: 30px 0 0 30px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    border: 1px solid #e4e4e4;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.quick-right li + li {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #f0f0f0;
}

.quick-right a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-decoration: none;
    color: #666;
    font-size: 11px;
    line-height: 1.4;
    transition: color 0.2s ease;
}

.quick-icon img {
    display: block;
    width: 30px;
    height: 30px;
    transition: filter 0.2s ease;
}

.quick-label {
    white-space: nowrap;
}

/* Hover 시 텍스트 컬러 */
.quick-right a:hover {
    color: #b4792c;
}

/* Hover 시 아이콘 컬러 (#B4792C 변환 필터 적용) */
.quick-right a:hover .quick-icon img {
    filter: invert(44%) sepia(66%) saturate(518%) hue-rotate(356deg) brightness(95%) contrast(91%);
}

/* 모바일에서는 숨김 */
@media (max-width: 768px) {
    .quick-right {
        display: none;
    }
}



/* ===========================
   브랜드 소개 > 소월당 탄생 배경
   (sub-brand-origin 전용)
   =========================== */

.sub-brand-origin {
    max-width: 1440px;
    margin: 0 auto;
    padding-bottom: 100px;
}

/* 상단 비주얼 */
.brand-origin__hero img {
    width: 100%;
    display: block;
    border-radius: 4px;
}

/* 탭 메뉴 */
.sub_tabs {
    margin: 0;
    border-bottom: 1px solid #e1e1e1;
}

.sub_tabs ul {
    display: flex;
    gap: 12px;
    padding: 12px 0;
    font-size: 16px;
    color: #333;
    justify-content: center;
}

.sub_tabs li {
    cursor: pointer;
    padding: 5px 24px;
    transition: 0.2s ease;
}

.sub_tabs li.is-active,
.sub_tabs li:hover {
    padding: 5px 24px;
    border-radius: 999px;
    background: #D6A84E;
    color: #fff;
    font-weight: 600;
}

/* 인트로 */
.sub-brand-origin .brand-origin__intro {
    text-align: center;
    margin: 80px auto;
}

.sub-brand-origin .brand-origin__intro-title {
    font-size: 42px;
    letter-spacing: 0;
    margin-bottom: 18px;
}

.sub-brand-origin .brand-origin__intro-title span {
    font-family: Yet R, "Times New Roman", serif;
    font-size: 64px;
    margin-left: 6px;
}

.sub-brand-origin .brand-origin__intro-text {
    font-size: 18px;
    line-height: 1.9;
    color: #666;
    max-width: 800px;
    margin: 0 auto 28px;
    letter-spacing: -0.03rem;
}

.sub-brand-origin .brand-origin__intro-button {
    display: inline-block;
    padding: 18px 36px;
    font-size: 18px;
    border-radius: 10px;
    border: 1px solid #d3c3a0;
    background: #fff;
    color: #8a6b36;
}

/* 스토리 섹션 (2단) */
.sub-brand-origin .brand-origin__story {
    display: grid;
    grid-template-columns: 2fr 1.6fr;
    gap: 100px;
    align-items: center;
}

.sub-brand-origin .brand-origin__story-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.sub-brand-origin .brand-origin__story-images img {
    width: 100%;
    display: block;
}

.sub-brand-origin .brand-origin__story-text {
    font-size: 18px;
    line-height: 1.6;
    color: #666;
    letter-spacing: -0.06rem;
}

.text-lead {
    font-size: 20px !important;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 18px !important;
    color: #444;
}


.sub-brand-origin .brand-origin__story-text p + p {
    margin-top: 14px;
}

/* 산지 전경 이미지 */
.sub-brand-origin .brand-origin__farm-hero {
    margin-bottom: 70px;
}

.sub-brand-origin .brand-origin__farm-hero figure {
    position: relative;
}

.sub-brand-origin .brand-origin__farm-hero img {
    width: 100%;
    display: block;
}

.sub-brand-origin .brand-origin__farm-hero figcaption {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 18px;
    padding: 12px 32px;
    background: #8EB833;
    color: #fff;
    border-radius: 0;
}

/* 울산 두서면 설명 */
.sub-brand-origin .brand-origin__farm-desc {
    display: grid;
    grid-template-columns: 1.3fr 2fr;
    gap: 40px;
    align-items: flex-start;
    margin-bottom: 80px;
}

.sub-brand-origin .brand-origin__farm-heading {
    font-size: 42px;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.08em;
    /* white-space: pre-line; */
}

.sub-brand-origin .brand-origin__farm-text {
    font-size: 18px;
    line-height: 1.4;
    color: #666;
}

.sub-brand-origin .brand-origin__farm-text p + p {
    margin-top: 12px;
}

/* 하단 이미지 그리드 */
.sub-brand-origin .brand-origin__photos-top {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    justify-content: center;
}

.sub-brand-origin .brand-origin__photo-large,
.sub-brand-origin .brand-origin__photo-column img,
.sub-brand-origin .brand-origin__photos-bottom img {
    width: auto;
    max-width: 100%;
    display: block;
}

.sub-brand-origin .brand-origin__photos-bottom {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    justify-content: center;
}

/* 반응형 */
@media (max-width: 960px) {
    .sub-brand-origin {
        padding-bottom: 60px;
    }

    .sub-brand-origin .brand-origin__story {
        grid-template-columns: 1fr;
    }

    .sub-brand-origin .brand-origin__farm-desc {
        grid-template-columns: 1fr;
    }

    .sub-brand-origin .brand-origin__farm-heading {
        font-size: 20px;
    }

    .sub-brand-origin .brand-origin__photos-top {
        grid-template-columns: 1fr;
    }
}


/* ===========================
   브랜드 소개 > 브랜드 철학
   (sub-brand-philo 전용)
   =========================== */

.sub-brand-philo {
    max-width: 1440px;
    margin: 0 auto;
    padding-bottom: 120px;
}

/* 상단 비주얼 */
.sub-brand-philo img {
    /*width: 100%;*/
    display: block;
    border-radius: 4px;
}


/* 상단 인트로 (브랜드 철학 제목 & 한 줄 설명) */
.sub-brand-philo .brand-philo__intro {
    text-align: center;
    padding: 40px 0;
}

.sub-brand-philo .brand-philo__intro-title {
    font-size: 42px;
    letter-spacing: 0;
    margin-bottom: 18px;
}

.sub-brand-philo .brand-philo__intro-text {
    font-size: 18px;
    line-height: 1.9;
    color: #666;
    max-width: 720px;
    margin: 0 auto;
    letter-spacing: -0.03rem;
}

/* 공통 섹션(이미지 + 텍스트 2단) */
.sub-brand-philo .brand-philo__section {
    display: grid;
    /* grid-template-columns: minmax(0, 1.55fr) minmax(0, 1.3fr); */
    gap: 60px;
    align-items: center;
    margin: 0;
}

.sub-brand-philo .brand-philo__section-image img {
    width: 100%;
    display: block;
}

.sub-brand-philo .brand-philo__section-text {
    font-size: 16px;
    line-height: 1.9;
    color: #4B515B;
    letter-spacing: -0.04rem;
    text-align: center;
}

.sub-brand-philo .brand-philo__section-text2 {
 width: 600px;
 text-align: left;
 margin-left: 100px;
 color: #333;
}


/* 섹션 타이틀 & 본문 */
.sub-brand-philo .brand-philo__section-title {
    font-size: 40px;
    line-height: 1.5;
    margin-bottom: 20px;
    letter-spacing: -0.04rem;
}

.sub-brand-philo .brand-philo__section-lead {
    font-size: 16px;
    line-height: 1.9;
    color: #666;
    margin-bottom: 14px;
}

.sub-brand-philo .brand-philo__section-body p + p {
    margin-top: 10px;
}

/* 이미지-텍스트 순서 반전 섹션 (하단 장인정신 영역) */
.sub-brand-philo .brand-philo__section--reverse {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.55fr);
}

.sub-brand-philo .brand-philo__section--reverse .brand-philo__section-image {
    order: 1;
}
.sub-brand-philo .brand-philo__section--reverse .brand-philo__section-text {
    order: 2;
}

/* 중간 가로 이미지 행 (2~3장 가로 배치) */
.sub-brand-philo .brand-philo__gallery-row {
    display: flex;
    gap: 18px;
    justify-content: center;
    margin: 60px 0 80px;
}

.sub-brand-philo .brand-philo__gallery-row img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* 맨 아래 4장 썸네일 행 */
.sub-brand-philo .brand-philo__gallery-row--4 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 40px;
}

.sub-brand-philo .brand-philo__gallery-row--4 img {
    width: 100%;
    display: block;
}

/* 반응형 */
@media (max-width: 960px) {
    .sub-brand-philo {
        padding-bottom: 80px;
    }

    .sub-brand-philo .brand-philo__section {
        grid-template-columns: 1fr;
        gap: 32px;
        margin: 60px 0 20px;
    }

    .sub-brand-philo .brand-philo__section--reverse .brand-philo__section-image,
    .sub-brand-philo .brand-philo__section--reverse .brand-philo__section-text {
        order: initial; /* 모바일에서는 자연스러운 순서 */
    }

    .sub-brand-philo .brand-philo__gallery-row {
        flex-wrap: wrap;
        margin: 40px 0 60px;
    }

    .sub-brand-philo .brand-philo__gallery-row--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sub-brand-philo .brand-philo__intro-title {
        font-size: 32px;
    }
}





/* ===========================
   공통 Divider (가로 라인)
   =========================== */
.divider {
    width: 100%;
    height: 1px;
    background-color: #e5e5e5;
    margin: 100px 0;
}

/* 금색 버전 */
.divider--gold {
    background-color: #D6A84E;
}

/* 여백 작은 버전 */
.divider--sm {
    margin: 60px 0;
}

/* 여백 넓은 버전 */
.divider--lg {
    margin: 180px 0;
}

/* 여백  버전 */
.divider--none {
    margin: 0;
}

.mt0 { margin-top: 0}

.mb40 { margin-bottom: 40px}


/* ===========================
   세로 Divider (vertical)
   =========================== */
.divider-vertical {
    width: 1px;
    height: 100%;
    background-color: #e5e5e5;
}

/* 세로 라인의 높이를 고정하고 싶을 때 */



.divider-vertical--100 {
    height: 100px;
}

.divider-vertical--200 {
    height: 200px;
}

.divider-vertical--fill {
    height: 100%;
}

/* 금색 세로 라인 */
.divider-vertical--gold {
    background-color: #D6A84E;
}

/* ===========================
   Inner Divider (좌우 여백 고정)
   섹션 안에서 좌우 폭을 제한하고 싶을 때
   =========================== */

/* 기본: 좌우 40px 여백 안에서 가로 라인 */
.divider-inner {
    width: calc(100% - 80px); /* 양쪽 40px 씩 */
    margin: 100px auto;
    height: 1px;
    background-color: #e5e5e5;
}

/* 금색 버전 */
.divider-inner--gold {
    background-color: #D6A84E;
}

/* 좁은 내부 여백 (양쪽 20px) */
.divider-inner--sm {
    width: calc(100% - 40px);
}

/* 넓은 내부 여백 (양쪽 80px) */
.divider-inner--lg {
    width: calc(100% - 160px);
}

/* Inner + small spacing */
.divider-inner--space-sm {
    margin: 80px auto;
}

/* Inner + large spacing */
.divider-inner--space-lg {
    margin: 180px auto;
}

/* ===========================
   브랜드 소개 > 대표 인사말
   (sub-brand-greeting 전용)
   =========================== */

.sub-brand-greeting {
    max-width: 1440px;
    margin: 0 auto;
    padding-bottom: 120px;
}

/* 제목 영역 */
.sub-brand-greeting .brand-greeting__title-box {
    text-align: center;
    margin: 120px 0 100px;
}

.sub-brand-greeting .brand-greeting__title {
    font-size: 38px;
    letter-spacing: -0.02em;
    z-index: 100;
    position: relative;
}

.sub-brand-greeting .brand-greeting__title .title-kanji {
    position: relative;
    
    font-family: Yet R, "Times New Roman", serif;
    font-size: 64px;
    margin-left: 6px;
    
    
}

.sub-brand-greeting .brand-greeting__title .title-kanji::after {
    content: "";
    width: 100px;
    height: 97px;
    background: url('./images/common/gold_brush.png') no-repeat center/contain;
    position: absolute;
    right: -180px;
    top: -50px;
    z-index: -1;
}

/* 이미지 + 텍스트 2단 구성 */
.sub-brand-greeting .brand-greeting__content {
    display: grid;
    grid-template-columns: 1.4fr 1.6fr;
    gap: 80px;
    align-items: center;
    padding: 0 40px;
    margin-top: 60px;
}

.sub-brand-greeting .brand-greeting__image img {
    width: 100%;
    display: block;
    border-radius: 4px;
}

/* 텍스트 */
.sub-brand-greeting .brand-greeting__text {
    font-size: 17px;
    line-height: 1.9;
    color: #444;
    letter-spacing: -0.03em;
}

.sub-brand-greeting .brand-greeting__text p + p {
    margin-top: 14px;
}

/* 인사말 강조 */
.sub-brand-greeting .greeting-lead {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 12px;
    color: #222;
}

.sub-brand-greeting .greeting-end {
    margin-top: 20px;
    font-weight: 600;
    font-size: 18px;
}

/* 반응형 */
@media (max-width: 960px) {
    .sub-brand-greeting .brand-greeting__content {
        grid-template-columns: 1fr;
        gap: 40px;
        padding: 0 20px;
    }

    .sub-brand-greeting .brand-greeting__title {
        font-size: 32px;
    }

    .sub-brand-greeting .brand-greeting__title .title-kanji {
        font-size: 40px;
    }
}


/* history */
.history{padding: 0;}
.history .company_title{display:flex;justify-content:space-between;align-items:center}
.history .company_title .img_area{width:79rem;height:49.6rem; margin-right: 10rem;}
.history .company_title .tit_area{width:50%}
.history_wrap .max_inner{max-width: unset;}
.history_cont{position:relative}
.history_cont:after{display:block;clear:both;content:''}
.history_menu{float:left;width:35%;padding-top:15rem}
.history_menu li{margin-bottom:5rem}
.history_menu li a{color:#b1b1b1;font-weight:600;font-size: 36px;letter-spacing:-.05rem;transition:all ease .6s}
.history_menu li a .tit2{display:none}
.history_menu li a span{line-height:1.2}
.history_menu li a span strong{display:inline-block;color:#7cbb25;font-weight:700;font-size:4.8rem;vertical-align:baseline}
.history_menu li.on a{color:#333} 
.history_menu li.on a .tit1{display:none}
.history_menu li.on a .tit2{display:block}
.history_menu.fixed{position:fixed;top:1rem}
.history_menu.off{position:absolute;top:initial}
.history_tab{float:right;max-width:600px;width:54%}  
.history_tab>div{padding-top: 30px;margin-bottom: 30px;}
.history_tab .title{display:block;padding-bottom:2rem;margin-bottom:2.5rem;border-bottom: 2px solid #333;color:#000;font-size: 32px;font-family:'Montserrat',sans-serif}  
.history_tab .title i { float: right; color: #999; /*display: inline-block;*/ margin-right: 1rem; font-size:3rem; font-weight: 100}
.history_tab ul li{position:relative;padding-left: 120px;color:#333;font-size: 20px;line-height: 36px;}
.history_tab ul li .year{position:absolute;top:0;left:0;color: #333;font-size: 24px;font-family:'Montserrat',sans-serif}
/*.history_tab ul li .year:after{position:absolute;top:50%;right:0;width:1rem;height:1rem;border:2px solid #7cbb25;border-radius:50%;content:'';transform:translateY(-50%)} */
.history_img{margin: 30px 0;display: flex;gap: 10px;}
.history_img img{max-width:100%;}


/* ===========================
   브랜드 소개 > 연혁
   (sub-brand-history 전용)
   =========================== */

.sub-brand-history {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0px 40px 120px;
}

/* 타이틀 */
.sub-brand-history .brand-history__title-box {
  text-align: center;
  margin: 100px 0 100px;
}

.sub-brand-history .brand-history__title {
  font-size: 42px;
  letter-spacing: 0;
  margin-bottom: 18px;
}

/* 상단 인트로 (이미지 + 텍스트) */
.sub-brand-history .brand-history__intro {
  display: flex;
  gap: 100px;
  align-items: center;
}


.sub-brand-history .brand-history__intro-image img {
  /* width: 100%; */
  display: block;
  border-radius: 4px;
}

.sub-brand-history .brand-history__intro-text {
  font-size: 18px;
  line-height: 1.6;
  color: #666;
  letter-spacing: -0.03em;
}

.sub-brand-history .brand-history__intro-text p + p {
  margin-top: 12px;
}


/* ===========================
   브랜드 소개 > 인증 및 실적
   (sub-brand-cert 전용)
   =========================== */

.sub-brand-cert {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0px 40px 140px;
}

/* 타이틀 영역 */
.sub-brand-cert .brand-cert__intro {
    text-align: center;
    margin-bottom: 60px;
}

.sub-brand-cert .brand-cert__title {
    font-size: 34px;
    font-weight: 500;
    margin-bottom: 16px;
}

.sub-brand-cert .brand-cert__text {
    font-size: 15px;
    line-height: 1.9;
    color: #666;
    letter-spacing: -0.03em;
}

/* 인증서 그리드 */
.sub-brand-cert .brand-cert__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 60px 40px;
    justify-items: center;
}

/* 개별 아이템 */
.sub-brand-cert .brand-cert__item {
    text-align: center;
}

/* 이미지 박스 */
.sub-brand-cert .brand-cert__thumb {
    width: 100%;
    max-width: 280px;
    margin: 0 auto 16px;
}

.sub-brand-cert .brand-cert__thumb img {
    width: 100%;
    display: block;
    border-radius: 4px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.12);
}

/* 캡션 */
.sub-brand-cert .brand-cert__caption {
    font-size: 14px;
    line-height: 1.6;
    color: #444;
    letter-spacing: -0.02em;
}

/* 반응형 */
@media (max-width: 1024px) {
    .sub-brand-cert {
        padding: 60px 20px 120px;
    }

    .sub-brand-cert .brand-cert__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 50px 30px;
    }
}

@media (max-width: 640px) {
    .sub-brand-cert .brand-cert__grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .sub-brand-cert .brand-cert__thumb {
        max-width: 240px;
    }
}



/* ===========================
   서브페이지 공통 타이틀 영역
   =========================== */

.sub-detail {}

.subpage-title {
    text-align: center;
    padding: 100px 0;
    border-bottom: #e5e5e5 solid 1px;
    margin-bottom: 100px;
    position: relative; /* 기준점 유지 */
}

.subpage-title.border-bottom-none {  border-bottom: 0;
    margin-bottom: 0; }


.subpage-title h2 {
    font-size: 42px;
    margin-bottom: 36px;
    position: relative;
    display: inline-block; /* stacking context 방지 */
    z-index: 1
}

.bg_pear { margin-top:20px; }

.subpage-title .bg_pear::after {
    content: "";
    width: 70px;
    height: 68px;
    background: url(./images/common/pear.png) no-repeat center / contain;
    position: absolute;
    top: -40px;
    right: -40px;
    z-index: -1;
    pointer-events: none;
}


.subpage-title p {
    font-size: 18px;
    line-height: 1.6;
    color: #666;
    max-width: 100%;
    margin: 0 auto;
    letter-spacing: -0.03rem;
}

.subpage-title .img_c { margin: 60px auto 0  }

@media (max-width: 640px) {
    .subpage-title h2 {
        font-size: 28px;
    }
    .subpage-title p {
        font-size: 14px;
    }
    
    .subpage-title .img_c { margin: 60px auto 0 }
}




/* =============================
   공통 영역 - 기본 이미지 + 텍스트 좌우 
============================= */
 sub-detail {
  margin: 0 auto;
  padding: 0;
}

.sub-hero {
    display: flex;
    align-items: center;
    gap: 100px;
    margin-bottom: 100px;
}


.row-reverse { flex-direction: row-reverse; }

.sub-hero__image { }

.sub-hero__image.left300 { margin-left: -300px}

.sub-hero__image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

.sub-hero__text {
    flex: 1;
}

.sub-hero.row-reverse .sub-hero__text { text-align: right}

.sub-hero__text h2 {
    font-size: 40px;
    line-height: 1.5;
    margin-bottom: 20px;
    letter-spacing: -0.04rem;
}

.sub-hero__text p {
    font-size: 18px;
    line-height: 1.6;
    color: #666;
    letter-spacing: -0.03em;
}

.sub-hero__text p.text-lead {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 18px;
    color: #444;
}

.sub-column {
    display: flex;
    align-items: center;
    gap: 100px;
        flex-direction: column;
    margin-bottom: 100px;
    text-align: center;
}

.sub-column__image { }

.sub-column__image.three { display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 60px 40px;
    justify-items: center;}


.sub-column .sub-hero__text { max-width: 620px }

.sub-column .sub-hero__text_full {
max-width: 620px;
    position: absolute;
    text-align: left;
    margin-top: 150px;
    margin-left: -600px;
}

.sub-column .sub-hero__text_full h2 { color: #fff;     font-size: 40px;
    line-height: 1.5;
    margin-bottom: 20px;
    letter-spacing: -0.04rem; }
.sub-column .sub-hero__text_full p { color: #fff; font-size: 18px;
    line-height: 1.6;
    letter-spacing: -0.03em; }


/* ===========================
   명과 스토리 > 울산 배 이야기
   (sub-story-ulsan-pear 전용)
   =========================== */

.sub-story-ulsan-pear {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
}

/* 공통 섹션 기본 여백 */
.sub-story-ulsan-pear .story-pear__section {
    margin-bottom: 120px;
}

/* 1. 섹션: 햇빛이 만든 달콤함 */
.sub-story-ulsan-pear .story-pear__image-wide img {
    width: 100%;
    display: block;
    border-radius: 4px;
}

.sub-story-ulsan-pear .story-pear__text-row {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr);
    gap: 40px;
    align-items: flex-start;
    margin-top: 40px;
}

.sub-story-ulsan-pear .story-pear__heading {
    font-size: 40px;
    font-weight: bold;
    line-height: 1.2;
}

.sub-story-ulsan-pear .story-pear__text-row p {
    font-size: 18px;
    line-height: 1.6;
    color: #666;
}

/* 2. 섹션: 산과 바람이 지켜준 깨끗한 재배 환경 */
.sub-story-ulsan-pear .story-pear__section--clean .story-pear__image-wide {
    margin-bottom: 40px;
}

.sub-story-ulsan-pear .story-pear__center-text {
    text-align: center;
    /* max-width: 720px; */
    margin: 0 auto;
}

.sub-story-ulsan-pear .story-pear__center-text h3 {
    font-size: 40px;
    line-height: 1.5;
    margin-bottom: 20px;
    letter-spacing: -0.04rem;
}

.sub-story-ulsan-pear .story-pear__center-text p {
    font-size: 18px;
    line-height: 1.9;
    color: #666;
    letter-spacing: -0.03em;
}

/* 3. 섹션: 오래 지켜온 작은 농가의 정성 */
.sub-story-ulsan-pear .story-pear__two-col {
    display: grid;
    grid-template-columns: minmax(0, 540px) minmax(0, 1.7fr);
    column-gap: 100px;
    align-items: center;
    margin-bottom: 80px;
}

.sub-story-ulsan-pear .story-pear__image-left img {
    width: 100%;
    display: block;
    border-radius: 4px;
}

/* 이미지 오른쪽 텍스트 + 세로 구분선 */
.sub-story-ulsan-pear .story-pear__text-right {
    display: flex;
    align-items: stretch; 
}

.story-pear__text-right:after {
    content: "";
    position: absolute;
    border-left: 1px solid #000; /* ← 가로 → 세로 변경 */
    height: 180px; /* ← width → height 변경 */
    margin-top: 300px;
    display: block;
}

.story-pear__text-right:before {
    content: "";
    position: absolute;
    border-left: 1px solid #000; /* ← 가로 → 세로 변경 */
    height: 180px; /* ← width → height 변경 */
    margin-top: -230px;
    display: block;
}

.sub-story-ulsan-pear .story-pear__divider-vertical {
    width: 1px;
    background-color: #e5e5e5;
    height: auto;
    margin: 0 36px 0 0;
}

.sub-story-ulsan-pear .story-pear__text-block {
    flex: 1;
}

.sub-story-ulsan-pear .story-pear__text-block h3 {
    font-size: 40px;
    line-height: 1.4;
    margin-bottom: 20px;
}

.sub-story-ulsan-pear .story-pear__text-block p {
    font-size: 18px;
    line-height: 1.6;
    color: #666;
    letter-spacing: -0.03em;
}

.sub-story-ulsan-pear .story-pear__text-block p + p {
    margin-top: 10px;
}

/* 마지막 마무리 카피 */
.sub-story-ulsan-pear .story-pear__closing {
    max-width: 620px;
    margin: 0 auto;
    text-align: center;
}

.sub-story-ulsan-pear .story-pear__closing p {
    font-size: 15px;
    line-height: 1.9;
    color: #666;
    letter-spacing: -0.03em;
}

.sub-story-ulsan-pear .story-pear__closing p + p {
    margin-top: 14px;
}

.sub-story-ulsan-pear .story-pear__icon {
    margin-top: 32px;
}

.sub-story-ulsan-pear .story-pear__icon img {
    width: 56px;
    height: 56px;
    display: block;
    margin: 0 auto;
}

/* 반응형 */
@media (max-width: 1024px) {
    .sub-story-ulsan-pear {
        padding: 0 24px 100px;
    }

    .sub-story-ulsan-pear .story-pear__text-row {
        grid-template-columns: 1fr;
        gap: 16px;
        text-align: left;
    }

    .sub-story-ulsan-pear .story-pear__two-col {
        grid-template-columns: 1fr;
    }

    .sub-story-ulsan-pear .story-pear__text-right {
        flex-direction: column;
    }

    .sub-story-ulsan-pear .story-pear__divider-vertical {
        width: 40px;
        height: 1px;
        margin: 24px 0;
        align-self: center;
    }

    .sub-story-ulsan-pear .story-pear__text-block {
        text-align: left;
    }
}



/* ===========================
   울산 배 이야기 — 섹션 2 이미지 Full-Width
   =========================== */

.sub-story-ulsan-pear .story-pear__section--clean .story-pear__image-wide {
    width: 100vw;                   /* 브라우저 너비 100% */
    max-width: 1900px;              /* 최대 1900px */
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;             /* 전체 화면 기준 중앙 이동 */
    margin-right: -50vw;
    overflow: hidden;
}

.sub-story-ulsan-pear .story-pear__section--clean .story-pear__image-wide img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}


@media (max-width: 640px) {
    .sub-story-ulsan-pear {
        padding: 0 18px 80px;
    }

    .sub-story-ulsan-pear .story-pear__section {
        margin-bottom: 90px;
    }
}

/* ===========================
   명과 스토리 > 수제 제조 과정
   (sub-story-handmade 전용)
   =========================== */

.sub-story-handmade {
    /* max-width: 1200px; */
    margin: 0 auto;
    padding: 0 40px 120px;
}

/* 공통 섹션 간 여백 */
.sub-story-handmade .handmade-section {
    margin-bottom: 120px;
}

/* 1. 원재료 소싱 섹션 --------------------------- */

/* 상단 과수원 전경 이미지 */
.sub-story-handmade .handmade-hero-image img {
    width: 100%;
    display: block;
    border-radius: 4px;
}

/* 좌측 이미지 + 우측 텍스트 레이아웃 */
.sub-story-handmade .handmade-source-row {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.6fr);
    gap: 48px;
    align-items: center;
    margin-top: 40px;
}

.sub-story-handmade .handmade-source-image img {
    width: 100%;
    display: block;
    border-radius: 0 200px;
    position: relative;
    margin-top: -250px;
    margin-left: -50px;
    border: #fff solid 5px;
}

.sub-story-handmade .handmade-source-text {
    margin-bottom: 24px;
    font-size: 17px;
    line-height: 1.9;
    color: #444;
    letter-spacing: -0.03em;
}

.sub-story-handmade .handmade-source-text h3 {
    font-size: 40px;
    margin-bottom: 24px;
}

/* 2. 수제 공정 섹션 --------------------------- */

.sub-story-handmade .handmade-process-title {
    text-align: center;
    margin-bottom: 40px;
    font-size: 17px;
    line-height: 1;
    letter-spacing: -0.03em;
}

.sub-story-handmade .handmade-process-title h3 {
    font-size: 40px;
    line-height: 1.5;
    margin-bottom: 24px;
    letter-spacing: -0.04rem;
}

/* 상단 2단 이미지 */
.sub-story-handmade .handmade-process-two-col {
    display: flex;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 40px;
    justify-content: center;
}

.sub-story-handmade .handmade-process-two-col img {
    width: 100%;
    display: block;
    border-radius: 4px;
}

.sub-story-handmade .handmade-process-two-col p {
    margin-top: 10px;
}

/* 공정 3열 이미지 갤러리 */
.sub-story-handmade .handmade-process-gallery {
    display: flex;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.sub-story-handmade .handmade-process-gallery-item img {
    width: 100%;
    display: block;
    border-radius: 4px;

   
}


.handmade-process-desc {
    background-color: #e9eef8;
    padding: 40px 90px;
    font-size: 18px;
    line-height: 1.6;
    margin: 40px auto;
    border-radius: 100px;
    text-align: center;
    max-width: 900px;
    color: #4B515B;
    letter-spacing: -0.05rem;
}

/* 3. 품질관리 섹션 --------------------------- */

.sub-story-handmade .handmade-quality-title {
    text-align: center;
    margin-bottom: 40px;
    font-size: 16px;
    line-height: 1.6;
    color: #444;
    max-width: 100%;
    letter-spacing: -0.03rem;
}

.sub-story-handmade .handmade-quality-title h3 {
    font-size: 40px;
    line-height: 1.5;
    margin-bottom: 20px;
    letter-spacing: -0.04rem;
}

/* 품질 3단 원형 그래픽 */
/* 품질 3단 원형 그래픽 – 텍스트 오버레이 버전 */
.sub-story-handmade .handmade-quality-steps {
    display: flex;
    justify-content: center;
    gap: 60px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

/* 각 스텝 컨테이너 */
.sub-story-handmade .handmade-quality-step {
    position: relative;
}

/* 골드 브러시 원형 + 텍스트 */
.sub-story-handmade .handmade-quality-circle {
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: url(./images/common/gold_brush.png) no-repeat center / cover;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
    box-sizing: border-box;
}

/* 타이틀 */
.sub-story-handmade .handmade-quality-circle h4 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 24px;
}

/* 내용 3줄 */
.sub-story-handmade .handmade-quality-circle p {
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: -0.09rem;
}

/* 반응형 조정 */
@media (max-width: 1024px) {
    .sub-story-handmade .handmade-quality-steps {
        gap: 40px;
    }
}

@media (max-width: 640px) {
    .sub-story-handmade .handmade-quality-circle {
        width: 220px;
        height: 220px;
        padding: 0 18px;
    }

    .sub-story-handmade .handmade-quality-circle h4 {
        font-size: 18px;
    }

    .sub-story-handmade .handmade-quality-circle p {
        font-size: 13px;
    }
}


/* 품질 안내 문단이 들어갈 경우 */
.sub-story-handmade .handmade-quality-notice {
    text-align: center;
    color: #777;
    padding-top: 30px;
}

/* 4. 마지막 쿠키 이미지 --------------------------- */

.sub-story-handmade .handmade-final-image {
    margin-top: 40px;
}

.sub-story-handmade .handmade-final-image img {
    width: 100%;
    display: block;
    border-radius: 4px;
}

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

@media (max-width: 1024px) {
    .sub-story-handmade {
        padding: 0 24px 100px;
    }

    .sub-story-handmade .handmade-source-row {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .sub-story-handmade .handmade-process-two-col {
        grid-template-columns: 1fr;
    }

    .sub-story-handmade .handmade-process-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sub-story-handmade .handmade-quality-steps {
        gap: 40px;
    }
}

@media (max-width: 640px) {
    .sub-story-handmade {
        padding: 0 18px 80px;
    }

    .sub-story-handmade .handmade-section {
        margin-bottom: 90px;
    }

    .sub-story-handmade .handmade-process-gallery {
        grid-template-columns: 1fr;
    }

    .sub-story-handmade .handmade-quality-step img {
        width: 160px;
    }
}

/* --- 3단 카드 전체 --- */
.guide-cards {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 20px auto;
  max-width: 1400px;
}

/* --- 각 카드 --- */
.guide-card {
  width: 360px;
  height: 450px;
  position: relative;
  overflow: hidden;
  border-radius: 180px;
    
      /* 등장 애니메이션 초기값 */
  opacity: 0;
  transform: translateY(30px);
}



/* 스크롤로 활성화된 카드 상태 */
.guide-card.is-visible {
  animation: guideFadeUp 0.7s ease-out forwards;
}

/* 카드별 약간씩 딜레이 */
.guide-card.is-visible:nth-child(1) {
  animation-delay: 0.0s;
}
.guide-card.is-visible:nth-child(2) {
  animation-delay: 0.15s;
}
.guide-card.is-visible:nth-child(3) {
  animation-delay: 0.3s;
}

.guide-card a {
  display: block;
  position: relative;
  color: #fff;
  text-decoration: none;
}

.guide-card img {
  width: 100%;
  height: 100%;
  /* object-fit: cover; */
  transition: transform .4s ease;
}

/* --- hover 확대 효과 --- */
.guide-card:hover img {
  transform: scale(1.05);
}

/* --- 텍스트 영역 --- */
.guide-card__text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  z-index: 10;
  width: 80%;
  line-height: 1.5;
  text-shadow: 0 3px 8px rgba(0,0,0,0.4);
}

.guide-card__text h3 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 18px;
}

.guide-card__text p {
  font-size: 18px;
  font-weight: 400;
  height: 80px;
}

/* 페이드+슬라이드 업 키프레임 */
@keyframes guideFadeUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* --- 반응형 --- */
@media (max-width: 1024px) {
  .guide-cards {
    flex-direction: column;
    gap: 40px;
  }
  .guide-card {
    width: 100%;
  }
  .guide-card__text h3 {
    font-size: 28px;
  }
  .guide-card__text p {
    font-size: 15px;
  }
}


/* =============================
   차 페어링 상세 메인 구조
============================= */
.pairing-detail {
  margin: 0 auto;
  padding: 0;
}

/* =============================
   상단 큰 이미지 + 설명
============================= */
.pairing-hero {
  display: flex;
  align-items: flex-start;
  gap: 60px;
}

.pairing-hero__image img {
  width: 680px;
  height: auto;
  display: block;
  border-radius: 4px;
}

.pairing-hero__text {
  flex: 1;
  margin-top: 40px;
}

.pairing-hero__text h2 {
    font-size: 40px;
    line-height: 1.5;
    margin-bottom: 20px;
    letter-spacing: -0.04rem;
}

.pairing-hero__text p {
  font-size: 18px;
  line-height: 1.6;
  color: #666;
  letter-spacing: -0.03em;
}

/* =============================
   3단 이미지 + 텍스트 구조
============================= */
.pairing-list {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 40px;
}

.pairing-item {
  width: 33.33%;
}

.pairing-item__image {
  margin-bottom: 20px;
}

.pairing-item__image img {
  width: 100%;
  border-radius: 4px;
  display: block;
}

.pairing-item__text h3 {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 14px;
  color: #222;
}

.pairing-item__text p {
  font-size: 16px;
  line-height: 1.6;
  color: #555;
}

/* =============================
   뒤로 가기 버튼
============================= */
.pairing-back {
  text-align: center;
}

.btn-back {
  border: 1px solid #ffffff;
  font-size: 16px;
  color: #333;
  text-decoration: none;
  transition: 0.25s;
  display: inline-flex;
  background: #ffffff;
  border-radius: 30px;
  padding: 15px 65px;
  margin-top: 12px;
  gap: 16px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  align-items: center;
}

.btn-back:hover {
  background: #D6A84E;
  border-color: #D6A84E;
    color:#fff;
}

/* =============================
   반응형 처리
============================= */
@media (max-width: 1200px) {
  .pairing-hero {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .pairing-hero__image img {
    width: 100%;
    max-width: 900px;
  }

  .pairing-list {
    flex-direction: column;
  }

  .pairing-item {
    width: 100%;
  }

  .pairing-item__text {
    text-align: center;
    margin-bottom: 40px;
  }
}

@media (max-width: 768px) {
  .pairing-hero__text h2 {
    font-size: 22px;
  }

  .pairing-hero__text p {
    font-size: 15px;
  }

  .pairing-item__text h3 {
    font-size: 18px;
  }
}


/* =========================
   기본 컨테이너
========================= */
.media-board {
  margin: 0 auto;
  padding: 0;
}

/* =========================
   상단 헤더 (탭 + 정렬 + 검색)
========================= */
.media-board__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 10px;
}

/* 탭 */
.media-board__tabs {
  display: flex;
  gap: 60px;
}





.media-tab {
  position: relative;
  border: none;
  background: none;
  padding: 6px 0;
  font-size: 16px;
  color: #666;
  cursor: pointer;
}

.media-tab::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 0;
  height: 2px;
  background: #222;
  transition: width 0.25s ease;
}

.media-tab:before {
    display: block;
    position: absolute;
    right: -30px;
    top: 8px;
    width: 1px;
    height: 16px;
    background-color: #d9d9d9;
    content: ""
}

.media-tab:last-child:before {
    display: none
}

.media-tab.is-active,
.media-tab:hover {
  color: #111;
  font-weight: 600;
}


.media-tab.is-active::after,
.media-tab:hover::after {
  width: 100%;
}

/* 정렬 + 검색 묶음 */
.media-board__controls {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* 정렬 Select */
.media-sort {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: #666;
}

.media-sort__label {
  white-space: nowrap;
}

.media-sort__select-wrap {
  position: relative;
}

.media-sort__select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 6px 28px 6px 12px;
  border-radius: 20px;
  border: 0;
  font-size: 14px;
  background: transparent;
  cursor: pointer;
  position: relative;
}

/* 셀렉트 오른쪽 화살표 */
.media-sort__select-wrap::after {
    display: block;
    position: absolute;
    top: 11px;
    width: 0.6rem;
    height: 0.6rem;
    right: 0rem;
    border: 1px solid #b2b2b2;
    border-top: 0;
    border-left: 0;
    content: "";
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(45deg);
}

/* 검색 */
.media-search {
  margin-left: 8px;
}

.media-search__field {
  position: relative;
  width: 220px;
}

.media-search__field input {
  width: 100%;
  padding: 7px 34px 7px 12px;
  border-radius: 20px;
  border: 1px solid #e6e6e6;
  font-size: 14px;
  outline: none;
}

.media-search__field input:focus {
  border-color: #222;
}

.media-search__btn {
  position: absolute;
  right: 21px;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: none;
  cursor: pointer;
  font-size: 14px;
}

.media-search__btn::after {
  position:absolute;
  top:50%;
  left:50%;
  width: 1.4rem;
  height: 1.4rem;
  background:url(./images/icon/search.svg) center no-repeat;
  background-size:100% auto;
  content:'';
  transform:translate(-50%, -50%);
  filter: invert(20%) brightness(90%) sepia(10%) saturate(200%);
}


/* =========================
   카드 리스트 (3단)
========================= */
.media-board__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px 40px;
}

/* 카드 기본 */
.media-card a {
  text-decoration: none;
  color: inherit;
  display: block;
}

.media-card__thumb {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
}

.media-card__thumb img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform .4s ease;
}

/* 썸네일 호버 확대 */
.media-card:hover .media-card__thumb img {
  transform: scale(1.05);
}

/* 런타임 표시 */
.media-card__runtime {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: rgba(0,0,0,0.65);
  color: #fff;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  font-family: Montserrat !important;
  letter-spacing: 0.1rem;
}


/* 메타 정보 */
.media-card__meta {
  margin-top: 14px;
}

.media-card__category {
  font-size: 14px;
  font-weight: 600;
  background: #fff;
  color: #333;
  padding: 6px 20px;
  border: #D7D7D7 solid 1px;
  border-radius: 6px;
  display: inline-block;
  margin-bottom: 8px;
}

.media-card__title {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #111;
  line-height: 1.4;
}

.media-card__date {
  font-size: 16px;
  color: #666;
}

/* =========================
   페이지네이션
========================= */
.media-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 48px;
}

.media-page-btn {
  min-width: 32px;
  height: 32px;
  padding: 0 8px;
  border-radius: 50%;
  border: 1px solid transparent;
  background: transparent;
  font-size: 18px;
  cursor: pointer;
  color: #666;
  transition: 0.2s;
      font-family: Montserrat !important;
}

.media-page-btn--nav {
  border-radius: 16px;
}

.media-page-btn:hover:not(:disabled) {
  border-color: #D6A84E;
  background: #f7f7f7;
  color: #111;
}

.media-page-btn.is-active {
  background: #D6A84E;
  color: #fff;
  border-color: #D6A84E;
}

.media-page-btn:disabled {
  opacity: 0.3;
  cursor: default;
}

/* =========================
   반응형
========================= */
@media (max-width: 1200px) {
  .media-board__header {
    flex-direction: column;
    align-items: flex-start;
  }

  .media-board__controls {
    align-self: stretch;
    justify-content: space-between;
    width: 100%;
  }

  .media-search__field {
    width: 100%;
    max-width: 260px;
  }

  .media-board__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .media-board__header {
    align-items: stretch;
  }

  .media-board__tabs {
    flex-wrap: wrap;
    gap: 12px 20px;
  }

  .media-board__controls {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .media-search__field {
    width: 100%;
  }

  .media-board__list {
    grid-template-columns: 1fr;
  }

  .media-pagination {
    gap: 4px;
  }
}



/* ===============================
   소월당 제품 페이지
=============================== */
.product-page {

  margin: 0 auto;
  padding: 0;
}

/* 공통 블록 */
.product-block {
  margin-bottom: 120px;
}

.product-block__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
  margin-bottom: 40px;
}

/* 콘텐츠 영역 */
.product-block__content {
  display: flex;
  align-items: flex-start;
  gap: 60px;
}

/* 타이틀 */
.product-block__title {
  font-size: 40px;
  font-weight: 700;
  width: 300px;
  flex-shrink: 0;
}

/* 리스트 */
.product-block__list {
  list-style: circle;
  padding: 0;
  margin: 0;
  font-size: 18px;
  line-height: 2.4;
  color: #333;
  width: 280px;
}

/* 세로 구분선 */
.product-block__divider {
  width: 1px;
  background: #333;
  height: 160px;
  margin-top: 4px;
}

/* 설명 */
.product-block__desc {
  font-size: 16px;
  line-height: 1.7;
  color: #555;
  max-width: 620px;
}

/* 버튼 */
.product-block__buttons {
  margin-top: 40px;
  display: flex;
  gap: 12px;
}

.btn-outline {
  padding: 5px 40px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 16px;
  color: #333;
  text-decoration: none;
  display: flex;
  align-items: center;
}

.btn-outline:hover {
  background: #f5f5f5;
}

.btn-solid {
  padding: 5px 40px;
  border-radius: 6px;
  font-size: 14px;
  color: #fff;
  background: #222;
  text-decoration: none;
  display: flex;
  align-items: center;
}

.btn-solid:hover {
  background: #000;
}

/* ===============================
   반응형
=============================== */
@media (max-width: 1024px) {
  .product-block__content {
    flex-direction: column;
    gap: 24px;
  }

  .product-block__divider {
    display: none;
  }

  .product-block__title,
  .product-block__list {
    width: 100%;
  }
}


/* =========================
   시그니처 라인 3단 카드
   (공통 CSS와 충돌 방지: .sig3 네임스페이스)
========================= */
.sig3{
  padding: 80px 0 110px;
}

.sig3__inner{
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 90px;
  row-gap: 56px;
  align-items: start;
}

.sig3__card{
  text-align: center;
}

.sig3__thumb{
  width: 400px;
  height: 400px;
  margin: 0 auto 40px;
  border-radius: 999px;
  overflow: hidden;
  background: #f3f3f3;
}

.sig3__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sig3__title{
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 12px;
  color: #222;
}

.sig3__desc{
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: -0.01em;
  color: #666;
  margin: 30px auto;
  max-width: 400px;
  word-break: keep-all;
}

.sig3__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: auto;
  height: 34px;
  padding: 0 40px;
  border-radius: 4px;
  background: #2a2a2a;
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  letter-spacing: -0.01em;
  transition: background .18s ease, transform .18s ease, opacity .18s ease;
}

.sig3__btn:hover{
  background: #111;
  transform: translateY(-1px);
}

/* responsive */
@media (max-width: 1024px){
  .sig3__inner{column-gap: 48px;}
}

@media (max-width: 860px){
  .sig3__inner{
    grid-template-columns: 1fr;
    row-gap: 44px;
  }
  .sig3__thumb{
    width: 220px;
    height: 220px;
  }
}


