: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}}
@media(max-width:950px){body.menu header.on{background:var(--g);backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Mobile navigation panel */
@media(max-width:950px){
  body.menu #header{background:var(--g);border-bottom-color:#ffffff20;backdrop-filter:none;-webkit-backdrop-filter:none}
  .head>.logo,.head>.hamb{position:relative;z-index:3}
  .head nav{inset:88px 0 0;z-index:2;gap:0;padding:20px 24px calc(28px + env(safe-area-inset-bottom));background:var(--g);}
  .head nav>a:not(.navcta){display:flex;min-height:58px;align-items:center;padding:0;border-bottom:1px solid #ffffff20;font-size:16px;font-weight:600}
  .head nav>.navdrop{width:100%;border-bottom:1px solid #ffffff20}
  .head nav>.navdrop>button{min-height:58px;padding:0;border:0;font-size:16px;font-weight:600}
  .head nav>.navdrop>div,.head nav>.navdrop>div.wide{display:none;width:auto;grid-template-columns:1fr;padding:6px 0 10px 14px;margin:0 0 12px 2px;background:transparent;border:0;border-left:1px solid #ffffff35}
  .head nav>.navdrop.open>div,.head nav>.navdrop.open>div.wide{display:grid}
  .head nav>.navdrop div a{min-width:0;padding:10px 8px 10px 17px;border-radius:0;color:#ffffffc9;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
  .head nav>.navdrop div a:before{left:4px;width:4px;height:4px;background:var(--lime)}
  .head nav>.navdrop div a:hover,.head nav>.navdrop div a:focus{padding-left:17px;background:#ffffff0b;color:var(--lime)}
  .head nav .navcta{display:flex;min-height:58px;align-items:center;justify-content:space-between;width:100%;margin-top:20px;padding:0 18px;font-size:15px}
  body.menu header.on .head nav{top:72px}
}
@media(min-width:480px) and (max-width:950px){.head nav>.navdrop>div.wide{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}}
@media(max-width:600px){.head nav{inset:72px 0 0;padding:18px 20px calc(24px + env(safe-area-inset-bottom))}}
@media(max-width:950px) and (prefers-reduced-motion:reduce){.head nav{transition:none}}

/* 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)}}

@media(max-width:950px){
  body #header .head nav{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;will-change:opacity;-webkit-transition:opacity .28s ease,visibility 0s linear .28s;transition:opacity .28s ease,visibility 0s linear .28s}
  body.menu #header .head nav{opacity:1;visibility:visible;-webkit-transition:opacity .28s ease,visibility 0s;transition:opacity .28s ease,visibility 0s}
}
@media(max-width:950px) and (prefers-reduced-motion:reduce){body #header .head nav,body.menu #header .head nav{transition:none;transform:none}}


/* 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}}

@media(max-width:600px){
  footer{padding:44px 0 calc(24px + env(safe-area-inset-bottom))}
  .foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}
  .foot-company{grid-column:1/-1}
  .foot-company .logo{margin-bottom:14px}
  .foot-company>strong{font-size:15px;margin-bottom:8px}
  .foot-company .foot-address{max-width:360px;margin:0 0 14px;font-size:12px;line-height:1.8}
  .foot-info{display:grid;grid-template-columns:1fr;gap:5px}
  .foot-info>div{gap:12px}
  .foot>div:not(.foot-company){border-top:1px solid #ffffff24;padding-top:15px}
  .foot>div>b{font-size:9px;margin-bottom:8px}
  .foot>div>a:not(.logo){margin:0!important;padding:6px 0;color:#ffffffb0!important;font-size:12px}
  .foot-contact{grid-column:1/-1}
  .foot-contact dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
  .foot-contact dl>div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;padding:10px 0;border-top:1px solid #ffffff18}
  .foot-contact dt{width:auto;font-size:10px}
  .foot-contact dd{font-size:11px;overflow-wrap:anywhere}
  .copyright{margin-top:24px;padding-top:15px;font-size:8px;line-height:1.7}
}
