/* BASIC css start */
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@100..700&family=Lato:wght@100..900&family=Noto+Serif+KR:wght@200..900&display=swap');

/* ==========================================================================
   [AOS 최적화 빌드] 기본 레이아웃 리셋 및 브라우저 가속 처리
   ========================================================================== */
#wrap { 
    width: 100%; 
    overflow-x: hidden; 
}
#contentWrapper {
    width: 100%;
}
#contentWrap {
    width: 100%;
    padding: 0;
}
#content {
    width: 100%;
    overflow: hidden;
}

.about-page-wrapper {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    overflow: visible;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}

.about-page-wrapper * { 
    box-sizing: border-box; 
}
.right_fixed { display: none; }

/* AOS 연산 부하 방지용 가속 선언 */
.about-page-wrapper [data-aos] {
    will-change: transform, opacity;
    backface-visibility: hidden;
    perspective: 1000px;
}

/* ==========================================================================
   1. 상단 꽉 찬 히어로 영역 레이아웃 (수직 튕김 무부하 고정 구조)
   ========================================================================== */
.about-hero {
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 0;   
}

.about-hero__img-box {
    position: relative;  
    width: 100%;
    overflow: hidden;    
    background-color: #000;
    height: 100vh;       
}

.about-hero__img-box img {
    width: 100%;
    display: block;
    height: 100%;      
    object-fit: cover;
    transform: translateZ(0); 
}

/* Y축 세로 계산을 제외하고 X축 정렬만 사용하여 상단 헤로 튕김 제로화 구현 */
.about-hero__overlay-box {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translateX(-50%); 
    text-align: center;
    color: #fff;
    width: 90%;
    max-width: 100%;
    padding: 0;
    z-index: 10;
    line-height: 1.6;
}

.about-hero__title {
    font-family: 'Josefin Sans', sans-serif;
    display: inline-block;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.01rem;
    line-height: 1.2;
}

.about-hero-subtitle { 
    font-family: 'Josefin Sans', sans-serif; 
    display: block; 
    font-size: 12px; 
    font-weight: 400; 
    letter-spacing: -0.01rem; 
}

.about-hero__desc {
    font-size: 0.85rem;
    padding: 20px 0px 0px 0px;
    line-height: 1.6;
    word-break: keep-all;
    letter-spacing: initial;
    margin: 0 auto;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
}

/* ==========================================================================
   2. 브랜드 스토리 카드 유닛 (스위티스푼 & 멜리비치 개별 영역)
   ========================================================================== */
.about-brand-group { padding: 0 1.25rem; }
.about-brand-title {    
    font-family: 'Josefin Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 50px 0px 10px 0px;
    text-align: center; 
}
.about-brand-subtitle { text-align: center; }
.about-brand-desc { font-size: 0.85rem; letter-spacing: -0.01rem; word-break: keep-all; line-height: 1.6; }

.brand-story-section {
    width: 100%;
    margin: 50px 0 0 0;
}

.brand-story-card {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.brand-story-card__paragraph {      
    font-size: 0.85rem;
    padding: 0px 0px 0px 0px;
    line-height: 1.6;
    word-break: keep-all;
    letter-spacing: -0.02rem;
}

.brand-story-card__img-box {
    text-align: center;
    margin: 0 auto;
    width: 40%;
}

.brand-story-card__img-box img {
    padding: 0rem 0rem 0.8rem 0rem;
    width: 100%;
    max-width: 100%;
    background-color: #fff;
    object-fit: contain;
}

.brand-story-card__content-box {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 1.8rem;
}

.brand-story-card__text-wrapper {
    text-align: justify;
    font-size: 0.72rem;
    line-height: 1.4rem;
    word-break: keep-all;
}

.brand-story-card__title {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 20px 0px 10px 0px;
    margin: 0;
}

.text-highlight {
    font-weight: 500;
    color: #c1935e;
}

/* ==========================================================================
   3. 공통 가로배치 섹션 블록 및 이미지 박스 (시그니처, 가치, 포장 등)
   ========================================================================== */
.brand-feature-block {
    padding: 4.3rem 1.25rem 0rem 1.25rem;
}

.brand-feature-block__img-box {
    width: 100%;
    position: relative;
}

.brand-feature-block__img-box img {
    width: 100%;
    display: block;
    height: auto;
}

.brand-feature-block__title {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 30px 0px 0px 0px;
    margin: 0;
}

.brand-feature-block__desc-wrapper {
    font-size: 0.7rem;
    line-height: 1.3rem;
    word-break: keep-all;
    margin: 10px 0px 30px 0px;
}

.brand-feature-block__desc { text-align: justify; padding: 10px 0px 30px 0px; font-size: 0.85rem; line-height: 1.6; word-break: keep-all; letter-spacing: -0.02rem; }
.about-diamond__desc { text-align: justify; padding: 0.8rem 1.25rem 0rem 1.25rem; font-size: 0.85rem; line-height: 1.6; word-break: keep-all; letter-spacing: -0.02rem; }

.brand-feature-block__desc-accent {
    display: block;
    padding: 10px 0px;
}

/* 블랙 버튼 시스템 규격 */
.brand-link-button {
    display: block;
    text-align: center;
    background-color: #111;
    color: #fff;
    padding: 15px 0px;    
    font-weight: 400;
    font-size: 13px;
    max-width: 200px;
    text-decoration: none;
}

.brand-link-button--center {
    margin: 0.5rem auto 0.5rem auto;
}

/* 세부 핵심 가치 서브 컴포넌트 */
.brand-value-item {
    text-align: justify;
}

.brand-value-item__title {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 0.9rem;
    font-weight: 500;
    padding: 20px 0px 2px 0px;
    margin: 0;
}

.brand-value-item__desc {
    font-size: 0.7rem;
    line-height: 1.3rem;
    word-break: keep-all;
    margin: 0;
}

/* [2026-09] SIGNATURE 섹션 3개 소제목+문단용 - PC의 signature_inner_title/signature_sub_content와
   대응. brand-value-item(OUR VALUES)과 시각은 동일하게 시작하되 클래스는 분리함
   (향후 SIGNATURE만 독립적으로 수정 가능하도록) */
.brand-signature-item {
    text-align: justify;
}

.brand-signature-item__title {
    font-family: 'Lato', 'Noto Sans KR', sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 20px 0px 2px 0px;
    margin: 0;
}

.brand-signature-item__desc {
    font-size: 0.7rem;
    line-height: 1.3rem;
    word-break: keep-all;
    margin: 0;
}

/* ==========================================================================
   4. 다이아몬드 및 퍼스널 서브 컴포넌트 구역 공간 사전 방어
   ========================================================================== */
.about-diamond-info {
    width: 100%;
}

.about-diamond-info__banner {
    padding: 4.3rem 1.25rem 0rem 1.25rem;
}

.about-diamond-info__banner:nth-child(2) {
    padding: 0rem 1.25rem 0rem 1.25rem;
}

.about-diamond-info__banner img {
    width: 100%;
    display: block;
    height: auto;
}



.about-diamond-info__title {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 1.9rem 1.25rem 0rem 1.25rem;
    margin: 0;
}

.about-diamond-info__intro { text-align: justify; }
.about-diamond-grade { padding: 1.0rem 1.25rem 0rem 1.25rem; width: 100%; }

.about-diamond-grade__range {
    font-family: Lato, "Noto Sans KR", sans-serif;
    font-weight: bold;
    padding: 10px 0px 0px 0px;
    font-size: 11px;
    margin: 0;
}

.about-diamond-grade__detail {
    font-size: 0.7rem;
    line-height: 1.3rem;
    word-break: keep-all;
    text-align: justify;
    margin: 0 0 5px 0;
}

/* 다이아몬드 등급 안내 표 폼 레이아웃 */
.about-diamond-tables {
    text-align: center;
    line-height: 22px;
    padding: 0rem 1.25rem;
}

.about-diamond-tables__criterion {
    font-family: 'Josefin Sans', sans-serif;
    letter-spacing: 0.2em;
    text-align: left;
    margin: 20px 0px 2px 0px;
    font-size: 12px;
}

.about-diamond-tables__wrapper {
    margin: 0px 0px 0px 0px;
}

.about-diamond-tables table {
    border: 1px solid #3b3b3b;
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 10px;
    line-height: 12px;
}

.about-diamond-tables table td {
    border: 1px solid #E1E1E3;
    padding: 7px 0px;
}

.table-cell-highlight {
    background: #efe9df;
    color: #524233;
}

.about-diamond-tables__caption {
    padding-top: 20px;
    font-size: 11px;
}

/* 퍼스널 서비스 (인그레이빙 & 탄생석) 영역 */
.about-personalization-section {
    width: 100%;
}

.about-personalization-section__banner {
    padding: 4.3rem 1.25rem 0rem 1.25rem;
}

.about-personalization-section__banner img {
    width: 100%;
    display: block;
    height: auto;
}

.about-personalization-section__title {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 1.9rem 1.25rem 0rem 1.25rem;
    margin: 0;
}

.about-personalization-section__desc { text-align: justify; padding: 0.7rem 1.25rem 1.0rem 1.25rem; font-size: 0.85rem; line-height: 1.6; word-break: keep-all; letter-spacing: -0.02rem; }

.birthstone-grid-tables {
    text-align: center;
    line-height: 10px;
    padding: 1.5rem 1.25rem 0.5rem 1.25rem;
}

.birthstone-grid-tables table {
    margin: 0px 0px 25px 0px;
    width: 100%;
    text-align: center;
    border-collapse: collapse;
}

.birthstone-grid-tables table td {
    font-family: 'Josefin Sans', sans-serif;
    padding: 5px 0px 0px 0px;
    width: 25%;
    font-size: 11px;
}

.birthstone-grid-tables__month {
    color: #c39562;
}

.birthstone-grid-tables table td img {
    width: 20px;
    margin: 0px 0px 5px 0px;
}

.section-dark {
    background: #fff;
}

/* ==========================================================================
   5. 하단 상담예약 안내 및 고정 바 전용 스타일 시스템
   ========================================================================== */
body .shop-fixed-bottom-bar { 
    position: fixed; 
    bottom: -120px; /* 대기 중 완벽 은닉 */
    left: 0; 
    width: 100%; 
    padding: 12px 16px; 
    padding-bottom: calc(12px + env(safe-area-inset-bottom));
    box-sizing: border-box; 
    z-index: 99999; 
    display: flex; 
    gap: 10px; 
    background: #fff; 
    border-top: 1px solid #eaeaea; 
    transition: bottom 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); /* 텐션 슬라이드 인 */
}

/* 자바스크립트 매칭 노출 유도 */
body .shop-fixed-bottom-bar.show {
    bottom: 0 !important;
}

body .shop-fixed-bottom-bar a { 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    height: 54px; 
    font-size: 0.8rem; 
    text-decoration: none; 
    font-weight: 500; 
}
body .shop-fixed-bottom-bar .shop-btn-talk { 
    width: 80px; 
    flex-shrink: 0; 
    color: #3A1D1D; 
    background-color: #f4f0ea; 
}
body .shop-fixed-bottom-bar .shop-btn-naver { 
    flex-grow: 1; 
    color: #fff; 
    background: #000; 
}

.visit_btn_wrap, .kakao_btn_wrap { text-align:center; }
.what_title { font-family: 'Noto Serif KR', serif !important; font-size: 1.6rem; text-align: center; font-weight: 600; line-height: 1.3; padding: 50px 0px 0px 0px; border-top: 1px solid #c7c7c7; margin: 50px 0px 0px 0px; }
.what_detail { font-size: 0.85rem; text-align: center; line-height: 1.6; letter-spacing: initial; padding: 20px 10px 35px 10px; word-break: keep-all; }
.what_title_warp { margin: 0px 0px 60px 0px; }
.visit_btn { min-width: 160px; width: 100%; max-width: 280px; text-align: center; padding: 12px 20px; display: inline-block; font-size: 13px; border: 1px solid #111111; position: relative; overflow: hidden; background-color: #111111; color: #ffffff; z-index: 1; transition: color 0.4s ease, border-color 0.4s ease; cursor: pointer; text-decoration: none; box-sizing: border-box; }        
.kakao_info { letter-spacing: 0.02em; font-size: 0.85rem; text-align: center; line-height: 1.5; padding: 50px 0px 20px 0px; border-top: 1px solid #c7c7c7; margin-top: 50px;  }
.kakao_btn { position: relative; display: inline-block; text-align: center; padding-bottom: 4px; color: #111; letter-spacing: 0.02em; font-size: 0.85rem; }
.kakao_btn::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: #c7a97b; transform: scaleX(1); transform-origin: left; transition: transform 0.35s ease; }
.kakao-link:hover .kakao_btn::after { transform: scaleX(0); }

.private-btn-wrap.center-align {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 10px 0 0 0;
}
.boutique-private-btn {
    min-width: 160px; 
    width: 100%;
    max-width: 280px;
    text-align: center; 
    padding: 12px 20px; 
    display: inline-block; 
    font-size: 13px; 
    border: 1px solid #111111; 
    position: relative; 
    overflow: hidden; 
    background-color: #111111; 
    color: #ffffff; 
    z-index: 1; 
    transition: color 0.4s ease, border-color 0.4s ease; 
    cursor: pointer;
    text-decoration: none;
    box-sizing: border-box;
}
.boutique-private-btn::before {
    content: ""; 
    position: absolute; 
    bottom: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background-color: #ffffff; 
    z-index: -1; 
    transform: scaleY(0); 
    transform-origin: bottom; 
    transition: transform 0.4s ease; 
}
.boutique-private-btn:hover { 
    color: #111111; 
    border-color: #111111;
}
.boutique-private-btn:hover::before { transform: scaleY(1); }

/* ==========================================================================
   데스크탑 환경 전용 고해상도 반응형 미디어쿼리 빌드
   ========================================================================== */
@media (min-width: 769px) {
    .about-hero__img-box img {
        height: 100vh; 
    }
    .about-hero__title { font-size: 3.2rem; }
    .about-hero__desc { font-size: 1.2rem; }
    .brand-story-card__text-wrapper,
    .brand-feature-block__desc,
    .brand-value-item__desc,
    .brand-signature-item__desc,
    .about-diamond-grade__detail,
    .about-personalization-section__desc {
        font-size: 0.95rem;
        line-height: 1.8;
    }
    .brand-story-card__img-box img { padding: 0rem 15rem 2.0rem 15rem; }
    body .shop-fixed-bottom-bar { display: none !important; } /* PC 웹뷰에서는 풋터 고정바 자동 소멸 숨김 */
}
/* BASIC css end */

