@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;600;700;900&display=swap');

* { margin:0; padding:0; box-sizing:border-box; }

body {
  font-family:'Noto Sans KR', sans-serif;
  background:#f4f6f8;
  color:#1e2329;
}


.layout {
  max-width:1280px;
  margin:0 auto;
}

/* HERO */
.hero {
  position:relative;
  height:420px;
  background:#1e2329;
  overflow:hidden;
}

.hero-bg {
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 20%, rgba(212,175,55,0.25), transparent 40%),
    radial-gradient(circle at 80% 80%, rgba(47,107,255,0.25), transparent 45%);
}

.hero-inner {
  position:relative;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 80px;
  color:#fff;
}

.hero-logo {
  width:260px;
}

.hero-text h1 {
  font-size:46px;
  font-weight:900;
  line-height:1.2;
}

.hero-sub {
  margin-top:14px;
  font-size:18px;
  color:#d1d5db;
}

.hero-badge {
  display:inline-block;
  margin-top:22px;
  padding:14px 34px;
  background:#d4af37;
  color:#111;
  font-weight:900;
  border-radius:30px;
  font-size:20px;
}
/* INFO */
.info {
  background:
    linear-gradient(180deg,#ffffff 0%,#f9fafb 100%);
  padding:70px 40px;
}

.info-wrap {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.info-item {
  position:relative;
  background:#fff;
  border-radius:22px;
  padding:36px 32px 34px;
  box-shadow:0 18px 40px rgba(0,0,0,0.08);
  transition:all .35s ease;
  overflow:hidden;
}

/* 상단 컬러 포인트 */
.info-item::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:6px;
  background:#2f6bff;
}

.info-item:hover {
  transform:translateY(-6px);
  box-shadow:0 26px 60px rgba(0,0,0,0.12);
}

/* ICON */
.info-icon {
  display:inline-flex;
  width:48px;
  height:48px;
  border-radius:14px;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  background:#eef2ff;
}

.info-icon.calendar {
  background:#eef2ff url('https://cdn-icons-png.flaticon.com/512/747/747310.png') center/26px no-repeat;
}
.info-icon.user {
  background:#eef2ff url('https://cdn-icons-png.flaticon.com/512/1077/1077114.png') center/26px no-repeat;
}
.info-icon.gift {
  background:#fff3d6 url('https://cdn-icons-png.flaticon.com/512/891/891462.png') center/26px no-repeat;
}

.info-item span {
  display:block;
  font-size:17px;
  font-weight:600;
  color:#6b7280;
}

.info-item strong {
  display:block;
  margin-top:10px;
  font-size:24px;
  font-weight:900;
  color:#111827;
}

/* HIGHLIGHT */
.info-item.highlight {
  background:linear-gradient(135deg,#fff7d6,#ffffff);
}

.info-item.highlight::before {
  background:#d4af37;
}

.info-item.highlight strong {
  color:#9a7b19;
}

/* PLATFORM */
.platform {
  padding:80px 40px;
}

.platform h2 {
  text-align:center;
  font-size:34px;
  font-weight:900;
  margin-bottom:50px;
}

.platform-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}

.platform-card {
  background:#ffffff;
  border-radius:26px;
  padding:40px 32px;
  text-align:center;
  box-shadow:0 16px 40px rgba(0,0,0,0.08);
}

.platform-icon {
  width:64px;
  height:64px;
  margin:0 auto 22px;
  background-size:contain;
  background-repeat:no-repeat;
}

.platform-icon.pc {
  background-image:url('https://cdn-icons-png.flaticon.com/512/1055/1055687.png');
}
.platform-icon.mobile {
  background-image:url('https://cdn-icons-png.flaticon.com/512/888/888857.png');
}
.platform-icon.web {
  background-image:url('https://cdn-icons-png.flaticon.com/512/870/870169.png');
}

.platform-card h3 {
  font-size:26px;
  font-weight:900;
}

.platform-card p {
  font-size:18px;
  color:#6b7280;
  margin:12px 0 26px;
}

.platform-card a {
  display:inline-block;
  padding:14px 34px;
  background:#2f6bff;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  border-radius:14px;
}

.platform-card a.outline {
  background:#2f6bff;
  color:#fff;
  border:2px solid #2f6bff;
}

/* MOBILE */
@media(max-width:900px){
  .hero-inner { padding:0 24px; flex-direction:column; text-align:center; }
  .hero { height:auto; padding:60px 0; }
  .info-wrap, .platform-grid { grid-template-columns:1fr; }
  .platform-card h3 {
  font-size:30px;
}

.platform-card p {
  font-size:21px;
}
}
