/* Main Common */
.tj-main { color: #2b2421; background: #fff; overflow: hidden; }
.tj-section { padding: 100px 0; }
.tj-title { margin: 0 0 56px; color: #4b3a34; font-size: 34px; font-weight: 800; letter-spacing: 0; line-height: 1.25; }
.tj-subtitle { margin: -38px 0 0; color: #5d5754; font-size: 15px; line-height: 1.7; }
.tj-main .tj-eyebrow { display: inline-flex; align-items: center; justify-content: center; margin: 0 0 12px; padding: 7px 18px; border-radius: 999px; color: #fff2df; background: rgba(73, 40, 29, 0.82); font-size: 13px; font-weight: 800; line-height: 1.35; letter-spacing: 0; text-transform: none; }
.tj-main a.tj-btn,
.tj-main .tj-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 142px; height: auto; min-height: 46px; padding: 12px 22px; border-radius: 999px; font-size: 13px; font-weight: 800; line-height: 1.2; text-align: center; text-decoration: none; transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease; }
.tj-main .tj-btn-light { color: #4a2f24; background: #fff4dd; border: 1px solid #fff4dd; }
.tj-main .tj-btn-outline { color: #4a2f24; background: #fff; border: 1px solid #fff; }
.tj-main .tj-btn-light:hover, .tj-main .tj-btn-outline:hover { color: #fff; background: #5b3d33; border-color: #5b3d33; transform: translateY(-2px); }

/* Hero */
.tj-hero { position: relative; color: #fff; background: #1b1b1b; }
.tj-hero-swiper,
.tj-hero-slide { min-height: 920px; }
.tj-hero-slide { position: relative; display: flex; align-items: center; overflow: hidden; }
.tj-hero-bg { position: absolute; inset: 0; background-position: center; background-size: cover; background-repeat: no-repeat; transform: scale(1.04); }
.tj-hero-slide.swiper-slide-active .tj-hero-bg { animation: tjHeroZoom 6200ms ease forwards; }
.tj-hero .container-fluid { position: relative; z-index: 1; display: flex; align-items: center; width: 100%; min-height: inherit; padding-left: 0; padding-right: 0; }
.tj-hero-layout { width: calc(100% - 16.666667%); margin: 0 8.333333%; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .65fr); align-items: center; gap: 70px; }
.tj-hero-layout-center { display: flex; justify-content: center; text-align: center; }
.tj-hero-layout-center .tj-hero-copy { max-width: 980px; margin: 0 auto; }
.tj-hero-layout-center .tj-hero-text { margin-left: auto; margin-right: auto; }
.tj-hero-layout-center .tj-hero-actions { justify-content: center; }
.tj-hero-copy { max-width: 1100px; }
.tj-hero-mark { display: inline-flex; align-items: center; min-height: 78px; margin-bottom: 24px; color: #fff; font-size: 64px; font-weight: 900; line-height: 1; letter-spacing: 0; text-shadow: 0 8px 24px rgba(0,0,0,.22); }
.tj-hero h1 { margin: 0; color: #fff; font-size: 58px; font-weight: 800; letter-spacing: 0; line-height: 1.18; text-shadow: 0 10px 30px rgba(0,0,0,.2); }
.tj-hero-text { max-width: 820px; margin: 22px 0 0; color: rgba(255, 255, 255, 0.84); font-size: 16px; line-height: 1.75; }
.tj-hero-actions, .tj-inquiry-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.tj-hero-paper { justify-self: end; width: min(360px, 100%); padding: 0; background: transparent; box-shadow: 0 26px 64px rgba(0,0,0,.28); }
.tj-hero-paper img { display: block; width: 100%; aspect-ratio: .72 / 1; object-fit: cover; }
.tj-hero-product { border-radius: 28px; background: rgba(255,255,255,.16); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.tj-hero-product img { aspect-ratio: 1 / 1.15; border-radius: 22px; }
.tj-hero-pagination { position: absolute; left: 8.333333% !important; right: auto !important; bottom: 42px !important; z-index: 3; width: auto !important; display: flex; gap: 10px; }
.tj-hero-pagination .swiper-pagination-bullet { width: 34px; height: 3px; border-radius: 999px; background: rgba(255,255,255,.52); opacity: 1; transition: width 200ms ease, background 200ms ease; }
.tj-hero-pagination .swiper-pagination-bullet-active { width: 54px; background: #fff; }
@keyframes tjHeroZoom {
    from { transform: scale(1.04); }
    to { transform: scale(1.1); }
}

/* Brand Story */
.tj-brand { position: relative; padding-top: 150px; padding-bottom: 150px; background: #f4eee6; }
.tj-mark { position: absolute; right: -60px; top: 50px; width: 260px; height: 260px; border: 10px solid rgba(96, 67, 56, 0.08); border-radius: 50%; }
.tj-brand-card { overflow: hidden; max-width: 430px; margin: 0 auto; border-radius: 16px; background: #5a2f24; box-shadow: 0 20px 40px rgba(70, 43, 35, 0.14); }
.tj-brand-logo { min-height: 210px; display: flex; align-items: center; justify-content: center; color: #e4b265; font-size: 36px; font-weight: 900; line-height: 1.05; text-align: center; }
.tj-brand-card p { margin: 0; padding: 18px 24px; color: #fff; background: #d29a58; font-weight: 800; text-align: center; }
.tj-brand h3 { margin: 0 0 26px; color: #3f3430; font-size: 22px; font-weight: 800; line-height: 1.5; }
.tj-brand h3:after { content: ""; display: block; width: 54px; height: 3px; margin-top: 24px; border-radius: 999px; background: #b8874f; }
.tj-brand p, .tj-philo-copy p, .tj-quality p, .tj-inquiry p, .tj-address dd { color: #5e5753; font-size: 15px; line-height: 1.75; }

/* Philosophy */
.tj-philosophy { background: #fff; }
.tj-philosophy .container-fluid { padding-left: 0; padding-right: 0; }
.tj-philosophy .tj-title { width: calc(100% - 16.666667%); margin-left: 8.333333%; margin-right: 8.333333%; }
.tj-philosophy-grid { position: relative; width: calc(100% - 16.666667%); min-height: 1380px; margin-left: 8.333333%; margin-right: 8.333333%; }
.tj-philo-item { position: absolute; }
.tj-philo-item img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tj-philo-01 { left: 0; top: 0; width: 705px; height: 480px; }
.tj-philo-02 { right: 70px; top: 225px; width: 525px; height: 600px; }
.tj-philo-03 { left: 0; bottom: 0; width: 900px; height: 540px; }
.tj-philo-copy { position: absolute; right: -96px; bottom: -54px; width: 360px; padding: 44px 36px; color: #fff; background: rgba(74, 49, 41, 0.9); border-radius: 28px 0 28px 0; }
.tj-philo-02 .tj-philo-copy { right: -160px; }
.tj-philo-03 .tj-philo-copy { right: -300px; bottom: 0; }
.tj-philo-copy h3 { margin: 0 0 18px; color: #fff; font-size: 20px; font-weight: 800; }
.tj-philo-copy h3:after { content: ""; display: block; width: 42px; height: 2px; margin-top: 16px; border-radius: 999px; background: rgba(255, 255, 255, 0.9); }
.tj-philo-copy p { margin: 0; color: rgba(255, 255, 255, 0.82); font-size: 14px; }

/* Quality */
.tj-quality { padding: 90px 0 210px; }
.tj-quality .container-fluid { padding-left: 0; padding-right: 0; }
.tj-quality-inner { position: relative; width: calc(100% - 8.333333%); min-height: 300px; margin-left: 8.333333%; margin-right: 0; padding: 56px 0 56px 68px; display: grid; grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.72fr); align-items: center; gap: 42px; border-radius: 44px 0 0 44px; background: #f8d9b6; }
.tj-quality-intro { max-width: 480px; margin-bottom: 0; }
.tj-quality-intro h2, .tj-inquiry h2 { margin: 0 0 18px; font-size: 34px; font-weight: 800; line-height: 1.25; }
.tj-quality-intro p { max-width: 430px; margin: 0; }
.tj-quality-cards { position: absolute; left: calc(34% + 42px); right: 8.333333%; top: 56px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 28px; align-items: stretch; min-width: 0; padding-right: 0; transform: translateY(52px); }
.tj-quality-card { height: 316px; min-height: 316px; padding: 44px 42px; }
.tj-quality-dark { display: flex; flex-direction: column; justify-content: center; color: #fff; background: #3b2019; border-radius: 44px; }
.tj-quality-dark, .tj-quality-photo { box-shadow: 0 18px 34px rgba(61, 36, 27, 0.16); }
.tj-quality-cert-head { display: flex; align-items: center; gap: 18px; }
.tj-quality-cert-head img { flex: 0 0 auto; width: 82px; height: 82px; object-fit: contain; }
.tj-quality-cert-head span { display: block; margin-bottom: 8px; color: rgba(255, 255, 255, 0.62); font-size: 12px; font-weight: 800; }
.tj-badge { width: 76px; height: 76px; display: flex; align-items: center; justify-content: center; margin-bottom: 24px; color: #26aeb1; background: #fff; border-radius: 50%; font-size: 15px; font-weight: 900; }
.tj-quality-card h3 { margin: 0 0 22px; font-size: 20px; font-weight: 800; line-height: 1.4; }
.tj-quality-dark h3 { margin: 0; color: #fff; font-size: 21px; line-height: 1.32; }
.tj-quality-dark p { margin: 28px 0 0; color: rgba(255, 255, 255, 0.72); border-top: 1px solid rgba(255, 255, 255, 0.18); padding-top: 22px; font-size: 12px; line-height: 1.55; }
.tj-quality-photo { position: relative; overflow: hidden; padding: 0; border-radius: 44px; }
.tj-quality-photo img { width: 100%; height: 100%; min-height: 316px; object-fit: cover; filter: brightness(0.62); }
.tj-quality-photo div { position: absolute; inset: auto 28px 32px; color: #fff; }
.tj-quality-photo p { color: rgba(255, 255, 255, 0.76); }
.tj-quality-photo a { display: inline-block; margin-top: 12px; padding: 9px 18px; color: #fff; background: rgba(55, 34, 28, 0.82); border-radius: 999px; font-size: 12px; font-weight: 800; text-decoration: none; }

/* Products */
.tj-products { padding-top: 90px; background: #fff; }
.tj-product-row { display: block; width: 100%; }
.tj-product-row > * { width: 100%; max-width: 100%; }
.tj-product-scroll { display: grid; grid-template-columns: repeat(5, minmax(180px, 1fr)); gap: 28px; }
.tj-arrow { width: 44px; height: 44px; border: 0; border-radius: 50%; color: #fff; background: #b9b4ae; font-size: 34px; line-height: 1; }
.tj-product-card { text-align: center; }
.tj-product-card img { width: 100%; aspect-ratio: 1 / 1; border-radius: 50% 50% 10px 10px; object-fit: cover; }
.tj-product-card h3 { margin: 18px 0 8px; color: #423531; font-size: 16px; font-weight: 800; }
.tj-product-card p { margin: 0; color: #756b65; font-size: 12px; line-height: 1.5; }

/* Inquiry */
.tj-inquiry { padding: 94px 0; color: #fff; background: linear-gradient(90deg, rgba(174, 118, 54, 0.9) 0%, rgba(189, 136, 72, 0.72) 46%, rgba(255, 255, 255, 0.15) 100%), url("/img/main/cont05_bg.jpg") center / cover no-repeat; }
.tj-inquiry h2 { color: #fff; }
.tj-inquiry p { max-width: 700px; color: rgba(255, 255, 255, 0.88); }
.tj-main .tj-inquiry .tj-eyebrow { color: #fff7df; background: rgba(91, 61, 51, 0.68); font-size: 13px; line-height: 1.35; }
.tj-inquiry-actions { justify-content: flex-start; }
.tj-main .tj-btn-brown { color: #fff; background: #7b552f; border: 1px solid #7b552f; }
.tj-main .tj-btn-soft { color: #fff; background: rgba(255, 255, 255, 0.22); border: 1px solid rgba(255, 255, 255, 0.38); }
.tj-main .tj-btn-brown:hover,
.tj-main .tj-btn-soft:hover { color: #fff; background: #5b3d33; border-color: #5b3d33; transform: translateY(-2px); }

/* Location */
.tj-location { background: #fff; }
.tj-location .container-fluid { padding-left: 0; padding-right: 0; }
.tj-location-head { width: calc(100% - 16.666667%); margin: 0 8.333333% 42px; text-align: center; }
.tj-location-head .tj-title { margin-bottom: 14px; }
.tj-location-head .tj-subtitle { margin: 0 auto; max-width: 560px; }
.tj-location-panel { position: relative; overflow: hidden; width: calc(100% - 16.666667%); min-height: 460px; margin-left: 8.333333%; margin-right: 8.333333%; border-radius: 40px; background: #6d625b; }
.tj-map { position: absolute; inset: 0; min-height: 460px; background: #e7efe3; }
.tj-map iframe,
.tj-map img { display: block; width: 100%; height: 100%; min-height: 460px; object-fit: cover; opacity: 0.82; }
.tj-pin { position: absolute; left: 57%; top: 48%; width: 34px; height: 34px; background: #e64736; border: 6px solid #fff; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); box-shadow: 0 10px 22px rgba(0, 0, 0, 0.22); }
.tj-address { position: absolute; top: 0; right: 0; bottom: 0; z-index: 1; display: flex; align-items: center; width: min(380px, 36%); min-height: 100%; padding: 0 44px; color: #fff; border-radius: 0 40px 40px 0; background: rgba(69, 53, 45, 0.78); box-shadow: -18px 0 38px rgba(33, 24, 20, 0.16); transform: none; }
.tj-address dl { margin: 0; }
.tj-address dt { margin-top: 28px; color: #e1b77d; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.tj-address dt:first-child { margin-top: 0; }
.tj-address dd { margin: 8px 0 0; color: rgba(255, 255, 255, 0.9); font-weight: 700; }

/* Responsive */
@media (max-width: 1199.98px) {
    .tj-philosophy .tj-title,
    .tj-philosophy-grid { width: calc(100% - 48px); margin-left: 24px; margin-right: 24px; }
    .tj-philosophy-grid { min-height: auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .tj-philo-item, .tj-philo-01, .tj-philo-02, .tj-philo-03 { position: relative; inset: auto; width: auto; height: auto; }
    .tj-philo-item img { height: 300px; }
    .tj-philo-copy, .tj-philo-02 .tj-philo-copy, .tj-philo-03 .tj-philo-copy { position: relative; right: auto; bottom: auto; width: auto; min-height: 230px; }
    .tj-product-scroll { overflow-x: auto; grid-template-columns: repeat(5, minmax(210px, 1fr)); padding-bottom: 10px; }
}

@media (max-width: 991.98px) {
    .tj-hero-swiper,
    .tj-hero-slide { min-height: 720px; }
    .tj-hero-layout { width: calc(100% - 48px); margin: 0 24px; grid-template-columns: 1fr; gap: 34px; }
    .tj-hero-paper { justify-self: start; width: min(260px, 70vw); }
    .tj-hero-mark { min-height: 0; font-size: 42px; }
    .tj-hero h1 { font-size: 46px; }
    .tj-hero-pagination { left: 24px !important; bottom: 28px !important; }
    .tj-section { padding: 78px 0; }
    .tj-brand { padding-top: 108px; padding-bottom: 108px; }
    .tj-title { margin-bottom: 42px; font-size: 30px; }
    .tj-philosophy-grid, .tj-quality-cards { grid-template-columns: 1fr; }
    .tj-quality { padding: 70px 0; }
    .tj-quality-inner { width: calc(100% - 48px); margin-left: 24px; margin-right: 24px; padding: 46px 36px; grid-template-columns: 1fr; gap: 32px; border-radius: 34px; }
    .tj-quality-cards { position: static; transform: none; padding-right: 0; }
    .tj-quality-card, .tj-quality-dark, .tj-quality-photo { border-radius: 34px; }
    .tj-location-head { width: calc(100% - 48px); margin-left: 24px; margin-right: 24px; }
    .tj-location-panel { width: calc(100% - 48px); min-height: 620px; margin-left: 24px; margin-right: 24px; border-radius: 34px; }
    .tj-map, .tj-map iframe, .tj-map img { min-height: 620px; }
    .tj-address { top: 0; right: 0; bottom: 0; width: min(360px, 42%); min-height: 100%; border-radius: 0 34px 34px 0; }
    .tj-arrow { display: none; }
}

@media (max-width: 575.98px) {
    .tj-hero-swiper,
    .tj-hero-slide { min-height: 680px; }
    .tj-hero-layout { width: calc(100% - 28px); margin: 0 14px; gap: 28px; }
    .tj-hero-mark { font-size: 32px; }
    .tj-hero h1 { font-size: 34px; }
    .tj-hero-text { font-size: 14px; }
    .tj-hero-paper { width: min(220px, 76vw); }
    .tj-hero-pagination { left: 14px !important; }
    .tj-hero-actions .btn, .tj-inquiry-actions .btn { width: 100%; }
    .tj-section { padding: 62px 0; }
    .tj-brand { padding-top: 82px; padding-bottom: 82px; }
    .tj-philosophy .tj-title,
    .tj-philosophy-grid { width: calc(100% - 28px); margin-left: 14px; margin-right: 14px; }
    .tj-quality-inner { width: calc(100% - 28px); margin-left: 14px; margin-right: 14px; padding: 36px 18px; }
    .tj-quality-card { height: auto; min-height: 300px; padding: 36px 26px; }
    .tj-address { min-height: 300px; padding: 0 26px; }
    .tj-quality-photo { padding: 0; }
    .tj-quality-cert-head { gap: 14px; }
    .tj-quality-cert-head img { width: 68px; height: 68px; }
    .tj-quality-dark h3 { font-size: 18px; }
    .tj-quality-intro h2, .tj-inquiry h2 { font-size: 28px; }
    .tj-location-head,
    .tj-location-panel { width: calc(100% - 28px); margin-left: 14px; margin-right: 14px; }
    .tj-location-panel, .tj-map, .tj-map iframe, .tj-map img { min-height: 560px; }
    .tj-address { position: absolute; top: auto; right: 0; bottom: 0; width: 100%; min-height: auto; margin-top: 0; border-radius: 0 0 34px 34px; }
    .tj-address dl { padding: 20px 0; }
}
