
html,
body {
  margin: 0;
  font-family: 'Pretendard', 'Noto Sans KR', sans-serif;
  overflow-x: hidden;
  min-height: 100%;
  background-color: #5E93D3;
  color: #ffffff;
}

* {
  box-sizing: border-box
}

:root {
  --tm-blue: #5E93D3;
  /* 배경 블루 */
  --tm-pink: #F9B4E7;
  /* 타이틀 핑크 */
  --tm-yellow: #ECFFAF;
  /* 형광 옐로 하이라이트 */
  --tm-ink: #1b1b1b;
  --tm-white: #ffffff;
  --container: 1280px;
}

a {
  color: inherit;
  text-decoration: none
}

figure, p, h1, h2, h3 {
  margin: 0;
  padding: 0;
}


/* --- Header --- */
.wrap {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px
}

header {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  position: sticky;
  padding: 32px 0 0;
  top: 0;
  z-index: 40;
  gap: 48px;
}

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 76px;
  gap: 24px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 14px;
}


.logo img {
  display: block;
  width: 97px;
  height: auto;
  vertical-align: middle
}

.brand-badge small {
  font-weight: 700;
  opacity: .9
}

.nav a {
  font-weight: 500;
  opacity: .95
}

.menu {
  display: flex;
  align-items: center;
  gap: 28px
}

.menu a {
  position: relative
}

.menu a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 2px;
  background: #ffffff;
  opacity: 0;
  transform: scaleX(0);
  transition: .25s
}

.menu a:hover:after {
  opacity: .85;
  transform: scaleX(1)
}


/* --- Hero --- */
.hero {
  padding: 56px 0 28px
}

.title {
  font-size: clamp(32px, 6vw, 80px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0.03em;
  color: var(--tm-pink);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

.highlight {
  color: #F9B4E7;
  /* 핑크 글자 */
  background: var(--tm-yellow);
  border-radius: 50px;
  padding: 6px 18px 10px;
  display: inline-block;
  transform: translateY(4px);
  white-space: nowrap;
}

.hero-sub {
  margin-top: 18px;
  opacity: .95;
  line-height: 1.8
}


/* --- Visual Card --- */
.visual {
  margin-top: 32px;
  overflow: hidden;
}

.visual img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle
}

.ticker-wrap {
  position: relative;
  left: 50%;
  width: 100vw;          /* 뷰포트 전체 너비 */
  margin-left: -50vw;    /* 중앙정렬된 wrap 기준으로 좌측 이동 */
  overflow: hidden;
  border-top: 1px solid #F9B4E7;
  border-bottom: 1px solid #F9B4E7;
  margin-top: 60px;
}

.ticker {
  display: flex;
  gap: 40px;
  white-space: nowrap;
  will-change: transform;
  color: #F9B4E7;
  animation: marquee 22s linear infinite
}

.tick-item {
  font-weight: 800;
  letter-spacing: .12em;
  font-size: 28px;
  padding: 18px 0
}

@keyframes marquee {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(-50%)
  }
}


/* --- Footer --- */
footer {
  font-size: 12px;
  opacity: .9;
  padding: 30px 0;
  color: #e8f1ff
}

footer .grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px
}

footer .grid .foot_cont{
  display: flex;
  gap: 16px;
}


/* --- Utilities --- */
.muted {
  opacity: .85
}
