:root {
  --orange: #f49a00;
  --orange-dark: #e47d00;
  --blue: #056581;
  --blue-dark: #073f56;
  --ink: #132b36;
  --muted: #6d7d84;
  --cream: #fffaf1;
  --line: #e7ecee;
  --white: #fff;
  --shadow: 0 22px 60px rgba(12, 48, 62, .11);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); font-family: "PingFang SC", "PingFang TC", "PingFang HK", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Microsoft YaHei", Arial, sans-serif; background: #fff; -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }

.topbar { height: 36px; color: #d7e3e7; background: var(--blue-dark); font-size: 12px; }
.topbar-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.topbar-inner div { display: flex; align-items: center; gap: 14px; }
.topbar-inner i { width: 1px; height: 11px; background: rgba(255,255,255,.22); }
.topbar a:hover { color: #fff; }

.header { position: sticky; z-index: 30; top: 0; height: 82px; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(7,63,86,.07); backdrop-filter: blur(12px); }
.nav-wrap { height: 100%; display: flex; align-items: center; }
.brand { display: inline-flex; align-items: center; min-width: 218px; }
.logo-crop { display: block; width: 58px; height: 60px; overflow: hidden; }
.logo-crop img { display: block; height: 60px; width: auto; }
.brand-copy { display: flex; flex-direction: column; margin-left: 7px; line-height: 1; }
.brand-copy b { font-size: 24px; letter-spacing: .08em; color: #101b20; font-weight: 800; white-space: nowrap; }
.brand-copy small { margin-top: 8px; font-size: 10px; letter-spacing: .35em; color: var(--blue); font-weight: 700; }
.nav { display: flex; align-items: center; justify-content: center; flex: 1; gap: 38px; height: 100%; }
.nav a { position: relative; display: flex; align-items: center; height: 100%; font-size: 15px; color: #41555e; }
.nav a::after { content: ""; position: absolute; left: 50%; bottom: 17px; width: 0; height: 3px; border-radius: 5px; background: var(--orange); transform: translateX(-50%); transition: width .25s; }
.nav a:hover, .nav a.active { color: var(--blue-dark); font-weight: 600; }
.nav a:hover::after, .nav a.active::after { width: 22px; }
.nav-actions { display: flex; align-items: center; gap: 17px; }
.order-link { border: 0; background: transparent; color: #526770; font-size: 14px; white-space: nowrap; }
.primary-btn { border: 0; padding: 14px 26px; border-radius: 5px; color: #fff; font-weight: 600; background: linear-gradient(135deg, #f6a800, #ee8700); box-shadow: 0 9px 24px rgba(244,154,0,.22); transition: transform .2s, box-shadow .2s; }
.primary-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(244,154,0,.32); }
.primary-btn.small { padding: 11px 20px; }
.menu-btn { display: none; border: 0; padding: 5px; background: transparent; }
.menu-btn span { display: block; width: 24px; height: 2px; margin: 5px 0; background: var(--ink); transition: .2s; }

.hero { position: relative; min-height: 610px; overflow: hidden; background: #edf6f8; transition: padding-bottom .24s ease; }
.hero.dropdown-open { padding-bottom: 440px; }
.hero.dropdown-search-open { padding-bottom: 120px; }
.hero-bg { position: absolute; inset: 0; background-image: linear-gradient(90deg, rgba(248,252,251,.99) 2%, rgba(248,252,251,.93) 32%, rgba(248,252,251,.35) 57%, rgba(248,252,251,.02) 100%), url("assets/hero-travel.png"); background-position: center, center 53%; background-size: cover; }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 110px; background: linear-gradient(transparent, rgba(255,255,255,.18)); }
.hero-inner { position: relative; z-index: 2; min-height: 610px; display: flex; align-items: center; }
.hero-content { position: relative; z-index: 5; width: 620px; transform: translateY(-16px); }
.eyebrow { display: flex; align-items: center; gap: 12px; color: var(--blue); font-size: 14px; font-weight: 700; letter-spacing: .16em; }
.eyebrow span { width: 32px; height: 3px; background: var(--orange); border-radius: 8px; }
.hero h1 { margin: 20px 0 18px; font-size: clamp(48px, 5vw, 72px); line-height: 1.12; letter-spacing: -.04em; font-weight: 900; }
.hero h1 em { color: var(--blue); font-style: normal; }
.hero-content > p { margin: 0 0 30px; color: #546970; line-height: 1.9; font-size: 16px; }
.search-box { position: relative; z-index: 30; width: 600px; height: 64px; display: flex; align-items: center; padding: 7px; background: #fff; border-radius: 8px; box-shadow: 0 14px 45px rgba(8,60,78,.14); }
.search-box > svg { width: 22px; margin: 0 12px 0 15px; fill: none; stroke: var(--blue); stroke-width: 1.8; }
.search-box input { min-width: 0; flex: 1; height: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 15px; }
.search-box input::placeholder { color: #9aa7ac; }
.search-box > button { height: 50px; padding: 0 28px; border: 0; border-radius: 5px; background: var(--blue); color: #fff; font-weight: 600; }
.search-box > button:hover { background: var(--blue-dark); }
.search-suggestions { position: absolute; z-index: 20; left: 0; top: 72px; display: none; overflow: hidden; border: 1px solid rgba(10,72,92,.1); border-radius: 12px; background: #fff; box-shadow: 0 25px 70px rgba(3,43,58,.2); }
.search-suggestions.show { display: grid; }
.search-suggestions button { border: 0; background: transparent; color: #40525b; font: inherit; text-align: left; cursor: pointer; }
.search-suggestions.explorer-menu { width: min(1080px,calc(100vw - 72px)); grid-template-columns: 350px minmax(0,1fr); }
.continent-menu { background: #f7fafb; border-right: 1px solid rgba(17,70,88,.12); }
.continent-menu-item { position: relative; width: 100%; min-height: 78px; display: grid; grid-template-columns: 1fr 20px; align-content: center; gap: 10px 12px; padding: 14px 28px; border-bottom: 1px solid rgba(17,70,88,.1)!important; transition: color .18s,background .18s,box-shadow .18s; }
.continent-menu-item:last-child { border-bottom: 0!important; }
.continent-menu-item:hover { background: #f0f7f8; }
.continent-menu-item.active { background: #fff; box-shadow: inset 5px 0 0 var(--orange); }
.continent-menu-item b { color: #142a33; font-size: 21px; font-weight: 800; line-height: 1; }
.continent-menu-item.active b { color: var(--blue-dark); }
.continent-menu-item em { grid-column: 2; grid-row: 1/3; align-self: center; color: #9fc4d1; font-size: 34px; font-style: normal; font-weight: 200; line-height: 1; }
.continent-preview { grid-column: 1; display: flex; flex-wrap: wrap; gap: 6px 14px; min-width: 0; font-size: 14px; }
.continent-preview > span { white-space: nowrap; }
.country-menu-panel { min-height: 390px; max-height: 420px; overflow-y: auto; padding: 25px 28px 30px; background: #fff; }
.country-menu-heading { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 22px; padding: 0 5px 14px; border-bottom: 1px solid #e8eff1; }
.country-menu-heading b { color: var(--blue-dark); font-size: 22px; }
.country-menu-heading span { color: #819398; font-size: 12px; }
.country-menu-list { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 18px 7px; }
.country-menu-list button { position: relative; padding: 7px 10px; border-radius: 5px; font-size: 15px; line-height: 1.35; white-space: nowrap; transition: color .18s,background .18s; }
.country-menu-list button:hover,.country-menu-list button:focus { color: var(--blue-dark); background: #edf7f8; outline: 0; }
.hot-country { position: relative; display: inline-block; }
.hot-country i { position: absolute; left: 50%; bottom: calc(100% + 1px); padding: 2px 5px; border-radius: 2px; color: #fff; background: #ff5a5f; font-size: 8px; font-style: normal; font-weight: 700; line-height: 1; letter-spacing: .03em; transform: translateX(-50%); }
.search-suggestions.search-results { width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 8px; }
.search-results button { display: flex; flex-direction: column; gap: 4px; padding: 11px 14px; border-radius: 5px; }
.search-results button:hover { color: var(--blue); background: #eff8f9; }
.search-results button span { color: #8a999e; font-size: 10px; }
.search-empty { grid-column: 1/-1; padding: 22px; color: #7a898e; text-align: center; }
.hot-search { margin-top: 17px; display: flex; align-items: center; gap: 17px; color: #7b898e; font-size: 13px; }
.hot-search button { border: 0; padding: 0; color: #64767d; background: transparent; }
.hot-search button:hover { color: var(--orange-dark); }
.hero-note { position: absolute; right: 12px; bottom: 38px; display: flex; align-items: center; padding: 14px 21px; color: #fff; background: rgba(6,70,91,.88); border: 1px solid rgba(255,255,255,.26); border-radius: 8px; box-shadow: 0 12px 30px rgba(0,38,52,.18); backdrop-filter: blur(7px); }
.note-icon { display: grid; place-items: center; width: 32px; height: 32px; margin-right: 12px; color: var(--blue-dark); background: var(--orange); border-radius: 50%; font-weight: 900; }
.hero-note div { display: flex; flex-direction: column; }
.hero-note b { font-size: 20px; }
.hero-note small { margin-top: 1px; color: #bdd0d5; font-size: 11px; }
.note-line { width: 1px; height: 34px; margin: 0 20px; background: rgba(255,255,255,.22); }

.trust-strip { position: relative; z-index: 4; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 7px 25px rgba(20,55,68,.04); }
.trust-grid { min-height: 118px; display: grid; grid-template-columns: repeat(4,1fr); align-items: center; }
.trust-grid article { display: flex; align-items: center; justify-content: center; gap: 17px; border-right: 1px solid var(--line); }
.trust-grid article:first-child { justify-content: flex-start; }
.trust-grid article:last-child { border-right: 0; justify-content: flex-end; }
.line-icon { display: grid; place-items: center; width: 46px; height: 46px; color: var(--orange-dark); border: 1px solid #f6d79f; border-radius: 50%; font-size: 24px; }
.trust-grid article div { display: flex; flex-direction: column; }
.trust-grid b { font-size: 15px; }
.trust-grid small { margin-top: 6px; color: #829198; font-size: 12px; }

.section { padding: 100px 0; }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 38px; }
.section-kicker { color: var(--orange-dark); font-size: 12px; font-weight: 800; letter-spacing: .22em; }
.section h2, .about h2 { margin: 10px 0 8px; font-size: 36px; line-height: 1.28; letter-spacing: -.02em; }
.section-head p, .center-head p { margin: 0; color: var(--muted); font-size: 14px; }
.section-head > a { color: var(--blue); font-size: 14px; font-weight: 600; }
.section-head > a span { display: inline-block; margin-left: 8px; transition: transform .2s; }
.section-head > a:hover span { transform: translateX(4px); }
.product-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; }
.product-card { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; transition: transform .25s, box-shadow .25s; }
.product-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.card-visual { position: relative; height: 162px; overflow: hidden; padding: 22px; background: #dbe8ec; }
.card-visual::before, .card-visual::after { content: ""; position: absolute; border-radius: 50%; }
.card-visual::before { width: 190px; height: 190px; right: -34px; bottom: -88px; background: rgba(255,255,255,.28); }
.card-visual::after { width: 90px; height: 90px; left: -14px; top: -35px; border: 18px solid rgba(255,255,255,.18); }
.card-visual.japan { background: linear-gradient(135deg,#f7e8e3,#d9b8ad); }
.card-visual.korea { background: linear-gradient(135deg,#e2eef4,#9fc1d1); }
.card-visual.australia { background: linear-gradient(135deg,#d9eee8,#91c8bb); }
.card-visual.singapore { background: linear-gradient(135deg,#ece6f3,#b9a6d1); }
.flag { position: relative; z-index: 2; display: block; font-size: 54px; filter: drop-shadow(0 7px 8px rgba(0,0,0,.14)); }
.country-en { position: relative; z-index: 2; display: block; margin-top: 12px; color: rgba(18,44,54,.62); letter-spacing: .27em; font-size: 10px; font-weight: 800; }
.stamp { position: absolute; z-index: 3; right: 17px; top: 17px; display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; color: #fff; background: #e65d3c; border: 2px solid rgba(255,255,255,.7); text-align: center; line-height: 1.25; font-size: 10px; font-weight: 700; transform: rotate(8deg); }
.stamp.blue { background: var(--blue); }.stamp.green { background: #2d937a; }.stamp.purple { background: #725a9e; }
.card-body { padding: 21px 20px 20px; }
.tag-row { display: flex; gap: 7px; }
.tag-row span { padding: 4px 8px; border-radius: 3px; color: var(--orange-dark); background: #fff5e3; font-size: 10px; }
.card-body h3 { margin: 14px 0 6px; font-size: 18px; }
.card-body > p { margin: 0; color: var(--muted); font-size: 12px; }
.card-meta { display: flex; justify-content: space-between; margin-top: 18px; padding: 14px 0; border-top: 1px dashed var(--line); border-bottom: 1px dashed var(--line); color: #87949a; font-size: 10px; }
.card-meta b { color: var(--blue); font-size: 12px; }
.price-row { margin-top: 17px; display: flex; align-items: flex-end; justify-content: space-between; }
.price-row small { color: #8a979d; font-size: 10px; }
.price-row strong { margin: 0 3px; color: #e45f27; font-size: 22px; }
.card-consult, .card-link { border: 0; padding: 8px 12px; border-radius: 4px; color: var(--blue); background: #edf7f8; font-size: 12px; font-weight: 600; }
.card-consult:hover, .card-link:hover { color: #fff; background: var(--blue); }

/* Popular-product actions need a high-contrast label on the brand teal button. */
.product-card .card-link {
  min-width: 108px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 6px;
  background: #087d90;
  color: #fff !important;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  box-shadow: 0 7px 16px rgba(8, 125, 144, .18);
}
.product-card .card-link:hover { background: #056b7d; color: #fff !important; }

.destinations { position: relative; color: #fff; background: var(--blue-dark); overflow: hidden; }
.destinations::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: radial-gradient(circle at 18% 20%, #24aac3 0, transparent 28%), radial-gradient(circle at 82% 70%, #eeb24b 0, transparent 20%); }
.destinations .container { position: relative; }
.section-head.light p { color: #9fb8c1; }
.continent-tabs { display: flex; gap: 32px; margin-bottom: 35px; border-bottom: 1px solid rgba(255,255,255,.13); }
.continent-tabs button { position: relative; border: 0; padding: 0 3px 15px; color: #9fb5bd; background: transparent; font-size: 14px; }
.continent-tabs button::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: transparent; }
.continent-tabs button.active { color: #fff; font-weight: 600; }
.continent-tabs button.active::after { background: var(--orange); }
.destination-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.destination-card { display: grid; grid-template-columns: 43px 1fr auto 16px; align-items: center; gap: 13px; min-height: 88px; border: 1px solid rgba(255,255,255,.12); padding: 15px 17px; border-radius: 7px; color: #fff; background: rgba(255,255,255,.055); text-align: left; transition: border .2s, background .2s, transform .2s; }
.destination-card:hover { border-color: rgba(244,154,0,.6); background: rgba(255,255,255,.1); transform: translateY(-3px); }
.destination-card.hide { display: none; }
.destination-card > span { font-size: 30px; }
.destination-card div { display: flex; flex-direction: column; }
.destination-card b { font-size: 15px; }
.destination-card small { margin-top: 4px; color: #8ea9b2; font-size: 10px; }
.destination-card em { color: #e7b65d; font-size: 11px; font-style: normal; white-space: nowrap; }
.destination-card i { color: #7f9da8; font-style: normal; }

.center-head { text-align: center; }
.process-line { display: grid; grid-template-columns: 1fr 76px 1fr 76px 1fr 76px 1fr; align-items: center; margin-top: 70px; }
.process-line article { position: relative; text-align: center; }
.step-num { position: absolute; top: -29px; left: 50%; color: #eef2f3; font-size: 64px; font-weight: 900; transform: translateX(-76%); z-index: -1; }
.step-icon { position: relative; z-index: 2; display: grid; place-items: center; width: 76px; height: 76px; margin: 0 auto 20px; border: 1px solid #cfe0e4; border-radius: 24px; color: var(--blue); background: #fff; font-size: 30px; transform: rotate(45deg); box-shadow: 0 10px 30px rgba(17,71,89,.08); }
.step-icon::first-line { transform: rotate(-45deg); }
.process-line article h3 { margin: 12px 0 8px; font-size: 17px; }
.process-line article p { margin: 0; color: #7c8c92; line-height: 1.8; font-size: 12px; }
.process-line > i { height: 1px; border-top: 1px dashed #cbd9dd; }

.about { padding: 110px 0; background: #f5f8f8; }
.about-grid { display: grid; grid-template-columns: .92fr 1fr; gap: 115px; align-items: center; }
.about-card { position: relative; height: 470px; border-radius: 12px; background: linear-gradient(145deg,#07536b,#0a7890); box-shadow: var(--shadow); overflow: hidden; }
.about-card::before { content: ""; position: absolute; width: 420px; height: 420px; left: -120px; bottom: -150px; border: 60px solid rgba(255,255,255,.08); border-radius: 50%; }
.about-card::after { content: "✈"; position: absolute; right: 45px; top: 45px; color: rgba(255,255,255,.12); font-size: 130px; transform: rotate(-16deg); }
.about-mark { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.about-mark span { display: grid; place-items: center; width: 140px; height: 140px; color: var(--blue); background: #fff; border-radius: 50%; border: 10px solid rgba(244,154,0,.92); font-size: 70px; font-weight: 900; box-shadow: 0 15px 45px rgba(0,0,0,.17); }
.about-mark small { margin-top: 22px; color: #fff; letter-spacing: .5em; font-size: 12px; font-weight: 700; }
.floating-badge { position: absolute; right: 24px; bottom: 23px; display: flex; flex-direction: column; padding: 15px 18px; border-radius: 7px; background: var(--orange); color: #fff; }
.floating-badge b { font-size: 24px; }.floating-badge small { font-size: 10px; }
.about-copy h2 { font-size: 42px; }
.about-copy > p { margin: 22px 0 32px; color: var(--muted); line-height: 2; font-size: 14px; }
.numbers { display: grid; grid-template-columns: repeat(3,1fr); margin-bottom: 34px; }
.numbers div { display: flex; flex-direction: column; border-right: 1px solid #dce5e7; }
.numbers div + div { padding-left: 24px; }
.numbers div:last-child { border-right: 0; }
.numbers b { color: var(--blue); font-size: 26px; }.numbers em { color: var(--orange); font-style: normal; }
.numbers small { margin-top: 4px; color: #829197; font-size: 11px; }
.outline-btn { border: 1px solid var(--blue); padding: 12px 22px; color: var(--blue); background: transparent; border-radius: 4px; font-weight: 600; }
.outline-btn span { margin-left: 24px; }.outline-btn:hover { color: #fff; background: var(--blue); }

.faq-grid { display: grid; grid-template-columns: 310px 1fr; gap: 90px; }
.faq-intro h2 { margin-top: 12px; }
.faq-intro p { margin: 0 0 28px; color: var(--muted); font-size: 14px; }
.accordion { border-top: 1px solid var(--line); }
.accordion article { border-bottom: 1px solid var(--line); }
.accordion article > button { width: 100%; display: flex; justify-content: space-between; border: 0; padding: 24px 5px; color: var(--ink); background: transparent; text-align: left; font-weight: 600; }
.accordion article > button i { color: var(--orange-dark); font-size: 21px; font-style: normal; transition: transform .25s; }
.accordion article > div { max-height: 0; overflow: hidden; transition: max-height .35s; }
.accordion article > div p { margin: 0; padding: 0 50px 24px 5px; color: var(--muted); line-height: 1.8; font-size: 13px; }
.accordion article.open > div { max-height: 130px; }
.accordion article.open > button i { transform: rotate(45deg); }

.cta { padding: 58px 0; color: #fff; background: linear-gradient(110deg,#075d76,#087f94); }
.cta-inner { display: flex; align-items: center; justify-content: space-between; }
.cta-inner span { color: #b6d8de; font-size: 13px; }
.cta-inner h2 { margin: 7px 0 0; font-size: 27px; }
.white-btn { border: 0; padding: 15px 23px; color: var(--blue); background: #fff; border-radius: 5px; font-weight: 700; }
.white-btn span { margin-left: 25px; color: var(--orange-dark); }

.footer { color: #a9bac0; background: #092f3d; }
.footer-grid { display: grid; grid-template-columns: 1.7fr .7fr .7fr 1.15fr .65fr; gap: 50px; padding: 65px 0 55px; }
.footer-brand { width: max-content; min-width: 0; padding: 9px 15px 9px 11px; border-radius: 8px; background: #fff; box-shadow: 0 10px 28px rgba(0,0,0,.14); }
.footer-brand .brand-copy b { color: #101b20; }.footer-brand .brand-copy small { color: var(--blue); }
.footer-grid > div:first-child > p { margin: 18px 0 0; font-size: 12px; }
.footer h3 { margin: 0 0 19px; color: #fff; font-size: 14px; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: 11px; }
.footer a { font-size: 12px; }.footer a:hover { color: #fff; }
.contact strong { color: #f0ad35; font-size: 23px; }
.contact p { margin: 0; font-size: 11px; }
.qr-placeholder { width: 82px; height: 82px; display: grid; place-items: center; color: #153d4a; background: repeating-conic-gradient(#153d4a 0 8%, #fff 0 16%) 50% / 18px 18px; border: 5px solid #fff; text-align: center; font-size: 10px; font-weight: 800; text-shadow: 0 0 3px #fff; }
.qr p { margin: 0; line-height: 1.6; font-size: 10px; }
.copyright { display: flex; justify-content: space-between; padding: 18px 0 23px; border-top: 1px solid rgba(255,255,255,.08); font-size: 10px; }

.modal { position: fixed; z-index: 100; inset: 0; display: none; align-items: center; justify-content: center; }
.modal.show { display: flex; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(4,31,41,.66); backdrop-filter: blur(4px); }
.modal-card { position: relative; z-index: 1; width: min(440px, calc(100% - 32px)); padding: 38px; border-radius: 12px; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.25); animation: pop .25s ease-out; }
@keyframes pop { from { opacity: 0; transform: translateY(14px) scale(.98); } }
.modal-close { position: absolute; right: 15px; top: 11px; border: 0; color: #7e8c91; background: transparent; font-size: 28px; }
.modal-kicker { color: var(--orange-dark); font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.modal-card h2 { margin: 8px 0 5px; font-size: 27px; }
.modal-card > p { margin: 0 0 23px; color: var(--muted); font-size: 13px; }
.modal-card form, .modal-card label { display: flex; flex-direction: column; }
.modal-card form { gap: 15px; }
.modal-card label { gap: 7px; color: #4c5e65; font-size: 12px; }
.modal-card input { height: 45px; border: 1px solid #dce5e7; border-radius: 5px; padding: 0 13px; outline: 0; }
.modal-card input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(5,101,129,.08); }
.modal-card form > small { color: #9aa6aa; text-align: center; font-size: 9px; }
.toast { position: fixed; z-index: 120; left: 50%; bottom: 35px; padding: 12px 19px; border-radius: 5px; color: #fff; background: rgba(6,58,75,.94); box-shadow: var(--shadow); font-size: 13px; opacity: 0; transform: translate(-50%,18px); pointer-events: none; transition: .25s; }
.toast.show { opacity: 1; transform: translate(-50%,0); }
.floating-service { position: fixed; z-index: 24; right: 22px; bottom: 24px; display: flex; flex-direction: column; align-items: center; gap: 3px; border: 0; padding: 12px 11px; border-radius: 8px; color: #fff; background: var(--orange); box-shadow: 0 10px 30px rgba(228,125,0,.3); font-size: 11px; transition: opacity .2s,transform .2s; }
.search-dropdown-active .floating-service { opacity: 0; transform: translateY(10px); pointer-events: none; }
.floating-service span { font-size: 19px; }

@media (max-width: 1080px) {
  .nav { gap: 20px; }
  .nav-actions .order-link { display: none; }
  .product-grid { grid-template-columns: repeat(2,1fr); }
  .destination-grid { grid-template-columns: repeat(2,1fr); }
  .about-grid { gap: 60px; }
  .footer-grid { grid-template-columns: 1.4fr .7fr .7fr 1.1fr; }.qr { display: none !important; }
}

@media (max-width: 820px) {
  .container { width: min(100% - 32px, 680px); }
  .topbar { display: none; }
  .header { height: 70px; }
  .brand { min-width: 0; }.logo-crop { width: 46px; height: 48px; }.logo-crop img { height: 48px; }
  .brand-copy b { font-size: 19px; }.brand-copy small { margin-top: 6px; font-size: 8px; }
  .nav { position: fixed; top: 70px; left: 0; right: 0; height: auto; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 24px 22px; background: #fff; box-shadow: 0 18px 35px rgba(0,30,40,.12); }
  .nav.show { display: flex; }.nav a { height: 48px; }.nav a::after { display: none; }
  .nav-actions { margin-left: auto; }.nav-actions .primary-btn { display: none; }.menu-btn { display: block; }
  .hero, .hero-inner { min-height: 650px; }
  .hero-bg { background-image: linear-gradient(180deg,rgba(248,252,251,.96) 0%,rgba(248,252,251,.84) 55%,rgba(248,252,251,.1) 100%),url("assets/hero-travel.png"); background-position: center, 61% center; }
  .hero-inner { align-items: flex-start; padding-top: 65px; }.hero-content { width: 100%; transform: none; }
  .hero h1 { font-size: 48px; }.hero-content > p br { display: none; }
  .search-box { width: 100%; }.search-box > button { padding: 0 18px; }
  .hero.dropdown-open { padding-bottom: 430px; }
  .hero.dropdown-search-open { padding-bottom: 120px; }
  .search-suggestions.explorer-menu { width: 100%; grid-template-columns: 1fr; max-height: 420px; overflow-y: auto; }
  .continent-menu { position: sticky; z-index: 2; top: 0; display: flex; overflow-x: auto; border-right: 0; border-bottom: 1px solid rgba(17,70,88,.12); background: #fff; }
  .continent-menu-item { min-width: 86px; min-height: 52px; display: block; padding: 16px 13px 13px; text-align: center; border-bottom: 0!important; }
  .continent-menu-item:hover,.continent-menu-item.active { box-shadow: inset 0 -3px 0 var(--orange); }
  .continent-menu-item b { font-size: 15px; }.continent-preview,.continent-menu-item em { display: none; }
  .country-menu-panel { min-height: 0; max-height: none; overflow: visible; padding: 20px; }.country-menu-heading { margin-bottom: 19px; }
  .country-menu-list { gap: 20px 18px; }.country-menu-list button { font-size: 14px; }
  .hot-search { flex-wrap: wrap; gap: 11px 16px; }
  .hero-note { right: 16px; bottom: 18px; }
  .trust-grid { grid-template-columns: repeat(2,1fr); padding: 18px 0; gap: 20px; }
  .trust-grid article, .trust-grid article:first-child, .trust-grid article:last-child { justify-content: flex-start; border: 0; }
  .section { padding: 75px 0; }.section-head { align-items: flex-start; }.section h2 { font-size: 31px; }
  .process-line { grid-template-columns: repeat(2,1fr); gap: 60px 30px; }.process-line > i { display: none; }
  .about-grid { grid-template-columns: 1fr; }.about-card { height: 380px; }.about-copy h2 { font-size: 36px; }
  .faq-grid { grid-template-columns: 1fr; gap: 45px; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }.footer-grid .contact { grid-column: 1 / -1; }
}

@media (max-width: 560px) {
  .hero, .hero-inner { min-height: 620px; }.hero-inner { padding-top: 48px; }
  .eyebrow { font-size: 11px; }.hero h1 { font-size: 41px; margin-top: 15px; }.hero-content > p { font-size: 14px; }
  .search-box { height: 58px; }.search-box > button { height: 44px; padding: 0 13px; font-size: 13px; }
  .hero-note { left: 16px; right: 16px; justify-content: center; }.hero-note b { font-size: 17px; }
  .trust-grid { grid-template-columns: 1fr; gap: 17px; }.trust-grid article { padding-left: 12%; }
  .section-head { display: block; }.section-head > a { display: inline-block; margin-top: 20px; }
  .product-grid, .destination-grid { grid-template-columns: 1fr; }
  .continent-tabs { gap: 20px; overflow-x: auto; }.continent-tabs button { white-space: nowrap; }
  .process-line { grid-template-columns: 1fr; }.process-line article { padding: 5px 0; }
  .about { padding: 75px 0; }.about-grid { gap: 45px; }.about-card { height: 330px; }.about-copy h2 { font-size: 33px; }
  .numbers b { font-size: 20px; }.numbers div + div { padding-left: 13px; }
  .cta-inner { align-items: flex-start; flex-direction: column; gap: 26px; }.cta-inner h2 { font-size: 22px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }.footer-grid > div:first-child { grid-column: 1 / -1; }.footer-grid .contact { grid-column: 1 / -1; }
  .copyright { flex-direction: column; gap: 8px; }.floating-service { right: 12px; bottom: 13px; }
  .modal-card { padding: 31px 24px; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* 签证详情页：统一预订须知 */
.booking-notice{overflow:hidden;border:1px solid #dbe8ea;border-radius:16px;background:#fbfdfd}.booking-notice-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #e5eff0;background:linear-gradient(90deg,#eef9f9,#fff)}.booking-notice-head span{color:#0a6576;font-size:16px;font-weight:800}.booking-notice-head small{color:#83959d;font-size:12px}.booking-notice ol{display:grid;gap:12px;margin:0;padding:18px 22px 18px 42px;color:#506a73;font-size:14px;line-height:1.8}.booking-notice li{padding-left:4px}.booking-notice li::marker{color:#0b8298;font-weight:800}.product-specific-notice{margin:0 18px 18px;padding:13px 15px;border-radius:10px;background:#fff7e9;color:#725c31;font-size:13px;line-height:1.7}.product-specific-notice b{display:block;color:#885a11;font-size:13px}.product-specific-notice p{margin:4px 0 0}@media(max-width:700px){.booking-notice-head{padding:13px 14px}.booking-notice ol{gap:10px;padding:15px 16px 15px 34px;font-size:13px}.product-specific-notice{margin:0 14px 14px}}
