*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Noto Sans TC","Microsoft JhengHei",Arial,sans-serif;color:#173b67;background:#f7fbff}a{text-decoration:none;color:inherit}button,input{font:inherit}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 2px 18px rgba(7,49,92,.08)}.header-inner{height:82px;max-width:1240px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:28px}.brand img{width:185px;height:auto;display:block}.desktop-nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-weight:700;font-size:16px}.desktop-nav a{padding:28px 0;position:relative}.desktop-nav a.active:after,.desktop-nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:3px;border-radius:4px;background:#1684d8}.header-actions{display:flex;align-items:center;gap:14px}.menu-button{border:0;background:transparent;font-size:28px;color:#123d6d;cursor:pointer}.primary-button,.ghost-button{display:inline-flex;justify-content:center;align-items:center;border-radius:10px;padding:14px 26px;font-weight:800;cursor:pointer;border:0}.primary-button{background:#0d76cf;color:#fff;box-shadow:0 8px 20px rgba(13,118,207,.2)}.primary-button:hover{background:#095fa9}.primary-button.small{padding:11px 20px}.ghost-button{border:1px solid rgba(255,255,255,.65);color:#fff;background:rgba(255,255,255,.08)}.mobile-menu{display:none}.hero{min-height:620px;position:relative;background:linear-gradient(110deg,#073d6b 0%,#0a639d 55%,#d6e8f7 100%);overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 35%,rgba(255,255,255,.3),transparent 28%),linear-gradient(90deg,rgba(4,45,81,.88),rgba(4,45,81,.18));}.hero-overlay{position:absolute;inset:0;background-image:linear-gradient(120deg,rgba(5,53,91,.2),rgba(5,53,91,0)),url("images/1314-logo.jpg");background-size:420px auto;background-position:90% 20%;background-repeat:no-repeat;opacity:.18}.hero-content{position:relative;z-index:2;max-width:1240px;margin:auto;padding:88px 24px 70px;color:#fff}.eyebrow{letter-spacing:3px;font-weight:800;font-size:14px;color:#f2b72d}.hero h1{font-size:58px;line-height:1.05;margin:16px 0 8px}.hero h1 span{font-weight:900}.hero h2{font-size:34px;margin:0 0 18px;color:#ffd34c}.hero p{font-size:21px;margin:0 0 28px;font-weight:600}.hero-buttons{display:flex;gap:14px}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:55px;max-width:760px;background:rgba(255,255,255,.22);border-radius:12px;overflow:hidden}.trust-row div{padding:17px 18px;background:rgba(4,44,78,.35)}.trust-row b,.trust-row span{display:block}.trust-row b{font-size:16px}.trust-row span{font-size:13px;opacity:.85;margin-top:4px}.booking-section{max-width:1120px;margin:-74px auto 0;position:relative;z-index:5;padding:0 20px}.booking-card{background:#fff;border-radius:16px;box-shadow:0 16px 40px rgba(11,55,94,.16);padding:22px}.trip-tabs{display:flex;gap:10px;border-bottom:1px solid #e5eef6;padding-bottom:14px;margin-bottom:20px}.trip-tab{border:0;background:#edf6ff;color:#23639a;border-radius:8px;padding:11px 24px;font-weight:800;cursor:pointer}.trip-tab.active{background:#0d78d0;color:#fff}.form-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:14px}.form-grid label span{display:block;font-size:13px;font-weight:800;color:#385675;margin-bottom:7px}.form-grid input{width:100%;border:1px solid #d8e5ef;border-radius:8px;padding:13px;background:#fbfdff;color:#173b67;outline:none}.form-grid input:focus{border-color:#1684d8;box-shadow:0 0 0 3px rgba(22,132,216,.1)}.booking-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.booking-note{font-size:13px;color:#6a7f95}.form-result{display:none;margin-top:14px;padding:12px;border-radius:8px;background:#edf8f0;color:#26713b;font-weight:700}.section{max-width:1120px;margin:auto;padding:88px 20px}.section-heading{margin-bottom:30px}.section-heading.center{text-align:center}.section-heading span,.contact span{color:#1684d8;letter-spacing:2px;font-weight:900;font-size:13px}.section-heading h2{font-size:36px;margin:8px 0 8px;color:#103e6c}.section-heading p{color:#657b91;margin:0}.reasons{background:#eef7ff;padding:70px max(20px,calc((100% - 1120px)/2))}.reason-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.reason-grid article{text-align:center;padding:18px 10px}.icon{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0c76cd;font-size:22px;box-shadow:0 5px 15px rgba(19,86,137,.08)}.reason-grid h3{margin:0 0 6px;font-size:16px}.reason-grid p{margin:0;font-size:13px;color:#6b7f93;line-height:1.6}.price-grid,.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.price-card{background:#fff;border:1px solid #e0ebf3;border-radius:14px;padding:24px;box-shadow:0 7px 20px rgba(19,68,106,.05)}.price-card.featured{border:2px solid #1684d8}.price-tag{display:inline-block;background:#eaf5ff;color:#0d73c7;padding:5px 10px;border-radius:20px;font-size:12px;font-weight:800}.price-card h3{margin:17px 0 8px;font-size:21px}.price{font-size:17px;color:#6b7e91}.price strong{font-size:32px;color:#0b72c9}.price-card p:not(.price){color:#708398;line-height:1.6}.price-card a{display:inline-block;margin-top:12px;color:#0d76cf;font-weight:800}.notice-box{margin-top:20px;background:#fff9e8;border-left:4px solid #f1b52b;padding:14px 16px;border-radius:6px;color:#755b1b;font-size:13px}.vehicles{background:#f3f9fd;max-width:none;padding-left:max(20px,calc((100% - 1120px)/2));padding-right:max(20px,calc((100% - 1120px)/2))}.vehicle-grid{grid-template-columns:repeat(4,1fr)}.vehicle-card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid #e0eaf2}.vehicle-image{height:150px;background:linear-gradient(135deg,#eaf4fb,#b9d5e9);position:relative}.vehicle-image:after{content:"1314";position:absolute;right:18px;bottom:12px;font-size:38px;font-weight:900;color:rgba(7,67,116,.16)}.vehicle-body{padding:18px}.vehicle-body h3{margin:0 0 6px}.vehicle-body p{margin:0 0 5px;color:#0e76ca;font-weight:800}.vehicle-body small{color:#708398}.faq-list{max-width:900px;margin:auto}.faq-list details{background:#fff;border:1px solid #e1eaf1;border-radius:10px;margin-bottom:10px;padding:0 18px}.faq-list summary{cursor:pointer;list-style:none;padding:19px 0;font-weight:800}.faq-list summary::-webkit-details-marker{display:none}.faq-list p{padding:0 0 18px;margin:0;color:#687d92;line-height:1.8}.contact{background:linear-gradient(110deg,#0b426e,#0a76c8);color:#fff;padding:65px 20px}.contact-inner{max-width:1120px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:center}.contact h2{font-size:34px;margin:8px 0}.contact p{font-size:18px;margin:0;opacity:.9}.contact span{color:#ffd04a}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.contact-item{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:15px}.contact-item b,.contact-item span{display:block}.contact-item b{color:#fff;margin-bottom:5px}.contact-item span{color:#d8edff;font-size:13px}.footer{background:#062c4f;color:#dceeff;padding:30px 20px}.footer-inner{max-width:1120px;margin:auto;text-align:center}.footer img{width:170px;filter:brightness(0) invert(1);opacity:.95;margin-bottom:16px}.copyright{font-size:12px;opacity:.65;margin-top:18px}@media(max-width:980px){.desktop-nav{display:none}.header-actions{margin-left:auto}.reason-grid{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:1fr 1fr}.price-grid{grid-template-columns:1fr 1fr}.vehicle-grid{grid-template-columns:1fr 1fr}.contact-inner{grid-template-columns:1fr}.contact-grid{grid-template-columns:repeat(5,1fr)}.mobile-menu{display:none;padding:8px 24px 18px;border-top:1px solid #e7eef4}.mobile-menu.open{display:grid}.mobile-menu a{padding:12px 0;font-weight:800;border-bottom:1px solid #eef3f7}.hero h1{font-size:46px}}@media(max-width:640px){.header-inner{height:72px;padding:0 15px}.brand img{width:150px}.primary-button.small{display:none}.hero{min-height:610px}.hero-content{padding:62px 20px}.hero h1{font-size:40px}.hero h2{font-size:27px}.hero p{font-size:17px}.trust-row{grid-template-columns:1fr;margin-top:35px}.booking-section{margin-top:-45px}.booking-card{padding:15px}.form-grid{grid-template-columns:1fr}.booking-bottom{align-items:stretch;flex-direction:column}.booking-bottom .primary-button{width:100%}.reason-grid,.price-grid,.vehicle-grid{grid-template-columns:1fr}.section{padding:65px 20px}.section-heading h2{font-size:29px}.contact-grid{grid-template-columns:1fr 1fr}.contact-item:last-child{grid-column:1/-1}.footer-inner div{line-height:2}}
.brand img {
  mix-blend-mode: multiply;
}

.trust-row {
  max-width: 680px;
}

.hero-service-note {
  max-width: 680px;
  margin: 18px 0 0 !important;
  color: #eaf6ff;
  font-size: 15px !important;
  line-height: 1.8;
  font-weight: 400 !important;
}

.hero-service-note strong {
  display: block;
  margin-top: 4px;
  color: #ffd34c;
}

.footer img {
  display: none;
}

.price-table-wrap {
  overflow-x: auto;
  border: 1px solid #dbe8f2;
  border-radius: 14px;
  background: #fff;
}

.price-table {
  width: 100%;
  min-width: 860px;
  border-collapse: collapse;
  text-align: center;
}

.price-table th,
.price-table td {
  padding: 13px 16px;
  border-bottom: 1px solid #e4edf4;
}

.price-table thead th {
  color: #fff;
  background: #0d76cf;
}

.price-table tbody th {
  color: #173b67;
  background: #f4f9fd;
}

.price-table small {
  font-weight: 500;
}

.price-table th[rowspan] {
  vertical-align: middle;
}

.specified-price {
  color: #9a6811;
  background: #fff9ec;
  font-weight: 800;
}

.price-controls {
  margin: 0 0 18px;
  padding: 18px 20px;
  border-radius: 14px;
  background: #eef7fc;
}

.price-controls p {
  margin: 0;
  color: #173b67;
  font-weight: 800;
}

.price-airport-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0;
}

.price-vehicle-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0;
}

.price-airport-tab {
  border: 1px solid #9dcbe4;
  border-radius: 999px;
  padding: 10px 18px;
  color: #073f6d;
  background: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.price-airport-tab.active,
.price-airport-tab:hover {
  border-color: #073f6d;
  color: #fff;
  background: #073f6d;
}

.price-vehicle-tab {
  border: 1px solid #cda65b;
  border-radius: 999px;
  padding: 10px 18px;
  color: #8a5c0a;
  background: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.price-vehicle-tab.active,
.price-vehicle-tab:hover {
  border-color: #d59a24;
  color: #fff;
  background: #d59a24;
}

.price-current {
  font-weight: 400 !important;
}

.price-current strong {
  color: #d59a24;
}

.price-table.vehicle-five thead tr:first-child th:nth-child(3),
.price-table.vehicle-five thead tr:nth-child(2) th:nth-child(3),
.price-table.vehicle-five thead tr:nth-child(2) th:nth-child(4),
.price-table.vehicle-five tbody td:nth-child(4),
.price-table.vehicle-five tbody td:nth-child(5) {
  display: none;
}

.price-table.vehicle-nine thead tr:first-child th:nth-child(2),
.price-table.vehicle-nine thead tr:nth-child(2) th:nth-child(1),
.price-table.vehicle-nine thead tr:nth-child(2) th:nth-child(2),
.price-table.vehicle-nine tbody td:nth-child(2),
.price-table.vehicle-nine tbody td:nth-child(3) {
  display: none;
}

.price-table.vehicle-five,
.price-table.vehicle-nine {
  min-width: 560px;
}

.booking-section > .trip-tabs {
  justify-content: center;
  margin: 0 auto 16px;
  padding: 0;
  border: 0;
}

.booking-section > .trip-tabs .trip-tab {
  min-width: 150px;
  border: 1px solid #cbddea;
  background: #fff;
}

.booking-section > .trip-tabs .trip-tab.active {
  border-color: #073f6d;
  background: #073f6d;
}

.booking-section {
  margin-top: 0;
  padding-top: 64px;
}

.booking-tip {
  margin-bottom: 20px;
  padding: 16px 18px;
  border: 1px solid #cfe0ed;
  border-radius: 10px;
  background: #f2f8fc;
}

.booking-tip b {
  color: #073f6d;
}

.booking-tip p {
  margin: 4px 0 0;
  color: #58718a;
  font-size: 14px;
}

.booking-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.form-field span {
  display: block;
  margin-bottom: 7px;
  color: #385675;
  font-size: 13px;
  font-weight: 800;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  border: 1px solid #d8e5ef;
  border-radius: 8px;
  padding: 13px;
  color: #173b67;
  background: #fbfdff;
  font: inherit;
  outline: none;
}

.form-field textarea {
  resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: #1684d8;
  box-shadow: 0 0 0 3px rgba(22, 132, 216, 0.12);
}

.form-field-wide {
  grid-column: 1 / -1;
}

.vehicle-category + .vehicle-category {
  margin-top: 42px;
}

.vehicle-category h3 {
  margin: 0 0 16px;
  color: #073f6d;
  font-size: 24px;
}

.vehicle-grid.vehicle-grid-pair {
  grid-template-columns: repeat(2, 340px);
  justify-content: center;
}

.vehicle-body h4 {
  margin: 0 0 6px;
  color: #173b67;
  font-size: 20px;
}

.vehicle-image.five-seat-unspecified,
.vehicle-image.five-seat-large-suv,
.vehicle-image.nine-seat-unspecified,
.vehicle-image.nine-seat-v-car {
  height: 340px;
  background-color: #f7fafc;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.vehicle-image.five-seat-unspecified {
  background-image: url("images/five-seat-unspecified.jfif");
  background-position: center;
}

.vehicle-image.five-seat-large-suv {
  background-image: url("images/five-seat-large-suv.jfif");
}

.vehicle-image.nine-seat-unspecified {
  background-image: url("images/nine-seat-unspecified.jfif");
}

.vehicle-image.nine-seat-v-car {
  background-image: url("images/nine-seat-v-car.jfif");
}

.vehicle-image.five-seat-unspecified::after,
.vehicle-image.five-seat-large-suv::after,
.vehicle-image.nine-seat-unspecified::after,
.vehicle-image.nine-seat-v-car::after {
  display: none;
}

@media (max-width: 800px) {
  .vehicle-grid.vehicle-grid-pair {
    grid-template-columns: minmax(0, 340px);
  }
}

@media (max-width: 640px) {
  .price-table.vehicle-five,
  .price-table.vehicle-nine {
    min-width: 100%;
    table-layout: fixed;
  }

  .price-table th,
  .price-table td {
    padding: 11px 6px;
    font-size: 13px;
    word-break: break-word;
  }

  .price-table th:first-child,
  .price-table td:first-child {
    width: 28%;
  }

  .booking-section > .trip-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .booking-section > .trip-tabs .trip-tab {
    min-width: 0;
  }

  .booking-section {
    margin-top: 0;
    padding-top: 52px;
  }

  .booking-form-grid {
    grid-template-columns: 1fr;
  }

  .form-field-wide {
    grid-column: auto;
  }

  .vehicle-grid.vehicle-grid-pair {
    grid-template-columns: 1fr;
  }
}

.brand {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  color: #123d6d;
  font-size: 24px;
  font-weight: 800;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.brand b {
  color: #86a8c6;
  font-weight: 400;
}

.brand strong {
  color: #d99b1c;
}

.brand-mark {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 7px;
  color: #f6c354;
  background: #073f6d;
  font-size: 25px;
  line-height: 1;
  margin-right: 2px;
}

.brand-mark svg {
  width: 28px;
  height: 28px;
  fill: currentColor;
  transform: rotate(-45deg);
}

@media (max-width: 640px) {
  .brand {
    font-size: 19px;
  }

  .brand-mark {
    width: 27px;
    height: 27px;
    font-size: 21px;
  }

  .brand-mark svg {
    width: 24px;
    height: 24px;
  }
}

.hero {
  background: linear-gradient(118deg, #062f52 0%, #0a5e90 54%, #c8e2ee 100%);
}

.hero:after {
  background: radial-gradient(circle at 76% 34%, rgba(255, 255, 255, 0.28), transparent 29%), linear-gradient(90deg, rgba(3, 31, 55, 0.9), rgba(3, 31, 55, 0.12));
}

.primary-button {
  background: #d59a24;
  box-shadow: 0 8px 20px rgba(155, 105, 10, 0.24);
}

.primary-button:hover {
  background: #b97c0c;
}

.desktop-nav a.active:after,
.desktop-nav a:hover:after {
  background: #2b9dd4;
}

.trip-tab.active {
  background: #083f6b;
}

.section-heading span,
.contact span {
  color: #147eb8;
}

.section-heading h2 {
  color: #07365f;
}

.price-table thead th {
  background: #073f6d;
}

.contact {
  background: linear-gradient(110deg, #062f52, #0b6595);
}

.footer {
  background: #041f37;
}

.contact .contact-item {
  border-color: rgba(188, 229, 250, 0.42);
  background: rgba(255, 255, 255, 0.16);
}

.contact .contact-item b {
  color: #ffffff;
}

.contact .contact-item span {
  color: #e8f7ff;
  font-weight: 700;
  line-height: 1.45;
}

.home-secondary-page {
  display: none;
}

.home-main {
  display: flex;
  flex-direction: column;
}

.home-main .hero {
  order: 0;
}

.home-main .prices {
  order: 1;
}

.home-main .booking-section {
  order: 2;
}

.home-main .reasons {
  order: 3;
}

.home-main .home-secondary-page {
  order: 4;
}

.home-main .contact {
  order: 5;
}

.welcome-splash {
  position: fixed;
  z-index: 3000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  cursor: pointer;
  background: linear-gradient(135deg, #062f52, #0a6398);
  opacity: 1;
  transition: opacity 0.45s ease, visibility 0.45s ease;
}

.welcome-splash img {
  display: block;
  width: min(460px, 82vw);
  max-height: 78vh;
  object-fit: contain;
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}

.welcome-splash.is-hidden {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .welcome-splash {
    transition: none;
  }
}

.booking-contact-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  max-width: 860px;
  margin: 0 auto;
}

.booking-contact-grid a {
  display: flex;
  aspect-ratio: 1;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 12px;
  background: #073f6d;
  box-shadow: 0 8px 22px rgba(11, 65, 108, 0.1);
}

.booking-contact-icon {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  border-radius: 12px;
  background: transparent;
  color: #ffffff;
  font-size: 44px;
  font-weight: 900;
  letter-spacing: -1px;
}

.booking-contact-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.booking-contact-icon svg {
  width: 72%;
  height: 72%;
  fill: currentColor;
}

.booking-contact-line .booking-contact-icon {
  border-radius: 12px;
  font-size: 24px;
  letter-spacing: -0.5px;
}

.booking-contact-whatsapp .booking-contact-icon {
  background: transparent;
}

.booking-contact-wechat .booking-contact-icon {
  background: transparent;
  font-size: 24px;
  letter-spacing: -3px;
}

.booking-contact-call .booking-contact-icon {
  background: transparent;
}

.booking-contact-line { background: #06c755 !important; }
.booking-contact-whatsapp { background: #25d366 !important; }
.booking-contact-wechat { background: #1aad19 !important; }
.booking-contact-call { background: #073f6d !important; }

.booking-contact-call .booking-contact-icon {
  color: #f6c354;
  font-size: 128px;
}

.booking-contact-grid a:hover {
  transform: translateY(-3px);
  filter: brightness(0.94);
}

@media (max-width: 640px) {
  .trust-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin-top: 26px;
  }

  .trust-row div {
    padding: 10px 6px;
    text-align: center;
  }

  .trust-row b {
    font-size: 13px;
    white-space: nowrap;
  }

  .trust-row span {
    font-size: 11px;
    line-height: 1.35;
  }

  .hero-service-note {
    margin-top: 14px !important;
    font-size: 13px !important;
    line-height: 1.65;
    text-align: center;
  }

  .booking-contact-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .booking-contact-grid a {
    min-height: 0;
  }

  .booking-contact-icon {
    font-size: 34px;
  }

  .booking-contact-line .booking-contact-icon,
  .booking-contact-wechat .booking-contact-icon {
    font-size: 18px;
  }

  .booking-contact-call .booking-contact-icon {
    font-size: 100px;
  }

  .reason-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .reason-grid article {
    padding: 16px 8px;
  }

  .reason-grid .icon {
    width: 44px;
    height: 44px;
    margin-bottom: 9px;
    font-size: 19px;
  }

  .reason-grid h3 {
    font-size: 15px;
  }

  .reason-grid p {
    font-size: 12px;
  }
}
