/* ===== Kickstart Asia — faithful static replica ===== */
:root{
  --ink:#2b2b2b;
  --label:#737273;
  --gray-bg:#e3e3e3;
  --lime:#add043;
  --line:#d8d8d8;
  --maxw:864px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Open Sans","맑은 고딕","malgun gothic","apple sd gothic neo",applegothic,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* language visibility */
.en{display:none}
html[lang="en"] .kr{display:none}
html[lang="en"] .en{display:inline}

/* ===== header ===== */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:rgba(255,255,255,0);
  transition:background .25s ease, box-shadow .25s ease;
}
.site-header.scrolled{background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.08)}
.bar{
  max-width:1180px;margin:0 auto;padding:18px 28px;
  display:flex;align-items:center;gap:24px;
}
.brand img{height:24px;width:auto;filter:brightness(0) invert(1)}
.site-header.scrolled .brand img{filter:none}
.nav{display:flex;gap:26px;margin-left:auto;flex-wrap:wrap}
.nav a{
  font-size:13px;letter-spacing:.04em;color:#fff;opacity:.92;
  padding:4px 0;transition:opacity .2s;
}
.nav a:hover{opacity:.6}
.site-header.scrolled .nav a{color:var(--ink)}
.lang{display:flex;align-items:center;gap:10px;margin-left:auto}
.lang-btn{background:none;border:0;cursor:pointer;padding:0;line-height:0;opacity:.5;transition:opacity .2s}
.lang-btn img{width:24px;height:24px;border-radius:50%;display:block}
.lang-btn.is-active{opacity:1}
.lang-btn:hover{opacity:.85}

/* ===== hero ===== */
.hero{
  position:relative;height:700px;max-height:88vh;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:#2b2b2b;
}
.hero-slides{position:absolute;inset:0}
.hero-slide{
  position:absolute;inset:0;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  opacity:0;transform:scale(1.02);
  transition:opacity 1.6s ease-in-out;
  will-change:opacity,transform;
}
.hero-slide.is-active{
  opacity:1;
  animation:kenburns 9s ease-out forwards;
}
@keyframes kenburns{
  from{transform:scale(1.02)}
  to{transform:scale(1.14)}
}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.32)}
.hero-inner{position:relative;text-align:center;color:#fff;padding:0 24px}
.hero h1{
  font-family:"Montserrat",sans-serif;
  font-weight:700;font-size:50px;line-height:1.2;letter-spacing:normal;
  color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.25);
}
.hero-sub{
  margin:22px auto 0;max-width:640px;
  font-family:"Open Sans",sans-serif;
  font-size:20px;line-height:1.6;color:#fff;opacity:.95;font-weight:400;font-style:italic;
}

/* ===== blocks ===== */
.block{padding:84px 24px}
#about{padding-top:160px}
#charters .wrap{max-width:960px}
#partners .wrap{max-width:960px}
#conference{padding-bottom:200px}
#contact{padding-top:175px;padding-bottom:160px}
#events{padding-top:140px}
.block--gray{background:var(--gray-bg)}
.wrap{max-width:var(--maxw);margin:0 auto}
.label{
  font-family:"Open Sans",sans-serif;
  font-weight:400;font-size:24px;letter-spacing:normal;color:var(--label);
  text-transform:uppercase;margin-bottom:34px;
}
.prose p{
  font-size:14px;line-height:28px;color:var(--ink);margin-bottom:18px;
}
.prose p:last-child{margin-bottom:0}

/* ===== charters ===== */
.charter-grid{
  display:flex;flex-direction:column;gap:48px;align-items:center;margin:0 auto;
}
.charter-row{display:flex;justify-content:center;gap:0}
.charter{width:320px;text-align:center}
.charter img{height:100px;width:100%;margin:0 auto 16px;object-fit:contain}
.charter figcaption{font-size:12px;line-height:21px;color:var(--label);max-width:221px;margin:0 auto}

/* ===== partners ===== */
.partner-grid{
  display:flex;flex-wrap:wrap;justify-content:center;
  row-gap:44px;align-items:center;
}
.partner-grid img{flex:0 0 320px;height:100px;width:320px;object-fit:contain;filter:grayscale(.1)}

/* ===== programmes ===== */
.process{margin-top:46px;margin-bottom:115px;text-align:center}
.process img{max-width:484px;width:100%;margin:0 auto}

/* ===== event logos ===== */
.event-logos{
  display:flex;flex-wrap:wrap;gap:40px;align-items:center;justify-content:center;
  margin-bottom:38px;
}
.event-logos img{height:72px;width:auto;object-fit:contain}

/* ===== contact ===== */
.contact-grid{display:block}
.offices{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-bottom:46px}
.office{margin-bottom:0}
.office h3{font-size:14px;font-weight:700;letter-spacing:.04em;margin-bottom:10px;color:var(--ink)}
.office p{font-size:14px;line-height:1.7;color:var(--ink)}
.office a{border-bottom:1px solid var(--line)}
.contact-form{display:flex;flex-direction:column;gap:22px}
.contact-form label{display:flex;flex-direction:column;gap:8px}
.field-label{font-size:13px;color:var(--ink)}
.contact-form input,.contact-form textarea{
  border:1px solid #ccc;background:#e3e3e3;
  padding:9px 12px;font-size:14px;font-family:inherit;color:var(--ink);resize:vertical;
}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--ink)}
.submit-btn{
  align-self:flex-start;margin-top:6px;
  background:var(--lime);color:#000;border:0;cursor:pointer;
  font-family:"Jost",sans-serif;font-size:14px;letter-spacing:.04em;font-weight:500;
  padding:11px 34px;border-radius:100px;transition:filter .2s;
}
.submit-btn:hover{filter:brightness(.94)}
.submit-btn:disabled{opacity:.55;cursor:default}
.form-status{font-size:13px;min-height:18px;color:var(--label)}
.form-status.ok{color:#3a7d2c}
.form-status.err{color:#a8323a}

/* ===== footer ===== */
.site-footer{
  background:#2b2b2b url("/images/footer.png") top center / auto 370px no-repeat;
  color:#fff;min-height:555px;padding:370px 24px 0;
  display:flex;flex-direction:column;justify-content:center;
}
.footer-inner{max-width:var(--maxw);margin:0 auto;text-align:center}
.footer-inner p{font-size:12.5px;line-height:1.9;color:rgba(255,255,255,.82)}
.footer-meta{margin-top:14px}
.footer-inner a{border-bottom:1px solid rgba(255,255,255,.4)}
.footer-ci{margin-top:18px;font-size:13px;letter-spacing:.1em;color:#fff;opacity:.7}

/* ===== responsive ===== */
@media (max-width:820px){
  .hero h1{font-size:34px}
  .block{padding:60px 22px}
  .nav{display:none}
  .partner-grid{grid-template-columns:repeat(2,1fr);gap:34px 24px}
  .offices{grid-template-columns:1fr;gap:24px}
  .brand img{height:22px}
}
@media (max-width:480px){
  .hero h1{font-size:27px}
  .label{font-size:20px}
  .charter-grid{gap:34px}
}
