:root{
  --bg:#050505;
  --panel:#0b0b0f;
  --panel-2:#101019;
  --line:rgba(0,255,234,.16);
  --text:#eafcff;
  --muted:#9fc7cf;
  --neon:#00f7ff;
  --neon-2:#ff3df2;
  --neon-3:#9dff00;
  --warning:#ffd84d;
  --shadow:0 0 0 1px rgba(255,255,255,.04),0 0 24px rgba(0,247,255,.14),0 0 80px rgba(255,61,242,.08);
  --radius:22px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, Pretendard, "Noto Sans KR", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 10% 10%, rgba(0,247,255,.10), transparent 25%),
    radial-gradient(circle at 90% 0%, rgba(255,61,242,.12), transparent 30%),
    radial-gradient(circle at 50% 100%, rgba(157,255,0,.08), transparent 28%),
    linear-gradient(180deg, #020204 0%, #06060b 40%, #040406 100%);
  color:var(--text);
  line-height:1.65;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
.container{width:min(calc(100% - 28px),var(--max));margin:0 auto}
.glow{color:var(--neon);text-shadow:0 0 10px rgba(0,247,255,.55),0 0 26px rgba(0,247,255,.28)}
.glow-pink{color:#ffd5fd;text-shadow:0 0 8px rgba(255,61,242,.55),0 0 22px rgba(255,61,242,.25)}
.muted{color:var(--muted)}
.badge{
  display:inline-flex;gap:8px;align-items:center;padding:9px 14px;border-radius:999px;
  border:1px solid rgba(0,247,255,.25);background:rgba(0,247,255,.08);backdrop-filter:blur(10px);
  box-shadow:0 0 22px rgba(0,247,255,.08)
}
.site-header{position:sticky;top:0;z-index:30;background:rgba(4,4,6,.70);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.02em}
.brand-mark{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:20px;
  background:linear-gradient(135deg, rgba(0,247,255,.25), rgba(255,61,242,.22));
  border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)
}
.nav-links{display:flex;gap:12px;flex-wrap:wrap}
.nav-links a,.cta-btn,.ghost-btn{
  padding:11px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.08);transition:.25s ease;
}
.nav-links a:hover,.ghost-btn:hover{border-color:rgba(0,247,255,.35);box-shadow:0 0 24px rgba(0,247,255,.12);transform:translateY(-1px)}
.cta-btn{
  background:linear-gradient(135deg, rgba(0,247,255,.18), rgba(255,61,242,.24));
  box-shadow:0 0 22px rgba(0,247,255,.16), inset 0 0 12px rgba(255,255,255,.04)
}
.hero{position:relative;overflow:hidden;padding:72px 0 32px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:stretch}
.hero-copy,.hero-card,.section-card,.faq-item,.review,.info-card,.region-card,.event-card,.feature-card{
  background:linear-gradient(180deg, rgba(11,11,15,.92), rgba(7,7,10,.88));
  border:1px solid rgba(255,255,255,.07);border-radius:var(--radius);box-shadow:var(--shadow)
}
.hero-copy{padding:30px}
.hero-copy h1{font-size:clamp(2rem,4vw,4.25rem);line-height:1.06;margin:16px 0 14px;letter-spacing:-.03em}
.hero-copy p{font-size:1.03rem;color:#cceaf0;margin:0 0 18px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.hero-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;color:#d7fbff}
.hero-card{padding:16px;display:grid;gap:14px}
.image-box{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(0,247,255,.09), rgba(255,61,242,.10));
  border: 1px solid rgba(255,255,255,.06);
}

.image-box img{
  width: 100%;
  height: auto;
  display: block;
}

.hero-main-image,
.hero-side-image{
  aspect-ratio: auto;
  padding: 0;
}
.section{padding:26px 0}
.section h2{font-size:clamp(1.45rem,2vw,2.2rem);margin:0 0 8px}
.section-head{display:flex;justify-content:space-between;gap:16px;align-items:end;flex-wrap:wrap;margin-bottom:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.section-card,.feature-card,.event-card,.info-card,.review,.region-card{padding:20px}
.kicker{font-size:.88rem;letter-spacing:.16em;text-transform:uppercase;color:#88f9ff}
.feature-card h3,.event-card h3,.info-card h3,.review h3,.region-card h3{margin:10px 0 8px;font-size:1.08rem}
.feature-card p,.event-card p,.info-card p,.review p,.region-card p{margin:0;color:#c6e7eb}
.region-wrap{
  display:grid;grid-template-columns:repeat(5,1fr);gap:14px
}
.region-card{
  position:relative;overflow:hidden;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;
  background:linear-gradient(165deg, rgba(0,247,255,.10), rgba(255,61,242,.12) 52%, rgba(157,255,0,.10));
}
.region-card::before{
  content:"";position:absolute;inset:auto -40px -50px auto;width:140px;height:140px;border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.22), transparent 66%);filter:blur(2px)
}
.region-card small{color:#effeff;opacity:.76}
.region-card .arrow{font-size:1.2rem;margin-left:auto}
.region-card:hover{transform:translateY(-3px);transition:.25s ease;box-shadow:0 0 30px rgba(255,61,242,.16), 0 0 50px rgba(0,247,255,.15)}
.price-line{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px dashed rgba(255,255,255,.10)}
.price-line:first-child{border-top:none;padding-top:0}
.faq-list{display:grid;gap:12px}
.faq-item{padding:16px 18px}
.faq-item summary{cursor:pointer;font-weight:700;color:#f2ffff}
.faq-item p{margin:10px 0 0;color:#c7ebee}
.notice-list,.steps-list{display:grid;gap:10px;padding:0;margin:0;list-style:none}
.notice-list li,.steps-list li{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cta-panel{padding:26px;border-radius:28px;background:linear-gradient(135deg, rgba(0,247,255,.12), rgba(255,61,242,.14), rgba(157,255,0,.10));border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}
.cta-panel h2{margin:0 0 10px;font-size:clamp(1.7rem,3vw,2.6rem)}
.footer{padding:26px 0 42px;color:#a9d1d6}
.footer-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}
.call-float{
  position:fixed;right:16px;bottom:16px;z-index:40;padding:14px 16px;border-radius:18px;
  background:linear-gradient(135deg, rgba(255,61,242,.20), rgba(0,247,255,.18));
  border:1px solid rgba(255,255,255,.10);box-shadow:0 0 28px rgba(0,247,255,.18)
}
.shine{
  position:relative;overflow:hidden
}
.shine::before{
  content:"";position:absolute;inset:-120% auto auto -30%;width:36%;height:300%;
  transform:rotate(20deg);background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  animation:shine 7.2s linear infinite
}
@keyframes shine{to{left:140%}}
@keyframes floaty{50%{transform:translateY(-4px)}}
.pulse{animation:floaty 3.5s ease-in-out infinite}
.only-mobile{display:none}
@media (max-width: 1080px){
  .hero-grid,.grid-3,.grid-2,.reviews,.footer-grid,.region-wrap{grid-template-columns:1fr 1fr}
}
@media (max-width: 760px){
  .nav{align-items:flex-start;flex-direction:column}
  .nav-links{width:100%}
  .hero{padding-top:46px}
  .hero-grid,.grid-3,.grid-2,.reviews,.footer-grid,.region-wrap{grid-template-columns:1fr}
  .hero-copy,.hero-card,.section-card,.faq-item,.review,.info-card,.region-card,.event-card,.feature-card{border-radius:20px}
  .hero-copy{padding:22px}
  .hero-copy h1{font-size:2.2rem}
  .hero-meta{gap:8px}
  .call-float{right:12px;left:12px;bottom:12px;text-align:center}
  .desktop-only{display:none}
  .only-mobile{display:block}
}
