:root{
  --deep:#0d4a9c;--deep2:#0a3d86;--blue:#1b74e4;--blue-l:#4fa3ff;--sky:#eaf4ff;
  --ink:#10284a;--text:#394a60;--yellow:#ffe14d;--pink:#ff2f6d;--gray:#f1f4f8;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:56px}
body{font-family:Pretendard,'Malgun Gothic',sans-serif;background:#dfe9f5;color:var(--ink);-webkit-font-smoothing:antialiased;word-break:keep-all;line-height:1.45}
img{display:block;max-width:100%;height:auto;border:0}
a{color:inherit;-webkit-tap-highlight-color:transparent}
h1,h2,h3,p{margin:0}
.y{color:var(--yellow)}
.b{color:var(--blue)}
.pc{display:none}
.mo{max-width:640px;margin:0 auto;background:#fff;overflow:hidden;box-shadow:0 0 40px rgba(13,74,156,.12)}
@media (min-width:991px){
  html{scroll-padding-top:76px}
  body{background:#fff}
  .mo,.floats,.bar{display:none!important}
  .pc{display:block;overflow:hidden}
}

/* ================================================================ animation library */
.rv,.rv-l,.rv-r,.rv-z,.rv-f,.rv-d{transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1.15);transition-delay:var(--d,0s)}
.rv{opacity:0;transform:translateY(34px)}
.rv-l{opacity:0;transform:translateX(-60px)}
.rv-r{opacity:0;transform:translateX(60px)}
.rv-z{opacity:0;transform:scale(.6)}
.rv-f{opacity:0;transform:perspective(600px) rotateX(-80deg);transform-origin:50% 0}
.rv-d{opacity:0;transform:translateY(-40px)}
.go{opacity:1!important;transform:none!important}

.blink{animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:.15}}
.blink-soft{animation:blinks 1.4s ease-in-out infinite}
@keyframes blinks{50%{opacity:.35}}
.flash-y{animation:flashy 1.2s steps(1) infinite}
@keyframes flashy{50%{color:#fff}}
.flash-b{animation:flashb 1.2s steps(1) infinite}
@keyframes flashb{50%{color:var(--pink)}}
.bob{animation:bob 2.4s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.pulse{animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(27,116,228,.55)}70%{box-shadow:0 0 0 16px rgba(27,116,228,0)}}
.pulse-y{animation:pulsey 1.6s ease-in-out infinite}
@keyframes pulsey{0%,100%{box-shadow:0 0 0 0 rgba(255,225,77,.7)}70%{box-shadow:0 0 0 18px rgba(255,225,77,0)}}
.pulse-w{animation:pulsew 1.6s ease-in-out infinite}
@keyframes pulsew{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.75)}70%{box-shadow:0 0 0 18px rgba(255,255,255,0)}}
.ring{animation:ring 1.4s ease-in-out infinite;transform-origin:50% 50%}
@keyframes ring{0%,50%,100%{transform:rotate(0)}10%,30%{transform:rotate(-16deg)}20%,40%{transform:rotate(16deg)}}
.wiggle{animation:wiggle 2s ease-in-out infinite}
@keyframes wiggle{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(-12deg)}80%{transform:rotate(10deg)}90%{transform:rotate(-6deg)}}
.hop{animation:hop 1.8s cubic-bezier(.3,1.6,.5,1) infinite;animation-delay:var(--d,0s)}
@keyframes hop{0%,55%,100%{transform:translateY(0)}70%{transform:translateY(-10px)}}
.ken{animation:ken 9s ease-in-out infinite alternate}
@keyframes ken{from{transform:scale(1)}to{transform:scale(1.14) translate(-2%,-1%)}}
.shine{position:relative;overflow:hidden;isolation:isolate}
.shine::after{content:"";position:absolute;top:-20%;bottom:-20%;left:-60%;width:40%;z-index:1;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:shine 2.8s ease-in-out infinite;animation-delay:var(--sd,0s)}
@keyframes shine{0%{left:-60%}55%,100%{left:130%}}
.float-in{animation:floatin .9s cubic-bezier(.2,.9,.3,1.3) both;animation-delay:var(--d,0s)}
@keyframes floatin{from{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:none}}
.drop-in{animation:dropin .8s cubic-bezier(.2,.9,.3,1.35) both;animation-delay:var(--d,0s)}
@keyframes dropin{from{opacity:0;transform:translateY(-60px)}to{opacity:1;transform:none}}
.pop-in{animation:popin .7s cubic-bezier(.2,.9,.3,1.5) both;animation-delay:var(--d,0s)}
@keyframes popin{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}
.slide-l{animation:slidel .8s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:var(--d,0s)}
@keyframes slidel{from{opacity:0;transform:translateX(-80px)}to{opacity:1;transform:none}}
.slide-r{animation:slider .8s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:var(--d,0s)}
@keyframes slider{from{opacity:0;transform:translateX(80px)}to{opacity:1;transform:none}}
.cycle > *{transition:transform .35s cubic-bezier(.2,.9,.3,1.4),box-shadow .35s,background .35s,color .35s}
.cycle > .on{transform:translateY(-6px)!important;box-shadow:0 0 0 3px var(--yellow),0 12px 22px rgba(0,0,0,.25)!important}
.typing::after{content:"|";margin-left:3px;font-weight:400;animation:blink 1s steps(1) infinite}
.spark{position:absolute;width:10px;height:10px;pointer-events:none;background:#fff;border-radius:50%;box-shadow:0 0 12px 4px rgba(255,255,255,.9);
  animation:spark 2.4s ease-in-out infinite;animation-delay:var(--d,0s);opacity:0}
@keyframes spark{0%,100%{opacity:0;transform:scale(.2)}50%{opacity:1;transform:scale(1)}}
.pin-ring{position:absolute;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:4px solid var(--pink);pointer-events:none;animation:pinr 1.8s ease-out infinite;animation-delay:var(--d,0s)}
@keyframes pinr{from{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(3.2)}}
.draw{clip-path:inset(0 50% 0 50%);transition:clip-path 1s cubic-bezier(.6,0,.2,1);transition-delay:var(--d,0s)}
.draw.go{clip-path:inset(0 0 0 0)}
.unroll{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s cubic-bezier(.6,0,.2,1)}
.unroll.go{clip-path:inset(0 0 -20px 0)}
.progress{position:fixed;left:0;top:0;height:3px;width:0;z-index:200;background:linear-gradient(90deg,var(--yellow),var(--pink))}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv,.rv-l,.rv-r,.rv-z,.rv-f,.rv-d{opacity:1;transform:none}
  .draw,.unroll{clip-path:none}
}

/* ================================================================ header / ticker (공통) */
.hd{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e3ebf5}
.hd-in{display:flex;align-items:center;justify-content:space-between;max-width:640px;margin:0 auto;height:54px;padding:0 12px}
.logo{display:flex;align-items:center;gap:6px;text-decoration:none;font-size:19px;font-weight:800;letter-spacing:-.8px;color:var(--ink)}
.logo img{height:20px;width:auto}
.hd-nav{display:none}
.hd-call{display:flex;align-items:center;gap:5px;height:34px;padding:0 13px 0 9px;border-radius:17px;background:var(--pink);color:#fff;
  font-size:15px;font-weight:800;text-decoration:none;letter-spacing:-.4px}
.hd-call i{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#fff}
.hd-call svg{width:13px;height:13px;fill:var(--pink)}
.hd-call .num{display:none}
.ticker{overflow:hidden;background:var(--deep);color:#fff;white-space:nowrap;font-size:clamp(15px,4.2vw,18px);font-weight:600;letter-spacing:-.5px}
.ticker-in{display:inline-flex;gap:48px;padding:9px 0;animation:tick 18s linear infinite}
.ticker b{color:var(--yellow)}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (min-width:991px){
  .hd-in{max-width:1240px;height:76px;padding:0 20px}
  .logo{font-size:26px}
  .logo img{height:26px}
  .hd-nav{display:flex;gap:34px;font-size:18px;font-weight:700}
  .hd-nav a{text-decoration:none;color:var(--ink);position:relative}
  .hd-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;background:var(--blue);transform:scaleX(0);transition:transform .3s}
  .hd-nav a:hover::after{transform:scaleX(1)}
  .hd-call{height:50px;padding:0 22px 0 10px;border-radius:25px;font-size:24px;gap:10px}
  .hd-call i{width:32px;height:32px}
  .hd-call svg{width:18px;height:18px}
  .hd-call .txt{display:none}
  .hd-call .num{display:inline}
  .ticker{font-size:19px}
  .ticker-in{padding:11px 0}
}

/* ================================================================ shared components */
.pill2{display:inline-flex;border-radius:30px;overflow:hidden;border:2px solid var(--deep);box-shadow:0 4px 12px rgba(13,74,156,.25);
  font-size:clamp(15px,4.4vw,19px);font-weight:800;letter-spacing:-.6px}
.pill2 span{padding:7px 16px;background:#fff;color:var(--ink)}
.pill2 span+span{background:var(--deep);color:#fff}
.h-big{font-weight:900;letter-spacing:-2px;line-height:1.1;color:#fff;-webkit-text-stroke:.14em var(--deep);paint-order:stroke fill;text-shadow:0 .08em .16em rgba(10,40,90,.35)}
.h-big .ln{display:block}
.search{display:flex;align-items:center;gap:10px;padding:9px 16px;border-radius:30px;background:#fff;border:2px solid var(--deep);
  box-shadow:0 6px 16px rgba(13,74,156,.25);font-weight:800;color:var(--ink);letter-spacing:-.6px}
.search svg{flex:none;width:22px;height:22px;fill:none;stroke:var(--blue);stroke-width:2.6}
.search span{flex:1;text-align:center}
.medal{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff6c8,#f6cf55 40%,#d49a1c 75%,#b7800f);box-shadow:0 6px 14px rgba(0,0,0,.28),inset 0 0 0 4px rgba(255,255,255,.45);
  text-align:center;font-weight:900;line-height:1.15;letter-spacing:-1px;color:var(--deep)}
.medal b{display:block;color:#c3102f}
.grid6 div{border-radius:12px;background:#fff;color:var(--ink);text-align:center;box-shadow:0 4px 10px rgba(0,0,0,.12)}
.grid6 svg{display:block;margin:0 auto 6px;fill:none;stroke:var(--deep);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.grid6 p b{display:block;font-weight:800}
.cap{position:absolute;left:14px;right:14px;z-index:2;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:6px;background:#fff;
  border:2.5px solid var(--ink);box-shadow:4px 4px 0 var(--ink);text-align:center;font-weight:900;letter-spacing:-.8px;color:var(--ink)}
.cap.top{top:14px}
.cap.bot{bottom:14px}
.cap .tx{flex:1}
.cap .tx small{display:block;font-weight:600}
.cap .tx span{display:block;color:var(--blue)}
.cap.search-cap{padding:0 0 0 16px;overflow:hidden}
.cap.search-cap i{align-self:stretch;display:flex;align-items:center;padding:0 12px;background:var(--ink)}
.cap.search-cap svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2.6}
.int{position:relative;overflow:hidden}
.int img{width:100%}
.map{position:relative;border-radius:14px;overflow:hidden;border:2px solid #cfdcec}
.rows{display:flex;flex-direction:column;gap:9px}
.rows div{display:flex;align-items:center;gap:10px;border-radius:30px;background:var(--deep);color:#fff;text-align:left;font-weight:600;letter-spacing:-.6px}
.rows i{flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff}
.rows svg{fill:none;stroke:var(--deep);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rows b{color:var(--yellow);font-weight:800}
.tri{display:grid;grid-template-columns:repeat(3,1fr)}
.tri div{position:relative;border-radius:8px;background:var(--deep);color:#fff;font-weight:900;line-height:1.3;letter-spacing:-.8px}
.tri div::before{content:"";position:absolute;left:50%;top:-1px;transform:translateX(-50%);border:7px solid transparent;border-top-color:var(--gray)}
.tri div span{color:var(--yellow)}
.roof-line{background:linear-gradient(to bottom right,transparent calc(50% - 4px),#fff calc(50% - 4px),#fff calc(50% + 4px),transparent calc(50% + 4px)) left/50% 100% no-repeat,
  linear-gradient(to bottom left,transparent calc(50% - 4px),#fff calc(50% - 4px),#fff calc(50% + 4px),transparent calc(50% + 4px)) right/50% 100% no-repeat}
.hl{display:inline-block;padding:0 14px;background:#fff;color:var(--deep);font-weight:900;letter-spacing:-2px;line-height:1.25}
.g6{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.g6 div{padding:12px 4px 14px;border-radius:10px;background:#fff;color:var(--ink);text-align:center}
.g6 small{display:block;font-weight:600;color:var(--text);letter-spacing:-.5px}
.g6 b{display:block;margin-top:4px;font-weight:900;line-height:1.15;letter-spacing:-1.2px}
.g6 b.b{color:var(--blue)}
.roll{height:38px;border-radius:19px;background:var(--deep);box-shadow:inset 0 0 0 7px var(--yellow),0 6px 12px rgba(0,0,0,.18);margin:0 4px;position:relative;z-index:1}
.ticket{position:relative;margin:-18px 22px 0;padding:34px 16px 30px;background:#fff;text-align:center;box-shadow:0 8px 18px rgba(0,0,0,.08);
  -webkit-mask:radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 0 0/18px 100% repeat-x;mask:radial-gradient(circle 7px at 50% 100%,transparent 98%,#000) 0 0/18px 100% repeat-x}
.ticket .tag{display:inline-block;padding:3px 16px;border-radius:14px;background:var(--gray);font-size:14px;font-weight:600;color:var(--text)}
.ticket .t1{margin-top:10px;font-weight:900;letter-spacing:-1px}
.ticket .t2{margin-top:6px;font-weight:900;letter-spacing:-2px;line-height:1.1}
.ticket .t3{font-weight:900;letter-spacing:-2px;line-height:1.15}
.ticket .t3 .num{display:inline-block;font-size:1.35em;color:var(--blue);letter-spacing:-3px}
.ticket .t4{margin-top:14px;padding-top:14px;border-top:1px dashed #d1dae6;font-weight:800;letter-spacing:-.8px}
.vid{display:block;width:100%;height:auto;background:#0b2a55}

/* 기본 제공 품목 */
.items{position:relative;overflow:hidden;isolation:isolate;padding:52px 16px 44px;text-align:center;background:linear-gradient(180deg,#f5faff 0,#e3f0ff 100%)}
.items .bub{position:absolute;z-index:-1;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(79,163,255,.35),rgba(79,163,255,0) 70%);
  animation:bub 7s ease-in-out infinite;animation-delay:var(--d,0s)}
.items .bub.sm{width:140px;height:140px}
@keyframes bub{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(24px,-30px) scale(1.15)}}
.items .kick{font-size:clamp(15px,4.2vw,18px);font-weight:700;color:var(--blue);letter-spacing:-.5px}
.items h2{margin-top:6px}
.items h2 span{display:inline-block;padding:4px 18px;border-radius:12px;font-size:clamp(34px,9.6vw,46px);font-weight:900;letter-spacing:-1.8px;color:var(--deep)}
.items .free{display:inline-block;margin-top:10px;padding:6px 16px;border-radius:20px;background:var(--pink);color:#fff;font-size:clamp(15px,4.2vw,18px);font-weight:800;letter-spacing:-.5px}
.it-list{display:grid;gap:12px;margin-top:24px}
.it{position:relative;display:flex;align-items:center;gap:14px;padding:16px 14px;border-radius:16px;background:#fff;border:2px solid #d3e4fa;
  box-shadow:0 8px 18px rgba(13,74,156,.08);text-align:left}
.it .ic{flex:none;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:16px;
  background:linear-gradient(135deg,var(--blue-l),var(--blue));box-shadow:0 6px 12px rgba(27,116,228,.3)}
.it .ic svg{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.it .tx{flex:1;min-width:0}
.it b{display:block;font-size:clamp(18px,5vw,22px);font-weight:900;line-height:1.25;letter-spacing:-.8px;color:var(--ink)}
.it small{display:block;margin-top:4px;font-size:clamp(14px,3.9vw,16px);font-weight:500;line-height:1.4;color:var(--text)}
.it .ck{flex:none;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--yellow)}
.it .ck svg{width:22px;height:22px;fill:none;stroke:var(--deep);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.it .ck path{stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .6s ease;transition-delay:calc(var(--d,0s) + .5s)}
.it.go .ck path{stroke-dashoffset:0}
.it.on{border-color:var(--blue)}
.it.on .ic{animation:none;transform:scale(1.08) rotate(-6deg);transition:transform .3s}
.items .note{margin-top:18px;font-size:clamp(12px,3.4vw,14px);color:#5b6d85}

/* 본리네거리 항공뷰 */
.aer{position:relative;overflow:hidden;background:#0b1d3c;color:#fff;padding-top:84px}
.p-aer{padding-top:0}
.aer-ph{position:relative;animation:aerz 16s ease-in-out infinite alternate;transform-origin:50% 55%}
@keyframes aerz{from{transform:scale(1)}to{transform:scale(1.07)}}
.aer-ph img{width:100%}
.aer::before,.aer::after{content:"";position:absolute;left:0;right:0;z-index:1;pointer-events:none}
.aer::before{top:0;height:48%;background:linear-gradient(180deg,rgba(6,22,48,.92) 0,rgba(6,22,48,.6) 45%,rgba(6,22,48,0))}
.aer::after{bottom:0;height:30%;background:linear-gradient(0deg,rgba(6,22,48,.9),rgba(6,22,48,0))}
.aer-tx{position:absolute;left:0;right:0;top:0;z-index:2;padding:32px 16px 0;text-align:center}
.aer .en,.vw .en{font-size:clamp(14px,3.8vw,17px);font-weight:700;letter-spacing:3px;color:#f6d77e}
.aer h2,.vw h2{margin-top:6px;font-size:clamp(30px,8.6vw,42px);font-weight:900;line-height:1.2;letter-spacing:-1.4px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.aer h2 span,.vw h2 span{color:var(--yellow)}
.aer .sub,.vw .sub{margin-top:8px;font-size:clamp(15px,4.2vw,18px);font-weight:600;letter-spacing:-.5px;color:#e6eef9;text-shadow:0 1px 6px rgba(0,0,0,.5)}
.pin{position:absolute;z-index:1;width:0;height:0}
.pin-ring.gold{border-color:#ffd65a;z-index:0}
.pin-b{position:absolute;left:0;bottom:0;animation:pinb 1.4s cubic-bezier(.3,.7,.4,1) infinite}
@keyframes pinb{0%,100%{transform:translateY(0)}45%{transform:translateY(-16px)}}
.pin .mk{position:absolute;left:-20px;bottom:0;width:40px;height:51px;fill:#ffc93c;filter:drop-shadow(0 4px 6px rgba(0,0,0,.45))}
.pin .lab{position:absolute;left:0;bottom:60px;transform:translateX(-50%);white-space:nowrap;padding:7px 16px;border-radius:22px;background:var(--deep);border:2px solid #ffd65a;
  font-size:clamp(14px,3.9vw,17px);font-weight:800;letter-spacing:-.4px;color:#fff;box-shadow:0 6px 14px rgba(0,0,0,.35)}
.chips{position:absolute;left:0;right:0;bottom:34px;z-index:2;display:flex;justify-content:center;gap:8px;margin:0;padding:0 12px;list-style:none}
.chips li{padding:8px 14px;border-radius:20px;background:rgba(255,255,255,.95);color:var(--deep);font-size:clamp(14px,3.8vw,16px);font-weight:800;letter-spacing:-.4px;box-shadow:0 4px 10px rgba(0,0,0,.25)}
.aer .disc,.vw .disc{position:absolute;left:0;right:0;bottom:10px;z-index:2;margin:0;text-align:center;font-size:11px;color:rgba(255,255,255,.75)}

/* 전면 조망 */
.vw{position:relative;overflow:hidden;background:#0a1f3f;color:#fff}
.vw-bg{width:100%;animation:vwpan 18s ease-in-out infinite alternate}
@keyframes vwpan{from{transform:scale(1.02) translateY(0)}to{transform:scale(1.1) translateY(-2%)}}
.vw::before,.vw::after{content:"";position:absolute;left:0;right:0;z-index:1;pointer-events:none}
.vw::before{top:0;height:46%;background:linear-gradient(180deg,rgba(6,22,48,.9) 0,rgba(6,22,48,.55) 50%,rgba(6,22,48,0))}
.vw::after{bottom:0;height:22%;background:linear-gradient(0deg,rgba(6,22,48,.8),rgba(6,22,48,0))}
.vw .scan{position:absolute;top:0;bottom:0;left:-40%;z-index:1;width:35%;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);animation:scan 4.5s linear infinite}
@keyframes scan{to{left:120%}}
.vw-tx{position:absolute;left:0;right:0;top:0;z-index:2;padding:32px 16px 0;text-align:center}
.gauge{position:absolute;z-index:2;left:9%;bottom:12%;height:34%;width:10px}
.gauge .rail{position:absolute;left:3px;top:0;bottom:0;width:4px;border-radius:2px;background:rgba(255,255,255,.4)}
.gauge .rail::after{content:"";position:absolute;left:-5px;top:0;bottom:0;width:14px;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.8) 0 2px,transparent 2px calc(100% / 7))}
.gauge .fill{position:absolute;left:2px;bottom:0;width:6px;height:0;border-radius:3px;background:linear-gradient(0deg,#d49a1c,#ffe38a);
  box-shadow:0 0 12px rgba(255,214,90,.8);transition:height 2.2s cubic-bezier(.2,.8,.2,1) .15s}
.gauge .panel{position:absolute;left:24px;bottom:0;transform:translateY(50%);padding:10px 16px;border-radius:14px;background:rgba(6,19,40,.82);border:1.5px solid rgba(255,214,90,.6);
  text-align:center;white-space:nowrap;transition:bottom 2.2s cubic-bezier(.2,.8,.2,1) .15s;backdrop-filter:blur(4px)}
.gauge .panel b{display:block;font-size:clamp(34px,9.6vw,46px);font-weight:900;line-height:1;letter-spacing:-1px;color:#ffd65a}
.gauge .panel small{display:block;margin-top:4px;font-size:clamp(17px,4.8vw,22px);font-weight:800;color:#fff}
.gauge.go .fill{height:100%}
.gauge.go .panel{bottom:100%}
.gauge::before{content:"";position:absolute;left:-4px;bottom:0;width:18px;height:18px;border-radius:50%;background:#ffd65a;transform:translateY(50%);
  box-shadow:0 0 0 6px rgba(255,214,90,.3);transition:bottom 2.2s cubic-bezier(.2,.8,.2,1) .15s}
.gauge.go::before{bottom:100%}

/* PREMIUM 6 */
.prem{position:relative;overflow:hidden;isolation:isolate;padding:52px 14px 46px;text-align:center;background:linear-gradient(180deg,#fff 0,#e4f0ff 100%)}
.prem::before{content:"";position:absolute;inset:0;z-index:-1;
  background-image:linear-gradient(rgba(27,116,228,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(27,116,228,.08) 1px,transparent 1px);
  background-size:34px 34px;animation:gridmove 8s linear infinite}
@keyframes gridmove{to{background-position:34px 34px}}
.prem .en{font-size:clamp(13px,3.6vw,16px);font-weight:800;letter-spacing:4px;color:var(--blue)}
.prem .ko{margin-top:4px;font-size:clamp(18px,5vw,22px);font-weight:800;letter-spacing:-.6px;color:var(--ink)}
.prem h2{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:4px;font-size:clamp(44px,12.5vw,62px);font-weight:900;letter-spacing:-1px;line-height:1.1;color:var(--deep)}
.prem .six{display:inline-flex;align-items:center;justify-content:center;width:1.2em;height:1.2em;border-radius:50%;background:var(--yellow);color:var(--deep);
  box-shadow:0 8px 18px rgba(255,190,0,.45);animation:sixspin 3.2s ease-in-out infinite}
@keyframes sixspin{0%,65%,100%{transform:rotateY(0) scale(1)}80%{transform:rotateY(180deg) scale(1.1)}95%{transform:rotateY(360deg) scale(1)}}
.pm-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}
.pm{position:relative;padding:24px 8px 20px;border-radius:18px;background:#fff;border:2px solid #d3e4fa;box-shadow:0 8px 18px rgba(13,74,156,.08)}
.pm .no{position:absolute;left:12px;top:10px;font-size:15px;font-weight:900;letter-spacing:-.3px;color:var(--blue);transition:color .35s}
.pm .ic{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 auto;border-radius:50%;background:var(--deep);transition:background .35s}
.pm .ic svg{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:stroke .35s}
.pm b{display:block;margin-top:12px;font-size:clamp(18px,5.2vw,23px);font-weight:900;line-height:1.25;letter-spacing:-.8px;color:var(--ink);transition:color .35s}
.pm b em{font-style:normal;color:var(--blue);transition:color .35s}
.pm small{display:block;margin-top:8px;font-size:clamp(13px,3.6vw,15px);font-weight:500;line-height:1.45;letter-spacing:-.4px;color:var(--text);transition:color .35s}
.pm.on{background:var(--deep);border-color:var(--deep)}
.pm.on b,.pm.on small{color:#fff}
.pm.on b em,.pm.on .no{color:var(--yellow)}
.pm.on .ic{background:var(--yellow)}
.pm.on .ic svg{stroke:var(--deep)}

/* form */
.form{padding:22px 18px;border-radius:18px;background:#fff;border:2px solid var(--deep);box-shadow:0 10px 24px rgba(13,74,156,.14)}
.form label.f{display:block;margin:14px 0 6px;font-size:15px;font-weight:800;color:var(--ink)}
.form label.f:first-child{margin-top:0}
.form input[type=text],.form input[type=tel],.form input[type=date],.form select{width:100%;height:54px;border:1.5px solid #c6d4e6;border-radius:10px;
  padding:0 14px;font:inherit;font-size:17px;color:var(--ink);background:#fff}
.form input[type=date],.form select{-webkit-appearance:none;appearance:none;padding:0 12px}
.form select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230d4a9c' stroke-width='2'/%3E%3C/svg%3E") right 14px center no-repeat}
.form input:focus,.form select:focus{outline:0;border-color:var(--blue)}
.when{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.agree-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0}
.agree{display:flex;gap:8px;align-items:center;font-size:15px;color:var(--text)}
.agree input{width:20px;height:20px;accent-color:var(--blue)}
.agree-view{flex:none;padding:5px 12px;border:1px solid #c6d4e6;border-radius:8px;font-size:13px;font-weight:700;color:var(--deep);text-decoration:none;background:#fff}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.submit:disabled{opacity:.7;cursor:wait}
.submit{display:block;width:100%;height:58px;border:0;border-radius:12px;background:var(--blue);color:#fff;font:inherit;font-size:20px;font-weight:900;letter-spacing:-.6px;cursor:pointer}

/* terms popup */
.terms{display:none;position:fixed;inset:0;z-index:1100;background:rgba(3,15,35,.6)}
.terms.on{display:block}
.terms-in{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 32px);max-width:480px;max-height:80vh;
  display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden}
.terms h4{margin:0;padding:20px 22px 14px;font-size:18px;letter-spacing:-.6px;color:var(--deep);border-bottom:1px solid #eee}
.terms-body{padding:16px 22px;overflow-y:auto;font-size:14px;line-height:1.65;color:#444}
.terms-body dl{margin:0}
.terms-body dt{margin-top:12px;font-weight:700;color:var(--deep)}
.terms-body dt:first-child{margin-top:0}
.terms-body dd{margin:2px 0 0}
.terms-body .note{margin-top:14px;font-size:13px;color:#888}
.terms .ok{display:block;margin:0 22px 20px;height:48px;border-radius:12px;background:var(--deep);color:#fff;font-size:16px;font-weight:700;
  line-height:48px;text-align:center;text-decoration:none}

/* ================================================================ MOBILE */
.m-hero{position:relative;min-height:clamp(520px,150vw,760px);padding:22px 16px 0;text-align:center;background:linear-gradient(180deg,#78aee9,#99bdeb 45%);isolation:isolate;overflow:hidden}
.m-hero .bg{position:absolute;inset:0;z-index:-1;background:url(../img/hero.jpg) 74% 100%/165% auto no-repeat;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,transparent 12%,#000 34%);mask-image:linear-gradient(180deg,transparent 0,transparent 12%,#000 34%);
  animation:heroz 14s ease-in-out infinite alternate}
@keyframes heroz{from{transform:scale(1)}to{transform:scale(1.08)}}
.m-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;z-index:-1;background:linear-gradient(180deg,rgba(13,74,156,0),var(--deep))}
.m-hero .h-big{margin-top:12px;font-size:clamp(46px,14vw,78px)}
.m-hero .h-big .y{font-size:1.12em}
.m-hero .search{max-width:420px;margin:14px auto 0;font-size:clamp(16px,4.6vw,20px)}
.m-hero .medals{position:absolute;right:12px;top:clamp(250px,70vw,380px);z-index:2;display:flex;flex-direction:column;gap:8px}
.m-hero .medal{width:clamp(84px,23vw,120px);font-size:clamp(16px,4.4vw,22px)}
.m-cards{padding:4px 14px 44px;position:relative;z-index:1;background:var(--deep);color:#fff}
.select{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 20px;border-radius:26px;border:2px solid rgba(255,255,255,.7);
  font-size:clamp(17px,4.8vw,20px);font-weight:700;color:#fff}
.select .caret{width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:13px solid #fff}
.m-cards .grid6{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.m-cards .grid6 div{padding:14px 4px 12px}
.m-cards .grid6 svg{width:36px;height:36px}
.m-cards .grid6 p{font-size:clamp(13px,3.6vw,15px);font-weight:500;letter-spacing:-.6px;line-height:1.3}
.big-copy{margin-top:40px;text-align:center}
.big-copy .s{font-size:clamp(22px,6.4vw,30px);font-weight:700;letter-spacing:-1px}
.big-copy .l{margin-top:2px;font-size:clamp(34px,10vw,50px);font-weight:900;letter-spacing:-2px;line-height:1.15}
.white-pill{display:block;max-width:360px;margin:16px auto 0;padding:10px;border-radius:30px;background:#fff;color:var(--ink);text-align:center;
  font-size:clamp(20px,5.8vw,26px);font-weight:900;letter-spacing:-1px}
.mo .cap .tx small{font-size:clamp(13px,3.6vw,16px)}
.mo .cap .tx span,.mo .cap.search-cap .tx,.mo .cap.plain .tx{font-size:clamp(19px,5.6vw,26px)}
.mo .cap.search-cap .tx{padding:9px 0}
.gallery{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:14px;background:var(--sky);-webkit-overflow-scrolling:touch;scrollbar-width:none}
.gallery::-webkit-scrollbar{display:none}
.gallery img{flex:none;width:78%;border-radius:10px;scroll-snap-align:center}
.gallery-t{padding:30px 14px 0;background:var(--sky);text-align:center}
.gallery-t h2{font-size:clamp(24px,7vw,34px);font-weight:900;letter-spacing:-1.2px;color:var(--deep)}
.gallery-t p{margin-top:4px;font-size:clamp(14px,3.8vw,16px);color:var(--text)}
.m-loc{padding:44px 14px 40px;text-align:center}
.m-loc .s{font-size:clamp(20px,5.8vw,26px);font-weight:700;letter-spacing:-1px}
.m-loc h2{font-size:clamp(30px,8.6vw,48px);font-weight:900;letter-spacing:-1px;color:var(--deep);line-height:1.1}
.m-loc .sub{margin-top:6px;font-size:clamp(15px,4.2vw,18px);color:var(--text)}
.m-loc .map{margin-top:18px}
.m-loc .rows{margin-top:20px}
.m-loc .rows div{padding:8px 14px 8px 8px;font-size:clamp(14px,3.8vw,16px)}
.m-loc .rows i{width:34px;height:34px}
.m-loc .rows svg{width:20px;height:20px}
.m-early{padding:36px 14px 30px;background:var(--gray);text-align:center}
.m-early .s{font-size:clamp(22px,6.2vw,28px);font-weight:800;letter-spacing:-1px}
.m-early .l{font-size:clamp(28px,8.4vw,40px);font-weight:900;letter-spacing:-1.6px}
.m-early .l em{font-style:normal;color:var(--blue)}
.m-early .tri{gap:7px;margin-top:16px}
.m-early .tri div{padding:16px 4px;font-size:clamp(15px,4.2vw,19px)}
.m-roof{position:relative;padding:70px 14px 40px;text-align:center;color:#fff;background:linear-gradient(180deg,var(--deep),var(--deep2))}
.m-roof .roof-line{position:absolute;left:11%;right:11%;top:36px;height:60px}
.m-roof .l1{margin-top:40px;font-size:clamp(34px,10vw,52px);font-weight:500;letter-spacing:-2px}
.m-roof .hl{margin-top:6px;font-size:clamp(38px,11.5vw,60px)}
.m-roof .l2{margin-top:22px;font-size:clamp(40px,12vw,62px);font-weight:900;letter-spacing:-2px;line-height:1.15}
.m-roof .l3{font-size:clamp(38px,11.5vw,58px);font-weight:400;letter-spacing:-1px;line-height:1.15}
.m-roof ul{margin:24px auto 0;padding:0;list-style:none;display:inline-block;text-align:left;font-size:clamp(16px,4.6vw,20px);font-weight:600;letter-spacing:-.6px}
.m-roof li{padding:2px 0 2px 16px;border-left:2px solid rgba(255,255,255,.7);margin:6px 0}
.m-roof .g6{margin-top:26px}
.m-roof .g6 small{font-size:clamp(12px,3.3vw,14px)}
.m-roof .g6 b{font-size:clamp(20px,5.8vw,28px)}
.m-ticket{padding:26px 14px 40px;background:var(--gray)}
.m-ticket .t1{font-size:clamp(20px,5.8vw,27px)}
.m-ticket .t2,.m-ticket .t3{font-size:clamp(36px,10.5vw,54px)}
.m-ticket .t4{font-size:clamp(16px,4.6vw,21px)}
.m-regist{padding:40px 16px 44px;background:linear-gradient(180deg,var(--sky),#fff)}
.reg-head{text-align:center}
.reg-head small{display:inline-block;padding:5px 14px;border-radius:20px;background:var(--deep);color:#fff;font-size:14px;font-weight:700}
.reg-head h2{margin-top:10px;font-size:clamp(28px,8vw,38px);font-weight:900;letter-spacing:-1.5px;color:var(--deep)}
.reg-head p{margin-top:4px;font-size:clamp(15px,4.2vw,18px);color:var(--text)}
.m-regist .form{margin-top:20px}
.last{position:relative;padding:22px 14px;background:var(--deep);color:#fff;text-align:center;overflow:hidden}
.last .top{display:flex;align-items:center;justify-content:space-between}
.shield{padding:10px 14px 16px;background:linear-gradient(180deg,#ffe8a3,#e0ad3c);color:var(--deep);font-size:clamp(17px,4.8vw,22px);font-weight:900;line-height:1.15;letter-spacing:-.8px;
  clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%);transform-origin:50% 0;animation:swing 2.4s ease-in-out infinite}
@keyframes swing{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
.last .brand{display:flex;align-items:center;gap:6px;font-size:clamp(16px,4.6vw,20px);font-weight:700}
.last .brand img{height:18px;width:auto}
.last .l{margin-top:14px;font-size:clamp(22px,6.4vw,31px);font-weight:900;letter-spacing:-1.2px}
.last .l b{font-size:1.3em;color:var(--yellow)}
.last .bar2{margin-top:12px;padding:9px;background:var(--blue);font-size:clamp(17px,5vw,23px);font-weight:700;letter-spacing:-.8px}
.m-ft{padding:34px 18px calc(34px + 80px);background:#0a2f66;color:#e8f0fa;text-align:center}
.ft-brand{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:800;letter-spacing:-.8px;color:#fff}
.m-ft .ft-brand{justify-content:center}
.ft-brand img{height:22px;width:auto}
.ft-tel{display:block;margin-top:8px;font-size:clamp(40px,11vw,52px);font-weight:900;letter-spacing:-1px;color:#fff;text-decoration:none}
.ft dl{margin:14px 0 0;font-size:15px;line-height:1.75}
.ft dt{display:inline;font-weight:700;color:#fff}
.ft dd{display:inline;margin:0;color:#d5e2f2}
.ft dd::after{content:"";display:block}
.ft .copy{margin-top:14px;font-size:14px;font-weight:700;color:#fff}
.ft .disc{margin-top:10px;font-size:13px;line-height:1.7;color:#b3c6de}
.floats{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:640px;z-index:60;pointer-events:none}
.fcall{position:absolute;left:10px;bottom:calc(84px + env(safe-area-inset-bottom));pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:74px;height:74px;border-radius:18px;background:var(--pink);color:#fff;text-decoration:none;font-size:14px;font-weight:800;box-shadow:0 6px 16px rgba(255,47,109,.45)}
.fcall svg{width:28px;height:28px;fill:#fff;margin-bottom:2px}
.fcall em{position:absolute;right:-6px;top:-8px;padding:1px 6px;border-radius:8px;background:#e8112d;font-style:normal;font-size:11px;font-weight:800}
.bar{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:640px;z-index:70;display:flex;gap:8px;
  padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);box-shadow:0 -6px 16px rgba(13,74,156,.12)}
.bar a{flex:1;display:flex;align-items:center;justify-content:center;height:56px;border-radius:14px;color:#fff;text-decoration:none;
  font-size:clamp(17px,4.8vw,20px);font-weight:800;letter-spacing:-.5px}
.bar .b1{background:var(--deep)}
.bar .b2{background:var(--blue)}

/* ================================================================ PC */
.pc .in{max-width:1200px;margin:0 auto;padding:0 20px}
.pc .sec-t{text-align:center}
.pc .sec-t .s{font-size:24px;font-weight:700;letter-spacing:-.8px;color:var(--text)}
.pc .sec-t h2{margin-top:4px;font-size:54px;font-weight:900;letter-spacing:-2px;color:var(--deep);line-height:1.15}
.pc .sec-t h2 em{font-style:normal;color:var(--blue)}
.pc .sec-t p{margin-top:10px;font-size:20px;color:var(--text)}

.p-hero{position:relative;height:780px;overflow:hidden;isolation:isolate;background:#8fbbea}
.p-hero .bg{position:absolute;inset:0;z-index:-2;background:url(../img/hero.jpg) 80% 100%/cover no-repeat;animation:heroz 16s ease-in-out infinite alternate}
.p-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(120,174,233,.92) 0,rgba(140,188,238,.75) 38%,rgba(140,188,238,0) 62%)}
.p-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:200px;z-index:-1;background:linear-gradient(180deg,rgba(13,74,156,0),var(--deep))}
.p-hero .in{position:relative;height:100%;padding-top:70px}
.p-hero .copy{width:640px}
.p-hero .pill2{font-size:24px}
.p-hero .pill2 span{padding:10px 24px}
.p-hero .h-big{margin-top:22px;font-size:96px;letter-spacing:-3px}
.p-hero .h-big .y{font-size:1.15em}
.p-hero .search{width:560px;margin-top:26px;padding:14px 24px;font-size:26px}
.p-hero .search svg{width:30px;height:30px}
.p-hero .medals{position:absolute;right:40px;top:120px;display:flex;flex-direction:column;gap:18px}
.p-hero .medal{width:170px;font-size:30px}
.p-hero .spark{z-index:1}
.p-cards{position:relative;margin-top:-150px;padding-bottom:70px;background:transparent}
.p-cards .grid6{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.p-cards .grid6 div{padding:24px 8px 20px;border-radius:16px;box-shadow:0 12px 26px rgba(8,40,90,.25)}
.p-cards .grid6 svg{width:54px;height:54px;margin-bottom:10px}
.p-cards .grid6 p{font-size:18px;letter-spacing:-.7px;line-height:1.35}
.p-band{background:var(--deep);color:#fff;padding:0 0 70px}
.p-band .row{display:flex;align-items:center;justify-content:space-between;gap:30px}
.p-band .s{font-size:34px;font-weight:700;letter-spacing:-1px}
.p-band .l{font-size:64px;font-weight:900;letter-spacing:-2.5px;line-height:1.1}
.p-band .white-pill{margin:0;padding:18px 40px;font-size:34px;max-width:none}
.p-band .select{margin-top:40px;height:66px;font-size:24px;border-radius:33px;padding:0 30px}
.p-band .vid{margin-top:40px;border-radius:16px}

.p-int{padding:100px 0 0;background:var(--sky)}
.p-int .g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.p-int .int{border-radius:16px;box-shadow:0 14px 30px rgba(13,74,156,.18)}
.p-int .int img{height:300px;object-fit:cover}
.pc .cap .tx small{font-size:15px}
.pc .cap .tx span,.pc .cap.search-cap .tx,.pc .cap.plain .tx{font-size:21px}
.pc .cap.search-cap .tx{padding:10px 0}
.marquee{margin-top:40px;overflow:hidden;padding:0 0 100px}
.marquee-in{display:flex;gap:16px;width:max-content;animation:tick 40s linear infinite}
.marquee-in img{width:420px;height:230px;object-fit:cover;border-radius:14px}
.marquee:hover .marquee-in{animation-play-state:paused}

.p-vids{padding:100px 0;background:#fff}
.p-vids.alt{background:var(--gray)}
.p-vids .g2{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.p-vids .g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.p-vids .vid{border-radius:18px;box-shadow:0 18px 40px rgba(13,40,90,.22)}
.p-vids .sec-t{margin-bottom:50px}

.p-prem{padding:110px 0}
.p-prem .en{font-size:18px;letter-spacing:6px}
.p-prem .ko{font-size:26px}
.p-prem h2{font-size:80px}
.p-prem .pm-grid{grid-template-columns:repeat(3,1fr);margin-top:50px;gap:20px}
.pc .p-vids .vw{border-radius:18px;box-shadow:0 18px 40px rgba(13,40,90,.22)}
.pc .vw-tx{padding-top:40px}
.pc .vw h2{font-size:40px}
.pc .vw .sub{font-size:17px;padding:0 20px}
.pc .gauge .panel b{font-size:46px}
.pc .gauge .panel small{font-size:22px}
.p-aer .aer-tx{padding-top:70px}
.p-aer .en{font-size:20px;letter-spacing:6px}
.p-aer h2{font-size:64px;letter-spacing:-2px}
.p-aer .sub{font-size:24px}
.p-aer .pin .mk{left:-28px;width:56px;height:72px}
.p-aer .pin .lab{bottom:84px;padding:10px 24px;font-size:22px}
.p-aer .pin-ring{width:50px;height:50px;margin:-25px 0 0 -25px}
.p-aer .chips{bottom:50px;gap:14px}
.p-aer .chips li{padding:12px 26px;font-size:21px;border-radius:26px}
.p-aer .disc{font-size:13px;bottom:16px}
.p-prem .pm{padding:30px 12px 26px;border-radius:20px}
.p-prem .pm .no{font-size:17px;left:16px;top:14px}
.p-prem .pm .ic{width:76px;height:76px}
.p-prem .pm .ic svg{width:40px;height:40px}
.p-prem .pm b{font-size:24px}
.p-prem .pm small{font-size:15px}
.p-items{padding:110px 0}
.p-items .kick{font-size:22px}
.p-items h2 span{font-size:58px}
.p-items .free{font-size:20px;padding:8px 22px}
.p-items .it-list{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.p-items .it{flex-direction:column;align-items:center;text-align:center;padding:34px 20px 30px;gap:16px}
.p-items .it .ic{width:84px;height:84px;border-radius:22px}
.p-items .it .ic svg{width:46px;height:46px}
.p-items .it b{font-size:24px}
.p-items .it small{font-size:17px}
.p-items .it .ck{position:absolute;right:16px;top:16px;width:40px;height:40px}
.p-items .note{margin-top:30px;font-size:15px}
.p-loc{padding:110px 0}
.p-loc .g{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.p-loc .sec-t{text-align:left}
.p-loc .sec-t h2{font-size:64px}
.p-loc .rows{margin-top:36px;gap:14px}
.p-loc .rows div{padding:12px 22px 12px 12px;font-size:19px}
.p-loc .rows i{width:48px;height:48px}
.p-loc .rows svg{width:26px;height:26px}

.p-early{padding:100px 0;background:var(--gray)}
.p-early .tri{gap:20px;margin-top:44px}
.p-early .tri div{padding:40px 10px;font-size:32px;text-align:center;border-radius:16px}
.p-early .tri div::before{border-width:14px}

.p-roof{position:relative;padding:130px 0 110px;color:#fff;background:linear-gradient(180deg,var(--deep),var(--deep2))}
.p-roof .g{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.p-roof .txt{position:relative;text-align:center;padding-top:40px}
.p-roof .roof-line{position:absolute;left:4%;right:4%;top:-50px;height:80px}
.p-roof .l1{font-size:56px;font-weight:500;letter-spacing:-2px}
.p-roof .hl{margin-top:8px;font-size:70px}
.p-roof .l2{margin-top:26px;font-size:72px;font-weight:900;letter-spacing:-2px;line-height:1.1}
.p-roof .l3{font-size:66px;font-weight:400;letter-spacing:-1px;line-height:1.15}
.p-roof ul{margin:30px auto 0;padding:0;list-style:none;display:inline-block;text-align:left;font-size:22px;font-weight:600}
.p-roof li{padding:2px 0 2px 18px;border-left:3px solid rgba(255,255,255,.7);margin:8px 0}
.p-roof .g6{gap:14px}
.p-roof .g6 div{padding:26px 8px 28px;border-radius:14px}
.p-roof .g6 small{font-size:16px}
.p-roof .g6 b{margin-top:8px;font-size:34px}

.p-reserve{padding:110px 0;background:linear-gradient(180deg,var(--sky),#fff)}
.p-reserve .g{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.p-reserve .side{display:flex;flex-direction:column;gap:18px}
.p-reserve .ticket-wrap{background:var(--gray);border-radius:24px;padding:26px 24px 34px}
.p-reserve .ticket.drop{animation:tdrop 3.6s cubic-bezier(.3,1.4,.5,1) infinite;transform-origin:50% 0}
@keyframes tdrop{0%,70%,100%{transform:translateY(0)}78%{transform:translateY(8px)}86%{transform:translateY(-3px)}}
.perks{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style:none}
.perks li{display:flex;align-items:center;gap:10px;padding:16px 16px;border-radius:14px;background:#fff;border:2px solid #d3e4fa;
  box-shadow:0 6px 14px rgba(13,74,156,.08);font-size:19px;font-weight:700;letter-spacing:-.6px;color:var(--ink)}
.perks li b{color:var(--blue);font-weight:900}
.perks i{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--yellow)}
.perks svg{width:18px;height:18px;fill:none;stroke:var(--deep);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.call-card{display:flex;align-items:center;gap:18px;padding:20px 26px;border-radius:20px;text-decoration:none;color:#fff;
  background:linear-gradient(120deg,var(--deep),var(--blue))}
.call-card > i{flex:none;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:#fff}
.call-card > i svg{width:30px;height:30px;fill:var(--pink)}
.call-card span{flex:1}
.call-card small{display:block;font-size:17px;font-weight:600;opacity:.95}
.call-card b{display:block;font-size:44px;font-weight:900;letter-spacing:-1px;line-height:1.1}
.call-card em{font-style:normal;padding:6px 14px;border-radius:10px;background:var(--pink);font-size:18px;font-weight:900;letter-spacing:1px}
.p-reserve .t1{font-size:28px}
.p-reserve .t2,.p-reserve .t3{font-size:58px}
.p-reserve .t4{font-size:22px}
.p-reserve .reg-head{text-align:left}
.p-reserve .reg-head h2{font-size:46px}
.p-reserve .reg-head p{font-size:19px}
.p-reserve .form{margin-top:24px;padding:30px 28px}

.p-last{padding:40px 0}
.p-last .row{display:flex;align-items:center;justify-content:space-between;gap:40px}
.p-last .shield{font-size:30px;padding:16px 26px 26px}
.p-last .l{margin:0;font-size:44px}
.p-last .bar2{margin:0;padding:14px 30px;font-size:26px;border-radius:10px}
.p-last .brand{font-size:26px;white-space:nowrap}
@media (max-width:1399px){
  .quick{right:10px}
  .quick a{width:78px;height:78px;font-size:13px}
  .quick a svg{width:24px;height:24px}
  .quick .q4{height:46px}
}
.p-last .brand img{height:24px}

.p-ft{padding:60px 0 70px;background:#0a2f66;color:#e8f0fa}
.p-ft .row{display:flex;justify-content:space-between;align-items:flex-start;gap:40px}
.p-ft .ft-tel{font-size:64px}
.p-ft dl{margin-top:0;font-size:17px}
.p-ft .copy{font-size:15px}
.p-ft .disc{font-size:14px}

.quick{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:80;display:none;flex-direction:column;gap:10px}
@media (min-width:991px){.quick{display:flex}}
.quick a{border:3px solid #fff;display:flex;flex-direction:column;align-items:center;justify-content:center;width:96px;height:96px;border-radius:20px;text-decoration:none;
  color:#fff;font-size:15px;font-weight:800;letter-spacing:-.5px;box-shadow:0 8px 20px rgba(13,40,90,.25);text-align:center;line-height:1.2}
.quick a svg{width:30px;height:30px;fill:#fff;margin-bottom:6px}
.quick .q1{background:var(--pink)}
.quick .q1 small{font-size:13px;font-weight:700}
.quick .q2{background:var(--blue)}
.quick .q3{background:var(--deep)}
.quick .q4{height:56px;background:#fff;color:var(--deep)}
