
@media screen and (max-width: 1800px){
 .pc_br { display: none; } 
 }


@media screen and (max-width: 1680px){
 :root { --cont: calc(100% - 18rem); --max-cont: calc(100% - 6rem); --cont-width: 9rem } 
.main-section01--txt02 .txt-col { min-width: 300px; } 
.banner-txt { top: 60%; } 
.banner-txt span { font-size: 16px; margin-bottom: 15px; } 
.banner-txt h2 { font-size: 36px; } 
.company-con05 .left-wrap { width: 24%; } 
.company-con05 .slide-box .swiper-scrollbar { width: calc(82% + 25px); } 
.company-con05 .slide-box .txt-box h3 { font-size: 24px; margin-bottom: 30px; } 
 }


@media screen and (max-width: 1500px){
 .main-section03--txt { width: 48%; padding: 30px 60px; } 
.main-section03.active .flex:before { width: 48%; } 
.quote-con01 .quote-group__grid { grid-template-columns: 1fr; }
.main-section02--bg { min-height: 100vh; }
 }



@media screen and (max-width: 1400px) { } 


@media screen and (max-width: 1280px){
 .header .container { padding: 8px 12px 8px 20px; }
.header-logo { position: relative; z-index: 3; }
.header-logo svg { height: 30px; }
.mobile-menu-btn { display: block; position: relative; z-index: 3; }
.header-nav { position: fixed; inset: 0; z-index: 1; overflow-y: auto; padding: 100px 24px 40px; background: #fff; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s; pointer-events: none; }
.header-nav.mobile-open { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.nav-list { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
.nav-list li { width: 100%; }
.nav-item { position: static; border-bottom: 1px solid #e2e8f0; }
.nav-list .nav-title { display: flex; align-items: center; justify-content: space-between; width: 100%; height: auto; padding: 18px 4px; border-radius: 0; font-size: 20px; font-weight: 600; color: #0f172a; background: transparent; }
.nav-list .nav-title:hover { background: transparent; color: var(--main); }
.nav-item.hover > .nav-title,
.nav-item.is-current > .nav-title { background: transparent; color: var(--main); }
.nav-list .nav-title::after { content: ''; display: inline-block; width: 12px; height: 12px; margin-left: 12px; flex-shrink: 0; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'><path d='M2 4L6 8L10 4' stroke='%230f172a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat; transition: transform .28s ease; }
.nav-item.open > .nav-title::after { transform: rotate(180deg); }
.nav-mega { display: block; position: static; opacity: 1; visibility: visible; pointer-events: auto; transform: none; max-height: 0; overflow: hidden; transition: max-height .38s cubic-bezier(.65,0,.35,1); }
.nav-item.open .nav-mega { max-height: 800px; }
/* Mobile submenu — mirrors PC mega-panel design language (color/arrow/dashed border) */
.nav-mega__inner { display: block; padding: 6px 4px 20px 8px; border-radius: 0; box-shadow: none; background: transparent; }
.nav-mega__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.nav-mega__links li a { display: flex; align-items: center; gap: 10px; padding: 12px 4px; font-size: 16px; font-weight: 500; color: #0f172a; line-height: 1.35; border-bottom: 1px dashed rgba(21, 99, 38, 0.22); transition: color .18s ease, gap .2s ease, border-color .2s ease; }
.nav-mega__links li:last-child a { border-bottom-color: transparent; }
.nav-mega__links li a::before { content: ""; flex: 0 0 auto; width: 16px; height: 14px; background: url("data:image/svg+xml; charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' fill='none' stroke='%23156326' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 5v11h13'/><path d='M14 11l5 5-5 5'/></svg>") center/contain no-repeat; }
.nav-mega__links li a:hover,
.nav-mega__links li a:active { color: var(--main); border-color: rgba(21, 99, 38, 0.55); gap: 14px; transform: none; }
.nav-mega__card { display: none; }
.nav-mega__promo { display: none; }
.header-right { display: none; }
.header-nav.mobile-open ~ .header-right,
.header .header-nav.mobile-open + .header-right { display: flex; position: fixed; left: 24px; right: 24px; bottom: 24px; z-index: 2; justify-content: center; align-items: center; gap: 12px; }
/* Mobile: replace lang dropdown with always-visible segmented KOR/ENG toggle
   (bottom-anchored bar has no room to drop down, so we surface both options as a pill) */
.lang-selector { position: static; }
.lang-btn { display: none; }
.lang-dropdown { position: static; top: auto; left: auto; right: auto; display: inline-flex; align-items: center; gap: 2px; padding: 4px; opacity: 1; visibility: visible; transform: none; transition: none; background: #fff; border: 1px solid #e2e8f0; border-radius: 999px; box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06); overflow: visible; z-index: auto; }
.lang-option { padding: 10px 18px; border-radius: 999px; font-size: 14px; font-weight: 600; letter-spacing: 0.02em; color: #64748b; text-align: center; transition: background-color .18s ease, color .18s ease; }
.lang-option:hover { background: #f1f5f9; color: #1a2233; }
.lang-option.active { background: #000; color: #fff; }
.lang-option.active:hover { background: #1e293b; color: #fff; }
.header-nav-bg { display: none; }
.main-section02--txt .card-wrap { width: 70%; margin-top: -150px; } 
.main-section02--txt .card--txt h3 { font-size: 32px; } 
.main-section02--txt .card--txt > div h4 { font-size: 24px; } 
.main-section02--txt .card--txt > div p { font-size: 15px; } 
.main-section03--txt h3 { font-size: 28px; line-height: 1.3; } 
.main-section03--txt p { font-size: 16px; } 
.main-section01--txt02 .txt-col .txt-box { min-width: 480px; }
.main-section01--txt02 .txt-col .txt-box h3 { font-size: clamp(2.2rem, 3.5vh, 3rem); }
.btn-box { width: 360px; } 
.btn-box a { font-size: 22px; padding: 1rem 2.5rem; } 
.main-section04 .marquee-wrap { margin-top: 80px; } 
.banner-img img { min-height: 360px; object-fit: cover; } 
.service-con01 .grid { gap: 20px; } 
.service-con01 .grid .txt-box h4 { font-size: 24px; } 
.service-con01 .grid .summary p { font-size: 16px; } 
.service-con03 .grid { gap: 20px; } 
.service-con03 .grid .desc-box h3 { font-size: 26px; } 
.service-con03 .grid .desc-box p { font-size: 15px; } 
.company-con01 .flex { flex-wrap: wrap; } 
.company-con01 .flex .desc-wrap { flex: initial; width: 100%; } 
.company-con01 .flex .img-wrap { width: 100%; } 
.company-con02 .grid { gap: 20px; } 
.company-con02 .grid .txt-box h3 { font-size: 22px; } 
.company-con02 .grid .txt-box p { font-size: 15px; } 
.company-con03 .grid { gap: 20px; } 
.company-con04 .flex { flex-wrap: wrap; } 
.company-con04 .left-wrap { width: 100%; } 
.company-con04 .right-wrap { width: 100%; flex: initial; } 
.company-con05 .flex { flex-wrap: wrap; } 
.company-con05 .right-wrap { width: 100%; flex: initial; } 
.company-con05 .slide-box .swiper-scrollbar { width: calc(100% - 30px); } 
.rfq-con01 .flex { gap: 30px; } 
.rfq-con01 .flex .txt-box { min-height: initial; } 
.rfq-con01 .flex .txt-box h4 { font-size: 24px; } 
.rfq-con01 .flex .txt-box p { font-size: 15px; } 
.rfq-con01 .flex .txt-box .rect { padding: 12px; font-size: 16px; } 
.rfq-con02 .ani-wrap .card .txt { padding: 50px; } 
.rfq-con02 .ani-wrap .card .txt h3 { font-size: 36px; filter: drop-shadow(2px 4px 6px rgba(0,0,0,0.5)); } 
.rfq-con02 .ani-wrap .card .txt p { font-size: 24px; } 
.gallery-list.grid { grid-template-columns: repeat(2, 1fr); } 
.contact-con01 .flex { flex-wrap: wrap; } 
.contact-con01 .flex > div { width: 100%; } 
}


@media screen and (max-width: 1200px) { } 


@media screen and (max-width: 1024px){
 :root { --cont: calc(100% - 60px); --cont-width: 30px; } 
.notice-view__title { font-size: 26px; } 
.notice-view__body { font-size: 16px; padding: 20px 0 60px; } 
.btn-box a { font-size: 18px; } 
.btn-box a svg { width: 20px; } 
.main-section01--txt01 h3 { font-size: 1.6rem; } 
.main-section02 { padding-top: 120px; margin-bottom: 0; padding-bottom: 300px; } 
.main-section02--bg { position: absolute; padding-bottom: 0; width: 100%; height: 100%; top: 0; left: 0; } 
.main-section02--bg img { width: 100%; height: 100%; object-fit: cover; } 
.main-section02--bg::after { display: none; } 
.main-section02--txt { position: static; width: 100%; padding-top: 0; } 
.main-section02--txt .card-wrap { margin-top: 80px; } 
.main-section03--txt { width: 100%; } 
.main-section03.active .flex:before { width: 100%; opacity: 0.3; } 
.main-section03--img img { height: 350px; object-fit: cover; } 
.main-section04 .marquee-wrap .marquee-box img { height: 35px; object-fit: contain; margin-left: auto; margin-right: auto; } 
.service-con01 .grid { grid-template-columns: 1fr; padding: 0 60px; } 
.service-con03 .grid { grid-template-columns: 1fr; } 
.main-section05 { padding-top: 120px; }
.main-section05 .cert-badges { justify-content: flex-start; }
.main-section01--txt02 .txt-col { min-width: initial; }
.main-section01--txt02 .txt-col .txt-box { min-width: 380px; }
.main-section01--txt02 .txt-col .txt-box h3 { font-size: 26px; margin-bottom: 5vh; } 
.main-section01--txt02 .txt-col02 { margin-top: 0; }




 }


@media screen and (max-width: 900px){
 .quote-con01 .quote-group__grid { grid-template-columns: 1fr; }
/* Downloads (download.php) — tablet: shrink padding, font, column widths */
.download-list col.col-no       { width: 60px; }
.download-list col.col-download { width: 52px; }
.download-list col.col-date     { width: 120px; }
.download-list thead th { padding: 16px 10px; font-size: 15px; }
.download-list tbody td { padding: 16px 10px; font-size: 15px; }
.download-list tbody .col-no { font-size: 14px; }
.download-list tbody .col-date { font-size: 13px; }
.download-list .download-btn { width: 30px; height: 30px; }
.download-list .download-btn svg { width: 15px; height: 15px; }
 }


@media screen and (max-width: 768px){
 .main-section01--txt02 .txt-wrap { gap: 1rem; } 
.main-section01--txt02 .txt-col { min-width: initial; width: 100%; } 
.main-section01--txt02 .txt-col .txt-box { padding: 30px; min-width: initial; } 
.main-section01--txt02 .txt-col .txt-box h3 { font-size: clamp(2.2rem, 3.5vh, 4rem); margin-bottom: clamp(3.5rem, 10vh, 15rem); } 
.main-section02--txt .card-wrap { width: 90%; } 
.main-section03--txt { padding: 30px; } 
.main-section04--bg img { height: 500px; object-fit: cover; } 
.banner-txt { top: initial; transform: none; bottom: 50px; } 
.banner-txt h2 { font-size: 26px; } 
.service-con01 .grid { padding: 0; } 
.service-con02 .wrap { width: calc(100% - 30px); } 
.service-con02 .swiper-slide span { font-size: 24px; margin-bottom: 20px; } 
.service-con02 .swiper-slide .img-box img { height: 80px; } 
.service-con02 .swiper-slide .desc-box p { font-size: 15px; } 
.service-con02 .slide-box { width: calc(100% + 30px); } 
.service-con02 .slide-box .swiper-scrollbar { width: calc(100% - 30px); } 
.company-con01 ul li { font-size: 15px; } 
.company-con02 .grid { grid-template-columns: 1fr; } 
.sub-title h2 { font-size: 26px; } 
.sub-title p { font-size: 16px; } 
.company-con03 .grid { grid-template-columns: 1fr; } 
.rfq-con01 .flex { margin-top: 100px; } 
.rfq-con01 .flex .box { width: calc((100% - 30px) / 2); } 
.rfq-con01 .flex .box:nth-child(2) { padding-top: 100px; } 
.rfq-con01 .flex .box:nth-child(3) { margin-top: -80px; } 
.rfq-con01 .flex .box:nth-child(4), .rfq-con01 .flex .box:nth-child(6) { margin-top: initial; } 
.rfq-con01 .flex .box:nth-child(5) { margin-top: -100px; } 
.rfq-con02 .ani-wrap .ani-row03 .card .txt { padding: 20px; } 
.rfq-con02 .ani-wrap .ani-row03 .card .txt p { font-size: 17px; } 
.footer-bottom ul { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 30px; } 
.footer-bottom ul li:after { display: none; } 
.footer-nav ul { align-items: flex-start; gap: 12px; flex-direction: column; } 
.nav-list .nav-title { font-size: 18px; padding: 16px 4px; }
.notice-view__head { padding-bottom: 20px; margin-bottom: 30px; } 
.notice-view__title { font-size: 22px; margin-bottom: 15px; } 
.notice-view__meta { gap: 20px; } 
.notice-view__meta li { font-size: 14px; } 
.notice-view__meta li:not(:last-child):after { right: -10px; } 
.notice-view__meta li span { margin-right: 6px; } 
.notice-view__body { min-height: 300px; padding: 15px 0 50px; } 
.notice-view__nav { margin-bottom: 40px; } 
.notice-view__nav li { flex-wrap: wrap; gap: 10px; padding: 16px 0; } 
.notice-view__nav li .label { width: 100%; font-size: 14px; } 
.notice-view__nav li a { flex: initial; width: 100%; font-size: 15px; } 
.notice-view__btn .btn-list { min-width: 160px; padding: 14px 30px; font-size: 16px; } 
.gallery-list.grid { grid-template-columns: 1fr; } 
.search-wrap { justify-content: stretch; margin-bottom: 40px; } 
.board-search { width: 100%; gap: 8px; } 
.board-search__select { width: 110px; height: 44px; flex: none; } 
.board-search__select select { padding: 0 32px 0 12px; font-size: 14px; background-position: right 12px center; } 
.board-search__input { width: auto; flex: 1; height: 44px; } 
.board-search__input input[type="text"] { padding: 0 40px 0 12px; font-size: 14px; } 
.board-search__btn { right: 12px; } 
.footer .max-cont { padding-bottom: 60px; } 
/* inquiry-form (moved from style.css) */
.contact-con01 .inquiry-form { padding: 25px 20px; } 
.contact-con01 .inquiry-form .form-item label { flex: initial; width: 100%; padding: 14px 12px; font-size: 14px; margin-bottom: 0; } 
.contact-con01 .inquiry-form .form-item input,
.contact-con01 .inquiry-form .form-item select,
.contact-con01 .inquiry-form .form-item textarea { padding: 14px 12px; font-size: 14px; background-color: rgba(21, 99, 38, 0.04); } 
.contact-con01 .inquiry-form .btn-submit { padding: 18px; font-size: 16px; } 
/* quote.php (moved from style.css) */
.quote-con01 .quote-group { padding: 25px 20px; } 
.quote-con01 .quote-group__title { font-size: 18px; margin: 0 0 15px; } 
.quote-con01 .form-item { flex-wrap: wrap; padding: 20px; }
.quote-con01 .form-item label { flex: initial; width: 100%; padding: 0px; font-size: 14px; margin-bottom: 12px; } 
.quote-con01 .form-item label:after { display: none; }
.quote-con01 .form-item input,
.quote-con01 .form-item select { padding: 14px 12px; font-size: 14px; width: 100%; background-color: rgba(21, 99, 38, 0.04); } 
.quote-con01 .btn-submit { padding: 18px; font-size: 16px; } 
.quote-con01 .quote-asset-item__box { padding: 20px 15px; } 
.quote-con01 .quote-asset__title { font-size: 18px; } 
.quote-con01 .quote-asset-actions { flex-direction: column; gap: 10px; } 
.quote-con01 .btn-asset-add,
.quote-con01 .btn-asset-remove { width: 100%; padding: 14px; font-size: 14px; } 
.quote-con01 .quote-actions { flex-direction: column; gap: 10px; } 
.quote-con01 .quote-actions .btn-submit,
.quote-con01 .quote-actions .btn-cancel { padding: 16px; font-size: 16px; } 
/* form-item 스택 레이아웃 */
.contact-con01 .inquiry-form .form-item { flex-wrap: wrap; padding: 20px 12px; } 
.contact-con01 .inquiry-form .form-item label:after { display: none; } 
.contact-con01 .inquiry-form .form-item-textarea { padding: 20px 12px; } 
.company-con04 .right-wrap h3 { font-size: 28px; } 
.company-con04 .right-wrap p { font-size: 16px; } 
.company-con04 .marquee-wrap .marquee-box { width: 260px; max-width: 100%; height: 200px; padding: 30px; }
.company-con04 .marquee-wrap .marquee-box img { height: 60px; }
.company-con04 .marquee-wrap .marquee-box .txt-box h3 { font-size: 20px; }
.company-con04 .marquee-wrap .marquee-box .txt-box p { font-size: 16px; }

/* Downloads — mobile: keep all 4 cells visible (force fit inside container) */
.sub-page.download { overflow-x: hidden; }
.download-list { width: 100%; max-width: 100%; }
.download-list col.col-no       { width: 32px; }
.download-list col.col-download { width: 36px; }
.download-list col.col-date     { width: 72px; }
.download-list thead th { padding: 12px 2px; font-size: 12px; }
.download-list tbody td { padding: 14px 2px; font-size: 13px; }
.download-list tbody .col-no { font-size: 12px; }
.download-list tbody .col-title { font-size: 13px; padding: 14px 6px; white-space: normal; overflow: visible; text-overflow: clip; word-break: keep-all; line-height: 1.4; }
.download-list tbody .col-date { font-size: 11px; letter-spacing: -0.3px; }
.download-list tbody .col-download { padding-left: 0; padding-right: 0; }
.download-list .download-btn { width: 26px; height: 26px; }
.download-list .download-btn svg { width: 13px; height: 13px; }
.main-section05 .cert-badges { justify-content: center; }
.main-section05 .cert-badges__item img { width: 80px; height: 80px; }
.main-section05 .cert-badges__item.cert--iso45001 img { width: 120px; }
}


@media screen and (max-width: 640px){
 .header .container { padding: 15px 20px; } 
.header-logo svg { height: 26px; } 
.main-section01--txt01 .text01 { margin-bottom: 1rem; } 
.main-section01--txt01 h2 { font-size: 28px; } 
.main-section01--txt01 h3 { font-size: 15px; } 
.main-section01--txt02 .txt-col .txt-box { padding: 25px; } 
.main-section01--txt02 .txt-col .txt-box h3 { font-size: 24px; margin-bottom: 50px; } 
.main-section01--txt02 .txt-col .txt-box p { font-size: 15px; } 
.btn-wrap { flex-wrap: wrap; gap: 1rem; } 
.btn-box a { font-size: 16px; padding: 13px 20px; } 
.main-section01--txt01 .btn-wrap { margin-top: 30px; } 
.main-section02--txt .card-wrap { display: block; width: 100%; } 
.main-section02--txt .card { margin-bottom: 30px; } 
.main-section02--txt .card-wrap .card02 { margin-top: 0; } 
.main-section02--txt .card--txt { padding: 40px; } 
.main-section02--txt .card--txt h3 { font-size: 30px; } 
.main-section02--txt .card--txt > div h4 { font-size: 22px; } 
.banner-img img { min-height: 320px; } 
.banner-txt h2 { font-size: 20px; } 
.company-con03 .grid .txt-box ul li { font-size: 16px; } 
.company-con03 .grid .txt-box h4 { font-size: 26px; } 
.company-con03 .grid .txt-box ul { margin-top: 20px; } 
.rfq-con01 .flex .box { width: 100%; margin-top: initial !important; } 
.rfq-con01 .flex .box:nth-child(2) { padding-top: 0; } 
.rfq-con02 > .container { width: calc(100% - 30px); } 
.rfq-con02 .ani-wrap .ani-row { gap: 14px; } 
.rfq-con02 .ani-wrap .ani-row03 .card .txt p { font-size: 15px; } 
.footer .logo-box img { width: 160px; } 
.gallery-list.grid .desc-box h3 { font-size: 22px; }

/* faq.php (FAQ) */
.faq-list__q { padding: 14px 20px 14px 14px; }
.faq-list__badge { flex: 0 0 36px; width: 36px; height: 36px; font-size: 17px; }
.faq-list__text { padding-left: 20px; padding-right: 16px; font-size: 16px; line-height: 1.5; }
.faq-list__toggle { width: 12px; height: 12px; }
.faq-list__toggle svg { width: 8px; height: 14px; }
.faq-list__a { padding: 14px 20px 14px 14px; }

/* 뷰페이지 첨부파일 목록 (모바일) */
.notice-view__attach { margin-top: 30px; padding-top: 20px; }
.notice-view__attach-title { font-size: 15px; }
.attach-list__item { flex-direction: column; align-items: stretch; gap: 12px; padding: 14px 16px; }
.attach-list__info { gap: 12px; }
.attach-list__icon { width: 36px; height: 36px; }
.attach-list__name { font-size: 14px; white-space: normal; word-break: break-all; }
.attach-list__meta { font-size: 11px; }
.attach-list__btn { align-self: flex-end; padding: 8px 16px; font-size: 13px; }
.header-bar { padding: 0 8px; }
 }


/* ------------------------------------------------------------------------
 * quote_result.php — responsive
 * ------------------------------------------------------------------------ */

@media screen and (max-width: 1024px){
 .quote-result-page > .container { padding: 70px 20px 90px; } 
.quote-result-page .qr-head h2 { font-size: 30px; } 
.quote-result-page .qr-card { padding: 44px 34px; } 
.quote-result-page .qr-card__total strong { font-size: 40px; } 
 }

@media screen and (max-width: 768px){
 .quote-result-page > .container { padding: 60px 16px 80px; } 
.quote-result-page .qr-head { margin-bottom: 30px; } 
.quote-result-page .qr-head .qr-label { font-size: 15px; } 
.quote-result-page .qr-head h2 { font-size: 26px; margin-bottom: 12px; } 
.quote-result-page .qr-head p { font-size: 16px; } 
.quote-result-page .qr-card { padding: 36px 24px; } 
.quote-result-page .qr-card__label { font-size: 15px; } 
.quote-result-page .qr-card__total { margin-bottom: 28px; } 
.quote-result-page .qr-card__total strong { font-size: 32px; } 
.quote-result-page .qr-card__total em { font-size: 16px; } 
.quote-result-page .qr-card__grid { gap: 10px; margin-bottom: 24px; } 
.quote-result-page .qr-card__box { padding: 16px 18px; } 
.quote-result-page .qr-card__box .label { font-size: 15px; } 
.quote-result-page .qr-card__box .value strong { font-size: 20px; } 
.quote-result-page .qr-card__box .value em { font-size: 15px; } 
.quote-result-page .qr-section { margin-top: 36px; } 
.quote-result-page .qr-section h3 { font-size: 18px; } 
.quote-result-page .qr-table th, .quote-result-page .qr-table td { padding: 12px 14px; font-size: 14px; } 
.quote-result-page .qr-meta { padding: 14px 18px; font-size: 14px; } 
.quote-result-page .qr-note { padding: 14px 16px; font-size: 14px; } 
.quote-result-page .qr-btns { grid-template-columns: 1fr; gap: 12px; margin-top: 30px; } 
.quote-result-page .qr-btn { font-size: 16px; padding: 13px 24px; } 
 }

@media screen and (max-width: 480px){
 .quote-result-page > .container { padding: 50px 14px 70px; }
.quote-result-page .qr-head h2 { font-size: 22px; }
.quote-result-page .qr-card { padding: 28px 18px; }
.quote-result-page .qr-card__total strong { font-size: 26px; }
.quote-result-page .qr-card__box { padding: 14px 16px; }
.quote-result-page .qr-card__box .value strong { font-size: 18px; }
.quote-result-page .qr-meta { flex-direction: column; align-items: flex-start; }
 }


/* ------------------------------------------------------------------------
 * service01 / service02 / service03 responsive (mirrored from KO)
 * ------------------------------------------------------------------------ */

@media screen and (max-width: 1024px){
 .service01-con01 .grid { gap: 30px; }
.service01-con03 .grid { gap: 30px; }
.service01-con03 .grid-box { padding: 32px; }
.service01-con04 .grid-box { padding: 24px 20px; }
.service01-con04 .grid-box h3 { font-size: 30px; margin-bottom: 20px; }
.service01-con05 .flex { gap: 24px; }
.service01-con05 .flex .box { width: 220px; }
.service01-con06 .flex { gap: 30px; }
.service01-con06 .flex .box { width: 160px; }
.service01-con01 .grid.grid03 { grid-template-columns: repeat(2, 1fr); }
.service01-con01 .grid-box--txt h3 { font-size: 20px; }
.service01-con05 .slide-box .swiper-slide { width: 280px; padding: 26px 22px; }
.service01-con05 .slide-box .swiper-slide .img-box { width: 84px; height: 68px; margin-bottom: 18px; }
.service01-con05 .slide-box .swiper-slide .img-box img { width: 42px; height: 42px; }
.service02-con01 .grid { gap: 20px; }
.service02-con02 .grid { gap: 20px; }
.service03-con01 .wrap { gap: 40px; }
.service03-con01 .left-wrap { flex-basis: 40%; }
.service03-con02 .grid, .service03-con03 .grid { gap: 20px; }
.service03-con02 .grid-box, .service03-con03 .grid-box { padding: 50px 40px; }
 }

@media screen and (max-width: 900px){
 .service03-con01 .wrap { flex-direction: column; gap: 30px; }
.service03-con01 .left-wrap { flex-basis: auto; width: 100%; max-width: 500px; margin: 0 auto; }
.service03-con01 .right-wrap { width: 100%; }
 }

@media screen and (max-width: 768px){
 .service01-con02 .std-table thead th { padding: 14px 16px; font-size: 15px; }
.service01-con02 .std-table tbody td { padding: 14px 16px; font-size: 14px; line-height: 1.55; }
.service01-con02 .std-table__col-label { width: 40%; }
.service01-con01 .grid.grid03 { grid-template-columns: 1fr; gap: 24px; }
.service01-con01 .grid-box--txt h3 { font-size: 20px; }
.service01-con01 .grid-box--txt p { font-size: 15px; line-height: 1.55; }
.service01-con03 .grid.grid02 { grid-template-columns: 1fr; gap: 20px; }
.service01-con03 .grid-box { padding: 28px 24px; }
.service01-con03 .grid-box h2 { font-size: 22px; }
.service01-con03 .grid-box ul { margin-top: 30px; }
.service01-con03 .grid-box ul li { font-size: 16px; padding: 12px 0; }
.service01-con03 .grid-box .desc { font-size: 17px; margin-top: 20px; }
.service01-con04 .flex { flex-wrap: wrap; gap: 16px; flex-direction: column; }
.service01-con04 .grid-box { border-radius: 16px; padding: 40px; width: 300px; max-width: 100%; margin: 0 auto; }
.service01-con04 .grid-box h3 { font-size: 26px; margin-bottom: 16px; }
.service01-con04 .grid-box--txt { margin-top: 20px; }
.service01-con04 .grid-box--txt h4 { font-size: 16px; }
.service01-con04 .grid-box--txt p { font-size: 14px; line-height: 1.5; }
.service01-con05 .slide-box .swiper-slide { width: 260px; padding: 24px 20px; border-radius: 16px; }
.service01-con05 .slide-box .swiper-slide .txt-box h3 { font-size: 17px; }
.service01-con05 .slide-box .swiper-slide .txt-box p { font-size: 14px; line-height: 1.55; }
.service01-con05 .flex { flex-wrap: wrap; gap: 20px; }
.service01-con05 .flex .box { width: calc(50% - 10px); max-width: 260px; }
.service01-con06 .flex { flex-wrap: wrap; gap: 24px; }
.service01-con06 .flex .box { width: calc(50% - 12px); max-width: 130px; }
.service01-con06 .flex .box p { font-size: 16px; }
.service02-con01 .grid { grid-template-columns: 1fr; }
.service02-con02 .grid { grid-template-columns: repeat(1, 1fr); gap: 30px; }
.service03-con02 .grid, .service03-con03 .grid { grid-template-columns: 1fr; }
.service03-con02 h4 { font-size: 22px; }
.service03-con03 .grid-box--count { font-size: 46px; }
.std-table--rowhead tbody th { padding: 14px 16px; font-size: 15px; }
.std-table--rowhead tbody td { padding: 14px 16px; font-size: 14px; line-height: 1.55; }
.std-table--rowhead .std-table__col-label { width: 38%; }
.std-table--3col thead th { padding: 12px 14px; font-size: 14px; }
.std-table--3col tbody td { padding: 12px 14px; font-size: 14px; line-height: 1.55; }
.banner-txt h3 { font-size: 15px; margin-top: 14px; }
.btn-wrap { gap: 12px; margin-top: 30px; }
.link-btn { min-width: 220px; padding: 14px 24px; font-size: 16px; gap: 24px; }
 }

@media screen and (max-width: 480px){
 .service01-con02 .std-table thead th { padding: 12px 12px; font-size: 14px; }
.service01-con02 .std-table tbody td { padding: 12px 12px; font-size: 13px; }
.service01-con02 .std-table__col-label { width: 42%; }
.service01-con03 .grid-box { padding: 24px 18px; }
.service01-con03 .grid-box h2 { font-size: 20px; }
.service01-con03 .grid-box ul li { font-size: 15px; }
.service01-con03 .grid-box .desc { font-size: 16px; align-items: flex-start; }
.service01-con03 .grid-box .desc svg { margin-top: 3px; flex-shrink: 0; }
.service01-con04 .grid-box { display: grid; grid-template-columns: 60px 1fr; grid-template-areas: "num img" "num txt"; column-gap: 16px; row-gap: 8px; padding: 18px 20px; text-align: left; align-items: center; }
.service01-con04 .grid-box h3 { grid-area: num; font-size: 22px; margin: 0; }
.service01-con04 .grid-box--img { grid-area: img; aspect-ratio: initial; }
.service01-con04 .grid-box--img img { max-height: 60px; width: auto; aspect-ratio: initial; }
.service01-con04 .grid-box--txt { grid-area: txt; margin: 0; }
.service01-con05 .slide-box .swiper-slide { width: 240px; padding: 22px 18px; }
.service01-con05 .slide-box .swiper-slide .img-box { width: 72px; height: 60px; margin-bottom: 14px; }
.service01-con05 .slide-box .swiper-slide .img-box img { width: 36px; height: 36px; }
.service01-con05 .flex .box { width: 100%; max-width: 320px; margin: 0 auto; }
.service01-con06 .flex { gap: 20px; }
.service01-con06 .flex .box { width: calc(50% - 10px); max-width: 150px; }
.std-table--rowhead .std-table__caption { font-size: 15px; padding: 12px 0; }
.std-table--rowhead tbody th { padding: 12px 12px; font-size: 14px; }
.std-table--rowhead tbody td { padding: 12px 12px; font-size: 13px; }
.std-table--rowhead .std-table__col-label { width: 42%; }
.std-table--3col thead th { padding: 10px 10px; font-size: 13px; }
.std-table--3col tbody td { padding: 10px 10px; font-size: 13px; }
.btn-wrap { flex-direction: column; align-items: stretch; }
.link-btn { width: 100%; min-width: 0; padding: 13px 22px; font-size: 15px; gap: 16px; }
 }


/* ==========================================================================
 * quote.php 반응형 (esg-con01 · calc-desc · esg-con02 · esg-con03 · quote-modal)
 * ========================================================================== */

@media screen and (max-width: 1400px){
 .esg-con01 .wrap .left-wrap { padding-right: 40px; padding-top: 50px; padding-bottom: 50px; }
.esg-con01 .wrap .left-wrap h3 { font-size: 30px; }
.esg-con01 .wrap .left-wrap ul li { padding: 24px 20px; font-size: 16px; }
.esg-con01 .swiper-slide .txt-box h3 { font-size: 32px; }
.esg-con02 .wrap { gap: 40px; }
.esg-con02 .calc-form { padding: 70px 0; }
.esg-con02 .calc-form__title { font-size: 30px; margin-bottom: 30px; }
.esg-con02 .calc-result { padding: 70px 40px; }
.esg-con02 .calc-result__total strong { font-size: 32px; }
.esg-con03 { padding-top: 80px; padding-bottom: 100px; }
.esg-con03 .grid.grid03 { gap: 30px; }
.esg-con03 .sub-title h2 { font-size: 28px; }
 }

@media screen and (max-width: 1024px){
 /* esg-con01 : 인증서 슬라이더 — 좌우 flex 유지하되 폭·패딩 축소 */
 .esg-con01 .wrap { margin-top: 30px; }
.esg-con01 .wrap .left-wrap { width: 42%; padding-left: 30px; padding-right: 24px; padding-top: 40px; padding-bottom: 40px; }
.esg-con01 .wrap .right-wrap { padding-left: 20px; }
.esg-con01 .wrap .left-wrap p { font-size: 16px; }
.esg-con01 .wrap .left-wrap h3 { font-size: 26px; }
.esg-con01 .wrap .left-wrap h3 em { font-size: 14px; }
.esg-con01 .wrap .left-wrap ul { margin-top: 20px; }
.esg-con01 .wrap .left-wrap ul li { padding: 18px 16px; font-size: 15px; margin-bottom: 10px; }
.esg-con01 .left-wrap__bottom .slide-arrow { width: 56px; height: 56px; }
.esg-con01 .swiper-slide { padding: 16px; }
.esg-con01 .swiper-slide .txt-box h3 { font-size: 28px; }
.esg-con01 .swiper-slide .txt-box .date div { font-size: 15px; }

 /* esg-con02 : 계산기 — 폼과 결과 gap 축소 */
 .esg-con02 .wrap { gap: 30px; }
.esg-con02 .calc-form { padding: 60px 0; }
.esg-con02 .calc-form__title { font-size: 26px; margin-bottom: 24px; }
.esg-con02 .calc-form__row { gap: 8px; }
.esg-con02 .calc-form__row--head .col-qty { padding: 0 14px; font-size: 14px; }
.esg-con02 .calc-form__box { height: 42px; }
.esg-con02 .calc-form__box .col-name { padding: 0 14px; font-size: 15px; }
.esg-con02 .calc-form__box .col-qty input { padding: 0 14px; font-size: 15px; }
.esg-con02 .calc-form__unit { font-size: 14px; }
.esg-con02 .calc-result { padding: 60px 30px; }
.esg-con02 .calc-result__total strong { font-size: 28px; }
.esg-con02 .calc-result__grid { gap: 12px; margin-bottom: 20px; }
.esg-con02 .calc-result__box { padding: 12px 16px; min-height: 68px; }
.esg-con02 .calc-result__box .value strong,
.esg-con02 .calc-result__box .value em { font-size: 18px; }
.esg-con02 .calc-btn { padding: 14px 20px; font-size: 16px; gap: 10px; }

 /* calc-desc : 계산기 유도 화살표 */
 .calc-desc h3 { font-size: 26px; }

 /* esg-con03 : 하단 CTA 3-그리드 */
 .esg-con03 .grid.grid03 { grid-template-columns: repeat(3, 1fr); gap: 24px; }
.esg-con03 .sub-title { margin-bottom: 40px; }
.esg-con03 .sub-title h2 { font-size: 24px; }
.esg-con03 .sub-title p { font-size: 16px; }
 }

@media screen and (max-width: 900px){
 /* esg-con01 : 좌우 → 세로 스택 */
 .esg-con01 .wrap { flex-direction: column; }
.esg-con01 .wrap .left-wrap { width: 100%; padding: 40px 30px; box-sizing: border-box; }
.esg-con01 .wrap .right-wrap { flex: initial; width: 100%; padding: 30px 20px 40px; box-sizing: border-box; }
.esg-con01 .left-wrap__bottom { justify-content: flex-start; gap: 12px; }
.esg-con01 .swiper-slide { min-width: 260px; }

 /* esg-con02 : 폼 / 결과 → 세로 스택 */
 .esg-con02 .wrap { flex-direction: column; gap: 0; }
.esg-con02 .calc-form { flex: initial; width: 100%; padding: 60px 20px; box-sizing: border-box; }
.esg-con02 .calc-result { flex: initial; width: 100%; padding: 60px 30px; box-sizing: border-box; }
.esg-con02 .calc-result__btns { grid-template-columns: 1fr 1fr; }

 /* esg-con03 : 3그리드 → 2그리드 */
 .esg-con03 .grid.grid03 { grid-template-columns: repeat(2, 1fr); }
 }

@media screen and (max-width: 768px){
 /* esg-con01 */
 .esg-con01 .wrap .left-wrap { padding: 32px 24px; }
.esg-con01 .wrap .left-wrap p { font-size: 15px; }
.esg-con01 .wrap .left-wrap h3 { font-size: 24px; }
.esg-con01 .wrap .left-wrap ul { margin-top: 16px; }
.esg-con01 .wrap .left-wrap ul li { padding: 16px 14px; font-size: 14px; }
.esg-con01 .left-wrap__bottom .slide-arrow { width: 48px; height: 48px; }
.esg-con01 .left-wrap__bottom .slide-arrow svg { width: 12px; height: 20px; }
.esg-con01 .wrap .right-wrap { padding: 24px 16px 32px; }
.esg-con01 .swiper-slide { min-width: 240px; padding: 14px; }
.esg-con01 .swiper-slide .txt-box h3 { font-size: 24px; }
.esg-con01 .swiper-slide .txt-box .date div { font-size: 14px; }

 /* calc-desc */
 .calc-desc { padding: 40px 0; }
.calc-desc h3 { font-size: 20px; line-height: 1.4; }

 /* esg-con02 : 계산기 */
 .esg-con02 .calc-form { padding: 40px 16px; }
.esg-con02 .calc-form__title { font-size: 22px; margin-bottom: 20px; }
.esg-con02 .calc-form__row { gap: 6px; }
.esg-con02 .calc-form__row--head .col-qty { padding: 0 10px; font-size: 13px; }
.esg-con02 .calc-form__box { height: 40px; }
.esg-con02 .calc-form__box .col-name { padding: 0 10px; font-size: 14px; }
.esg-con02 .calc-form__box .col-qty input { padding: 0 10px; font-size: 14px; }
.esg-con02 .calc-form__unit { min-width: 16px; font-size: 13px; }
.esg-con02 .calc-result { padding: 40px 20px; }
.esg-con02 .calc-result__label { font-size: 14px; }
.esg-con02 .calc-result__total strong { font-size: 26px; }
.esg-con02 .calc-result__total em { font-size: 14px; }
.esg-con02 .calc-result__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
.esg-con02 .calc-result__box { padding: 10px 14px; min-height: 62px; }
.esg-con02 .calc-result__box .label { font-size: 13px; }
.esg-con02 .calc-result__box .value strong,
.esg-con02 .calc-result__box .value em { font-size: 16px; }
.esg-con02 .calc-result__desc { font-size: 13px; margin-bottom: 24px; }
.esg-con02 .calc-result__btns { grid-template-columns: 1fr; gap: 10px; }
.esg-con02 .calc-btn { padding: 13px 18px; font-size: 15px; gap: 8px; }
.esg-con02 .calc-btn img { width: 14px; height: 14px; }

 /* esg-con03 : 2그리드 → 1그리드 */
 .esg-con03 { padding-top: 60px; padding-bottom: 70px; }
.esg-con03 .grid.grid03 { grid-template-columns: 1fr; gap: 20px; }
.esg-con03 .sub-title { margin-bottom: 30px; }
.esg-con03 .sub-title h2 { font-size: 22px; }
.esg-con03 .sub-title p { font-size: 15px; }

 /* quote-modal : 모달 폼 */
 .quote-modal__dialog { width: min(94vw, 640px); padding: 30px 20px; max-height: 92vh; }
.quote-modal__title { font-size: 20px; }
.quote-modal__desc { font-size: 14px; }
.quote-modal__form .form-item { flex-direction: column; align-items: flex-start; gap: 8px; }
.quote-modal__form .form-item label { flex: initial; width: 100%; font-size: 14px; }
.quote-modal__form .form-item input,
.quote-modal__form .form-item select,
.quote-modal__form .form-item textarea { width: 100%; font-size: 14px; padding: 12px; box-sizing: border-box; }
.quote-modal__btns { grid-template-columns: 1fr; gap: 10px; }
.quote-modal__privacy-detail ol { font-size: 13px; padding: 12px 14px 12px 26px; }
 }

@media screen and (max-width: 480px){
 /* esg-con01 */
 .esg-con01 .wrap .left-wrap { padding: 26px 18px; }
.esg-con01 .wrap .left-wrap h3 { font-size: 22px; }
.esg-con01 .wrap .left-wrap ul li { padding: 14px 12px; font-size: 13px; flex-wrap: wrap; gap: 4px; }
.esg-con01 .swiper-slide { min-width: 220px; }
.esg-con01 .swiper-slide .txt-box h3 { font-size: 22px; }

 /* calc-desc */
 .calc-desc h3 { font-size: 18px; }

 /* esg-con02 */
 .esg-con02 .calc-form { padding: 32px 14px; }
.esg-con02 .calc-form__title { font-size: 20px; }
.esg-con02 .calc-form__row--head .col-qty { padding: 0 8px; font-size: 12px; }
.esg-con02 .calc-form__box .col-name,
.esg-con02 .calc-form__box .col-qty input { padding: 0 8px; font-size: 13px; }
.esg-con02 .calc-result { padding: 32px 16px; }
.esg-con02 .calc-result__total strong { font-size: 22px; }
.esg-con02 .calc-result__grid { grid-template-columns: 1fr; }

 /* esg-con03 */
 .esg-con03 .sub-title h2 { font-size: 20px; }
.esg-con03 .grid-box__btn { padding: 12px 18px; font-size: 14px; }

 /* quote-modal */
 .quote-modal__dialog { padding: 24px 16px; }
.quote-modal__title { font-size: 18px; }
 }
