:root { color-scheme:light; --paper:#f6f4ed; --green:#233e33; --ink:#24362c; --muted:#536056; --line:#d9ded3; --white:#fffefa; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:1rem/1.65 Arial,Helvetica,sans-serif; }
a { color:var(--green); text-underline-offset:.2em; }
a:focus-visible { outline:3px solid #9b6828; outline-offset:4px; }
h1,h2,h3 { font-family:Georgia,serif; font-weight:normal; line-height:1.16; margin:0; overflow-wrap:anywhere; }
h1 { font-size:clamp(2.3rem,5vw,4rem); }
h2 { font-size:clamp(1.85rem,4vw,2.7rem); }
h3 { font-size:clamp(1.45rem,3vw,2rem); }
p { margin:.65rem 0; }
.wrap { width:min(1120px, calc(100% - 3rem)); margin-inline:auto; }
.site-header { border-bottom:1px solid var(--line); background:var(--white); }
.site-nav,.section-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; }
.site-nav { min-height:4.75rem; padding-block:.7rem; }
.site-nav nav { display:flex; gap:1.25rem; }
.brand { text-decoration:none; font:700 1.4rem/1.2 Georgia,serif; }
.brand span { color:#875e2d; }
.group { margin-block:clamp(2.25rem,5vw,4.25rem); }
.eyebrow { color:#765522; text-transform:uppercase; font-weight:700; letter-spacing:.13em; font-size:.76rem; }
.trip-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin-top:1.15rem; }
.trip-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:.65rem; background:var(--white); }
.trip-card.featured { display:grid; grid-template-columns:1.2fr 1fr; margin-top:1.15rem; }
.featured .trip-card-body:only-child { grid-column:1/-1; }
.featured .trip-card-body { padding:clamp(1.35rem,4vw,2.7rem); }
.featured h3 { font-size:clamp(1.8rem,4vw,3rem); }
.trip-card-body { flex:1; display:flex; flex-direction:column; align-items:flex-start; padding:1.35rem; overflow-wrap:anywhere; }
.trip-card-body h3 a { text-decoration:none; }
.trip-card-body h3 a:hover { text-decoration:underline; }
.trip-card-body .eyebrow { margin:0 0 .6rem; }
.trip-photo { display:block; background:#e0e7da; }
.trip-photo img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.featured .trip-photo { position:relative; min-height:17rem; }
.featured .trip-photo img { position:absolute; height:100%; }
.trip-date { font-weight:700; }
.departure { margin-top:0; }
.button { display:inline-block; border-radius:.28rem; color:white; background:var(--green); padding:.55rem .9rem; font-weight:700; text-decoration:none; }
.button:hover { background:#3b5c4b; }
.trip-card-body .button { margin-top:auto; }
.trip-card-body p:last-of-type { margin-bottom:1rem; }
.about { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:2rem; margin:3rem 0 2rem; }
.about img { display:block; width:100%; height:auto; border-radius:.6rem; }
.info-box { padding:1.2rem; background:#e9eee4; border-left:3px solid #886335; margin:1.2rem 0; }
.contact { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; margin:2rem 0 3rem; }
.contact h2 { font-size:1.65rem; }
.contact p { margin:.25rem 0 0; }
.trip-detail-page { line-height:1.32; }
.trip-detail-page .brand { line-height:.96; }
.trip-detail-page h1, .trip-detail-page h2, .trip-detail-page h3 { line-height:.928; }
.detail { max-width:900px; padding:2.5rem 0 3.5rem; }
.lead { font-size:1.2rem; color:var(--muted); }
.detail-cover { display:block; width:100%; max-height:660px; object-fit:contain; border-radius:.55rem; margin:1.3rem auto; }
.facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.45rem 0; padding:1.15rem; background:var(--white); border:1px solid var(--line); }
.facts dt { font-weight:700; }
.facts dd { margin:0; overflow-wrap:anywhere; white-space:pre-line; }
.trip-description { margin-top:1.6rem; overflow-x:auto; overflow-wrap:anywhere; }
.trip-description ul, .trip-description ol { padding-inline-start:1.65em !important; list-style-position:outside; }
.trip-description ul { list-style-type:disc; }
.trip-description ol { list-style-type:decimal; }
.trip-description ul > li, .trip-description ol > li { display:list-item !important; }
.trip-description img { max-width:100% !important; height:auto !important; }
.trip-description table { border-collapse:collapse; max-width:100%; }
.trip-description td,.trip-description th { border:1px solid var(--line); padding:.4rem; }
.preview-note { padding:.65rem .85rem; background:#f0e8cf; }
.site-footer { border-top:1px solid var(--line); padding:1.4rem 0; color:var(--muted); font-size:.9rem; }
@media (max-width:650px) {
  .wrap { width:calc(100% - 2rem); }
  .trip-grid,.trip-card.featured,.about,.facts { grid-template-columns:1fr; }
  .featured .trip-photo { min-height:0; }
  .featured .trip-photo img { position:static; height:auto; }
}
