:root {
  --green:#003e39; --deep:#00332f; --ink:#15333a; --gold:#e5c75e;
  --line:#e4eae8; --muted:#627879; --shadow:0 16px 42px rgba(14,47,44,.12);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
html, body { font-family:Arial,sans-serif; }
body { margin:0; background:#fff; color:var(--ink); line-height:1.45; }
button, input, select, textarea { font-family:Arial,sans-serif; }
button, input, select, textarea { font-size:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
img, svg { max-width:100%; }
.site-container { width:100%; max-width:1280px; margin-inline:auto; padding-inline:24px; }
.btn { min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 18px; border:0; border-radius:7px; font-size:13px; font-weight:700; line-height:1.2; text-align:center; transition:transform .2s,box-shadow .2s,filter .2s; }
.btn:hover { transform:translateY(-2px); box-shadow:0 9px 20px rgba(0,53,48,.22); }
.btn:focus-visible, a:focus-visible, button:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.btn-dark { background:var(--green); color:#fff; }
.btn-gold { background:linear-gradient(135deg,#ffe48c,#ddba4f); color:#21372d; }

/* One alignment axis for the entire site */
.site-header { position:relative; z-index:30; background:#fff; box-shadow:0 4px 20px #102f2714; }
.header-inner { min-height:76px; display:flex; align-items:center; gap:clamp(10px,1.2vw,22px); }
.brand { display:inline-flex; align-items:center; flex:none; }
.brand-logo { display:block; width:132px; height:58px; object-fit:contain; object-position:left center; }
.slogan { flex:0 0 112px; color:#71858a; font:italic 12px/1.3 Georgia,serif; }
.main-nav { min-width:0; flex:1; display:flex; align-items:center; justify-content:center; gap:clamp(8px,1vw,18px); }
.main-nav a {white-space:nowrap;font-size: 14px;font-weight: 700;}
.main-nav a:hover { color:#b69a3b; }
.header-phone { flex:none; display:flex; align-items:center; gap:7px; color:var(--green); white-space:nowrap; font-size:20px; }
.header-phone span:last-child { font-size:9px; line-height:1.2; }
.header-phone b { font-size:11px; }
.header-book { flex:none; }
.menu-toggle { display:none; width:42px; height:42px; padding:10px; border:1px solid #dce9e5; border-radius:50%; background:#fff; color:var(--green); }
.menu-toggle span { display:block; width:100%; height:2px; margin:4px 0; background:currentColor; border-radius:2px; }
.mobile-bottom-nav { display:none; }

/* Hero */
.hero { width:100%; min-height:490px; background-size:cover; background-position:center; color:#fff; }
.hero-inner { min-height:490px; display:flex; align-items:flex-start; padding-top:40px; padding-bottom:110px; }
.hero-content { width:min(100%,590px); }
.eyebrow { margin:0 0 14px; font-size:11px; line-height:1.4; font-weight:700; letter-spacing:3px; }
.hero h1, .hero .hero-slide-title, .page-hero h1, .detail-hero h1 { margin:0; max-width:600px; font-family:Arial,sans-serif; font-size:clamp(42px,4.7vw,68px); font-weight:700; line-height:1.04; letter-spacing:-.045em; overflow-wrap:break-word; }
.hero-copy { max-width:500px; margin:15px 0 0; font-size:16px; line-height:1.5; }
.hero-cta, .hero-script { display:none; }
.hero-features { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; max-width:500px; margin-top:22px; }
.hero-features a { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:4px; padding:8px; border-radius:12px; transition:transform .2s,background .2s,box-shadow .2s; }
.hero-features a:hover { transform:translateY(-5px); background:#ffffff1b; box-shadow:0 8px 20px #001e1e44; }
.hero-features a>span { color:var(--gold); font-size:27px; line-height:1; }
.hero-features b { font-size:12px; line-height:1.2; }
.hero-features small { color:#e9f3f0; font-size:10px; line-height:1.2; }
.reveal { animation:drop .65s both; }
.hero .reveal:nth-child(2) { animation-delay:.1s; }
.hero .reveal:nth-child(3) { animation-delay:.2s; }
.hero .reveal:nth-child(5) { animation-delay:.3s; }
@keyframes drop { from { opacity:0; transform:translateY(-25px); } to { opacity:1; transform:translateY(0); } }

/* Reservation form */
.booking-overlap { position:relative; z-index:5; margin-top:-62px; }
.booking-panel { width:100%; min-width:0; padding:12px; border:1px solid #e4e9e8; border-radius:18px; background:#fff; box-shadow:var(--shadow); }
.booking-tabs { min-width:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:4px; }
.booking-tab { min-width:0; min-height:58px; padding:8px; border:0; border-right:1px solid #e4e9e8; border-radius:7px; background:#fff; color:var(--deep); font-size:11px; line-height:1.2; font-weight:700; text-transform:uppercase; }
.booking-tab:last-child { border-right:0; }
.booking-tab.active { background:linear-gradient(130deg,#006451,#003c37); color:#fff; box-shadow:0 6px 13px #003e3930; }
.booking-form { min-width:0; }
.booking-row { min-width:0; display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1.12fr) minmax(0,.85fr) minmax(0,1.65fr); gap:12px; align-items:end; padding:18px 8px 0; }
.booking-row label, .details-grid label { min-width:0; display:flex; flex-direction:column; gap:7px; font-size:12px; line-height:1.3; font-weight:700; }
.booking-row input, .booking-row select, .details-grid input, .details-grid select, .details-grid textarea { width:100%; min-width:0; height:46px; padding:0 13px; border:1px solid #d4dcdf; border-radius:7px; background:#fff; color:var(--ink); outline:none; font-size:14px; }
.booking-row input:focus, .booking-row select:focus, .details-grid input:focus, .details-grid textarea:focus { border-color:#ae9134; box-shadow:0 0 0 3px #e5c75e30; }
.booking-row .btn-submit { min-width:0; width:100%; min-height:48px; border:1px solid var(--gold); background:linear-gradient(110deg,#a78b2f,#003f3b 63%); color:#fff; font-size:12px; white-space:normal; }
.booking-help { margin:12px 8px 2px; color:#607b80; font-size:12px; }
.booking-details { margin:16px 8px 3px; padding:20px; border:1px solid #d8e3e1; border-radius:12px; background:#f8fbfa; }
.booking-details[hidden] { display:none; }
.details-head { display:flex; align-items:start; justify-content:space-between; gap:15px; }
.details-head h3 { margin:0 0 16px; font-family:Arial,sans-serif; font-size:21px; line-height:1.25; }
.details-head button { border:0; background:transparent; color:var(--deep); font-size:28px; line-height:1; }
.details-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.details-grid .wide { grid-column:1/-1; }
.details-grid textarea { height:auto; min-height:88px; padding:10px 13px; }
.booking-details>.btn { margin-top:17px; }
.booking-details>p { margin:9px 0 0; color:var(--muted); font-size:11px; }
.honeypot { position:absolute; left:-9999px; }
.quick-categories { display:none; }

/* Main cards and banner */
.section { padding-block:34px 40px; }
.category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.category-card, .route-card { min-width:0; position:relative; display:block; overflow:hidden; border-radius:10px; color:#fff; }
.category-card {height: 325px;}
.category-card img, .route-card img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s; }
.category-card:hover img, .route-card:hover img { transform:scale(1.05); }
.card-shade { position:absolute; inset:0; background:linear-gradient(transparent 22%,rgba(0,39,39,.94)); }
.category-copy, .route-copy { position:absolute; bottom:15px; left:16px; right:14px; display:flex; flex-direction:column; align-items:flex-start; }
.category-copy b { font-size:17px; line-height:1.15; }
.category-copy small { margin:5px 0 10px; font-size:12px; line-height:1.25; }
.category-copy .btn { min-height:32px; padding:6px 12px; font-size:11px; }
.promo-wrap { padding-bottom:12px; }
.promo { min-height:215px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px 38px; border-radius:16px; background-size:cover; background-position:center; color:#fff; }
.promo-copy { max-width:430px; }
.promo-copy em { color:#ffde80; font:italic 22px/1.2 Georgia,serif; }
.promo h2 { margin:2px 0 7px; font-family:Arial,sans-serif; font-size:30px; line-height:1.1; }
.promo p { margin:0 0 13px; font-size:14px; line-height:1.4; }
.promo-benefits { display:flex; flex:none; gap:12px; }
.promo-benefits span { width:82px; height:82px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:50%; background:#fff; color:#a4861f; font-size:25px; }
.promo-benefits small { color:var(--ink); font-size:10px; line-height:1.2; text-align:center; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
.section-heading h2 { margin:0; font-family:Arial,sans-serif; font-size:27px; line-height:1.2; }
.section-heading a { flex:none; color:var(--green); font-size:13px; font-weight:700; }
.route-scroll { min-width:0; display:flex; gap:14px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; padding-bottom:9px; }
.route-card {flex:0 0 calc((100% - 56px)/5);height: 300px;scroll-snap-align:start;}
.route-copy b { font-size:16px; line-height:1.2; }
.route-copy small { font-size:11px; }
.route-copy strong { margin-top:8px; color:#ffe391; font-size:13px; }
.route-copy strong small { margin-left:3px; color:#fff; font-weight:400; }
.route-arrow { display:none; }
.trust-section { padding-block:18px 26px; }
.trust-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; padding-top:20px; border-top:1px solid var(--line); }
.trust-strip a { min-width:0; display:flex; align-items:center; gap:12px; }
.trust-icon { flex:none; display:grid; place-items:center; width:45px; height:45px; border-radius:50%; background:#fff4d5; color:var(--green); font-size:24px; }
.trust-strip a>span:last-child { min-width:0; display:flex; flex-direction:column; }
.trust-strip b { font-size:12px; line-height:1.2; }
.trust-strip small { margin-top:3px; color:#687779; font-size:11px; line-height:1.25; }

/* Footer */
.footer { background:#f8faf8; }
.footer-grid { display:grid; grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr)); gap:34px; padding-block:38px; }
.footer-grid>div { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.footer-grid b { margin-bottom:6px; font-size:13px; }
.footer-grid a:not(.brand), .footer-grid p { margin:0; color:#46575b; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.footer-grid .brand-logo { width:130px; }
.footer-bottom { padding-block:15px; background:var(--green); color:#fff; font-size:11px; }

/* Inner pages */
.page-hero { background:linear-gradient(125deg,#003d38,#126a60); color:#fff; }
.page-hero-inner { padding-block:64px 72px; }
.page-hero h1 { font-size:clamp(38px,4.7vw,60px); }
.page-hero p:last-child { margin:14px 0 0; font-size:16px; }
.booking-page { margin-block:36px 64px; }
.alert { margin-bottom:20px; padding:14px 18px; border-radius:8px; }
.alert.success { background:#e6f6ed; color:#195636; }
.alert.error { background:#fff0eb; color:#8d2618; }
.listing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.listing-card { min-width:0; overflow:hidden; border-radius:12px; background:#fff; box-shadow:var(--shadow); }
.listing-card img { display:block; width:100%; height:210px; object-fit:cover; }
.listing-card>div { display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:20px; }
.listing-card h2 { margin:0; font-family:Arial,sans-serif; font-size:22px; line-height:1.2; }
.listing-card p { min-height:40px; margin:0; color:#54696a; font-size:13px; }
.listing-card strong { color:var(--green); }
.detail-hero { min-height:360px; display:flex; align-items:center; background-size:cover; background-position:center; color:#fff; }
.detail-hero-inner { padding-block:55px; }
.detail-hero-inner p:last-child { max-width:620px; margin-bottom:0; font-size:18px; }
.detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:40px; padding-block:55px 70px; }
.detail-grid article { min-width:0; }
.detail-grid article h2 { margin:0 0 12px; font-family:Arial,sans-serif; font-size:25px; }
.detail-grid article p { margin:0 0 28px; color:#4e6062; line-height:1.7; white-space:pre-line; }
.detail-aside { align-self:start; display:flex; flex-direction:column; gap:15px; padding:25px; border-radius:12px; box-shadow:var(--shadow); }
.detail-aside h3 { margin:0; font-family:Arial,sans-serif; font-size:24px; line-height:1.2; }
.detail-aside strong { color:var(--green); font-size:26px; }
.detail-aside small { color:#687879; font-size:11px; }
.prose { min-height:300px; padding-block:55px 70px; }
.prose p { max-width:850px; line-height:1.8; white-space:pre-line; }

@media (max-width:1180px) {
  .site-container { padding-inline:20px; }
  .header-inner { min-height:72px; }
  .main-nav { display:none; position:absolute; top:100%; left:0; right:0; padding:16px 20px 22px; background:#fff; box-shadow:0 16px 24px #123b321c; }
  .main-nav.open { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 14px; }
  .main-nav a { padding:10px 12px; border-radius:7px; }
  .main-nav a:hover { background:#f0f6f3; }
  .menu-toggle { display:block; margin-left:auto; }
  .header-phone { display:none; }
  .header-book { order:3; }
  .menu-toggle { order:4; margin-left:0; }
  .slogan { margin-right:auto; }
  .booking-tabs { display:flex; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; }
  .booking-tab { flex:0 0 170px; scroll-snap-align:start; }
  .booking-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .booking-row .btn-submit { grid-column:1/-1; }
  .category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .route-card { flex-basis:calc((100% - 28px)/3); }
  .promo-benefits span { width:72px; height:72px; }
}
@media (max-width:800px) {
  .hero { background-position:60% center; }
  .hero-inner { min-height:490px; }
  .hero h1, .hero .hero-slide-title { font-size:clamp(42px,7vw,58px); }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .promo { padding:24px; }
  .promo-benefits { gap:6px; }
  .promo-benefits span { width:62px; height:62px; font-size:19px; }
  .promo-benefits small { font-size:9px; }
  .listing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .detail-grid { grid-template-columns:minmax(0,1fr); }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
  .trust-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  .site-container { padding-inline:16px; }
  body { padding-bottom:68px; }
  .header-inner { min-height:68px; }
  .brand-logo { width:116px; height:52px; }
  .slogan, .header-book { display:none; }
  .menu-toggle { margin-left:auto; }
  .main-nav.open { grid-template-columns:1fr; padding-inline:16px; max-height:calc(100vh - 120px); overflow-y:auto; }
  .hero { min-height:595px; background-position:62% center;  }
  .hero { position:relative; }
  .hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,37,39,.86),rgba(4,37,39,.28) 90%); }
  .hero-inner { position:relative; z-index:1; min-height:595px; padding-top:40px; padding-bottom:125px; }
  .hero-content { max-width:390px; }
  .eyebrow { font-size:10px; letter-spacing:2.6px; }
  .hero h1, .hero .hero-slide-title { max-width:355px; font-size:clamp(40px,10.7vw,52px); line-height:1.06; }
  .hero-copy { max-width:340px; margin-top:16px; font-size:15px; line-height:1.5; }
  .hero-cta { display:inline-flex; min-height:48px; margin-top:22px; padding-inline:18px; font-size:14px; }
  .hero-features { display:none; }
  .hero-script { display:block; max-width:270px; margin-top:20px; color:#ffe090; font:italic 18px/1.25 Georgia,serif; }
  .booking-overlap { margin-top:-64px; }
  .booking-panel { padding:10px; border-radius:16px; }
  .booking-tab { flex-basis:158px; min-height:52px; font-size:10px; }
  .booking-row { grid-template-columns:minmax(0,1fr); gap:14px; padding:16px 6px 0; }
  .booking-row .btn-submit { grid-column:auto; min-height:50px; font-size:12px; }
  .booking-row input, .booking-row select { height:47px; }
  .booking-help { margin-left:6px; font-size:12px; }
  .booking-details { margin-inline:5px; padding:15px; }
  .details-grid { grid-template-columns:minmax(0,1fr); gap:13px; }
  .details-grid .wide { grid-column:auto; }
  .quick-categories { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin-top:20px; }
  .quick-categories a { min-width:0; min-height:78px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:9px 3px; border:1px solid #e4ece8; border-radius:12px; background:#fff; box-shadow:0 6px 18px #153e3712; text-align:center; }
  .quick-categories svg { width:25px; height:25px; fill:none; stroke:var(--green); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .quick-categories span { color:var(--deep); font-size:10px; line-height:1.2; font-weight:700; }
  .section { padding-block:26px 30px; }
  .category-grid { gap:10px; }
  .category-card { height:225px; }
  .category-copy { left:11px; right:10px; bottom:11px; }
  .category-copy b { font-size:14px; }
  .category-copy small { margin:4px 0 8px; font-size:11px; }
  .category-copy .btn { min-height:29px; padding:5px 8px; font-size:10px; }
  .promo-wrap { padding-bottom:4px; }
  .promo { min-height:255px; align-items:center; padding:25px; border-radius:18px; background-position:62% center; }
  .promo-copy { max-width:260px; }
  .promo-copy em { font-size:21px; }
  .promo h2 { max-width:250px; font-size:27px; line-height:1.12; }
  .promo p { font-size:13px; }
  .promo-benefits { display:none; }
  .section-heading { align-items:end; }
  .section-heading h2 { font-size:24px; }
  .section-heading a { font-size:12px; }
  .route-scroll { gap:12px; padding:0 2px 16px; }
  .route-card { flex:0 0 min(76vw,290px); height:auto; overflow:hidden; border:1px solid #e4ece8; border-radius:14px; background:#fff; box-shadow:0 7px 20px #103c3418; color:var(--ink); }
  .route-card img { height:162px; object-fit:cover; }
  .route-card .card-shade { display:none; }
  .route-copy { position:static; min-height:92px; padding:12px 48px 13px 13px; }
  .route-copy b { font-size:16px; }
  .route-copy small { color:#697c7b; font-size:12px; }
  .route-copy strong { margin-top:5px; color:var(--green); font-size:13px; }
  .route-copy strong small { color:#697c7b; font-size:10px; }
  .route-arrow { position:absolute; right:12px; bottom:22px; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#f8e8ab; color:var(--green); font-size:17px; font-weight:700; }
  .trust-section { padding-block:8px 25px; }
  .trust-strip { gap:14px 8px; }
  .trust-strip a { align-items:flex-start; gap:7px; }
  .trust-icon { width:38px; height:38px; font-size:20px; }
  .trust-strip b { font-size:11px; }
  .trust-strip small { font-size:10px; }
  .footer-grid { gap:24px 16px; padding-block:30px; }
  .footer-grid b { font-size:12px; }
  .footer-grid a:not(.brand), .footer-grid p { font-size:11px; }
  .footer-bottom { font-size:10px; }
  .mobile-bottom-nav { position:fixed; z-index:40; bottom:0; left:0; right:0; height:68px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:5px 8px max(5px,env(safe-area-inset-bottom)); border-top:1px solid #dde9e5; border-radius:16px 16px 0 0; background:#fff; box-shadow:0 -5px 24px #123b3220; }
  .mobile-bottom-nav a { min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; border-radius:10px; color:#59706c; font-size:10px; font-weight:700; }
  .mobile-bottom-nav a.active { color:var(--green); background:#f5efd8; }
  .mobile-bottom-nav svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .page-hero-inner { padding-block:48px 52px; }
  .page-hero h1, .detail-hero h1 { font-size:clamp(36px,9vw,48px); }
  .page-hero p:last-child { font-size:14px; }
  .booking-page { margin-block:25px 45px; }
  .listing-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .listing-card img { height:200px; }
  .detail-hero { min-height:315px; }
  .detail-hero-inner { padding-block:45px; }
  .detail-grid { gap:12px; padding-block:35px 50px; }
  .prose { padding-block:35px 55px; }
}
@media (max-width:360px) {
  .hero h1, .hero .hero-slide-title { font-size:39px; }
  .quick-categories { gap:5px; }
  .quick-categories span { font-size:9px; }
  .category-card { height:218px; }
  .category-copy b { font-size:13px; }
  .category-copy small { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}


@media (max-width:600px) {
  .category-card:last-child:nth-child(odd) { grid-column:1 / -1; height:190px; }
  .trust-strip b { font-size:12px; }
  .trust-strip small { font-size:11px; }
}
/* Rich collection, detail and supplied visual assets */
.hero-feature-icon { width:28px; height:28px; display:grid; place-items:center; }
.hero-feature-icon img { width:100%; height:100%; object-fit:contain; }
.trust-icon img { width:29px; height:29px; object-fit:contain; }
.promo-benefits span { overflow:hidden; background:transparent; }
.promo-benefits img { display:block; width:100%; height:100%; object-fit:contain; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 26px; color:#dfecea; font-size:12px; }
.breadcrumbs a { text-decoration:underline; text-underline-offset:3px; }
.breadcrumbs-light { color:#e8f1ee; }
.collection-hero { min-height:395px; display:flex; align-items:center; background-size:cover; background-position:center; color:#fff; }
.collection-hero-inner { padding-block:55px; }
.collection-hero h1 { max-width:750px; margin:0; font-size:clamp(42px,5vw,68px); line-height:1.03; letter-spacing:-.045em; }
.collection-hero>div>p:not(.eyebrow) { max-width:550px; margin:16px 0 0; font-size:17px; line-height:1.55; }
.collection-stats { display:flex; flex-wrap:wrap; gap:11px 22px; margin-top:28px; }
.collection-stats span { padding:9px 12px; border:1px solid #ffffff44; border-radius:8px; background:#003a3791; font-size:12px; }
.collection-stats b { color:#ffe391; }
.collection-content { padding-block:48px 64px; }
.collection-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:25px; }
.section-kicker { margin:0 0 8px; color:#a48729; font-size:11px; font-weight:700; letter-spacing:2px; }
.collection-heading h2, .detail-main h2 { margin:0; font-size:31px; line-height:1.15; letter-spacing:-.02em; }
.btn-outline { border:1px solid #003e39; background:#fff; color:#003e39; }
.listing-grid-rich { gap:24px; }
.listing-card-rich { display:flex; flex-direction:column; border:1px solid #e4ebe9; box-shadow:0 12px 30px #103c3412; transition:transform .2s,box-shadow .2s; }
.listing-card-rich:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.listing-image { position:relative; display:block; overflow:hidden; }
.listing-card-rich .listing-image img { height:235px; transition:transform .4s; }
.listing-card-rich:hover .listing-image img { transform:scale(1.045); }
.listing-badge { position:absolute; top:14px; left:14px; padding:7px 10px; border-radius:20px; background:#003e39; color:#fff; font-size:11px; font-weight:700; }
.listing-card-body { display:flex; flex:1; flex-direction:column; padding:19px 20px 18px; }
.listing-card-body h2 { font-size:22px; }
.listing-card-body p { min-height:44px; margin:10px 0 16px; }
.listing-meta { display:flex; flex-wrap:wrap; gap:6px; color:#617575; font-size:11px; font-weight:700; }
.listing-meta span + span::before { content:'•'; margin-right:6px; color:#caa543; }
.listing-bottom { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-top:auto; padding-top:14px; border-top:1px solid #e7eeeb; }
.listing-bottom small { display:block; color:#718181; font-size:10px; }
.listing-bottom strong { display:block; margin-top:3px; font-size:19px; }
.listing-link { color:#003e39; font-size:12px; font-weight:700; white-space:nowrap; }
.listing-link span { color:#b69126; font-size:16px; }
.detail-hero-rich { min-height:425px; }
.detail-hero-inner .breadcrumbs { margin-bottom:33px; }
.detail-hero-inner p:last-child { max-width:630px; margin-top:17px; font-size:17px; line-height:1.55; }
.detail-facts-wrap { border-bottom:1px solid #e3eae7; background:#fbfcfb; }
.detail-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:20px; align-items:center; padding-block:21px; }
.detail-facts>div { min-width:0; display:flex; flex-direction:column; gap:4px; padding-left:16px; border-left:3px solid #e2c35f; }
.detail-facts span, .detail-aside small { color:#687d7b; font-size:11px; }
.detail-facts b { font-size:13px; }
.detail-grid-rich { align-items:start; gap:55px; }
.detail-main { padding-top:3px; }
.detail-intro>p:last-child, .detail-block>p { margin:14px 0 0; color:#4d6260; font-size:16px; line-height:1.8; white-space:pre-line; }
.detail-block { margin-top:37px; padding:28px; border:1px solid #e4ebe9; border-radius:14px; background:#fbfdfc; }
.detail-block h2 { font-size:24px; }
.detail-inclusions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; margin-top:20px; }
.detail-inclusions section { min-width:0; padding:23px; border-radius:14px; background:#f9fbfa; }
.detail-inclusions h2 { margin-top:11px; font-size:20px; }
.detail-inclusions p { margin:9px 0 0; color:#566a68; font-size:14px; line-height:1.65; }
.detail-check, .detail-x { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#e3f3e9; color:#147448; font-weight:700; }
.detail-x { background:#f9ebe5; color:#ac4b31; }
.detail-note { margin-top:24px; padding:20px 22px; border-radius:12px; background:linear-gradient(135deg,#0a554e,#003c38); color:#fff; }
.detail-note p { margin:5px 0 0; color:#dcece7; font-size:13px; }
.detail-aside-rich { position:sticky; top:18px; padding:0; overflow:hidden; border:1px solid #e5ece9; border-radius:16px; background:#fff; }
.detail-aside-rich>img { width:100%; height:170px; object-fit:cover; }
.detail-aside-copy { display:flex; flex-direction:column; gap:13px; padding:23px; }
.detail-aside-copy .section-kicker { margin-bottom:-3px; }
.detail-aside-copy .aside-meta { margin:0; color:#566d6a; font-size:13px; }
.detail-aside-copy strong { margin-top:-8px; }
.detail-aside-copy .btn { width:100%; margin-top:2px; }
.page-hero-rich { background:linear-gradient(125deg,#003d38,#126a60); }
.page-hero-rich .breadcrumbs { margin-bottom:30px; }
.prose-rich { min-height:0; padding-block:50px; }
.prose-card { max-width:950px; padding:36px; border:1px solid #e4ebe9; border-radius:16px; background:#fff; box-shadow:0 10px 30px #103c340a; }
.prose-card p { margin:0; color:#4c6260; font-size:16px; line-height:1.9; }
.prose-card .btn { margin-top:24px; }
.journey-banner-wrap { padding-bottom:56px; }
.journey-banner { position:relative; min-height:330px; overflow:hidden; border-radius:18px; background-size:cover; background-position:center; box-shadow:var(--shadow); }
.journey-banner::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,39,35,.94),rgba(0,39,35,.62) 46%,rgba(0,39,35,.08)); pointer-events:none; }
.journey-banner-copy { position:relative; z-index:1; width:min(560px,70%); padding:58px 0 52px 7%; color:#fff; }
.journey-banner-copy small { color:#f1c956; font-size:11px; font-weight:800; letter-spacing:1.7px; }
.journey-banner-copy h2 { margin:10px 0 12px; color:#fff; font-size:34px; line-height:1.12; }
.journey-banner-copy p { margin:0 0 23px; color:#d8e9e5; font-size:14px; line-height:1.65; }
@media (max-width:800px) {
  .listing-card-rich .listing-image img { height:215px; }
  .detail-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .detail-facts .btn { grid-column:1/-1; }
  .detail-grid-rich { gap:28px; }
}
@media (max-width:600px) {
  .hero-feature-icon { width:25px; height:25px; }
  .trust-icon img { width:26px; height:26px; }
  .collection-hero { min-height:360px; }
  .collection-hero-inner { padding-block:38px; }
  .collection-hero h1 { font-size:42px; }
  .collection-hero>div>p:not(.eyebrow) { font-size:14px; }
  .collection-stats { gap:7px; margin-top:21px; }
  .collection-stats span { padding:7px 9px; font-size:10px; }
  .collection-content { padding-block:32px 42px; }
  .collection-heading { align-items:flex-start; flex-direction:column; margin-bottom:20px; }
  .collection-heading h2 { font-size:26px; }
  .listing-grid-rich { gap:16px; }
  .listing-card-rich .listing-image img { height:195px; }
  .listing-card-body { padding:16px; }
  .listing-card-body h2 { font-size:20px; }
  .listing-card-body p { min-height:0; margin-bottom:14px; }
  .detail-hero-rich { min-height:370px; }
  .detail-hero-inner .breadcrumbs { margin-bottom:25px; font-size:10px; }
  .detail-facts { gap:13px; padding-block:16px; }
  .detail-facts>div { padding-left:10px; }
  .detail-facts b { font-size:11px; }
  .detail-facts .btn { font-size:12px; }
  .detail-grid-rich { padding-block:32px 38px; }
  .detail-main h2 { font-size:26px; }
  .detail-intro>p:last-child,.detail-block>p { font-size:14px; line-height:1.75; }
  .detail-block { margin-top:26px; padding:20px; }
  .detail-inclusions { grid-template-columns:1fr; gap:12px; }
  .detail-inclusions section { padding:18px; }
  .detail-aside-rich { position:static; }
  .detail-aside-rich>img { height:185px; }
  .prose-rich { padding-block:32px; }
  .prose-card { padding:23px 20px; }
  .prose-card p { font-size:14px; line-height:1.75; }
  .journey-banner-wrap { padding-bottom:35px; }
  .journey-banner { min-height:210px; border-radius:14px; background-position:center; }
  .journey-banner-copy { width:85%; padding:30px 22px; }
  .journey-banner-copy h2 { font-size:25px; }
}
/* Program-linked reservation request */
.booking-clean { max-width:980px; margin-inline:auto; padding:28px; }
.booking-form-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; padding-bottom:20px; border-bottom:1px solid var(--line); }
.booking-form-head h2 { margin:0; font-size:27px; line-height:1.2; }
.booking-form-head p:not(.section-kicker) { margin:8px 0 0; color:var(--muted); font-size:13px; }
.booking-secure { padding:8px 11px; border-radius:20px; background:#edf6f2; color:var(--green); font-size:11px; font-weight:700; white-space:nowrap; }
.program-select { display:flex; flex-direction:column; gap:7px; margin-top:20px; font-size:12px; font-weight:700; }
.program-select select { width:100%; height:50px; padding:0 13px; border:1px solid #d4dcdf; border-radius:8px; background:#fff; color:var(--ink); font-size:14px; }
.selected-program { display:flex; flex-direction:column; gap:4px; margin:14px 0 20px; padding:16px 18px; border-left:4px solid var(--gold); border-radius:8px; background:#f8fbfa; }
.selected-program span { color:#927519; font-size:10px; font-weight:700; letter-spacing:1.5px; }
.selected-program b { font-size:17px; }
.selected-program small { color:#617675; font-size:12px; }
.booking-fields { margin-top:20px; }
.booking-fields label small { color:#71807f; font-size:10px; font-weight:400; }
.child-age-fields { padding:17px; border:1px solid #e2ebe7; border-radius:10px; background:#fbfcfb; }
.child-age-fields>b { display:block; margin-bottom:11px; font-size:12px; }
.child-age-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.child-age-grid label { display:flex; flex-direction:column; gap:6px; font-size:11px; font-weight:700; }
.child-age-grid input { width:100%; height:43px; padding:0 12px; border:1px solid #d4dcdf; border-radius:7px; }
.booking-submit-row { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-top:20px; padding-top:20px; border-top:1px solid var(--line); }
.booking-submit-row p { max-width:430px; margin:0; color:#627879; font-size:11px; }
.booking-submit-row .btn-submit { min-width:270px; }
@media(max-width:600px){.booking-clean{padding:20px 16px}.booking-form-head{flex-direction:column;gap:11px}.booking-form-head h2{font-size:24px}.child-age-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-submit-row{align-items:stretch;flex-direction:column}.booking-submit-row .btn-submit{min-width:0}.booking-secure{white-space:normal}.program-select select{font-size:13px}}
.home-program-cta { position:relative; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:22px; margin-top:-48px; padding:23px 30px; border-radius:16px; background:#fff; box-shadow:var(--shadow); }
.home-program-cta h2 { margin:0; font-size:25px; }
.home-program-cta p:not(.section-kicker) { max-width:570px; margin:7px 0 0; color:var(--muted); font-size:13px; }
@media(max-width:600px){.home-program-cta{align-items:flex-start;flex-direction:column;margin-top:-38px;padding:20px}.home-program-cta h2{font-size:22px}}
/* Home program reservation panel */
.home-booking-panel { padding:13px; }
.home-booking-head { display:flex; align-items:baseline; gap:10px; padding:4px 8px 11px; color:var(--green); }
.home-booking-head span { color:#a88827; font-size:10px; font-weight:700; letter-spacing:1.8px; }
.home-booking-head b { font-size:14px; }
.home-booking-row { display:grid; grid-template-columns:minmax(190px,1.7fr) minmax(155px,1.15fr) minmax(125px,.8fr) minmax(120px,.75fr) minmax(180px,1fr); gap:11px; align-items:end; }
.home-booking-row label { min-width:0; display:flex; flex-direction:column; gap:7px; color:var(--ink); font-size:12px; font-weight:700; }
.home-booking-row select,.home-booking-row input { width:100%; min-width:0; height:46px; padding:0 12px; border:1px solid #d4dcdf; border-radius:7px; background:#fff; color:var(--ink); font-size:13px; }
.home-booking-row input[readonly] { background:#f8fbfa; color:#607876; }
.home-booking-row .btn-submit { width:100%; min-height:46px; white-space:nowrap; }
@media(max-width:1180px){.home-booking-row{grid-template-columns:repeat(2,minmax(0,1fr))}.home-booking-row .btn-submit{grid-column:1/-1}}
@media(max-width:600px){.home-booking-panel{padding:11px}.home-booking-head{padding:4px 4px 10px}.home-booking-row{grid-template-columns:1fr;gap:13px}.home-booking-row .btn-submit{grid-column:auto;min-height:50px}.home-program-cta{margin-top:18px}}
/* Keep the home reservation panel and program introduction as separate sections. */
.home-program-cta { margin-top:26px; margin-bottom:0; }
@media(max-width:600px){.home-program-cta{margin-top:20px}}
.home-booking-row .btn-submit { border-color:var(--green); background:var(--green); color:#fff; }
.home-booking-row .btn-submit:hover { background:#075a51; }
.hero-features { max-width:590px; gap:16px; margin-top:28px; }
.hero-features a { gap:6px; padding:10px; }
.hero-feature-icon { width:35px; height:35px; }
.hero-features b { font-size:14px; line-height:1.2; }
.hero-features small { font-size:11px; line-height:1.3; }
@media(max-width:600px){.hero-feature-icon{width:28px;height:28px}}
.page-rich-content { color:#4c6260; font-size:16px; line-height:1.9; }.page-rich-content p{margin:0 0 16px}.page-rich-content h2{margin:28px 0 12px;color:var(--ink);font-size:28px}.page-rich-content h3{margin:22px 0 10px;color:var(--ink);font-size:22px}.page-rich-content ul,.page-rich-content ol{margin:0 0 16px;padding-left:23px}.page-rich-content blockquote{margin:20px 0;padding:14px 18px;border-left:4px solid var(--gold);background:#faf8ed;color:var(--ink)}.page-rich-content a{color:var(--green);font-weight:700;text-decoration:underline}@media(max-width:600px){.page-rich-content{font-size:14px;line-height:1.75}.page-rich-content h2{font-size:24px}.page-rich-content h3{font-size:20px}}
/* Modern corporate and contact pages */
.page-hero-modern { position:relative; overflow:hidden; background:linear-gradient(120deg,#003c37 0%,#006a5e 56%,#138075 100%); }
.page-hero-modern::before,.page-hero-modern::after { content:''; position:absolute; border:1px solid rgba(255,210,87,.26); border-radius:50%; pointer-events:none; }
.page-hero-modern::before { width:490px; height:490px; right:-120px; top:-300px; }
.page-hero-modern::after { width:280px; height:280px; right:16%; bottom:-195px; }
.page-hero-modern .page-hero-inner { position:relative; z-index:1; }
.about-page,.contact-page { padding-block:58px 68px; }
.about-story { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(270px,.75fr); gap:30px; align-items:stretch; }
.section-kicker { margin:0 0 10px; color:#b2871c; font-size:11px; font-weight:700; letter-spacing:2px; }
.about-copy { padding:16px 4px; }
.about-copy h2,.contact-intro h2,.about-cta h2 { margin:0; color:#123b3b; font-size:clamp(28px,3vw,42px); line-height:1.13; letter-spacing:-.03em; }
.about-copy .page-rich-content { max-width:710px; margin-top:22px; color:#516a68; font-size:16px; line-height:1.85; }
.about-copy .page-rich-content p { margin:0 0 14px; }
.text-link { display:inline-flex; gap:10px; margin-top:22px; color:#004f48; font-size:14px; font-weight:700; text-decoration:none; }
.text-link span,.contact-card em b { color:#d7aa2a; font-size:18px; line-height:.8; }
.about-panel { display:flex; flex-direction:column; justify-content:flex-end; min-height:305px; padding:32px; overflow:hidden; border-radius:20px; color:#fff; background:linear-gradient(155deg,#00685e,#003a35); box-shadow:var(--shadow); }
.about-panel::before { content:'✦'; margin-bottom:auto; color:#f3ca56; font-size:38px; }
.about-panel p { margin:0 0 9px; color:#f5ca52; font-size:10px; font-weight:700; letter-spacing:2px; }
.about-panel strong { font-size:28px; line-height:1.15; letter-spacing:-.03em; }
.about-panel span { margin-top:15px; color:#d3e9e4; font-size:13px; line-height:1.55; }
.about-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:38px; }
.about-values article { min-height:172px; padding:25px; border:1px solid #e1ebe8; border-radius:14px; background:#fff; }
.about-values span { color:#c99c28; font-size:12px; font-weight:700; letter-spacing:1.5px; }
.about-values h3 { margin:17px 0 8px; color:#123b3b; font-size:17px; }
.about-values p { margin:0; color:#607574; font-size:13px; line-height:1.6; }
.about-cta { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:38px; padding:34px 38px; border-radius:18px; color:#fff; background:#083f3a; }
.about-cta h2 { max-width:640px; color:#fff; font-size:28px; }
.about-cta .section-kicker { color:#f2c856; }
.contact-intro { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:28px; }
.contact-intro h2 { max-width:700px; }
.contact-intro p { max-width:760px; margin:12px 0 0; color:#5a7070; font-size:15px; line-height:1.65; white-space:pre-line; }
.contact-intro .btn { flex:none; }
.contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.contact-card { display:flex; flex-direction:column; min-height:255px; padding:26px; border:1px solid #dfebe8; border-radius:16px; color:#153f3e; background:#fff; text-decoration:none; transition:transform .2s,box-shadow .2s,border-color .2s; }
.contact-card:hover { transform:translateY(-5px); border-color:#b9d4cf; box-shadow:0 14px 30px #003e3612; }
.contact-icon { display:grid; width:46px; height:46px; place-items:center; margin-bottom:30px; border-radius:50%; color:#00584f; background:#fdf2cd; }
.contact-icon svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.contact-card small { color:#a47a19; font-size:10px; font-weight:700; letter-spacing:1.5px; }
.contact-card strong { margin-top:10px; color:#123b3b; font-size:17px; line-height:1.4; overflow-wrap:anywhere; }
.contact-card em { display:flex; gap:8px; align-items:center; margin-top:auto; color:#39706b; font-size:12px; font-style:normal; font-weight:700; }
.contact-notice { display:flex; align-items:center; gap:12px; margin-top:24px; padding:16px 19px; border-radius:11px; color:#265b55; background:#e8f4f0; }
.contact-notice span { display:grid; flex:none; width:24px; height:24px; place-items:center; border-radius:50%; color:#fff; background:#0a786b; font-size:13px; font-weight:700; }
.contact-notice p { margin:0; font-size:13px; line-height:1.45; }
@media (max-width:800px) { .about-page,.contact-page { padding-block:38px 46px; } .about-story { grid-template-columns:1fr; } .about-panel { min-height:230px; } .about-values,.contact-grid { grid-template-columns:1fr; } .about-values article { min-height:0; } .contact-card { min-height:195px; } .contact-intro,.about-cta { align-items:flex-start; flex-direction:column; } }
@media (max-width:500px) { .page-hero-modern::before { right:-230px; } .about-copy { padding-top:0; } .about-copy .page-rich-content { font-size:14px; } .about-panel { padding:25px; } .about-panel strong { font-size:24px; } .about-cta { padding:26px 22px; } .about-cta h2 { font-size:24px; } .contact-intro h2 { font-size:28px; } .contact-card { padding:23px; } }
.contact-map { margin-top:25px; overflow:hidden; border:1px solid #deebe7; border-radius:16px; background:#fff; }
.contact-map-head { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:21px 25px; }
.contact-map-head .section-kicker { margin-bottom:5px; }
.contact-map-head h2 { margin:0; color:#123b3b; font-size:21px; }
.contact-map-head a { color:#076258; font-size:13px; font-weight:700; text-decoration:none; }
.contact-map-head a span { margin-left:5px; color:#d2a526; font-size:17px; }
.contact-map iframe { display:block; width:100%; height:330px; border:0; }
@media (max-width:500px) { .contact-map-head { align-items:flex-start; flex-direction:column; padding:19px 20px; } .contact-map iframe { height:260px; } }
/* Hero slider */
.hero-slider { position:relative; min-height:490px; overflow:hidden; background:#003c37; }
.hero-slider::before { display:none; }
.hero-slide { position:absolute; inset:0; min-height:490px; background-size:cover; background-position:center; opacity:0; visibility:hidden; transition:opacity .7s ease,visibility .7s ease; }
.hero-slide.is-active { position:relative; opacity:1; visibility:visible; }
.hero-slide-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,37,39,.82),rgba(4,37,39,.26) 68%,rgba(4,37,39,.08)); }
.hero-slide .hero-inner { position:relative; z-index:1; }
.hero-slider-dots { position:absolute; z-index:3; right:max(24px,calc((100vw - 1280px)/2 + 24px)); bottom:88px; display:flex; gap:9px; }
.hero-slider-dots button { width:10px; height:10px; padding:0; border:1px solid #fff; border-radius:50%; background:transparent; cursor:pointer; transition:width .2s,background .2s; }
.hero-slider-dots button.is-active { width:28px; border-radius:8px; background:#f1c550; border-color:#f1c550; }
@media (max-width:800px) { .hero-slider,.hero-slide { min-height:595px; } .hero-slide { background-position:62% center; } .hero-slide-shade { background:linear-gradient(90deg,rgba(4,37,39,.87),rgba(4,37,39,.28) 90%); } .hero-slider-dots { right:16px; bottom:82px; } }
/* Typography, rich footer and route filters */
html,body,button,input,select,textarea { font-family:Arial,sans-serif; letter-spacing:normal; }
.eyebrow,.section-kicker { font-family:Arial,sans-serif; letter-spacing:1.6px; font-weight:700; }
.home-booking-head { justify-content:flex-start; }
.footer-rich { position:relative; overflow:hidden; background:#fbfcfb; border-top:1px solid #e4ebe8; color:#173f3d; }
.footer-rich::before { content:''; position:absolute; top:-190px; right:-90px; width:610px; height:430px; opacity:.3; background:radial-gradient(ellipse at center,transparent 41%,#d5dfdb 42%,transparent 43%),repeating-linear-gradient(90deg,transparent 0 36px,#dce6e2 37px 38px); transform:rotate(-8deg); pointer-events:none; }
.footer-grid-rich { position:relative; z-index:1; display:grid; grid-template-columns:1.35fr .8fr .9fr 1.1fr 1.35fr; gap:34px; padding-block:45px 34px; }
.footer-grid-rich>div { display:flex; min-width:0; flex-direction:column; align-items:flex-start; gap:10px; }.footer-grid-rich b { margin-bottom:7px; color:#123d3a; font-size:14px; }.footer-grid-rich a,.footer-grid-rich p { margin:0; color:#4f6564; font-size:13px; line-height:1.45; text-decoration:none; }.footer-grid-rich a:hover { color:#006257; }.footer-brand .brand-logo { width:158px; height:auto; }.footer-brand>p { max-width:260px; margin-top:4px; }.footer-social { display:flex; gap:13px; margin-top:8px; }.footer-social a { display:grid; width:26px; height:26px; place-items:center; border:1px solid #2c625e; border-radius:50%; color:#0a5952; font-size:15px; font-weight:700; }.footer-contact a,.footer-contact p { display:flex; align-items:flex-start; gap:9px; }.footer-contact span { flex:none; width:16px; color:#007066; font-weight:700; }.footer-newsletter { padding-left:29px; border-left:1px solid #dce5e2; }.footer-newsletter>p { max-width:260px; font-size:12px; }.footer-newsletter form { display:flex; width:100%; margin-top:4px; }.footer-newsletter input { width:100%; min-width:0; height:42px; padding:0 12px; border:1px solid #dce6e3; border-radius:8px 0 0 8px; background:#fff; color:#173f3d; }.footer-newsletter .btn { min-width:46px; padding:0 12px; border-radius:0 8px 8px 0; }.footer-newsletter small { color:#516b68; font-size:10px; }.footer-newsletter em { align-self:flex-end; margin-top:8px; color:#b48924; font:italic 20px/1.08 Georgia,serif; text-align:right; }.footer-rich .footer-bottom { position:relative; z-index:1; background:#003f39; color:#d7e7e4; }.footer-rich .footer-bottom>div { padding-block:15px; font-size:11px; }.routes-heading { align-items:center; }.route-tabs { display:flex; flex-wrap:wrap; gap:4px; }.route-tabs button { padding:8px 11px; border:0; border-bottom:2px solid transparent; background:transparent; color:#647675; font-size:12px; cursor:pointer; }.route-tabs button.is-active { border-color:#d8af36; color:#133f3c; font-weight:700; }.route-card.is-filtered { display:none; }
@media (max-width:1120px) { .footer-grid-rich { grid-template-columns:repeat(3,minmax(0,1fr)); }.footer-newsletter { padding-left:0; border-left:0; } } @media (max-width:700px) { .footer-grid-rich { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; padding-block:36px 28px; }.footer-brand,.footer-newsletter { grid-column:1/-1; }.footer-newsletter em { align-self:flex-start; text-align:left; }.routes-heading { align-items:flex-start; flex-direction:column; }.route-tabs { width:100%; overflow-x:auto; flex-wrap:nowrap; }.route-tabs button { white-space:nowrap; } }
/* Drag-to-scroll popular routes without a visible scrollbar */
.route-scroll { scrollbar-width:none; -ms-overflow-style:none; cursor:grab; user-select:none; }
.route-scroll::-webkit-scrollbar { display:none; }
.route-scroll.is-dragging { cursor:grabbing; scroll-snap-type:none; }
.route-scroll.is-dragging .route-card { pointer-events:none; }
/* Reservation experience */
.booking-hero { position:relative; overflow:hidden; background:linear-gradient(120deg,#003c37 0%,#00685e 60%,#128074 100%); }.booking-hero::before { content:''; position:absolute; inset:0; opacity:.25; background-image:linear-gradient(45deg,transparent 48%,#f1c756 49%,transparent 51%); background-size:42px 42px; }.booking-hero-inner { position:relative; z-index:1; display:flex; align-items:end; justify-content:space-between; gap:35px; }.booking-hero h1 { max-width:690px; }.booking-hero-orbit { position:absolute; border:1px solid rgba(255,211,96,.34); border-radius:50%; }.orbit-one { width:500px; height:500px; right:-120px; top:-270px; }.orbit-two { width:320px; height:320px; right:16%; bottom:-270px; }.booking-hero-promise { display:flex; align-items:center; gap:12px; width:min(100%,305px); margin-bottom:7px; padding:16px; border:1px solid #ffffff2a; border-radius:14px; background:#003d389c; backdrop-filter:blur(8px); }.booking-hero-promise>span { display:grid; flex:none; width:35px; height:35px; place-items:center; border-radius:50%; color:#064b44; background:#f3c958; font-weight:700; }.booking-hero-promise b,.booking-hero-promise small { display:block; }.booking-hero-promise b { font-size:13px; }.booking-hero-promise small { margin-top:4px; color:#d9eae6; font-size:11px; line-height:1.4; }
.booking-experience { display:grid; grid-template-columns:270px minmax(0,1fr); gap:30px; align-items:start; padding-block:52px 70px; }.booking-journey { position:sticky; top:28px; padding:28px 24px; overflow:hidden; border-radius:18px; color:#eff8f5; background:linear-gradient(160deg,#034c45,#00342f); box-shadow:0 16px 35px #003b3421; }.booking-journey::after { content:'✦'; position:absolute; right:-18px; bottom:-53px; color:#f1c85b; font-size:158px; opacity:.15; }.booking-journey .section-kicker { color:#f3c85a; }.booking-journey h2 { margin:0; color:#fff; font-size:26px; line-height:1.15; letter-spacing:-.02em; }.booking-journey ol { display:grid; gap:22px; margin:28px 0; padding:0; list-style:none; }.booking-journey li { position:relative; display:flex; gap:11px; opacity:.72; }.booking-journey li:not(:last-child)::after { content:''; position:absolute; top:31px; left:14px; width:1px; height:25px; background:#ffffff43; }.booking-journey li.is-current { opacity:1; }.booking-journey li>span { display:grid; flex:none; width:29px; height:29px; place-items:center; border:1px solid #ffffff4f; border-radius:50%; color:#ffe287; font-size:10px; font-weight:700; }.booking-journey li.is-current>span { color:#073c37; border-color:#f3c85a; background:#f3c85a; }.booking-journey li b,.booking-journey li small { display:block; }.booking-journey li b { color:#fff; font-size:12px; }.booking-journey li small { margin-top:4px; color:#c5ded9; font-size:10px; line-height:1.35; }.booking-help-card { position:relative; z-index:1; display:flex; gap:10px; padding-top:18px; border-top:1px solid #ffffff26; }.booking-help-card>span { color:#f3c85a; font-size:19px; }.booking-help-card p { margin:0; color:#d7ebe5; font-size:10px; }.booking-help-card a { display:block; margin-top:4px; color:#fff; font-size:12px; font-weight:700; text-decoration:none; }
.booking-experience .booking-clean { max-width:none; margin:0; padding:31px; border:1px solid #dfeae6; border-radius:20px; box-shadow:0 18px 45px #003d3510; }.booking-form-head { align-items:center; }.booking-form-head h2 { font-size:30px; letter-spacing:-.025em; }.booking-secure { padding:9px 13px; border:1px solid #cde7dc; background:#ecf8f2; color:#006b55; }.booking-stepper { display:flex; align-items:center; gap:9px; margin:22px 0 25px; padding:12px 0; border-block:1px solid #e6eeeb; }.booking-stepper span { display:flex; align-items:center; gap:6px; color:#788886; font-size:11px; font-weight:700; }.booking-stepper span b { display:grid; width:22px; height:22px; place-items:center; border-radius:50%; background:#edf2f0; color:#6e807c; font-size:10px; }.booking-stepper span.is-active { color:#005b51; }.booking-stepper span.is-active b { background:#00665b; color:#fff; box-shadow:0 3px 7px #00665b4a; }.booking-stepper i { width:34px; height:1px; background:#d9e4e0; }.program-select { margin-top:0; }.program-select select,.details-grid input,.details-grid select,.details-grid textarea,.child-age-grid input { transition:border-color .2s,box-shadow .2s,transform .2s; }.program-select select:focus,.details-grid input:focus,.details-grid select:focus,.details-grid textarea:focus,.child-age-grid input:focus { border-color:#0c8173; box-shadow:0 0 0 4px #0b827318; transform:translateY(-1px); }.selected-program { position:relative; overflow:hidden; margin-top:16px; padding:19px 21px; border-left:4px solid #e9bf45; border-radius:11px; background:linear-gradient(100deg,#fffaf0,#f2f8f5); }.selected-program::after { content:'✦'; position:absolute; right:18px; top:8px; color:#e7bb42; font-size:42px; opacity:.5; }.selected-program b { position:relative; z-index:1; font-size:19px; }.booking-fields { gap:17px; }.booking-fields label { padding:2px 0; }.booking-fields label>input,.booking-fields label>select { height:49px; border-radius:9px; }.child-age-fields { border-radius:12px; background:#fbfdfc; }.booking-submit-row { margin-top:27px; padding-top:23px; }.booking-submit-row p { padding-left:12px; border-left:3px solid #f0c548; }.booking-submit-row .btn-submit { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:52px; border:0; border-radius:10px; background:linear-gradient(120deg,#006858,#003f39); box-shadow:0 9px 18px #00463d31; transition:transform .2s,box-shadow .2s; }.booking-submit-row .btn-submit:hover { transform:translateY(-2px); box-shadow:0 13px 24px #00463d40; }.booking-submit-row .btn-submit b { color:#f2ca59; font-size:20px; }.booking-reassurance { display:flex; flex-wrap:wrap; gap:10px 18px; margin:16px 4px 0; color:#54716d; font-size:11px; }.booking-reassurance span::first-letter { color:#05906e; font-weight:700; }
@media(max-width:900px){.booking-experience{grid-template-columns:1fr;gap:20px}.booking-journey{position:relative;top:auto}.booking-journey ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.booking-journey li:not(:last-child)::after{display:none}.booking-help-card{display:none}}@media(max-width:600px){.booking-hero-inner{align-items:flex-start;flex-direction:column}.booking-hero-promise{width:100%;margin-top:4px}.booking-experience{padding-block:30px 45px}.booking-journey{padding:23px 19px}.booking-journey ol{display:grid;margin:21px 0 0}.booking-journey li small{display:none}.booking-experience .booking-clean{padding:22px 17px;border-radius:15px}.booking-form-head h2{font-size:25px}.booking-stepper{gap:6px}.booking-stepper i{width:13px}.booking-stepper span{font-size:10px}.booking-stepper span b{width:20px;height:20px}.booking-submit-row .btn-submit{width:100%;min-height:54px}}
/* Reservation form alignment and CTA contrast */
.booking-fields label { position:relative; }
.booking-fields label .field-optional { position:absolute; top:2px; left:47px; margin:0; color:#71807f; font-size:10px; font-weight:400; line-height:1.2; }
.booking-submit-row .btn-submit,.booking-submit-row .btn-submit span { color:#fff !important; }
.booking-submit-row .btn-submit b { color:#f4cf62 !important; }
/* Tour pagination */
.tour-pagination { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:38px; }
.tour-pagination a,.tour-pagination span { display:grid; width:39px; height:39px; place-items:center; border:1px solid #d9e5e1; border-radius:9px; color:#245b56; background:#fff; font-size:13px; font-weight:700; text-decoration:none; transition:transform .18s,background .18s,color .18s; }
.tour-pagination a:hover { transform:translateY(-2px); border-color:#00685b; color:#fff; background:#00685b; }.tour-pagination .is-active { border-color:#00685b; color:#fff; background:#00685b; box-shadow:0 7px 15px #00685b2e; }.tour-pagination .is-disabled { color:#aab8b5; background:#f7faf9; }
/* Smart travel assistant */
.travel-assistant { position:fixed; z-index:50; right:24px; bottom:24px; font-family:Arial,sans-serif; }.assistant-launcher { display:flex; align-items:center; gap:9px; min-height:54px; padding:8px 12px 8px 9px; border:0; border-radius:28px; color:#fff; background:linear-gradient(135deg,#007265,#003f39); box-shadow:0 12px 28px #003d3747; cursor:pointer; font-size:13px; font-weight:700; transition:transform .2s,box-shadow .2s; }.assistant-launcher:hover { transform:translateY(-3px); box-shadow:0 16px 30px #003d3759; }.assistant-launcher-icon { display:grid; width:36px; height:36px; place-items:center; border-radius:50%; color:#073f39; background:#f4cc5c; font-size:20px; }.assistant-launcher i { display:grid; width:17px; height:17px; place-items:center; border:1px solid #ffffff70; border-radius:50%; font-style:normal; font-size:10px; }.assistant-panel { position:absolute; right:0; bottom:67px; width:min(370px,calc(100vw - 32px)); overflow:hidden; border:1px solid #dce8e4; border-radius:18px; background:#fff; box-shadow:0 20px 48px #002f2a2e; transform-origin:bottom right; }.assistant-head { display:flex; align-items:center; gap:10px; padding:16px; color:#fff; background:linear-gradient(130deg,#005e55,#003b36); }.assistant-avatar { display:grid; flex:none; width:37px; height:37px; place-items:center; border-radius:11px; color:#073f39; background:#f4cc5c; font-size:20px; }.assistant-head b,.assistant-head small { display:block; }.assistant-head b { font-size:13px; }.assistant-head small { margin-top:4px; color:#d4e8e3; font-size:10px; }.assistant-head small i { display:inline-block; width:6px; height:6px; margin-right:4px; border-radius:50%; background:#76e2a0; }.assistant-close { margin-left:auto; width:27px; height:27px; border:1px solid #ffffff47; border-radius:50%; color:#fff; background:transparent; cursor:pointer; font-size:19px; line-height:1; }.assistant-messages { display:flex; flex-direction:column; gap:10px; max-height:286px; padding:17px 15px 8px; overflow-y:auto; background:#f7faf9; }.assistant-message { width:fit-content; max-width:85%; padding:11px 13px; border-radius:12px; font-size:12px; line-height:1.5; }.assistant-message p { margin:0; }.assistant-message span { display:block; margin-top:6px; font-size:9px; opacity:.58; }.assistant-message.bot { align-self:flex-start; border-bottom-left-radius:3px; color:#284e4b; background:#fff; box-shadow:0 3px 9px #003e3710; }.assistant-message.user { align-self:flex-end; border-bottom-right-radius:3px; color:#fff; background:#00675c; }.assistant-suggestions { display:flex; gap:6px; padding:10px 13px 3px; overflow-x:auto; background:#f7faf9; scrollbar-width:none; }.assistant-suggestions::-webkit-scrollbar { display:none; }.assistant-suggestions button { flex:none; padding:7px 9px; border:1px solid #d3e2dd; border-radius:14px; color:#076155; background:#fff; cursor:pointer; font-size:10px; white-space:nowrap; }.assistant-form { display:flex; gap:8px; padding:12px 13px 8px; }.assistant-form input { width:100%; min-width:0; height:42px; padding:0 13px; border:1px solid #d3e2dd; border-radius:9px; color:#183d3a; outline:none; font-size:12px; }.assistant-form input:focus { border-color:#008172; box-shadow:0 0 0 3px #00817219; }.assistant-form button { display:grid; flex:none; width:42px; height:42px; place-items:center; border:0; border-radius:9px; color:#063f39; background:#f3c958; cursor:pointer; font-size:22px; font-weight:700; }.assistant-note { margin:0; padding:0 14px 13px; color:#829491; font-size:9px; text-align:center; }.assistant-panel[hidden] { display:none; }@media(max-width:600px){.travel-assistant{right:15px;bottom:78px}.assistant-launcher>span:not(.assistant-launcher-icon){display:none}.assistant-launcher{width:54px;padding:9px;border-radius:50%}.assistant-launcher i{display:none}.assistant-panel{bottom:66px;right:0;width:min(370px,calc(100vw - 30px))}}
/* Three stacked tours per page */
.tour-listing-grid { grid-template-columns:1fr; gap:18px; }.tour-listing-grid .listing-card-rich { display:grid; grid-template-columns:minmax(260px,34%) minmax(0,1fr); min-height:246px; }.tour-listing-grid .listing-image { min-height:246px; }.tour-listing-grid .listing-image img { width:100%; height:100%; }.tour-listing-grid .listing-card-body { justify-content:center; padding:27px 30px; }.tour-listing-grid .listing-card-body h2 { font-size:25px; }.tour-listing-grid .listing-card-body>p { max-width:720px; }.tour-listing-grid .listing-bottom { margin-top:18px; }@media(max-width:700px){.tour-listing-grid .listing-card-rich{display:block;min-height:0}.tour-listing-grid .listing-image{display:block;min-height:0}.tour-listing-grid .listing-image img{height:210px}.tour-listing-grid .listing-card-body{padding:21px}.tour-listing-grid .listing-card-body h2{font-size:21px}}
/* Tours: four columns and three rows per page */
.tour-listing-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }.tour-listing-grid .listing-card-rich { display:flex; min-height:0; }.tour-listing-grid .listing-image { display:block; min-height:0; }.tour-listing-grid .listing-image img { width:100%; height:205px; }.tour-listing-grid .listing-card-body { display:flex; justify-content:flex-start; padding:19px; }.tour-listing-grid .listing-card-body h2 { font-size:19px; }.tour-listing-grid .listing-card-body>p { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; }.tour-listing-grid .listing-bottom { margin-top:14px; }@media(max-width:1150px){.tour-listing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.tour-listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-listing-grid .listing-image img{height:190px}}@media(max-width:540px){.tour-listing-grid{grid-template-columns:1fr}.tour-listing-grid .listing-image img{height:215px}}
/* Modern footer social icons */
.footer-social { gap:10px; }.footer-social a { width:34px; height:34px; border:1px solid #c8dcd6; background:#fff; box-shadow:0 3px 8px #003d3510; transition:transform .2s,border-color .2s,background .2s; }.footer-social a svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.footer-social a svg .icon-fill { fill:currentColor; stroke:none; }.footer-social a:hover { transform:translateY(-3px); border-color:#006a5c; color:#fff; background:#006a5c; }
/* AI icon for travel assistant */
.assistant-launcher-icon svg,.assistant-avatar svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }.assistant-launcher-icon svg .ai-fill,.assistant-avatar svg .ai-fill { fill:currentColor; stroke:none; }
.ai-assistant .assistant-launcher-icon img,.ai-assistant .assistant-avatar img { display:block; width:27px; height:27px; object-fit:contain; }
.ai-assistant .assistant-launcher-icon,.ai-assistant .assistant-avatar { color:#fff; background:#0b8b79; box-shadow:inset 0 0 0 1px #ffffff42; }
.ai-assistant .assistant-launcher-icon img,.ai-assistant .assistant-avatar img { filter:brightness(0) invert(1); }
/* WhatsApp support assistant */
.whatsapp-assistant .assistant-launcher { background:linear-gradient(135deg,#0b9d65,#056c45); box-shadow:0 12px 29px #057a4b45; }
.whatsapp-assistant .assistant-launcher-icon,.whatsapp-assistant .assistant-avatar { color:#fff; background:#ffffff24; }
.whatsapp-assistant .assistant-launcher-icon svg,.whatsapp-assistant .assistant-avatar svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.whatsapp-assistant .assistant-launcher i { color:#8bffbd; border:0; font-size:11px; }
.whatsapp-assistant .assistant-head { background:linear-gradient(130deg,#08794f,#004e38); }
.whatsapp-intro { padding:17px 17px 12px; background:linear-gradient(180deg,#f5fbf8,#fff); color:#17483e; }
.whatsapp-intro b { display:block; font-size:14px; }
.whatsapp-intro p { margin:5px 0 0; color:#66807a; font-size:11px; line-height:1.45; }
.whatsapp-form { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:4px 16px 10px; }
.whatsapp-form label { display:flex; flex-direction:column; gap:5px; color:#254d46; font-size:10px; font-weight:700; }
.whatsapp-form input,.whatsapp-form textarea { width:100%; box-sizing:border-box; border:1px solid #d5e5df; border-radius:9px; padding:10px 11px; color:#153e36; outline:0; font:12px Arial,sans-serif; resize:vertical; }
.whatsapp-form input { height:40px; }
.whatsapp-form textarea { min-height:70px; line-height:1.45; }
.whatsapp-form input:focus,.whatsapp-form textarea:focus { border-color:#0a9a65; box-shadow:0 0 0 3px #0a9a6517; }
.whatsapp-full { grid-column:1/-1; }
.whatsapp-send { display:flex; align-items:center; justify-content:center; gap:8px; min-height:45px; border:0; border-radius:9px; color:#fff; background:#07975f; box-shadow:0 7px 14px #087b4b2b; cursor:pointer; font:700 12px Arial,sans-serif; transition:transform .2s,background .2s; }
.whatsapp-send:hover { background:#067f50; transform:translateY(-1px); }
.whatsapp-send svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.whatsapp-assistant .assistant-note { padding:0 16px 14px; color:#7d918b; }
@media(max-width:600px){.whatsapp-form{grid-template-columns:1fr}.whatsapp-form .whatsapp-full{grid-column:auto}.whatsapp-assistant .assistant-panel{max-height:calc(100vh - 135px);overflow-y:auto}}
/* Two separate support tools */
.ai-assistant { right:24px; bottom:24px; }
.whatsapp-assistant { right:24px; bottom:92px; }
@media(max-width:600px){.ai-assistant{right:15px;bottom:78px}.whatsapp-assistant{right:15px;bottom:143px}.whatsapp-assistant .assistant-launcher>span:not(.assistant-launcher-icon){display:none}.whatsapp-assistant .assistant-launcher{width:54px;padding:9px;border-radius:50%}.whatsapp-assistant .assistant-launcher i{display:none}}
.site-admin-bar{position:sticky;z-index:120;top:0;background:#063f39;color:#dcebe8;border-bottom:1px solid rgba(255,255,255,.12)}
.site-admin-bar-inner{display:flex;min-height:38px;align-items:center;justify-content:space-between;gap:18px;font-size:12px}
.site-admin-bar-inner span{font-weight:600;letter-spacing:.2px}
.site-admin-bar-inner a{display:inline-flex;min-height:28px;align-items:center;padding:5px 13px;border:1px solid rgba(255,255,255,.28);border-radius:7px;color:#fff;background:rgba(255,255,255,.08);font-weight:700;text-decoration:none;transition:.18s ease}
.site-admin-bar-inner a:hover{border-color:#e8c957;background:#e8c957;color:#123c38}
@media(max-width:700px){.site-admin-bar-inner{min-height:35px;font-size:10px}.site-admin-bar-inner a{min-height:26px;padding:4px 10px;font-size:10px}}

/* Premium listing cards */
.listing-grid-rich{align-items:stretch}
.listing-card-rich{height:100%;border:1px solid #dbe7e3;border-radius:15px;background:#fff;box-shadow:0 10px 28px rgba(16,55,49,.08);transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease}
.listing-card-rich:hover{transform:translateY(-4px);border-color:#bfd4ce;box-shadow:0 20px 42px rgba(11,62,53,.14)}
.listing-card-rich .listing-image{aspect-ratio:16/11;background:#e8efed}
.listing-card-rich .listing-image::after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(0,48,43,.02) 52%,rgba(0,48,43,.17) 100%)}
.listing-card-rich .listing-image img,.tour-listing-grid .listing-image img{width:100%;height:100%;object-fit:cover}
.listing-card-rich:hover .listing-image img{transform:scale(1.035)}
.listing-badge{z-index:1;top:14px;left:14px;padding:7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(0,70,62,.94);box-shadow:0 6px 16px rgba(0,42,38,.2);font-size:10px;letter-spacing:.2px}
.listing-card-body,.tour-listing-grid .listing-card-body{display:flex;flex:1;flex-direction:column;padding:20px 19px 18px}
.listing-meta{min-height:17px;align-items:center;gap:7px;color:#58706d;font-size:10px;letter-spacing:.12px}
.listing-card-body h2,.tour-listing-grid .listing-card-body h2{display:-webkit-box;overflow:hidden;min-height:48px;margin:8px 0 0;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#082e2b;font-size:19px;line-height:1.28;letter-spacing:-.25px}
.listing-card-body>p,.tour-listing-grid .listing-card-body>p{display:-webkit-box;overflow:hidden;min-height:58px;margin:11px 0 18px;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#536967;font-size:12px;line-height:1.6}
.listing-bottom,.tour-listing-grid .listing-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;margin-top:auto;padding-top:16px;border-top:1px solid #e5ecea}
.listing-bottom small{display:block;margin:0 0 3px;color:#6b7d7a;font-size:11px;font-weight:400;line-height:1.4;letter-spacing:0}
.listing-bottom strong{display:block;margin:0;color:#00675d;font-size:20px;font-weight:700;line-height:1.25;letter-spacing:0}
.listing-link{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:9px 14px;border:1px solid #b7cec8;border-radius:9px;color:#075c53;background:#f7fbfa;font-size:11px;font-weight:700;line-height:1.35;letter-spacing:0;text-align:center;text-decoration:none;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease}
.listing-link:hover{transform:translateY(-1px);border-color:#00675d;color:#fff;background:#00675d}
.tour-listing-grid{gap:22px}
@media(max-width:800px){.listing-card-body,.tour-listing-grid .listing-card-body{padding:18px}.listing-card-body h2,.tour-listing-grid .listing-card-body h2{min-height:45px;font-size:18px}.listing-card-body>p,.tour-listing-grid .listing-card-body>p{min-height:57px}.listing-bottom{gap:9px}.listing-link{padding-inline:10px}}
@media(max-width:540px){.listing-card-rich .listing-image{aspect-ratio:16/10}.listing-card-body h2,.tour-listing-grid .listing-card-body h2,.listing-card-body>p,.tour-listing-grid .listing-card-body>p{min-height:0}.listing-bottom{align-items:center}.listing-link{min-height:39px}}

/* Full-bleed hero imagery */
@media(min-width:801px){
  .hero-slider,.hero-slide{height:clamp(520px,33.333vw,680px);min-height:520px}
  .hero-slide .hero-inner{min-height:clamp(520px,33.333vw,680px);padding-top:clamp(72px,5vw,96px)}
}
.hero-slide{isolation:isolate;background:#073d38}
.hero-slide::before,.hero-slide::after{position:absolute;z-index:0;inset:-18px;content:"";pointer-events:none;background-image:var(--hero-image);background-position:center;background-repeat:no-repeat}
.hero-slide::before{background-size:cover;filter:blur(18px);opacity:.55;transform:scale(1.04)}
.hero-slide::after{z-index:1;inset:0;background-size:cover}
.hero-slide-shade{z-index:2}
.hero-slide .hero-inner{z-index:3}
.hero-slider-dots{z-index:5}
@media(max-width:800px){.hero-slide::after{background-size:cover;background-position:62% center}.hero-slide::before{display:none}}

/* Refined motion */
.hero-slide.is-active .hero-content>.eyebrow,.hero-slide.is-active .hero-content>h1,.hero-slide.is-active .hero-content>.hero-slide-title,.hero-slide.is-active .hero-content>.hero-copy,.hero-slide.is-active .hero-content>.hero-cta,.hero-slide.is-active .hero-content>.hero-features{animation:hero-content-drop .68s cubic-bezier(.2,.72,.25,1) both}
.hero-slide.is-active .hero-content>h1,.hero-slide.is-active .hero-content>.hero-slide-title{animation-delay:70ms}.hero-slide.is-active .hero-content>.hero-copy{animation-delay:130ms}.hero-slide.is-active .hero-content>.hero-cta{animation-delay:180ms}.hero-slide.is-active .hero-content>.hero-features{animation-delay:210ms}
@keyframes hero-content-drop{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}
.motion-ready .reveal-drop,.motion-ready .reveal-rise{opacity:0;will-change:opacity,transform;transition:opacity .7s cubic-bezier(.2,.72,.25,1) var(--reveal-delay,0ms),transform .7s cubic-bezier(.2,.72,.25,1) var(--reveal-delay,0ms)}
.motion-ready .reveal-drop{transform:translateY(-24px)}
.motion-ready .reveal-rise{transform:translateY(22px)}
.motion-ready .reveal-drop.is-visible,.motion-ready .reveal-rise.is-visible{opacity:1;transform:translateY(0)}
.route-scroll.is-dragging{cursor:grabbing;user-select:none}
.route-scroll.is-dragging .route-card{pointer-events:auto}
@media(prefers-reduced-motion:reduce){.hero-slide.is-active .hero-content>*{animation:none!important}.reveal-drop,.reveal-rise{opacity:1!important;transform:none!important;transition:none!important}}

/* Premium tour detail */
.detail-hero-rich{position:relative;min-height:470px;isolation:isolate;background-position:center 44%;box-shadow:inset 0 -1px rgba(255,255,255,.15)}
.detail-hero-rich::after{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(180deg,rgba(0,32,30,.02) 48%,rgba(0,32,30,.24))}
.detail-hero-rich .detail-hero-inner{padding-block:50px 88px}
.detail-hero-rich h1{max-width:760px;font-size:clamp(44px,5vw,72px)}
.detail-hero-rich .detail-hero-inner>p:last-of-type{max-width:680px;color:#e6f0ed}
.detail-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}
.detail-hero-tags span{padding:7px 11px;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fff;background:rgba(0,48,44,.38);backdrop-filter:blur(8px);font-size:10px;font-weight:700}
.detail-facts-wrap{position:relative;z-index:5;margin-top:-35px;border:0;background:transparent}
.detail-facts{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:6px;padding:10px;border:1px solid #dfe9e6;border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(4,55,48,.14)}
.detail-facts>div{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;min-height:66px;align-content:center;padding:8px 16px;border:0}
.detail-facts>div+div{border-left:1px solid #e5ecea}
.detail-fact-icon{grid-row:1/3;display:grid!important;width:38px;height:38px;place-items:center;align-self:center;border-radius:11px;color:#06665b!important;background:#edf7f4}
.detail-fact-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.detail-facts>div>span:not(.detail-fact-icon){align-self:end;font-size:10px}
.detail-facts b{align-self:start;color:#123e3a;font-size:13px}
.detail-facts>.btn{min-width:185px;min-height:50px;border-radius:11px}
.detail-grid-rich{grid-template-columns:minmax(0,1fr) 340px;gap:58px;padding-block:60px 78px}
.detail-intro{padding:6px 5px 0}
.detail-intro h2{max-width:780px;font-size:34px}
.detail-intro>p:last-child{max-width:830px;color:#49615e;font-size:16px;line-height:1.9}
.detail-block{margin-top:39px;padding:31px 32px;border:1px solid #dce8e4;border-radius:18px;background:linear-gradient(145deg,#fff,#f8fbfa);box-shadow:0 12px 30px rgba(11,58,51,.06)}
.detail-section-head{display:flex;align-items:center;gap:14px;margin-bottom:25px}
.detail-section-head>span{display:grid;flex:none;width:42px;height:42px;place-items:center;border-radius:12px;color:#0b5d55;background:#f2cf66;font-size:12px;font-weight:800}
.detail-section-head .section-kicker{margin:0 0 4px}
.detail-section-head h2{margin:0!important;font-size:26px!important}
.detail-timeline{display:grid;gap:0;margin:0;padding:0;list-style:none}
.detail-timeline li{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:15px;padding:0 0 23px}
.detail-timeline li:last-child{padding-bottom:0}
.detail-timeline li:not(:last-child)::after{position:absolute;top:34px;bottom:0;left:17px;width:1px;content:"";background:#cfe0dc}
.detail-timeline li>span{position:relative;z-index:1;display:grid;width:36px;height:36px;place-items:center;border:1px solid #bcd3ce;border-radius:50%;color:#075e55;background:#fff;font-size:10px;font-weight:800}
.detail-timeline b{display:block;padding-top:2px;color:#143f3b;font-size:14px}
.detail-timeline p{margin:5px 0 0!important;color:#59706d!important;font-size:13px!important;line-height:1.65!important;white-space:normal!important}
.detail-inclusions{gap:18px;margin-top:20px}
.detail-inclusions section{position:relative;padding:27px 27px 25px;overflow:hidden;border:1px solid #e0e9e6;border-radius:16px;background:#fff;box-shadow:0 10px 26px rgba(13,54,49,.05)}
.detail-inclusions section::before{position:absolute;top:0;right:0;left:0;height:3px;content:"";background:#39a574}
.detail-inclusions section.is-excluded::before{background:#d58a67}
.detail-inclusions h2{margin:12px 0 15px;font-size:22px}
.detail-inclusions ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.detail-inclusions li{position:relative;padding-left:18px;color:#536b68;font-size:13px;line-height:1.5}
.detail-inclusions li::before{position:absolute;top:8px;left:1px;width:6px;height:6px;border-radius:50%;content:"";background:#39a574}
.detail-inclusions .is-excluded li::before{background:#d58a67}
.detail-note{display:flex;align-items:center;gap:15px;margin-top:23px;padding:21px 23px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:linear-gradient(135deg,#0a5d54,#003b37);box-shadow:0 13px 28px rgba(0,54,48,.14)}
.detail-note>span{display:grid;flex:none;width:39px;height:39px;place-items:center;border-radius:12px;color:#173f39;background:#f2cb5a;font-size:18px}
.detail-note>span svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.detail-note b{color:#fff;font-size:14px}.detail-main .detail-note p{margin:4px 0 0;color:#dcece7;font-size:12px;line-height:1.5}
.detail-aside-rich{top:78px;border:1px solid #dce8e4;border-radius:19px;box-shadow:0 22px 48px rgba(7,55,48,.14)}
.detail-aside-image{position:relative;overflow:hidden;aspect-ratio:16/9;background:#e8efed}
.detail-aside-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.detail-aside-rich:hover .detail-aside-image img{transform:scale(1.035)}
.detail-aside-image::after{position:absolute;inset:45% 0 0;content:"";background:linear-gradient(transparent,rgba(0,44,40,.45))}
.detail-aside-image>span{position:absolute;z-index:1;right:14px;bottom:13px;padding:6px 9px;border:1px solid rgba(255,255,255,.4);border-radius:999px;color:#fff;background:rgba(0,61,55,.78);backdrop-filter:blur(8px);font-size:9px;font-weight:700}
.detail-aside-copy{gap:11px;padding:25px 24px 23px}
.detail-aside-copy h3{font-size:25px;letter-spacing:-.3px}
.detail-aside-copy .aside-meta{display:inline-flex;width:max-content;padding:6px 9px;border-radius:7px;color:#365d59;background:#f0f7f5;font-size:11px}
.detail-price{display:grid;grid-template-columns:1fr auto;align-items:end;margin-top:5px;padding:14px 0;border-top:1px solid #e5ecea;border-bottom:1px solid #e5ecea}
.detail-price small{grid-column:1/-1;margin-bottom:3px;font-size:10px}
.detail-price strong{margin:0;color:#00675d;font-size:29px;line-height:1.1}
.detail-price span{padding-bottom:3px;color:#788987;font-size:9px}
.detail-aside-copy .btn{min-height:50px;margin-top:3px;border-radius:10px;box-shadow:0 10px 22px rgba(0,62,56,.18)}
.detail-aside-benefits{display:grid;gap:8px;margin:4px 0 0;padding:0;list-style:none}
.detail-aside-benefits li{position:relative;padding-left:20px;color:#536b68;font-size:10px;line-height:1.45}
.detail-aside-benefits li::before{position:absolute;left:0;content:'✓';color:#138260;font-weight:800}
.detail-aside-note{padding-top:11px;border-top:1px solid #e7eeec;text-align:center;line-height:1.45}
@media(max-width:1000px){.detail-grid-rich{grid-template-columns:minmax(0,1fr) 305px;gap:30px}.detail-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-facts>.btn{grid-column:1/-1}.detail-facts>div{padding-inline:11px}}
@media(max-width:800px){.detail-hero-rich{min-height:410px}.detail-hero-rich .detail-hero-inner{padding-block:40px 70px}.detail-hero-rich h1{font-size:clamp(38px,10vw,52px)}.detail-hero-tags{margin-top:18px}.detail-facts-wrap{margin-top:-24px}.detail-facts{grid-template-columns:1fr;padding:9px}.detail-facts>div+div{border-top:1px solid #e5ecea;border-left:0}.detail-facts>.btn{grid-column:auto;width:100%}.detail-grid-rich{grid-template-columns:1fr;gap:25px;padding-block:38px 50px}.detail-intro h2{font-size:28px}.detail-intro>p:last-child{font-size:14px}.detail-block{margin-top:28px;padding:23px 20px}.detail-aside-rich{position:static;order:-1}.detail-aside-image{aspect-ratio:16/8}.detail-inclusions{grid-template-columns:1fr}.detail-note{align-items:flex-start}.detail-hero-tags span{font-size:9px}}

/* Program detail: clear day hierarchy without decorative numbered badges. */
.detail-program{padding:34px;background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%)}
.detail-program-head{max-width:720px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid #dce9e5}
.detail-program-head .section-kicker{margin:0 0 7px;color:#087669;letter-spacing:.15em}
.detail-program-head h2{margin:0;color:#163d37;font-size:28px;line-height:1.2}
.detail-program-head>p:last-child{max-width:650px;margin:10px 0 0;color:#607672;font-size:14px;line-height:1.7}
.detail-timeline-modern{gap:12px}
.detail-timeline-modern li{grid-template-columns:76px minmax(0,1fr);gap:16px;padding:18px 20px;border:1px solid #dce9e5;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(13,73,65,.045)}
.detail-timeline-modern li::after{display:none!important}
.detail-timeline-modern li>span{display:flex;width:auto;height:32px;align-items:center;justify-content:center;border:1px solid #b9dacf;border-radius:9px;color:#075e55;background:#edf8f4;font-size:11px;font-weight:800;white-space:nowrap}
.detail-timeline-modern b{padding:0;color:#153f39;font-size:15px;line-height:1.45}
.detail-timeline-modern p{margin-top:7px!important;font-size:14px!important;line-height:1.7!important}
.detail-program-summary{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px solid #d7e8e3;border-radius:14px;background:#f4faf7}
.detail-program-summary>span{display:grid;flex:none;width:36px;height:36px;place-items:center;border-radius:10px;color:#fff;background:#087669}
.detail-program-summary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.detail-program-summary p{margin:2px 0 0!important;color:#496b65!important;font-size:14px!important;line-height:1.7!important}
.detail-section-head-plain{gap:0}
.detail-aside-heading{padding:26px 24px 24px;border-bottom:1px solid #dfebe7;background:linear-gradient(145deg,#075e55,#0b7568);color:#fff}
.detail-aside-heading span{display:block;margin-bottom:16px;color:#c9e8de;font-size:10px;font-weight:800;letter-spacing:.16em}
.detail-aside-heading b{display:block;font-family:Georgia,serif;font-size:23px;font-style:italic;font-weight:500;line-height:1.25}
.detail-aside-heading p{margin:8px 0 0;color:#d8ece7;font-size:12px;line-height:1.55}
@media(max-width:800px){.detail-program{padding:23px 18px}.detail-program-head h2{font-size:25px}.detail-timeline-modern li{grid-template-columns:1fr;padding:16px}.detail-timeline-modern li>span{width:max-content;padding-inline:12px}.detail-aside-heading{padding:22px 20px}}

.halal-hotels-section{margin-top:64px;padding-top:48px;border-top:1px solid #dce8e4}
.halal-hotels-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:25px}
.halal-hotels-heading h2{margin:5px 0 8px;color:#143f39;font-size:clamp(28px,3vw,38px)}
.halal-hotels-heading p:last-child{max-width:680px;margin:0;color:#657b77;line-height:1.7}
.hotel-listing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.hotel-listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.halal-hotels-section{margin-top:42px;padding-top:34px}.halal-hotels-heading{align-items:flex-start;flex-direction:column}.hotel-listing-grid{grid-template-columns:1fr}}

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.booking-image-banner{width:100%;aspect-ratio:2172/724;background-color:#00574f;background-image:url('/images/ui/journey-banner.png');background-repeat:no-repeat;background-position:center;background-size:cover}
@media(max-width:600px){.booking-image-banner{aspect-ratio:2172/724;background-size:contain}}

/* Program akışı: tek parça, kurumsal zaman çizelgesi */
.detail-timeline-modern{display:block;overflow:hidden;border:1px solid #d7e5e0;border-radius:18px;background:#fff;box-shadow:0 14px 35px rgba(13,73,65,.055)}
.detail-timeline-modern li{display:grid;grid-template-columns:104px minmax(0,1fr);gap:0;padding:0;border:0;border-radius:0;background:#fff;box-shadow:none}
.detail-timeline-modern li+li{border-top:1px solid #e4ece9}
.detail-timeline-modern li>span{display:flex;width:100%;height:100%;min-height:88px;padding:0 14px;align-items:center;justify-content:center;border:0;border-right:1px solid #d7e5e0;border-radius:0;color:#075e55;background:linear-gradient(135deg,#edf7f3,#f7fbf9);font-size:12px;font-weight:800;letter-spacing:.025em}
.detail-timeline-modern li>div{display:flex;align-items:center;min-height:88px;padding:20px 25px}
.detail-timeline-modern p{margin:0!important;color:#49645f!important;font-size:14px!important;line-height:1.75!important}
.detail-timeline-modern li:hover{background:#fbfdfc}
.detail-timeline-modern li:hover>span{color:#fff;background:linear-gradient(135deg,#087669,#075e55)}
@media(max-width:600px){.detail-timeline-modern{border-radius:14px}.detail-timeline-modern li{grid-template-columns:78px minmax(0,1fr)}.detail-timeline-modern li>span{min-height:92px;padding-inline:8px;font-size:10px}.detail-timeline-modern li>div{min-height:92px;padding:17px 16px}.detail-timeline-modern p{font-size:12.5px!important;line-height:1.65!important}}

/* Rezervasyon formu: sade ve kurumsal düzen */
.booking-experience .booking-clean,.booking-experience .booking-clean *{font-family:Arial,sans-serif}
.booking-experience .booking-clean{padding:38px 40px;border:1px solid #d8e3df;border-radius:14px;box-shadow:0 12px 32px rgba(20,63,57,.06)}
.booking-form-head{display:block;padding-bottom:22px;border-bottom:1px solid #e1e9e6}
.booking-form-head h2{margin:0;color:#143f39;font-size:28px;line-height:1.25;letter-spacing:-.01em;font-weight:700}
.booking-form-head p:not(.section-kicker){max-width:650px;margin:8px 0 0;color:#647773;font-size:13px;line-height:1.6}
.booking-stepper,.booking-secure{display:none!important}
.program-select{display:flex;margin-top:26px;gap:9px;color:#243f3b;font-size:13px;font-weight:700}
.program-select select{height:50px;border-radius:7px;font-size:14px}
.booking-fields-title{margin:30px 0 0;padding-top:26px;border-top:1px solid #e1e9e6;color:#143f39;font-size:16px;line-height:1.4}
.booking-fields{margin-top:18px;gap:20px 18px}
.booking-fields label{gap:8px;padding:0;color:#243f3b;font-size:13px;font-weight:700}
.booking-fields label>input,.booking-fields label>select,.details-grid textarea{height:50px;border-color:#ccd9d5;border-radius:7px;background:#fff;font-size:14px}
.details-grid textarea{min-height:110px;padding:13px 14px}
.selected-program{margin-top:14px;padding:17px 19px;border:1px solid #d8e5e0;border-left:3px solid #19603f;border-radius:8px;background:#f7faf8}
.selected-program::after{display:none}
.selected-program span{color:#507068;font-size:9px;letter-spacing:.13em}
.selected-program b{margin-top:5px;color:#143f39;font-size:16px;line-height:1.4}
.selected-program small{margin-top:4px;color:#6d7f7a;font-size:11px}
.booking-submit-row{align-items:center;margin-top:30px;padding-top:24px;border-top:1px solid #e1e9e6}
.booking-submit-row p{margin:0;padding:0;border:0;color:#6b7d79;font-size:11px;line-height:1.5}
.booking-submit-row .btn-submit{min-width:210px;min-height:50px;border-radius:7px;background:#13583b;box-shadow:none;font-size:13px;font-weight:700}
.booking-submit-row .btn-submit:hover{transform:none;background:#0e492f;box-shadow:none}
@media(max-width:600px){.booking-experience .booking-clean{padding:26px 20px;border-radius:11px}.booking-form-head h2{font-size:24px}.program-select{margin-top:22px}.booking-fields-title{margin-top:25px;padding-top:22px}.booking-fields{gap:16px}.booking-submit-row{align-items:stretch;flex-direction:column;gap:15px}.booking-submit-row .btn-submit{width:100%;min-width:0}}

/* Premium about page */
.about-page-hero{min-height:405px;background-position:center 46%;background-size:cover}
.about-page-hero::before,.about-page-hero::after{display:none}
.about-page-hero .page-hero-inner{padding-block:74px 82px}
.about-page-hero h1{font-size:clamp(48px,5.4vw,76px)}
.about-page-hero .page-hero-inner>p:last-child{max-width:660px;color:#e1eeeb;font-size:17px;line-height:1.65}
.about-page-premium{padding-block:68px 76px}
.about-story-premium{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:54px;align-items:start}
.about-story-premium .about-copy{padding:4px 0}
.about-story-premium .about-copy h2{max-width:700px;font-size:clamp(34px,3.4vw,48px)}
.about-story-premium .about-copy .page-rich-content{max-width:760px;margin-top:27px;color:#4c6562;font-size:15px;line-height:1.9}
.about-story-premium .about-copy .page-rich-content>p:first-child{color:#294b48;font-size:18px;line-height:1.75}
.about-story-premium .about-copy .page-rich-content h2{margin-top:34px;padding-top:28px;border-top:1px solid #e0e9e6;font-size:26px}
.about-program-link{margin-top:16px;border:1px solid #a9c6c0;color:#075e55;background:#fff}
.about-program-link:hover{color:#fff;background:#00675d}
.about-visual{position:sticky;top:76px;min-height:610px;overflow:hidden;border-radius:24px;background-position:center;background-size:cover;box-shadow:0 24px 55px rgba(5,55,48,.2)}
.about-visual::before{position:absolute;inset:0;content:"";background:linear-gradient(180deg,rgba(0,45,41,.08) 30%,rgba(0,45,41,.86) 100%)}
.about-visual::after{position:absolute;inset:0;border:1px solid rgba(255,255,255,.2);border-radius:inherit;content:"";pointer-events:none}
.about-visual-badge{position:absolute;z-index:1;top:22px;left:22px;display:flex;align-items:center;gap:10px;padding:9px 13px 9px 9px;border:1px solid rgba(255,255,255,.4);border-radius:13px;color:#fff;background:rgba(0,53,48,.63);backdrop-filter:blur(10px)}
.about-visual-badge>span{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;color:#153f39;background:#f1c958;font-size:11px;font-weight:800}
.about-visual-badge b,.about-visual-badge small{display:block}.about-visual-badge b{font-size:11px}.about-visual-badge small{margin-top:2px;color:#cfe3df;font-size:9px}
.about-visual-copy{position:absolute;z-index:1;right:0;bottom:0;left:0;padding:35px;color:#fff}
.about-visual-copy p{margin:0 0 10px;color:#f2c956;font-size:10px;font-weight:800;letter-spacing:2px}
.about-visual-copy strong{display:block;font-size:31px;line-height:1.12;letter-spacing:-.7px}
.about-visual-copy span{display:block;max-width:310px;margin-top:15px;color:#dbeae7;font-size:12px;line-height:1.6}
.about-proof-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:52px;overflow:hidden;border:1px solid #dce8e4;border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(9,54,48,.08)}
.about-proof-strip article{display:flex;align-items:center;gap:14px;min-height:104px;padding:20px 26px}
.about-proof-strip article+article{border-left:1px solid #e2ebe8}
.about-proof-icon{display:grid;flex:none;width:46px;height:46px;place-items:center;border:1px solid #d5e7e2;border-radius:50%;color:#00695e;background:linear-gradient(145deg,#fbfdfc,#e8f4f1);box-shadow:inset 0 0 0 4px #f7fbfa}
.about-proof-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.about-value-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.about-proof-strip b,.about-proof-strip small{display:block}.about-proof-strip b{color:#123e3a;font-size:14px}.about-proof-strip small{margin-top:4px;color:#667b78;font-size:11px}
.about-section-heading{max-width:720px;margin:70px auto 30px;text-align:center}
.about-section-heading h2{margin:0;color:#123c39;font-size:clamp(31px,3vw,42px);line-height:1.15;letter-spacing:-.7px}
.about-section-heading>p:last-child{margin:14px auto 0;color:#5b716e;font-size:14px;line-height:1.7}
.about-values-premium{gap:20px;margin-top:0}
.about-values-premium article{position:relative;min-height:245px;padding:28px;overflow:hidden;border:1px solid #dce8e4;border-radius:18px;box-shadow:0 10px 28px rgba(10,55,49,.06);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.about-values-premium article:hover{transform:translateY(-5px);border-color:#bfd5cf;box-shadow:0 18px 38px rgba(9,57,50,.12)}
.about-values-premium article>small{position:absolute;top:29px;right:29px;color:#c7d7d3;font-size:11px;font-weight:800;letter-spacing:1px}
.about-value-icon{display:grid;width:49px;height:49px;place-items:center;border-radius:14px;color:#07675d;background:#f8e9b4}
.about-values-premium h3{margin:25px 0 10px;font-size:20px}
.about-values-premium p{font-size:13px;line-height:1.7}
.about-cta-premium{position:relative;margin-top:45px;padding:40px 42px;overflow:hidden;background:linear-gradient(120deg,#064f48,#003632);box-shadow:0 18px 38px rgba(0,51,45,.18)}
.about-cta-premium::before,.about-cta-premium::after{position:absolute;border:1px solid rgba(241,201,86,.22);border-radius:50%;content:""}.about-cta-premium::before{width:300px;height:300px;right:13%;top:-230px}.about-cta-premium::after{width:190px;height:190px;right:2%;bottom:-150px}
.about-cta-premium>div,.about-cta-premium>.btn{position:relative;z-index:1}
.about-cta-premium h2{font-size:31px}.about-cta-premium>div>span{display:block;margin-top:10px;color:#cfe2de;font-size:12px}
@media(max-width:950px){.about-story-premium{grid-template-columns:1fr}.about-visual{position:relative;top:auto;min-height:460px}.about-proof-strip{grid-template-columns:1fr}.about-proof-strip article+article{border-top:1px solid #e2ebe8;border-left:0}.about-values-premium{grid-template-columns:1fr}.about-values-premium article{min-height:0}}
@media(max-width:600px){.about-page-hero{min-height:350px}.about-page-hero .page-hero-inner{padding-block:50px 58px}.about-page-premium{padding-block:42px 50px}.about-story-premium{gap:32px}.about-story-premium .about-copy .page-rich-content>p:first-child{font-size:16px}.about-visual{min-height:390px;border-radius:18px}.about-visual-copy{padding:26px}.about-visual-copy strong{font-size:26px}.about-proof-strip{margin-top:32px}.about-proof-strip article{min-height:90px;padding:18px 20px}.about-section-heading{margin:48px auto 24px}.about-values-premium article{padding:24px}.about-cta-premium{padding:30px 25px}.about-cta-premium h2{font-size:25px}}

/* Cohesive site icon system — uploaded hero/feature images are intentionally excluded */
.site-svg-icon{display:block;width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.header-phone>.site-svg-icon{width:22px;height:22px;stroke-width:1.7}
.footer-contact .site-svg-icon{flex:none;width:17px;height:17px;margin-top:1px;color:#007066;stroke-width:1.7}
.footer-newsletter small{display:flex;align-items:center;gap:6px}
.footer-newsletter small .site-svg-icon{flex:none;width:14px;height:14px;color:#007066}
.booking-help-card>span .site-svg-icon{width:21px;height:21px}
.booking-secure{display:inline-flex;align-items:center;gap:7px}
.booking-secure .site-svg-icon{width:16px;height:16px;stroke-width:1.9}
.booking-reassurance span{display:inline-flex;align-items:center;gap:6px}
.booking-reassurance span::first-letter{color:inherit;font-weight:inherit}
.booking-reassurance .site-svg-icon{width:15px;height:15px;color:#07836c;stroke-width:1.9}
.contact-notice span .site-svg-icon{width:15px;height:15px;stroke-width:2}
.detail-check .site-svg-icon,.detail-x .site-svg-icon{width:18px;height:18px;stroke-width:1.9}
.detail-fact-icon .site-svg-icon{width:20px;height:20px}
.tour-pagination .site-svg-icon{width:17px;height:17px;stroke-width:2}
.assistant-form button .site-svg-icon{width:20px;height:20px;stroke-width:1.8}
.assistant-close .site-svg-icon{width:16px;height:16px;margin:auto;stroke-width:2}
.booking-journey::after{right:-72px;bottom:-72px;width:176px;height:176px;border:1px solid rgba(241,200,90,.2);border-radius:50%;content:"";box-shadow:0 0 0 30px rgba(241,200,90,.055);opacity:1}
.selected-program::after{right:20px;top:50%;width:46px;height:46px;border:1px solid rgba(213,173,54,.3);border-radius:50%;content:"";background:radial-gradient(circle,#e7bb42 0 3px,transparent 4px);transform:translateY(-50%);opacity:.65}
@media(max-width:600px){
  .mobile-bottom-nav a{transition:color .18s ease,background .18s ease,box-shadow .18s ease}
  .mobile-bottom-nav a.active{border:1px solid #ebdfb8;background:linear-gradient(180deg,#fbf8ec,#f3ead0);box-shadow:0 4px 12px rgba(58,49,15,.08)}
  .mobile-bottom-nav .site-svg-icon{width:21px;height:21px;stroke-width:1.7}
}

/* Refined main navigation */
.site-header{border-bottom:1px solid rgba(0,75,67,.09);box-shadow:0 8px 30px rgba(15,55,49,.08)}
.header-inner{min-height:86px;gap:clamp(10px,1.15vw,20px)}
.brand-logo{width:140px;height:62px}
.slogan{flex-basis:120px;padding-left:15px;border-left:1px solid #e1e9e6;color:#718481;font-size:11px;line-height:1.45}
.main-nav{align-self:stretch;gap:2px}
.main-nav a{position:relative;display:flex;align-items:center;height:100%;padding:0 clamp(7px,.72vw,11px);border-radius:11px;color:#173a38;font-size:13px;font-weight:700;transition:color .2s ease,background .2s ease}
.main-nav a::after{position:absolute;right:13px;bottom:16px;left:13px;height:2px;border-radius:2px;background:var(--gold);content:"";opacity:0;transform:scaleX(.35);transition:opacity .2s ease,transform .2s ease}
.main-nav a:hover,.main-nav a.is-active{color:#005d54;background:linear-gradient(180deg,transparent 14%,#f2f8f6 100%)}
.main-nav a:hover::after,.main-nav a.is-active::after{opacity:1;transform:scaleX(1)}
.header-phone{gap:9px;padding:7px 10px 7px 7px;border:1px solid #e2ebe8;border-radius:12px;background:#f7faf9;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.header-phone:hover{border-color:#c9dcd7;background:#f0f7f5;transform:translateY(-1px)}
.header-phone-icon{display:grid!important;width:36px;height:36px;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(145deg,#087268,#004b44)}
.header-phone-icon .site-svg-icon{width:18px;height:18px}
.header-phone>span:last-child{display:flex;flex-direction:column;color:#6c807d;font-size:9px;line-height:1.15;text-transform:uppercase;letter-spacing:.55px}
.header-phone b{margin-top:3px;color:#0a3f3a;font-size:11px;line-height:1;letter-spacing:0;text-transform:none}
.header-book{min-height:48px;padding-inline:17px;border:1px solid #075c54;border-radius:11px;background:linear-gradient(135deg,#00675d,#003f39);box-shadow:0 8px 18px rgba(0,70,62,.18)}
.header-book .site-svg-icon{width:17px;height:17px}

/* Premium home planning area */
.booking-overlap{margin-top:-76px}
.home-booking-panel{position:relative;padding:18px 20px 20px;overflow:hidden;border:1px solid rgba(0,73,65,.13);border-top:3px solid #e7c75a;border-radius:22px;background:linear-gradient(180deg,#fff,#fbfdfc);box-shadow:0 24px 52px rgba(10,48,43,.15)}
.home-booking-panel::before{position:absolute;right:-75px;top:-115px;width:240px;height:240px;border:1px solid rgba(0,103,92,.09);border-radius:50%;content:"";box-shadow:0 0 0 28px rgba(0,103,92,.025);pointer-events:none}
.home-booking-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 2px 14px;margin-bottom:14px;border-bottom:1px solid #e8eeec;color:var(--green)}
.home-booking-title{display:flex;align-items:center;gap:11px}
.home-booking-title-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(145deg,#087168,#004a43);box-shadow:0 7px 16px rgba(0,75,67,.18)}
.home-booking-title-icon .site-svg-icon{width:20px;height:20px}
.home-booking-title div{display:flex;flex-direction:column}
.home-booking-title small,.home-program-copy>small{color:#b08a20;font-size:9px;font-weight:800;line-height:1.2;letter-spacing:1.65px}
.home-booking-title b{margin-top:4px;color:#173d3a;font-size:16px;line-height:1.2}
.home-booking-trust{display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #deebe7;border-radius:11px;background:#f2f8f6;color:#07665c}
.home-booking-trust>.site-svg-icon{width:18px;height:18px}
.home-booking-trust span{display:flex;flex-direction:column!important;color:inherit!important;font-size:10px!important;line-height:1.2!important;letter-spacing:0!important}
.home-booking-trust b{font-size:11px}.home-booking-trust small{margin-top:2px;color:#728783;font-size:9px}
.home-booking-row{position:relative;gap:12px}
.home-field-label{display:flex;align-items:center;gap:7px;color:#284b48;font-size:11px;font-weight:800}
.home-field-label i{display:grid;width:23px;height:23px;place-items:center;border-radius:7px;background:#eef5f3;color:#087267;font-size:9px;font-style:normal;letter-spacing:.2px}
.home-booking-row select,.home-booking-row input{height:50px;padding-inline:14px;border-color:#d8e4e1;border-radius:11px;background:#fff;box-shadow:0 2px 0 rgba(6,65,58,.02);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.home-booking-row select:hover,.home-booking-row input:hover{border-color:#b8d0ca}
.home-booking-row select:focus,.home-booking-row input:focus{border-color:#0b786d;outline:none;box-shadow:0 0 0 4px rgba(11,120,109,.1)}
.home-booking-row input[readonly]{background:#f5f8f7;color:#617a76}
.home-booking-row .btn-submit{min-height:50px;border:0;border-radius:11px;background:linear-gradient(135deg,#087168,#00473f);box-shadow:0 10px 20px rgba(0,72,64,.2);font-size:12px;letter-spacing:.2px}
.home-booking-row .btn-submit:hover{background:linear-gradient(135deg,#0a7d72,#005049)}
.home-program-cta{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:24px;padding:24px 28px;overflow:hidden;border:1px solid #e3ebe8;border-radius:20px;background:linear-gradient(110deg,#fff 0%,#fbfcf8 72%,#f4edcf 100%);box-shadow:0 14px 36px rgba(16,56,50,.09)}
.home-program-cta::after{position:absolute;right:-52px;top:-84px;width:190px;height:190px;border:1px solid rgba(173,137,30,.13);border-radius:50%;content:"";box-shadow:0 0 0 24px rgba(205,170,63,.04);pointer-events:none}
.home-program-icon{position:relative;z-index:1;display:grid;width:54px;height:54px;place-items:center;border-radius:16px;color:#075e55;background:#f2e5b5}
.home-program-icon .site-svg-icon{width:25px;height:25px;stroke-width:1.65}
.home-program-copy{position:relative;z-index:1}.home-program-cta h2{margin:5px 0 0;font-size:25px;line-height:1.2}.home-program-cta p:not(.section-kicker){max-width:670px;margin:7px 0 0;font-size:13px}
.home-program-actions{position:relative;z-index:1;display:flex;align-items:center;gap:20px}
.home-program-actions>div{display:flex;flex-direction:column;gap:6px;white-space:nowrap}
.home-program-actions>div span{display:flex;align-items:center;gap:6px;color:#59716d;font-size:10px;font-weight:700}
.home-program-actions .site-svg-icon{width:14px;height:14px;color:#087568;stroke-width:2}
.home-program-actions .btn{min-width:150px;min-height:46px;border-radius:11px;box-shadow:0 8px 18px rgba(133,102,10,.14)}
@media(min-width:1181px){.home-program-cta{padding-right:190px}}

@media(max-width:1180px){
  .header-inner{min-height:78px}.brand-logo{width:130px;height:58px}.slogan{margin-right:auto}
  .main-nav{top:calc(100% + 8px);right:20px;left:20px;align-self:auto;padding:13px;border:1px solid #e0eae7;border-radius:15px}
  .main-nav a{height:auto;min-height:44px;padding:10px 13px}.main-nav a::after{display:none}.main-nav a.is-active{background:#edf6f3}
  .home-booking-row{grid-template-columns:repeat(2,minmax(0,1fr))}.home-booking-row .btn-submit{grid-column:1/-1}
  .home-program-cta{grid-template-columns:auto minmax(0,1fr)}.home-program-actions{grid-column:2;justify-content:space-between}
  .travel-assistant .assistant-launcher>span:not(.assistant-launcher-icon){display:none}.travel-assistant .assistant-launcher{width:54px;padding:9px;border-radius:50%}.travel-assistant .assistant-launcher i{display:none}
}
@media(max-width:700px){
  .header-inner{min-height:70px}.brand-logo{width:116px;height:52px}.slogan{display:none}.header-book{display:none}
  .menu-toggle{position:relative;z-index:5;display:grid!important;flex:none;width:44px;height:44px;margin-left:auto!important;padding:9px 10px;place-content:center;border-color:#dfcf91;border-radius:12px;background:#f8f3df;box-shadow:0 5px 14px rgba(39,74,67,.1)}
  .menu-toggle span{width:22px;margin:3px 0;background:#075e55}
  .booking-overlap{margin-top:-68px}.home-booking-panel{padding:15px;border-radius:18px}.home-booking-head{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:13px;padding-bottom:13px}.home-booking-trust{width:100%}
  .home-booking-row{grid-template-columns:1fr;gap:14px}.home-booking-row .btn-submit{grid-column:auto;min-height:52px}
  .home-program-cta{grid-template-columns:auto minmax(0,1fr);gap:14px;margin-top:18px;padding:20px}.home-program-icon{width:46px;height:46px;border-radius:14px}.home-program-cta h2{font-size:22px}.home-program-actions{grid-column:1/-1;align-items:stretch;flex-direction:column;gap:14px}.home-program-actions>div{flex-direction:row;flex-wrap:wrap}.home-program-actions .btn{width:100%}
}

/* Clean home planning layout */
.hero-feature-icon{width:44px;height:44px}
.hero-features a{gap:7px}
.home-booking-panel{padding:17px 20px 19px;border:1px solid #dce7e4;border-radius:19px;background:#fff;box-shadow:0 16px 38px rgba(13,53,47,.12)}
.home-booking-panel::before{display:none}
.home-booking-head{display:block;margin:0;padding:0 0 13px;border:0;color:#17433f}
.home-booking-head b{font-size:14px}
.home-booking-row label{gap:7px;font-size:12px}
.home-program-cta{display:flex!important;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:24px 28px!important;border:1px solid #e1e9e7;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(17,57,51,.08)}
.home-program-cta::after{display:none}
.home-program-cta h2{margin:0;font-size:25px}
.home-program-cta p:not(.section-kicker){max-width:680px;margin:7px 0 0;color:var(--muted);font-size:13px}
.home-program-cta>.btn{flex:none;min-width:150px;min-height:44px;border-radius:9px}
@media(max-width:700px){
  .home-booking-panel{padding:15px}.home-booking-head{padding-bottom:12px}
  .home-program-cta{align-items:flex-start;flex-direction:column;padding:20px!important}.home-program-cta h2{font-size:22px}.home-program-cta>.btn{width:100%}
}

/* Clean flat header */
.site-header{border-top:0;border-bottom:1px solid #dfe8e5;background:#fff;box-shadow:none}
.header-inner{min-height:82px;gap:clamp(11px,1.1vw,19px)}
.brand-logo{width:154px;height:66px}
.slogan{padding-left:14px;border-left:1px solid #dfe6e4;color:#6b7f7c}
.main-nav{gap:1px}
.main-nav a{height:100%;padding:0 clamp(8px,.72vw,12px);border-radius:0;background:transparent!important;color:#173d39;transition:color .18s ease}
.main-nav a::after{right:10px;bottom:0;left:10px;height:3px;background:#d7b33e;transform:scaleX(0);transform-origin:center}
.main-nav a:hover,.main-nav a.is-active{color:#006359;background:transparent!important}
.main-nav a:hover::after,.main-nav a.is-active::after{opacity:1;transform:scaleX(1)}
.header-phone{gap:8px;padding:0 14px;border:0;border-left:1px solid #dfe7e4;border-radius:0;background:transparent;transition:color .18s ease}
.header-phone:hover{border-color:#dfe7e4;background:transparent;transform:none}
.header-phone-icon{display:grid!important;width:27px;height:27px;place-items:center;border-radius:0;color:#00655b;background:transparent;box-shadow:none}
.header-phone-icon .site-svg-icon{width:22px;height:22px;stroke-width:1.7}
.header-phone>span:last-child{color:#687d79}
.header-phone b{color:#12433e}
.header-book{min-height:46px;padding-inline:17px;border:0;border-radius:8px;background:#00564e;box-shadow:none}
.header-book:hover{background:#00665c;box-shadow:none}
@media(max-width:1180px){
  .header-inner{min-height:74px}.main-nav{top:100%;right:0;left:0;padding:10px 20px;border:0;border-top:1px solid #e2e9e7;border-radius:0;background:#fff;box-shadow:0 12px 22px rgba(17,55,49,.08)}
  .main-nav a{min-height:42px;padding:10px 12px;border-radius:7px}.main-nav a::after{display:none}.main-nav a:hover,.main-nav a.is-active{background:#f1f6f4!important}
}
@media(max-width:700px){
  .header-inner{min-height:68px}.brand-logo{width:116px;height:52px}
  .menu-toggle{border:1px solid #d8e3df;border-radius:8px;background:#fff;box-shadow:none}
}

/* Header spacing: keep brand, navigation and contact controls on separate lanes. */
.site-header .header-inner{max-width:1600px;padding-inline:28px}
@media(max-width:1400px) and (min-width:1181px){
  .site-header .slogan{display:none}
  .site-header .header-phone{padding-inline:8px;border-left:0}
}
@media(max-width:1240px) and (min-width:1181px){
  .site-header .header-phone>span:last-child{display:none}
  .site-header .header-phone-icon{width:34px;height:34px}
}
@media(max-width:700px){.site-header .header-inner{padding-inline:16px}}

/* FTH logo palette */
:root{
  --green:#0e492e;
  --deep:#083820;
  --ink:#183828;
  --gold:#fbd01b;
  --line:#dce7df;
  --muted:#62756a;
  --shadow:0 16px 42px rgba(14,73,46,.13);
}
.main-nav a{color:#183828}
.main-nav a:hover,.main-nav a.is-active{color:#0e492e}
.main-nav a::after{background:#fbd01b}
.header-phone-icon{color:#0e492e}
.header-phone b{color:#0e492e}
.header-book,.btn-dark{background:#0e492e;color:#fff}
.header-book:hover,.btn-dark:hover{background:#19603f}
.btn-gold{background:#fbd01b;color:#183828}
.hero-slider,.hero-slide{background:#083820}
.hero-slide-shade{background:linear-gradient(90deg,rgba(8,56,32,.86),rgba(14,73,46,.30) 68%,rgba(14,73,46,.08))}
.hero-slider-dots button.is-active{border-color:#fbd01b;background:#fbd01b}
.booking-row .btn-submit,.home-booking-row .btn-submit,.booking-submit-row .btn-submit{border-color:#0e492e;background:linear-gradient(125deg,#19603f,#0e492e);box-shadow:0 10px 22px rgba(14,73,46,.20)}
.booking-row .btn-submit:hover,.home-booking-row .btn-submit:hover,.booking-submit-row .btn-submit:hover{background:linear-gradient(125deg,#23734d,#0e492e)}
.home-booking-panel{border-color:#dce7df;border-top-color:#fbd01b}
.home-booking-title-icon{background:#0e492e}
.home-booking-title small,.home-program-copy>small,.section-kicker{color:#a77f00}
.home-booking-trust{border-color:#d8e7dd;background:#f3f8f4;color:#0e492e}
.home-booking-row select:focus,.home-booking-row input:focus,.program-select select:focus,.details-grid input:focus,.details-grid select:focus,.details-grid textarea:focus,.child-age-grid input:focus{border-color:#19603f;box-shadow:0 0 0 4px rgba(14,73,46,.12)}
.home-program-icon,.trust-icon{color:#0e492e;background:#fff5bd}
.quick-categories svg,.section-heading a{color:#0e492e;stroke:#0e492e}
.card-shade{background:linear-gradient(transparent 22%,rgba(8,56,32,.95))}
.promo-copy em,.route-copy strong,.collection-stats b{color:#fbd01b}
.route-tabs button.is-active{border-color:#fbd01b;color:#0e492e}
.collection-stats span{background:rgba(8,56,32,.76)}
.listing-badge{background:rgba(14,73,46,.95);box-shadow:0 6px 16px rgba(8,56,32,.24)}
.listing-link{border-color:#b9cfbf;color:#0e492e;background:#f7faf8}
.listing-link:hover{border-color:#0e492e;color:#fff;background:#0e492e}
.page-hero-modern{background:linear-gradient(120deg,#083820 0%,#0e492e 58%,#23734d 100%)}
.about-panel{background:linear-gradient(155deg,#19603f,#083820)}
.about-panel::before,.about-panel p,.about-cta .section-kicker{color:#fbd01b}
.about-cta{background:#0e492e}
.contact-icon{color:#0e492e;background:#fff5bd}
.contact-notice{color:#214e35;background:#edf6ef}
.contact-notice span{background:#0e492e}
.footer-grid-rich a:hover,.footer-contact span,.footer-contact .site-svg-icon{color:#0e492e}
.footer-social a{border-color:#0e492e;color:#0e492e}
.footer-newsletter em{color:#a77f00}
.footer-rich .footer-bottom{background:#0e492e;color:#e5f0e8}
.assistant-launcher,.assistant-head{background:linear-gradient(135deg,#19603f,#0e492e)}
.assistant-message.user{background:#0e492e}
.assistant-form input:focus{border-color:#19603f;box-shadow:0 0 0 3px rgba(14,73,46,.11)}
.assistant-form button{color:#183828;background:#fbd01b}
.ai-assistant .assistant-launcher-icon,.ai-assistant .assistant-avatar{background:#19603f}
.mobile-bottom-nav a.active{color:#0e492e;border-color:#eadb86;background:#fff8d8}
.menu-toggle{color:#0e492e}

/* Green-led brand refinement: logo green is primary, logo yellow is a restrained accent. */
.site-header .slogan,
.footer-newsletter em{
  color:#0e492e;
}
.main-nav a::after{
  background:#0e492e;
}
.home-booking-panel{
  border-top-color:#0e492e;
}
.home-booking-title small,
.home-program-copy>small,
.section-kicker{
  color:#19603f;
}
.home-program-icon,
.trust-icon,
.contact-icon{
  color:#0e492e;
  background:#edf6ef;
}
.route-tabs button.is-active{
  border-color:#0e492e;
  color:#0e492e;
}
.mobile-bottom-nav a.active{
  color:#0e492e;
  border-color:#bad1c1;
  background:#edf6ef;
}
.selected-program,
.page-rich-content blockquote{
  border-left-color:#19603f;
  background:#f3f8f4;
}

/* Stable responsive hero: one height model across every viewport. */
.hero-slider{
  width:100%;
  height:clamp(600px,42vw,720px);
  min-height:0;
  overflow:hidden;
  isolation:isolate;
}
.hero-slider .hero-slide,
.hero-slider .hero-slide.is-active{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
}
.hero-slider .hero-slide::before,
.hero-slider .hero-slide::after{
  inset:0;
  transform:none;
  background-size:cover;
  background-position:center 48%;
}
.hero-slider .hero-slide::before{
  display:none;
}
.hero-slider .hero-inner{
  height:100%;
  min-height:0;
  align-items:flex-start;
  padding-top:clamp(54px,4.5vw,82px);
  padding-bottom:138px;
}
.hero-slider .hero-content{
  width:min(100%,620px);
  max-width:52vw;
}
.hero-slider .hero-features{
  width:100%;
  max-width:590px;
  align-items:start;
}
.hero-slider .hero-features a{
  height:auto;
  min-height:124px;
}
.hero-slider-dots{
  bottom:96px;
}

@media(max-width:1180px) and (min-width:801px){
  .hero-slider{height:620px;}
  .hero-slider .hero-inner{padding-top:58px;padding-bottom:138px;}
  .hero-slider .hero-content{max-width:560px;}
  .hero-slider h1,
  .hero-slider .hero-slide-title{font-size:clamp(46px,6vw,58px);}
}

@media(max-width:800px){
  .hero-slider{height:clamp(580px,76vw,620px);min-height:0;}
  .hero-slider .hero-slide,
  .hero-slider .hero-slide.is-active{height:100%;min-height:0;}
  .hero-slider .hero-slide::after{background-position:62% center;}
  .hero-slider .hero-inner{height:100%;min-height:0;padding-top:48px;padding-bottom:118px;}
  .hero-slider .hero-content{width:min(100%,470px);max-width:72vw;}
  .hero-slider-dots{right:20px;bottom:88px;}
}

@media(max-width:700px){
  .hero-slider .hero-features{display:none;}
  .hero-slider .hero-cta{display:inline-flex;min-height:46px;margin-top:22px;padding-inline:18px;}
  .hero-slider .hero-content{max-width:82vw;}
}

@media(max-width:600px){
  .hero-slider{height:clamp(570px,150vw,620px);}
  .hero-slider .hero-slide::after{background-position:66% center;}
  .hero-slider .hero-slide-shade{background:linear-gradient(90deg,rgba(8,56,32,.92),rgba(8,56,32,.56) 62%,rgba(8,56,32,.24));}
  .hero-slider .hero-inner{padding-top:38px;padding-bottom:112px;}
  .hero-slider .hero-content{width:100%;max-width:100%;}
  .hero-slider h1,
  .hero-slider .hero-slide-title{max-width:350px;font-size:clamp(36px,10.5vw,46px);line-height:1.06;}
  .hero-slider .hero-copy{max-width:330px;font-size:14px;line-height:1.5;}
  .hero-slider-dots{right:16px;bottom:84px;}
  .booking-overlap{margin-top:-66px;}
}

@media(max-width:360px){
  .hero-slider{height:590px;}
  .hero-slider .hero-inner{padding-top:32px;}
  .hero-slider h1,
  .hero-slider .hero-slide-title{font-size:34px;}
}

/* Elegant brand promise beside the logo. */
.site-header .slogan{
  position:relative;
  display:block;
  flex:0 0 136px;
  max-width:136px;
  margin:0;
  padding:2px 0 3px 18px;
  border-left:1px solid rgba(14,73,46,.2);
  color:#0e492e;
  font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
  font-size:15px;
  font-style:italic;
  font-weight:600;
  line-height:1.16;
  letter-spacing:-.3px;
  text-wrap:balance;
  text-shadow:0 1px 0 rgba(255,255,255,.8);
}
.site-header .slogan::after{
  position:absolute;
  bottom:-4px;
  left:18px;
  width:34px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#0e492e,#fbd01b);
  content:"";
  opacity:.75;
}
@media(min-width:1181px){
  .site-header .slogan{display:block!important;}
}
@media(max-width:1320px) and (min-width:1181px){
  .site-header .slogan{flex-basis:124px;max-width:124px;padding-left:14px;font-size:14px;}
  .site-header .slogan::after{left:14px;}
  .site-header .header-phone>span:last-child{display:none;}
  .site-header .header-phone-icon{width:32px;height:32px;}
}
@media(max-width:700px){
  .site-header .slogan{display:none!important;}
}
/* Mekke ve Medine ziyaret koleksiyonu */
.visit-groups{display:grid;gap:64px;margin-top:8px}.visit-group{scroll-margin-top:120px}.visit-group-heading{display:flex;align-items:center;gap:16px;margin:0 0 24px;padding-bottom:18px;border-bottom:1px solid #dce8e3}.visit-group-heading>span{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:#075542;color:#ffd21c;font-size:14px;font-weight:800;letter-spacing:.08em;box-shadow:0 10px 24px rgba(7,85,66,.16)}.visit-group-heading p{margin:0 0 3px;color:#8b6b00;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.visit-group-heading h2{margin:0;color:#123a32;font-size:clamp(24px,2.4vw,34px);line-height:1.12}.visit-grid{margin:0}.visit-card .listing-image{aspect-ratio:16/9}.visit-card .listing-image img{width:100%;height:100%;object-fit:cover}.visit-card .listing-badge{background:rgba(4,75,61,.92);color:#fff}.visit-card .listing-card-body>h2{font-size:21px}.visit-card .listing-card-body>p{min-height:48px}.visit-card .listing-bottom strong{font-size:18px;color:#075542}
@media(max-width:760px){.visit-groups{gap:42px}.visit-group-heading{align-items:flex-start}.visit-group-heading>span{width:42px;height:42px;border-radius:13px}.visit-grid{grid-template-columns:1fr}.visit-card .listing-card-body>p{min-height:0}}
.umrah-program-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.umrah-program-category{position:relative;min-height:390px;border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(5,66,54,.16)}.umrah-program-category img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.umrah-program-category:hover img{transform:scale(1.045)}.umrah-program-category>.card-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,45,38,.05),rgba(3,45,38,.92))}.umrah-program-category>span:last-child{position:absolute;inset:auto 30px 30px;color:#fff}.umrah-program-category small{display:block;margin-bottom:8px;color:#ffd21c;font-size:11px;font-weight:800;letter-spacing:.15em}.umrah-program-category strong{display:block;font-size:30px;line-height:1.1}.umrah-program-category p{margin:10px 0 20px;color:#e8f3ef;line-height:1.6}.umrah-program-category em{display:inline-flex;padding:11px 16px;border-radius:10px;background:#ffd21c;color:#143a32;font-style:normal;font-weight:800}.occupancy-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.occupancy-price-grid>div{padding:20px;border:1px solid #dbe7e2;border-radius:16px;background:#fff}.occupancy-price-grid small,.occupancy-price-grid span{display:block;color:#637a74}.occupancy-price-grid strong{display:block;margin:8px 0;color:#075542;font-size:25px}.tour-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.tour-service-grid section{padding:24px;border-radius:18px;background:#f3f8f6}.tour-service-grid h3{margin:0 0 8px;color:#123a32}.tour-service-grid p{margin:0;line-height:1.65;color:#536c66}
@media(max-width:760px){.umrah-program-categories{grid-template-columns:1fr}.umrah-program-category{min-height:330px}.occupancy-price-grid,.tour-service-grid{grid-template-columns:1fr}}

/* Rezervasyon formu: logo yeşili ve daha rahat tipografi */
.booking-experience .booking-clean{padding:36px 38px;border-color:#d6e4dc;background:#fff}
.booking-form-head{gap:28px;padding-bottom:24px}
.booking-form-head .section-kicker{margin:0 0 10px;color:#19603f;font-size:10px;line-height:1.5;letter-spacing:2.1px}
.booking-form-head h2{font-size:32px;line-height:1.28;letter-spacing:-.012em;font-weight:700}
.booking-form-head p:not(.section-kicker){margin-top:10px;font-size:14px;line-height:1.65}
.booking-secure{padding:10px 14px;border-color:#c9ded1;background:#eff7f1;color:#19603f;font-size:12px;line-height:1.4}
.booking-stepper{gap:12px;margin:25px 0 29px;padding:14px 0}
.booking-stepper span{gap:8px;color:#657771;font-size:12px;line-height:1.4}
.booking-stepper span b{width:24px;height:24px;background:#edf3ef;color:#52665e;font-size:11px}
.booking-stepper span.is-active{color:#174f34}.booking-stepper span.is-active b{background:#19603f;box-shadow:0 4px 10px rgba(25,96,63,.22)}
.booking-stepper i{background:#ceddd4}
.program-select label,.booking-fields label{gap:9px;font-size:13px;line-height:1.5}
.program-select select,.booking-fields label>input,.booking-fields label>select,.details-grid textarea{font-size:14px;line-height:1.45}
.selected-program{margin-top:17px;padding:20px 22px;border-left-color:#19603f;background:#f2f7f3}
.selected-program[hidden]{display:none}
.selected-program::after{top:13px;right:20px;width:42px;height:42px;border:1px solid #b8d1c1;border-radius:50%;background:rgba(25,96,63,.035);content:"";opacity:1}
.selected-program span{display:block;margin-bottom:8px;color:#19603f;font-size:10px;font-weight:800;line-height:1.5;letter-spacing:1.8px}
.selected-program b{display:block;padding-right:60px;color:#153d2a;font-size:19px;line-height:1.4;letter-spacing:0}
.selected-program small{display:block;margin-top:5px;color:#647970;font-size:12px;line-height:1.5}
.booking-submit-row p{border-left-color:#19603f;line-height:1.6}
.booking-submit-row .btn-submit b{color:#fff!important}
.booking-journey .section-kicker{color:#b9d8c7}.booking-journey li>span{color:#d8eadf}.booking-journey li.is-current>span{border-color:#d4e7da;background:#d4e7da;color:#12452e}.booking-help-card>span{color:#d4e7da}.booking-journey::after{border-color:rgba(210,232,218,.18);box-shadow:0 0 0 30px rgba(210,232,218,.045)}
.booking-hero::before{opacity:.16;background-image:linear-gradient(45deg,transparent 48%,rgba(218,237,226,.8) 49%,transparent 51%)}
.booking-hero-orbit{border-color:rgba(218,237,226,.24)}
@media(max-width:600px){.booking-experience .booking-clean{padding:24px 18px}.booking-form-head h2{font-size:27px;line-height:1.3}.booking-form-head p:not(.section-kicker){font-size:13px}.selected-program{padding:18px}.selected-program b{font-size:17px}}

/* Tur detayı: fiyat ve hizmet özeti */
.occupancy-prices{padding:30px 32px;border:1px solid #d6e4de;border-radius:16px;box-shadow:0 10px 28px rgba(15,74,57,.06)}
.occupancy-prices .detail-section-head{margin-bottom:22px;padding:0 0 18px;border-bottom:1px solid #e1ebe7}
.occupancy-prices .detail-section-head h2{margin:0;color:#123d31;font-size:26px;line-height:1.2;letter-spacing:-.025em}
.occupancy-prices .detail-section-head p{margin:7px 0 0;color:#667b74;font-size:13px;line-height:1.5}
.occupancy-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #d9e5e0;border-radius:12px;overflow:hidden;background:#fff}
.occupancy-price-grid>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 18px;min-width:0;padding:20px 22px;border:0;border-radius:0;background:#fff}
.occupancy-price-grid>div+div{border-left:1px solid #dfe9e5}
.occupancy-room{display:block;min-width:0}
.occupancy-room b,.occupancy-room small{display:block}
.occupancy-room b{color:#173f34;font-size:14px;line-height:1.35}
.occupancy-room small{margin-top:4px;color:#778a84;font-size:11px;line-height:1.35}
.occupancy-price-grid strong{grid-row:1 / span 2;grid-column:2;margin:0;color:#075b46;font-size:24px;line-height:1;font-weight:750;white-space:nowrap;letter-spacing:-.025em}
.occupancy-unit{grid-column:2;color:#71847d;font-size:10px;line-height:1;text-align:right;text-transform:uppercase;letter-spacing:.08em}
.tour-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0 28px}
.tour-service-grid section{display:flex;gap:16px;align-items:flex-start;padding:21px 22px;border:1px solid #dce7e2;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,74,57,.045)}
.tour-service-icon{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:10px;background:#edf6f2;color:#09664f}
.tour-service-icon svg{width:20px;height:20px}
.tour-service-grid small{display:block;margin:0 0 4px;color:#687d76;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.tour-service-grid h3{margin:0 0 6px;color:#173f34;font-size:16px;line-height:1.25}
.tour-service-grid p{margin:0;color:#576e66;font-size:13px;line-height:1.55}
.detail-aside-heading>span{display:none!important}
@media(max-width:900px){.occupancy-price-grid{grid-template-columns:1fr}.occupancy-price-grid>div+div{border-left:0;border-top:1px solid #dfe9e5}.tour-service-grid{grid-template-columns:1fr}}
@media(max-width:600px){.occupancy-prices{padding:24px 18px;border-radius:14px}.occupancy-prices .detail-section-head h2{font-size:23px}.occupancy-price-grid>div{padding:18px 16px}.occupancy-price-grid strong{font-size:22px}.tour-service-grid section{padding:18px}}

/* Rezervasyon sayfası: banner altında doğrudan form */
.booking-experience{display:block;max-width:1040px;padding-top:42px}
.booking-experience .booking-main{width:100%;min-width:0}
.booking-experience .booking-clean{margin:0}
@media(max-width:760px){.booking-experience{padding-top:28px}}

/* Tur kartı rota ön izlemesi */
.detail-aside-rich .detail-aside-image{aspect-ratio:16/10;border-bottom:0;background:#e7efec}
.detail-aside-rich .detail-aside-image::after{inset:55% 0 0;background:linear-gradient(transparent,rgba(0,47,40,.28))}
.detail-aside-rich .detail-aside-heading{border-top:0}
@media(max-width:800px){.detail-aside-rich .detail-aside-image{aspect-ratio:16/8}}

/* Ana sayfa umre tanıtımı: zarif üst başlık */
.promo-copy em{display:block;margin:0 0 8px;color:#f5d783!important;font-family:"Segoe Script","Brush Script MT",cursive;font-size:clamp(20px,2.2vw,28px);font-style:normal;font-weight:500;line-height:1.2;letter-spacing:.01em;text-shadow:0 2px 12px rgba(0,0,0,.24)}
@media(max-width:600px){.promo-copy em{margin-bottom:7px;font-size:21px}}

/* Rezervasyon sayfası: form ve başvuru süreci */
.booking-experience{display:grid;grid-template-columns:minmax(0,1fr) 310px;max-width:1240px;gap:24px;align-items:start}
.booking-process-card{position:sticky;top:88px;overflow:hidden;border:1px solid #d6e3de;border-radius:14px;background:#fff;box-shadow:0 12px 32px rgba(20,63,57,.06)}
.booking-process-head{padding:25px 24px 22px;color:#fff;background:#125c43}
.booking-process-head small{display:block;margin-bottom:8px;color:#cce2d7;font-size:9px;font-weight:700;letter-spacing:.15em}
.booking-process-head h2{margin:0;font-family:Arial,sans-serif;font-size:22px;line-height:1.25;letter-spacing:-.02em}
.booking-process-head p{margin:9px 0 0;color:#e0ede7;font-size:12px;line-height:1.55}
.booking-process-steps{display:grid;gap:0;margin:0;padding:8px 24px 4px;list-style:none}
.booking-process-steps li{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:13px;padding:17px 0}
.booking-process-steps li+li{border-top:1px solid #e4ece8}
.booking-process-steps li>span{display:grid;width:32px;height:32px;place-items:center;border:1px solid #bcd5c9;border-radius:50%;color:#125c43;background:#f1f7f4;font-size:12px;font-weight:700}
.booking-process-steps b{display:block;margin:1px 0 5px;color:#173f34;font-size:13px;line-height:1.3}
.booking-process-steps p{margin:0;color:#647972;font-size:11px;line-height:1.55}
.booking-process-contact{margin:4px 24px 24px;padding-top:17px;border-top:1px solid #dfe9e5}
.booking-process-contact small{display:block;color:#73847f;font-size:10px}
.booking-process-contact a{display:inline-block;margin-top:5px;color:#125c43;font-size:15px;font-weight:700;text-decoration:none}
@media(max-width:960px){.booking-experience{grid-template-columns:1fr;max-width:900px}.booking-process-card{position:static;display:grid;grid-template-columns:260px minmax(0,1fr)}.booking-process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.booking-process-steps li:nth-child(2){border-top:0}.booking-process-contact{grid-column:1/-1}}
@media(max-width:650px){.booking-process-card{display:block}.booking-process-head{padding:22px 20px}.booking-process-steps{display:grid;grid-template-columns:1fr;padding-inline:20px}.booking-process-steps li:nth-child(2){border-top:1px solid #e4ece8}.booking-process-contact{margin-inline:20px}}

/* Rezervasyon alan etiketi düzeltmesi */
.booking-fields label .field-optional{position:static;display:inline;margin-left:4px;color:#71807f;font-size:10px;font-weight:400;line-height:inherit;vertical-align:baseline}
.booking-field-label{display:flex;align-items:baseline;gap:4px;min-height:16px}
.booking-field-label .field-optional{margin-left:0!important}
