:root{--g:#1b493a;--g2:#2d6853;--lime:#cee56b;--cream:#f4f2ea;--ink:#17251f;--muted:#68736e;--line:#dde2de}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Noto Sans KR',sans-serif;color:var(--ink);line-height:1.7}body.menu{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}
header{height:88px;position:fixed;inset:0 0 auto;z-index:20;color:#fff;border-bottom:1px solid #ffffff28;transition:.3s}header.on{height:72px;background:#14382fee;backdrop-filter:blur(12px)}.head{height:100%;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;line-height:1}.logo>img{display:block;width:130px;max-width:100%;height:auto;max-height:53px}.head nav{display:flex;align-items:center;gap:36px}.head nav>a,.navdrop>button{background:none;border:0;color:inherit;font-weight:600;padding:30px 0;cursor:pointer}.navdrop{position:relative}.navdrop>div{position:absolute;top:76px;left:-20px;width:180px;background:#fff;color:var(--ink);padding:10px;box-shadow:0 16px 40px #0002;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.navdrop>div.wide{width:430px;display:grid;grid-template-columns:1fr 1fr}.navdrop:hover>div{opacity:1;visibility:visible;transform:none}.navdrop div a{display:block;padding:9px 12px;font-size:13px}.navdrop div a:hover{background:#eef4f0;color:var(--g2)}.head nav .navcta{padding:12px 20px;background:var(--lime);color:var(--ink)}.hamb{display:none}
footer{background:#102d24;color:white;padding:65px 0 25px}.foot{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:55px}.foot>div{display:flex;flex-direction:column;align-items:flex-start}.foot>div>p,.foot a:not(.logo){font-size:11px;color:#ffffff91;margin:4px 0}.foot>div>b{font:600 10px 'DM Sans';letter-spacing:2px;color:var(--lime);margin-bottom:14px}.copyright{border-top:1px solid #ffffff1f;margin-top:45px;padding-top:20px;font:500 9px 'DM Sans';color:#ffffff66}#top{position:fixed;right:20px;bottom:20px;width:42px;height:42px;border:0;background:var(--lime);opacity:0;visibility:hidden;z-index:10}#top.show{opacity:1;visibility:visible}
@media(max-width:950px){.hamb{display:block;background:none;border:0;color:white;font-size:25px;z-index:3}.head nav{position:fixed;inset:0;background:var(--g);padding:100px 30px;display:flex;flex-direction:column;align-items:stretch;gap:0;transform:translateX(100%);transition:.3s;overflow:auto}.menu .head nav{transform:none}.head nav>a,.navdrop>button{display:block;text-align:left;width:100%;padding:14px 0;border-bottom:1px solid #ffffff20}.navdrop>div,.navdrop>div.wide{position:static;width:100%;display:none;opacity:1;visibility:visible;transform:none;background:#ffffff0b;color:white}.navdrop.open>div{display:grid}.foot{grid-template-columns:1fr 1fr}.foot>div:first-child{grid-column:1/-1}}@media(max-width:600px){.wrap{width:calc(100% - 30px)}header{height:72px}.foot{grid-template-columns:1fr 1fr}}

/* Global navigation dropdown */
.navdrop>button{display:inline-flex;align-items:center;justify-content:center;gap:9px;line-height:1;white-space:nowrap}
.nav-arrow{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transform-origin:center;transition:transform .22s ease,color .22s ease}
.navdrop:hover>button .nav-arrow,.navdrop:focus-within>button .nav-arrow{color:var(--lime);transform:translateY(2px) rotate(225deg)}
.navdrop>div{top:calc(100% + 1px);left:50%;width:205px;padding:10px 8px;border:1px solid #e8ece9;border-top:3px solid var(--lime);border-radius:0 0 4px 4px;box-shadow:0 20px 45px rgba(10,36,28,.16);transform:translate(-50%,12px);transition:opacity .2s ease,visibility .2s ease,transform .25s ease}
.navdrop>div:before{content:'';position:absolute;left:0;right:0;top:-14px;height:14px}
.navdrop>div.wide{width:460px;column-gap:6px;padding:13px 12px}
.navdrop:hover>div,.navdrop:focus-within>div{transform:translate(-50%,0)}
.navdrop div a{position:relative;padding:11px 14px 11px 25px;border-radius:2px;color:#35453f;line-height:1.45;transition:background .18s ease,color .18s ease,padding-left .18s ease}
.navdrop div a:before{content:'';position:absolute;left:12px;top:50%;width:4px;height:4px;border-radius:50%;background:#b8c2bd;transform:translateY(-50%);transition:background .18s ease,transform .18s ease}
.navdrop div a:hover,.navdrop div a:focus{padding-left:28px;background:#f2f6f3;color:var(--g);outline:none}
.navdrop div a:hover:before,.navdrop div a:focus:before{background:var(--lime);transform:translateY(-50%) scale(1.35)}

@media(max-width:950px){.navdrop>button{display:flex;justify-content:space-between;line-height:1.5}.nav-arrow{margin-right:5px}.navdrop:hover>button .nav-arrow{color:inherit;transform:translateY(-2px) rotate(45deg)}.navdrop.open>button .nav-arrow{color:var(--lime);transform:translateY(2px) rotate(225deg)}.navdrop>div,.navdrop>div.wide{left:auto;border:0;border-radius:0;box-shadow:none;transform:none!important;padding:8px;margin:0}.navdrop>div:before{display:none}.navdrop div a{color:#fff;padding:10px 14px 10px 25px}.navdrop div a:hover,.navdrop div a:focus{padding-left:28px;background:#ffffff10;color:var(--lime)}}


/* Header logo sizing */
.head>.logo{flex:0 0 auto;margin-left:-11px}
.head>.logo>img{width:190px;max-height:77px;transition:width .3s ease,max-height .3s ease}
header.on .head>.logo>img{width:160px;max-height:65px}
@media(max-width:600px){.head>.logo{margin-left:-9px}.head>.logo>img{width:155px;max-height:63px}}


/* Footer company information */
.foot{grid-template-columns:2.35fr .75fr .8fr 1.55fr;gap:48px}
.foot>div{min-width:0}
.foot-company .logo{margin-bottom:18px}
.foot-company>strong{font-size:14px;margin-bottom:7px}
.foot-company .foot-address{line-height:1.75;margin:0 0 12px}
.foot dl{margin:0}
.foot dl div{display:flex;align-items:baseline;gap:10px}
.foot dt{flex:0 0 auto;font-size:10px;color:#ffffff70}
.foot dd{min-width:0;margin:0;font-size:11px;color:#ffffffb0;overflow-wrap:anywhere}
.foot-info{display:flex;flex-wrap:wrap;gap:4px 18px}
.foot-contact dl{display:flex;flex-direction:column;gap:5px}
.foot-contact dt{width:48px}
.foot-contact a{margin:0!important;color:#ffffffb0!important}
@media(max-width:950px){.foot{grid-template-columns:1fr 1fr;gap:38px}.foot-company{grid-column:1/-1}}
@media(max-width:600px){.foot{grid-template-columns:1fr;gap:32px}.foot-company{grid-column:auto}.foot-info{flex-direction:column;gap:3px}}

/* Combined symbol and wordmark logo */
.logo{display:flex;align-items:center;gap:10px}.head>.logo>.logo-mark,.foot-company .logo>.logo-mark{width:54px;height:54px;object-fit:contain}.head>.logo>.logo-wordmark,.foot-company .logo>.logo-wordmark{width:150px;height:46px;object-fit:contain}(max-width:600px){.head>.logo>.logo-mark{width:44px;height:44px}.head>.logo>.logo-wordmark{width:120px;height:38px}}
