:root{
  --bg:#000;
  --accent:#f6a700; /* golden */
  --muted:#bdbdbd;
  --pill-bg: rgba(255, 255, 255, 0.06);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter, system-ui, -apple-system, 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', 'Segoe UI', Roboto, 'Helvetica Neue', Arial;smooth:antialiased;background:var(--bg);color:#fff}
.container{max-width:1100px;margin:0 auto;padding:0 16px}

/* Header */
.site-header{padding:14px 0}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.logo{height:48px}
.main-nav a{color:var(--muted);text-decoration:none;margin-left:18px;font-weight:600}

/* keep header items on a single line */
.header-inner{flex-wrap:nowrap}
/* ensure main-nav pushes to the right in the header */
.main-nav{margin-left:auto}

/* hide mobile panel by default (only enable in mobile media query) */
.mobile-panel{display:none}

/* Hamburger button */
.hamburger{background:none;border:0;cursor:pointer;padding:10px 12px;display:none;align-items:center;justify-content:center}
.hamburger-box{width:28px;height:18px;display:inline-block;position:relative}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after{display:block;background:#fff;border-radius:2px;height:2px;width:100%;position:absolute;left:0}
.hamburger-inner{top:50%;transform:translateY(-50%)}
.hamburger-inner::before{content:'';top:-8px}
.hamburger-inner::after{content:'';top:8px}
.hamburger.open .hamburger-inner{background:transparent}
.hamburger.open .hamburger-inner::before{transform:rotate(45deg);top:0}
.hamburger.open .hamburger-inner::after{transform:rotate(-45deg);top:0}

/* Mobile nav behavior */
.main-nav{display:flex;align-items:center}
.main-nav a{display:inline-block}
.main-nav.open{display:block}

@media (max-width:1023px){
  .hamburger{display:flex;z-index:10010}
  /* keep top nav visible on mobile; use separate .mobile-panel for the drawer */
  .main-nav{display:flex}
  .mobile-panel{display:none;position:fixed;top:0;right:0;height:100vh;width:320px;max-width:86%;background:#000;padding:68px 20px 20px;border-radius:0;box-shadow:-10px 0 30px rgba(0,0,0,0.6);z-index:10060}
  .mobile-panel.open{display:flex;flex-direction:column;align-items:flex-end}
  .mobile-panel a{display:block;margin:12px 0;color:#fff;font-size:16px;text-align:right}
  .nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:10020}
  .nav-overlay.open{display:block}
  .mobile-close{background:none;border:0;color:#fff;font-size:28px;align-self:flex-end;margin-bottom:12px;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,0.03)}
  /* when the panel is open, hide the header hamburger to avoid overlap */
  .panel-open .hamburger{display:none !important}
  .header-inner{position:relative;z-index:10050}
}

/* Section 01 - pill banner */
.section--pill{padding:18px 0}
/* center pill by default */
.section--pill .container{display:flex;justify-content:center}
.pill-inner{display:inline-block;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:14px 26px;border-radius:34px;color:var(--accent);font-weight:800;position:relative;overflow:hidden;border:1px solid rgba(246,167,0,0.18);box-shadow:0 10px 30px rgba(0,0,0,0.7), 0 0 24px rgba(246,167,0,0.04);text-align:center;max-width:980px}

/* animated light sweep across the pill border */
.pill-inner::before{
  content:"";
  position:absolute;
  top:-40%;
  left:-40%;
  width:40%;
  height:180%;
  background:linear-gradient(90deg, transparent 0%, rgba(246,167,0,0.95) 50%, transparent 100%);
  transform:translateX(-160%) rotate(-8deg);
  filter:blur(8px);
  opacity:0.95;
  pointer-events:none;
  mix-blend-mode:screen;
  animation:light-sweep 3.2s linear infinite;
}

@keyframes light-sweep{
  0%{transform:translateX(-160%) rotate(-8deg);opacity:0}
  10%{opacity:0.9}
  50%{transform:translateX(220%) rotate(-8deg);opacity:0.95}
  90%{opacity:0.2}
  100%{transform:translateX(420%) rotate(-8deg);opacity:0}
}

/* stronger inner stroke to separate pill from background */
.pill-inner::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:34px;
  pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.02), inset 0 -6px 18px rgba(0,0,0,0.55);
}

/* ensure readable multiline spacing */
.pill-inner{line-height:1.45;font-size:17px}

/* small devices <=400px (mobile tiny) */
@media (max-width:400px){
  .pill-inner{font-size:15px;padding:12px 18px;border-radius:28px}
}

/* medium devices 401px - 1023px */
@media (min-width:401px) and (max-width:1023px){
  .pill-inner{max-width:820px;padding:13px 22px}
}

/* desktop 1024px+ */
@media (min-width:1024px){
  .pill-inner{max-width:720px;padding:12px 22px;border-radius:32px}
}

/* Section 02 - hero */
.section--hero{padding:28px 0 40px}
.section--hero .container{max-width:1200px;margin:0 auto;padding:0 24px}
.hero-grid{display:grid;grid-template-columns:1fr;gap:20px;align-items:center;width:100%}
.hero-text h1{font-size:20px;margin:0 0 12px;line-height:1.05}
/* gradient only for the leading phrase */
.title-highlight{background:linear-gradient(90deg,#f6a700,#ffb84d);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;display:inline}
.title-white{color:#ffffff;display:inline;margin-left:6px}
.hero-text p{color:var(--muted);line-height:1.6;text-align:center;font-size:11px}
.btn-primary{display:inline-block;background:var(--accent);color:#000;padding:14px 28px;border-radius:999px;text-decoration:none;font-weight:800;font-size:16px;line-height:1;box-shadow:0 6px 18px rgba(0,0,0,0.45)}
.cta-wrap{text-align:center;margin-top:18px}
.hero-media img{width:100%;height:auto;border-radius:8px;display:block;box-shadow:0 6px 20px rgba(0,0,0,0.6)}

/* gradient for the leading phrase */
.title-highlight{
  background: linear-gradient(90deg, #f6a700, #ffb84d);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight:900;
}

/* Extra section */
.section--extra{padding:40px 0}

.chart-wrap{display:flex;justify-content:center;align-items:center;padding:12px 0}
.chart-img{width:100%;max-width:980px;border-radius:10px;display:block;box-shadow:0 10px 40px rgba(0,0,0,0.65)}

@media (max-width:400px){
  .chart-img{max-width:320px}
}

/* Footer */
.site-footer{padding:24px 0;color:var(--muted);text-align:center}

/* Section 04 - partners */
.section--partners{padding:30px 0}
.section--partners .partner-row{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap}
.partner-logo{flex:0 0 auto}
.partner-logo img{height:auto;max-width:160px;display:block;width:auto;background:rgba(255,255,255,0.03);padding:6px 10px;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,0.6)}
.partner-x{font-size:28px;color:var(--muted);padding:8px 12px;border-radius:50%;background:rgba(255,255,255,0.02);box-shadow:0 6px 20px rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.partner-note{max-width:920px;margin:18px auto 0;color:#d0d0d0;text-align:center;line-height:1.45;font-size:11px}
.partner-note p{margin:8px 0}

@media (max-width:400px){
  .section--partners .partner-row{gap:12px}
  .partner-logo img{max-width:120px;padding:4px 8px;border-radius:6px}
  .partner-x{font-size:22px;padding:6px 10px}
  .partner-note{padding:0 12px;font-size:11px}
}

@media (min-width:401px) and (max-width:1023px){
  .partner-note{font-size:12px}
  /* prevent partner logos from wrapping in medium breakpoints */
  .section--partners .partner-row{flex-wrap:nowrap;justify-content:center;gap:20px}
  .section--partners .partner-logo{flex:0 0 auto}
  .section--partners .partner-logo img{max-width:140px;width:auto;height:auto}
  .section--partners .partner-x{align-self:center}
}

@media (min-width:1024px){
  .partner-note{font-size:14px}
}

/* Section 05 - features (four rounded boxes with left icon + title + content) */
.section--features{padding:26px 0 40px}
.section--features .features-grid{display:flex;flex-direction:column;gap:18px;max-width:980px;margin:0 auto}
.feature-card{display:flex;align-items:flex-start;gap:18px;padding:18px;border-radius:12px;border:1px solid rgba(255,255,255,0.05);background:linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.02));box-shadow:0 10px 30px rgba(0,0,0,0.6)}
.feature-icon{flex:0 0 64px;display:flex;align-items:center;justify-content:center}
.feature-icon img{width:56px;height:56px;object-fit:contain;border-radius:50%;background:rgba(255,255,255,0.02);padding:8px}
.feature-body{flex:1 1 auto}
.feature-body h3{margin:0 0 10px;font-size:18px;color:#fff;font-weight:800}
.feature-desc{margin:0;color:var(--muted);line-height:1.6;font-size:13px}

@media (max-width:600px){
  .feature-card{padding:14px;border-radius:10px}
  /* 모바일에서 카드 대비를 보다 명확히 하기 위해 배경/테두리/그림자를 강화합니다 */
  .feature-card{background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015));border:2px solid rgba(255,255,255,0.12);box-shadow:0 20px 50px rgba(0,0,0,0.92), 0 6px 18px rgba(0,0,0,0.6), inset 0 2px 0 rgba(255,255,255,0.03)}
  /* 모바일 아이콘 크기 유지(가독성 확보) */
  .feature-icon{flex:0 0 64px}
  .feature-icon img{width:56px;height:56px;padding:6px;background:rgba(255,255,255,0.04)}
  .feature-body h3{font-size:16px}
  .feature-desc{font-size:13px;color:#d0d0d0}
}


/* Responsive breakpoints
  - small: up to 400px
  - medium: 401px to 1023px
  - desktop: 1024px and up
*/

/* small devices <=400px (mobile tiny) */
@media (max-width:400px){
  .logo{height:42px}
  .header-inner{padding:0 4px}
  .pill-inner{font-size:13px;padding:10px 14px}
  .hero-text h1{font-size:16px; text-align:center; line-height:1.06}
  .btn-primary{font-size:15px;padding:12px 24px}
}

/* medium devices 401px - 1023px */
@media (min-width:401px) and (max-width:1023px){
  .hero-text h1{font-size:20px; white-space:normal; word-break:keep-all; line-height:1.06; text-align:center}
  .hero-grid{grid-template-columns:1fr; max-width:960px; margin:0 auto}
}

/* desktop 1024px+: two-column layout and centered wider container */
@media (min-width:1024px){
  .hero-grid{grid-template-columns:60% 40%;gap:60px; max-width:980px; margin:0}
  .section--hero .container{display:flex;justify-content:center;padding:0 24px}
  .hero-text h1{font-size:40px;white-space:normal}
  .hero-text{align-self:center; max-width:760px; margin:0}
  .logo{height:34px}
  /* ensure mobile panel and overlay are hidden on desktop even if 'open' class exists */
  .mobile-panel, .mobile-panel.open, .nav-overlay, .nav-overlay.open {display:none !important}
  .hamburger{display:none !important}
}
