:root {
  color-scheme: light;
  --ink: #182126;
  --muted: #5c686d;
  --paper: #f5f1e9;
  --surface: #fffdf8;
  --accent: #174f5f;
  --warm: #b9673c;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font: 1rem/1.55 ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: inherit; }
a:focus-visible { outline: 3px solid #e3a453; outline-offset: 4px; border-radius: .15rem; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 2; padding: .7rem 1rem; background: var(--ink); color: white; }
.skip-link:focus { top: 1rem; }
.hero { background: var(--accent); color: white; }
.hero__inner { width: min(70rem, calc(100% - 2rem)); margin: 0 auto; padding: clamp(3.5rem, 9vw, 7.5rem) 0; }
.eyebrow { margin: 0 0 .7rem; color: #cbe3df; font-size: .78rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
h1 { max-width: 12ch; margin: 0; font-size: clamp(3rem, 9vw, 6.5rem); line-height: .95; letter-spacing: -.055em; text-wrap: balance; }
.intro { max-width: 38rem; margin: 1.4rem 0 0; color: #e7f1ef; font-size: clamp(1.08rem, 2vw, 1.3rem); }
.trip-grid { width: min(70rem, calc(100% - 2rem)); margin: clamp(2rem, 6vw, 4.5rem) auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2rem); }
.trip-card { overflow: hidden; border: 1px solid #d8d2c6; border-radius: .8rem; background: var(--surface); box-shadow: 0 .6rem 1.8rem rgba(40, 45, 43, .08); }
.trip-card img { display: block; width: 100%; height: 16rem; object-fit: cover; }
.trip-card__body { padding: clamp(1.25rem, 4vw, 2rem); }
.trip-card__status { margin: 0 0 .65rem; color: var(--warm); font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
h2 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.15rem); line-height: 1.08; letter-spacing: -.025em; text-wrap: balance; }
.trip-card__body > p:not(.trip-card__status) { margin: .9rem 0 1.5rem; color: var(--muted); }
.trip-card__link { display: inline-block; color: var(--accent); font-weight: 750; text-underline-offset: .22em; }
footer { width: min(70rem, calc(100% - 2rem)); margin: 0 auto; padding: 0 0 2.5rem; color: var(--muted); font-size: .88rem; }
@media (max-width: 44rem) {
  .trip-grid { grid-template-columns: 1fr; }
  .trip-card img { height: 13rem; }
}
@media print {
  .skip-link { display: none; }
  .hero { background: white; color: var(--ink); }
  .hero__inner { padding: 1rem 0 2rem; }
  .eyebrow, .intro { color: var(--ink); }
  .trip-card { break-inside: avoid; box-shadow: none; }
}
