.inner-body { background: var(--paper); }
.inner-body .site-header { position: relative; color: var(--ink); background: rgba(255,254,250,.96); border-bottom: 1px solid var(--line); }
.inner-body .nav-link { color: var(--ink); }
.inner-body .nav-link:hover, .inner-body .nav-link.active { color: var(--coral); }
.inner-body .icon-button { color: var(--ink); }
.inner-body .header-cta { color: #fff; background: var(--ink); }
.inner-body .brand-copy small { opacity: .62; }

.page-hero { min-height: 360px; position: relative; display: flex; align-items: flex-end; overflow: hidden; color: #fff; background: var(--ink); }
.page-hero-image { position: absolute; inset: 0; background-position: center; background-size: cover; }
.page-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(31,77,70,.84), rgba(31,77,70,.2)), linear-gradient(0deg, rgba(16,51,46,.75), transparent 60%); }
.page-hero-content { position: relative; z-index: 1; width: min(1200px, calc(100% - 72px)); margin: 0 auto; padding: 72px 0 56px; }
.breadcrumb { display: flex; align-items: center; gap: 11px; margin-bottom: 25px; color: rgba(255,255,255,.72); font-size: 10px; letter-spacing: .1em; }
.breadcrumb a:hover { color: var(--coral-soft); }
.breadcrumb i { color: var(--coral-soft); font-style: normal; }
.page-hero h1 { max-width: 760px; margin: 0; white-space: normal; overflow-wrap: anywhere; font-family: var(--serif); font-size: clamp(42px, 5.5vw, 72px); line-height: 1.3; font-weight: 600; letter-spacing: .05em; }
.page-hero h1 em { display: block; color: var(--coral-soft); font-style: normal; }
.page-hero .eyebrow > span[id] { display: inline; width: auto; height: auto; background: none; white-space: normal; }
.page-hero-copy { max-width: 610px; margin: 17px 0 0; color: rgba(255,255,255,.78); line-height: 2; }
.page-hero-number { display: none; }
.page-section { padding: 82px 0; }
.page-section-tint { background: var(--cream); }
.inner-shell { width: min(1200px, calc(100% - 72px)); margin: 0 auto; }
.page-heading { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 38px; }
.page-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(32px, 4vw, 51px); line-height: 1.4; font-weight: 600; letter-spacing: .04em; }
.page-heading h2 em { color: var(--coral); font-style: normal; }
.page-heading > p { max-width: 380px; margin: 0; color: var(--muted); font-size: 13px; line-height: 2; }
.inner-eyebrow { margin: 0 0 12px; color: var(--coral); font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.back-link { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 30px; color: var(--coral); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.back-link span { font-size: 17px; }
.back-link:hover span { transform: translateX(-4px); }

/* Overview pages */
.listing-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: end; }
.listing-intro h2 { margin: 0; font-family: var(--serif); font-size: clamp(32px, 4vw, 51px); line-height: 1.45; font-weight: 600; }
.listing-intro h2 em { color: var(--coral); font-style: normal; }
.listing-intro p { max-width: 430px; margin: 0; color: var(--muted); line-height: 2; }
.filter-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 39px 0 26px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.filter-row-label { margin-right: 4px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.inner-filter { padding: 7px 15px; border: 1px solid var(--line); border-radius: 30px; background: transparent; color: var(--muted); font-size: 11px; transition: .2s ease; }
.inner-filter:hover, .inner-filter.active { border-color: var(--ink); color: #fff; background: var(--ink); }
.district-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.district-card { min-height: 356px; position: relative; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; color: #fff; background: var(--ink); }
.district-card-image { position: absolute; inset: 0; background-position: center; background-size: cover; transition: transform .7s ease; }
.district-card-overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(18,57,51,.93), rgba(18,57,51,.03) 70%); }
.district-card:hover .district-card-image { transform: scale(1.05); }
.district-card-content { position: relative; z-index: 1; padding: 24px; }
.district-card small { color: var(--coral-soft); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.district-card h3 { margin: 6px 0 5px; font-family: var(--serif); font-size: 27px; font-weight: 600; }
.district-card p { min-height: 48px; margin: 0 0 17px; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.85; }
.district-card-link { display: inline-flex; align-items: center; gap: 15px; padding-bottom: 5px; border-bottom: 1px solid var(--coral-soft); color: var(--coral-soft); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.district-card-link span { font-size: 18px; }
.district-card:nth-child(4n + 2), .district-card:nth-child(4n + 2):hover { transform: none; }
.district-card:nth-child(4n + 3) { background: #efc6b3; }

.event-overview-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 22px; }
.event-overview-card { min-height: 300px; position: relative; overflow: hidden; padding: 28px; color: #fff; background: var(--ink); }
.event-overview-card:first-child { min-height: 420px; grid-row: span 2; background: #6e998c; }
.event-overview-card:nth-child(3) { color: var(--ink); background: #efc6b3; }
.event-overview-card > div { position: relative; z-index: 1; max-width: 460px; }
.event-overview-card > .event-overview-image { position: absolute; inset: 0; z-index: 0; max-width: none; background-position: center; background-size: cover; opacity: .48; transition: transform .7s ease, opacity .3s ease; }
.event-overview-card:hover .event-overview-image { transform: scale(1.06); opacity: .6; }
.event-overview-card:before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(0deg, rgba(18,57,51,.94), rgba(18,57,51,.2) 78%); }
.event-overview-card:nth-child(3):before { background: linear-gradient(0deg, rgba(244,205,188,.92), rgba(244,205,188,.18) 78%); }
.event-overview-card:after { content: ""; position: absolute; right: -20px; bottom: -60px; width: 210px; height: 210px; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; }
.event-overview-card:nth-child(3):after { border-color: rgba(47,107,98,.25); }
.event-overview-card small { color: var(--coral-soft); font-size: 9px; font-weight: 800; letter-spacing: .17em; }
.event-overview-card:nth-child(3) small { color: var(--coral); }
.event-overview-card h3 { margin: 39px 0 10px; font-family: var(--serif); font-size: 31px; font-weight: 600; }
.event-overview-card p { max-width: 390px; margin: 0; color: rgba(255,255,255,.7); font-size: 13px; line-height: 2; }
.event-overview-card:nth-child(3) p { color: var(--muted); }
.event-overview-card > span { position: absolute; right: 27px; bottom: 22px; z-index: 2; color: var(--coral-soft); font-size: 24px; }
.event-overview-card:nth-child(3) > span { color: var(--ink); }
.event-overview-card a { position: absolute; z-index: 2; right: 27px; bottom: 26px; color: var(--coral-soft); font-size: 24px; }
.event-overview-card:nth-child(3) a { color: var(--ink); }

.stay-list-note { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin: 20px 0 10px; padding: 17px 20px; border-left: 3px solid var(--coral); background: var(--cream); }
.stay-list-note > div { display: grid; gap: 5px; }
.stay-list-note strong { color: var(--ink); font-size: 12px; letter-spacing: .08em; }
.stay-list-note span { color: var(--muted); font-size: 11px; line-height: 1.7; }
.stay-list-note a { flex: 0 0 auto; color: var(--coral); font-size: 11px; font-weight: 800; }
.stay-list-note a:hover, .stay-list-note a:focus-visible { text-decoration: underline; }
.stay-result-count { margin: 0 0 13px; color: var(--muted); font-size: 11px; letter-spacing: .04em; }
.stay-overview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 20px; }
.stay-overview-card { background: #fff; box-shadow: 0 12px 28px rgba(47,107,98,.07); }
.stay-overview-photo { height: 220px; overflow: hidden; position: relative; background: linear-gradient(135deg, #c4d7d9, #41697a); }
.stay-overview-photo img { height: 100%; object-fit: cover; transition: transform .7s ease; }
.stay-overview-card:hover img { transform: scale(1.05); }
.stay-overview-photo span { position: absolute; bottom: 13px; left: 13px; padding: 4px 9px; color: #fff; background: rgba(31,77,70,.78); font-size: 9px; }
.stay-overview-body { padding: 20px 21px 23px; }
.stay-overview-body h3 { margin: 0 0 9px; font-family: var(--serif); font-size: 22px; }
.stay-overview-body p { min-height: 52px; margin: 0 0 18px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.stay-meta { display: flex; justify-content: space-between; padding-top: 13px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.stay-meta a { color: var(--coral); font-weight: 800; }
.source-note { margin-top: 31px; padding: 16px 19px; border-left: 3px solid var(--coral); color: var(--muted); background: var(--cream); font-size: 11px; line-height: 1.9; }
.source-note a { color: var(--coral); font-weight: 800; }

.plan-overview-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 13px; }
.plan-overview-card { min-height: 260px; position: relative; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; padding: 22px; color: #fff; background: var(--ink); transition: transform .25s ease; }
.plan-overview-card:nth-child(2) { background: #6e998c; }
.plan-overview-card:nth-child(3) { color: var(--ink); background: #efc6b3; }
.plan-overview-card:nth-child(4) { color: var(--ink); background: #e8d89a; }
.plan-overview-card:nth-child(5) { background: #8aa99b; }
.plan-overview-card:hover { transform: translateY(-7px); }
.plan-overview-card > .plan-overview-image { position: absolute; inset: 0; z-index: 0; background-position: center; background-size: cover; opacity: .45; transition: transform .7s ease, opacity .3s ease; }
.plan-overview-card:hover .plan-overview-image { transform: scale(1.06); opacity: .58; }
.plan-overview-card:before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(0deg, rgba(18,57,51,.94), rgba(18,57,51,.18) 78%); }
.plan-overview-card:nth-child(3):before { background: linear-gradient(0deg, rgba(244,205,188,.94), rgba(244,205,188,.16) 78%); }
.plan-overview-card:nth-child(4):before { background: linear-gradient(0deg, rgba(226,207,141,.95), rgba(226,207,141,.18) 78%); }
.plan-overview-card span { position: absolute; top: 20px; left: 22px; color: var(--coral-soft); font-size: 9px; letter-spacing: .16em; }
.plan-overview-card:nth-child(3) span, .plan-overview-card:nth-child(4) span { color: var(--coral); }
.plan-overview-card h3 { margin: 0; font-family: var(--serif); font-size: 24px; font-weight: 600; }
.plan-overview-card p { min-height: 42px; margin: 8px 0 0; color: rgba(255,255,255,.72); font-size: 11px; line-height: 1.8; }
.plan-overview-card:nth-child(3) p, .plan-overview-card:nth-child(4) p { color: var(--muted); }
.plan-overview-card i { position: absolute; right: 19px; bottom: 18px; font-style: normal; font-size: 24px; }
.plan-overview-card > span { position: absolute; z-index: 1; }
.plan-overview-card > h3, .plan-overview-card > p { position: relative; z-index: 1; }
.plan-overview-card > i { position: absolute; z-index: 1; }

/* Detail pages */
.detail-layout { display: grid; grid-template-columns: 280px 1fr; gap: 70px; align-items: start; }
.detail-side { position: sticky; top: 25px; }
.detail-side-label { margin: 0 0 14px; color: var(--coral); font-size: 9px; font-weight: 800; letter-spacing: .17em; }
.detail-side h2 { margin: 0 0 20px; font-family: var(--serif); font-size: 29px; font-weight: 600; line-height: 1.5; }
.detail-side p { margin: 0 0 24px; color: var(--muted); font-size: 12px; line-height: 2; }
.side-nav { display: grid; border-top: 1px solid var(--line); }
.side-nav a { display: flex; justify-content: space-between; padding: 11px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-family: var(--serif); font-size: 15px; }
.side-nav a:hover, .side-nav a.active { color: var(--coral); padding-left: 8px; }
.side-nav a span { font-family: var(--sans); font-size: 10px; }
.detail-main { min-width: 0; }
.detail-main > h2 { margin: 0 0 16px; font-family: var(--serif); font-size: 39px; font-weight: 600; line-height: 1.45; }
.detail-main > h2 em { color: var(--coral); font-style: normal; }
.detail-main > p { margin: 0 0 29px; color: var(--muted); font-size: 14px; line-height: 2.1; }
.detail-image { height: 410px; overflow: hidden; margin-bottom: 25px; }
.detail-image img { height: 100%; object-fit: cover; }
.fact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; margin: 0 0 31px; }
.fact-box { padding: 15px; background: var(--cream); }
.fact-box small { display: block; margin-bottom: 4px; color: var(--coral); font-size: 9px; letter-spacing: .15em; }
.fact-box strong { display: block; font-family: var(--serif); font-size: 17px; font-weight: 600; }
.story-block { padding: 29px 0; border-top: 1px solid var(--line); }
.story-block h3 { margin: 0 0 10px; font-family: var(--serif); font-size: 24px; }
.story-block p { margin: 0; color: var(--muted); font-size: 13px; line-height: 2; }
.detail-gallery { display: grid; grid-template-columns: 1.2fr .8fr; gap: 14px; margin-top: 22px; }
.detail-gallery img { height: 210px; object-fit: cover; }
.detail-gallery img:first-child { height: 100%; min-height: 210px; }
.detail-cta { display: inline-flex; align-items: center; gap: 19px; margin-top: 24px; padding: 12px 18px; color: #fff; background: var(--ink); font-size: 11px; font-weight: 800; letter-spacing: .11em; }
.detail-cta:hover { background: var(--coral); }
.stay-detail-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 17px; }
.stay-detail-card { padding: 21px; background: var(--cream); }
.stay-detail-card h3 { margin: 0 0 7px; font-family: var(--serif); font-size: 21px; }
.stay-detail-card p { margin: 0 0 14px; color: var(--muted); font-size: 12px; line-height: 1.85; }
.stay-detail-card .stay-meta { padding-top: 11px; }

.event-detail-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: stretch; }
.event-detail-photo { min-height: 420px; overflow: hidden; }
.event-detail-photo img { height: 100%; object-fit: cover; }
.event-detail-copy { padding: 30px; background: var(--cream); }
.event-detail-copy h2 { margin: 0 0 14px; font-family: var(--serif); font-size: 36px; line-height: 1.45; font-weight: 600; }
.event-detail-copy p { margin: 0 0 20px; color: var(--muted); font-size: 13px; line-height: 2; }
.calendar-note { display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: center; padding-top: 17px; border-top: 1px solid var(--line); }
.calendar-note strong { color: var(--coral); font-family: var(--serif); font-size: 27px; font-weight: 600; }
.calendar-note span { color: var(--muted); font-size: 10px; line-height: 1.6; }
.event-detail-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 25px; }
.event-detail-list article { padding: 20px; background: #fff; border: 1px solid var(--line); }
.event-detail-list small { color: var(--coral); font-size: 9px; letter-spacing: .15em; }
.event-detail-list h3 { margin: 8px 0; font-family: var(--serif); font-size: 19px; }
.event-detail-list p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.85; }

.itinerary-detail { display: grid; grid-template-columns: 330px 1fr; gap: 54px; align-items: start; }
.itinerary-summary { min-height: 430px; position: relative; display: flex; align-items: flex-end; overflow: hidden; color: #fff; background: var(--ink); box-shadow: 0 18px 38px rgba(31,77,70,.12); }
.itinerary-summary-image, .itinerary-summary-overlay { position: absolute; inset: 0; }
.itinerary-summary-image { background-position: center; background-size: cover; transition: transform .8s ease; }
.itinerary-summary-overlay { background: linear-gradient(0deg, rgba(18,57,51,.76), rgba(18,57,51,.05) 76%); }
.itinerary-summary:hover .itinerary-summary-image { transform: scale(1.05); }
.itinerary-summary-content { position: relative; z-index: 1; width: 100%; padding: 30px 27px 26px; }
.itinerary-summary .inner-eyebrow { color: var(--coral-soft); }
.itinerary-summary h2 { margin: 0 0 14px; font-family: var(--serif); font-size: 29px; line-height: 1.5; font-weight: 600; }
.itinerary-summary p { margin: 0 0 20px; color: rgba(255,255,255,.72); font-size: 12px; line-height: 2; }
.itinerary-summary-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.itinerary-summary-meta span { padding: 4px 9px; border: 1px solid rgba(255,255,255,.34); color: var(--coral-soft); font-size: 9px; letter-spacing: .12em; }
.itinerary-summary .story-tags { margin-bottom: 0; }
.itinerary-summary .story-tags span { border-color: rgba(255,255,255,.3); color: rgba(255,255,255,.82); }
.route-stack { border-top: 1px solid var(--line); }
.route-card { display: grid; grid-template-columns: 82px 132px minmax(0, 1fr); gap: 22px; align-items: start; padding: 26px 0; border-bottom: 1px solid var(--line); }
.route-card > span { color: var(--coral); font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.route-card-photo { height: 100px; overflow: hidden; background: var(--cream); }
.route-card-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.route-card:hover .route-card-photo img { transform: scale(1.06); }
.route-card h3 { margin: 0 0 6px; font-family: var(--serif); font-size: 22px; font-weight: 600; }
.route-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.9; }
.route-card a { display: inline-flex; gap: 12px; margin-top: 12px; color: var(--coral); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.tips-panel { margin-top: 28px; padding: 22px; background: #f0dfad; }
.tips-panel h3 { margin: 0 0 8px; font-family: var(--serif); font-size: 20px; }
.tips-panel p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.9; }

@media (max-width: 900px) {
  .inner-shell, .page-hero-content { width: min(100% - 48px, 760px); }
  .district-grid { grid-template-columns: repeat(2, 1fr); }
  .plan-overview-grid { grid-template-columns: repeat(3, 1fr); }
  .detail-layout, .itinerary-detail { grid-template-columns: 1fr; gap: 35px; }
  .detail-side { position: static; }
  .side-nav { grid-template-columns: repeat(3, 1fr); gap: 0 18px; }
  .side-nav a { font-size: 13px; }
}

@media (max-width: 760px) {
  .inner-body .site-header { position: relative; }
  .inner-body .main-nav { background: var(--ink-deep); }
  .inner-body .nav-link { color: #fff; }
  .inner-shell, .page-hero-content { width: calc(100% - 38px); }
  .page-hero { min-height: 350px; }
  .page-hero-content { padding: 54px 0 43px; }
  .page-hero h1 { max-width: 100%; font-size: clamp(36px, 9vw, 54px); line-height: 1.28; }
  .page-heading, .listing-intro { display: block; }
  .page-heading > p, .listing-intro p { margin-top: 18px; }
  .page-section { padding: 67px 0; }
  .district-grid, .stay-overview-grid, .event-detail-list { grid-template-columns: 1fr; }
  .stay-list-note { align-items: flex-start; flex-direction: column; gap: 10px; }
  .district-card:nth-child(4n + 2) { transform: none; }
  .event-overview-grid, .event-detail-hero { grid-template-columns: 1fr; }
  .event-overview-card:first-child { min-height: 330px; grid-row: auto; }
  .plan-overview-grid { grid-template-columns: repeat(2, 1fr); }
  .plan-overview-card { min-height: 220px; }
  .detail-image, .event-detail-photo { height: 290px; min-height: 290px; }
  .detail-main > h2 { font-size: 31px; }
  .fact-grid { grid-template-columns: 1fr 1fr 1fr; }
  .fact-box { padding: 11px; }
  .fact-box strong { font-size: 14px; }
  .detail-gallery { grid-template-columns: 1fr; }
  .detail-gallery img, .detail-gallery img:first-child { height: 180px; min-height: 0; }
  .stay-detail-cards { grid-template-columns: 1fr; }
  .itinerary-summary { min-height: 360px; }
  .itinerary-summary-content { padding: 24px; }
  .route-card { grid-template-columns: 59px 100px minmax(0, 1fr); gap: 13px; }
  .route-card-photo { height: 82px; }
  .route-card h3 { font-size: 18px; }
  .side-nav { grid-template-columns: repeat(2, 1fr); }
}

/* 內頁跟隨試看版的海霧藍色系與較緊湊的頁面節奏。 */
.page-hero-overlay {
  background: linear-gradient(90deg,rgba(17,48,70,.78),rgba(21,57,78,.18)),
    linear-gradient(0deg,rgba(13,40,58,.59),transparent 59%);
}
body[data-page-kind="attractions"] .page-hero-overlay {
  background: linear-gradient(90deg,rgba(17,48,70,.67),rgba(21,57,78,.08)),
    linear-gradient(0deg,rgba(13,40,58,.38),transparent 59%);
}
.page-hero { min-height: 320px; }
.page-hero-content { padding-top: 58px; padding-bottom: 45px; }
.page-hero h1 { font-size: clamp(39px,4.5vw,61px); }
.page-section { padding: 65px 0; }
.listing-intro { gap: 42px; }
.district-card,.plan-overview-card { background: var(--ink-deep); }
.stay-overview-photo span { background: rgba(19,56,79,.84); }
@media (max-width: 760px) {
  .page-hero { min-height: 295px; }
  .page-hero-content { padding-top: 45px; padding-bottom: 35px; }
  .page-section { padding: 52px 0; }
  .listing-intro { gap: 20px; }
}

/* 內頁只同步標題尺度與導言分隔線；版面及內容留待後續細修。 */
.page-hero h1 { font-size: clamp(36px, 3.85vw, 52px); line-height: 1.27; letter-spacing: .035em; }
.listing-intro, .page-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 360px); gap: 34px; align-items: center; }
.listing-intro h2, .page-heading h2 { font-size: clamp(31px, 3.15vw, 43px); line-height: 1.34; letter-spacing: .025em; }
.listing-intro > p, .page-heading > p { max-width: none; padding-left: 23px; border-left: 1px solid var(--line); font-size: 13px; line-height: 1.85; }
.detail-main > h2 { font-size: 34px; }
.event-detail-copy h2 { font-size: 32px; }
body[data-page-kind="events"] .listing-intro,
body[data-page-kind="itinerary"] .listing-intro { margin-bottom: 42px; }
.plan-overview-card:nth-child(3),
.plan-overview-card:nth-child(4) { color: #fff; background: var(--ink-deep); }
.plan-overview-card:nth-child(3) > .plan-overview-image,
.plan-overview-card:nth-child(4) > .plan-overview-image,
.plan-overview-card:nth-child(3):hover > .plan-overview-image,
.plan-overview-card:nth-child(4):hover > .plan-overview-image { opacity: 1; }
.plan-overview-card:nth-child(3)::before,
.plan-overview-card:nth-child(4)::before { z-index: 1; background: linear-gradient(0deg, rgba(10, 37, 56, .91), rgba(11, 42, 62, .28) 88%); }
.plan-overview-card:nth-child(3) > span,
.plan-overview-card:nth-child(4) > span { color: var(--coral-soft); }
.plan-overview-card:nth-child(3) > p,
.plan-overview-card:nth-child(4) > p { color: rgba(255,255,255,.85); }
.plan-overview-card:nth-child(3) > span,
.plan-overview-card:nth-child(4) > span,
.plan-overview-card:nth-child(3) > h3,
.plan-overview-card:nth-child(4) > h3,
.plan-overview-card:nth-child(3) > p,
.plan-overview-card:nth-child(4) > p,
.plan-overview-card:nth-child(3) > i,
.plan-overview-card:nth-child(4) > i { z-index: 2; }
@media (max-width: 760px) {
  .page-hero h1 { font-size: clamp(34px, 7.8vw, 46px); }
  .listing-intro, .page-heading { display: block; }
  .listing-intro > p, .page-heading > p { margin-top: 18px; padding: 14px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .detail-main > h2 { font-size: 30px; }
  .event-detail-copy h2 { font-size: 29px; }
  body[data-page-kind="events"] .listing-intro,
  body[data-page-kind="itinerary"] .listing-intro { margin-bottom: 30px; }
}
