.past-event-strip { margin-top: 150px; background: linear-gradient(135deg, #f5ede0 0%, #ece0c8 100%); border-bottom: 1px solid #d4c6a8; padding: 2rem 1.5rem; min-height: 110px; }
      .past-event-strip__inner { max-width: 1320px; margin: 0 auto; padding-left: 1.5rem; padding-right: 1.5rem; display: flex; flex-wrap: wrap; gap: 0.85rem 1.5rem; align-items: center; }
      .past-event-strip__eyebrow { font-size: 0.7rem; letter-spacing: 0.18em; text-transform: uppercase; color: #a64d3a; font-weight: 600; }
      .past-event-strip__title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.4rem; color: #1e1e1c; margin: 0; line-height: 1.2; }
      .past-event-strip__sub { font-size: 0.9rem; color: #5a5855; margin: 0; }
      .past-event-strip__cta { margin-left: auto; padding: 0.55rem 1.1rem; background: #784356; color: #faf7f1; border-radius: 4px; text-decoration: none; font-size: 0.85rem; letter-spacing: 0.04em; transition: background 0.2s; }
      .past-event-strip__cta:hover { background: #5e3142; color: #faf7f1; }
      /* Solid beige header on ALL device sizes for Past Event pages — the
         top bar reads as a continuation of the banner gradient and the banner
         content sits in a clean full block below it. */
      .site-header,
      .site-header--scrolled {
        background: #f5ede0 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
      }
      .site-logo__img { filter: none !important; }
      .nav-hamburger__line { background: #1e1e1c !important; }
      .nav-hamburger__label { color: #1e1e1c !important; }
      .header-phone,
      .header-phone-mobile,
      .site-logo__text-fallback,
      .site-logo__text-fallback span { color: #1e1e1c !important; }
      /* Tablet header is 110px tall (portrait stack with phone under logo) */
      @media (min-width: 769px) and (max-width: 1024px) {
        .past-event-strip { margin-top: 110px; }
      }
      /* Desktop wide — bump unscrolled header to 200px and centre the logo,
         then re-assert the native scrolled-state numbers with !important so
         they win when --scrolled is present (my !important on .site-header
         otherwise beats the native .site-header--scrolled rule). */
      @media (min-width: 1025px) {
        .site-header { height: 150px !important; }
        .site-logo { top: 50% !important; }
        .site-logo__img { height: 105px !important; }
        /* Scrolled — restore the original compact 64px header / 34px logo */
        .site-header--scrolled { height: 64px !important; }
        .site-header--scrolled .site-logo { top: 55% !important; }
        .site-header--scrolled .site-logo__img { height: 34px !important; }
      }
      /* Tablet & mobile — banner shrinks, site header goes fully transparent */
      @media (max-width: 768px) {
        /* Push the banner below the 90px fixed mobile header so its CTA never
           sits on top of the header phone/Book-Direct buttons. */
        .past-event-strip { margin-top: 90px; padding: 1.25rem 1rem; min-height: 0; }
        .past-event-strip__inner { max-width: 100%; padding-left: 0.25rem; padding-right: 0.25rem; gap: 0.55rem 1rem; }
        .past-event-strip__title { font-size: 1.2rem; }
        .past-event-strip__sub { font-size: 0.82rem; line-height: 1.35; }
        .past-event-strip__eyebrow { font-size: 0.65rem; }
      }
      @media (max-width: 600px) {
        .past-event-strip__cta { margin-left: 0; width: 100%; text-align: center; margin-top: 0.4rem; padding: 0.7rem 1.1rem; }
      }
      @media (max-width: 896px) and (orientation: landscape) {
        /* Landscape mobile — header is ~64px so reduce the offset accordingly */
        .past-event-strip { margin-top: 64px; }
      }
            @media (max-width: 400px) {
        .past-event-strip { padding: 1rem 0.85rem; }
        .past-event-strip__title { font-size: 1.1rem; }
        .past-event-strip__cta { font-size: 0.8rem; }
      }

body, .page-getting-there, body.page-getting-there {
      --card-shadow: 0 2px 6px rgba(30, 30, 28, 0.09), 0 14px 36px rgba(30, 30, 28, 0.11);
      --card-shadow-hover: 0 3px 10px rgba(30, 30, 28, 0.13), 0 22px 54px rgba(30, 30, 28, 0.16);
    }
    .gt-options { padding-top: clamp(48px, 8vw, 96px); padding-bottom: clamp(48px, 8vw, 96px); }
    .gt-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: clamp(20px, 3vw, 32px);
      max-width: 1180px; margin: 0 auto;
    }

    .gt-card {
      position: relative;
      display: flex; flex-direction: column;
      background: #fff;
      border: 1px solid #e9e3d6;
      border-radius: 14px;
      overflow: hidden;
      text-decoration: none; color: inherit;
      transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
      box-shadow: var(--card-shadow);
    }
    .gt-card::before {
      content: ""; position: absolute; top: 0; left: 0; right: 0;
      height: 3px;
      background: linear-gradient(90deg, transparent 0%, currentColor 25%, currentColor 75%, transparent 100%);
      color: #c4a052;
      opacity: 0.85;
      pointer-events: none;
      z-index: 2;
    }
    .gt-card:hover {
      transform: translateY(-6px);
      box-shadow: var(--card-shadow-hover);
      border-color: #c4a052;
    }

    .gt-card__art {
      width: 100%;
      aspect-ratio: 400 / 280;
      background: #faf6ef;
      position: relative;
      overflow: hidden;
    }
    .gt-card__art svg { display: block; width: 100%; height: 100%; transition: transform 0.5s ease; }
    .gt-card:hover .gt-card__art svg { transform: scale(1.04); }
    .gt-card__art::after {
      content: ""; position: absolute; inset: 0;
      background: linear-gradient(180deg, rgba(255,255,255,0) 75%, rgba(255,255,255,0.6) 100%);
      pointer-events: none;
    }

    .gt-card__body { padding: clamp(22px, 3vw, 36px) clamp(22px, 3vw, 40px) clamp(28px, 4vw, 44px); flex: 1; display: flex; flex-direction: column; }
    .gt-card__eyebrow {
      font-family: 'Jost', sans-serif;
      font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.18em;
      color: #6b6a66; font-weight: 500;
    }
    .gt-card__title {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: clamp(1.875rem, 3.6vw, 2.5rem); line-height: 1; color: #784356;
      font-weight: 400; margin: 10px 0 16px;
    }
    .gt-card__lede {
      font-size: 0.9062rem; color: #1e1e1c; margin: 0 0 14px;
      font-style: italic; letter-spacing: 0.01em;
    }
    .gt-card__copy {
      flex: 1;
      color: #4f4e4c; font-size: 0.9062rem; line-height: 1.75; margin: 0 0 22px;
    }
    .gt-card__cta {
      display: inline-flex; align-items: center; gap: 8px;
      font-family: 'Jost', sans-serif;
      font-size: 0.75rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase;
      color: #784356;
      border-bottom: 1px solid currentColor; padding-bottom: 4px;
      align-self: flex-start;
      transition: gap 0.2s ease;
    }
    .gt-card:hover .gt-card__cta { gap: 12px; }

    .gt-card--car       { color: #b08a2c; }
    .gt-card--car       .gt-card__title,
    .gt-card--car       .gt-card__cta   { color: #8a6814; }
    .gt-card--transit   { color: #784356; }
    .gt-card--transit   .gt-card__title,
    .gt-card--transit   .gt-card__cta   { color: #784356; }
    .gt-card--walk      { color: #5e6c4a; }
    .gt-card--walk      .gt-card__title,
    .gt-card--walk      .gt-card__cta   { color: #4a5638; }
    .gt-card--traveline { color: #3a7a8a; }
    .gt-card--traveline .gt-card__title,
    .gt-card--traveline .gt-card__cta   { color: #2f5a64; }

    .gt-back__inner { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
    .gt-back__link { font-size: 0.8125rem; color: #784356; text-decoration: none; letter-spacing: 0.02em; }
    .gt-back__link:hover { color: #5a2e3e; }

    @media (max-width: 820px) {
      .gt-grid { grid-template-columns: 1fr; }
    }
