/* ============================================================
   SKYHEX 조경도형 UI Override
   Main: #314066 / #1a2338 · Sub navy: #071536
   Applied after legacy styles for all pages.
   ============================================================ */

:root{
  --skyhex-main:#314066;
  --skyhex-main-2:#1a2338;
  --skyhex-sub:#071536;
  --skyhex-ink:#121a2f;
  --skyhex-muted:#6d7891;
  --skyhex-line:rgba(49,64,102,.14);
  --skyhex-surface:rgba(255,255,255,.92);
  --skyhex-soft:#f4f7fb;
  --skyhex-blue-soft:#eaf2fb;
  --skyhex-shadow:0 24px 70px rgba(7,21,54,.14);
  --skyhex-shadow-soft:0 12px 36px rgba(7,21,54,.10);
  --navy:var(--skyhex-main);
  --navy-dark:var(--skyhex-sub);
  --navy-mid:var(--skyhex-main);
  --cyan:#5aaed8;
  --bg:#edf2f7;
  --surface:#fff;
  --text:var(--skyhex-ink);
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  background:#edf2f7;
}

body{
  color:var(--skyhex-ink) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(237,242,247,.92) 50%, rgba(244,247,251,.96)),
    url('/assets/skyhex-flow-bg.jpg') center top / cover fixed no-repeat !important;
  min-height:100vh;
  letter-spacing:-.015em;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 82% 0%, rgba(255,255,255,.96), rgba(255,255,255,0) 34%),
    radial-gradient(circle at 12% 88%, rgba(49,64,102,.07), rgba(49,64,102,0) 34%),
    linear-gradient(115deg, rgba(255,255,255,.66), rgba(255,255,255,0) 44%);
}

.wave-bg{
  opacity:.42 !important;
  filter:saturate(.8) brightness(1.04);
  pointer-events:none;
}

.container{
  width:min(1180px, calc(100% - 48px)) !important;
  max-width:1180px !important;
  margin-inline:auto !important;
}

.util-bar{
  min-height:32px !important;
  background:rgba(255,255,255,.72) !important;
  border-bottom:1px solid rgba(49,64,102,.08) !important;
  backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
  color:var(--skyhex-main-2) !important;
}

.util-bar a,
.lang-btn{
  color:rgba(26,35,56,.76) !important;
  font-weight:600 !important;
  font-size:12px !important;
}

.navbar{
  position:sticky !important;
  top:0;
  z-index:60;
  background:rgba(255,255,255,.88) !important;
  border-bottom:1px solid rgba(49,64,102,.10) !important;
  box-shadow:0 10px 28px rgba(7,21,54,.055) !important;
  backdrop-filter:blur(24px) saturate(1.25);
  -webkit-backdrop-filter:blur(24px) saturate(1.25);
}

.navbar-inner{
  min-height:68px !important;
  gap:32px !important;
}

.nav-logo{
  height:auto !important;
  max-height:24px !important;
  object-fit:contain !important;
}

.nav-links{
  gap:28px !important;
}

.nav-links a{
  position:relative;
  color:var(--skyhex-main-2) !important;
  font-weight:700 !important;
  font-size:14px !important;
  letter-spacing:-.01em !important;
  transition:color .2s ease;
}

.nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-20px;
  height:2px;
  border-radius:99px;
  background:var(--skyhex-main);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}

.nav-links a:hover{
  color:var(--skyhex-main) !important;
}

.nav-links a:hover::after{
  transform:scaleX(1);
}

.nav-search{
  min-width:220px !important;
  height:36px !important;
  border:1px solid rgba(49,64,102,.16) !important;
  background:rgba(246,249,253,.92) !important;
  color:var(--skyhex-main-2) !important;
  border-radius:999px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}

.btn-login,
.btn-primary,
.btn-submit,
.discord-btn,
.search-edit-btn,
.filter-btn.active{
  background:linear-gradient(135deg, var(--skyhex-main), var(--skyhex-main-2)) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.2) !important;
  box-shadow:0 12px 26px rgba(26,35,56,.20) !important;
}

.btn-login,
.btn-primary,
.btn-secondary,
.btn-submit,
.search-edit-btn,
.filter-btn,
.subtab,
.tab-btn,
.form-input,
.nav-search,
.airport-select,
.swap-btn,
.modal-close{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease !important;
}

.btn-login:hover,
.btn-primary:hover,
.btn-submit:hover,
.search-edit-btn:hover,
.discord-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(26,35,56,.24) !important;
}

.btn-secondary,
.filter-btn{
  background:rgba(255,255,255,.86) !important;
  color:var(--skyhex-main-2) !important;
  border:1px solid rgba(49,64,102,.16) !important;
  box-shadow:0 8px 18px rgba(7,21,54,.06) !important;
}

.page-content{
  padding-top:52px !important;
}

.page-header,
.travel-hero,
.about-hero,
.inquiry-hero{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(49,64,102,.12) !important;
  border-radius:32px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(239,245,251,.86)),
    url('/assets/skyhex-flow-bg.jpg') center/cover no-repeat !important;
  box-shadow:var(--skyhex-shadow-soft) !important;
  color:var(--skyhex-main-2) !important;
}

.page-header::after,
.travel-hero::after,
.about-hero::after,
.inquiry-hero::after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-190px;
  top:-190px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(49,64,102,.12), rgba(49,64,102,0) 64%);
  pointer-events:none;
}

.page-header h1,
.travel-hero h1,
.about-hero h1,
.inquiry-hero h1{
  color:var(--skyhex-sub) !important;
  letter-spacing:-.045em !important;
}

.page-subtitle,
.travel-hero p,
.about-hero p,
.inquiry-hero p{
  color:rgba(26,35,56,.68) !important;
}

.search-panel{
  position:relative;
  isolation:isolate;
  margin:0 auto !important;
  max-width:1040px !important;
  border-radius:28px !important;
  border:1px solid rgba(49,64,102,.13) !important;
  background:rgba(255,255,255,.93) !important;
  box-shadow:var(--skyhex-shadow) !important;
  overflow:visible !important;
  backdrop-filter:blur(24px) saturate(1.16);
  -webkit-backdrop-filter:blur(24px) saturate(1.16);
}

.search-panel::before{
  content:"";
  position:absolute;
  inset:1px;
  z-index:-1;
  border-radius:27px;
  background:linear-gradient(135deg, rgba(255,255,255,.82), rgba(230,239,250,.52));
}

.tab-bar{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  border-radius:28px 28px 0 0 !important;
  overflow:hidden !important;
  background:rgba(238,244,251,.92) !important;
  border-bottom:1px solid rgba(49,64,102,.10) !important;
}

.tab-btn{
  min-height:66px !important;
  border:0 !important;
  border-right:1px solid rgba(49,64,102,.08) !important;
  background:transparent !important;
  color:rgba(26,35,56,.58) !important;
  font-weight:800 !important;
  font-size:14px !important;
  gap:9px !important;
}

.tab-btn:last-child{
  border-right:0 !important;
}

.tab-btn.active{
  background:linear-gradient(180deg, #f9fcff, #eaf2fb) !important;
  color:var(--skyhex-main-2) !important;
}

.tab-content{
  padding:24px 28px 30px !important;
}

.subtab-bar{
  gap:18px !important;
  margin-bottom:22px !important;
}

.subtab-left{
  gap:8px !important;
}

.subtab{
  min-height:32px !important;
  padding:0 14px !important;
  border:1px solid rgba(49,64,102,.13) !important;
  border-radius:999px !important;
  background:rgba(246,249,253,.94) !important;
  color:rgba(26,35,56,.70) !important;
  font-size:12px !important;
  font-weight:800 !important;
}

.subtab.active{
  background:var(--skyhex-main) !important;
  color:#fff !important;
  border-color:var(--skyhex-main) !important;
}

.nearby-toggle{
  color:rgba(26,35,56,.68) !important;
  font-weight:700 !important;
}

.airport-row,
.form-row{
  gap:14px !important;
}

.airport-select,
.form-field,
.form-group,
.search-bar-compact,
.booking-summary,
.flights-list,
.bookings-list,
.inquiry-form-wrap,
.contact-card,
.faq-item,
.fleet-card,
.cabin-card,
.stat-card,
.checkin-card,
.airport-guide-card,
.baggage-table-wrap,
.prohibited-grid,
.empty-state,
.loading-state,
.modal,
.notice-card{
  border:1px solid rgba(49,64,102,.12) !important;
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 12px 34px rgba(7,21,54,.07) !important;
  border-radius:22px !important;
}

.airport-select{
  min-height:82px !important;
  padding:16px 18px !important;
}

.airport-select:hover,
.form-input:hover,
.nav-search:hover,
.btn-secondary:hover,
.filter-btn:hover,
.subtab:hover{
  border-color:rgba(49,64,102,.28) !important;
  box-shadow:0 16px 38px rgba(7,21,54,.10) !important;
}

.iata-code{
  color:var(--skyhex-main) !important;
  font-family:'AquawaxPro','HallymGothic',sans-serif !important;
  font-size:35px !important;
  font-weight:600 !important;
  letter-spacing:-.04em !important;
}

.airport-name{
  color:rgba(26,35,56,.62) !important;
  font-weight:700 !important;
}

.swap-btn{
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(49,64,102,.16) !important;
  color:var(--skyhex-main) !important;
  box-shadow:0 10px 24px rgba(7,21,54,.10) !important;
}

.form-field{
  padding:10px 12px !important;
  min-height:82px !important;
}

.form-field label,
.form-label{
  color:rgba(26,35,56,.62) !important;
  font-size:12px !important;
  font-weight:800 !important;
}

.form-input,
.form-control{
  border-radius:14px !important;
  border:1px solid rgba(49,64,102,.13) !important;
  background:#fff !important;
  color:var(--skyhex-main-2) !important;
  min-height:42px !important;
  font-weight:700 !important;
}

.search-btn{
  min-height:82px !important;
  border-radius:22px !important;
  padding-inline:24px !important;
  white-space:nowrap !important;
}

.notices-section{
  max-width:840px !important;
  margin:0 auto 26px !important;
}

.msg-alert,
.msg-error,
.flight-notice-box,
.baggage-note{
  border:1px solid rgba(49,64,102,.12) !important;
  background:rgba(255,255,255,.88) !important;
  color:var(--skyhex-main-2) !important;
  border-radius:18px !important;
  box-shadow:0 10px 26px rgba(7,21,54,.06) !important;
}

.section-heading{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  color:var(--skyhex-sub) !important;
  font-weight:900 !important;
  letter-spacing:-.04em !important;
}

.section-sub{
  color:rgba(26,35,56,.64) !important;
}

.footer{
  margin-top:80px !important;
  background:linear-gradient(135deg, var(--skyhex-main-2), var(--skyhex-sub)) !important;
  color:#fff !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}

.footer a,
.footer p{
  color:rgba(255,255,255,.72) !important;
}

.footer h4{
  color:#fff !important;
}

.footer-logo{
  filter:brightness(0) invert(1);
}

/* Home additions matching the provided mockup composition */
.home-launch{
  margin:42px auto 0;
  max-width:1040px;
  min-height:92px;
  padding:24px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-radius:24px;
  border:1px solid rgba(70,144,188,.16);
  background:linear-gradient(135deg, rgba(220,240,253,.96), rgba(243,249,255,.92));
  box-shadow:0 18px 42px rgba(7,21,54,.08);
}

.home-launch-title{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--skyhex-sub);
  font-size:22px;
  font-weight:900;
  letter-spacing:-.04em;
}

.home-launch-title strong{
  font-family:'AquawaxPro','HallymGothic',sans-serif;
  letter-spacing:-.02em;
}

.home-launch-action{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(49,64,102,.22);
  color:var(--skyhex-main-2);
  background:#fff;
  font-weight:800;
  font-size:13px;
  text-decoration:none;
}

.home-feature-grid{
  max-width:1040px;
  margin:28px auto 0;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}

.home-feature-card{
  padding:24px;
  border-radius:24px;
  border:1px solid rgba(49,64,102,.12);
  background:rgba(255,255,255,.9);
  box-shadow:0 14px 36px rgba(7,21,54,.07);
}

.home-feature-card h3{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
  color:var(--skyhex-sub);
  font-size:18px;
  font-weight:900;
  letter-spacing:-.035em;
}

.home-feature-card p{
  margin:0;
  color:rgba(26,35,56,.64);
  line-height:1.65;
  font-weight:600;
}

/* Pictogram system: runtime SVGs replace emoji text nodes. */
.sx-picto,
[data-sx-icon]{
  display:inline-flex;
  width:1.15em;
  height:1.15em;
  align-items:center;
  justify-content:center;
  vertical-align:-.18em;
  color:currentColor;
  flex:0 0 auto;
}

.sx-picto svg,
[data-sx-icon] svg{
  width:100%;
  height:100%;
  display:block;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.tab-btn .sx-picto{
  width:17px;
  height:17px;
  margin-right:3px;
  color:var(--skyhex-main);
}

.section-heading > .sx-picto:first-child,
.home-feature-card h3 .sx-picto,
.home-launch-title .sx-picto,
.fleet-plane-icon .sx-picto,
.checkin-card-icon .sx-picto,
.contact-card-icon .sx-picto,
.empty-icon .sx-picto,
.pi-icon .sx-picto{
  width:34px;
  height:34px;
  padding:8px;
  border-radius:13px;
  background:linear-gradient(135deg, var(--skyhex-main), var(--skyhex-main-2));
  color:#fff;
  box-shadow:0 10px 24px rgba(26,35,56,.20);
  vertical-align:middle;
}

.fleet-plane-icon,
.checkin-card-icon,
.contact-card-icon,
.empty-icon,
.pi-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.prohibited-item{
  border:1px solid rgba(49,64,102,.12) !important;
  background:rgba(255,255,255,.92) !important;
  border-radius:18px !important;
  color:var(--skyhex-main-2) !important;
}

.prohibited-item .pi-icon .sx-picto{
  background:rgba(49,64,102,.10);
  color:var(--skyhex-main);
  box-shadow:none;
}

.modal-close .sx-picto,
.confirm-icon .sx-picto{
  margin:0;
}

.confirm-icon .sx-picto{
  width:44px;
  height:44px;
  padding:12px;
  border-radius:50%;
  background:linear-gradient(135deg, #3a7f5a, #245f44);
  color:#fff;
}

::selection{
  background:rgba(49,64,102,.18);
  color:var(--skyhex-sub);
}

@media (max-width: 960px){
  .container{
    width:min(100% - 32px, 100%) !important;
  }
  .navbar-inner{
    min-height:60px !important;
    gap:14px !important;
  }
  .nav-links,
  .search-wrap{
    display:none !important;
  }
  .page-content{
    padding-top:28px !important;
  }
  .search-panel{
    border-radius:24px !important;
  }
  .tab-bar{
    border-radius:24px 24px 0 0 !important;
  }
  .tab-btn{
    min-height:58px !important;
    font-size:13px !important;
  }
  .tab-content{
    padding:18px !important;
  }
  .subtab-bar{
    align-items:flex-start !important;
  }
  .subtab-left{
    overflow-x:auto;
    padding-bottom:4px;
  }
  .airport-row,
  .form-row{
    display:grid !important;
    grid-template-columns:1fr !important;
  }
  .swap-btn{
    justify-self:center !important;
    transform:rotate(90deg);
  }
  .search-btn{
    width:100% !important;
    min-height:58px !important;
  }
  .home-launch{
    flex-direction:column;
    align-items:flex-start;
    margin-top:30px;
    padding:22px;
  }
  .home-feature-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 520px){
  .util-bar{
    display:none !important;
  }
  .navbar{
    top:0;
  }
  .nav-logo{
    max-height:20px !important;
  }
  .btn-login{
    min-height:34px !important;
    padding-inline:12px !important;
  }
  .tab-btn{
    flex-direction:column !important;
    gap:4px !important;
    font-size:12px !important;
  }
  .tab-btn .sx-picto{
    margin-right:0;
  }
  .iata-code{
    font-size:30px !important;
  }
  .home-launch-title{
    font-size:19px;
  }
}


/* === SKYHEX visual hero v2: reference mockup direction === */
.util-bar{
  background:linear-gradient(90deg, #071536, #1a2338) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  color:rgba(255,255,255,.82) !important;
}
.util-bar a,
.lang-btn{
  color:rgba(255,255,255,.82) !important;
}
.lang-btn{
  background:transparent !important;
}
.navbar{
  top:32px !important;
  background:rgba(255,255,255,.94) !important;
  border-bottom:1px solid rgba(49,64,102,.12) !important;
}
.page-content{
  padding-top:28px !important;
}
.skyhex-visual-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  max-width:1040px;
  min-height:314px;
  margin:0 auto 18px;
  padding:52px 56px;
  display:grid;
  grid-template-columns:minmax(320px, .9fr) minmax(360px, 1.1fr);
  align-items:center;
  gap:18px;
  border:1px solid rgba(49,64,102,.13);
  border-radius:30px;
  background:
    radial-gradient(circle at 88% 14%, rgba(255,255,255,.98), rgba(255,255,255,0) 34%),
    linear-gradient(110deg, rgba(255,255,255,.96) 0%, rgba(248,251,255,.92) 46%, rgba(230,238,248,.86) 100%),
    url('/assets/skyhex-flow-bg.jpg') center/cover no-repeat;
  box-shadow:0 28px 80px rgba(7,21,54,.16);
}
.skyhex-visual-hero::before{
  content:"";
  position:absolute;
  inset:auto -8% -42% 28%;
  height:76%;
  border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(49,64,102,.08), rgba(49,64,102,0) 68%);
  z-index:-1;
}
.skyhex-visual-hero::after{
  content:"";
  position:absolute;
  right:-160px;
  top:-130px;
  width:430px;
  height:430px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.94), rgba(255,255,255,0) 66%);
  z-index:-1;
}
.skyhex-hero-copy{
  position:relative;
  z-index:2;
}
.skyhex-hero-eyebrow{
  margin:0 0 12px;
  color:#314066;
  font-family:'AquawaxPro','HallymGothic',sans-serif;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.skyhex-hero-copy h1{
  margin:0;
  color:#071536;
  font-family:'HallymGothic', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size:clamp(36px, 4.6vw, 62px);
  line-height:.98;
  letter-spacing:-.065em;
  font-weight:900;
}
.skyhex-hero-copy h1 span{
  display:block;
  color:#314066;
}
.skyhex-hero-description{
  max-width:390px;
  margin:20px 0 0;
  color:rgba(26,35,56,.70);
  font-size:16px;
  line-height:1.55;
  font-weight:700;
}
.skyhex-hero-cta{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  margin-top:24px;
  padding:0 20px;
  border-radius:12px;
  background:linear-gradient(135deg, #314066, #071536);
  color:#fff !important;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 16px 34px rgba(7,21,54,.25);
}
.skyhex-hero-plane{
  position:relative;
  z-index:1;
  transform:translateX(20px);
}
.skyhex-hero-plane svg{
  width:min(100%, 620px);
  height:auto;
  display:block;
}
.skyhex-hero-notice{
  position:relative;
  z-index:8;
  max-width:930px;
  min-height:44px;
  margin:-42px auto 24px;
  padding:8px 16px 8px 10px;
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid rgba(49,64,102,.13);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 48px rgba(7,21,54,.13);
  backdrop-filter:blur(18px) saturate(1.1);
  -webkit-backdrop-filter:blur(18px) saturate(1.1);
  color:rgba(26,35,56,.74);
  font-size:13px;
  font-weight:800;
}
.skyhex-hero-notice-badge{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 12px;
  border-radius:999px;
  background:#eaf2fb;
  color:#314066;
  font-size:12px;
  font-weight:900;
}
.skyhex-hero-notice a{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#314066;
  text-decoration:none;
  font-weight:900;
}
.search-panel{
  margin-top:0 !important;
}
.home-launch{
  background:linear-gradient(135deg, rgba(224,241,252,.98), rgba(245,250,255,.94)) !important;
}
@media (max-width: 960px){
  .navbar{top:0 !important;}
  .skyhex-visual-hero{
    min-height:0;
    grid-template-columns:1fr;
    padding:38px 30px 30px;
    border-radius:26px;
  }
  .skyhex-hero-plane{
    transform:none;
    margin-top:-10px;
  }
  .skyhex-hero-notice{
    margin:-14px auto 18px;
    border-radius:20px;
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .skyhex-hero-notice a{
    margin-left:0;
  }
}
@media (max-width: 520px){
  .skyhex-visual-hero{
    padding:30px 22px 22px;
  }
  .skyhex-hero-copy h1{
    font-size:34px;
  }
  .skyhex-hero-description{
    font-size:14px;
  }
  .skyhex-hero-plane svg{
    transform:scale(1.16);
    transform-origin:center;
  }
}
/* === /SKYHEX visual hero v2 === */
