:root{
  --night:#07090D;
  --panel:#0E1219;
  --panel-2:#131924;
  --line:#1E2633;
  --white:#F4F6F8;
  --muted:#98A3B2;
  --red:#FF2E3C;
  --amber:#FFB400;
  --teal:#1FD8C4;
  --violet:#6B4BFF;
  --radius:14px;
  --max:1040px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--night);color:var(--white);
  font-family:"Pretendard","Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",
    -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  line-height:1.6;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 18px;background:rgba(7,9,13,.86);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
}
.nav__brand{
  font-family:Anton,"Arial Narrow",Impact,sans-serif;
  letter-spacing:.06em;font-size:16px;white-space:nowrap;
}
.nav__links{display:flex;gap:14px;font-size:13.5px;color:var(--muted);flex-wrap:nowrap}
.nav__links a{white-space:nowrap}
.nav__links a:hover{color:var(--white)}
.nav__att{color:var(--amber)}

/* ---------- hero ---------- */
.hero{position:relative;padding:56px 18px 44px;overflow:hidden}
.hero::after{
  content:"";position:absolute;inset:auto 0 0 0;height:1px;
  background:linear-gradient(90deg,transparent,var(--line),transparent);
}
.led{
  position:absolute;top:22px;right:-8px;display:flex;gap:9px;
  opacity:.5;pointer-events:none;
}
.led i{display:block;width:7px;height:96px;border-radius:99px;filter:blur(.2px)}
.led i:nth-child(1){background:var(--red)}
.led i:nth-child(2){background:var(--amber)}
.led i:nth-child(3){background:var(--teal)}
.led i:nth-child(4){background:var(--violet)}
.led i:nth-child(5){background:var(--red)}
.led i:nth-child(6){background:var(--amber)}
.led i:nth-child(7){background:var(--teal)}
.led i:nth-child(8){background:var(--violet)}

.hero__inner{position:relative;max-width:var(--max);margin:0 auto}
.hero__kicker{
  margin:0 0 10px;font-size:12.5px;letter-spacing:.22em;color:var(--teal);
  text-transform:uppercase;
}
.hero__title{
  margin:0;font-family:Anton,"Arial Narrow",Impact,sans-serif;
  font-weight:400;line-height:.92;letter-spacing:.01em;
  font-size:clamp(38px,12.5vw,86px);
  text-shadow:0 0 18px rgba(255,46,60,.28),0 0 44px rgba(255,46,60,.12);
  word-break:keep-all;
}
.hero__sub{margin:14px 0 0;font-size:15.5px;color:#CFD6DF}
.hero__hours{margin:10px 0 0;font-size:14px;color:var(--muted)}
.hero__hours b{color:var(--amber);font-variant-numeric:tabular-nums}
.hero__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:48px;padding:0 20px;border-radius:999px;
  font-size:15px;font-weight:600;border:1px solid transparent;
  transition:transform .12s ease,background .15s ease,border-color .15s ease;
}
.btn:active{transform:scale(.985)}
.btn--primary{background:var(--red);color:#fff;box-shadow:0 6px 22px rgba(255,46,60,.28)}
.btn--primary:hover{background:#ff4150}
.btn--ghost{border-color:#2A3442;color:var(--white);background:transparent}
.btn--ghost:hover{border-color:var(--teal);color:var(--teal)}
.btn--wide{width:100%;margin-bottom:14px}

/* ---------- sections ---------- */
.section{max-width:var(--max);margin:0 auto;padding:44px 18px}
.sec-title{
  margin:0 0 18px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);font-weight:600;
}
.sec-title::before{
  content:"";display:inline-block;width:18px;height:2px;margin-right:8px;
  vertical-align:middle;background:var(--red);border-radius:2px;
}
.grid3{display:grid;gap:12px}
.card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 16px;
}
.card h3{margin:0 0 6px;font-size:16.5px}
.card p{margin:0;font-size:14px;color:var(--muted);word-break:keep-all}
.note{margin:14px 0 0;font-size:13px;color:#7C8797}

/* ---------- info ---------- */
.info{margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.info__row{display:flex;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--panel)}
.info__row:last-child{border-bottom:0}
.info__row dt{flex:0 0 84px;font-size:13.5px;color:var(--muted)}
.info__row dd{margin:0;flex:1 1 auto;font-size:14.5px;word-break:break-word}
.muted{color:var(--muted);font-size:13px}

/* ---------- reserve ---------- */
.reserve__lead{margin:0 0 16px;font-size:14.5px;color:#CFD6DF}
.msgs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.msg{
  display:flex;align-items:center;gap:10px;
  min-height:52px;padding:0 14px;border-radius:12px;cursor:not-allowed;
  background:var(--panel-2);border:1px solid var(--line);color:var(--white);
  font-size:14.5px;font-family:inherit;text-align:left;
}
.msg:disabled{opacity:.62}
.msg__ico{
  display:grid;place-items:center;width:26px;height:26px;border-radius:8px;
  font-size:12px;font-weight:700;color:#07090D;background:var(--amber);
  flex:0 0 26px;
}
.msg__soon{margin-left:auto;font-size:11px;color:var(--muted)}

/* ---------- footer ---------- */
.foot{
  max-width:var(--max);margin:0 auto;padding:30px 18px 110px;
  border-top:1px solid var(--line);
}
.foot__brand{margin:0 0 6px;font-family:Anton,"Arial Narrow",Impact,sans-serif;letter-spacing:.06em}
.foot__meta{margin:0;font-size:12.5px;color:#6E7987}

/* ---------- language switcher ---------- */
.lang{position:fixed;left:14px;bottom:16px;z-index:60}
.lang__toggle{
  display:flex;align-items:center;gap:6px;height:40px;padding:0 14px;
  border-radius:999px;background:#11161F;border:1px solid #2A3442;
  color:var(--white);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;
}
.lang__toggle::after{content:"▲";font-size:8px;color:var(--muted)}
.lang__list{
  position:absolute;left:0;bottom:48px;margin:0;padding:6px;list-style:none;
  min-width:132px;background:#11161F;border:1px solid #2A3442;border-radius:12px;
  display:none;box-shadow:0 12px 30px rgba(0,0,0,.45);
}
.lang.is-open .lang__list{display:block}
.lang__list button{
  width:100%;text-align:left;padding:9px 10px;background:none;border:0;
  color:var(--white);font-size:13.5px;font-family:inherit;border-radius:8px;cursor:pointer;
}
.lang__list button:hover{background:#1A212C}
.lang__list button[aria-current="true"]{color:var(--teal)}

/* ---------- desktop ---------- */
@media (min-width:760px){
  .nav{padding:16px 32px}
  .hero{padding:92px 32px 72px}
  .led{right:32px;top:54px;gap:14px}
  .led i{width:10px;height:190px}
  .grid3{grid-template-columns:repeat(3,1fr);gap:16px}
  .msgs{grid-template-columns:repeat(4,1fr)}
  .foot__meta{display:inline;margin-right:14px}
  .foot{padding-bottom:60px}
}

/* ---------- small phones ---------- */
@media (max-width:520px){
  .nav{flex-wrap:wrap;row-gap:8px}
  .nav__brand{font-size:14.5px}
  .nav__links{flex-wrap:wrap;justify-content:flex-end;gap:10px;font-size:12.5px}
  .hero{padding-top:40px}
  .hero__cta .btn{flex:1 1 auto}
}

/* ---------- footer links ---------- */
.foot__links{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.foot__links a{font-size:12.5px;color:#8A96A6;padding:7px 12px;border:1px solid var(--line);border-radius:999px}
.foot__links a:hover{color:var(--white);border-color:#33404F}
