/* Complete the existing Noto Sans subset for visible copy and image descriptions. */
@font-face { font-family: KawachiSans; src: url('/assets/site-glyphs-regular-v6.woff') format('woff'); font-weight: 400 500; font-display: swap; unicode-range: U+5230, U+5CB8, U+5F8C, U+5FD8, U+6B63, U+6CD5, U+8D8A; }
@font-face { font-family: KawachiSans; src: url('/assets/site-glyphs-bold-v6.woff') format('woff'); font-weight: 600 900; font-display: swap; unicode-range: U+5230, U+5CB8, U+5F8C, U+5FD8, U+6B63, U+6CD5, U+8D8A; }
/* An unhurried photographic journal, sharing the page's content edges. */
.holiday-intro { background: var(--theme-air); }
.holiday-intro > .anniversary-note,
.holiday-intro > .about,
.holiday-intro > .holiday-journal { background: transparent; }
.holiday-intro > .about::before {
  background-image: var(--bg-water);
  opacity: .1;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 55%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 55%, transparent);
}
@supports not ((mask-image: linear-gradient(#000, transparent)) or (-webkit-mask-image: linear-gradient(#000, transparent))) {
  .holiday-intro > .about::before { display: none; }
}
.holiday-journal { position: relative; isolation: isolate; padding-top: 4px; padding-bottom: 88px; background: var(--theme-air); }
.holiday-journal a { display: block; min-width: 0; color: var(--ink); }
.holiday-journal figure { position: relative; overflow: hidden; background: #dce5da; }
.holiday-journal figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.holiday-journal a:hover figure img { transform: scale(1.025); }
.holiday-journal a:focus-visible { outline: 3px solid var(--theme-focus); outline-offset: 7px; border-radius: 4px; }
.journal-nature { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); padding-bottom: 28px; }
.journal-nature::before { content: ''; position: absolute; inset: 12% 1% 0 32%; z-index: -1; background: radial-gradient(ellipse at 35% 48%, var(--theme-glow-1), transparent 70%); filter: blur(32px); opacity: .65; pointer-events: none; }
.journal-ride { grid-area: 1 / 1; width: 76%; align-self: start; }
.journal-ride figure { aspect-ratio: 1.95; border-radius: 6px 70px 6px 6px; }
.journal-ride img { object-position: 50% 50%; }
.journal-ride .journal-copy { max-width: 70%; }
.journal-stroll { position: relative; grid-area: 1 / 1; align-self: start; justify-self: end; margin-top: 8%; width: 28%; }
.journal-stroll figure { aspect-ratio: .86; border: 8px solid var(--theme-air-1); border-radius: 5px 5px 48px 5px; }
.journal-stroll img { object-position: 50% 50%; }
.journal-copy { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 40px; column-gap: 14px; padding-top: 19px; }
.journal-label { grid-column: 1; font-size: 13px; line-height: 1.8; letter-spacing: .06em; color: #49665c; }
.journal-label b { margin-right: 12px; font: italic 17px Georgia, serif; color: #658278; }
.journal-copy h3 { grid-column: 1; margin-top: 6px; font-size: clamp(24px, 2.65vw, 36px); line-height: 1.6; letter-spacing: .04em; text-wrap: balance; }
.journal-arrow { display: grid; place-items: center; grid-column: 2; grid-row: 1 / 3; align-self: center; width: 38px; height: 38px; border: 1px solid #8ca89b; border-radius: 50%; font: 23px/1 var(--sans); transition: background .2s, color .2s; }
.holiday-journal a:hover .journal-arrow { background: var(--ink); color: white; }
.journal-stroll .journal-copy { padding-top: 12px; padding-inline: 8px 0; grid-template-columns: minmax(0, 1fr) 32px; gap: 0 7px; }
.journal-stroll .journal-copy h3 { font-size: clamp(19px, 1.9vw, 25px); margin-top: 4px; }
.journal-stroll .journal-arrow { width: 30px; height: 30px; font-size: 19px; }
/* Two composed stories: a lead photograph with a related inset. */
.journal-escapes { display: grid; gap: 78px; margin-top: 48px; }
.journal-pair { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
.journal-pair > a { grid-area: 1 / 1; align-self: start; }
.journal-pair .journal-copy h3 span { display: inline-block; }
.journal-night { width: 80%; justify-self: end; }
.journal-food { position: relative; z-index: 2; width: 36%; justify-self: start; margin-top: 18%; }
.journal-stay { width: 76%; justify-self: start; }
.journal-unwind { position: relative; z-index: 2; width: 34%; justify-self: end; margin-top: 24%; }
.journal-night figure { aspect-ratio: 2; border-radius: 6px 6px 70px 6px; }
.journal-night img { object-position: 50% 50%; }
.journal-food figure { aspect-ratio: 1.5; border: 8px solid var(--theme-air-1); border-radius: 6px 6px 6px 48px; }
.journal-food img { object-position: 50% 50%; }
.journal-stay figure { aspect-ratio: 1.65; border-radius: 6px 70px 6px 6px; }
.journal-stay img { object-position: 50% 50%; }
.journal-unwind figure { aspect-ratio: 1.5; border: 8px solid var(--theme-air-1); border-radius: 6px 6px 48px 6px; }
.journal-unwind img { object-position: 50% 50%; }
.journal-night .journal-copy { width: 63%; margin-left: auto; }
.journal-stay .journal-copy { width: 61%; }
.journal-food .journal-copy, .journal-unwind .journal-copy { padding-top: 12px; padding-inline: 8px 0; grid-template-columns: minmax(0, 1fr) 32px; gap: 0 7px; }
.journal-food .journal-copy h3, .journal-unwind .journal-copy h3 { font-size: clamp(19px, 1.9vw, 26px); margin-top: 4px; }
.journal-food .journal-arrow, .journal-unwind .journal-arrow { width: 30px; height: 30px; font-size: 19px; }
@media (max-width: 1000px) and (min-width: 701px) {
  .holiday-journal { padding-bottom: 66px; }
  .journal-ride { width: 77%; }
  .journal-ride figure { aspect-ratio: 1.65; }
  .journal-stroll { margin-top: 12%; width: 30%; }
  .journal-stroll figure { aspect-ratio: .8; border-width: 6px; }
  .journal-copy { grid-template-columns: minmax(0, 1fr) 32px; gap: 10px; padding-top: 14px; }
  .journal-copy h3 { font-size: 27px; }
  .journal-arrow { width: 30px; height: 30px; font-size: 19px; }
  .journal-stroll .journal-copy h3 { font-size: 19px; }
  .journal-escapes { gap: 64px; margin-top: 42px; }
  .journal-food figure, .journal-unwind figure { border-width: 6px; }
}
@media (max-width: 700px) {
  .holiday-journal { padding-top: 0; padding-bottom: 54px; }
  .journal-nature { padding-bottom: 0; }
  .journal-ride { width: 100%; }
  .journal-ride figure { aspect-ratio: 1.48; border-radius: 5px 45px 5px 5px; }
  .journal-ride img { object-position: 50% 50%; }
  .journal-ride .journal-copy { max-width: 52%; grid-template-columns: minmax(0, 1fr); padding-top: 17px; padding-bottom: 0; }
  .journal-copy h3 { font-size: clamp(22px, 5.8vw, 30px); line-height: 1.65; letter-spacing: .02em; margin-top: 6px; }
  .journal-label { font-size: 13px; letter-spacing: 0; }
  .journal-label b { margin-right: 7px; font-size: 16px; }
  .journal-ride .journal-arrow { position: static; grid-column: 1; grid-row: 3; margin-top: 12px; width: 28px; height: 28px; font-size: 18px; }
  .journal-stroll { margin-top: 56%; width: 45%; }
  .journal-stroll figure { aspect-ratio: .8; border-width: 5px; border-radius: 4px 4px 30px 4px; }
  .journal-stroll .journal-copy { padding-top: 8px; padding-left: 5px; display: block; }
  .journal-stroll .journal-copy h3 { font-size: clamp(17px, 4.5vw, 24px); line-height: 1.6; margin-top: 4px; }
  .journal-stroll .journal-arrow { display: none; }
  .journal-escapes { gap: 58px; margin-top: 60px; }
  .journal-night, .journal-stay { width: 100%; }
  .journal-food, .journal-unwind { width: 49%; margin-top: 46%; }
  .journal-night figure { aspect-ratio: 1.75; border-bottom-right-radius: 42px; }
  .journal-stay figure { aspect-ratio: 1.65; border-top-right-radius: 42px; }
  .journal-food figure, .journal-unwind figure { aspect-ratio: 1.5; border-width: 5px; border-radius: 5px 5px 5px 30px; }
  .journal-unwind figure { border-radius: 5px 5px 30px 5px; }
  .journal-pair .journal-copy { display: block; padding-top: 14px; }
  .journal-night .journal-copy { width: 47%; margin-left: auto; }
  .journal-stay .journal-copy { width: 47%; }
  .journal-pair .journal-copy h3 span { display: block; }
  .journal-food .journal-copy, .journal-unwind .journal-copy { padding: 8px 4px 0; }
  .journal-food .journal-copy h3, .journal-unwind .journal-copy h3 { font-size: clamp(17px, 4.5vw, 24px); line-height: 1.6; margin-top: 4px; }
  .journal-pair .journal-arrow { width: 28px; height: 28px; font-size: 18px; margin-top: 10px; }
}
:root[data-motion="paused"] .holiday-journal img { transition: none; transform: none; }
@media (prefers-reduced-motion: reduce) { .holiday-journal img, .journal-arrow { transition: none; } .holiday-journal a:hover img { transform: none; } }
@media (forced-colors: active) { .journal-nature::before { display: none; } .holiday-journal figure { border: 1px solid CanvasText; } .journal-arrow { border-color: CanvasText; } }
@media (forced-colors: active) { .holiday-intro { background: Canvas; } .holiday-intro > .about::before { display: none; } }
@media print { .holiday-intro { background: white; } .holiday-intro > .about::before { display: none; } }
