html,body{overflow-x:clip}
.desktop-nav{display:none;align-items:center;gap:23px;font-size:12px;font-weight:800}
.desktop-nav a{text-decoration:none;color:#dff5ff;white-space:nowrap}
.desktop-nav a:hover,.desktop-nav a:focus-visible{color:#37b3f0}
.menu-toggle{width:42px;height:42px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:1px solid #ffffff45;border-radius:10px;background:#ffffff10;color:#fff;z-index:70}
.menu-toggle span{display:block;width:19px;height:2px;border-radius:2px;background:currentColor;transition:transform .28s ease,opacity .2s ease}
.menu-open .menu-toggle{position:fixed;top:10px;right:15px;background:#18234c;border-color:#37b3f0}
.menu-open .menu-toggle span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-open .menu-toggle span:nth-child(2){opacity:0}
.menu-open .menu-toggle span:last-child{transform:translateY(-7px) rotate(-45deg)}
.menu-scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:50;opacity:0;transition:opacity .28s ease}
.menu-scrim[hidden]{display:none}
.menu-open .menu-scrim{opacity:1}
.mobile-menu{position:fixed;z-index:60;top:0;right:0;bottom:0;width:min(70vw,380px);min-width:220px;padding:80px 20px 25px;background:#0d1239;color:white;display:flex;flex-direction:column;gap:5px;box-shadow:-15px 0 38px #0003;transform:translateX(105%);transition:transform .32s cubic-bezier(.2,.8,.2,1);visibility:hidden}
.menu-open .mobile-menu{transform:translateX(0);visibility:visible}
.menu-caption{font-size:10px;font-weight:800;letter-spacing:2px;color:#37b3f0;margin:0 0 18px 9px}
.mobile-menu a{display:block;padding:14px 12px;border-radius:10px;text-decoration:none;font-size:14px;font-weight:800;line-height:1.6}
.mobile-menu a:hover,.mobile-menu a:focus-visible{background:#ffffff19;color:#37b3f0}
.menu-open{overflow:hidden}
.hero h1{font-size:clamp(27px,7.1vw,43px);line-height:1.55;text-wrap:balance}
.hero .hero-line{display:block;text-wrap:balance}
.hero .hero-accent{color:#1058c5}
.check-card.highlight{background:#fff;border-color:var(--line)}
.route-map,.airport-step,.check-card{border-color:#dff5ff}
.step-no{border-radius:50%;width:32px;height:32px;font-size:13px}
.airport-step.is-target{box-shadow:0 0 0 2px #1058c533}
.departure-card-preview{display:flex;align-items:center;gap:12px;width:100%;max-width:340px;margin-top:16px;padding:8px;text-align:left;border:1px solid #b9e5f8;border-radius:12px;background:#f2faff;color:#0d1239;cursor:pointer;font:inherit}
.departure-card-preview:hover,.departure-card-preview:focus-visible{background:#dff5ff;outline:2px solid #37b3f0;outline-offset:2px}
.departure-card-preview img{display:block;width:54px;height:72px;flex:none;object-fit:cover;object-position:top;border:1px solid #d7e3e8;border-radius:5px;background:#fff}
.departure-card-preview span{display:grid;gap:3px}
.departure-card-preview strong{font-size:14px;line-height:1.5}
.departure-card-preview small{font-size:11px;color:#1058c5;font-weight:700}
.airport-step .departure-card-note{margin-top:8px;font-size:11px;line-height:1.7;color:#536780}
.departure-card-dialog{width:min(94vw,620px);max-height:92dvh;margin:auto;padding:0;border:1px solid #b9e5f8;border-radius:16px;background:#fffdf8;color:#0d1239;box-shadow:0 20px 60px #0d123955}
.departure-card-dialog::backdrop{background:#0d1239b8}
.departure-card-dialog-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;background:#e9f8ff;border-bottom:1px solid #b9e5f8}
.departure-card-dialog-head strong{font-size:14px}
.departure-card-dialog-head button{width:36px;height:36px;border:1px solid #b9e5f8;border-radius:8px;background:#fff;color:#0d1239;font-size:25px;line-height:1;cursor:pointer}
.departure-card-dialog-body{overflow:auto;max-height:calc(92dvh - 60px);padding:12px}
.departure-card-dialog-body img{display:block;width:100%;height:auto;border:1px solid #d7e3e8;border-radius:7px;background:#fff}
.departure-card-dialog-body p{margin:10px 2px 2px;font-size:12px;line-height:1.7;color:#536780}
.bottom-actions{border-top:1px solid #dff5ff;padding-top:20px;font-size:12px}
.bottom-actions p{color:#263e45;max-width:680px}
.bottom-actions strong{color:#0d1239}
.footer .wrap{align-items:start}
.footer-copy{display:grid;gap:10px}
.footer-copy p{max-width:590px}
.footer-actions{display:grid;gap:9px;width:100%}
.footer-actions a{display:block;text-align:center;text-decoration:none;border:1px solid #37b3f0;border-radius:10px;padding:12px 15px;color:#08202a;background:#37b3f0;font-size:12px;font-weight:800}
.footer-actions a:first-child{background:transparent;color:#dff5ff}
.footer-actions a:hover{filter:brightness(1.12)}
.inner-page{min-height:calc(100dvh - 62px);padding:38px 0 58px}
.page-intro{max-width:760px}
.page-intro .eyebrow{margin-bottom:12px}
.page-intro h1{font-size:clamp(27px,7.5vw,48px);line-height:1.55;margin:0 0 13px;text-wrap:balance}
.page-intro .services-title{font-size:clamp(24px,7.2vw,44px)}
.services-title-line{white-space:nowrap}
.page-intro h1 span{color:#1058c5}
.page-intro p{margin:0;color:#546777;font-size:14px;line-height:1.9}
.service-grid{display:grid;gap:12px;margin-top:29px}
.service-card{background:#fff;border:1px solid #dff5ff;border-radius:16px;padding:21px 19px;box-shadow:0 8px 22px #213b640b}
.service-card .service-number{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#dff5ff;color:#1058c5;font-size:12px;font-weight:800;margin-bottom:12px}
.service-card h2{font-size:17px;line-height:1.6;margin:0 0 7px}
.service-card p{font-size:12px;line-height:1.85;color:#586c72;margin:0}
.service-bottom{display:grid;gap:14px;margin-top:18px}
.price-card{border-radius:19px;background:#0d1239;color:#fff;padding:22px;display:grid;gap:6px}
.price-card small{font-size:11px;letter-spacing:1px;color:#b9e5f8;font-weight:800}
.price-card strong{font-size:clamp(27px,8vw,40px);line-height:1.5;color:#37b3f0}
.price-start{font-size:18px;line-height:1.65;font-weight:800;color:#fff}
.price-reading{font-size:16px;line-height:1.7;font-weight:700;color:#b9e5f8}
.price-card p{font-size:12px;line-height:1.85;color:#dff5ff;margin:0}
.service-note{background:#dff5ff;border:1px solid #dff5ff;border-radius:16px;padding:19px;font-size:12px;line-height:1.85;color:#213b64}
.service-note strong{display:block;color:#0d1239;font-size:14px;margin-bottom:4px}
.service-note p{margin:0}
.page-cta{display:inline-flex;justify-content:center;align-items:center;gap:10px;margin-top:20px;border-radius:11px;background:#1058c5;color:#06222b;text-decoration:none;padding:13px 18px;font-weight:800;font-size:13px}
.contact-grid{display:grid;gap:13px;margin-top:28px}
.contact-card{background:#fff;border:1px solid #dff5ff;border-radius:17px;padding:22px;box-shadow:0 8px 22px #213b640b}
.contact-card h2{margin:0 0 7px;font-size:18px}
.contact-card p{font-size:12px;line-height:1.85;color:#586c72;margin:0 0 16px}
.contact-card .contact-link{display:inline-flex;padding:11px 15px;border-radius:9px;background:#dff5ff;color:#1058c5;text-decoration:none;font-weight:800;font-size:13px}
.contact-card .contact-link:hover{background:#dff5ff}
.contact-card .contact-number{font-size:21px;font-weight:800;color:#0d1239;display:block;margin-bottom:13px}
.online-note{margin-top:16px;padding:18px;border-radius:14px;background:#e9eff8;color:#253954;font-size:12px;line-height:1.85}
.online-note strong{display:block;font-size:14px;margin-bottom:3px}
.policy-page .page-intro{max-width:780px}
.policy-date{display:block;margin-top:13px;color:#536780;font-size:11px;font-weight:700}
.policy-stack{display:grid;gap:14px;max-width:780px;margin-top:28px}
.policy-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:21px 19px;box-shadow:0 8px 22px #213b640b}
.policy-card h2{margin:0 0 9px;color:var(--ink);font-size:18px;line-height:1.6}
.policy-card p,.policy-card li{margin:0;color:#536780;font-size:13px;line-height:1.9}
.policy-card p+p{margin-top:10px}
.policy-card ul{margin:8px 0 0;padding-left:20px}
.policy-card a{color:var(--royal);font-weight:800;text-underline-offset:3px}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 15px;margin:10px 0 6px;font-size:11px;font-weight:800}
.footer-legal a{color:var(--royal);text-decoration:underline;text-underline-offset:3px}
.footer-legal a[aria-current="page"]{color:var(--ink);text-decoration-thickness:2px}
@media(min-width:700px){.menu-toggle{display:none}.desktop-nav{display:flex}.hero h1{font-size:clamp(37px,4.3vw,58px)}.footer-actions{width:auto;min-width:205px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-bottom{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inner-page{padding-top:70px}}
@media(max-width:850px) and (min-width:700px){.desktop-nav{gap:10px;font-size:10px}.brand img{width:155px}}
@media(prefers-reduced-motion:reduce){.menu-toggle span,.menu-scrim,.mobile-menu{transition:none}}

.menu-install-button{align-items:center;justify-content:center;gap:9px;border:1px solid var(--yellow);background:var(--yellow);color:#0d1239;font-family:"Walone","Noto Sans Myanmar",sans-serif;font-weight:800;cursor:pointer}
.identity-document-notice{display:flex;align-items:flex-start;gap:10px;margin:24px 0 0;padding:11px 13px;border:1px solid #e6aaaa;border-radius:10px;background:#fff8f7;color:#872c34}
.identity-document-notice-icon{display:grid;place-items:center;flex:none;width:24px;height:24px;margin-top:2px;border-radius:50%;background:#d94b53;color:#fff;font:800 16px/1 sans-serif}
.identity-document-notice strong{display:block;margin:0 0 2px;font-size:15px;line-height:1.5}
.identity-document-notice p{margin:0;font-size:16px;line-height:1.7}
.menu-install-button svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.menu-install-button{display:flex;width:100%;min-height:52px;margin-top:18px;padding:9px 12px;border-radius:11px;font-size:15px;line-height:1.5}
.menu-install-button:hover,.menu-install-button:focus-visible{background:#fffdf8;outline:3px solid var(--yellow);outline-offset:2px}
.menu-install-button[aria-busy="true"]{background:#ffe091;cursor:progress;opacity:.9}
.menu-install-button.is-installed{border-color:#8ed6b1;background:#dff7ea;color:#164c34;cursor:default}
.menu-install-button:disabled{opacity:1}
.pwa-install-dialog{width:min(92vw,430px);margin:auto;padding:20px;border:1px solid #9bdaf6;border-radius:18px;background:#fffdf8;color:#180d4b;box-shadow:0 24px 70px #0d123966}
.pwa-install-dialog::backdrop{background:#0d1239a6}
.pwa-install-dialog-head{display:flex;align-items:center;gap:13px;margin-bottom:15px}
.pwa-install-dialog-head img{flex:none;border-radius:15px;box-shadow:0 5px 14px #1058c52b}
.pwa-install-dialog-head small{display:block;color:#1058c5;font:800 10px/1.4 "Bricolage Grotesque",sans-serif;letter-spacing:1.6px}
.pwa-install-dialog h2{margin:3px 0 0;font-size:22px;line-height:1.5}
.pwa-install-dialog-copy{font-size:16px;line-height:1.9;color:#304359}
.pwa-install-dialog-copy p,.pwa-install-dialog-copy ol{margin:0}
.pwa-install-dialog-copy .pwa-install-notice{margin-bottom:12px;padding:10px 12px;border-left:4px solid var(--yellow);border-radius:7px;background:#fff3d5;color:#554525}
.pwa-install-dialog-copy .pwa-install-success{padding:12px;border:1px solid #8ed6b1;border-radius:10px;background:#e6f8ee;color:#164c34}
.pwa-install-dialog-copy ol{padding-left:24px}
.pwa-install-dialog-copy li+li{margin-top:8px}
.pwa-dialog-close{width:100%;min-height:50px;margin-top:18px;border:0;border-radius:11px;background:#37b3f0;color:#0d1239;font-weight:800;cursor:pointer}
.pwa-install-url{box-sizing:border-box;width:100%;margin-top:15px;padding:11px;border:1px solid #9bdaf6;border-radius:8px;color:#0d1239;font-size:13px}
.pwa-copy-link{width:100%;min-height:48px;margin-top:10px;border:0;border-radius:10px;background:var(--yellow);color:#0d1239;font-weight:800;cursor:pointer}
.pwa-copy-link[hidden],.pwa-install-url[hidden]{display:none}

/* ════════════════════════════════════════════════════════════
   MangoWings Floating Telegram Bot Widget
   ════════════════════════════════════════════════════════════ */
.mangowings-floating-bot {
  position: fixed;
  right: 20px;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  z-index: 85;
  font-family: "Walone", "Noto Sans Myanmar", "Bricolage Grotesque", sans-serif;
  user-select: none;
}

.menu-open .mangowings-floating-bot {
  display: none !important;
}

/* Floating Action Button (FAB) - MangoWings Red Theme */
.mw-floating-trigger {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: linear-gradient(135deg, #FF5B65 0%, #FA4F59 100%);
  color: #FFFFFF;
  border: 2.5px solid #FFFFFF;
  box-shadow: 0 10px 25px rgba(250, 79, 89, 0.4);
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  animation: mw-fab-pulse 3.5s ease-in-out infinite;
}

.mw-floating-trigger:hover {
  background: linear-gradient(135deg, #FF4752 0%, #E83B46 100%);
  transform: scale(1.05);
  box-shadow: 0 12px 30px rgba(250, 79, 89, 0.55);
}

.mw-floating-trigger:active {
  transform: scale(0.95);
}

.mw-floating-trigger.is-open {
  background: #1A1446;
  box-shadow: 0 8px 20px rgba(26, 20, 70, 0.35);
  animation: none;
}

@keyframes mw-fab-pulse {
  0%, 100% {
    box-shadow: 0 8px 22px rgba(250, 79, 89, 0.35);
  }
  50% {
    box-shadow: 0 14px 30px rgba(250, 79, 89, 0.6);
  }
}

.mw-trigger-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.mw-trigger-icon svg {
  display: block;
}

.mw-trigger-close,
.mw-trigger-icon[hidden],
.mangowings-floating-bot [hidden] {
  display: none !important;
}

.mw-floating-trigger.is-open .mw-trigger-chat {
  display: none !important;
}

.mw-floating-trigger.is-open .mw-trigger-close {
  display: flex !important;
}

.mw-unread-dot {
  position: absolute;
  top: -2px;
  right: -2px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #FFCA42;
  color: #1A1446;
  font-size: 11px;
  font-weight: 900;
  border: 2px solid #FFFFFF;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.mw-bot-popover {
  position: absolute;
  right: 0;
  bottom: 70px;
  width: min(340px, calc(100vw - 36px));
  background: #FFFFFF;
  border: 1px solid #C7E3F1;
  border-radius: 18px;
  box-shadow: 0 20px 45px rgba(24, 13, 75, 0.22);
  overflow: hidden;
  animation: mw-slide-up 0.24s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  transform-origin: bottom right;
}

.mw-bot-popover[hidden] {
  display: none !important;
}

@keyframes mw-slide-up {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.mw-bot-popover-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px 10px;
  background: #F7FCFE;
  border-bottom: 1px solid #EBF4F8;
}

.mw-bot-status-tag {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 800;
  color: #1A1446;
}

.mw-bot-pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10B981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25);
  flex-shrink: 0;
}

.mw-bot-close {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: none;
  background: #EBF4F8;
  color: #5A7080;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.mw-bot-close:hover {
  background: #DCEEF6;
  color: #1A1446;
}

.mw-bot-card-body {
  padding: 14px;
}

.mw-bot-service-row {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 12px;
}

.mw-bot-avatar {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #229ED9;
  color: #FFFFFF;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(34, 158, 217, 0.35);
}

.mw-bot-service-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.mw-bot-title-line {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.mw-bot-title-line strong {
  font-size: 15px;
  color: #1A1446;
  font-weight: 800;
}

.mw-bot-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border-radius: 999px;
  background: #E3F4FC;
  color: #1B88BD;
  border: 1px solid rgba(34, 158, 217, 0.3);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.2px;
}

.mw-bot-service-info small {
  font-size: 12px;
  color: #6C7D93;
}

.mw-bot-bubble {
  padding: 11px 13px;
  border-radius: 12px;
  background: linear-gradient(135deg, #F5FAFE 0%, #EEF7FC 100%);
  border: 1px solid #D5EAF4;
  margin-bottom: 12px;
}

.mw-bot-hello {
  display: block;
  font-size: 13px;
  font-weight: 800;
  color: #229ED9;
  margin-bottom: 3px;
}

.mw-bot-bubble p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: #2A364F;
}

.mw-bot-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mw-bot-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  padding: 11px 14px;
  border-radius: 10px;
  background: #229ED9;
  color: #FFFFFF !important;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(34, 158, 217, 0.32);
  transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
}

.mw-bot-cta:hover {
  background: #1C8AC0;
  transform: translateY(-1px);
}

.mw-bot-cta:active {
  transform: translateY(0);
}

.mw-bot-cta.mw-viber-cta {
  background: #7360F2;
  box-shadow: 0 4px 12px rgba(115, 96, 242, 0.32);
}

.mw-bot-cta.mw-viber-cta:hover {
  background: #624DE3;
}
