/* ===== GNB ===== */
#gnb {position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(10,10,10,0.82); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid rgba(255,255,255,0.07);}
/* GSAP handles gnb animation */
#gnb .gnb-inner {max-width:1280px; margin:0 auto; padding:0 40px; height:64px; display:flex; align-items:center; justify-content:center; position:relative;}
#gnb .gnb-left {display:flex; align-items:center; gap:36px;}
#gnb .gnb-left a {font-size:16px; font-weight:600; color:#fff; letter-spacing:-0.01em; white-space:nowrap; transition:color 0.2s; opacity:0;}
#gnb .gnb-left a:hover {color:var(--orange);}
#gnb .gnb-logo {display:flex; align-items:center; justify-content:center; margin:0 48px;}
#gnb .gnb-logo a {display:flex; align-items:center; justify-content:center;}
#gnb .gnb-logo img {height:40px; width:auto;}
#gnb .gnb-logo .logo-text {font-size:20px; font-weight:900; color:#fff; letter-spacing:-0.03em; white-space:nowrap;}
#gnb .gnb-right {display:flex; align-items:center; gap:36px;}
#gnb .gnb-right a {font-size:16px; font-weight:600; color:#fff; letter-spacing:-0.01em; white-space:nowrap; transition:color 0.2s; opacity:0;}
#gnb .gnb-right a:hover {color:var(--orange);}
#gnb .gnb-tel {position:fixed; right:0; top:0; height:64px; display:flex; align-items:center; gap:12px; background:rgba(30,30,30,0.95); padding:0 20px;}
#gnb .gnb-tel .tel-icon {display:flex; align-items:center; color:#fff;}
#gnb .gnb-tel .tel-info {display:flex; flex-direction:column; align-items:flex-start; gap:1px;}
#gnb .gnb-tel .tel-label {font-size:11px; font-weight:600; color:#fff; letter-spacing:-0.01em; line-height:1;}
#gnb .gnb-tel .tel-number {font-size:20px; font-weight:800; color:var(--orange); letter-spacing:-0.02em; line-height:1.2;}
#gnb .gnb-tel-mobile {display:none; align-items:center; color:#fff;}
#gnb .gnb-menu-btn {display:none; background:none; border:none; cursor:pointer; flex-direction:column; gap:5px; padding:4px;}
#gnb .gnb-menu-btn span {display:block; width:24px; height:2px; background:#fff; border-radius:2px; transition:transform 0.3s cubic-bezier(0.22,1,0.36,1), opacity 0.2s;}
#gnb .gnb-menu-btn.is-open span:nth-child(1) {transform:translateY(7px) rotate(45deg);}
#gnb .gnb-menu-btn.is-open span:nth-child(2) {opacity:0; transform:scaleX(0);}
#gnb .gnb-menu-btn.is-open span:nth-child(3) {transform:translateY(-7px) rotate(-45deg);}
#gnb .gnb-mobile-menu {display:none; flex-direction:column; background:rgba(10,10,10,0.97); border-top:1px solid rgba(255,255,255,0.07);}
#gnb .gnb-mobile-menu a {display:block; padding:15px 20px; font-size:15px; font-weight:500; color:rgba(255,255,255,0.75); border-bottom:1px solid rgba(255,255,255,0.05); transition:color 0.2s;}
#gnb .gnb-mobile-menu a:hover {color:var(--orange);}
#gnb .gnb-mobile-menu.is-open {display:flex;}
.pc_img{display: block;	}
.m_img{display: none;}

/* ===== MAIN01 ===== */
#main01 {position:relative; width:100%; min-height:100vh; text-align:center; overflow:hidden;}
#main01 .bg {position:absolute; inset:0; z-index:0; background:url('../image/main01_bg.jpg') center center / cover no-repeat; transform:scale(1.08); opacity:0;}
#main01 .inner {position:relative; z-index:1; max-width:960px; margin:0 auto; padding:180px 40px 80px;}
#main01 .ctn01 {margin-bottom:28px;}
#main01 .ctn01 img {width:200px; height:auto; max-width:90vw; margin:0 auto;}
#main01 .title01 {margin-bottom:16px;}
#main01 .title01 img {width:389px; height:auto; max-width:90vw; margin:0 auto;}
#main01 .title02 {margin-bottom:-32px;}
#main01 .title02 img {width:460px; height:auto; max-width:90vw; margin:0 auto;}
#main01 .title03 {margin-bottom:20px;}
#main01 .title03 img {width:884px; height:auto; max-width:92vw; margin:0 auto;}
#main01 .desc {margin-bottom:8px;}
#main01 .desc p {font-size:clamp(16px,1.8vw,22px); font-weight:500; color:#fff; line-height:1.7; letter-spacing:-0.01em; word-break:keep-all;}
#main01 .desc p strong {color:var(--orange); font-weight:700;}
#main01 .note {font-size:clamp(14px,1.4vw,18px); font-weight:400; color:rgba(255,255,255,0.7); line-height:1.6; letter-spacing:-0.01em; word-break:keep-all;}
#main01 .quick-badge {position:fixed; bottom:40px; right:40px; z-index:200; animation:quickFloat 3.5s ease-in-out infinite;}
#main01 .quick-badge img {width:168px; height:168px; object-fit:contain;}
#main01 .scroll-indicator {position:absolute; bottom:40px; left:50%; transform:translateX(-50%); z-index:2; text-align:center;}
#main01 .scroll-indicator span {display:block; font-size:10px; font-weight:500; color:rgba(255,255,255,0.4); letter-spacing:0.12em; text-transform:uppercase; margin-bottom:8px;}
#main01 .scroll-indicator .scroll-line {width:1px; height:36px; background:linear-gradient(to bottom,rgba(255,255,255,0.5),transparent); margin:0 auto; animation:scrollAnim 1.8s ease-in-out infinite;}

/* ===== KEYFRAMES ===== */
@keyframes gnbDrop {
    0%   {opacity:0; transform:translateY(-20px);}
    100% {opacity:1; transform:translateY(0);}
}
@keyframes quickFloat {
    0%   {transform:translateY(0px);}
    50%  {transform:translateY(-10px);}
    100% {transform:translateY(0px);}
}
@keyframes ctn01Fade {
    0%   {opacity:0;}
    100% {opacity:1;}
}
@keyframes floatRotate {
    0%   {transform:translateY(0px) rotate(-4deg);}
    30%  {transform:translateY(-12px) rotate(2deg);}
    60%  {transform:translateY(-6px) rotate(-2deg);}
    100% {transform:translateY(0px) rotate(-4deg);}
}
@keyframes bgReveal {
    0%   {transform:scale(1.18); opacity:0;}
    100% {transform:scale(1.08); opacity:1;}
}
@keyframes bgDrift {
    0%   {transform:scale(1.08) translateX(0) translateY(0);}
    33%  {transform:scale(1.10) translateX(-1%) translateY(-0.5%);}
    66%  {transform:scale(1.09) translateX(1%) translateY(0.3%);}
    100% {transform:scale(1.08) translateX(0) translateY(0);}
}
@keyframes fadeUp {
    0%   {opacity:0; transform:translateY(40px);}
    60%  {opacity:1; transform:translateY(-8px);}
    80%  {transform:translateY(4px);}
    100% {opacity:1; transform:translateY(0);}
}
@keyframes fadeIn {
    0%   {opacity:0;}
    100% {opacity:1;}
}
@keyframes bounceDrop {
    0%   {opacity:0; transform:translateY(60px) scaleY(0.8) scaleX(1.05);}
    40%  {opacity:1; transform:translateY(-16px) scaleY(1.06) scaleX(0.97);}
    60%  {transform:translateY(8px) scaleY(0.96) scaleX(1.02);}
    75%  {transform:translateY(-6px) scaleY(1.03) scaleX(0.99);}
    88%  {transform:translateY(3px) scaleY(0.99) scaleX(1.0);}
    100% {opacity:1; transform:translateY(0) scaleY(1) scaleX(1);}
}
@keyframes scrollAnim {
    0%   {opacity:0; transform:scaleY(0); transform-origin:top;}
    50%  {opacity:1; transform:scaleY(1); transform-origin:top;}
    100% {opacity:0; transform:scaleY(1); transform-origin:bottom;}
}
@keyframes stampIn {
    0%   {opacity:0; transform:scale(2.5) rotate(-8deg); filter:blur(2px);}
    40%  {opacity:1; transform:scale(0.88) rotate(2deg); filter:blur(0);}
    60%  {transform:scale(1.08) rotate(-1deg);}
    80%  {transform:scale(0.96) rotate(0.5deg);}
    100% {opacity:1; transform:scale(1) rotate(0deg);}
}
@keyframes stampBlink {
    0%,100% {opacity:1; text-shadow:0 0 10px rgba(255,255,255,0.6), 0 2px 4px rgba(0,0,0,0.4);}
    50%     {opacity:0.3; text-shadow:0 0 2px rgba(255,255,255,0.1);}
}
@keyframes chartEcho {
    0%   {opacity:0.6; transform:rotate(-90deg) scale(1);}
    100% {opacity:0; transform:rotate(-90deg) scale(1.18);}
}

/* MAIN01 초기 */
/* GSAP controls main01 initial states */
/* GSAP handles main01 animations */

/* ===== MAIN02 ===== */
#main02 {background:#000; padding:1.5%;}
#main02 .ctn {display:grid; grid-template-columns:1fr 1fr; min-height:960px;}
#main02 .left {position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; text-align:center; padding:60px 40px;}
#main02 .left .bg {position:absolute; inset:0; z-index:0; background:url('../image/main02_left_bg.jpg') center center / cover no-repeat; transform:scale(1.06); opacity:0;}
#main02 .left .inner {position:relative; z-index:1; width:100%;}
#main02 .left .logo {margin-bottom:20px;}
#main02 .left .logo img {width:200px; height:auto; margin:0 auto;}
#main02 .left .title {margin-bottom:12px;}
#main02 .left .title h2 {font-size:clamp(80px,10vw,140px); font-weight:900; color:#fff; line-height:0.9; letter-spacing:-0.04em;}
#main02 .left .quote {margin-bottom:20px;}
#main02 .left .quote p {font-size:clamp(26px,3vw,44px); font-weight:800; color:#fff; line-height:1.3; letter-spacing:-0.02em; word-break:keep-all;}
#main02 .left .quote p em {color:var(--orange); font-style:normal;}
#main02 .left .desc {margin-bottom:48px;}
#main02 .left .desc p {font-size:clamp(18px,2vw,28px); font-weight:500; color:rgba(255,255,255,0.9); line-height:1.65; letter-spacing:-0.02em; word-break:keep-all;}
#main02 .left .desc p em {color:var(--orange); font-style:normal; font-weight:700;}
#main02 .left .icon-list {display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
#main02 .left .icon-item {display:flex; flex-direction:column; align-items:center; gap:12px;}
#main02 .left .icon-item img {width:96px; height:96px; object-fit:contain;}
#main02 .left .icon-item p {font-size:17px; font-weight:500; color:rgba(255,255,255,0.85); line-height:1.5; letter-spacing:-0.01em; word-break:keep-all; text-align:center;}
#main02 .left .icon-item p em {display:block; color:var(--orange); font-style:normal; font-weight:700;}
#main02 .right {position:relative; overflow:hidden; background:var(--orange); display:flex; align-items:center; justify-content:center; text-align:center; padding:60px 40px;}
#main02 .right .bg {position:absolute; inset:0; z-index:0; background:url('../image/main02_right_bg.jpg') center center / cover no-repeat; transform:scale(1.06); opacity:0;}
#main02 .right .ctn01 {position:absolute; top:-40px; left:-30px; width:300px; z-index:1; pointer-events:none;}
#main02 .right .ctn01 img {width:100%; height:auto;}
#main02 .right .inner {position:relative; z-index:2; width:100%;}
#main02 .right .top-badge {display:flex; justify-content:flex-end; margin-bottom:12px;}
#main02 .right .top-badge img {height:88px; width:auto;}
#main02 .right .title01 {margin-bottom:8px;}
#main02 .right .title01 h3 {font-size:clamp(60px,8vw,110px); font-weight:900; color:#fff; line-height:0.9; letter-spacing:-0.04em;}
#main02 .right .sub-title {margin-bottom:24px;}
#main02 .right .sub-title p {font-size:clamp(18px,2vw,26px); font-weight:700; color:#fff; line-height:1.3; letter-spacing:-0.02em; word-break:keep-all;}
#main02 .right .dombe-info {margin-bottom:24px;}
#main02 .right .dombe-info img {max-width:100%; height:auto; margin:0 auto;}
#main02 .right .margin-box {background:rgba(0,0,0,0.78); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); padding:36px 32px; margin-bottom:24px; text-align:center; max-width:480px; margin-left:auto; margin-right:auto;}
#main02 .right .margin-box .margin-desc {font-size:clamp(12px,1.1vw,14px); font-weight:400; color:rgba(255,255,255,0.8); line-height:1.65; letter-spacing:-0.01em; margin-bottom:8px; word-break:keep-all;}
#main02 .right .margin-box .margin-num {font-size:clamp(36px,4.5vw,64px); font-weight:900; color:#fff; line-height:1; letter-spacing:-0.04em;}
#main02 .right .margin-box .margin-num em {color:var(--orange); font-style:normal;}
#main02 .right .title03 {text-align:center;}
#main02 .right .title03 img {width:auto; height:auto; max-width:100%; max-height:72px; margin:0 auto;}

/* GSAP controls main02 initial states */


/* ===== MAIN03 ===== */
#main03 {position:relative; overflow:hidden; padding:120px 5%;}
#main03 .bg {position:absolute; inset:0; z-index:0; background:url('../image/main03_bg.jpg?Ver=1') center center / cover no-repeat;}
#main03 .food-lt {position:absolute; bottom:-20px; left:-40px; width:360px; z-index:1; pointer-events:none;}
#main03 .food-lt img {width:100%; height:auto;}
#main03 .food-rt {position:absolute; top:-40px; right:-40px; width:280px; z-index:1; pointer-events:none;}
#main03 .food-rt img {width:100%; height:auto;}
#main03 .ctn {position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:48px; max-width:1280px; margin:0 auto;}
#main03 .left {text-align:center;}
#main03 .left .title {margin-bottom:12px;}
#main03 .left .title h2 {font-size:95px; font-weight:900; color:#fff; line-height:1.1; letter-spacing:-0.04em; word-break:keep-all;}
#main03 .left .title h2 em {color:var(--orange); font-style:normal;}
#main03 .left .tag {margin-bottom:48px;}
#main03 .left .tag p {font-size:26px; font-weight:500; color:rgba(255,255,255,0.65); letter-spacing:-0.01em; word-break:keep-all;}
#main03 .left .tag p em {color:var(--orange); font-style:normal; font-weight:700;}
#main03 .chart-area {position:relative; width:100%; overflow:visible;}
#main03 .chart-svg-wrap {position:relative; width:460px; height:460px; max-width:90%; overflow:visible; margin:0 auto;}
#main03 .chart-svg-wrap svg {width:100%; height:100%; transform:rotate(-90deg); display:block; overflow:visible;}
#main03 .chart-svg-wrap .track {fill:none; stroke:#222; stroke-width:52;}
#main03 .chart-svg-wrap .progress {fill:none; stroke:url(#chartGlow); stroke-width:52; stroke-linecap:butt; filter:drop-shadow(0 0 8px rgba(245,101,0,0.7)) drop-shadow(0 0 20px rgba(245,101,0,0.35));}
#main03 .chart-labels {position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; pointer-events:none; gap:4px;}
#main03 .chart-labels .lbl-title {font-size:14px; font-weight:500; color:rgba(255,255,255,0.65);}
#main03 .chart-labels .lbl-num {font-size:clamp(32px,4vw,52px); font-weight:900; color:#fff; line-height:1; letter-spacing:-0.04em;}
#main03 .chart-labels .lbl-pct {font-size:clamp(18px,2.2vw,28px); font-weight:700; color:var(--orange); line-height:1; letter-spacing:-0.02em;}
#main03 .chart-total {margin-top:12px; text-align:center;}
#main03 .chart-total p {font-size:18px; color:#fff; letter-spacing:-0.01em;}
#main03 .chart-total p strong {font-size:24px; font-weight:700; color:#fff;}
#main03 .left .footnote {margin-top:8px; font-size:14px; color:rgba(255,255,255,0.5); letter-spacing:-0.01em;}
#main03 .right .table-title {font-size:30px; font-weight:700; color:#fff; margin-bottom:16px; text-align:center;}
#main03 .right table {width:100%; border-collapse:collapse; margin-bottom:32px; text-align:center;}
#main03 .right table th {font-size:18px; font-weight:700; color:#fff; padding:14px 20px; background:#373737; border-bottom:none;}
#main03 .right table td {font-size:18px; color:rgba(255,255,255,0.75); padding:14px 20px; border-bottom:1px solid rgba(255,255,255,0.08);}
#main03 .right table tbody tr.highlight td {background:var(--orange); color:#fff; font-weight:700; font-size:20px; border-bottom:none;}
#main03 .right .bottom-msg {text-align:center;}
#main03 .right .bottom-msg p {font-size:clamp(18px,2vw,24px); font-weight:700; color:#fff; line-height:1.5; letter-spacing:-0.02em; word-break:keep-all;}
#main03 .right .bottom-msg em {display:inline; color:var(--orange); font-style:normal; font-size:clamp(32px,4vw,52px); font-weight:900;}
#main03 .chart-echo {position:absolute; inset:0; pointer-events:none; overflow:visible; opacity:0;}
#main03 .chart-echo circle {fill:none; stroke:var(--orange); stroke-width:4; opacity:0;}

/* GSAP controls main03 initial states */

/* ===== MAIN04 ===== */
#main04 {position:relative; overflow:hidden; padding:120px 5%; text-align:center;}
#main04 .bg {position:absolute; inset:0; z-index:0; background:url('../image/main04_bg.jpg') center center / cover no-repeat; transform:scale(1.08); opacity:0;}
#main04 .ctn {position:relative; z-index:1; max-width:1100px; margin:0 auto;}
#main04 .top-logo {margin-bottom:16px;}
#main04 .top-logo img {height:40px; width:auto; margin:0 auto;}
#main04 .title {margin-bottom:48px;}
#main04 .title h2 {font-size:clamp(40px,5.5vw,72px); font-weight:900; line-height:1.1; letter-spacing:-0.04em; word-break:keep-all;}
#main04 .title h2 em {color:var(--orange); font-style:normal;}
#main04 .title h2 span {color:#fff;}
#main04 .table-wrap {margin-bottom:32px;}
#main04 table {width:100%; border-collapse:collapse; text-align:center;}
#main04 table thead tr {border-bottom:2px solid rgba(255,255,255,0.3);}
#main04 table thead th {font-size:22px; font-weight:700; color:#fff; padding:12px 20px;}
#main04 table tbody tr {border-bottom:1px solid rgba(255,255,255,0.1);}
#main04 table tbody td {font-size:19px; font-weight:400; color:rgba(255,255,255,0.85); padding:12px 20px; vertical-align:middle; line-height:1.5; word-break:keep-all;}
#main04 table tbody td:first-child {font-weight:700; color:#fff; font-size:20px;}
#main04 table tbody td del.strike {text-decoration:line-through; color:rgba(255,255,255,0.4); margin-right:6px; font-weight:400;}
#main04 .sub-desc {margin-bottom:24px;}
#main04 .sub-desc p {font-size:17px; font-weight:400; color:rgba(255,255,255,0.7); line-height:1.7; letter-spacing:-0.01em; word-break:keep-all;}
#main04 .sub-desc p strong {color:#fff; font-weight:700;}
#main04 .bottom-cta {margin-top:8px;}
#main04 .bottom-cta p {font-size:clamp(28px,3.5vw,48px); font-weight:900; color:#fff; line-height:1.3; letter-spacing:-0.04em; word-break:keep-all;}
#main04 .bottom-cta p em {color:var(--orange); font-style:normal;}
#main04 .badge {display:inline-block; background:var(--orange); color:#fff; font-size:17px; font-weight:800; padding:6px 16px; border-radius:2px; white-space:nowrap; text-shadow:0 0 10px rgba(255,255,255,0.6), 0 2px 4px rgba(0,0,0,0.4);}
#main04 .free {color:var(--orange); font-weight:900; font-size:20px;}

/* GSAP controls main04 initial states */

/* ===== MAIN05 ===== */
#main05 {background:#1a1a1a; display:grid; grid-template-columns:1fr 1fr; min-height:700px;}
#main05 .left {position:relative; overflow:hidden;}
#main05 .left img {width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(100%); transform:scale(1.06); animation:main05ImgDrift 12s ease-in-out infinite;}
#main05 .right {display:flex; flex-direction:column; align-items:center; justify-content:center; padding:80px 64px; background:#131313;}
#main05 .right .top-logo {display:flex; align-items:center; gap:8px; margin-bottom:16px;}
#main05 .right .top-logo img {height:36px; width:auto;}
#main05 .right .form-title {font-size:clamp(36px,4vw,56px); font-weight:900; color:#fff; letter-spacing:-0.04em; margin-bottom:40px; text-align:center; line-height:1.1;}
#main05 .contact-form {width:100%; max-width:560px;}
#main05 .form-grid {display:grid; grid-template-columns:1fr 1fr; gap:20px 24px; margin-bottom:20px;}
#main05 .form-field {display:flex; flex-direction:column; gap:8px;}
#main05 .form-field label {font-size:17px; font-weight:600; color:rgba(255,255,255,0.85); letter-spacing:-0.01em;}
#main05 .form-field label em {color:var(--orange); font-style:normal;}
#main05 .form-field input {width:100%; height:56px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.15); color:#fff; font-family:'Paperozi','Apple SD Gothic Neo',sans-serif; font-size:17px; padding:0 16px; outline:none; border-radius:2px; transition:border-color 0.2s, background 0.2s;}
#main05 .form-field input::placeholder {color:rgba(255,255,255,0.3);}
#main05 .form-field input:focus {border-color:var(--orange); background:rgba(245,101,0,0.06);}
#main05 .form-agree {display:flex; align-items:center; gap:10px; margin-bottom:24px; cursor:pointer;}
#main05 .form-agree input[type="checkbox"] {display:none;}
#main05 .form-agree .chk-box {width:20px; height:20px; border-radius:50%; border:2px solid rgba(255,255,255,0.3); background:transparent; flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:all 0.2s;}
#main05 .form-agree input[type="checkbox"]:checked + .chk-box {background:var(--orange); border-color:var(--orange);}
#main05 .form-agree input[type="checkbox"]:checked + .chk-box::after {content:''; display:block; width:5px; height:9px; border:2px solid #fff; border-top:none; border-left:none; transform:rotate(45deg) translate(-1px,-1px);}
#main05 .form-agree .agree-text {font-size:14px; color:rgba(255,255,255,0.6); letter-spacing:-0.01em; line-height:1.5;}
#main05 .form-agree .agree-link {color:rgba(255,255,255,0.85); font-weight:600; text-decoration:underline; cursor:pointer; transition:color 0.2s;}
#main05 .form-agree .agree-link:hover {color:var(--orange);}
#main05 .form-submit {width:100%; height:60px; background:var(--orange); color:#fff; font-family:'Paperozi','Apple SD Gothic Neo',sans-serif; font-size:20px; font-weight:700; letter-spacing:-0.02em; border:none; cursor:pointer; border-radius:2px; transition:background 0.2s, transform 0.1s;}
#main05 .form-submit:hover {background:var(--orange-light);}
#main05 .form-submit:active {transform:scale(0.99);}

#privacy-popup {display:none; position:fixed; inset:0; z-index:1000; align-items:center; justify-content:center;}
#privacy-popup.is-open {display:flex;}
#privacy-popup .popup-dim {position:absolute; inset:0; background:rgba(0,0,0,0.75); cursor:pointer;}
#privacy-popup .popup-box {position:relative; z-index:1; background:#1e1e1e; border:1px solid rgba(255,255,255,0.1); width:90%; max-width:640px; max-height:80vh; display:flex; flex-direction:column; border-radius:4px; overflow:hidden;}
#privacy-popup .popup-head {display:flex; align-items:center; justify-content:space-between; padding:20px 28px; border-bottom:1px solid rgba(255,255,255,0.1); flex-shrink:0;}
#privacy-popup .popup-head h3 {font-size:18px; font-weight:700; color:#fff; letter-spacing:-0.02em;}
#privacy-popup .popup-close {background:none; border:none; color:rgba(255,255,255,0.5); font-size:24px; cursor:pointer; line-height:1; padding:0; transition:color 0.2s;}
#privacy-popup .popup-close:hover {color:#fff;}
#privacy-popup .popup-body {padding:28px; overflow-y:auto; flex:1;}
#privacy-popup .popup-body p {font-size:14px; color:rgba(255,255,255,0.7); line-height:1.8; letter-spacing:-0.01em; margin-bottom:16px; word-break:keep-all;}
#privacy-popup .popup-body p:last-child {margin-bottom:0;}
#privacy-popup .popup-body strong {color:#fff; font-weight:600;}

/* GSAP controls main05 initial states */

@keyframes main05ImgDrift {
    0%   {transform:scale(1.06) translateX(0) translateY(0);}
    25%  {transform:scale(1.08) translateX(-1.5%) translateY(1%);}
    50%  {transform:scale(1.07) translateX(1%) translateY(-1%);}
    75%  {transform:scale(1.09) translateX(-0.5%) translateY(0.5%);}
    100% {transform:scale(1.06) translateX(0) translateY(0);}
}

/* ===== FOOTER ===== */
#footer {background:var(--orange); padding:72px 5%;}
#footer .footer-inner {max-width:1280px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center;}
#footer .footer-logo img {height:48px; width:auto;}
#footer .footer-info {font-size:14px; font-weight:500; color:rgba(0,0,0,0.75); line-height:1.9; letter-spacing:-0.01em; word-break:keep-all;}
#footer .footer-info strong {font-weight:700; color:#000;}
#footer .footer-info a {color:rgba(0,0,0,0.75); transition:color 0.2s;}
#footer .footer-info a:hover {color:#000;}

/* ===== prefers-reduced-motion ===== */
@media (prefers-reduced-motion: reduce) {
    #gnb {opacity:1; transform:none; animation:none !important;}
    #gnb .gnb-tel {opacity:1; animation:none !important;}
    #main01 .bg {opacity:1; transform:scale(1.08); animation:none !important;}
    #main01 .ctn01, #main01 .title01, #main01 .title02, #main01 .title03, #main01 .desc, #main01 .note {opacity:1; transform:none; animation:none !important;}
    #main01 .quick-badge {animation:none !important;}
    #main02 .left .bg, #main02 .right .bg {opacity:1; transform:scale(1.06); animation:none !important;}
    #main02 .left .logo, #main02 .left .title, #main02 .left .quote, #main02 .left .desc, #main02 .left .icon-list, #main02 .right .ctn01, #main02 .right .top-badge, #main02 .right .title01, #main02 .right .sub-title, #main02 .right .dombe-info, #main02 .right .margin-box, #main02 .right .title03 {opacity:1; transform:none; animation:none !important;}
    #main03 .left .title, #main03 .left .tag, #main03 .chart-svg-wrap, #main03 .chart-labels, #main03 .chart-total, #main03 .left .footnote, #main03 .right .table-title, #main03 .right table, #main03 .right .bottom-msg {opacity:1; transform:none; animation:none !important;}
    #main03 .chart-echo circle {animation:none !important;}
    #main04 .bg {opacity:1; transform:scale(1.08); animation:none !important;}
    #main04 .top-logo, #main04 .title, #main04 .table-wrap, #main04 .sub-desc, #main04 .bottom-cta, #main04 .badge, #main04 .free {opacity:1; transform:none; animation:none !important;}
    #main05 .left, #main05 .right .top-logo, #main05 .right .form-title, #main05 .contact-form {opacity:1; transform:none; animation:none !important;}
}

/* ===== RESPONSIVE 1024 ===== */
@media (max-width:1024px) {
    #gnb .gnb-inner {padding:0 24px;}
    #gnb .gnb-left {gap:24px;}
    #gnb .gnb-right {gap:20px;}
    #main01 .inner {padding:140px 24px 64px;}
    #main01 .quick-badge {right:24px; bottom:32px;}
    #main01 .quick-badge img {width:130px; height:130px;}
    #main02 .left {padding:48px 28px;}
    #main02 .right {padding:48px 28px;}
    #main02 .right .ctn01 {width:240px;}
    #main03 {padding:100px 5%;}
    #main03 .chart-svg-wrap {width:380px; height:380px;}
    #main03 .chart-svg-wrap .track {stroke-width:44;}
    #main03 .chart-svg-wrap .progress {stroke-width:44;}
    #main03 .left .title h2 {font-size:72px;}
    #main03 .left .tag p {font-size:20px;}
    #main03 .food-lt {width:260px;}
    #main03 .food-rt {width:200px;}
    #main04 {padding:100px 4%;}
    #main04 table thead th {font-size:18px; padding:10px 16px;}
    #main04 table tbody td {font-size:16px; padding:10px 16px;}
    #main05 .right {padding:64px 40px;}
}

/* ===== RESPONSIVE 768 ===== */
@media (max-width:768px) {
.pc_img{display: none;	}
.m_img{display: block;}
    #gnb .gnb-left {display:none;}
    #gnb .gnb-right {display:none;}
    #gnb .gnb-tel {display:none;}
    #gnb .gnb-inner {justify-content:space-between; padding:0 16px; height:56px;}
    #gnb .gnb-logo {margin:0;}
    #gnb .gnb-tel-mobile {display:flex;}
    #gnb .gnb-right-group {display:flex; align-items:center; gap:12px; margin-left:auto;}
    #gnb .gnb-menu-btn {display:flex; margin-left:0;}
    #main01 .bg {background-position:right center;}
    #main01 .bg::after {content:''; position:absolute; inset:0; background:rgba(0,0,0,0.22);}
    #main01 .inner {padding:80px 20px 40px; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:calc(100vh - 56px);}
    #main01 .ctn01 img {width:140px;}
    #main01 .title01 img {width:280px; max-width:78vw;}
    #main01 .title02 img {width:320px; max-width:82vw;}
    #main01 .title02 {margin-bottom:8px;}
    #main01 .title03 img {width:390px; max-width:94vw;}
    #main01 .title03 {margin-bottom:16px;}
    #main01 .desc p {font-size:16px;}
    #main01 .note {font-size:14px;}
    #main01 .quick-badge {right:16px; bottom:24px;}
    #main01 .quick-badge img {width:80px; height:80px;}
    #main01 .scroll-indicator {display:none;}
    #main02 {padding:3%;}
    #main02 .ctn {grid-template-columns:1fr; min-height:auto;}
    #main02 .left {padding:48px 24px; min-height:560px;}
    #main02 .right {padding:48px 24px; min-height:600px;}
    #main02 .left .icon-list {grid-template-columns:repeat(4,1fr); gap:8px;}
    #main02 .left .icon-item img {width:44px; height:44px;}
    #main02 .left .icon-item p {font-size:13px;}
    #main02 .right .ctn01 {width:200px; top:-10px;}
	 #main02 .right .inner{padding: 0 8px;}
    #main03 {padding:80px 24px;}
    #main03 .ctn {grid-template-columns:1fr; gap:48px;}
    #main03 .left .title h2 {font-size:52px;}
    #main03 .left .tag p {font-size:17px;}
    #main03 .chart-svg-wrap {width:340px; height:340px; max-width:92vw;}
    #main03 .chart-svg-wrap .track {stroke-width:36;}
    #main03 .chart-svg-wrap .progress {stroke-width:36;}
    #main03 .right table th, #main03 .right table td {font-size:15px; padding:10px 12px;}
    #main03 .food-lt {display:none;}
    #main03 .food-rt {display:none;}
    #main04 {padding:80px 20px;}
    #main04 table thead th {font-size:15px; padding:10px 10px;}
    #main04 table tbody td {font-size:14px; padding:10px 10px;}
    #main04 table tbody td:first-child {font-size:15px;}
    #main04 .badge {font-size:14px; padding:4px 10px;}
    #main05 {grid-template-columns:1fr;}
    #main05 .left {height:280px;}
    #main05 .right {padding:48px 24px;}
    #main05 .form-grid {grid-template-columns:1fr; gap:16px;}
    #main05 .right .form-title {font-size:36px; margin-bottom:28px;}
    #footer {padding:40px 20px;}
    #footer .footer-logo img {height:40px;}
    #footer .footer-info {font-size:13px;}
}

/* ===== RESPONSIVE 480 ===== */
@media (max-width:480px) {
    #gnb .gnb-inner {padding:0 12px;}
    #main01 .inner {padding:88px 16px 48px;}
    #main01 .ctn01 {margin-bottom:20px;}
    #main01 .ctn01 img {width:140px;}
    #main01 .title02 {margin-bottom:-16px;}
    #main01 .quick-badge img {width:64px; height:64px;}
    #main02 .left .icon-list {grid-template-columns:repeat(2,1fr); gap:16px;}
    #main02 .right .ctn01 {width:160px;}
    #main03 .left .title h2 {font-size:40px;}
    #main03 .left .tag p {font-size:15px;}
    #main03 .chart-svg-wrap {width:240px; height:240px;}
    #main03 .chart-svg-wrap .track {stroke-width:30;}
    #main03 .chart-svg-wrap .progress {stroke-width:30;}
    #main04 table {font-size:13px;}
    #main04 .bottom-cta p {font-size:24px;}
    #main05 .right {padding:40px 16px;}
    #main05 .form-grid {gap:12px;}
    #main05 .form-field input {height:48px; font-size:14px;}
    #main05 .form-submit {height:54px; font-size:18px;}
}