@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/open-sans-400.woff") format("woff");
}

@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/open-sans-700.woff") format("woff");
}

@font-face {
  font-family: "Arvo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/arvo-400.woff") format("woff");
}

:root {
  --rhi-wide: 1170px;
  --rhi-content: 1140px;
  --rhi-gutter: 15px;
  --rhi-body: #5c5c5c;
  --rhi-ink: #000;
  --rhi-paper: #fff;
  --rhi-soft: #f7f5f5;
  --rhi-hero: #232323;
  --rhi-heading: #d21010;
  --rhi-border: rgba(136, 136, 136, .3);
  --rhi-focus: #005fcc;
  --rhi-body-font: "Open Sans", Arial, Helvetica, sans-serif;
  --rhi-heading-font: "Arvo", Georgia, "Times New Roman", serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto; }
body {
  margin: 0;
  color: var(--rhi-body);
  background: var(--rhi-paper);
  font-family: var(--rhi-body-font);
  font-size: 16px;
  line-height: 1.65;
}
img, video, iframe { max-width: 100%; }
img { height: auto; }
a { color: var(--rhi-ink); text-underline-offset: .16em; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--rhi-focus); outline-offset: 3px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: 1rem; left: 1rem; width: auto; height: auto; margin: 0; padding: .75rem 1rem; overflow: visible; clip: auto; color: #fff; background: #000; }
.site-shell { min-height: 100vh; display: flex; flex-direction: column; }
.site-container { width: calc(100% - 30px); max-width: var(--rhi-wide); margin-inline: auto; }

/* Shared captured shell. */
.site-header { position: relative; z-index: 20; color: #5d5d5d; background: #fff; }
.site-header--transparent { position: absolute; inset: 0 0 auto; color: #fff; background: transparent; }
.site-topbar { min-height: 38px; padding: 5px 0; background: rgba(0, 0, 0, .03); }
.site-header--transparent .site-topbar { background: rgba(255, 255, 255, .1); }
.site-topbar__inner { display: flex; align-items: center; justify-content: space-between; }
.site-topbar__greeting, .site-contact-link { margin: 0; font-size: 12px; line-height: 26px; color: inherit; }
.site-topbar__links { display: flex; align-items: center; justify-content: flex-end; }
.site-contact-link { display: inline-flex; align-items: center; gap: 6px; padding: 0 10px; text-decoration: none; }
.site-contact-link:last-child { padding-right: 0; }
.site-icon, .rhi-icon { display: inline-block; width: 15px; height: 15px; flex: 0 0 15px; vertical-align: -.18em; }
.site-nav-row { min-height: 105px; background: #fff; }
.site-header--transparent .site-nav-row { background: transparent; }
.site-nav-row__inner { min-height: 105px; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-top: 20px; }
.site-branding__logo, .site-branding__logo img { display: block; }
.site-branding__logo img, .site-branding__logo .custom-logo { width: 103px; height: 45px; object-fit: contain; }
.primary-navigation { margin-left: auto; }
.primary-menu { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.primary-menu a { position: relative; display: block; margin: 0 15px; padding: 15px 0; color: #333; font-size: 16px; line-height: 26px; text-decoration: none; }
.site-header--transparent .primary-menu a { color: #fff; }
.primary-menu a::after { position: absolute; right: 0; bottom: 12px; left: 0; height: 1px; content: ""; background: transparent; }
.primary-menu a:hover::after, .primary-menu .current-menu-item > a::after { background: currentColor; }
.menu-toggle { display: none; appearance: none; border: 0; padding: 8px; color: currentColor; background: transparent; cursor: pointer; }
.menu-toggle__bars { display: grid; gap: 4px; width: 21px; }
.menu-toggle__bars span { display: block; height: 1px; background: currentColor; }

/* Main layout and editable block content. */
.site-main { flex: 1; width: 100%; padding-block: 40px; }
.site-main--front,
.rhi-main--home,
.rhi-main--rooms,
.rhi-main--breakfast-and-catering,
.rhi-main--policies,
.rhi-main--reviews,
.rhi-main--contact,
.rhi-main--blog { padding-block: 0; }
.rhi-content { width: 100%; max-width: none; margin-inline: auto; }
.rhi-content > p, .rhi-content > ul, .rhi-content > ol, .rhi-content > h1, .rhi-content > h2, .rhi-content > h3, .rhi-content > h4, .rhi-content > figure, .rhi-content > .wp-block-image { width: min(calc(100% - 30px), var(--rhi-content)); margin-right: auto; margin-left: auto; }
.rhi-content > .alignwide, .rhi-content > .wp-block-gallery, .rhi-content > .rhi-wide { width: min(calc(100% - 30px), var(--rhi-content)); margin-right: auto; margin-left: auto; }
.rhi-content > .alignfull, .rhi-content > .rhi-full { width: 100%; max-width: none; }
.rhi-content p { margin-top: 0; margin-bottom: 1em; }
.rhi-content h1, .rhi-content h2, .rhi-content h3, .rhi-content h4, .entry-title { font-family: var(--rhi-heading-font); font-weight: 400; line-height: 1.15; }
.rhi-content a { color: #000; }
.rhi-entry-header { width: calc(100% - 30px); max-width: var(--rhi-content); margin: 0 auto; padding: 60px 0; border-bottom: 1px solid #e6e6e6; }
.entry-title { margin: 0; color: #000; font-size: clamp(2.5rem, 5vw, 3.25rem); }

/* Hero blocks are built in page content and remain editable. */
.rhi-hero { position: relative; display: flex; align-items: center; justify-content: center; min-height: 500px; overflow: hidden; color: #fff; background-color: var(--rhi-hero); background-position: center; background-size: cover; }
.rhi-content > .rhi-hero,
.rhi-content > .wp-block-cover.rhi-hero,
.rhi-contact-route > .rhi-hero,
.rhi-blog-content > .rhi-hero { width: 100%; max-width: none; margin: 0; }
.rhi-hero.wp-block-cover { padding: 0; }
.rhi-hero .wp-block-cover__inner-container { width: min(calc(100% - 30px), var(--rhi-content)); margin-inline: auto; }
.rhi-hero::after { position: absolute; inset: 0; z-index: 1; content: ""; background: #000; opacity: .25; pointer-events: none; }
.rhi-hero > * { position: relative; z-index: 1; }
.rhi-hero > .wp-block-cover__image-background { z-index: 0; }
.rhi-hero > .wp-block-cover__inner-container { z-index: 2; }
.rhi-hero__inner, .rhi-hero .wp-block-cover__inner-container { width: min(calc(100% - 30px), var(--rhi-content)); margin-inline: auto; }
.rhi-hero--rooms, .rhi-hero--breakfast, .rhi-hero--breakfast-and-catering { min-height: 700px; }
.rhi-hero--contact { min-height: 700px; }
.rhi-hero--blog { min-height: 45vh; }
.rhi-hero--rooms { background-image: url("../images/hero-rooms.jpg"); }
.rhi-hero--breakfast, .rhi-hero--breakfast-and-catering { background-image: url("../images/hero-breakfast.jpg"); }
.rhi-hero--contact { background-image: url("../images/hero-contact.jpg"); }
.rhi-hero--blog { background-image: url("../images/hero-blog.jpg"); }
.rhi-hero--rooms::after { opacity: .39; }
.rhi-hero--breakfast::after { opacity: .19; }
.rhi-hero--contact::after { opacity: .4; }
.rhi-hero--blog::after { opacity: .21; }
.rhi-home-hero { min-height: 700px; padding: 55px 10px; background: var(--rhi-hero); }
.rhi-home-hero::after { opacity: .2; }
.rhi-home-hero img { display: block; width: min(1200px, 100%); max-height: 590px; margin: auto; object-fit: contain; }
.rhi-content > .rhi-home-hero { width: 100%; max-width: none; margin: 0; }

/* Homepage rows. Keep the section backgrounds full width while constraining
 * editable inner content to the captured 1140px route width. */
.rhi-home-intro { min-height: 467px; background: var(--rhi-soft); }
.rhi-home-intro__inner, .rhi-home-row__inner, .rhi-home-owners__inner, .rhi-home-rooms__inner { width: min(calc(100% - 60px), var(--rhi-content)); margin-inline: auto; }
.rhi-home-intro__inner, .rhi-home-row__inner, .rhi-home-owners__inner, .rhi-home-rooms__inner,
.rhi-home-intro.rhi-two-column, .rhi-home-owners.rhi-two-column, .rhi-home-rooms.rhi-two-column,
.rhi-home-row.rhi-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rhi-home-intro.rhi-two-column { width: 100%; padding-inline: max(15px, calc((100% - var(--rhi-content)) / 2)); }
.rhi-home-intro.rhi-two-column > .rhi-home-intro__inner,
.rhi-home-owners.rhi-two-column > .rhi-home-row__inner,
.rhi-home-owners.rhi-two-column > .rhi-home-owners__inner,
.rhi-home-rooms.rhi-two-column > .rhi-home-row__inner,
.rhi-home-rooms.rhi-two-column > .rhi-home-rooms__inner { grid-column: 1 / -1; }
.rhi-home-intro__inner { min-height: inherit; align-items: center; }
.rhi-home-intro__copy, .rhi-home-intro__media { display: flex; align-items: center; }
.rhi-home-intro__copy { height: 100%; padding: 0; }
.rhi-home-intro__media { align-self: stretch; height: 100%; padding: 0 30px; }
.rhi-home-intro__copy { flex-direction: column; align-items: flex-start; justify-content: center; }
.rhi-home-intro-copy { padding: 0; }
.rhi-home-intro__inner > * { margin-block-start: 0; }
.rhi-home-video { display: block; width: 100%; max-width: 510px; aspect-ratio: 16 / 9; margin-inline: auto; }
.rhi-home-video:empty { background: #000; }
.rhi-home-intro__media iframe, .rhi-home-video iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.rhi-home-video iframe { height: 100%; }
.rhi-home-policy-link { grid-column: 1; }
.rhi-home-owners, .rhi-home-rooms, .rhi-home-row { width: 100%; background: #fff; }
.rhi-home-owners { min-height: 429.46875px; }
.rhi-home-rooms { min-height: 446.25px; }
.rhi-home-row__image, .rhi-home-row__copy,
.rhi-home-row__media,
.rhi-home-owners__image, .rhi-home-owners__copy,
.rhi-home-rooms__image, .rhi-home-rooms__copy { display: flex; align-items: center; padding: 10px; }
.rhi-home-row__image { align-items: flex-start; }
.rhi-home-row__image img, .rhi-home-owners-image img, .rhi-home-rooms-image img,
.rhi-home-owners__image img, .rhi-home-rooms__image img { display: block; width: 100%; height: auto; margin-inline: auto; }
.rhi-home-row__copy, .rhi-home-owners-copy, .rhi-home-rooms-copy,
.rhi-home-owners__copy, .rhi-home-rooms__copy { flex-direction: column; align-items: flex-start; justify-content: flex-start; margin-block-start: 0; }
.rhi-home-owners-image, .rhi-home-rooms-image { margin: 0; padding: 0; }
.rhi-home-row__copy p { margin-bottom: 10px; }
.rhi-home-map, .rhi-map-embed { width: 100%; max-width: none; min-height: 320px; margin: 0; padding: 10px max(40px, calc((100% - 1120px) / 2)); }
.rhi-home-map iframe, .rhi-map-embed iframe { display: block; width: 100%; min-height: 300px; border: 0; }

/* Gallery, contact, and route-specific content classes. */
.rhi-gallery,
.rhi-gallery.has-nested-images { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; width: min(calc(100% - 30px), var(--rhi-content)); margin: 0 auto; padding: 0; list-style: none; }
.rhi-gallery figure, .rhi-gallery .wp-block-image,
.rhi-gallery.has-nested-images figure.wp-block-image { width: 100% !important; max-width: none; min-width: 0; margin: 0; flex: none !important; }
.rhi-gallery img { display: block; width: 100%; height: auto; }
.rhi-gallery.is-cropped img { aspect-ratio: 4 / 3; object-fit: cover; }
.rhi-route-rooms .rhi-page-section-title,
.rhi-route-rooms .rhi-page-intro,
.rhi-route-rooms .rhi-gallery,
.rhi-route-breakfast-and-catering .rhi-page-section-title,
.rhi-route-breakfast-and-catering .rhi-breakfast-quote,
.rhi-route-breakfast-and-catering .rhi-gallery {
  width: min(calc(100% - 80px), 1120px);
}
.rhi-route-rooms .rhi-page-section-title,
.rhi-route-breakfast-and-catering .rhi-page-section-title {
  margin: 10px auto 20px;
  font-size: 35px;
  line-height: 35px;
}
.rhi-content .rhi-page-intro { margin-bottom: 30px; }
.rhi-route-rooms .rhi-gallery,
.rhi-route-breakfast-and-catering .rhi-gallery { gap: 20px; }
.rhi-breakfast-quote { margin: 0 auto 22px; padding: 0; border: 0; text-align: center; }
.rhi-breakfast-quote p { margin: 0 0 20px; font-size: 24px; line-height: 39.6px; }
.rhi-breakfast-quote cite { display: block; margin: 0; font-size: 37px; font-style: normal; line-height: 55.5px; text-align: center; }
.rhi-breakfast-quote cite a { font: inherit; text-decoration: none; }
.rhi-route-rooms .rhi-entry-title, .rhi-route-breakfast-and-catering .rhi-entry-title, .rhi-route-contact .rhi-entry-title,
.rhi-page-section-title, .rhi-contact-title, .rhi-page-heading { color: var(--rhi-heading); text-align: center; }
.rhi-page-section-title, .rhi-contact-title { width: min(calc(100% - 30px), var(--rhi-content)); margin: 0 auto 18px; font-size: clamp(1.6rem, 3vw, 2.25rem); font-weight: 400; }
.rhi-page-intro, .rhi-policies-content, .rhi-reviews-empty, .rhi-blog-content, .rhi-contact-content { width: min(calc(100% - 30px), var(--rhi-content)); margin-inline: auto; }
.rhi-page-intro { margin-bottom: 20px; }
.rhi-columns, .rhi-contact-intro { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(calc(100% - 30px), var(--rhi-content)); margin-inline: auto; }
.rhi-columns > *, .rhi-contact-intro > * { min-width: 0; padding: 0 20px; }
.rhi-contact-route, .rhi-contact-route > .rhi-contact-content,
.rhi-content--contact > .rhi-contact-content {
  display: flow-root;
  width: 100%;
  max-width: none;
  margin-inline: auto;
  padding: 80px 0 19px;
}
.rhi-route-contact .rhi-contact-title {
  width: min(calc(100% - 80px), 1120px);
  margin: 0 auto;
  font-size: 35px;
  line-height: 35px;
}
.rhi-contact-intro {
  align-items: start;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto;
  column-gap: 20px;
  width: min(calc(100% - 80px), 1120px);
  margin-top: 20px;
}
.rhi-contact-intro > .rhi-contact-sign { grid-column: 1; grid-row: 1; width: 100%; max-width: 605px; margin: 0; padding: 0; }
.rhi-contact-intro > .rhi-contact-sign img { display: block; width: 100%; height: auto; }
.rhi-contact-intro > .rhi-contact-copy {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.rhi-contact-intro > .rhi-contact-copy:nth-of-type(2) { margin-top: 89.171875px; }
.rhi-contact-intro > .rhi-contact-copy:nth-of-type(3) { margin-top: 178.34375px; }
.rhi-contact-intro > .rhi-contact-copy:nth-of-type(4) { margin-top: 214.734375px; }
.rhi-contact-map { width: min(calc(100% - 80px), 1120px); min-height: 300px; margin: 90px auto 0; }
.rhi-contact-map iframe { display: block; width: 100%; min-height: 300px; border: 0; }
.rhi-contact-awards { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; width: min(calc(100% - 100px), 821px); margin: 30px auto 0; }
.rhi-contact-awards > .wp-block-image { width: 100% !important; min-width: 0; margin: 0; }
.rhi-contact-awards img { display: block; width: 100%; height: auto; }
.rhi-contact-hero, .rhi-blog-hero { width: 100%; max-width: none; margin: 0; }
.rhi-contact-hero img, .rhi-blog-hero img { display: block; width: 100%; height: 700px; object-fit: cover; }
.rhi-route-policies .rhi-entry-header,
.rhi-route-reviews .rhi-entry-header {
  width: min(calc(100% - 30px), 1170px);
  max-width: none;
  padding: 60px 15px;
}
.rhi-route-policies .entry-title,
.rhi-route-reviews .entry-title { font-size: 56px; line-height: 67.2px; }
.rhi-policies-content {
  width: min(calc(100% - 30px), 1170px);
  min-height: 0;
  padding: 40px 15px;
}
.rhi-policies-content p { margin: 0 0 10px; line-height: 26.4px; }
.rhi-reviews-empty {
  width: min(calc(100% - 30px), 1170px);
  min-height: 0;
  padding: 40px 15px;
}
.rhi-blog-content { width: 100%; max-width: none; }
.rhi-blog-spacer { height: 89px !important; }

/* Shared footer. Theme headings intentionally remain white on white, matching capture. */
.site-footer { margin-top: 10px; color: #000; background: #fff; }
.rhi-route-home .site-footer,
.rhi-route-policies .site-footer,
.rhi-route-reviews .site-footer,
.rhi-route-blog .site-footer,
.rhi-route-contact .site-footer { margin-top: 0; }
.site-footer__inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding-top: 69px; padding-bottom: 10px; }
.site-footer__column { min-width: 0; padding: 10px 15px 40px; }
.site-footer__widget { min-height: 0; padding-top: 0; border-top: 1px solid var(--rhi-border); }
.site-footer__title { margin: 0 0 26px; padding: 0 0 22px; border-bottom: 1px solid var(--rhi-border); color: #fff; font-family: var(--rhi-heading-font); font-size: 18px; font-weight: 400; line-height: 21.6px; }
.site-footer p, .site-footer a, .site-footer span { color: #000; font-size: 14px; line-height: 1.6; }
.site-footer p { margin: 0; }
.site-footer__contact { display: grid; gap: 8px; }
.site-footer__contact a { display: flex; align-items: flex-start; gap: 8px; text-decoration: none; }
.site-footer__contact .rhi-icon { width: 15px; height: 15px; margin-top: 4px; }
.site-footer__widget--social { margin-top: 40px; }
.site-footer__column--about .site-footer__widget { min-height: 186.0625px; }
.site-footer__column--contact > .site-footer__widget:first-child { min-height: 165.59375px; }
.site-footer__column--contact .site-footer__widget--social { min-height: 102.59375px; }
.site-footer__column--payments .site-footer__widget { min-height: 124.984375px; }
.site-footer__social { display: flex; align-items: center; gap: 0; margin-left: -8px; }
.site-footer__social a { display: inline-flex; }
.site-footer__social .rhi-icon { width: 28px; height: 28px; flex: 0 0 28px; }
.site-footer__social .rhi-icon--facebook,
.site-footer__social .rhi-icon--google { fill: currentColor; stroke: none; }
.site-footer__social .rhi-icon--tripadvisor { stroke-width: 2.2; }
.site-footer__payments { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.site-footer__payments a { display: inline-block; padding: 4px 8px; border: 1px solid var(--rhi-border); text-decoration: none; }

@media (min-width: 48rem) and (max-width: 74.99rem) {
  .site-container { width: 750px; }
  .site-nav-row, .site-nav-row__inner { min-height: 175px; }
  .site-nav-row__inner { position: relative; display: block; }
  .primary-navigation { position: absolute; right: 0; bottom: 0; }
  .rhi-home-hero { min-height: 0; padding: 10px; }
  .rhi-home-intro { min-height: 515.03125px; }
  .rhi-home-owners { min-height: 666.984375px; }
  .rhi-home-rooms { min-height: 683.375px; }
  .rhi-home-video { max-width: 294px; }
  .rhi-hero { min-height: 500px; }
  .rhi-hero--rooms, .rhi-hero--breakfast, .rhi-hero--breakfast-and-catering { min-height: 500px; }
  .rhi-hero--contact, .rhi-hero--blog { min-height: 500px; }
  body.rhi-route-rooms .rhi-hero,
  body.rhi-route-breakfast-and-catering .rhi-hero { min-height: 500px; }
  body.rhi-route-contact .rhi-hero,
  body.rhi-route-blog .rhi-hero { min-height: 500px; }
  body.rhi-route-blog .rhi-hero { min-height: 45vh; }
  .site-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); width: calc(100% - 30px); }
  .primary-menu a { margin-inline: 9px; }
}

@media (min-width: 75rem) {
  body.rhi-route-rooms .rhi-hero,
  body.rhi-route-breakfast-and-catering .rhi-hero { min-height: 700px; }
}

@media (max-width: 47.99rem) {
  .site-container { width: calc(100% - 30px); }
  .site-header--transparent { position: relative; color: #333; background: #fff; }
  .site-header--transparent .site-topbar { background: rgba(0, 0, 0, .03); }
  .site-header--transparent .site-nav-row { background: #fff; }
  .site-header--transparent .primary-menu a { color: #333; }
  .site-topbar__inner { min-height: 57px; flex-direction: column; justify-content: center; gap: 0; }
  .site-topbar__greeting { line-height: 26px; }
  .site-topbar__links { gap: 2px; line-height: 14px; }
  .site-contact-link { padding: 0 7px; line-height: 14px; }
  .site-contact-link span { display: none; }
  .site-contact-link .rhi-icon { width: 14px; height: 14px; }
  .site-nav-row__inner { min-height: 107px; }
  .site-nav-row__inner { padding-top: 0; }
  .menu-toggle { display: block; }
  .primary-navigation { position: absolute; top: 100%; right: 0; left: 0; z-index: 30; display: none; margin: 0; padding: 12px 15px 18px; border-bottom: 1px solid var(--rhi-border); background: #fff; }
  .primary-navigation.is-open { display: block; }
  .primary-menu { display: grid; gap: 0; }
  .primary-menu a { margin: 0; padding: 8px 0; line-height: 24px; }
  .primary-menu a::after { bottom: 5px; }
  .rhi-hero { min-height: 500px; }
  .rhi-hero--rooms, .rhi-hero--breakfast, .rhi-hero--breakfast-and-catering { min-height: 500px; }
  .rhi-hero--contact, .rhi-hero--blog { min-height: 500px; }
  body.rhi-route-rooms .rhi-hero,
  body.rhi-route-breakfast-and-catering .rhi-hero { min-height: 500px; }
  body.rhi-route-contact .rhi-hero,
  body.rhi-route-blog .rhi-hero { min-height: 500px; }
  body.rhi-route-blog .rhi-hero { min-height: 45vh; }
  .rhi-contact-hero img, .rhi-blog-hero img { height: 500px; }
  .rhi-home-hero { width: 100vw !important; min-height: 0; padding: 10px; }
  .rhi-home-hero img { width: 100%; max-height: none; }
  .rhi-home-intro { min-height: 853.296875px; }
  .rhi-home-owners { min-height: 1049.765625px; }
  .rhi-home-rooms { min-height: 969.984375px; }
  .rhi-home-intro__inner, .rhi-home-row__inner, .rhi-home-owners__inner, .rhi-home-rooms__inner, .rhi-columns,
  .rhi-home-intro.rhi-two-column, .rhi-home-owners.rhi-two-column, .rhi-home-rooms.rhi-two-column,
  .rhi-home-row.rhi-two-column { grid-template-columns: 1fr; width: calc(100% - 30px); padding-inline: 0; }
  .rhi-home-intro.rhi-two-column, .rhi-home-owners.rhi-two-column, .rhi-home-rooms.rhi-two-column,
  .rhi-home-row.rhi-two-column { width: 100%; padding-inline: 15px; }
  .rhi-home-intro.rhi-two-column > .rhi-home-intro__inner,
  .rhi-home-owners.rhi-two-column > .rhi-home-row__inner,
  .rhi-home-owners.rhi-two-column > .rhi-home-owners__inner,
  .rhi-home-rooms.rhi-two-column > .rhi-home-row__inner,
  .rhi-home-rooms.rhi-two-column > .rhi-home-rooms__inner { width: 100%; }
  .rhi-home-intro__inner, .rhi-home-row__inner, .rhi-home-owners__inner, .rhi-home-rooms__inner { width: calc(100% - 60px); }
  .rhi-home-intro__copy { padding: 0; }
  .rhi-home-intro-copy { padding: 0; }
  .rhi-home-intro__media { padding: 30px; }
  .rhi-home-video { max-width: 270px; }
  .rhi-home-row__image, .rhi-home-row__copy,
  .rhi-home-row__media,
  .rhi-home-owners-copy,
  .rhi-home-owners__image, .rhi-home-owners__copy,
  .rhi-home-rooms-copy,
  .rhi-home-rooms__image, .rhi-home-rooms__copy { padding: 10px; }
  .rhi-home-row__copy, .rhi-home-owners-copy, .rhi-home-rooms-copy,
  .rhi-home-owners__copy, .rhi-home-rooms__copy { display: block; }
  .rhi-home-owners .rhi-home-row__copy p:last-child { width: 100%; text-align: center; }
  .rhi-home-map, .rhi-map-embed { width: 100%; min-height: 320px; padding: 10px 40px; }
  .rhi-home-map iframe, .rhi-map-embed iframe { min-height: 300px; }
  .rhi-gallery, .rhi-gallery.has-nested-images { grid-template-columns: 1fr; width: calc(100% - 30px); gap: 14px; }
  .rhi-route-rooms .rhi-page-section-title,
  .rhi-route-rooms .rhi-page-intro,
  .rhi-route-rooms .rhi-gallery,
  .rhi-route-breakfast-and-catering .rhi-page-section-title,
  .rhi-route-breakfast-and-catering .rhi-breakfast-quote,
  .rhi-route-breakfast-and-catering .rhi-gallery { width: calc(100% - 80px); }
  .rhi-route-rooms .rhi-page-section-title,
  .rhi-route-breakfast-and-catering .rhi-page-section-title { font-size: 30px; line-height: 30px; }
  .rhi-route-rooms .rhi-gallery,
  .rhi-route-breakfast-and-catering .rhi-gallery { gap: 20px; }
  .rhi-gallery.has-nested-images figure.wp-block-image,
  .rhi-gallery figure.wp-block-image { width: 100% !important; max-width: 100% !important; flex: none !important; }
  .rhi-route-contact .rhi-contact-title { width: calc(100% - 80px); margin-top: 0; font-size: 30px; line-height: 30px; }
  .rhi-contact-intro {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-auto-rows: auto;
    width: calc(100% - 80px);
    row-gap: 10px;
  }
  .rhi-contact-intro > .rhi-contact-sign,
  .rhi-contact-intro > .rhi-contact-copy { grid-column: 1; grid-row: auto; padding-inline: 0; }
  .rhi-contact-intro > .rhi-contact-copy:nth-of-type(n) { margin-top: 0; }
  .rhi-contact-intro > .rhi-contact-sign { margin-bottom: 10px; }
  .rhi-contact-map { width: calc(100% - 80px); margin-top: 100px; }
  .rhi-contact-awards { grid-template-columns: 1fr; width: calc(100% - 100px); gap: 20px; margin-top: 30px; }
  .rhi-contact-awards > .wp-block-image { width: min(100%, 300px); margin-inline: auto; }
  .rhi-reviews-empty { width: calc(100% - 30px); min-height: 0; }
  .rhi-policies-content { width: calc(100% - 30px); }
  .rhi-route-policies .rhi-entry-header,
  .rhi-route-reviews .rhi-entry-header { width: calc(100% - 30px); padding: 60px 15px; }
  .rhi-route-policies .entry-title,
  .rhi-route-reviews .entry-title { font-size: 48px; line-height: 57.6px; }
  .rhi-entry-header { width: calc(100% - 30px); padding: 50px 0 45px; }
  .entry-title { font-size: 2.5rem; }
  .rhi-content > p, .rhi-content > ul, .rhi-content > ol, .rhi-content > h1, .rhi-content > h2, .rhi-content > h3, .rhi-content > h4, .rhi-content > figure, .rhi-content > .wp-block-image { width: calc(100% - 30px); }
  .site-footer__inner { grid-template-columns: 1fr; width: calc(100% - 30px); gap: 0; padding-top: 79px; padding-bottom: 21px; }
  .site-footer__column { padding: 0 15px 50px; }
  .site-footer__column--contact { padding-bottom: 60px; }
  .site-footer__column--payments { padding-bottom: 50px; }
}
