@charset "utf-8";
/* ================================================================
   base.css — Reset 보강 + 유틸 클래스
================================================================ */

*,*::before,*::after { box-sizing:border-box; }

html { scroll-behavior:smooth; }

body,html {
  font-family:var(--ff-body);
  font-weight:var(--fw-light);
  color:var(--c-text);
}
body { overflow-x:hidden; }

a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }

/* ── 컨테이너 ── */
.u-container {
  max-width:var(--container);
  width:100%;
  margin:0 auto;
  padding:0 var(--container-pad);
}

/* ── 섹션 공통 ── */
.u-section {
  padding:var(--section-pad) 0;
  clear:both;
  width:100%;
}
.u-section--alt  { background:var(--c-bg-alt); }
.u-section--dark { background:var(--c-bg-dark); }
.u-section--white { background:#fff; }

/* ── 섹션 헤더 ── */
.sec-hd { text-align:center; margin-bottom:var(--sp-10); }

.sec-hd__echo {
  font-family:var(--ff-display);
  font-size:var(--fs-echo);
  font-weight:var(--fw-black);
  color:rgba(0,0,0,0.04);
  line-height:1;
  margin-bottom:var(--sp-3);
  user-select:none;
  pointer-events:none;
  letter-spacing:0.04em;
}
.sec-hd__echo--light { color:rgba(255,255,255,0.05); }

.sec-hd__title {
  font-family:var(--ff-display);
  font-size:var(--fs-d2);
  font-weight:var(--fw-bold);
  color:var(--c-navy-800);
  margin:0 0 var(--sp-3);
  line-height:var(--lh-tight);
}
.sec-hd__title--light { color:var(--c-text-on-dark); }

.sec-hd__sub {
  font-size:var(--fs-base);
  color:var(--c-text-mute);
  margin:0;
  line-height:var(--lh-normal);
}
.sec-hd__sub--light { color:var(--c-text-on-dark-mute); }

/* ── Eyebrow (라벨 알약) ── */
.eyebrow {
  display:inline-block;
  font-size:var(--fs-xs);
  font-weight:var(--fw-bold);
  letter-spacing:var(--ls-label);
  color:var(--c-primary);
  text-transform:uppercase;
  border:1.5px solid var(--c-primary);
  border-radius:var(--r-pill);
  padding:5px 20px;
  margin-bottom:var(--sp-4);
}
.eyebrow--light {
  border-color:rgba(142,176,232,0.6);
  color:#8eb0e8;
}

/* ── 브레드크럼 ── */
.crumb {
  display:flex;
  gap:var(--sp-2);
  font-size:var(--fs-sm);
  align-items:center;
  color:rgba(255,255,255,0.6);
}
.crumb a { color:inherit; }
.crumb i  { opacity:0.5; }
.crumb__sep { opacity:0.5; font-size:10px; line-height:1; }

/* ── 텍스트 유틸 ── */
.u-text-center  { text-align:center; }
.u-text-left    { text-align:left; }
.u-color-primary{ color:var(--c-primary); }
.u-color-green  { color:var(--c-green); }
.u-color-red    { color:var(--c-red); }

/* ── 마진/패딩 유틸 ── */
.u-mt-4  { margin-top:var(--sp-4); }
.u-mt-8  { margin-top:var(--sp-8); }
.u-mt-10 { margin-top:var(--sp-10); }
.u-mb-4  { margin-bottom:var(--sp-4); }
.u-mb-8  { margin-bottom:var(--sp-8); }

/* ── 가시성 ── */
.u-sr-only {
  position:absolute;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
