/* Plan 02 — designer HTML shell */
html {scroll-behavior:smooth; scroll-padding-top:120px; scrollbar-gutter:stable; overflow-x:clip;}
#wrapper {overflow:clip;}
.page-sub #wrapper {min-height:100vh;}
.contain {width:100%; max-width:1520px; padding:0 40px; margin:0 auto;}
#header {position:sticky; top:0; z-index:100; height:100px; background:#fff; border-bottom:1px solid #ddd;}
#header>.contain {height:100%; max-width:none; padding-left:40px; padding-right:40px; display:flex; align-items:center; gap:0;}
.sitelogo {flex:0 0 270px; margin-right:auto;}
.sitelogo img {display:block; width:270px; height:auto;}
#gnb {flex:0 1 auto; margin-left:auto; height:100%; position:relative; z-index:2;}
#gnb>ul {display:flex; justify-content:flex-end; height:100%; gap:68px;}
#gnb>ul>li {display:flex; align-items:center; position:relative;}
#gnb>ul>li>a {font-size:18px; font-weight:600; white-space:nowrap; transition:color .25s ease;}
.submenu-bg {display:none !important;}
#gnb .submenu {position:absolute; top:100%; left:50%; width:180px; height:auto; transform:translateX(-50%); background:#fff; padding:20px 15px; border:1px solid #ddd; opacity:0; visibility:hidden; transition:opacity .2s; box-sizing:border-box;}
#gnb .submenu a {display:block; padding:8px 0; text-align:center; color:#505050; font-size:16px; font-weight:400; letter-spacing:0; transition:color .2s ease;}
#gnb .submenu a.menu-highlight {color:#505050; font-weight:400;}
#gnb>ul>li:hover .submenu, #gnb>ul>li:focus-within .submenu {opacity:1; visibility:visible;}
#gnb>ul>li:hover>a, #gnb>ul>li:focus-within>a {color:var(--color-secondary);}
#gnb .submenu a:hover, #gnb .submenu a:focus-visible {color:var(--color-secondary); font-weight:400;}
.header-util {display:flex; align-items:center; flex-shrink:0; margin-left:40px; gap:28px; white-space:nowrap; font-size:16px;}
.is-unlinked {cursor:default;}
.btn-m-menu {display:none; width:28px; height:28px; border:0; background:none;}
.btn-m-menu span {display:block; height:2px; background:#2c2c2c; margin:6px 0;}
.mobile-navigation {position:fixed; top:0; right:0; bottom:0; z-index:202; width:min(360px,90vw); background:#fff; padding:30px; transform:translateX(100%); visibility:hidden; transition:transform .25s,visibility .25s; overflow:auto;}
.mobile-navigation .home img {width:230px; margin:35px 0;}
.mobile-navigation .close {position:absolute; top:12px; right:20px; font-size:32px; border:0; background:none;}
.mobile-navigation .nav-menu>ul>li {padding:18px 0; border-bottom:1px solid #ddd;}
.mobile-navigation .nav-menu>ul>li>a {font-size:20px; font-weight:600;}
.mobile-navigation .submenu {padding-top:14px;}
.mobile-navigation .submenu a {display:block; font-size:16px; line-height:2.2; color:#878787;}
.mobile-overlay {position:fixed; inset:0; z-index:201; background:#0005; display:none;}
.menu-opened {overflow:hidden;}
.menu-opened .mobile-navigation {visibility:visible; transform:none;}
.menu-opened .mobile-overlay {display:block;}
/* Footer — Figma 271:20, Aid content and brand colour. */
#footer {background:#111111;color:rgba(255,255,255,.7);padding:60px 0;}
.footer-top {display:flex;align-items:center;justify-content:space-between;gap:30px;}
.footer-top>img {display:block;width:340px;height:auto;max-width:100%;}
.footer-to-top {display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;padding:0;border:0;border-radius:10px;background:var(--color-secondary);transition:background .2s;}
.footer-to-top>img {display:block;transform:rotate(-90deg);}
.footer-to-top:hover {background:#a91218;}
.footer-info {padding:40px 0 24px;font-size:16px;line-height:1.5;}
.footer-address {color:#fff;font-weight:600;}
.footer-details {margin-top:16px;display:grid;gap:16px;color:rgba(255,255,255,.7);}
.footer-details p {display:flex;flex-wrap:wrap;gap:14px 28px;}
.footer-details span {display:inline-block;}
.footer-bar {border-top:1px solid rgba(255,255,255,.16);padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:28px;}
.copyright {color:rgba(255,255,255,.24);font-size:16px;line-height:1.5;}
.footer-policy {display:flex;gap:24px;white-space:nowrap;color:rgba(255,255,255,.6);font-size:16px;line-height:1.5;}

/* The header shares the opening photograph and becomes white on interaction. */
#header {position:fixed;left:0;right:0;background:transparent;border-bottom:1px solid rgba(255,255,255,.2);color:#fff;transition:background .25s ease,color .25s ease,border-color .25s ease;}
.sitelogo a {position:relative;display:block;}
.sitelogo .header-logo-light {position:absolute;inset:0;opacity:1;transition:opacity .25s ease;}
#header .sitelogo img:not(.header-logo-light) {opacity:0;transition:opacity .25s ease;}
#header .lang,#header #header .btn-m-menu span {background:currentColor;}
#header:hover,#header:focus-within,#header.is-scrolled {background:#fff;color:#2c2c2c;border-bottom-color:#ddd;}
#header:is(:hover,:focus-within,.is-scrolled) .header-logo-light {opacity:0;}
#header:is(:hover,:focus-within,.is-scrolled) .sitelogo img:not(.header-logo-light) {opacity:1;}
#header:is(:hover,:focus-within,.is-scrolled) 
#header .btn-m-menu {color:inherit;}

/* Main hero — GNB·유틸 색상을 헤더 배경과 동일 0.25s (reset a transition:all 지연 방지) */
.is-main #header #gnb>ul>li>a {color:#fff;transition:color .25s ease;}
.is-main #header .header-util {color:#fff;transition:color .25s ease;}
.is-main #header .language-switch {border-color:rgba(255,255,255,.35);transition:border-color .25s ease,color .25s ease;}
.is-main #header:hover #gnb>ul>li>a,
.is-main #header:focus-within #gnb>ul>li>a,
.is-main #header.is-scrolled #gnb>ul>li>a {color:#2c2c2c;}
.is-main #header:hover .header-util,
.is-main #header:focus-within .header-util,
.is-main #header.is-scrolled .header-util {color:#2c2c2c;}
.is-main #header:hover .language-switch,
.is-main #header:focus-within .language-switch,
.is-main #header.is-scrolled .language-switch {border-color:#ddd;}
.is-main #header #gnb>ul>li:hover>a,
.is-main #header #gnb>ul>li:focus-within>a,
.is-main #header #gnb>ul>li.active>a {color:var(--color-secondary);}

.language-switch {display:inline-flex;align-items:center;gap:2px;padding:4px;border:1px solid #ddd;border-radius:28px;font-size:16px;line-height:1.5;}
.language-switch>span {display:flex;align-items:center;justify-content:center;min-width:54px;height:32px;padding:0 10px;}
.language-current {background:#2c2c2c;color:#fff;border-radius:22px;font-weight:600;}
.language-pending {color:inherit;opacity:.55;font-weight:400;cursor:default;}
.mobile-language {padding-bottom:22px;color:#2c2c2c;}

/* Sub-page shell — Figma 272:13 title, breadcrumb and pill tabs. */
.page-sub {padding-top:var(--header-height,100px);}
.page-sub #header {position:fixed;top:0;left:0;right:0;z-index:100;height:var(--header-height,100px);min-height:var(--header-height,100px);max-height:var(--header-height,100px);background:#fff;color:#2c2c2c;border-bottom-color:#ddd;transition:none!important;}
/* Sub header logo — single rule for all page-sub (greeting, vision, …) */
.page-sub #header > .contain {align-items:center;}
.page-sub #header .sitelogo {flex:0 0 auto;width:400px;max-width:min(400px, 42vw);margin-right:auto;}
.page-sub #header .sitelogo a {display:block;line-height:0;max-height:calc(var(--header-height, 100px) - 14px);}
.page-sub #header .sitelogo img:not(.header-logo-light) {display:block;width:100%;max-width:400px;height:auto;max-height:calc(var(--header-height, 100px) - 14px);object-fit:contain;object-position:left center;}
.page-about .aid-simple-visual .sub-heading-row h2 {min-height:144px;box-sizing:content-box;}
.page-about .aid-simple-visual .about-tabs {min-height:48px;align-content:flex-start;flex-wrap:wrap;}
.page-about .aid-simple-visual .about-tabs>a {width:152px;min-width:152px;max-width:152px;height:48px;padding:0 8px;flex:0 0 152px;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;}
.page-sub #header .header-logo-light {opacity:0;}
.page-sub #header .sitelogo img:not(.header-logo-light) {opacity:1;}
.page-sub #header #gnb>ul>li>a {font-size:18px;font-weight:600;letter-spacing:-.03em;transition:color .25s ease;}
.page-sub #header .header-util,.page-sub #header .language-switch {font-size:16px;}
.page-sub .aid-simple-visual .sub-breadcrumb {font-size:16px;line-height:26px;}
.page-sub .aid-simple-visual .sub-heading-row h2 {font-size:48px;font-weight:800;line-height:1.5;letter-spacing:-.03em;color:#2c2c2c;}
.page-sub .aid-simple-visual .sub-pill-menu>a,.page-sub .aid-simple-visual .sub-pill-menu>span {font-size:16px;font-weight:600;}
.page-sub .aid-simple-visual>.contain,#container>.contain,#container article.contain {width:100%;max-width:1520px;margin-left:auto;margin-right:auto;box-sizing:border-box;}
#header a,.aid-simple-visual a {transition:color .2s ease,opacity .2s ease,background-color .2s ease,border-color .2s ease;}
.aid-simple-visual {padding:140px 0 60px;border-bottom:1px solid #ddd;background:#fff;}
.sub-breadcrumb {display:flex;align-items:center;gap:16px;color:#878787;font-size:16px;line-height:26px;}
.sub-breadcrumb a {display:flex;align-items:center;}
.sub-breadcrumb strong {font-weight:600;color:var(--color-secondary);}
.sub-heading-row {display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:34px;}
.sub-heading-row h2 {font-size:48px;font-weight:800;line-height:1.5;color:#2c2c2c;}
.sub-pill-menu {display:flex;gap:10px;}
.sub-pill-menu>a,.sub-pill-menu>span {display:flex;align-items:center;justify-content:center;width:140px;height:48px;border-radius:32px;background:#f4f4f4;color:#878787;font-size:16px;font-weight:600;}
.sub-pill-menu [aria-current="page"] {background:var(--color-secondary);color:#fff;}
.faq-content,.board-content {padding-top:120px;padding-bottom:150px;}

/* Main hero header — complete logo (sub pages use .page-sub rules above). */
.is-main #header .sitelogo {flex:0 0 400px;}
.is-main #header .sitelogo img {width:400px;max-width:400px;height:auto;}
.mobile-navigation .home img {width:100%;height:auto;}
/* Quick menu — GDWEB-style navy round pill (QUICK + 3 links) */
.contact-rail--pill{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:90;width:92px;display:flex;flex-direction:column;align-items:stretch;padding:4px 0 10px;border-radius:20px 0 0 20px;background:var(--color-primary);box-shadow:-6px 8px 28px #15244f45;border:1px solid #ffffff1a;border-right:0;}
.contact-rail--pill .contact-rail-quick{margin:0;padding:10px 6px 8px;font-size:15px;font-weight:700;letter-spacing:.08em;text-align:center;color:rgba(255,255,255,.8);line-height:1;}
.contact-rail--pill a,.contact-rail--pill button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-height:76px;padding:10px 6px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff;text-align:center;line-height:1.25;transition:background .2s;}
.contact-rail--pill>*+*{box-shadow:inset 0 1px 0 #ffffff1f;}.contact-rail--pill .quick-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:#ffffff14;}.contact-rail--pill .quick-icon img{display:block;width:24px;height:24px;object-fit:contain;object-position:center;}.contact-rail--pill .quick-mail .quick-icon,.contact-rail--pill .quick-inquiry .quick-icon{background:#ffffff38;}.contact-rail--pill .quick-mail:hover .quick-icon,.contact-rail--pill .quick-inquiry:hover .quick-icon,.contact-rail--pill .quick-mail:focus-visible .quick-icon,.contact-rail--pill .quick-inquiry:focus-visible .quick-icon{background:#ffffff4d;}.contact-rail--pill .quick-kakao .quick-icon{background:#fee500;}.contact-rail--pill .quick-kakao .quick-icon img{width:30px;height:30px;object-fit:contain;}.contact-rail--pill .quick-label{font-size:15px;font-weight:400;color:rgba(255,255,255,.8);letter-spacing:-.02em;line-height:1.2;transition:color .2s;}.contact-rail--pill button.quick-kakao[aria-disabled],.contact-rail--pill a.quick-inquiry[aria-disabled]{cursor:default;pointer-events:auto;}.contact-rail--pill button[aria-disabled] .quick-icon,.contact-rail--pill button[aria-disabled] .quick-icon img{opacity:1;}.contact-rail--pill a.quick-mail:hover,.contact-rail--pill a.quick-mail:focus-visible,.contact-rail--pill .quick-kakao:hover,.contact-rail--pill .quick-kakao:focus-visible,.contact-rail--pill a.quick-inquiry:hover,.contact-rail--pill a.quick-inquiry:focus-visible{background:#ffffff14;}.contact-rail--pill a.quick-mail:hover .quick-label,.contact-rail--pill a.quick-mail:focus-visible .quick-label,.contact-rail--pill .quick-kakao:hover .quick-label,.contact-rail--pill .quick-kakao:focus-visible .quick-label,.contact-rail--pill a.quick-inquiry:hover .quick-label,.contact-rail--pill a.quick-inquiry:focus-visible .quick-label{color:#fff;}.contact-rail--pill a.quick-mail:focus-visible,.contact-rail--pill .quick-kakao:focus-visible,.contact-rail--pill a.quick-inquiry:focus-visible{outline:2px solid #fff;outline-offset:-2px;}

/* Subpage shell stays visible from the first render. */
.page-sub #header,.page-sub .aid-simple-visual{animation:none;}.page-sub #header .sitelogo img{transition:none;}.page-sub #header .header-logo-light{display:none;}.page-sub #header .sitelogo img:not(.header-logo-light){opacity:1;}.page-sub .sub-pill-menu>a{transition:color .15s ease,background-color .15s ease,border-color .15s ease;}

/* Never animate shell geometry while fonts/styles initialize. */
.page-sub #header a,.page-sub #header a:hover,.page-sub #header a:active,.page-sub .aid-simple-visual a,.page-sub .aid-simple-visual a:hover,.page-sub .aid-simple-visual a:active{transition-property:color,background-color,border-color;}.page-sub #header,.page-sub .aid-simple-visual{transform:none;}

#gnb .gnb-business .submenu a{line-height:1.5;}

/* Additional messenger channels in the main Quick menu. */
.contact-rail--pill .quick-line .quick-icon{background:#06c755;}
.contact-rail--pill .quick-whatsapp .quick-icon{background:#25d366;}
.contact-rail--pill .quick-line .quick-icon img,.contact-rail--pill .quick-whatsapp .quick-icon img{width:30px;height:30px;}
.contact-rail--pill .quick-kakao .quick-icon{overflow:hidden;}
.contact-rail--pill .quick-kakao .quick-icon img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);}
.contact-rail--pill button[aria-disabled="true"]{cursor:default;}
.contact-rail--pill .quick-line:hover,.contact-rail--pill .quick-whatsapp:hover{background:#ffffff14;}
.contact-rail--pill .quick-line:focus-visible,.contact-rail--pill .quick-whatsapp:focus-visible{outline:2px solid #fff;outline-offset:-2px;}

/* Stable shared subpage shell, including the vision page. */
html{scrollbar-gutter:stable;}
.page-sub #header,.page-sub .aid-simple-visual{font-family:Pretendard, sans-serif;text-size-adjust:100%;-webkit-text-size-adjust:100%;}
