.ct-filter-btn{padding:11px 22px;border-radius:999px;font-weight:600;font-size:14px;cursor:pointer;border:1.5px solid #242C63;background:transparent;color:#242C63}.ct-filter-btn.is-active{background:#242C63;color:#fff}@media (max-width:900px){.ct-tours-grid{grid-template-columns:1fr 1fr!important}}@media (max-width:600px){.ct-tours-grid{grid-template-columns:1fr!important}}.ct-bar-track{background:oklch(90% 0.01 265);border-radius:3px;overflow:hidden}.ct-bar-fill{background:#426AB4;border-radius:3px;height:100%}@media (max-width:900px){.ct-destinations-grid{grid-template-columns:1fr!important}.ct-stat-grid{grid-template-columns:1fr!important;gap:24px!important}}@media (max-width:600px){.ct-services-cards{grid-template-columns:1fr!important}}500;600;700&family=Work+Sans:wght@400;500;600;700&display=swap');

.ct-site {
  font-family: 'Work Sans', sans-serif;
}

.ct-site * { box-sizing: border-box; }

.ct-site a { color: #426AB4; text-decoration: none; }
.ct-site a:hover { color: #242C63; }

.ct-site a, .ct-site button {
  transition: background-color .25s cubic-bezier(.4,0,.2,1),
              color .25s cubic-bezier(.4,0,.2,1),
              border-color .25s cubic-bezier(.4,0,.2,1),
              box-shadow .25s cubic-bezier(.4,0,.2,1),
              opacity .25s ease,
              transform .25s cubic-bezier(.4,0,.2,1);
}

.ct-site ::selection { background: #426AB4; color: #fff; }

/* Buttons */
.ct-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 16px 32px; border-radius: 999px;
  font-weight: 600; font-size: 15px; cursor: pointer; border: none;
}
.ct-btn--sm { padding: 12px 26px; font-size: 14px; }
.ct-btn--solid { background: #45b6ef; color: #242C63; }
.ct-btn--solid:hover { background: #2f9bd6; color: #242C63; }
.ct-btn--outline { background: none; border: 1.5px solid #242C63; color: #242C63; }
.ct-btn--outline:hover { background: #242C63; color: #fff; }
.ct-btn--outline-light { background: none; border: 1.5px solid #fff; color: #fff; }
.ct-btn--outline-light:hover { background: #fff; color: #242C63; }

.ct-arrow-btn {
  width: 48px; height: 48px; border-radius: 50%;
  border: 1.5px solid #242C63; background: none; color: #242C63;
  font-size: 18px; cursor: pointer;
}
.ct-arrow-btn:hover { background: #242C63; color: #fff; }

/* Floating chat widget (site-wide) */
.ct-chat-btn {
  width: 60px; height: 60px; border-radius: 50%;
  background: #45b6ef; color: #242C63; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.ct-chat-btn:hover { background: #2f9bd6; }
.ct-chat-panel { display: none; }
.ct-chat-panel.is-open { display: flex; }
.ct-chat-option {
  color: #242C63;
  padding: 11px 14px; border-radius: 8px; font-weight: 600;
  font-size: 13.5px; display: block;
}
.ct-chat-option:hover { background: #242C63; color: #fff; }

/* FAQ accordion */
.ct-faq-icon { transition: transform .35s cubic-bezier(.16,1,.3,1); }
.ct-faq-icon.is-open { transform: rotate(45deg); }
.ct-faq-panel {
  display: grid; grid-template-rows: 0fr;
  transition: grid-template-rows .4s cubic-bezier(.16,1,.3,1);
  overflow: hidden;
}
.ct-faq-panel.is-open { grid-template-rows: 1fr; }
.ct-faq-panel > p { min-height: 0; overflow: hidden; }

/* Scroll-reveal animation */
.ct-reveal {
  opacity: 0; transform: translateY(26px) scale(.985);
  transition: opacity .8s cubic-bezier(.16,1,.3,1),
              transform .8s cubic-bezier(.16,1,.3,1);
}
.ct-reveal.is-visible { opacity: 1; transform: translateY(0) scale(1); }

.ct-stagger > * {
  opacity: 0; transform: translateY(16px);
  transition: opacity .55s cubic-bezier(.16,1,.3,1),
              transform .55s cubic-bezier(.16,1,.3,1);
}
.ct-stagger.is-visible > * { opacity: 1; transform: translateY(0); }
.ct-stagger.is-visible > *:nth-child(2) { transition-delay: .06s; }
.ct-stagger.is-visible > *:nth-child(3) { transition-delay: .12s; }
.ct-stagger.is-visible > *:nth-child(4) { transition-delay: .18s; }
.ct-stagger.is-visible > *:nth-child(5) { transition-delay: .24s; }
.ct-stagger.is-visible > *:nth-child(n+6) { transition-delay: .3s; }

/* Tour carousel (homepage) */
.ct-tour-carousel {
  display: flex; gap: 24px; overflow-x: auto; padding-bottom: 12px;
  user-select: none; scrollbar-width: none; -ms-overflow-style: none;
}
.ct-tour-carousel::-webkit-scrollbar { display: none; }
.ct-tour-carousel.is-dragging { cursor: grabbing; }

/* Client logo marquee (About page) */
.ct-client-marquee {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.ct-client-track {
  display: flex; width: max-content; gap: 20px; padding: 4px 0;
  animation: ct-client-marquee 24s linear infinite;
}
.ct-client-marquee:hover .ct-client-track { animation-play-state: paused; }
@keyframes ct-client-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Responsive layout */
@media (max-width: 900px) {
  .ct-hero-grid { grid-template-columns: 1fr !important; }
  .ct-services-grid { grid-template-columns: 1fr 1fr !important; max-width: 100% !important; }
  .ct-cred-grid { grid-template-columns: 1fr 1fr 1fr !important; }
  .ct-two-col { grid-template-columns: 1fr !important; }
  .ct-ig-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ===== Cristina Travel — Body Design System ===== */
@import url('https://fonts.googleapis.com/css2?family=Spectral:wght@400;500;600;700&family=Work+Sans:wght@400;500;600;700&display=swap');

.ct-site {
  font-family: 'Work Sans',sans-serif;color:oklch(24% 0.02 265);background:oklch(98% 0.004 265)}.ct-site *{box-sizing:border-box}.ct-site a{color:#426AB4;text-decoration:none}.ct-site a:hover{color:#242C63}.ct-site a,.ct-site button{transition:background-color .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),opacity .25s ease,transform .25s cubic-bezier(.4,0,.2,1)}.ct-site ::selection{background:#426AB4;color:#fff}.ct-btn{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;border-radius:999px;font-weight:600;font-size:15px;cursor:pointer;border:none}.ct-btn--sm{padding:12px 26px;font-size:14px}.ct-btn--solid{background:#45b6ef;color:#242C63}.ct-btn--solid:hover{background:#2f9bd6;color:#242C63}.ct-btn--outline{background:none;border:1.5px solid #242C63;color:#242C63}.ct-btn--outline:hover{background:#242C63;color:#fff}.ct-btn--outline-light{background:none;border:1.5px solid #fff;color:#fff}.ct-btn--outline-light:hover{background:#fff;color:#242C63}.ct-arrow-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid #242C63;background:none;color:#242C63;font-size:18px;cursor:pointer}.ct-arrow-btn:hover{background:#242C63;color:#fff}.ct-chat-btn{width:60px;height:60px;border-radius:50%;background:#45b6ef;color:#242C63;border:none;cursor:pointer;box-shadow:0 6px 20px oklch(20% 0.02 265 / 0.3);display:flex;align-items:center;justify-content:center}.ct-chat-btn:hover{background:#2f9bd6}.ct-chat-panel{display:none}.ct-chat-panel.is-open{display:flex}.ct-chat-option{background:oklch(95% 0.006 265);color:#242C63;padding:11px 14px;border-radius:8px;font-weight:600;font-size:13.5px;display:block}.ct-chat-option:hover{background:#242C63;color:#fff}.ct-faq-icon{transition:transform .35s cubic-bezier(.16,1,.3,1)}.ct-faq-icon.is-open{transform:rotate(45deg)}.ct-faq-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.16,1,.3,1);overflow:hidden}.ct-faq-panel.is-open{grid-template-rows:1fr}.ct-faq-panel>p{min-height:0;overflow:hidden}.ct-reveal{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.ct-reveal.is-visible{opacity:1;transform:translateY(0) scale(1)}.ct-stagger>*{opacity:0;transform:translateY(16px);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1)}.ct-stagger.is-visible>*{opacity:1;transform:translateY(0)}.ct-stagger.is-visible>*:nth-child(2){transition-delay:.06s}.ct-stagger.is-visible>*:nth-child(3){transition-delay:.12s}.ct-stagger.is-visible>*:nth-child(4){transition-delay:.18s}.ct-stagger.is-visible>*:nth-child(5){transition-delay:.24s}.ct-stagger.is-visible>*:nth-child(n+6){transition-delay:.3s}.ct-tour-carousel{display:flex;gap:24px;overflow-x:auto;padding-bottom:12px;user-select:none;scrollbar-width:none;-ms-overflow-style:none}.ct-tour-carousel::-webkit-scrollbar{display:none}.ct-tour-carousel.is-dragging{cursor:grabbing}@media (max-width:900px){.ct-hero-grid{grid-template-columns:1fr!important}.ct-services-grid{grid-template-columns:1fr 1fr!important;max-width:100%!important}.ct-two-col{grid-template-columns:1fr!important}.ct-ig-grid{grid-template-columns:repeat(2,1fr)!important}}