/* ========================================
   공통 CSS
======================================== */
@font-face {font-family:"OAGothic"; src:url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2302@1.0/OAGothic-Medium.woff2") format("woff2"); font-weight:500; font-display:swap;}
@font-face {font-family:"OAGothic"; src:url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2302@1.0/OAGothic-ExtraBold.woff2") format("woff2"); font-weight:800; font-display:swap;}
*, *::before, *::after {box-sizing:border-box; margin:0; padding:0;}
html {font-size:16px;}
body {font-family:"KoPubWorldBatang", serif; color:#333; -webkit-text-size-adjust:100%; width:100%; margin:0;}
img {max-width:100%; height:auto; display:block; border:0;}
a {text-decoration:none; color:inherit;}
button {font-family:inherit; cursor:pointer; border:none; outline:none; background:none;}
input, select, textarea {font-family:inherit; outline:none;}
.mobile-header {display:none;}
.page-wrapper, .content-area {width:100%;}
.section {position:relative; width:100%; margin:0 auto; background-position:center center; background-size:cover; background-repeat:no-repeat;}
.section .inner {position:relative; width:min(100% - 40px, 1400px); margin:0 auto;}
.section.full-screen {min-height:100vh; min-height:100svh;}
.title {font-size:3.625rem; color:#935816; font-weight:bold; letter-spacing:-0.08em;}
.gap-10 {display:flex; gap:10px; flex-direction:column;}
.pd-100 {padding:100px 0;}
@keyframes fadeUp {
    from {opacity:0; transform:translateY(25px);}
    to {opacity:1; transform:translateY(0);}
}
.sec06_top, .sec07_top {display:flex; align-items:center; justify-content:center;}
.send_btn {width:100%; display:flex; padding-top:15px;}
[data-aos] {pointer-events:none;}
[data-aos].aos-animate {pointer-events:auto;}
.scroll-wrap[data-aos] {pointer-events:auto;}
@keyframes ticker-scroll {
    0% {transform: translateX(0);}
    100% {transform: translateX(-50%);}
}
.priv_table {width:100%; margin:10px 0; border-top:1px solid #333;}
.priv_table thead th {background:#f8f8f8; font-weight:600; padding:10px 0; border-bottom:1px solid #ddd;}
.priv_table tbody td {padding:10px; border-bottom:1px solid #ddd;}
.priv_table tbody th {padding:10px; border-bottom:1px solid #ddd; border-right:1px solid #ddd; font-weight:600;}

/* sec 01 메인 비주얼 */
.sec01, .sec02, .sec03, .sec05, .sec06, .sec07, .sec08, .sec09, .sec10, .sec12 {background-position:center center; background-size:cover; background-repeat:no-repeat;}
.sec01 {height:100vh; min-height:650px; background-color:#000; background-image:url(../img/img01_bg.jpg);}
.sec01 .inner {height:100%; display:flex; align-items:center; justify-content:flex-start;}
.sec01 .txt {display:flex; flex-direction:column; align-items:center; width:650px; flex-shrink:0; text-align:center;}
.sec01 .txt img {width:auto; max-width:100%; height:auto;}
.sec01 .tt02 {margin-top:30px;}
.sec01 .tt03 {margin-top:35px;}
.sec01 .icon {display:flex; justify-content:center; align-items:center; gap:14px; margin-top:36px; list-style:none;}
.sec01 .icon li {flex:0 1 auto; min-width:0;}
.sec01 .icon li img {width:100%; max-width:120px;}
.sec01 .txt > * {opacity:0; animation:fadeUp .8s ease-out forwards;}
.sec01 .tt02 {animation-delay:.15s;}
.sec01 .tt03 {animation-delay:.3s;}
.sec01 .icon {animation-delay:.45s;}
.sec01-header {position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:10px 14px; background-color:#ffc809; transition:background-color 0.3s ease;}
.sec01-header.scrolled {background-color:#ffffff;}
.sec01-header-spacer {height:52px;}
.sec01-logo {height:32px !important; width:auto;}
.sec01-tel {height:30px !important; width:auto;}

/* sec 02 인사말 */
.sec02 {min-height:900px; height:100vh; background-color:#fdf5ea; background-image:url(../img/img02_bg.jpg);}
.sec02 .inner {height:100%; display:flex; align-items:center; justify-content:flex-end;}
.sec02 .txt {display:flex; flex-direction:column; align-items:flex-start; width:55%; text-align:left;}
.sec02 .txt img {width:auto; max-width:100%;}
.sec02 .txt .tt01 {margin-bottom:35px;}
.sec02 .txt .tt02 {margin-bottom:45px;}
.sec02 .sign {position:absolute; right:0; bottom:40px; width:220px;}
.sec02 .sign img {width:100%;}

/* sec 03 */
.sec03 {height:100vh; min-height:900px; background-color:#fdf5ea; background-image:url(../img/img03_bg.jpg);}
.sec03 .inner {height:100%; display:flex; align-items:center; justify-content:flex-start;}
.sec03 .inner div h1 {padding-bottom:2.25rem;}

/* sec 04 추천합니다 슬라이드 */
.sec04 {display:flex; flex-direction:column; justify-content:center; width:100%; min-height:max(100vh, 900px); padding:80px 0; background-color:#fff; text-align:center;}
.sec04-title {margin-bottom:1.875rem; text-align:center;}
.sec04-title > p {margin-bottom:1.5rem; font-size:clamp(0.75rem,0.833vw,1rem); font-weight:400; letter-spacing:0.65em; color:#985c23;}
.sec04-title h1 {margin-bottom:1.5rem; font-size:clamp(2.25rem,3.75vw,4.5rem); font-weight:700; line-height:1.2; letter-spacing:-0.055em; color:#111; word-break:keep-all;}
.sec04-tt {text-align:center;}
.sec04-tt p {font-size:clamp(1.125rem,1.5625vw,1.875rem); font-weight:400; line-height:1.35; letter-spacing:-0.045em; color:#40332c; word-break:keep-all;}
.sec04-tt p + p {margin-top:0;}
.sec04-tt strong {font-weight:700; color:#985c23;}
.sec04-scroll {width:100%; overflow:hidden; padding:30px 0 40px;}
.sec04-swiper {width:100%; overflow:visible;}
.sec04-swiper .swiper-wrapper {display:flex; align-items:center;}
.sec04-swiper .swiper-slide {width:645px; max-width:645px; height:auto; flex:0 0 645px; opacity:0.45; transform:scale(0.8); transition:transform 0.5s ease, opacity 0.5s ease;}
.sec04-swiper .swiper-slide img {display:block; width:100%; height:auto; border-radius:12px; box-shadow:0 8px 18px rgba(0,0,0,0.15); -webkit-user-drag:none; user-select:none;}
.sec04-swiper .swiper-slide-active {opacity:1; transform:scale(1); z-index:2;}
.sec04-control {display:flex; justify-content:center; align-items:center; gap:75px; margin-top:25px;}
.sec04-prev, .sec04-next {display:flex; justify-content:center; align-items:center; width:36px; height:36px; padding:0; border:1px solid #b3843b; border-radius:50%; background:#fff; color:#9b681e; font-size:15px; cursor:pointer; box-shadow:0 5px 10px rgba(0,0,0,0.12); transition:0.3s;}
.sec04-prev:hover, .sec04-next:hover {background:#9b681e; color:#fff;}
.sec04-pagination {display:flex; align-items:center; justify-content:center; gap:5px; width:auto !important;}
.sec04-pagination .swiper-pagination-bullet {width:8px; height:8px; margin:0 !important; border-radius:20px; background:#d4d4d4; opacity:1; transition:0.3s;}
.sec04-pagination .swiper-pagination-bullet-active {width:25px; background:#9b681e;}

/* sec 05 근력 · 관절 · 인지 3중 솔루션 */
.sec05 {min-height:900px; background-image:url(../img/img05_bg.jpg); display:flex; align-items:center;}
.sec05 .inner {display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:100vh; padding-top:clamp(60px,5vw,100px); padding-bottom:clamp(60px,5vw,100px);}
.sec05-tt {width:100%; text-align:center; word-break:keep-all;}
.sec05-subtitle {display:flex; align-items:center; justify-content:center; gap:1.5rem; margin-bottom:1.5rem; font-size:clamp(0.875rem,1.25vw,1.5rem); font-weight:400; letter-spacing:-0.04em; color:#222;}
.sec05-subtitle::before, .sec05-subtitle::after {content:""; display:block; width:clamp(40px,10vw,180px); height:1px; background:#b99b76;}
.sec05-title {font-size:clamp(2rem,3.6vw,4.25rem); font-weight:700; line-height:1.25; letter-spacing:-0.06em; color:#111;}
.sec05-title strong {font-weight:700; color:#935816;}
.sec05-desc {margin-top:1.25rem; font-size:clamp(0.9375rem,1.25vw,1.5rem); line-height:1.5; letter-spacing:-0.04em; color:#333;}
.sec05-desc strong {font-weight:700; color:#935816;}
.sec05-img {display:flex; align-items:center; justify-content:center; gap:0; width:100%; margin-top:30px;}
.sec05-img img {display:block; width:33.333%; max-width:330px; height:auto; flex-shrink:1;}
.sec05-bottom {width:100%; max-width:1050px; margin-top:35px;}
.sec05-bottom img {display:block; width:100%; height:auto;}

/* sec 06 지초 */
.sec06 {background-image:url(../img/img06_bg.jpg);}
.sec06-img, .sec07-img {line-height:0; font-size:0; margin:0 auto;}

/* sec 07 참당귀 */
.sec07 {background-image:url(../img/img07_bg.jpg);}

/* sec 08 부원료 */
.sec08 {min-height:100vh; background-color:#e9dfd4; background-image:url(../img/img08_bg.jpg);}
.sec08 .inner {display:flex; align-items:center; justify-content:flex-start; min-height:100vh; padding-top:80px; padding-bottom:80px;}
.sec08-content {width:45%; text-align:left; word-break:keep-all;}
.sec08-title {font-size:clamp(2.5rem,3.75vw,4.5rem); font-weight:700; line-height:1.25; letter-spacing:-0.065em; color:#945917;}
.sec08-line {display:block; width:35px; height:2px; margin:45px 0 35px; background:#945917;}
.sec08-desc {display:flex; flex-direction:column; gap:35px;}
.sec08-desc p {font-size:clamp(0.875rem,1.05vw,1.125rem); font-weight:400; line-height:1.65; letter-spacing:-0.045em; color:#332820;}
.sec08-desc .sec08-lead {font-size:clamp(1.125rem,1.5vw,1.75rem); font-weight:600; line-height:1.45; color:#15110f;}
.sec08-desc strong {font-weight:700; color:#945917;}

/* sec 09 후기 슬라이드 */
.sec09 {background-image:url(../img/img09_bg.jpg); min-height:100vh; padding:clamp(60px,5vw,100px) 0;}
.sec09 .inner {width:100%;}
.sec09-title {display:flex; flex-direction:column; align-items:center; width:100%; margin-bottom:2.1875rem; text-align:center; word-break:keep-all;}
.sec09-title h2 {font-size:clamp(2rem,3.75vw,4.5rem); font-weight:700; line-height:1.15; letter-spacing:-0.065em; color:#111;}
.sec09-title h2 span {color:#985c23;}
.sec09-title p {margin-top:1.5rem; font-size:clamp(0.875rem,1.25vw,1.5rem); font-weight:400; line-height:1.5; letter-spacing:-0.045em; color:#332b26;}
.sec09-title p strong {font-weight:700; color:#985c23;}
.sec09-slide-area {position:relative; width:100%; max-width:1050px; margin:0 auto; padding:0 55px;}
.sec09-swiper {width:100%; overflow:hidden; padding:20px 10px;}
.sec09-swiper .swiper-wrapper {align-items:center;}
.sec09-swiper .swiper-slide {width:100%; height:auto;}
.sec09-swiper .swiper-slide img {display:block; width:100%; height:auto; box-shadow:0 0px 12px rgba(90,60,15,0.25); -webkit-user-drag:none; user-select:none;}
.sec09-prev, .sec09-next {position:absolute; top:50%; transform:translateY(-50%); z-index:10; display:flex; align-items:center; justify-content:center; width:40px; height:40px; color:#7d5317; font-size:28px; cursor:pointer;}
.sec09-prev {left:0;}
.sec09-next {right:0;}
.sec09-prev:hover, .sec09-next:hover {color:#b88949;}
.sec09-pagination {display:flex; justify-content:center; align-items:center; gap:5px; margin-top:12px;}
.sec09-pagination .swiper-pagination-bullet {width:12px; height:12px; margin:0 !important; border-radius:20px; background:#d5d5d5; opacity:1; transition:0.3s;}
.sec09-pagination .swiper-pagination-bullet-active {width:44px; background:#9b681e;}

/* sec 10 한 병에 담은 가치 */
.sec10 {height:100vh; min-height:900px; background-image:url(../img/img10_bg.jpg);}
.sec10 .inner {display:flex; flex-direction:column; align-items:center; height:890px; justify-content:space-between;}
.sec10-title {padding-top:65px;}

/* sec 11 섭취 방법 */
.sec11 {width:100%; min-height:100vh; background-color:#e6ded1; background-size:cover; background-position:center center; background-repeat:no-repeat; display:flex; align-items:center;}
.sec11 .inner {display:flex; flex-direction:column; align-items:center; gap:2.5rem; padding-top:80px; padding-bottom:80px;}
.sec11-bt {display:flex; justify-content:space-between; gap:clamp(15px,2vw,30px); width:100%; max-width:1400px;}
.sec11-bt .gap-10 {display:flex; flex-direction:column; align-items:center; gap:10px; flex:1; min-width:0;}
.sec11-bt .gap-10 img {display:block; width:100%; height:auto;}
.sec11-title {width:100%; text-align:center;}
.sec11-title h2 {font-size:clamp(2rem,3.75vw,4.5rem); font-weight:700; line-height:1.3; letter-spacing:-0.055em; color:#111; word-break:keep-all;}
.sec11-title h2 span {color:#935816;}

/* sec 12 상담신청 */
.sec12 {min-height:max(100vh,900px); background-color:#f8eee3; background-image:url(../img/img12_bg.jpg);}
.sec12 .inner {display:flex; align-items:center; justify-content:flex-end; min-height:max(100vh,900px); padding-top:60px; padding-bottom:60px;}
.sec12-content {width:620px; max-width:100%; margin-left:auto;}
.sec12-title {display:flex; flex-direction:column; align-items:center; gap:20px; margin-bottom:35px;}
.sec12-title img {display:block; width:auto; max-width:100%; height:auto;}
.sec12-form {width:100%; padding:30px 55px 35px; border-radius:30px; background:rgba(255,255,255,0.88); backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px);}
.sec12-form-title {display:flex; align-items:center; justify-content:center; margin-bottom:25px;}
.sec12-form-title img {display:block; width:auto; max-width:100%; height:auto;}
.sec12 .dbform {width:100%; padding:0; border:0; border-radius:0; background:transparent;}
.sec12 .input_form {display:flex; flex-direction:column; flex-wrap:nowrap; gap:10px; width:100%;}
.sec12 .input_form .half {width:100%;}
.sec12 .input_form dl {display:grid; grid-template-columns:110px minmax(0,1fr); align-items:center; width:100%; min-height:55px; border:1px solid #777; background:rgba(255,255,255,0.6);}
.sec12 .input_form dl dt {width:auto; padding-left:18px; font-size:18px; font-weight:600; color:#111; text-align:left;}
.sec12 .input_form dl dd {min-width:0; height:100%;}
.sec12 .input_form dl dd input {display:block; width:100%; height:53px; padding:0 12px; border:0; outline:0; border-radius:0; background:transparent; font-size:17px; color:#333;}
.sec12 .input_form dl dd input::placeholder {font-size:16px; color:#999;}
.sec12 .input_form dl:focus-within {border-color:#99550e;}
.sec12 .sex dl {display:block; border:0; background:transparent;}
.sec12 .sex dl dt {display:none;}
.sec12 .sex dl dd {width:100%;}
.sec12 .s_btn {display:grid; grid-template-columns:1fr 1fr; width:100%; height:55px; border:1px solid #777;}
.sec12 .s_btn > div {display:flex; align-items:center; justify-content:center; width:100%; height:100%; background:rgba(255,255,255,0.6); font-size:18px; line-height:1; color:#222; cursor:pointer; user-select:none;}
.sec12 .s_btn > div + div {border-left:1px solid #777;}
.sec12 .s_btn > div.on {background:#222; color:#fff; font-weight:600;}
.sec12 .privacy_agree {display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px 10px; width:100%; margin:12px 0 0;}
.sec12 .privacy_agree .check {display:flex; align-items:center; gap:3px; font-size:10px; color:#555; white-space:nowrap;}
.sec12 .privacy_agree .check input[type="checkbox"] {width:12px; height:12px; accent-color:#2580e6; cursor:pointer; flex-shrink:0;}
.sec12 .privacy_agree .check a {font-size:10px; color:#555; text-decoration:none;}
.sec12 .privacy_agree .check a:hover {text-decoration:underline;}
.sec12 .send_btn {display:flex; width:100%; margin-top:25px; padding:0;}
.sec12 .sendbtn {display:flex; align-items:center; justify-content:center; width:100%; height:80px; padding:0 15px; border:0; border-radius:45px; background:#7d2024; color:#fff; font-size:36px; font-weight:700; line-height:1.2; text-align:center; cursor:pointer; transition:background .3s, transform .3s;}
.sec12 .sendbtn:hover {background:#67181c; transform:translateY(-2px);}
.sec12 .sendbtn:disabled {opacity:0.65; cursor:default; transform:none;}

/* ========================================
    DB 폼 및 개인정보 팝업
======================================== */
.privacy_agree {width:100%; display:flex; align-items:center; gap:6px; margin-bottom:12px; flex-wrap:wrap;}
.privacy_agree .check {display:flex; align-items:center; gap:3px; font-size:10px; color:#555; white-space:nowrap;}
.privacy_agree .check input[type="checkbox"] {width:12px; height:12px; accent-color:#192fb2; cursor:pointer; flex-shrink:0;}
.privacy_agree .check label {cursor:pointer;}
.privacy_agree .check label a {color:#4a6cf7; font-size:11px; text-decoration:none; margin-left:2px; white-space:nowrap;}
.privacy_agree .check label a:hover {text-decoration:underline;}
.sendbtn {flex:1; padding:0; border:none; background:transparent; line-height:0; overflow:hidden; cursor:pointer;}
.sendbtn img {width:100%; height:auto; display:block; transition:margin-top 0.2s ease;}
.sendbtn:hover img {margin-top:-4px;}
.privacy-overlay {display:none; position:fixed; inset:0; background:rgba(0, 0, 0, 0.55); z-index:1000;}
.privacy-overlay.is-open {display:block;}
.privacy-modal {display:none; position:fixed; top:50%; left:50%; transform:translate(-50%, -50%); z-index:1001; width:90%; max-width:480px;}
.privacy-modal.is-open {display:block;}
.privacy-modal-inner {background:#fff; border-radius:14px; padding:28px 24px 20px; position:relative;}
.privacy-modal-inner h3 {font-size:16px; font-weight:700; margin-bottom:16px; padding-right:24px; color:#111;}
.privacy-content {font-size:13px; color:#444; line-height:1.7; max-height:300px; overflow-y:auto; margin-bottom:20px;}
.privacy-content p {margin-bottom:8px;}
.privacy-content h4 {font-size:13px; font-weight:700; color:#222; margin:16px 0 6px; padding-bottom:4px; border-bottom:1px solid #eee;}
.privacy-content ul,

.privacy-content ol {padding-left:18px; margin-bottom:10px;}
.privacy-content ul {list-style:disc;}
.privacy-content ol {list-style:decimal;}
.privacy-content li {margin-bottom:5px; line-height:1.7;}
.privacy-content ol li {list-style:decimal;}
.privacy-content strong {font-weight:700; color:#222;}
.privacy-close {position:absolute; top:14px; right:16px; background:none; border:none; font-size:22px; color:#888; cursor:pointer; line-height:1; padding:0;}
.privacy-confirm {display:block; width:100%; height:46px; background:#1c2637; color:#fff; border:none; border-radius:8px; font-size:15px; font-weight:700; cursor:pointer; font-family:inherit;}
#privacy_bg {width:100%; background:#FFFFFF; margin:0;}
#privacy_all {width:1000px; margin:100px auto; background:#FFFFFF;}
#privacy_all .title {font-size:24px; text-align:center; margin-bottom:20px;}
.privacy-wrap {width:100%; font-size:14px; letter-spacing:-0.5px;}
.privacy-wrap .priv_msg {background:#f9f9f9; padding:15px; text-align:justify; line-height:2; margin-bottom:20px;}
.privacy-wrap .normal-text {text-align:justify; line-height:1.7;}
.privacy {margin-bottom:20px;}
.privacy:last-child {margin-bottom:0;}
.privacy h3 {margin-bottom:10px;}
.privacy h4 {font-weight:500; line-height:1.7;}
.privacy ul {margin:10px 0;}
.privacy ul > li {position:relative; padding-lefT:7px; line-height:2;}
.privacy ul > li:before {content:"-"; position:absolute; top:0; left:0;}
.privacy ol {margin:5px 0;}
.privacy ol > li {position:relative; padding-left:7px; font-size:13px; font-family:"NotoSansKR"; line-height:1.8; letter-spacing:-0.7px;}
.privacy ol > li:before {content:"·"; position:absolute; top:0; left:0;}

/* ========================================
   푸터 · 플로팅 버튼 · 후기 티커 · 팝업
======================================== */
#footer-wrap {background:#f5f5f5; padding:30px 20px 100px 20px; text-align:center;}
#footer-wrap .bottom-logo {margin-bottom:20px;}
#footer-wrap .bottom-logo img {height:50px; margin:0 auto;}
#footer-wrap p {font-size:12px; opacity:0.5;}
#footer-wrap .link {margin-top:20px;}
#footer-wrap .link a {display:inline-block; font-size:12px; letter-spacing:-1px; background:#222; color:#fff; border-radius:10px; text-align:center; padding:5px 10px;}
#footer-wrap .link a.naver {background:#00c901;}
.m-float-stack {display:none;}
.float_btn_wrap {position:fixed; bottom:0; left:0; right:0; display:flex; align-items:center; background:#fff; padding:10px; z-index:200;}
.float_btn_wrap a {width:42.5%; margin:0 3px;}
.float_btn_wrap a img {width:100%;}
.float_btn_wrap button {width:15%; background:transparent; border:none; margin:0 3px; cursor:pointer;}
.float_btn_wrap button img {width:100%;}
#pc_top_btn {display:none;}
#review-ticker {display:none; position:relative; left:auto; right:auto; bottom:auto; z-index:auto; box-sizing:border-box; width:100%; padding:0; margin:0; background:transparent; flex-shrink:0;}
#review-ticker.ticker-visible {display:block;}
.ticker-inner {display:flex; align-items:center; width:100%; height:42px; gap:0; box-sizing:border-box;}
.ticker-track {flex:1; overflow:hidden; height:100%; display:flex; align-items:center; background:#003f91; box-shadow:0 2px 10px rgba(0, 120, 180, 0.15);}
.ticker-items {display:flex; align-items:center; white-space:nowrap; animation:ticker-scroll 32s linear infinite; will-change:transform;}
.ticker-item {display:inline-block; padding:0 24px; font-size:15px; font-weight:600; color:#ffffff; white-space:nowrap; letter-spacing:-0.2px;}
.ticker-item::after {content:"✦"; margin-left:24px; color:#ffee00; font-size:8px; vertical-align:middle;}
.ticker-close {flex-shrink:0; width:34px; height:42px; display:flex; align-items:center; justify-content:center; background:#003f91; border:none; border-left:1px solid rgba(26, 110, 154, 0.2); color:#1a6e9a; font-size:16px; cursor:pointer; padding:0; line-height:1;}
#pc-ticker {display:none; flex-shrink:0; width:100%; padding:0;}
#pc-ticker .ticker-inner {height:42px; display:flex; align-items:center;}
#pc-ticker .ticker-track {flex:1; overflow:hidden; height:100%; display:flex; align-items:center; background:#003f91;}
#pc-ticker .ticker-items {display:flex; align-items:center; white-space:nowrap; animation:ticker-scroll 70s linear infinite; will-change:transform;}
.hd_pops_footer {display:flex; justify-content:space-between; align-items:center; background:#222; padding:0;}
.hd_pops_footer button {flex:1; height:36px; border:none; cursor:pointer; font-size:13px; font-family:inherit; transition:background 0.15s;}

/* ========================================
   반응형 CSS (화면 너비별 관리)
======================================== */
@media (min-width: 1240px) {
    #pc-ticker {display:block; position:fixed; bottom:0; left:0; width:100%; z-index:9999; transform:translateY(100%); transition:transform 0.4s ease;}
    #pc-ticker.pc-ticker-visible {transform:translateY(0);}
}
@media (min-width: 768px) {
    .float_btn_wrap {display:none;}
    #pc_top_btn {display:block; position:fixed; bottom:60px; right:40px; width:50px; height:50px; padding:0; border:none; background:none; cursor:pointer; z-index:200;}
    #pc_top_btn img {width:100%; height:auto; display:block;}
    #review-ticker {display:none !important;}
}
@media (max-width:1440px) {
    /* sec01 */
    .sec01 .txt {width:48%; flex-shrink:1;}
    .sec01 .tt02 {margin-top:25px;}
    .sec01 .tt03 {margin-top:30px;}
    .sec01 .icon {margin-top:30px;}
    .sec01 .icon li img {max-width:100px;}

    /* sec02 */
    .sec02 .txt {width:54%;}
    .sec02 .sign {right:20px; width:180px;}

    /* sec05 */
    .sec05 .inner {padding-top:70px; padding-bottom:70px;}
    .sec05-subtitle {margin-bottom:20px;}
    .sec05-img {margin-top:25px;}
    .sec05-img img {max-width:300px;}
    .sec05-bottom {max-width:900px; margin-top:30px;}

    /* sec08 */
    .sec08-content {width:47%;}
    .sec08-line {margin:30px 0;}
    .sec08-desc {gap:25px;}

    /* sec12 */
    .sec12-content {width:560px;}
    .sec12-title {gap:15px; margin-bottom:30px;}
    .sec12-form {padding:30px 35px;}
    .sec12-form-title {margin-bottom:20px;}
    .sec12 .sendbtn {height:70px; font-size:30px;}
}
@media (max-width:1024px) {
    /* sec01 */
    .sec01 .txt {width:46%;}
    .sec01 .tt02 {margin-top:20px;}
    .sec01 .tt03 {margin-top:25px;}
    .sec01 .icon {gap:10px; margin-top:25px;}
    .sec01 .icon li img {max-width:85px;}

    /* sec02 */
    .sec02 .txt {width:52%;}
    .sec02 .txt .tt01 {margin-bottom:25px;}
    .sec02 .txt .tt02 {margin-bottom:30px;}
    .sec02 .sign {right:20px; bottom:30px; width:150px;}

    /* sec05 */
    .sec05 .inner {padding-top:60px; padding-bottom:60px;}
    .sec05-title {font-size:clamp(30px,4vw,44px);}
    .sec05-img img {max-width:280px;}
    .sec05-bottom {margin-top:25px;}

    /* sec08 */
    .sec08 .inner {padding-top:70px; padding-bottom:70px;}
    .sec08-content {width:50%;}
    .sec08-title {font-size:clamp(2.25rem,4vw,3.5rem);}
    .sec08-desc {gap:20px;}
    .sec08-desc p {font-size:0.875rem;}
    .sec08-desc .sec08-lead {font-size:1.125rem;}

    /* sec09 */
    .sec09 {padding:70px 0;}
    .sec09-slide-area {padding:0 40px;}
    .sec09-title p {font-size:17px;}
    .sec09-prev, .sec09-next {font-size:24px;}

    /* sec12 */
    .sec12-content {width:52%;}
    .sec12-title {gap:12px; margin-bottom:25px;}
    .sec12-form {padding:25px 20px;}
    .sec12-form-title {margin-bottom:18px;}
    .sec12 .input_form dl {grid-template-columns:80px minmax(0,1fr);}
    .sec12 .input_form dl dt {padding-left:12px; font-size:15px;}
    .sec12 .input_form dl dd input {font-size:15px;}
    .sec12 .sendbtn {height:60px; font-size:24px;}
}
@media (max-width:768px) {
    /* sec 09 */
    .sec09 {min-height:auto; padding:70px 0;}
    .sec09-title {margin-bottom:1.5625rem;}
    .sec09-title h2 {font-size:clamp(1.75rem,5vw,2.25rem); line-height:1.3; letter-spacing:-0.05em;}
    .sec09-title p {margin-top:1rem; font-size:clamp(0.875rem,3.5vw,1rem); line-height:1.6; letter-spacing:-0.04em;}
    .sec09-slide-area {padding:0 25px;}
    .sec09-swiper {padding:15px 8px 20px;}
    .sec09-prev, .sec09-next {width:25px; font-size:20px;}
    .sec09-pagination .swiper-pagination-bullet {width:8px; height:8px;}
    .sec09-pagination .swiper-pagination-bullet-active {width:30px;}
}

@media (max-width:767px) {
    /* sec04 */
    .sec04-title {margin-bottom:25px;}
    .sec04-title > p {margin-bottom:15px; font-size:0.75rem; letter-spacing:0.4em;}
    .sec04-title h1 {margin-bottom:18px; font-size:clamp(1.75rem,5vw,2.25rem); line-height:1.3; letter-spacing:-0.05em; word-break:keep-all;}
    .sec04-tt p {font-size:clamp(0.875rem,2.5vw,1.125rem); line-height:1.6; letter-spacing:-0.04em;}

    /* sec05 */
    .sec05 {min-height:auto;}
    .sec05 .inner {min-height:auto; padding-top:60px; padding-bottom:60px;}
    .sec05-subtitle {gap:0.5rem; margin-bottom:1rem; font-size:0.75rem; letter-spacing:-0.04em;}
    .sec05-subtitle::before, .sec05-subtitle::after {width:15px; flex-shrink:0;}
    .sec05-title {font-size:clamp(1.75rem,5.5vw,2.25rem); line-height:1.3;}
    .sec05-desc {margin-top:1rem; font-size:0.875rem; line-height:1.6;}
    .sec05-img {gap:5px; margin-top:25px;}
    .sec05-img img {width:calc((100% - 10px) / 3);}
    .sec05-bottom {margin-top:25px;}

    /* sec08 */
    .sec08 {min-height:auto; background-position:center bottom; background-size:cover;}
    .sec08 .inner {min-height:auto; padding-top:60px; padding-bottom:320px; align-items:flex-start;}
    .sec08-content {width:100%; text-align:center;}
    .sec08-title {font-size:clamp(2rem,7vw,3rem); line-height:1.3;}
    .sec08-line {width:30px; margin:25px auto;}
    .sec08-desc {gap:20px;}
    .sec08-desc p {font-size:0.875rem; line-height:1.65;}
    .sec08-desc .sec08-lead {font-size:1.125rem; line-height:1.5;}

    /* sec11 */
    .sec11 {height:auto; min-height:100vh; background-size:cover; background-position:center center;}
    .sec11 {background-image:linear-gradient(to bottom, #e6ded1, #f5eadc); background-size:cover;}
    .sec11 .inner {height:auto; padding-top:60px; padding-bottom:60px; gap:30px;}
    .sec11-bt {flex-direction:column; align-items:center; gap:35px;}
    .sec11-bt .gap-10 {width:100%; max-width:420px; flex:none; gap:12px;}
    .sec11-title h2 {font-size:clamp(2rem,6vw,2.5rem); line-height:1.4; letter-spacing:-0.05em;}
    .sec11-title h2 span {display:block;}
    
    /* sec12 */
    .sec12 {min-height:auto; background-position:35% center;}
    .sec12 .inner {min-height:auto; padding:60px 20px;}
    .sec12-content {width:100%;}
    .sec12-form {padding:25px 20px;}
    .sec12 .sendbtn {height:60px; font-size:24px;}
}
@media (max-width: 767px) {
    #footer-wrap {padding-bottom:150px;}
    .m-float-stack {display:flex; flex-direction:column; position:fixed; bottom:0; left:0; right:0; z-index:200; padding-bottom:env(safe-area-inset-bottom, 0px);}
    .m-float-stack .float_btn_wrap {position:relative; bottom:auto; left:auto; right:auto; flex-shrink:0;}
}

/* ==================================================
   CF 영상 예약 스타일 (현재 주석 처리)
   When the CF markup is added, remove the wrapper comment
   after reviewing the code below.
==================================================
CF 영역 예약: 실제 CF HTML/JS를 추가할 때 주석 해제
.sec03-video-wrap {position:relative; width:95%; margin:20px auto; padding-top:56.25%; border-radius:12px; overflow:hidden; background:none;}
.sec03-video-wrap iframe {position:absolute; top:0; left:0; width:100%; height:100%; border:0;}
.cf-video-controls {position:absolute; bottom:14px; left:5px; right:5px; z-index:10; display:flex; align-items:center; justify-content:space-between; opacity:0; pointer-events:none; transition:opacity 0.25s;}
.cf-video-overlay {display:none; position:absolute; inset:0; z-index:5; -webkit-tap-highlight-color:transparent;}
.sec03-video-wrap:hover .cf-video-controls {opacity:1; pointer-events:auto;}
.sec03-video-wrap.is-active .cf-video-controls {opacity:1; pointer-events:auto;}
.sec03-video-wrap.is-active .cf-video-overlay {display:none;}
.cf-video-btn {display:inline-flex; flex-direction:row; align-items:center; gap:3px; padding:3px 7px 3px 4px; background:none; border:none; border-radius:999px; backdrop-filter:none; -webkit-backdrop-filter:none; cursor:pointer; transition:background 0.2s, border-color 0.2s, transform 0.15s; -webkit-tap-highlight-color:transparent;}
.cf-video-btn:hover {background:rgba(255, 255, 255, 0.28); border-color:#fff; transform:scale(1.05);}
.cf-video-btn:active {transform:scale(0.96);}
.cf-btn-circle {display:flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:rgba(255, 255, 255, 0.25); flex-shrink:0;}
.cf-btn-icon {display:flex; align-items:center; justify-content:center; width:13px; height:13px;}
.cf-btn-icon svg {width:13px; height:13px;}
.cf-btn-label {font-size:9px; font-weight:700; letter-spacing:0.1em; color:rgba(255, 255, 255, 0.95); text-shadow:0 1px 2px rgba(0,0,0,0.35); line-height:1; white-space:nowrap;}
#cfVideoBtn .cf-icon-play, #cfVideoBtn .cf-label-play {display:none;}
#cfVideoBtn .cf-icon-pause {display:flex;}
#cfVideoBtn .cf-label-pause {display:block;}
#cfVideoBtn.is-paused .cf-icon-pause,

#cfVideoBtn.is-paused .cf-label-pause {display:none;}
#cfVideoBtn.is-paused .cf-icon-play {display:flex;}
#cfVideoBtn.is-paused .cf-label-play {display:block;}
#cfSoundBtn .cf-icon-sound, #cfSoundBtn .cf-label-sound {display:none;}
#cfSoundBtn .cf-icon-muted {display:flex;}
#cfSoundBtn .cf-label-muted {display:block;}
#cfSoundBtn:not(.is-muted) .cf-icon-muted,

#cfSoundBtn:not(.is-muted) .cf-label-muted {display:none;}
#cfSoundBtn:not(.is-muted) .cf-icon-sound {display:flex;}
#cfSoundBtn:not(.is-muted) .cf-label-sound {display:block;}

*/

/* ==================================================
   이전 스타일 보관 (사용 확인 전까지 주석 처리)
   Confirm not referenced by any other template or script.
==================================================
이전 sec13·sec14 스타일: 다른 페이지와 스크립트 사용 여부 확인 전까지 보관
@media (max-width: 480px) {
    .sec13-inner {padding-left:12px; padding-right:12px;}
    .si-value-wrap {flex-wrap:nowrap; align-items:flex-end; gap:2px; max-width:100%; min-width:0;}
    .si-tiles {min-width:0; justify-content:flex-start;}
    .si-tile {width:28px; height:36px; font-size:24px; border-radius:2px; box-shadow:0 1px 0 rgba(0, 0, 0, 0.4);}
    .si-comma {font-size:16px; padding-bottom:2px; margin:0;}
    .si-suffix {font-size:16px; padding-bottom:2px;}
    .si-big {font-size:34px; letter-spacing:-0.05em;}
    .si-suffix-big {font-size:18px; padding-bottom:4px;}
    .si-label {font-size:13px;}
    .sec14-slide {flex:0 0 calc(75% - 20px); padding:0 8px;}
     



.sec14-slider-wrap {position:relative; overflow:hidden; margin-left:50px;}
}
@media (max-width: 360px) {
    .si-tile {width:22px; height:32px; font-size:14px;}
    .si-comma,

    .si-suffix {font-size:14px;}
    .si-big {font-size:30px;}
    .si-suffix-big {font-size:16px;}
    .sec14-slide {flex:0 0 calc(75% - 20px); padding:0 8px;}
}

*/
