/* Cross Data — Toss-like clean template (original implementation)
   Notes: pure white background, high contrast text, generous spacing, minimal containers. */

:root{
  --bg:#ffffff;
  --text:#0b1220;
  --muted:rgba(11,18,32,.68);
  --muted2:rgba(11,18,32,.52);
  --line:rgba(2,6,23,.10);
  --line2:rgba(2,6,23,.06);
  --shadow: 0 18px 46px rgba(2,6,23,.10);
  --radius:20px;
  --max: 1120px;
  --measure: 66ch;
  --accent:#2563eb;   /* blue accent */
  --accent2:#e11d48;  /* red accent */
}

*{box-sizing:border-box}
html,body{overflow-x:hidden;height:100%}
body{overflow-x:hidden;
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:inherit; text-decoration:none}
.container{max-width:var(--max); margin:0 auto; padding:0 20px}
.measure{max-width:var(--measure)}
.kicker{
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted2);
}
h1,h2,h3{margin:0}
h1{
  font-size:52px;
  line-height:1.1;
  letter-spacing:-.02em;
}
h2{
  font-size:40px;
  line-height:1.18;
  letter-spacing:-.02em;
}
h3{
  font-size:18px;
  line-height:1.35;
  letter-spacing:-.01em;
}
p{
  margin:0;
  font-size:18px;
  line-height:1.8;
  color:var(--muted);
}
.small{font-size:15px; color:var(--muted)}
@media (max-width: 640px){
  h1{font-size:38px}
  h2{font-size:30px}
  p{font-size:16.5px}
}

/* Header */
.header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.86);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--line2);
}
.header-inner{
  height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.brand{
  display:flex; align-items:center; gap:10px;
}
.mark{
  width:30px; height:30px; border-radius:10px;
  background: linear-gradient(135deg, var(--accent), rgba(37,99,235,.55));
  box-shadow: 0 10px 24px rgba(37,99,235,.18);
}
.brand strong{font-size:14.5px}
nav{display:flex; align-items:center; gap:6px; flex-wrap:wrap}
.nav a{
  font-size:14px;
  color:rgba(11,18,32,.72);
  padding:8px 10px;
  border-radius:12px;
}
.nav a:hover{background:rgba(2,6,23,.04); color:rgba(11,18,32,.92)}
.nav a.active{background:rgba(2,6,23,.06); color:rgba(11,18,32,.92)}

.ctas{display:flex; align-items:center; gap:10px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
  font-size:14px;
  color:rgba(11,18,32,.9);
}
.btn:hover{border-color:rgba(2,6,23,.16)}
.btn.primary{
  background: linear-gradient(135deg, var(--accent), rgba(37,99,235,.75));
  border-color: transparent;
  color:#fff;
}
.btn.primary:hover{filter:saturate(1.05) brightness(.99)}

/* Sections */
main{padding: 40px 0 110px}
.section{padding: 92px 0}
.section + .section{border-top:1px solid var(--line2)}
.hero{padding: 72px 0 84px}
.hero-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:44px;
  align-items:center;
}
@media (max-width: 960px){
  .hero-grid{grid-template-columns:1fr; gap:24px}
}
.hero p{margin-top:16px}
.hero-actions{margin-top:24px; display:flex; gap:10px; flex-wrap:wrap}

/* Feature blocks (Toss-like: big headline + image) */
.block{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:40px;
  align-items:center;
  padding: 18px 0;
}
.block.reverse{grid-template-columns: 1fr 1fr}
.block.reverse .copy{order:2}
.block.reverse .media{order:1}
@media (max-width: 960px){
  .block, .block.reverse{grid-template-columns:1fr; gap:18px}
  .block.reverse .copy{order:1}
  .block.reverse .media{order:2}
}
.copy .title{margin-top:10px}
.copy p{margin-top:14px}
.copy .bullets{
  margin-top:18px;
  display:grid;
  gap:10px;
}
.bullet{
  display:flex; gap:10px; align-items:flex-start;
  color:rgba(11,18,32,.84);
}
.dot{
  width:9px; height:9px; border-radius:99px; margin-top:8px;
  background: rgba(37,99,235,.85);
}
.dot.red{background: rgba(225,29,72,.85)}

/* Media frame */
.media{
  border:1px solid var(--line2);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: var(--shadow);
  background: #fff;
}
.media img{display:block; width:100%; height:auto}

/* Stats row */
.stats{
  margin-top:26px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
}
@media (max-width: 960px){ .stats{grid-template-columns:1fr; gap:12px} }
.stat{
  padding:18px 18px;
  border:1px solid var(--line2);
  border-radius: 18px;
  background: #fff;
}
.stat strong{font-size:24px; letter-spacing:-.02em}
.stat p{margin-top:8px; font-size:15.5px; line-height:1.7}

/* Simple list grid */
.cards{
  margin-top:24px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:18px;
}
@media (max-width: 960px){ .cards{grid-template-columns:1fr; gap:12px} }
.card{
  padding:18px 18px;
  border:1px solid var(--line2);
  border-radius: 18px;
  background:#fff;
}
.card .tag{display:inline-flex; padding:6px 10px; border-radius:99px; font-size:12px; border:1px solid var(--line2); color:rgba(11,18,32,.74)}
.card h3{margin-top:10px}
.card p{margin-top:8px; font-size:15.5px; line-height:1.75}

/* Callout */
.callout{
  margin-top:22px;
  padding:18px 18px;
  border:1px dashed rgba(37,99,235,.28);
  border-radius: 18px;
  background: rgba(37,99,235,.04);
}
.callout b{color:rgba(11,18,32,.92)}

/* Footer */
.footer{
  border-top:1px solid var(--line2);
  padding: 40px 0;
}
.footgrid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap:20px;
}
@media (max-width: 960px){ .footgrid{grid-template-columns:1fr; gap:14px} }
.footer a{color:rgba(11,18,32,.72)}
.footer a:hover{color:rgba(11,18,32,.92)}

/* Reveal */
.reveal{opacity:1; transform:none; transition: opacity .7s ease, transform .7s ease}
.js .reveal{opacity:0; transform: translateY(14px)}
.reveal.show{opacity:1; transform:none}

/* Logo */
.brand-logo{
  width:36px;
  height:36px;
  display:block;
}
.brand-logo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}
@media (max-width:640px){
  .brand-logo{width:32px;height:32px}
}



/* ===== Logo-driven visual system ===== */
:root{
  --logo-navy:#0b2a45;
  --logo-blue:#1e6fd9;
  --logo-cyan:#2fc3d6;
  --logo-green:#43d1a5;

  --accent: var(--logo-blue);
  --accent2: var(--logo-cyan);
}

/* Header logo emphasis */
.brand img{
  height:34px;
  width:auto;
}

/* Hero enhancement */
.hero{
  background:
    radial-gradient(800px 400px at 70% 20%, rgba(47,195,214,.18), transparent 60%),
    radial-gradient(900px 500px at 20% 10%, rgba(30,111,217,.16), transparent 65%),
    #ffffff;
}

/* Accent underline using logo gradient */
.copy h3::after,
.hero h1::after{
  content:"";
  display:block;
  width:56px;
  height:6px;
  margin-top:14px;
  border-radius:99px;
  background: linear-gradient(90deg,
    var(--logo-navy),
    var(--logo-blue),
    var(--logo-cyan),
    var(--logo-green)
  );
}

/* Buttons */
.btn.primary{
  background: linear-gradient(135deg,
    var(--logo-blue),
    var(--logo-cyan)
  );
  box-shadow: 0 12px 30px rgba(30,111,217,.28);
}

/* Section dividers inspired by logo curve */
.section{
  position:relative;
}
.section::before{
  content:"";
  position:absolute;
  top:0; left:50%;
  transform:translateX(-50%);
  width:120px;
  height:2px;
  background: linear-gradient(90deg,
    transparent,
    var(--logo-cyan),
    transparent
  );
}

/* Media frames echo logo softness */
.media{
  border-radius:28px;
}

/* Footer gradient hint */
.footer{
  background:
    linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
}

/* ===== Brand header (logo only, no subtitle) ===== */
.brand{
  gap:12px;
}
.brand img{
  height:28px !important;
  width:auto;
  display:block;
}
.brand strong{
  font-size:15px;
  letter-spacing:-.01em;
}
.brand .small{display:none !important;}
/* Optional: compact header height */
.header-inner{height:62px;}



/* ===== Page variation (consistent system) ===== */
body[data-accent="blue"]{ --accent: var(--logo-blue); --accent2: var(--logo-cyan); }
body[data-accent="cyan"]{ --accent: var(--logo-cyan); --accent2: var(--logo-green); }
body[data-accent="green"]{ --accent: var(--logo-green); --accent2: var(--logo-cyan); }
body[data-accent="navy"]{ --accent: var(--logo-navy); --accent2: var(--logo-blue); }
body[data-accent="red"]{ --accent: #e11d48; --accent2: var(--logo-cyan); }

/* Section hero variants */
.hero.variant-a{
  background:
    radial-gradient(900px 520px at 20% 20%, rgba(30,111,217,.16), transparent 65%),
    radial-gradient(900px 520px at 80% 10%, rgba(47,195,214,.16), transparent 60%),
    #fff;
}
.hero.variant-b{
  background:
    radial-gradient(820px 520px at 75% 18%, rgba(67,209,165,.18), transparent 62%),
    radial-gradient(900px 520px at 20% 10%, rgba(47,195,214,.14), transparent 64%),
    #fff;
}
.hero.variant-c{
  background:
    radial-gradient(860px 520px at 70% 16%, rgba(225,29,72,.10), transparent 62%),
    radial-gradient(860px 520px at 20% 10%, rgba(30,111,217,.14), transparent 66%),
    #fff;
}

/* Decorative "flow line" (logo motif) */
.flow{
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent2), transparent);
  margin: 34px 0 0;
}
/* Simple split section (not always image-right) */
.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  align-items:start;
}
@media (max-width:960px){ .split{grid-template-columns:1fr; gap:18px} }

/* Curriculum UI */
.curriculum{
  margin-top: 24px;
  border-top: 1px solid var(--line2);
}
.curr-row{
  display:grid;
  grid-template-columns: 140px 1fr 220px;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line2);
}
@media (max-width:960px){
  .curr-row{grid-template-columns:1fr; gap:10px}
}
.curr-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid var(--line2);
  background: rgba(2,6,23,.02);
  color: rgba(11,18,32,.78);
  width: fit-content;
}
.pill{
  display:inline-flex;
  font-size:12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(37,99,235,.10);
  color: rgba(11,18,32,.86);
  border: 1px solid rgba(37,99,235,.18);
}
.pill.cyan{background: rgba(47,195,214,.10); border-color: rgba(47,195,214,.22);}
.pill.green{background: rgba(67,209,165,.10); border-color: rgba(67,209,165,.22);}
.pill.red{background: rgba(225,29,72,.10); border-color: rgba(225,29,72,.18);}

.curr-title{
  font-weight: 800;
  letter-spacing: -.01em;
  margin: 2px 0 6px;
}
.curr-desc{
  font-size: 15.5px;
  line-height: 1.75;
  color: rgba(11,18,32,.68);
  max-width: var(--measure);
}
.curr-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
.meta-line{
  font-size: 13px;
  color: rgba(11,18,32,.70);
}
/* Accordion */
.acc{
  margin-top: 20px;
  display:grid;
  gap: 12px;
}
.acc details{
  border: 1px solid var(--line2);
  border-radius: 18px;
  padding: 14px 16px;
  background: #fff;
}
.acc summary{
  cursor:pointer;
  list-style:none;
  font-weight: 800;
  letter-spacing: -.01em;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.acc summary::-webkit-details-marker{display:none}
.acc .sum-right{
  display:flex; gap:8px; align-items:center;
}
.chev{
  width: 10px; height: 10px;
  border-right: 2px solid rgba(11,18,32,.55);
  border-bottom: 2px solid rgba(11,18,32,.55);
  transform: rotate(45deg);
  transition: transform .2s ease;
}
details[open] .chev{ transform: rotate(-135deg); }
.acc .content{ margin-top: 10px; }
.acc ul{
  margin: 10px 0 0 18px;
  color: rgba(11,18,32,.74);
  line-height: 1.75;
  font-size: 15.5px;
}



/* ===== v2: More variety while consistent ===== */

/* Section "banner quote" */
.quote{
  margin-top: 26px;
  border: 1px solid var(--line2);
  border-radius: 22px;
  padding: 18px 18px;
  background: linear-gradient(180deg, rgba(47,195,214,.06), rgba(255,255,255,1));
}
.quote b{font-weight:900}
.quote .by{margin-top:10px; font-size:13.5px; color: rgba(11,18,32,.64)}

/* Compact two-column feature list */
.twocol{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 22px;
}
@media (max-width:960px){ .twocol{grid-template-columns:1fr; gap:12px} }
.item{
  padding: 16px 16px;
  border: 1px solid var(--line2);
  border-radius: 18px;
  background:#fff;
}
.item h3{margin:0; font-size:16px}
.item p{margin-top:8px; font-size:15.5px; line-height:1.75}

/* FAQ categories */
.faq-bar{
  margin-top: 18px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.faq-btn{
  border:1px solid var(--line2);
  background:#fff;
  border-radius:999px;
  padding: 8px 12px;
  font-size:13px;
  color: rgba(11,18,32,.74);
  cursor:pointer;
}
.faq-btn.active{
  background: rgba(37,99,235,.08);
  border-color: rgba(37,99,235,.18);
  color: rgba(11,18,32,.92);
}
.faq-search{
  margin-top: 14px;
  display:flex;
  gap:10px;
  align-items:center;
}
.faq-search input{
  width:100%;
  padding: 12px 12px;
  border-radius: 14px;
  border:1px solid rgba(2,6,23,.12);
}
.faq-hint{
  font-size:13px;
  color: rgba(11,18,32,.62);
}

/* Gallery strip for campus */
.gallery{
  margin-top: 22px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width:960px){ .gallery{grid-template-columns:1fr; gap:12px} }
.g{
  border:1px solid var(--line2);
  border-radius: 22px;
  overflow:hidden;
  background:#fff;
  box-shadow: 0 16px 40px rgba(2,6,23,.08);
}
.g img{width:100%; height:auto; display:block}

/* Slightly different media feel on process page */
body[data-accent="blue"] .media{ box-shadow: 0 18px 50px rgba(30,111,217,.10); }
body[data-accent="green"] .media{ box-shadow: 0 18px 50px rgba(67,209,165,.10); }
body[data-accent="red"] .media{ box-shadow: 0 18px 50px rgba(225,29,72,.08); }

/* ===== Header brand: logo only ===== */
.brand{
  gap:0;
}
.brand img{
  height:30px;
}

/* ===== Header: compact height, big logo ===== */
.header{overflow:visible}
.header-inner{
  height:72px;
  padding-top:8px;
  padding-bottom:8px;
}
.brand-large img{
  height:88px;
  width:auto;
}
@media (max-width: 768px){
  .brand-large img{height:64px}
  .header-inner{height:64px}
}

/* ===== Partners marquee ===== */
.partners{padding:72px 0}
.partners .head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.partners .head h2{margin:0}
.partners .head p{margin:0;color:var(--muted);max-width:56ch}
.marquee{
  margin-top:22px;
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(0,0,0,.06);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.marquee::before,.marquee::after{
  content:"";
  position:absolute;top:0;bottom:0;width:64px;z-index:2;
  pointer-events:none;
}
.marquee::before{left:0;background:linear-gradient(90deg,#fff 0%, rgba(255,255,255,0) 100%);}
.marquee::after{right:0;background:linear-gradient(270deg,#fff 0%, rgba(255,255,255,0) 100%);}

.marquee-track{
  display:flex;
  align-items:center;
  gap:28px;
  padding:18px 0;
  width:max-content;
  animation: marqueeLeft 28s linear infinite;
}
.marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes marqueeLeft{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
.partner-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  height:52px;
  min-width:140px;
  padding:10px 16px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 8px 20px rgba(0,0,0,.04);
}
.partner-logo img{
  height:28px;
  width:auto;
  display:block;
  filter:saturate(0.9);
  opacity:.92;
}
@media (max-width: 768px){
  .partners{padding:56px 0}
  .marquee-track{gap:18px;animation-duration:22s}
  .partner-logo{min-width:120px;height:48px}
  .partner-logo img{height:24px}
}
@media (prefers-reduced-motion: reduce){
  .marquee-track{animation:none}
}


/* ===== Mobile header menu ===== */
.menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  color:rgba(11,18,32,.9);
  cursor:pointer;
}
.menu-toggle svg{width:20px;height:20px}
.menu-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.28);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
  z-index:80;
}
.menu-overlay.open{opacity:1; pointer-events:auto;}
.mobile-menu{
  position:fixed;
  left:12px; right:12px;
  top:72px;
  background:#fff;
  border:1px solid var(--line2);
  border-radius:18px;
  box-shadow:0 24px 60px rgba(2,6,23,.16);
  padding:14px;
  z-index:90;
  display:none;
}
.mobile-menu.open{display:block;}
.mobile-menu .mnav{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.mobile-menu .mnav a{
  padding:12px 12px;
  border-radius:14px;
  font-size:15px;
  color:rgba(11,18,32,.88);
  background:rgba(2,6,23,.02);
  border:1px solid rgba(2,6,23,.06);
}
.mobile-menu .mnav a:hover{background:rgba(2,6,23,.04);}
.mobile-menu .mcta{display:flex;gap:10px;margin-top:12px}
.mobile-menu .mcta .btn{flex:1; justify-content:center}
html.menu-open{overflow:hidden;}

@media (max-width: 920px){
  .header-inner{height:60px}
  .nav{display:none !important;}
  .ctas{display:none !important;}
  .menu-toggle{display:inline-flex;}
  .brand img{height:44px;} /* keep logo readable */
}
@media (max-width: 420px){
  .brand img{height:40px;}
  .mobile-menu{top:56px}
}


/* ===== Samyang-inspired header (original implementation) ===== */
.site-header{
  position:sticky; top:0; z-index: 9999; /* keep header clickable above hero */
  background:#fff;
  border-bottom:1px solid rgba(15,23,42,.08);
  backdrop-filter:saturate(1.2) blur(6px);
}
.header-inner{
  /* revert to compact header height */
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.brand{display:flex; align-items:center; gap:10px; min-width:120px;}
.brand-logo{
  /* Make logo ~1.5x the menu text size (gnb a = 15px) */
  height:34px;
  width:auto;
  display:block;
  object-fit:contain;
}

.gnb{
  display:flex;
  align-items:center;
  gap:22px;
  flex:1;
  justify-content:center;
}
.gnb a{
  color:var(--ink);
  font-weight:600;
  font-size:15px;
  padding:10px 6px;
  border-radius:10px;
}
.gnb a:hover{background:rgba(2,132,199,.06);}

.header-actions{display:flex; align-items:center; gap:14px;}
.action-link{
  font-weight:700; color:var(--ink);
  padding:10px 12px; border-radius:12px;
  border:1px solid rgba(15,23,42,.10);
}
.action-link:hover{background:rgba(2,132,199,.06);}

.lang{position:relative;}
.lang-btn{
  font-weight:700;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  cursor:pointer;
}
.lang-btn .chev{opacity:.7; margin-left:6px;}
.lang-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:120px;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  border-radius:14px;
  padding:8px;
  box-shadow:0 18px 50px rgba(2,6,23,.10);
  display:none;
}
.lang-menu a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  color:var(--ink);
  font-weight:650;
  font-size:14px;
}
.lang-menu a:hover{background:rgba(2,132,199,.06);}
.lang-menu.is-open{display:block;}

.hamburger{
  width:44px; height:44px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  display:none;
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
  padding:10px;
}
.hamburger span{
  display:block;
  width:18px; height:2px;
  background:var(--ink);
  border-radius:2px;
}

@media (max-width: 980px){
  .gnb{display:none;}
  .hamburger{display:flex;}
  .brand-logo{height:32px;}
}

/* Mobile drawer */
.m-overlay{
  /* must sit above sticky header */
  position:fixed; inset:0; z-index:10000;
  background:rgba(2,6,23,.45);
}
.m-drawer{
  position:fixed; top:var(--header-offset, 0px); right:0; height:calc(100vh - var(--header-offset, 0px)); width:min(92vw, 420px);
  /* must sit above overlay + sticky header */
  z-index:10001;
  background:#fff;
  box-shadow:-28px 0 80px rgba(2,6,23,.20);
  display:flex; flex-direction:column;
  padding:18px 18px 22px;
}
.m-top{
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 2px 14px;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.m-close{
  width:44px; height:44px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  cursor:pointer;
  font-size:18px;
}
.m-nav{
  display:flex; flex-direction:column;
  padding:14px 2px 0;
  gap:6px;
}
.m-nav a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 12px;
  border-radius:14px;
  color:var(--ink);
  font-weight:750;
  font-size:16px;
}
.m-nav a:hover{background:rgba(2,132,199,.06);}
.m-cta{
  margin-top:10px;
  background:linear-gradient(135deg, rgba(2,132,199,.12), rgba(16,185,129,.10));
  border:1px solid rgba(2,132,199,.18);
}
.badge{
  font-size:12px; font-weight:800;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  color:rgba(15,23,42,.75);
}
.m-foot{margin-top:auto; padding-top:18px;}
.m-meta{
  border-top:1px solid rgba(15,23,42,.08);
  padding-top:16px;
}
.m-meta-title{
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:800;
  margin-bottom:10px;
}
.m-meta-links{display:flex; flex-wrap:wrap; gap:10px;}
.m-meta-links a{
  font-size:13px; font-weight:700;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
}

/* Main hero media (image or video) */
.hero-media{
  margin-top:18px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 60px rgba(2,6,23,.10);
  background:#fff;
}
.hero-media video,
.hero-media img{
  width:100%;
  height:auto;
  display:block;
}
.hero-media .media-caption{
  padding:12px 14px;
  color:var(--muted);
  font-size:13px;
  border-top:1px solid rgba(15,23,42,.08);
}

/* Simplify main page: keep lots of whitespace */
.section.tight{padding-top:40px; padding-bottom:40px;}

/* ===== Fix: header logo + mobile drawer stability ===== */
.brand-logo{max-width:960px; object-fit:contain;}
/* Ensure overlay/drawer are never visible on desktop */
@media (min-width: 981px){
  .m-overlay, .m-drawer{display:none !important;}
}

/* Off-canvas behavior (overrides) */
.m-overlay{
  opacity:0;
  transition:opacity .22s ease;
  pointer-events:none;
}
.m-overlay.is-on{
  opacity:1;
  pointer-events:auto;
}
.m-drawer{
  transform:translateX(100%);
  transition:transform .26s ease;
  will-change:transform;
}
.m-drawer.is-on{
  transform:translateX(0);
}
/* If hidden attribute is present, keep it hidden regardless */
.m-drawer[hidden], .m-overlay[hidden]{display:none !important;}

/* ===== Home main visual (Samyang-inspired, original) ===== */
.home-hero{
  position:relative;
  width:100%;
  background:#0b1220;
  color:#fff;
  overflow:hidden;
}
.hero-track{position:relative;}
.hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .5s ease;
  pointer-events:none;
}
.hero-slide.is-active{
  position:relative;
  opacity:1;
  pointer-events:auto;
}
.hero-media-wrap{
  position:relative;
  width:100%;
  height:min(78vh, 720px);
  background:#0b1220;
}
.hero-media{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.05) contrast(1.05);
}
.hero-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  background:linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.55) 70%, rgba(0,0,0,.65) 100%);
}
.hero-overlay .container{
  /* Keep copy left-aligned and vertically centered like Samyang */
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding-bottom:0;
  padding-left: clamp(28px, 6vw, 120px);
  padding-right: 16px;
}
.hero-kicker{
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.85;
  font-size:12px;
}
.hero-title{
  margin-top:12px;
  font-weight:900;
  font-size:52px;
  line-height:1.06;
  letter-spacing:-.03em;
}
.hero-desc{
  margin-top:14px;
  max-width:54ch;
  opacity:.92;
  font-size:18px;
  line-height:1.6;
}
.hero-copy{max-width: 760px;}
.hero-cta{margin-top:18px;}

.hero-controls{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(8px);
}
.hero-btn{
  width:36px; height:36px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  color:#fff;
  cursor:pointer;
  font-size:18px;
  display:flex; align-items:center; justify-content:center;
}
.hero-btn:hover{background:rgba(255,255,255,.12);}
.hero-dots{display:flex; gap:8px; align-items:center;}
.dot{
  width:8px; height:8px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.35);
  cursor:pointer;
}
.dot.is-on{background:#fff; width:22px;}
.scroll-cue{
  position:absolute;
  left:24px;
  bottom:24px;
  display:flex;
  align-items:center;
  gap:10px;
  opacity:.75;
}
.scroll-cue .mouse{
  width:18px; height:28px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.55);
  position:relative;
}
.scroll-cue .mouse:after{
  content:"";
  width:3px; height:6px;
  background:#fff;
  border-radius:2px;
  position:absolute; left:50%; top:7px;
  transform:translateX(-50%);
  animation:scrollDot 1.2s infinite;
}
@keyframes scrollDot{
  0%{opacity:.2; transform:translate(-50%, 0);}
  40%{opacity:1;}
  100%{opacity:.2; transform:translate(-50%, 10px);}
}
.scroll-cue .text{font-size:12px; letter-spacing:.14em; text-transform:uppercase;}

@media (max-width: 980px){
  .hero-media-wrap{height:min(72vh, 640px);}
  .hero-title{font-size:38px;}
  .hero-desc{font-size:16px;}
  .hero-overlay .container{padding-bottom:56px;}
  .scroll-cue{display:none;}
}
@media (max-width: 520px){
  .hero-title{font-size:30px;}
  .hero-controls{bottom:14px;}
}

/* ===== Home bands ===== */
.home-band{padding:72px 0; background:#fff;}
.band-grid{display:grid;grid-template-columns:1fr minmax(560px,760px);gap:28px;align-items:start;}
.band-cards{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:16px;align-items:stretch;}
.band-card{
  display:block;
  padding:18px 16px 16px;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  box-shadow:0 10px 30px rgba(2,6,23,.06);
min-height:140px;display:flex;flex-direction:column;justify-content:flex-start;}
.band-card:hover{transform:translateY(-2px);}
.band-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
}
.tag{
  font-size:12px;
  font-weight:900;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(2,132,199,.10);
  color:rgba(2,132,199,.95);
}
.arrow{opacity:.7; font-weight:900;}
.band-card h3{margin:8px 0 8px; font-size:18px; letter-spacing:-.02em;}
.band-card p{color:var(--muted); margin:0; line-height:1.6;}

.home-split{padding:72px 0; background:#f8fafc;}
.split{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
  align-items:center;
}
.split-media img{
  width:100%;
  height:auto;
  display:block;
  border-radius:22px;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 60px rgba(2,6,23,.10);
  background:#fff;
}

.home-partners{padding:72px 0; background:#fff;}
.partners-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.partner-tile{
  height:56px;
  width:180px;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
}
.partner-tile img{max-height:34px; width:auto; display:block; opacity:.9;}

.home-cta{padding:72px 0; background:#0b1220;}
.home-cta .cta-box{
  background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  padding:26px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:#fff;
}
.home-cta .cta-box h2{margin:0; font-size:26px;}
.home-cta .cta-box .measure{opacity:1; color:rgba(255,255,255,.95); margin-top:10px; max-width:60ch;}
.home-cta .cta-actions{display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end;}
.home-cta .btn{border-color:rgba(255,255,255,.22);}
.home-cta .btn:hover{background:rgba(255,255,255,.10);}

@media (max-width: 980px){
  .band-grid{grid-template-columns:1fr; gap:18px;}
  .band-cards{grid-template-columns:1fr; gap:12px;}
  .split{grid-template-columns:1fr; gap:18px;}
  .partners-head{flex-direction:column; align-items:flex-start;}
  .home-cta .cta-box{flex-direction:column; align-items:flex-start;}
  .home-cta .cta-actions{width:100%; justify-content:flex-start;}
}

/* ===== Nav badge (e.g., 준비중) ===== */
.gnb a[data-badge]{position:relative;}
.gnb a[data-badge]:hover::after{
  content: attr(data-badge);
  position:absolute;
  top:100%;
  left:50%;
  transform:translate(-50%, 10px);
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:rgba(15,23,42,.92);
  background:#fff;
  border:1px solid rgba(15,23,42,.12);
  box-shadow:0 10px 30px rgba(2,6,23,.10);
  white-space:nowrap;
  z-index:50;
}
.m-nav a[data-badge]{position:relative;}
.m-nav a[data-badge] .badge{
  margin-left:10px;
  display:inline-flex;
  align-items:center;
  padding:4px 9px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  background:rgba(2,132,199,.10);
  color:rgba(2,132,199,.95);
  border:1px solid rgba(2,132,199,.18);
}


/* =========================
   REMOVE SECTION TOP LINES
   ========================= */
.section::before,
.section::after,
.home-band::before,
.home-split::before,
.home-partners::before,
.home-cta::before,
.kicker::before,
.divider,
.section-divider,
.accent-line {
  display: none !important;
  content: none !important;
}

/* hard disable any top borders/gradients */
section, .section { border-top: none !important; background-image: none !important; }

.page-hero{
  position:relative;
  height:320px;
  overflow:hidden;
}
.page-hero img{
  width:100%;height:100%;object-fit:cover;
}
.page-hero .overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.55));
}



/* ===== Remove any section top rule / hairline ===== */
.section,
.home-band,
.home-split,
.home-partners,
.home-cta {
  border-top: none !important;
  background-image: none !important;
}



/* ===== Language button: remove caret/arrow ===== */
.lang-btn::after,
.lang-toggle::after,
.lang-switch::after,
.header-lang::after {
  display:none !important;
  content:none !important;
}
.lang-btn .caret,
.lang-toggle .caret,
.lang-switch .caret,
.header-lang .caret,
.lang-btn svg,
.lang-toggle svg,
.lang-switch svg,
.header-lang svg {
  display:none !important;
}



/* ===== Subpage hero banner ===== */
.page-hero{
  position:relative;
  padding:72px 0 44px;
  background:#0b1220;
  color:#fff;
  overflow:hidden;
}
.page-hero .hero-bg{
  position:absolute;
  inset:0;
  background:#0b1220;
}
.page-hero .hero-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity:.92;
  filter:saturate(1.02) contrast(1.06);
}
.page-hero .hero-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.45) 55%, rgba(0,0,0,.25) 100%);
}
.page-hero .container{
  position:relative;
  z-index:2;
}
.page-hero .kicker{color:rgba(255,255,255,.82);}
.page-hero h1{margin-top:10px;}
.page-hero .measure{color:rgba(255,255,255,.86); max-width:62ch;}
@media (max-width: 980px){
  .page-hero{padding:58px 0 38px;}
  .page-hero .hero-bg::after{background:linear-gradient(180deg, rgba(0,0,0,.70) 0%, rgba(0,0,0,.40) 70%, rgba(0,0,0,.25) 100%);}
}



/* ===== Entertainment nav: show '준비중' on hover ===== */
.nav a[data-i18n="nav.entertainment"]{
  position:relative;
}
.nav a[data-i18n="nav.entertainment"]::after{
  content:"준비중";
  position:absolute;
  top:-10px;
  right:-32px;
  font-size:11px;
  font-weight:800;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(2,6,23,.06);
  color:rgba(2,6,23,.75);
  border:1px solid rgba(2,6,23,.10);
  opacity:0;
  transform:translateY(-2px);
  transition:.18s ease;
  pointer-events:none;
}
.nav a[data-i18n="nav.entertainment"]:hover::after{
  opacity:1;
  transform:translateY(0);
}
@media (max-width: 980px){
  .nav a[data-i18n="nav.entertainment"]::after{display:none;}
}



/* ===== Partners section layout fix ===== */
.partners-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.partners-head .partners-text{
  max-width: 740px;
}
.partners-head .btn{
  margin-left:auto;
}
.partners-marquee{
  margin-top:22px;
}
.partners-marquee .marquee{
  width:100%;
  overflow:hidden;
}
.partners-marquee .marquee-track{
  display:flex;
  gap:16px;
  width:max-content;
}



/* ===== Education page (KISA-like sections) ===== */
.section-head{margin-bottom:26px;}
.section-head .kicker{letter-spacing:.12em;text-transform:uppercase;font-weight:900;font-size:12px;color:rgba(2,6,23,.55);margin:0 0 10px;}
.section-head h2{font-size:32px;line-height:1.2;margin:0 0 10px;}
.section-head .measure{max-width:60ch;}

.course-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
}
.course-card{
  grid-column: span 6;
  display:block;
  padding:18px 18px 16px;
  border:1px solid rgba(2,6,23,.10);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 30px rgba(2,6,23,.06);
  text-decoration:none;
  color:inherit;
}
.course-card:hover{transform:translateY(-2px); box-shadow:0 16px 40px rgba(2,6,23,.08);}
.course-card .tag{
  display:inline-flex;
  align-items:center;
  height:26px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(16,185,129,.10);
  color:rgba(2,6,23,.75);
  border:1px solid rgba(16,185,129,.22);
  font-weight:900;
  font-size:12px;
  margin-bottom:10px;
}
.course-card h3{margin:0 0 8px; font-size:18px;}
.course-card .bullets{margin:12px 0 0; padding-left:18px; color:rgba(2,6,23,.72);}
.course-card .bullets li{margin:6px 0;}

.section.soft{background:rgba(2,6,23,.03);}

.recommend-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
}
.rec-card{
  grid-column: span 4;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(2,6,23,.10);
  background:#fff;
  box-shadow:0 12px 30px rgba(2,6,23,.06);
}
.rec-card img{width:100%; height:180px; object-fit:cover; display:block;}
.rec-body{overflow-x:hidden;padding:14px 16px 16px;}
.rec-body .pill{
  display:inline-flex; align-items:center; height:26px; padding:0 10px;
  border-radius:999px; background:rgba(59,130,246,.10); border:1px solid rgba(59,130,246,.20);
  font-weight:900; font-size:12px; color:rgba(2,6,23,.78); margin-bottom:10px;
}
.rec-body h3{margin:0 0 8px; font-size:18px;}

.process{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:14px;
  list-style:none;
  padding:0;
  margin:18px 0 0;
}
.process li{
  grid-column: span 3;
  display:flex; gap:12px;
  padding:16px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(2,6,23,.10);
}
.process .num{
  width:34px;height:34px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;
  background:rgba(2,6,23,.06);
  color:rgba(2,6,23,.75);
}
.process h3{margin:0 0 6px; font-size:16px;}
.process p{margin:0;}

.cta-box{
  margin-top:24px;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(2,6,23,.10);
  background:linear-gradient(135deg, rgba(59,130,246,.10), rgba(16,185,129,.10));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

@media (max-width: 980px){
  .course-card{grid-column: span 12;}
  .rec-card{grid-column: span 12;}
  .process li{grid-column: span 6;}
}
@media (max-width: 560px){
  .process li{grid-column: span 12;}
  .section-head h2{font-size:26px;}
}

/* ===== Dynamic colorful cards (finance/services) ===== */
.color-cycle{
  position:relative;
  overflow:hidden;
}
.color-cycle::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:linear-gradient(120deg, rgba(59,130,246,.18), rgba(16,185,129,.18), rgba(99,102,241,.18));
  filter:saturate(1.2);
  opacity:.9;
  transform:translate3d(0,0,0);
  animation:cdHue 10s linear infinite;
}
.color-cycle > *{position:relative;}
@keyframes cdHue{
  0%{filter:hue-rotate(0deg) saturate(1.15);}
  50%{filter:hue-rotate(40deg) saturate(1.25);}
  100%{filter:hue-rotate(0deg) saturate(1.15);}
}
.color-cycle[data-cycle="2"]::before{animation-duration:12s; opacity:.85;}
.color-cycle[data-cycle="3"]::before{animation-duration:14s; opacity:.80;}
.color-cycle[data-cycle="4"]::before{animation-duration:16s; opacity:.75;}



/* =========================
   Refined accents (no loud cycling)
   ========================= */
.color-cycle,
.color-cycle *{
  animation:none !important;
  filter:none !important;
}
/* Subtle theme accents */
.card.theme-a{ --accent1:#0ea5e9; --accent2:#22c55e; }
.card.theme-b{ --accent1:#2563eb; --accent2:#06b6d4; }
.card.theme-c{ --accent1:#14b8a6; --accent2:#6366f1; }
.card.theme-d{ --accent1:#0ea5e9; --accent2:#6366f1; }

.card.theme-a,
.card.theme-b,
.card.theme-c,
.card.theme-d{
  position:relative;
  border:1px solid rgba(2,6,23,.08);
  background:#fff;
}
.card.theme-a::before,
.card.theme-b::before,
.card.theme-c::before,
.card.theme-d::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:4px;
  border-radius:14px 14px 0 0;
  background:linear-gradient(90deg, var(--accent1), var(--accent2));
  opacity:.9;
}
.card.theme-a:hover,
.card.theme-b:hover,
.card.theme-c:hover,
.card.theme-d:hover{
  box-shadow: 0 18px 44px rgba(2,6,23,.10);
  transform: translateY(-2px);
  transition: .18s ease;
}
.badge-accent{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:12px;
  background:rgba(2,6,23,.04);
  border:1px solid rgba(2,6,23,.08);
}
.badge-accent .dot{
  width:8px; height:8px; border-radius:999px;
  background:linear-gradient(90deg, var(--accent1), var(--accent2));
}



/* Entertainment nav tooltip uses data-coming */
.nav a[data-i18n="nav.entertainment"]::after{
  content: attr(data-coming);
}



/* Logo grid */
.logo-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.logo-item{
  border:1px solid rgba(2,6,23,.08);
  border-radius:16px;
  background:#fff;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:96px;
}
.logo-item img{
  max-width:100%;
  max-height:64px;
  object-fit:contain;
}
@media (max-width: 980px){
  .logo-grid{grid-template-columns: repeat(2, minmax(0,1fr));}
}



/* Home partners layout fix */
#partners .partners-top{display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px;}
#partners .partners-bottom{margin-top:10px;}
@media (max-width:980px){
  #partners .partners-top{flex-direction:column; align-items:flex-start;}
}



/* Fix accent bar overflow */
.card.theme-a,
.card.theme-b,
.card.theme-c,
.card.theme-d{
  overflow:hidden;
}
.card.theme-a::before,
.card.theme-b::before,
.card.theme-c::before,
.card.theme-d::before{
  left:0;
  right:0;
  top:0;
  border-radius:inherit;
}



/* Partner logo inside card */
.partner-logo{
  width:120px;
  height:auto;
  margin:10px 0 2px;
  object-fit:contain;
}
@media (max-width: 720px){
  .partner-logo{width:104px;}
}

.reveal.is-in{opacity:1; transform:none}

/* Hero overlay: left + vertical center */
.home-hero .hero-overlay{ align-items:center; }
.home-hero .hero-overlay .container{
  padding-bottom:0 !important;
  /* override global container centering to align hero copy to the left */
  margin-left:0 !important;
  margin-right:auto !important;
  max-width: none !important;
  padding-left: clamp(20px, 4vw, 56px);
  padding-right: clamp(20px, 4vw, 56px);
}


html, body{overflow-x:hidden; overflow-x: hidden; }


/* HERO media toggle */
.hero-slide[data-media="video"] .hero-media-img{ display:none; }
.hero-slide[data-media="image"] .hero-media-video{ display:none; }

/* Partners header: avoid excessive blank space */
.partners .head{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.partners .head .measure{max-width:72ch}

.marquee-track{flex-wrap:nowrap}
.partner-logo{flex:0 0 auto}
.partner-logo img{display:block; max-height:34px; width:auto}


/* ===== Samyang-like section rhythm (taller, breathable) ===== */
:root{
  --section-pad-desktop: 120px;
  --section-pad-tablet: 92px;
  --section-pad-mobile: 72px;
}

/* Global content sections */
.section{
  padding: var(--section-pad-desktop) 0;
}
@media (max-width: 1024px){
  .section{ padding: var(--section-pad-tablet) 0; }
}
@media (max-width: 640px){
  .section{ padding: var(--section-pad-mobile) 0; }
}

/* Home main sections */
.home-hero{
  min-height: calc(100vh - 72px); /* keep header height */
  display:flex;
  align-items:center;
  padding: 0; /* hero manages its own inner spacing */
}
.home-hero .container{
  padding-top: 90px;
  padding-bottom: 90px;
}
@media (max-width: 1024px){
  .home-hero{ min-height: calc(86vh - 72px); }
  .home-hero .container{ padding-top: 72px; padding-bottom: 72px; }
}
@media (max-width: 640px){
  .home-hero{ min-height: calc(78vh - 64px); }
  .home-hero .container{ padding-top: 56px; padding-bottom: 56px; }
}

.home-band,
.home-split,
.home-cta,
.partners-marquee{
  padding: var(--section-pad-desktop) 0;
}
@media (max-width: 1024px){
  .home-band,
  .home-split,
  .home-cta,
  .partners-marquee{ padding: var(--section-pad-tablet) 0; }
}
@media (max-width: 640px){
  .home-band,
  .home-split,
  .home-cta,
  .partners-marquee{ padding: var(--section-pad-mobile) 0; }
}

/* Keep home band/split content narrower for readability */
.home-band .container,
.home-split .container,
.home-cta .container,
.partners-marquee .container{
  max-width: 1120px;
}

/* Small tweak: avoid accidental extra spacing in headings */
.section h2, .home-band h2, .home-split h2, .home-cta h2{
  scroll-margin-top: 96px;
}

.lang-menu{display:none;}
.lang-menu.open{display:block;}


/* Added: richer Finance/Services sections */
.step-list{list-style:none; padding:0; margin:28px 0 0; display:grid; gap:14px;}
.step{display:flex; gap:14px; padding:16px 18px; border:1px solid #e9edf3; border-radius:16px; background:#fff;}
.step-num{flex:0 0 auto; width:44px; height:44px; border-radius:14px; display:grid; place-items:center; font-weight:700; color:#0b1220; background:linear-gradient(135deg, rgba(0,184,184,.18), rgba(0,110,255,.14));}
.step-title{font-weight:700; margin-bottom:6px;}
.step-desc{color:#5b6475; line-height:1.6;}
.faq{margin-top:18px; display:grid; gap:12px;}
.faq-item{border:1px solid #e9edf3; border-radius:16px; padding:12px 16px; background:#fff;}
.faq-item summary{cursor:pointer; font-weight:650; list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-body{padding-top:10px; color:#5b6475; line-height:1.7;}
.grid-3{display:grid; gap:14px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:22px;}
.mini-card{border:1px solid #e9edf3; border-radius:18px; padding:18px; background:#fff;}
.mini-title{font-weight:750; margin-bottom:10px;}
.mini-list{margin:0; padding-left:18px; color:#5b6475; line-height:1.75;}
@media (max-width: 960px){.grid-3{grid-template-columns:1fr;}}


.home-hero .hero-overlay{padding-top:0;}

.home-hero .hero-overlay{padding-top:0;}


/* === v22 overrides: hero full-bleed + robust slider + partners sizing === */
.hero-stage{position:relative; overflow:hidden; height:100%;}
.hero-track{display:flex; width:100%; height:100%; transform:translate3d(0,0,0); transition:transform .7s cubic-bezier(.2,.8,.2,1); will-change:transform;}
.hero-slide{position:relative; flex:0 0 100%; width:100%; height:100%; opacity:1; pointer-events:auto;}
/* remove stacked-slide behavior from older rules */
.hero-slide{inset:auto;}
.hero-media{position:absolute; inset:0; margin:0; border:0; border-radius:0; box-shadow:none;}
.hero-media .hero-media-el{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.hero-media-wrap{position:absolute; inset:0; padding-top:0; margin:0; border-radius:0; overflow:hidden;}
.hero-overlay{position:relative; z-index:2;}
.home-hero{min-height:calc(100vh - 84px);} /* header height approx */
@media (max-width: 920px){
  .home-hero{min-height:calc(92vh - 72px);}
  .hero-overlay .container{padding-top:96px;}
}
.hero-controls{pointer-events:none;}
.hero-controls button, .hero-controls .hero-dot{pointer-events:auto;}

/* Partners marquee smaller + single line */
#partners-marquee{padding:36px 0 44px;}
#partners-marquee .partners-head{margin-bottom:14px;}

#partners-marquee .marquee-track{gap:22px; white-space:nowrap;}
#partners-marquee .partner-logo{height:34px; width:auto;}

/* Home band responsive */
@media (max-width: 980px){
  .band-grid{grid-template-columns:1fr; gap:18px;}
  .band-cards{grid-template-columns:1fr; max-width:720px;}
}


/* v22: business cards more stable */
.band-cards{display:flex; flex-wrap:wrap; gap:16px; max-width:840px;}
.band-card{flex:1 1 240px; min-width:240px;}
@media (max-width: 820px){
  .band-cards{max-width:100%;}
  .band-card{min-width:0;}
}


/* v22 footer layout */
.footer-inner{padding:48px 0 28px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:28px; align-items:start;}
.footer-logo{height:22px; width:auto; margin-right:10px; vertical-align:middle;}
.footer-brand .brand{display:flex; align-items:center; gap:10px; margin-bottom:10px;}
.footer-links, .footer-contact{list-style:none; padding:0; margin:12px 0 0;}
.footer-links li, .footer-contact li{margin:8px 0; color:var(--muted);}
.footer-links a{color:inherit; text-decoration:none;}
.footer-links a:hover{text-decoration:underline;}
.footer-quick .quick{display:flex; flex-wrap:wrap; gap:10px; margin-top:12px;}
.footer-quick .pill{display:inline-flex; align-items:center; padding:10px 14px; border:1px solid var(--line); border-radius:999px; text-decoration:none; color:inherit; background:#fff;}
.footer-quick .pill.primary{background:var(--brand); color:#fff; border-color:transparent;}
.footer-bottom{margin-top:26px; padding-top:16px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; color:var(--muted);}
@media (max-width: 980px){
  .footer-grid{grid-template-columns:1fr 1fr; gap:20px;}
}
@media (max-width: 640px){
  .footer-grid{grid-template-columns:1fr; }
}

/* ===== Partner marquee sizing (tuned) ===== */
#partners-marquee{padding: 28px 0 !important;}
#partners-marquee .marquee{padding: 12px 0 !important;}
#partners-marquee .marquee-item{height:52px; padding:10px 18px;}
#partners-marquee .marquee-item img{max-height:30px;}

/* Ensure hero slide visibility toggles */
.hero-slide{display:none}
.hero-slide.is-active{display:block}

/* Extra spacing below partners marquee */
#partners-marquee{margin-bottom:64px}


/* ===== Home header/hero seam fix ===== */
.header{border-bottom:none;}
.home-hero{margin-top:-1px;} /* cover any 1px seam */

/* ===== Partners spacing (more breathing room) ===== */
#partners-marquee{margin-bottom:88px;}

/* ===== Per-page hero image support ===== */
.page-hero[data-hero-img]{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.page-hero[data-hero-img]::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 55%, rgba(0,0,0,.12) 100%);
  pointer-events:none;
}
.page-hero > .container{position:relative; z-index:1;}


/* =========================================================
   v29 Visual polish (more premium, softer, more consistent)
   - Pretendard typography (loaded via CDN in <head>)
   - Softer background + subtle grain
   - Better hover/focus states and motion
   ========================================================= */
:root{
  --bg: #f7f9fc;
  --surface: rgba(255,255,255,.82);
  --surface2: rgba(255,255,255,.92);
  --ink: #0b1220;
  --ring: rgba(30,111,217,.28);
  --shadow-sm: 0 10px 28px rgba(2,6,23,.08);
  --shadow-md: 0 18px 60px rgba(2,6,23,.12);
}

body{
  font-family: Pretendard, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  background:
    radial-gradient(1200px 520px at 14% 0%, rgba(30,111,217,.10), transparent 58%),
    radial-gradient(900px 520px at 90% 10%, rgba(47,195,214,.10), transparent 62%),
    radial-gradient(900px 600px at 50% 110%, rgba(67,209,165,.08), transparent 60%),
    var(--bg);
  color: var(--ink);
}

/* Subtle grain (very light) */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.06;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E");
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto !important; transition:none !important; animation:none !important;}
}

/* Links/buttons: better focus */
a, button{transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, opacity .18s ease;}
:focus-visible{outline:none; box-shadow: 0 0 0 4px var(--ring); border-radius:14px;}

/* Header: glass + shadow on scroll */
.site-header{
  background: rgba(255,255,255,.72);
  backdrop-filter: saturate(180%) blur(12px);
}
.site-header.is-scrolled{box-shadow: 0 10px 28px rgba(2,6,23,.08);}

/* Nav: active indicator (works if .active class exists) */
.gnb a{
  position:relative;
}
.gnb a::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:6px;
  height:2px;
  border-radius:999px;
  background: linear-gradient(90deg, var(--logo-blue), var(--logo-cyan));
  transform: scaleX(0);
  transform-origin:left;
  transition: transform .18s ease;
  opacity:.9;
}
.gnb a:hover::after{transform:scaleX(.7);}
.gnb a.active::after{transform:scaleX(1);}

/* Buttons: softer, more premium */
.btn{
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 6px 18px rgba(2,6,23,.06);
}
.btn:hover{transform: translateY(-1px); box-shadow: var(--shadow-sm);}
.btn.primary{box-shadow: 0 14px 34px rgba(30,111,217,.28);}
.btn.primary:hover{transform: translateY(-1px); box-shadow: var(--shadow-md);}

/* Cards: consistent surface + hover */
.card, .band-card, .cta-box, .stat, .callout{
  background: var(--surface2);
  border: 1px solid rgba(15,23,42,.10);
}
.band-card, .card, .stat{
  box-shadow: 0 10px 30px rgba(2,6,23,.06);
}
.band-card:hover, .card:hover, .stat:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
}

/* Home sections: slightly softer separators */
.section + .section{border-top: 1px solid rgba(15,23,42,.06);}

/* Home hero: richer overlay + crisper type */
.home-hero .hero-overlay{
  background:
    radial-gradient(900px 520px at 20% 20%, rgba(30,111,217,.20), transparent 58%),
    radial-gradient(900px 520px at 80% 10%, rgba(47,195,214,.16), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.55) 70%, rgba(0,0,0,.70) 100%);
}
.hero-title{ text-shadow: 0 10px 32px rgba(0,0,0,.30); }
.hero-desc{ text-shadow: 0 8px 26px rgba(0,0,0,.22); }

/* Language menu class compatibility (.open from JS, .is-open from older CSS) */
.lang-menu.open, .lang-menu.is-open{display:block;}

/* ===== Company: Organization chart (HTML) ===== */
.org-chart{padding:22px 18px;}
.org-chart .org-level{
  display:flex;
  justify-content:center;
  gap:18px;
}
.org-chart .org-level.org-children{
  justify-content:space-between;
  max-width: 720px;
  margin: 0 auto;
}
.org-chart .org-node{
  min-width: 220px;
  padding:16px 16px;
  border-radius:16px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 10px 30px rgba(2,6,23,.06);
  text-align:center;
}
.org-chart .org-role{
  font-size:13px;
  font-weight:700;
  letter-spacing:.02em;
  color: rgba(11,18,32,.72);
}
.org-chart .org-name{
  margin-top:8px;
  font-size:22px;
  font-weight:800;
  letter-spacing:-.02em;
  color: rgba(11,18,32,.92);
}
.org-connector{position:relative; width:min(720px, 100%); height:44px; margin: 14px auto;}
.org-connector .h{position:absolute; left:10%; right:10%; top:22px; height:2px; background: rgba(15,23,42,.14);}
.org-connector .v{position:absolute; width:2px; background: rgba(15,23,42,.14);}
.org-connector .v.mid{left:50%; transform:translateX(-50%); top:0; height:22px;}
.org-connector .v.left{left:10%; top:22px; height:22px;}
.org-connector .v.right{right:10%; top:22px; height:22px;}
@media (max-width: 720px){
  .org-chart .org-level.org-children{flex-direction:column; align-items:center; gap:12px;}
  .org-connector{height:28px;}
  .org-connector .h{display:none;}
  .org-connector .v.left, .org-connector .v.right{display:none;}
}

/* ===== Company: Map embed ===== */
.map-embed{
  position:relative;
  width:100%;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(2,6,23,.04);
}
.map-embed::before{content:""; display:block; padding-top:56%;}
.map-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* =========================================================
   FINAL FIXES (v33)
   - Desktop nav: prevent wrapping (EN menu)
   - Home hero: full-bleed background (remove split bars)
   - Hero copy readability
   - Partner logos: 2x sizing (home + inner pages)
   - Naver map: show map area only (best-effort crop)
   ========================================================= */

/* Header nav should never wrap (prevents EN menu jumping) */
.site-header .gnb{
  flex-wrap: nowrap !important;
  min-width: 0;
}
.site-header .gnb a{ white-space: nowrap; }

/* Home hero: enforce stacked fade slider */
.home-hero{
  display:block !important;
  margin-top:-40px !important; /* cancel global main padding-top */
  height: calc(100vh - 72px);
  min-height: 640px;
}
@media (max-width: 1024px){
  .home-hero{height: calc(86vh - 72px); min-height: 560px;}
}
@media (max-width: 640px){
  .home-hero{height: calc(78vh - 64px); min-height: 520px;}
}

.home-hero .hero-track{
  position:relative !important;
  width:100%;
  height:100%;
  display:block !important;
  transform:none !important;
  transition:none !important;
}
.home-hero .hero-slide{
  position:absolute !important;
  inset:0 !important;
  width:100%;
  height:100%;
  display:block !important;
  opacity:0;
  pointer-events:none;
  transition: opacity .55s ease !important;
}
.home-hero .hero-slide.is-active{
  opacity:1;
  pointer-events:auto;
}

.home-hero .hero-media-wrap{
  position:absolute !important;
  inset:0 !important;
  width:100%;
  height:100%;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  overflow:hidden;
  background:#0b1220;
}

.home-hero img.hero-media,
.home-hero video.hero-media{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#0b1220;
}

/* Overlay always sits above media */
.home-hero .hero-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:2;
  display:flex;
  align-items:center;
  background:
    radial-gradient(900px 520px at 20% 20%, rgba(30,111,217,.22), transparent 58%),
    radial-gradient(900px 520px at 80% 10%, rgba(47,195,214,.18), transparent 60%),
    linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.28) 52%, rgba(0,0,0,.12) 100%);
}

.home-hero .hero-overlay .container{
  height:auto !important;
  max-width: var(--max);
  margin:0 auto !important;
  padding-left: clamp(20px, 4vw, 68px) !important;
  padding-right: clamp(20px, 4vw, 68px) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display:block !important;
}

/* Copy panel (new wrapper in HTML) */
.home-hero .hero-copy{
  max-width: 780px;
  padding: 26px 26px;
  border-radius: 26px;
  background: rgba(0,0,0,.34);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 18px 60px rgba(0,0,0,.26);
}
@media (max-width: 640px){
  .home-hero .hero-copy{padding:20px 18px; border-radius:22px;}
}

/* Ensure hero text stays readable */
.hero-title{color:#fff; text-shadow: 0 10px 32px rgba(0,0,0,.34);} 
.hero-desc{color:rgba(255,255,255,.90);} 

/* Partner logos: 2x sizing */
.partner-logo{
  width: 240px !important;
  max-width: 100%;
}
@media (max-width: 720px){
  .partner-logo{width: 200px !important;}
}

/* Home marquee logos */
#partners-marquee .marquee-item{height: 86px !important; padding: 14px 24px !important;}
#partners-marquee .marquee-item img{max-height: 60px !important;}

/* Company partner gallery: match inner-page partner logo sizing */
.gallery.partners-gallery{
  grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 960px){
  .gallery.partners-gallery{grid-template-columns: repeat(2, 1fr) !important;}
}
@media (max-width: 640px){
  .gallery.partners-gallery{grid-template-columns: 1fr !important;}
}
.gallery.partners-gallery .g{
  padding: 22px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gallery.partners-gallery .g img{
  width:auto !important;
  height:auto !important;
  max-width: 240px;
  max-height: 80px;
  display:block;
}

/* Map: show a clean map-only canvas (Leaflet) */
.map-embed.map-leaflet{background:#fff;}
.map-embed.map-leaflet .map-canvas{
  position:absolute;
  inset:0;
}
.map-embed.map-leaflet .leaflet-control-container{
  display:none; /* hide all UI controls inside the map area */
}


/* Organization chart image */
.orgchart-img{width:100%; height:auto; display:block; margin:0 auto; border-radius:18px;}



/* ===== Pretty Organization Chart (HTML/CSS) ===== */
.orgchart-card-inner{padding:18px 14px;}
.orgchart{
  position:relative;
  width:100%;
  min-height:520px;
  background: radial-gradient(900px 520px at 50% 0%, rgba(59,130,246,.18), rgba(255,255,255,0) 62%),
              radial-gradient(1200px 720px at 50% 100%, rgba(2,132,199,.10), rgba(255,255,255,0) 55%);
  border-radius:22px;
  overflow:hidden;
}
.orgchart-lines{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.orgchart-lines path, .orgchart-lines circle{
  fill:none;
  stroke: rgba(59,130,246,.38);
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.orgchart-lines circle{
  fill: rgba(59,130,246,.9);
  stroke: rgba(255,255,255,.95);
  stroke-width:3;
}
.org-node{
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:14px 18px;
  border:3px solid rgba(37, 99, 235, .25);
  border-radius:16px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,248,255,.98));
  box-shadow: 0 20px 48px rgba(2, 8, 23, .10);
  font-weight:800;
  letter-spacing:-0.02em;
}

/* v2 layout that matches the blue orgchart style */
.orgchart-v2 .org-ceo{
  left:50%; transform:translateX(-50%);
  top:6%; width:300px; height:98px; font-size:30px;
  border:4px solid rgba(37, 99, 235, .90);
  box-shadow: 0 26px 56px rgba(2, 8, 23, .16);
}

.orgchart-v2 .org-edu-top{left:7%; top:34%; width:230px; height:92px; font-size:26px;}
.orgchart-v2 .org-ts-top{left:27%; top:34%; width:230px; height:92px; font-size:26px;}
.orgchart-v2 .org-ent-top{left:47%; top:34%; width:300px; height:92px; font-size:26px;}

.orgchart-v2 .org-strategy-top{
  left:75%; top:34%; width:230px; height:92px; font-size:26px;
  border:0;
  color:#fff;
  background: linear-gradient(135deg, rgba(37,99,235,1), rgba(29,78,216,1));
  box-shadow: 0 28px 64px rgba(37, 99, 235, .35);
}

.orgchart-v2 .org-edu-bottom{left:7%; top:68%; width:260px; height:104px; font-size:28px; border:4px solid rgba(37, 99, 235, .90);}
.orgchart-v2 .org-ts-bottom{left:27%; top:68%; width:260px; height:104px; font-size:28px; border:4px solid rgba(37, 99, 235, .90);}
.orgchart-v2 .org-mgmt-bottom{left:47%; top:68%; width:380px; height:104px; font-size:28px; border:4px solid rgba(37, 99, 235, .90);}

.orgchart-v2 .org-domestic{right:25%; top:70%; width:210px; height:98px; font-size:28px;}
.orgchart-v2 .org-global{right:5%; top:70%; width:210px; height:98px; font-size:28px;}

@media (max-width: 1100px){
  .orgchart-v2{min-height:560px;}
  .orgchart-v2 .org-ceo{width:280px; font-size:26px;}
  .orgchart-v2 .org-edu-top,.orgchart-v2 .org-ts-top{width:210px; font-size:24px;}
  .orgchart-v2 .org-ent-top{width:280px; font-size:24px;}
  .orgchart-v2 .org-strategy-top{width:210px; font-size:24px; left:74%;}
  .orgchart-v2 .org-edu-bottom,.orgchart-v2 .org-ts-bottom{width:240px; font-size:26px;}
  .orgchart-v2 .org-mgmt-bottom{width:340px; font-size:26px;}
  .orgchart-v2 .org-domestic,.orgchart-v2 .org-global{width:190px; font-size:26px;}
}

@media (max-width: 980px){
  .orgchart{min-height:620px;}
  .orgchart-v2 .orgchart-lines{display:none;} /* reduce clutter on narrow screens */
}
@media (max-width: 720px){
  .orgchart{min-height:760px;}
  .orgchart-lines{display:none;} /* simplify on small screens */
  .org-node{position:relative; width:100% !important; height:auto !important; margin:10px 0; left:auto !important; right:auto !important; top:auto !important; bottom:auto !important;}
  .orgchart{padding:18px;}
}


/* Org chart image fallback (static) */
.orgchart-image{
  width:100%;
  height:auto;
  display:block;
  border-radius:20px;
  box-shadow:0 18px 40px rgba(15, 23, 42, .10);
}


/* ===== Fix: mobile/tablet footer side padding ===== */
@media (max-width: 980px){
  .footer .container.footer-inner{
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}
@media (max-width: 420px){
  .footer .container.footer-inner{
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* v51: header logo size tuned (cropped asset) */
.site-header{overflow:visible;}
.site-header .header-inner{height:72px;}
.site-header .brand-logo{height:20px !important; width:auto; max-width:none;}
@media (max-width: 920px){
  .site-header .header-inner{height:60px;}
  .site-header .brand-logo{height:16px !important;}
}
@media (max-width: 420px){
  .site-header .brand-logo{height:14px !important;}
}


/* ===== Final logo clamp (keep wordmark from overflowing) ===== */
.site-header .brand-logo{max-width:240px;}


/* ===== Fix: CTA buttons layout on mobile ===== */
.cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.cta-row .btn{ margin:0 !important; }
@media (max-width: 760px){
  .cta-row{
    flex-direction:column;
    align-items:stretch;
  }
  .cta-row .btn{
    width:100%;
    text-align:center;
  }
}

/* ===== Fix: hamburger icon consistency ===== */
.hamburger{
  font-size:0; /* prevent stray glyphs */
}
.hamburger span{
  background:#0f172a !important;
  width:22px;
  height:2.5px;
  border-radius:3px;
}

