@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&family=Noto+Serif+KR:wght@500;600;700&display=swap");
:root{
  --site-green:#0f513b;
  --site-muted:#777;
  --site-line:#e7e7e7;
  --site-ink:#1f241f;
  --site-width:1180px;
  --section-top:34px;
  --section-bottom:40px;
  --section-title-gap:20px;
}
*{box-sizing:border-box}
html,body{margin:0;background:#fff;color:var(--site-ink);font-family:"Noto Sans KR","Noto Sans CJK KR","Malgun Gothic",Arial,sans-serif}
a{color:inherit;text-decoration:none}
.common-header{height:98px;border:0;box-shadow:none;background:#fff;position:relative;z-index:50}
.common-shell{width:var(--site-width);max-width:calc(100% - 64px);height:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.common-brand{display:flex;flex-direction:column;align-items:flex-start;flex:0 0 auto;white-space:nowrap;min-width:max-content}
.common-brand .brand-ko{font-family:"Noto Serif KR","Noto Serif CJK KR","Batang",serif;font-size:23px;font-weight:600;line-height:1;color:#0e3f31;letter-spacing:-.035em;white-space:nowrap;display:block;width:max-content}
.common-brand .brand-en{font-family:"Noto Sans KR","Noto Sans CJK KR",Arial,sans-serif;font-size:9.5px;letter-spacing:0em;margin-top:5px;margin-left:0;color:#555;white-space:nowrap}
.common-nav{display:flex;align-items:center;gap:14px;font-family:"Noto Sans KR","Noto Sans CJK KR","Malgun Gothic",Arial,sans-serif;font-size:15px}
.common-nav a{position:relative;display:inline-flex;align-items:baseline;padding:11px 0 9px;white-space:nowrap}
.common-nav .nav-en{color:#8a8a8a;font-family:Arial,sans-serif;font-size:11px;margin-left:5px;font-weight:400}
.common-nav .sep{color:#949894;font-size:14px;line-height:1}
.common-nav a.active{color:var(--site-green);font-weight:700}
.common-nav a.active::after,.common-nav a:hover::after,.common-nav a:focus-visible::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--site-green)}
.common-nav-toggle{display:none;border:0;background:transparent;width:42px;height:42px;position:relative;cursor:pointer}
.common-nav-toggle::before,.common-nav-toggle::after,.common-nav-toggle span{content:"";position:absolute;left:9px;right:9px;height:1.5px;background:var(--site-green)}
.common-nav-toggle::before{top:13px}.common-nav-toggle span{top:20px}.common-nav-toggle::after{top:27px}

/* Shared internal-page rhythm */
.page-shell,.wrap{width:var(--site-width);max-width:calc(100% - 64px);margin:0 auto}
.section{padding:var(--section-top) 0 var(--section-bottom)}
.section + .section{border-top:1px solid var(--site-line)}
.section-title{margin-bottom:var(--section-title-gap)!important}
.section-title .en{position:relative;top:-1px}

/* Team badge area: same slot and vertical rhythm, different badge/lanyard artwork allowed. */
.team-badge-hero{height:350px;display:grid;grid-template-columns:285px minmax(0,1fr);gap:42px;align-items:center;padding:18px 0 12px 110px}
.team-badge-slot{width:285px;height:330px;display:flex;align-items:center;justify-content:center;overflow:visible}
.team-badge-slot img{display:block;max-width:285px;max-height:330px;width:auto;height:auto;object-fit:contain}
.team-note{max-width:505px;font-family:"Noto Sans KR","Noto Sans CJK KR","Malgun Gothic",Arial,sans-serif;color:#5f6762;line-height:1.82;font-size:15px}
.team-note p{margin:0}.team-note p::before{content:"“";margin-right:4px}.team-note p::after{content:"”";margin-left:4px}
.team-badge-hero.reverse{grid-template-columns:minmax(0,1fr) 285px;padding-left:72px;padding-right:72px}
.team-badge-hero.reverse .team-note{justify-self:start;max-width:505px}
.team-badge-hero.reverse .team-badge-slot{justify-self:end}

.common-footer{border:0;margin:0;padding:38px 0;text-align:right;color:#777;font-size:11px;background:#fff}
.common-footer .common-shell{display:block;height:auto}
.common-footer .copyright{color:#777!important;font-size:12px!important;line-height:1.5;margin:0!important}
.common-footer .address{font-size:11px!important;color:#a6aca7!important;line-height:1.55;margin-top:7px!important}

.common-footer .copyright-row{display:flex;justify-content:flex-end;align-items:center;gap:11px}
.common-footer .footer-links{display:inline-flex;align-items:center;gap:9px;color:#557b67;flex:0 0 auto}
.common-footer .footer-link{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:#557b67;opacity:1;transition:opacity .18s ease,transform .18s ease}
.common-footer .footer-link:hover,.common-footer .footer-link:focus-visible{opacity:1;transform:translateY(-1px)}
.common-footer .footer-link svg{display:block;width:20px;height:20px;overflow:visible}


.common-footer .visitor-counter{font-size:10px;color:#a6aca7;line-height:1.5;margin-top:3px;letter-spacing:-.01em}
.common-footer .visitor-counter .counter-value{font-variant-numeric:tabular-nums;color:#8f9691}

@media(max-width:900px){
  .page-shell,.wrap{max-width:calc(100% - 34px)}
  .team-badge-hero,.team-badge-hero.reverse{height:auto;grid-template-columns:1fr;gap:10px;padding:20px 0}
  .team-badge-slot,.team-badge-hero.reverse .team-badge-slot{justify-self:center;margin:0 auto}
  .team-note{display:none}
}
@media(max-width:760px){
  .common-shell{max-width:calc(100% - 28px)}
  .common-header{height:72px}
  .common-brand .brand-ko{font-size:23px}.common-brand .brand-en{font-size:9px;margin-top:6px}
  .common-nav-toggle{display:block}.common-nav{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;border-bottom:1px solid #e7e7e7;padding:10px 22px 18px;flex-direction:column;align-items:stretch;gap:0;z-index:100}.common-nav.open{display:flex}.common-nav .sep{display:none}.common-nav a{padding:11px 0}.common-nav a.active::after,.common-nav a:hover::after{bottom:5px}
  .common-footer{padding:30px 0}
}


/* v6: internal section headings */
body:not(.page-home) .section-title{
  font-family:"Noto Sans KR","Noto Sans CJK KR","Malgun Gothic",Arial,sans-serif!important;
  font-weight:700!important;
  letter-spacing:-.02em;
}

/* v6: small visitor counter below footer address */
.visitor-count{margin-top:4px;color:#9a9a9a;font-size:10px;line-height:1.45;letter-spacing:-.01em}
.visitor-count .sep{margin:0 6px;color:#c1c1c1}
.icount-tracker-hidden{display:none!important;width:0;height:0;overflow:hidden}

/* v7: keep the iCount page-view tracker loaded but never show its own counter */
.icount-tracker-hidden{display:none!important}
.icount-tracker-frame{position:absolute!important;left:-10000px!important;top:-10000px!important;width:1px!important;height:1px!important;border:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}

/* v12: stable shared header alignment across pages */
html{overflow-y:scroll;scrollbar-gutter:stable}


/* v13: lock the shared logo/header geometry across home and internal pages */
.common-header{display:block!important}
.common-brand{height:48px;justify-content:flex-start}
.common-brand .brand-ko{
  height:29px;line-height:29px!important;display:block
}
.common-brand .brand-en{
  height:12px;line-height:12px!important;margin-top:7px!important
}
@media(max-width:760px){
  .common-brand{height:40px}
  .common-brand .brand-ko{height:23px;line-height:23px!important}
  .common-brand .brand-en{height:9px;line-height:9px!important;margin-top:6px!important}
}


/* v15: footer visitor statistics — today / total / current online */
.common-footer .visitor-counter{white-space:nowrap}


/* v19: iCount widgets render off-screen with a real layout box */
.icount-tracker-frame{
  position:fixed!important;
  left:-10000px!important;
  top:-10000px!important;
  width:520px!important;
  height:320px!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important
}


/* v18: counter values are loaded through a same-origin Vercel Function */
.common-footer .visitor-counter[data-state="error"] .counter-value{opacity:.65}


/* v26: tighter editorial title hierarchy + aligned two-line logo */
:root{
  --section-title-gap:15px;
}

/* Keep the header block height unchanged; align Korean/English logo to the same left/right edges. */
.common-brand{
  width:198px!important;
  min-width:198px!important;
  align-items:stretch!important;
}
.common-brand .brand-ko,
.common-brand .brand-en{
  width:100%!important;
  max-width:none!important;
  text-align:justify;
  text-align-last:justify;
}
.common-brand .brand-ko{
  font-size:29px!important;
  font-weight:600!important;
  letter-spacing:-.035em!important;
}
.common-brand .brand-en{
  font-size:12px!important;
  letter-spacing:0!important;
  color:#666!important;
}

/* Home hero: smaller, denser, more editorial. */
body.page-home .home-hero h1{
  font-size:42px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:-.035em!important;
  margin-bottom:0!important;
}
body.page-home .home-hero .lede{
  margin-top:10px!important;
  margin-bottom:28px!important;
}

/* Internal large headings, where present. */
body:not(.page-home) h1,
body:not(.page-home) .hero h1{
  font-size:31px!important;
  font-weight:700!important;
  line-height:1.15!important;
  margin-bottom:14px!important;
}

/* Shared section headings: one step down from the previous 25px. */
body:not(.page-home) .section-title{
  font-size:22px!important;
  font-weight:700!important;
  line-height:1.15!important;
  margin-bottom:15px!important;
}
body:not(.page-home) .section-title .en{
  font-size:12px!important;
  font-weight:400!important;
  color:#8c8c8c!important;
  top:-1px!important;
}
body:not(.page-home) .section-title .dot{
  margin-left:6px!important;
  margin-right:6px!important;
}

@media(max-width:760px){
  .common-brand{
    width:158px!important;
    min-width:158px!important;
  }
  .common-brand .brand-ko{
    font-size:23px!important;
  }
  .common-brand .brand-en{
    font-size:9px!important;
  }

  body.page-home .home-hero h1{
    font-size:34px!important;
    line-height:1.18!important;
  }
  body.page-home .home-hero .lede{
    margin-top:9px!important;
    margin-bottom:24px!important;
  }
  body:not(.page-home) h1,
  body:not(.page-home) .hero h1{
    font-size:28px!important;
  }
  body:not(.page-home) .section-title{
    font-size:20px!important;
    margin-bottom:13px!important;
  }
  body:not(.page-home) .section-title .en{
    font-size:11px!important;
  }
}


/* v28 TRIAL: smaller two-line logo */
.common-brand{
  width:176px!important;
  min-width:176px!important;
  height:42px!important;
}
.common-brand .brand-ko{
  font-size:25.5px!important;
  height:26px!important;
  line-height:26px!important;
}
.common-brand .brand-en{
  font-size:10.5px!important;
  height:10.5px!important;
  line-height:10.5px!important;
  margin-top:5.5px!important;
}
@media(max-width:760px){
  .common-brand{width:144px!important;min-width:144px!important;height:35px!important}
  .common-brand .brand-ko{font-size:21px!important;height:22px!important;line-height:22px!important}
  .common-brand .brand-en{font-size:8.2px!important;height:8.5px!important;line-height:8.5px!important;margin-top:4.5px!important}
}


/* v38 TRIAL: image-based Korean logo */
.common-brand{
  width:174px!important;
  min-width:174px!important;
  height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.common-brand .brand-logo-trial{
  display:block;
  width:174px!important;
  height:auto!important;
  max-height:54px!important;
  object-fit:contain;
}
@media(max-width:760px){
  .common-brand{
    width:148px!important;
    min-width:148px!important;
    height:46px!important;
  }
  .common-brand .brand-logo-trial{
    width:148px!important;
    max-height:46px!important;
  }
}


/* v39 TRIAL: green transparent image logo */
.common-brand{
  width:176px!important;
  min-width:176px!important;
  height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.common-brand .brand-logo-trial{
  width:176px!important;
  max-height:54px!important;
  height:auto!important;
  object-fit:contain!important;
}
@media(max-width:760px){
  .common-brand{
    width:150px!important;
    min-width:150px!important;
    height:46px!important;
  }
  .common-brand .brand-logo-trial{
    width:150px!important;
    max-height:46px!important;
  }
}


/* v40 TRIAL: darker green logo, about 20% smaller than v39 */
.common-brand{
  width:141px!important;
  min-width:141px!important;
  height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.common-brand .brand-logo-trial{
  width:141px!important;
  max-height:46px!important;
  height:auto!important;
  object-fit:contain!important;
}
@media(max-width:760px){
  .common-brand{
    width:120px!important;
    min-width:120px!important;
    height:40px!important;
  }
  .common-brand .brand-logo-trial{
    width:120px!important;
    max-height:40px!important;
  }
}

/* v47: lock desktop menu geometry across home and internal pages */
@media(min-width:761px){
  .common-nav{
    display:grid!important;
    grid-template-columns:74px 4px 83px 4px 91px 4px 108px!important;
    column-gap:14px!important;
    width:452px!important;
    min-width:452px!important;
    flex:0 0 452px!important;
    align-items:center!important;
  }
  .common-nav a{
    width:100%!important;
    min-width:0!important;
    justify-content:flex-start!important;
    font-weight:400!important;
  }
  .common-nav a.active>span:first-child{font-weight:700!important}
  .common-nav .sep{width:4px!important;text-align:center!important}
}
