/* Separate selectors keep the former accordion rules out of the grouped layout. */
body.home .cj-travel-types { padding-block: 40px 48px; background: #fff; }
body.home .cj-travel-types__groups { display: grid; gap: 56px; }
body.home .cj-travel-type { min-width: 0; }
body.home .cj-travel-type__banner { position: relative; display: flex; align-items: center; justify-content: flex-end; min-height: 280px; overflow: hidden; background: #272f2d; }
body.home .cj-travel-type__banner > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
body.home .cj-travel-type__banner::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,transparent 20%,rgba(24,29,27,.25) 46%,rgba(24,29,27,.86) 76%); pointer-events: none; }
body.home .cj-travel-type__copy { position: relative; z-index: 1; width: 380px; max-width: 100%; margin-right: 48px; padding-block: 36px; color: #fff; }
body.home .cj-travel-type__copy small { display: block; margin-bottom: 10px; color: #fff; font: 600 12px/1.4 var(--cj-sans); }
body.home .cj-travel-type__copy h3 { margin: 0 0 14px; color: #fff; font: 600 34px/1.2 var(--cj-sans); letter-spacing: 0; text-wrap: balance; }
body.home .cj-travel-type__copy p { max-width: 24em; margin: 0 0 20px; color: #fff; font: 400 16px/1.65 var(--cj-sans); }
body.home .cj-travel-type__explore { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; padding: 10px 20px; background: #986223; color: #fff; border-radius: 2px; font: 600 15px/1.4 var(--cj-sans); text-decoration: none; }
body.home .cj-travel-type__explore:is(:hover,:focus-visible) { color: #fff; background: #805018; }
body.home .cj-travel-type__journeys { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 24px; }
body.home .cj-travel-journey { display: flex; flex-direction: column; min-width: 0; color: #272f2d; text-decoration: none; }
body.home .cj-travel-journey__photo { overflow: hidden; aspect-ratio: 1.65; background: #f1f0ec; border-radius: 2px; }
body.home .cj-travel-journey__photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 850ms cubic-bezier(.2,.7,.3,1); }
body.home .cj-travel-journey__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding-top: 16px; }
body.home .cj-travel-journey__body > small { margin-bottom: 7px; color: #655b4e; font: 500 13px/1.4 var(--cj-sans); }
body.home .cj-travel-journey h4 { margin: 0 0 10px; color: #272f2d; font: 600 21px/1.35 var(--cj-sans); text-wrap: balance; letter-spacing: 0; transition: color 220ms ease-out; }
body.home .cj-travel-journey p { margin: 0 0 12px; color: #555e58; font: 400 15px/1.6 var(--cj-sans); }
body.home .cj-travel-journey__link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: auto; color: #895719; font: 600 14px/1.4 var(--cj-sans); }
body.home .cj-travel-arrow { display: inline-block; flex: 0 0 18px; width: 18px; height: 18px; background: currentColor; mask: url('../icons/lucide/arrow-right.svg') center / contain no-repeat; transition: transform 220ms ease-out; }
body.home .cj-travel-journey:is(:hover,:focus-visible) h4 { color: #895719; }
body.home .cj-travel-journey:is(:hover,:focus-visible) img { transform: scale(1.04); }
body.home :is(.cj-travel-journey,.cj-travel-type__explore):is(:hover,:focus-visible) .cj-travel-arrow { transform: translateX(4px); }
body.home :is(.cj-travel-journey,.cj-travel-type__explore):focus-visible { outline: 2px solid #986223; outline-offset: 5px; }
@media (max-width: 1024px) {
 body.home .cj-travel-type__copy { width: 340px; margin-right: 28px; }
 body.home .cj-travel-journey h4 { font-size: 19px; }
}
@media (max-width: 768px) {
 body.home .cj-travel-types { padding-block: 32px; }
 body.home .cj-travel-types__groups { gap: 40px; }
 body.home .cj-travel-type__banner { min-height: 280px; }
 body.home .cj-travel-type__banner::after { background: linear-gradient(90deg,rgba(24,29,27,.18),rgba(24,29,27,.82)); }
 body.home .cj-travel-type__copy { width: min(280px,calc(100% - 40px)); margin-right: 20px; padding-block: 28px; }
 body.home .cj-travel-type__copy h3 { font-size: 28px; }
 body.home .cj-travel-type__journeys { grid-template-columns: minmax(0,1fr); gap: 28px; margin-top: 20px; }
 body.home .cj-travel-journey h4 { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
 body.home .cj-travel-types *,body.home .cj-travel-types *::after { transition: none !important; }
 body.home .cj-travel-journey:is(:hover,:focus-visible) img,body.home :is(.cj-travel-journey,.cj-travel-type__explore):is(:hover,:focus-visible) .cj-travel-arrow { transform: none; }
}
