/* Room comparison and links: deliberately scoped to the room pages. */
.roomCompareEntry,
.roomCompareBack {
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}
.roomsHero .roomCompareEntry {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 24px;
  margin-top: 24px;
  border-bottom: 1px solid currentColor;
  padding: 8px 0;
  font-size: 15px;
  line-height: 1.7;
}
.roomsHero > p:not(.eyebrow) {
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: 15px;
  line-height: 2;
}
.roomCompare {
  scroll-margin-top: 110px;
  padding: 100px max(25px, 6vw) 110px;
  background: #eee7dc;
  color: #293d32;
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}
.roomCompareHeading,
.roomCompareGrid,
.roomCompareFootnote {
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
}
.roomCompareHeading { margin-bottom: 48px; }
.roomCompareHeading h2 {
  margin: 18px 0 24px;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(32px, 3.6vw, 48px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .04em;
}
.roomCompareHeading > p:last-child { font-size: 16px; line-height: 2; }
.roomCompareGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}
.roomCompareCard {
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: #faf7f1;
  border: 1px solid #d6cbbb;
}
.roomCompareCardFeatured { border-color: #7f8e78; }
.roomCompareCard figure { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; }
.roomCompareCard figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
}
.roomCompareCopy { display: flex; flex: 1; flex-direction: column; padding: 32px; }
.roomCompareBadge {
  align-self: flex-start;
  margin: 0 0 27px;
  padding: 8px 13px;
  background: #e7e9df;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.7;
}
.roomCompareCardFeatured .roomCompareBadge { color: #fff; background: #314a3b; }
.roomCompareEyebrow { margin: 0 0 9px; font: 11px/1.7 Georgia, serif; letter-spacing: .15em; color: #8b533d; }
.roomCompareCopy h3 {
  margin: 0 0 20px;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.5;
  scroll-margin-top: 110px;
}
.roomCompareCatch {
  margin: 0 0 20px;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(23px, 2vw, 28px);
  line-height: 1.65;
}
.roomCompareDescription { margin: 0 0 28px; font-size: 16px; line-height: 2; }
.roomCompareCopy dl { margin: auto 0 20px; border-top: 1px solid #d9d0c2; }
.roomCompareCopy dl > div {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid #d9d0c2;
  font-size: 14px;
  line-height: 1.85;
}
.roomCompareCopy dt { color: #596b5f; }
.roomCompareCopy dd { margin: 0; overflow-wrap: anywhere; }
.roomCompareNote { margin: 0 0 26px; font-size: 14px; line-height: 1.9; color: #546458; }
.roomCompareDetail {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 16px 0 5px;
  border-bottom: 1px solid #657863;
  font-size: 15px;
  line-height: 1.8;
}
.roomCompareFootnote { margin-top: 32px; font-size: 14px; line-height: 1.95; color: #546458; }
.roomCompareFootnote p { margin: 12px 0 0; }
.roomCompareFootnote a { border-bottom: 1px solid currentColor; }
.roomsNext .roomCompareBack {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 26px auto 0;
  padding-bottom: 6px;
  border-bottom: 1px solid #ffffff80;
  font-size: 15px;
  line-height: 1.8;
}
.mainRoomFeatureHeading[id] { scroll-margin-top: 110px; }
.roomCompare a:focus-visible,
.roomCompareEntry:focus-visible,
.roomCompareBack:focus-visible { outline: 3px solid #b96b46; outline-offset: 6px; }
@media (max-width: 760px) {
  .roomCompare { padding: 70px 20px 76px; scroll-margin-top: 85px; }
  .roomCompareHeading { margin-bottom: 32px; }
  .roomCompareHeading > p:last-child br { display: none; }
  .roomCompareGrid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .roomCompareCopy { padding: 26px 22px 30px; }
  .roomCompareBadge { font-size: 13px; margin-bottom: 22px; }
  .roomCompareCopy h3 { font-size: 29px; }
  .roomCompareCatch { font-size: 25px; }
  .roomCompareCopy dl > div { grid-template-columns: 62px minmax(0, 1fr); gap: 10px; }
  .roomCompareFootnote { margin-top: 25px; }
  .mainRoomFeatureHeading[id] { scroll-margin-top: 85px; }
}

/* Compact room summary before the photo cards. */
.roomQuickCompare{max-width:1280px;margin:0 auto 32px}.roomQuickCompare h3{margin:0 0 12px;font-size:24px;line-height:1.6}.roomQuickScrollHint,.roomQuickNote{font-size:13px;line-height:1.8;margin:10px 0 16px;color:#546458}.roomQuickScroll{overflow-x:auto;border:1px solid #cfc6b7;border-radius:8px;background:#faf7f1;-webkit-overflow-scrolling:touch}.roomQuickScroll:focus-visible{outline:3px solid #b96b46;outline-offset:4px}.roomQuickTable{width:100%;min-width:780px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:14px;line-height:1.8}.roomQuickTable caption{text-align:left;padding:14px 18px;font-weight:600;background:#faf7f1}.roomQuickTable th,.roomQuickTable td{padding:15px 16px;text-align:left;vertical-align:top;border-top:1px solid #d9d0c2;border-right:1px solid #d9d0c2;overflow-wrap:anywhere}.roomQuickTable th:last-child,.roomQuickTable td:last-child{border-right:0}.roomQuickTable thead th{background:#314a3b;color:#fff;font-weight:600}.roomQuickTable th:first-child{width:112px;position:sticky;left:0;z-index:1}.roomQuickTable tbody th{background:#e7e9df;font-weight:600}.roomQuickTable td{background:#faf7f1}.roomQuickTable a{color:inherit;text-decoration:underline;text-underline-offset:4px}.roomQuickTable small{font-size:12px;line-height:1.7;display:inline-block;color:#546458}.roomQuickNote a{border-bottom:1px solid currentColor}.roomQuickCompare+.roomCompareFootnote{margin-bottom:28px}
@media(max-width:760px){.roomQuickCompare h3{font-size:21px}.roomQuickTable{min-width:740px;font-size:13px}.roomQuickTable th,.roomQuickTable td{padding:12px}.roomQuickTable th:first-child{width:88px}.roomQuickScrollHint{margin-bottom:12px}}

/* Key booking information beside the room choice. */
.roomBookingEssentials{max-width:1280px;box-sizing:border-box;margin:28px auto 32px;padding:28px;background:#f7f5ee;border:1px solid #d6cbbb;border-radius:10px}.roomBookingEssentials h3{margin:0 0 22px;font-size:22px;line-height:1.6}.roomBookingEssentialsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px}.roomBookingEssentialsGrid article{min-width:0;padding:0 0 20px;border-bottom:1px solid #ded7ca;display:flex;flex-direction:column;align-items:flex-start}.roomBookingEssentialsGrid h4{margin:0 0 8px;font-size:17px;line-height:1.6}.roomBookingEssentialsGrid p{margin:0 0 12px;font-size:14px;line-height:1.9}.roomBookingEssentialsGrid a{margin-top:auto;font-size:14px;line-height:1.8;border-bottom:1px solid currentColor}.roomBookingSelectionNote{margin:20px 0 0;font-size:13px;line-height:1.95;color:#546458}
@media(max-width:760px){.roomBookingEssentials{padding:22px 20px;margin:24px auto 28px}.roomBookingEssentials h3{font-size:20px}.roomBookingEssentialsGrid{grid-template-columns:minmax(0,1fr);gap:20px}}
