.heritage-icon { width: 22px; height: 22px; flex-shrink: 0; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.heritage-leaf { width: 110px; height: 145px; }
.heritage-favorite { position: absolute; top: 9px; right: 9px; width: 32px; height: 32px; display: grid; place-items: center; color: white; background: #102a2229; border: 0; border-radius: 50%; cursor: pointer; filter: drop-shadow(0 1px 2px #0006); }
.heritage-favorite .heritage-icon { width: 24px; height: 24px; }
.heritage-favorite[aria-pressed='true'] { color: #fff; background: #124a3b; }
.heritage-favorite[aria-pressed='true'] svg { fill: #c8714b; }
.heritage-favorite:focus-visible { outline: 2px solid #b7794a; outline-offset: 3px; }
.heritage-home, .destination-detail { font-family: var(--sans); background: #fdfdfc; color: #161827; }
.heritage-home h1, .heritage-home h2, .heritage-home h3, .destination-detail h1, .destination-detail h2, .destination-detail h3 { font-family: var(--serif); font-weight: 400; letter-spacing: -.025em; }
.reference-footer { background: radial-gradient(ellipse at 20% 35%, #153e32, transparent 65%), #0c342a; color: #f6f7f1; padding: 14px 3.7% 0; font: 12px/1.4 var(--sans); }
.reference-footer a { color: inherit; }
.reference-footer__main { display: grid; grid-template-columns: 1.5fr .85fr 1.02fr 1.05fr 1.08fr; gap: 0; padding-bottom: 22px; max-width: 1560px; margin: auto; }
.reference-footer__logo { display: block; width: 160px; margin-bottom: 18px; }
.reference-footer__logo img { width: 100%; height: auto; }
.reference-footer__logo .site-logo__on-light { display: none; }
.reference-footer__brand { padding-right: 26px; position: relative; }
.reference-footer__brand > p { font: 12px/1.35 var(--sans); }
.reference-footer__column { border-left: 1px solid #dce6da40; display: flex; align-items: flex-start; flex-direction: column; gap: 5px; padding: 0 18px 0 36px; margin-top: 13px; min-width: 0; }
.reference-footer__column > strong { font-weight: 400; margin-bottom: 4px; }
.reference-footer__column > a, .reference-footer__column > span { font-size: 11px; line-height: 1.5; }
.reference-footer__contact a, .reference-footer__contact span { display: flex; align-items: center; gap: 10px; overflow-wrap: anywhere; }
.reference-footer__contact .heritage-icon { width: 14px; height: 14px; }
.reference-footer__note { position: relative; border-left: 1px solid #dce6da40; margin-top: 13px; padding: 0 23px; }
.reference-footer__note p { font: 22px/1.13 var(--script); }
.reference-footer__note .heritage-leaf { position: absolute; width: 65px; height: 94px; bottom: -6px; right: -4px; opacity: .8; }
.reference-social { display: flex; align-items: center; gap: 16px; margin-top: 12px; }
.reference-social a { display: inline-flex; align-items: center; justify-content: center; font: 700 16px var(--sans); height: 17px; min-width: 17px; }
.reference-social svg { height: 16px; width: 16px; fill: currentColor; }
.reference-social svg[fill='none'] { fill: none; }
.reference-footer__bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #dce6da40; max-width: 1560px; margin: auto; padding: 13px 0 17px; font-size: 11px; }
.reference-footer__bottom nav { display: flex; gap: 22px; }
.reference-footer__bottom nav a + a { border-left: 1px solid #dce6da70; padding-left: 22px; }
.reference-footer--home { padding: 15px 5.5% 0; }
.reference-footer--home .reference-footer__main { grid-template-columns: 2.2fr 1.05fr .95fr .82fr .95fr .85fr; padding-bottom: 24px; }
.reference-footer--home .reference-footer__column { border: 0; padding: 0 8px; }
.reference-footer--home .reference-footer__brand { padding-right: 75px; }
.reference-footer--home .reference-footer__brand .heritage-leaf { position: absolute; width: 85px; height: 130px; right: 15px; top: 0; opacity: .7; }
.reference-footer--home .reference-footer__note { padding: 0 12px; }
.reference-footer--home .reference-footer__note p { font-size: 20px; }
.reference-footer--home .reference-social { gap: 9px; margin-top: 7px; }
@media (max-width: 760px) {
  .reference-footer { padding: 28px 22px 0; }
  .reference-footer__main, .reference-footer--home .reference-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 15px; }
  .reference-footer__brand { grid-column: 1 / -1; }
  .reference-footer__column, .reference-footer--home .reference-footer__column { margin: 0; padding: 0; border: 0; }
  .reference-footer__column > a, .reference-footer__column > span, .reference-footer__brand > p { font-size: 13px; }
  .reference-footer__note { margin: 0; padding: 0; border: 0; min-height: 115px; }
  .reference-footer__note p { font-size: 25px; }
  .reference-footer__bottom { flex-direction: column; gap: 12px; }
  .reference-footer--home .reference-footer__brand .heritage-leaf { right: 5px; }
  .heritage-favorite { min-width: 36px; min-height: 36px; }
}

.heritage-date { position: relative; display: block; min-height: 22px; font: inherit; }
.heritage-date input[type='date'] { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; }
.heritage-date input[type='date']::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.heritage-date:focus-within { outline: 2px solid #b88042; outline-offset: 3px; }
