/* Photography-led travel direction: open layouts, large editorial type. */
:root {
  --accent: #bd4d21; --accent-hover: #963915; --accent-soft: #fbf0e9;
  --clay-600: #bd4d21; --clay-700: #963915; --clay-400: #d58c63;
  --page: #fff; --sand-50: #f6f7f5; --sand-100: #f2f4f2;
  --surface-2: #f6f7f5; --surface-3: #edf1ee; --line: #dde4df;
  --header-h: 96px; --r-md: 6px; --r-lg: 10px; --maxw: 1380px;
}
.wrap { padding-inline: clamp(22px, 4vw, 72px); }
.btn { border-radius: 5px; }
.site-header.on-hero .icon-btn { background: transparent; color: #fff; }
.site-header.on-hero .header-phone, .site-header.on-hero .header-phone svg { color: #fff; }
.site-header.on-hero.is-stuck .icon-btn { color: var(--ink-900); background: #fff; }
.site-header.on-hero.is-stuck .header-phone, .site-header.on-hero.is-stuck .header-phone svg { color: var(--ink-900); }
.brand-mark { border-radius: 0; background: transparent; border: 1px solid currentColor; }
.brand-name { font-size: 1.18rem; }
.header-inner { gap: 24px; }
.nav-link { font-size: .9rem; font-weight: 500; padding-inline: 10px; }
.header-phone { display: none; }
.main-nav { margin-inline: auto; }
.header-actions { margin-inline-start: 0; }
.hero { min-height: min(880px, 94svh); align-items: center; background: #183b44; }
.hero-media::after { background: linear-gradient(90deg, rgba(8,29,39,.66), rgba(8,29,39,.12)), linear-gradient(0deg, rgba(8,29,39,.3), rgba(8,29,39,.12)); }
.hero-media img { object-position: center 55%; }
.hero-inner { padding: 160px 0 100px; }
.hero-eyebrow { border: 0; border-radius: 0; background: transparent; padding: 0; letter-spacing: .23em; font-size: .8rem; font-weight: 500; text-transform: uppercase; margin-bottom: 26px; }
.hero-eyebrow .dot { display: none; }
.hero h1 { font-size: clamp(3.7rem, 7.3vw, 7.8rem); line-height: 1.02; max-width: 12ch; font-weight: 400; letter-spacing: -.035em; text-shadow: none; }
html[lang^="zh"] .hero h1 { max-width: 11ch; font-size: clamp(3rem, 6vw, 6.2rem); line-height: 1.2; }
.hero .lede { max-width: 590px; font-size: 1.1rem; line-height: 1.8; margin-block: 28px 34px; }
.hero-actions { gap: 18px; }
.hero-actions .btn { min-height: 58px; padding-inline: 30px; }
.hero .hero-stats { display: none; }
.journey-search { position: relative; z-index: 2; margin-top: -34px; }
.journey-search .searchbar { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr auto; gap: 22px; margin: 0; padding: 28px 32px; border-radius: 8px; background: #fff; box-shadow: 0 14px 44px #102d3812; color: var(--ink-900); }
.journey-search .searchbar .divider { display: none; }
.journey-search .searchbar .field { padding: 0; min-width: 0; }
.journey-search .searchbar label { color: #5d6d64; }
.journey-search .searchbar input, .journey-search .searchbar select { color: #1b2c22; width: 100%; }
.section { padding-block: 100px; }
.sec-head h2 { font-size: clamp(2rem, 3.6vw, 3.6rem); font-weight: 400; line-height: 1.16; }
.sec-head p { max-width: 650px; }
.eyebrow { color: var(--accent); letter-spacing: .18em; }
.tour-card { box-shadow: none; border-radius: 6px; border: 1px solid var(--line); }
.tour-card:hover { box-shadow: 0 10px 24px #102d3810; }
.gallery-single { grid-template-columns: minmax(0, 1fr); }
.gallery-single .gallery-side { display: none; }
.layout-side > * { min-width: 0; }
.tours-layout { grid-template-columns: 264px minmax(0, 1fr); gap: var(--sp-7); }
@media (max-width: 1080px) { .tours-layout { grid-template-columns: minmax(0, 1fr); } }
.tour-card .tc-title { font-size: 1.42rem; font-weight: 500; }
.bg-sand { background: #f5f7f5; }
.cat-tile { border-radius: 4px; }
.trust-strip { padding-top: 14px; }
.pay-methods { gap: 0; border: 1px solid #d8ddd8; border-radius: 12px; overflow: hidden; }
.pay-method { border: 0; border-bottom: 1px solid #d8ddd8; border-radius: 0; padding: 22px; margin: 0; }
.pay-method:last-child { border-bottom: 0; }
.pay-method.is-selected { border-color: #d8ddd8; box-shadow: inset 3px 0 #4f8b49; background: #f1f6f0; }
.pay-method input { accent-color: #4f8b49; width: 20px; height: 20px; }
.pay-method .pm-title { font-size: 1rem; }
.pay-method .pm-desc { font-size: .84rem; display: block; }
.pay-method .pm-ico { display: none; }
.pay-method .pm-tag { border-radius: 4px; background: #fff; color: #3f5743; }
.site-footer { background: #132e2c; }
.payment-heading { font-family: var(--font-body); font-size: 1.75rem; font-weight: 700; }
#paymentCard { scroll-margin-top: calc(var(--header-h) + 16px); }
.payment-subtitle { margin: 6px 0 25px; color: #727572; line-height: 1.5; }
.pay-choice { border-bottom: 1px solid #d8ddd8; }
.pay-choice:last-child { border-bottom: 0; }
.pay-choice .pay-method { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; gap: 16px; min-height: 96px; border: 0; cursor: pointer; }
.pay-choice .pm-body { min-width: 0; }
.pay-choice .pm-title { font-size: 1.1rem; color: #152019; font-weight: 650; }
.pay-choice .pm-desc { margin-top: 4px; line-height: 1.45; }
.pay-choice.is-selected > .pay-method { background: #f2f7f1; box-shadow: inset 0 0 0 1px #508c49; }
.pay-choice input[type="radio"] { margin: 0; }
.pay-choice:focus-within > .pay-method { outline: 2px solid #4f8b49; outline-offset: -3px; }
.card-brands { display: flex; align-items: center; gap: 5px; }
.card-brand { width: 41px; height: 29px; border-radius: 3px; display: flex; justify-content: center; align-items: center; color: #fff; line-height: 1; font-weight: 800; font-family: Arial,sans-serif; }
.card-brand.visa { background: #123bd7; font-size: 15px; font-style: italic; }
.card-brand.mastercard { background: #252525; position: relative; }
.card-brand.mastercard i { width: 18px; height: 18px; border-radius: 50%; background: #ef3428; position: absolute; left: 7px; }
.card-brand.mastercard i + i { background: #ffae00; left: 17px; opacity: .92; }
.card-brand.amex { background: #0571bd; font-size: 12px; line-height: .86; letter-spacing: -.4px; }
.payment-wordmark { font-family: Arial,sans-serif; font-weight: 800; font-size: 1.45rem; white-space: nowrap; letter-spacing: -.8px; }
.payment-wordmark.shoppay { color: #5935ed; }
.payment-wordmark.shoppay span { margin-left: 3px; font-size: .76em; }
.payment-wordmark.paypal { color: #163b86; font-style: italic; }
.payment-wordmark.paypal span { color: #149bd3; }
.payment-small-icon svg { width: 27px; height: 27px; color: #527055; }
.pm-details { padding: 22px; background: #f4f4f5; border-top: 1px solid #d8ddd8; }
.pm-details p { font-size: .86rem; margin: 0; line-height: 1.65; }
.payment-demo-notice { display: flex; align-items: flex-start; gap: 8px; font-size: .77rem; line-height: 1.5; color: #59614f; margin-bottom: 15px; }
.payment-demo-notice svg { flex: none; width: 16px; height: 16px; margin-top: 2px; }
.card-preview { border: 0; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; min-width: 0; }
.card-preview-field { min-width: 0; border: 1px solid #d9dcda; border-radius: 9px; padding: 12px 15px; background: #fff; position: relative; }
.card-preview-field.wide { grid-column: 1/-1; }
.card-preview-field label { display: block; color: #747873; font-size: .74rem; line-height: 1.4; margin-bottom: 6px; padding-right: 14px; }
.card-preview-field input { display: block; min-width: 0; width: 100%; border: 0; background: #fff; color: #3e4d42; -webkit-text-fill-color: #3e4d42; opacity: 1; font: inherit; font-size: 1rem; padding: 0; }
.card-preview-field svg { position: absolute; right: 14px; top: 14px; width: 17px; height: 17px; color: #7b817a; }
.pm-ico.shoppay { background: #5935ed; color: #fff; }
@media (max-width: 640px) {
  #paymentCard > .card-body { padding: 20px 16px; }
  .pay-choice .pay-method { padding: 17px 13px; gap: 10px; min-height: 86px; }
  .pay-choice .pm-title { font-size: 1rem; }
  .pay-choice .pm-desc { font-size: .76rem; }
  .pay-choice .card-brands { grid-column: 2/-1; justify-self: start; }
  .payment-wordmark { font-size: 1.1rem; }
  .pm-details { padding: 16px 12px; }
  .card-preview { gap: 10px; }
  .card-preview-field { padding: 10px; }
  .card-preview-field input { font-size: .88rem; }
}
@media (min-width: 1100px) { .header-inner { padding-inline: 3vw; } }
@media (max-width: 1120px) {
  .main-nav { display: none; } .header-actions { margin-inline-start: auto; } .burger { display: inline-flex; }
  .journey-search .searchbar { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .journey-search .searchbar .btn { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  :root { --header-h: 76px; }
  .header-inner { padding-inline: 18px; gap: 10px; }
  .brand-name { font-size: .95rem; } .brand-sub { font-size: .53rem; } .brand-mark { display: none; }
  .header-actions { gap: 5px; } .icon-btn { padding-inline: 8px; }
  .header-actions .icon-btn .lbl { display: none; }
  .hero { min-height: 750px; min-height: 93svh; }
  .hero-inner { padding-block: 132px 115px; }
  .hero h1 { font-size: clamp(3.5rem, 13.5vw, 5rem); }
  .hero-eyebrow { font-size: .68rem; letter-spacing: .14em; }
  .hero .lede { font-size: 1rem; max-width: 31ch; }
  .hero-actions { gap: 12px; } .hero-actions .btn { min-height: 50px; padding-inline: 20px; }
  .journey-search { margin-top: -35px; }
  .journey-search .searchbar { gap: 18px; padding: 24px 20px; }
  .section { padding-block: 64px; }
  .sec-head h2 { font-size: 2.2rem; }
  .pay-method { padding: 18px 14px; }
}
