.offers .experience-grid { gap: 26px; }
.offers .experience-card { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.offers .card-image { aspect-ratio: 1.55; border-radius: 0; }
.offers .card-image .full-day-photo { object-position: 50% 45%; }
.offers .card-body { display: flex; flex-direction: column; flex: 1; padding: 26px; }
.offers .card-body h3 { min-height: 2.25em; }
.offer-price { margin: 20px 0 3px; display: flex; flex-direction: column; gap: 2px; color: var(--ink); }
.offer-price > span { font-size: .875rem; color: var(--muted); }
.offer-price > strong { font-family: var(--serif); font-size: 2.9rem; font-weight: 400; line-height: 1.2; letter-spacing: -.04em; }
.offer-price small { font-family: var(--sans); font-size: .875rem; letter-spacing: 0; white-space: nowrap; }
.offers .card-body .offer-option { display: flex; flex-direction: column; gap: 2px; margin-top: 22px; padding-block: 14px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--ink); font-size: .875rem; }
.offers .card-body .offer-detail { font-size: .875rem; margin-top: 14px; }
.offers .offer-button { margin-top: auto; align-self: stretch; justify-content: space-between; padding: 14px 17px; gap: 10px; font-size: .875rem; min-height: 49px; }
.offers .card-body > p:last-of-type { margin-bottom: 28px; }
.offer-extras { display: grid; grid-template-columns: .75fr 1.25fr; gap: 36px; margin-top: 36px; padding: 28px 30px; background: var(--pale); border-radius: 4px; }
.offer-extras h3 { font-size: 1.6rem; line-height: 1.3; }
.offer-extras p { font-size: 1rem; line-height: 1.8; }
.offer-extras p + p { margin-top: 6px; color: var(--muted); }
.crew-services { background: var(--pale); }
.crew-offers { display: grid; grid-template-columns: 1fr 1.2fr; gap: 48px; }
.crew-intro .eyebrow { margin-bottom: 14px; }
.crew-intro h2 { font-size: clamp(2.3rem, 3.8vw, 3.2rem); }
.crew-intro > p:last-child { margin-top: 18px; color: var(--muted); font-size: 1rem; line-height: 1.8; }
.crew-rates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; align-content: center; }
.crew-rate { border-left: 1px solid #bfd6d5; padding-left: 24px; min-width: 0; }
.crew-rate h3 { font-family: var(--sans); font-weight: 700; font-size: 1rem; line-height: 1.5; margin: 0 0 12px; }
.crew-rate > p { font-size: .875rem; }
.crew-rate > p strong { display: block; color: var(--ink); font-family: var(--serif); font-weight: 400; font-size: 2.5rem; line-height: 1.3; }
.crew-rate .text-link { gap: 14px; line-height: 1.5; }
.offers-terms, .crew-terms { margin-top: 24px; max-width: 920px; font-size: .875rem; line-height: 1.8; color: var(--muted); }
@media (max-width: 1100px) { .offers .experience-grid { gap: 20px; } .offers .card-body { padding: 21px; } .crew-offers { grid-template-columns: 1fr; gap: 28px; } .crew-rates { max-width: 700px; } }
@media (max-width: 850px) { .offers .experience-grid { grid-template-columns: 1fr; gap: 28px; } .offers .experience-card { display: grid; grid-template-columns: .85fr 1.15fr; } .offers .card-image { height: 100%; aspect-ratio: auto; } .offers .card-body { padding: 28px; } .offers .card-body h3 { min-height: 0; font-size: 2rem; } .offers .offer-button { align-self: flex-start; } }
@media (max-width: 640px) { .offers .experience-card { display: flex; } .offers .card-image { height: auto; aspect-ratio: 1.5; } .offers .card-body { padding: 24px; } .offers .offer-button { align-self: stretch; } .offer-extras { grid-template-columns: 1fr; gap: 15px; padding: 24px; } .crew-offers { gap: 28px; } .crew-rates { grid-template-columns: 1fr; gap: 28px; } .crew-rate { padding-left: 20px; } }
